Why Go and Not Rust?
What's the role of Go in a universe where Rust exists?
Topics /
The most popular blog posts about software engineering on Hacker News. 874 posts.
What's the role of Go in a universe where Rust exists?
Essay on the benefits of speedy software, and how it affects user perception of engineering quality and overall usability
Probably the first in a multi-part series on DP.
Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single…
In the previous two parts we used a SAT solver as a black box that we feed input into, and it will (usually quickly) spit out an answer. In this part, we will look at how SAT solvers work and what heuristics and other tricks they employ in their quest for performance.
The Sensitivity Conjecture, which I blogged about here, says that, for every Boolean function f:{0,1}n→{0,1}, the sensitivity of f—that is, the maximum, over all 2n input strings x∈{0,1}n, of…
Most Dockerfile examples for Python you’ll find on the Web are broken. And that’s a problem.
Today Eclipse Foundation’s president Mike Milinkovic blogged about the final result of the confidential trademark negotiations between Oracle and the Eclipse Foundation. As we remember, Oracl…
Setting Up Tmux for Daily Usages
Once you get past the growing pains of the Borrow Checker and realise Rust gives you the power to do things which would be unheard of (or just plain dangerous) in other languages, the temptation to Rewrite it in Rust can be quite strong. However at best, the temptation to RiiR is unproductive (unnecessary duplication…
The native web platform has caught up with frontend frameworks and will slowly render them obsolete.
Like any other field, the world of Software Development has some interesting and famous rules, principles and laws.
I’m about to accept a PR that will increase druid’s compile time about 3x and its executable size almost 2x. In this case, I think the tradeoff is worth it (without localization, a GUI toolkit is strictly a toy), but the bloat makes me unhappy and I think there is room for improvement in the Rust ecosystem.
It's not quite the number of seconds since 1 January 1970.
I have kept myself busy with the Game Engine Black Books and I have plenty of news. Most importantly, they have been revised. The DOOM book is now in version 1.1 while the WOLF3D book is entering v2.1. And there is more.
These are my stupid unix tricks. I hope that they are useful to you. Platform Note I use Mac OS X (pron: “ten”). If you don’t, you might want to switch…
I saw this question on the Software Engineering Stack Exchange: What are the barriers that prevent widespread adoption of formal methods? The question was closed as opinion-based, and most of the answers were things like “its too expensive!!!” or “website isn’t airplane!!!” These are sorta kinda true but don’t explain…
Your Makefiles are full of tabs and errors. An opinionated approach to writing (GNU) Makefiles that I learned from Ben may still be able to salvage them.
Musings of a Computer Scientist.
Dynamic programming has a reputation as a technique you learn in school, then only use to pass interviews at software companies. Indeed, most developers do not regularly work on problems where dynamic programming is needed. Ultimately, dynamic programming is a technique for efficiently solving problems that can be…
How do you design good abstractions? By using abstractions that already exist.
Drago — a nice example of a real-world binary tree This was the first post about my book on algorithms and Lisp. Writing it, actually, st...
The search for useful tiny apps is hard, but progressive web apps and the growing api surface on the web platform are starting to fill the gap.
For decades, discussion of software reuse was far more common than actual software reuse. Today, the situation is reversed: developers reuse software written by others every day, in the form of software dependencies, and the situation goes mostly unexamined.