Why are 2025/05/28 and 2025-05-28 different days in JavaScript?
A Date in JavaScript always represents a point in time (i.e. milliseconds since epoch). This is more apparent when printing out the full date string:
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
A Date in JavaScript always represents a point in time (i.e. milliseconds since epoch). This is more apparent when printing out the full date string:
There are a lot of challenges in the way QA and engineering work together. Many eng leaders think you shouldn't have QA. I dig in.
There are a number of things that people theoretically know how to do, but which aren’t possible because of how software gets made. Some of these are almost forgotten, but there are at least …
Once upon a time there was an Erlang programmer who needed an FTP server running on one of the hosts in a private network. In fact he didn't...
(Previous post in the series was on Jai and can be found here)
Everything I learned to become a senior software engineer. From good skills to have, to dealing with difficult engineering problems.
He is the author of the famous auto-complete.el and you may be helped a lot by his implementation of native profiler merged in the latest Emacs release (24.3).
What’s left of NoSQL if they start adding ACID and SQL support?
Code is read more than written, code is run more than read. I think this line of thought can be extended beyond code-writing, and used as a rule of thumb to identify problems and make decisions.
Recently microservices have been getting a lot of attention, both positive and negative. Articles about them tend to fall into two camps, which I'll affectionately label the hipster camp and the neckbeard camp. The hipster camp tends to strongly favor microservices, due to the excellent benefits they provide regarding…
This is a cautionary tale. One of youth and a lesson I eventually learned but still often don’t heed. About how sometimes, the tool that is easiest to get started with isn’t the tool that will make your job the easiest.
It's not about technology for its own sake. It's about being able to implement your ideas.
One of the things I love about Lisp is that it gives you the ability to change and mold the syntax of the language to what you need. In this post I want to look at the evolution of a little macro I've been playing around with for a while now.
It’s been a while since my last blog post, but I believe it’s better to post late than never, so here I am!
wingolog: article: conservative gc can be faster than precise gc
Even talking about building a monolith today, is a bit taboo. It is all about microservices at the moment, and has been for a few years. But they aren’t a silver bullet…
I wanted to know how a modern C compiler like clang would process the following C code: #include <stdint.h> int count(uint64_t x) { int v = 0; while(x != 0) { x &= x - 1; v++; } return v; } Can you guess? popcntq %rdi, %rax That is right. A fairly sophisticated C function, … Continue reading The surprising cleverness…
From ChatGPT Plugins to Agent Skills, a look at how we've been trying (and failing) to extend LLMs for the last three years.
Expressive code in C++
Update (2023-07-21): I was being a bit overly brief with liberal use of ... to mean “unimportant” in the code examples. Ginger Bill (creator of Odin) noted it might be clearer to have more correct/explicit Odin and Zig code for the examples given people would be less familiar. Those has been updated For the past few…
When Mathematica seems to not to know how to simplify an expression, it may be doing the right thing, being more sophisticated than you expect.
0.1 Discriminated unions in C 0.2 Nested functions and lambda variables 0.3 Automatic cleanup of local variables 0.4 Data structures 0.5 Wrapping up This post/program (as I’m writing it in literate…