Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,830 posts.

Any year
8251

Why Learn Haskell? (2018)

Asking a "why?" question means we want to be told a reason. But would we accept any reason? It seems not, for if any answer suffices, then the answer is irrelevant, so why bother asking?

8254

Intel Virtualization and Apple Silicon

The transition to Apple Silicon brought about many exciting things, but one of the capabilities left behind was access to the world of Intel-based virtual machines. X86_64 just isn't a trivial architecture to emulate, and it may never be feasible to do so on Apple Silicon at a useful speed as the operating systems you…

8257

I Built Linux from Scratch

Linux From Scratch or LFS is a project that provides and maintains a set of instructions of how to build your own Linux system from scratch. I am always curious to understand how things work ‘under the hood’, and since I’m a daily Linux user i decided to take on the challenge to try and complete building Linux From…

8258

Type-safe GraphQL with OCaml

In July 2016, I spent some time writing a GraphQL endpoint for an existing application in Go. I chose to implement the endpoint in Go based on prior experience, good concurrency support and the desire to have static type system. The GraphQL library for Go, graphql-go , worked pretty well, and I was able to build the…

8265

Vim: Buffers, Windows, and Tabs

If you’ve moved to Vim from an editor like Notepad++ or TextMate, you’ll be used to working with the idea of tabs in a text editor in a certain way. Specifically, a tab represents an open file; while the tab’s there, you’ve got an open file, as soon as you close it, it goes away. This one-to-one correspondence is…

8279

Loro's rich text CRDT

This article presents the rich text CRDT algorithm implemented in Loro, complying with Peritext's criteria for seamless rich text collaboration. Furthermore, it can be built on top of any List CRDT algorithms and turn them into rich text CRDTs.