From macOS to FreeBSD
Personal experience with moving away from Apple's world.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,001 posts.
Personal experience with moving away from Apple's world.
Go is one of my favorite programming languages, but it is still far from perfect.
In a blog post last year, I took a look at lossy image formats and how they stack up. This time, I thought it might be interesting to do a comparison of lossless image formats.
Comparing Electron and Tauri - With a real world app
Tabular data is everywhere. I support reading and writing tabular data in various formats in all 3 of my software application. It is an important part of my data transformation software. But all th…
Sometimes a pure Python script can't just deliver the performance we need. When that's the case we have to resort to writing our logic in a "fast" compiled language like C or Rust and expose the function with through a Python module. This way we get the best of both worlds. Today I focus on how to use Rust for writing…
After the initial learning curve, I found that Cardboard WM help me stay focused on one task and it greatly reduced how much time I spent rearranging my windows.
A concise summary of Python’s versions, and what’s in each.
Negative prompts can be far superior than traditional prompt additions.
Wishing Compiler Explorer a very happy tenth birthday
People in the programming language design community strive to make their languages more expressive, with a strong type system, mainly to increase ergonomics by avoiding code duplication in final software; however, the more expressive their languages become, the more abruptly duplication penetrates the language itself.
Creating a full-fledged API requires resources, both time and money. You need to think about the model, the design, the REST principles, etc., without writing a single line of code. Most of the time, you don’t know whether it’s worth it: you’d like to offer a Minimum Viable Product and iterate from there. I want to…
NOTES: I have grouped the options such that the Boolean ones (read: on/off true/false) come first, then those with a short amount of "flags", and after that the ones with a very long value.
What UUIDs and ULIDs are under the hood, and how to encode and use them.
An under-appreciated Rust feature
A couple of days ago I encountered this article: How Shazam WorksThis got me interested in how a program like Shazam works… And more importantly, how hard is...
In this series of blogposts, I will document my experience of porting the game that I am currently working on to the jai programming language. It’s currently written in mostly D and some C++ and comes in at exactly 58,620 lines of code (excluding libraries). I’ve planned on doing this for a long time and want to keep…
We all know that to create an interactive front end for your website you need JavaScript. Not just vanilla JS, mind: we're in 2022, and to create an…
One day before Rust 1.0 was released, I published a blog post covering the fundamentals of error handling . A particularly important but small section buried in the middle of the article is named “ unwrapping isn’t evil ”. That section briefly described that, broadly speaking, using unwrap() is okay if it’s in…
Introducing Ezno and the current state of the project.
fhur's blog
David Beazley on Twitter said:
It’s hard for me to believe these words but I pushed Sidekiq’s first commit on Jan 16th, 2012. Ten years ago. The public announcement. One month later. One quarter later. Some context for those new to this blog: Sidekiq is the most popular background job system for the Ruby programming language. Every application has…
Cython celebrates its 20th anniversary
My databases class at UCLA wasn’t very challenging so I never truly understood the internals of databases. This always bothered me so I vowed to build a simple database from scratch to learn the fundamentals. MIT's Database Systems course has their students implement a simple database from scratch and it provided me…
A polemic critique of 'simple' programming languages and a defense of complicated ones.