We're live! Apropos Clojure youtube.com/live/gfhlkUkYb…
0
1
7
1,495
We're talking with David Nolen on Apropos in 12 minutes!
youtube.com/watch?v=52lGEP…
youtube.com/watch?v=52lGEP…
0
1
13
1,770
If there's one recommendation I'd give to podcasters it's to repeat the name of a book, blog post, movie, videogame, etc., that they're gushing on about. Don't refer to it as "it". Name it at least 3 times. If I'm driving and I missed the name, I want to hear it again.
3
3
17
2,112
Half off all books at @ManningBooks for the next couple of days! It's a great opportunity to buy Grokking Simplicity, my book on functional programming.
ericnormand.me/gsm
ericnormand.me/gsm
0
6
26
1,341
Just about ready to go live! youtube.com/live/vfYB-5Z7g… Apropos!! with Sean Corfield as a special guest.
0
0
5
1,128
Apropos streaming next week with special guest Alex Engelberg: youtube.com/live/MF-A46cTY… @alex_engelberg
0
4
6
1,518
Eric Normand retweeted
I always thought logic programming was about letting you specify the "what", and not the "how"... but SICP has a more nuanced explanation.
It's about letting you *separately* consider the what and the how, in isolation from each other.
sarabander.github.io/sicp/html/4_00…
It's about letting you *separately* consider the what and the how, in isolation from each other.
sarabander.github.io/sicp/html/4_00…
3
8
36
Eric Normand retweeted
Be astounded and inspired by @ericnormand showing the leverage abstraction gives you at Heart of #Clojure: youtu.be/nX9AWZ0Xa-M
0
3
9
961
Eric Normand retweeted
reading the intro to @EricNormand's book Grokking Simplicity, about Functional Programming
& struck by how yesterday I wrote a function that asks an LLM to make some decisions, and how it:
a) doesn't run the same way each time
b) has the side effect of costing 10-70¢
& struck by how yesterday I wrote a function that asks an LLM to make some decisions, and how it:
a) doesn't run the same way each time
b) has the side effect of costing 10-70¢
1
1
7
1,150
Pet peeve! When you see code like this:
const a = await someAjaxRequest();
const b = await someOtherAjaxRequest();
display(a);
display(b);
You can't display a until after b finishes! You're using a concurrent system but not taking advantage of the parallelism. Instead ...
const a = await someAjaxRequest();
const b = await someOtherAjaxRequest();
display(a);
display(b);
You can't display a until after b finishes! You're using a concurrent system but not taking advantage of the parallelism. Instead ...
3
1
14
2,707
...you're probably better off awaiting later where the value is used:
const aPromise = someAjaxRequest();
const bPromise = someOtherAjaxRequest();
display(await a);
display(await b);
Or...
const aPromise = someAjaxRequest();
const bPromise = someOtherAjaxRequest();
display(await a);
display(await b);
Or...
1
0
3
812
... using promises directly:
someAjaxRequest().then(display);
someOtherAjaxRequest().then(display);
The former maintains order, the second one displays them as they come in.
someAjaxRequest().then(display);
someOtherAjaxRequest().then(display);
The former maintains order, the second one displays them as they come in.
0
0
7
748





