Multiperspective Diagramming – A guide for system engineers
A multiperspective diagramming guide for system, software, cloud, network, and other engineers.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,517 posts.
A multiperspective diagramming guide for system, software, cloud, network, and other engineers.
The Haskell Phrasebook is a free quick-start Haskell guide comprised of a sequence of small annotated programs.
JSON-API has been one of the most popular standards for API development for a while now. It was conceived in 2013, battled through some rather different RC versions (changing drastically as it went), finally stabilizing with v1.0 back in mid-2015. My interest in JSON-API has changed
Confusing corners of the unix utilities
I my previous blog post, I documented how one might proceed to compute the number of digits of an integer quickly. E.g., given the integer 999, you want 3 but given the integer 1000, you want 4. It is effectively the integer logarithm in base 10. On computers, you can quickly compute the integer logarithm … Continue…
Next.js is a great framework. The frontend and backend have never been closer. Can we bridge the remaining gap in a typesafe way?
I’ve spent too many hours repeatedly trying to find this information on the Web. Time to write it down.
Arrays in Rust are fixed size, and Rust requires that every element in an array is initialized to a valid value when the array is initialized. The result of these requirements is array initialization in Rust is a much deeper topic than it would seem.
If you ever wanted to learn about machine learning you could do worse than have Jason Gauci teach you. Jason has worked on YouTube recommendations. He was an early contributor to TensorFlow the open-source machine learning platform. His thesis work was cited by DeepMind. But what I find so fascinating with Jason is he…
You remember that time you passive-aggressively completed a story in the most useless way possible to check that checkbox? That’s most…
This is the story of me trying to win a game of chess against my brother. A single freaking game. What’s so special about it? Am I good at chess? Not at all. Did I improve at my game in the process? Also no. Is it a story about “the journey rather than the destination”? Not really. Did I at least have fun in the…
People appear to enjoy the blog posts about me porting different compilers to OpenBSD . What I would like to do for the next couple of posts beginning with this one is to take a step back and de-complexify these programs. Both the D compiler and the GNU Modula-2 compiler are highly complex pieces of software. But at…
All ambiguity is resolved by actions of practitioners at the sharp end of the system.Dr. Richard I. Cook, How Complex Systems Fail There’s a wonderful book by the late urban planning professo…
Posted to HN. Comments and discussion highly encouraged. Introduction This will be a short example-based guide to (a) awk (b) gnuplot and (c) using them in a script. I needed to graph some data based on the output of a command run a couple times. So what better way to solve that five minute task than to spend an hour…
All the pieces have come together for widespread Wasm SIMD usage. The majority of browsers and Node 16 LTS support Wasm SIMD out of the box, and Rust recently learned how to compile Wasm intrinsics. Now I need to port a library from x86 SIMD to Wasm SIMD and distribute it in such a way that will fallback to a non-SIMD…
I love linters. A linter is a program that looks for problems in code without running it. There is something gratifying about running a linter on a codebase and seeing a big list of warnings and errors. Sometimes it can even be fun to fix them!
WebAssembly (Wasm) has many applications in the cloud-native world today – WASI, edge cloud computing, Proxy-Wasm, and cloud-native runtime for server
After spending some weeks playing with Rust, I felt ready to test my skills and try some programming challenges in the [Advent Of Code](https://adventofcode.com/). My approach to tackle some of those challenges was to solve them using Javascript (I use it in my day to day) first and then port the code to Rust. While…
Are cross-project changes in a single atomic commit the key advantage of monorepos? I do not think so.
Nightmare scenario with the Javascript ecosystem mess
An edge case has convinced me it's the 'last' return that always wins…
April Fool's may be over, but once we set up a system to react every time someone typed Command+C, we realized there was also an opportunity to learn about how people use our site. Here’s what we found.
To infinity and beyond!
Description of what we have learned
Programmers are passionate about their tools, and if there is one tool they are especially passionate about, it is their text editor. An editor war has…
Do we need to measure complexity? With what metrics? What benefits can it brings? This is the questions we'll answer in this article.
While working on an article for the Monad.Reader, I’ve had the opportunity to think about how people learn and gain intuition for abstraction, and the implications for pedagogy. The heart of …