You may have seen Gary Bernhardt’s WAT talk in which he pulls out these confusing lines of JavaScript:
{} + []
0
[] + {}
"[object Object]"
He shows the audience that an object plus an array is 0, but an array plus an object is “[object Object]”. Lo and behold, if you try this in the chrome console, that’s what you’ll get:
But something’s a little fishy about that claim. If you wrap these lines in parentheses, you can see that both of these lines evaluate identically:
In programming, clout is everything. You wouldn’t listen to Dan Abramov if he didn’t invent React. You wouldn’t watch Kelsey Hightower’s talks if he wasn’t CEO of Google. And you CERTAINLY wouldn’t be reading my article if I hadn’t lured you in with the promise of a brilliant library that will make all your coworkers love you.
What the fuck is a monad? You might not know. How about a topology? Doesn’t matter. I’ve managed to suss out a few pieces of language that describe a structure in an already abstract space using an even more abstract concept that has…
For one issue at work, we tossed around the idea of generating UUIDs client-side in order to ensure that we had a unique immutable id without having to go to the server to get a permanent id back. Obviously, if somebody’s maliciously creating ids, they can choose arbitrary values and create collisions. Additionally, one client could tell if another client had already chosen a certain value for an id by trying to commit a certain UUID to the DB. For example:
> Client 1 creates a "todo" with a certain UUID. > Client 2 tries to create a “todo” with…
Our civilization will come to an end, someday.
It won’t be pretty, however it happens. Mass starvation due to climate change, wide societal collapse through nuclear war and untold suffering, antibiotic-fueled epidemics that bring the very species to its knees.
But humans are resilient creatures. They’ll survive the onslaught. They’ll rebuild. They’ll recreate a civilization where ours stood originally, unknowingly borrowing pieces of our culture and identity, but largely forgetting about their origins.
Eventually, they’ll remember us. They’ll study us. Some lost flash memory here or there, an unusually well preserved RAID drive in a basement that somehow survived the…
Many people erroneously believe that the only way to advance one’s career in software engineering past senior engineer is to become a manager. However, many companies offer parallel tracks that focus on honing your craft and widening your influence throughout the organization. This is the so called “architecture” track. Today, I wanted to clear up the roles you can expect to fill on your journey down the architect’s career path.
Evin: Why is programming such a source of anger and vitriol? Somebody hacks on stuff all day. They love to code, just like you do. They’re passionate and really into things, just like you are. Why would we be angry at them?
I actually want answers to this
I want to be able to counter it at every turn
Michael: Not saying it’s right, but pride. They love what they do and are prideful and elitist about their abilities and their opinions. …
“Once you understand monads, you immediately become incapable of explaining them to anyone else”
— Lady Monadgreen’s curse, Gilad Bracha
It’s my monad article! Everyone does one at some point! In this article, I propose a slightly different strategy to teaching monads, and attempt an explanation in that style. Will I break Lady Monadgreen’s curse? Spoiler Alert: probably not.
In the functional programming community, there is a divide on the correct terminology to use when teaching functional concepts such as Functor and Monad to beginners. There are two main camps:
Side 1: Terms like Functor and Monad are unnecessarily dense…
Excerpt from a Facebook thread of literally no importance
Me: > Joins mathematical memes page
> sees meme I helped create
Hari: you’re part of something bigger than yourself now
Me: deng ur right
i am part of the universe, nothing more, guided like a leaf in a massive river
I contribute to the whole, but not in the ways I choose
I am part of the river, dedicated to it
the river deposits me as it pleases, with no forethought or purpose
like small ripples in the surface of calm water, so do my memes spread through the existential idea-scape
once again, no intent, a mere fragment of a massive automata
infinitely complicated, and simultaneously infinitely subtle
fractals collide with fractals in stunning chaos, and here I float through the middle
Me, the meme machine
I hear the term Turing Completeness thrown around a lot more in software engineering than I would expect. I think there’s a little confusion about what Turing Complete means, especially within a software engineering context.
We say that Turing Completeness is a property of a computational system that states that the system is as computationally powerful as a Turing machine. But what EXACTLY does that mean? Put your scuba gear and wetsuit on because we’re diving deep into formalism:
Turing machines are theoretical computers defined by Alan Turing in his highly influential paper titled On Computable Numbers, with an application…
Everyone’s Medium profile is full of one-sentence drafts that end abrup
Fork me on LinkedIn