Java 20: A Sneak Peek on the Panama FFM API
A blog about Java
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,545 posts.
A blog about Java
As usual, when a new blog post comes out on blog.golang.org, I’m all eager to read it as soon as possible. The most recent one, Contributors Summit, is a nice write-up on the issues that the Go contributors have been talking about. While reading it, I stumbled upon a sentence that made me write this post. Here is is…
Overview of Python's Package management ecosystem in 2024
Update: Here’s the link to the HN discussion about this post: https://news.ycombinator.com/item?id=26092964
If you think YAGNI is about saving effort, cheap generation should retire it. It doesn't. Here's why.
Code review seems like a great idea, right? Two developers looking at the same code means two chances to spot problems; it spreads understanding of the way the project is evolving; the reviewer can learn useful tricks from reading the author’s code in detail, or spot opportunities to teach the author a useful trick…
With all the chatter about how uber-amazing Node.js is I figured I'd do a little comparison with my favorite language du jour: Go . Node'...
In January 2008 David DeWitt and Michael Stonebraker published an article criticising MapReduce. As far as I can find, the article is no lon...
It's been 418 days since my first Github commit of Go code. In that time I've written a Syslog-to-Kafka producer, a Raft-based distributed SQLite database, a near real-time log search system, and become a core developer of InfluxDB. So if there is one word to summarize Go, it's productive. I haven't had the same burst…
You mean the one where he says that he tried it for a few months and then gave up? Yes, I read it.
Parenthetically Speaking: Articles by Shriram Krishnamurthi
“If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.” —Edsger Dijkstra, Turing Award Lecture (1972)
When you have to traverse some sort of a nested data structure (say, a binary tree), one approach is to create a stack that remembers where in the tree you are. Another, much more elegant approach, is to write the function recursively. A recursive function employs the machine stack used to implicitly implement…
So how hard could it be. As input we have something like Fri, 17 Jan 2025 06:07:07 in UTC, and we’d like to turn this into 1737094027, the notional (but not actual) number of seconds that have passed since 1970-01-01 00:00:00 UTC. Trying to figure this out led me to discover many ‘surprise features’ and otherwise…
History of Perl releases since version 5.6, each with a summary of added or changed features.
When I use classes, when I don't, what I do instead, and why
The trick to understanding awk in all its terse glory is to understand its defaults. Most solutions you see in the wild are a clever symphony of awk defaults stacked on top of each other. In this post, I break down one of the most popular one-liners which should hopefully make future awk-ing pretty straight forward.
Rust is my favorite programming language. I've been writing Rust for about 6 years, from college to professionally, and I'm vocal about how helpful the compi...
How to design resilient architectural patterns that last the test of time
Intro I recently worked through a problem from a theory of computation textbook that asked me to prove a property of a language using finite automata. The informal proof is a simple constructive proof where you build an automaton and show that it recognizes the language. This is kind of similar to program…
Before the AI era, I wrote pretty long commit descriptions (or commit bodies) for major changes. It took me about five to ten minutes to draft and reread them to make sure I didn’t miss anything important. I did that for several reasons.
A bootcamp can teach you the syntax of a language in six weeks. The part that takes a decade is everything else: where the seams go, where the data flows, which decisions you are stuck with for the life of the codebase. This is a senior developer's argument for what learners should actually be looking for, after…
In this post, I talk about my favorite C/C++ pattern involving macros.
It was seven years ago today when everybody was getting excited about Microsoft’s bombastic announcement of Hailstorm, promising that “Hailstorm makes the technology in your life work t…