since LLMs save us time coding we have a lot more time to think
since we're thinking about things longer we realize most of our ideas are bad
and since most of our ideas are bad we don't ship as much code
@ChShersh@graninas Just out of curiosity. What do you think is difference between math and physics? I have my answer. Trying to compare with your understanding and what you mean here.
"In programming, if someone tells you "you’re overcomplicating this," they’re either 10 steps behind you or 10 steps ahead of you." — Andrew Clark (credit: @CodeWisdom)
#CFP for #DevConf_CZ 2025 is open!
Among the many fascinating themes this year, we’ll focus on #Cloud, #HybridCloud, & #HyperscaleInfrastructure.
Are these your areas of interest? Share your insights with the community and submit your proposal today!
👉https://t.co/kqBrzfYjPC
THE LAST MONAD TUTORIAL YOU’LL EVER NEED
Imagine a cake. Pretty easy, y’all seen it.
(Yes, I’m being intentionally ableist towards people who never saw a cake. Sorry, but you won’t understand monads if you don’t know what a cake is. Stop reading and go eat a cake.)
Now, imagine a cake recipe. What’s the difference between a cake and a cake recipe?
Well, with cake, you have it. You can do whatever you want with it. You can eat it. You can smash someone’s face in it. But eating is preferable.
If you have a recipe of cake, you don’t really have a cake, don’t you? You have “a description of how to get a cake”. You have “instructions on making a cake”. You have “a cake algorithm”. More likely it’s just some words written on paper.
That’s why you can’t just “get cake out of a recipe”. There’s no cake! You need to “execute the recipe”.
Executing a recipe needs some context. You need some ingredients and some kitchenware like an oven. Depending on your current context, execution of a cake recipe may either fail or succeed.
You may say that recipes sound stupid. You want a cake! You don’t want a stupid cake algorithm. But recipes have a few nice properties.
If you ate a cake, you don’t have it anymore. With cake recipe you can make as many cakes as you want. It’s enough to have just one recipe to produce infinite number of cakes.
Give a man a cake, and you feed him for one day. Give a man a cake recipe, and you’ll feed him forever.
Another good thing about recipes is that they compose. Making a cake is actually quite difficult. It requires multiple steps. But you can actually have a recipe of cream, a recipe of layer and then you can compose those two recipes into a recipe of a cake.
Composing recipes is quite trivial actually. You just follow the instructions of a recipe and you use the output as an ingredient for another recipe.
Guess what, those smaller recipes are reusable in other bigger recipes! And they themselves might be created from even smaller recipes.
You see this pattern quite a lot in Functional Programming:
1. Start with trivial things.
2. Trivially compose them.
3. And you end with a truly powerful tool.
Now, we talked about a cake recipe, a cream recipe, a layer recipe. It almost looks like there’s some concept of “abstract recipe”. A recipe can be of something. But can a recipe exist without the underlying product?
If you ever cooked, you call bullshit on this immediately.
“You can’t cook an abstract recipe! You can cook only a recipe of a concrete thing!”
But let me stop you here. We can now see the power of abstract thinking. Sure, you can’t execute an abstract recipe. But you can still reason about it.
Any recipe is just a list of instructions. Specific instructions depend on what you cook but any recipe has those. And you can actually compose recipes without knowing what they produce.
You just follow one recipe, get its output and use in another recipe. So recipe composition is a generic operation.
The recipe here is a monad.
Congratulations, you know monads now 🥂
In the absence if discipline, critical thinking, and desire to continuously improve, experience would merely mean learning bad practices and repeating them over and over.
@LinuxHandbook@nixoncode Answer is obviously yes, it is possible to have processes with same pid on different hosts. Wanted to bring concept of other machines in the discussion.
This is my regular announcement that you need @Tailscale in your life. I’m here in Korea on my iPhone but I’m watching Netflix using my Synology NAS back in Oregon as an exit node. Absolutely rock solid personal free VPN *and* amazing for teams and developers as well. Magical.