How I Side Project
This post started out as a long-form response to this tweet by Raj Kunkolienkar:
Topics /
The most popular blog posts about software engineering on Hacker News. 874 posts.
This post started out as a long-form response to this tweet by Raj Kunkolienkar:
This article is one chapter of my master thesis entitled “Design and implementation of a graphical user interface for git”. It describes the algorithm I designed to draw the commit graph in my own prototype git client called gitamine. I have adapted the content so that it fits better with this blog. Drawing graphs is…
Real world example where uniform syntax enables unthinkable solution
LSM Trees overview This post is a part of a newsletter that I run: “Scamming The Coding Interview“, which is geared towards helping people ACE their coding interviews. We send a coding qu…
I like Python, but wish it had static typing. The added safety would go a long way to improving quality and reducing development time. So today I tried to make use of type annotations and a static type-checker called mypy. After a few basic tests, I was excited. But my glee turned to disappointment rather […]
Read on kirit.com
I recently decided to learn more about Rust, and wrote a high performance RaptorQ (RFC6330) library. RaptorQ is a fountain code, and the core of the algorithm is a lot of matrix math over GF(256) – which translates into lots of XORs and reads from lookup tables. After getting the initial implementation working, I set…
E very friend I have with a job that involves picking up something heavier than a laptop more than twice a week eventually finds a way to slip something like this into conversation: “Bro, 1 [1] you don’t work hard. I just worked a 4700-hour week digging a tunnel under Mordor with a screwdriver.”
I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class use…
Elixir-learning article: Effortless Elixir releases and deployment (tagged: Deployment, Releases, Phoenix, Render)
In astronomy and cosmology, dark matter is a currently-undetermined type of ...
On writing a technical book for experienced programmers.
And as imagination bodies forth The forms of things unknown, the poet’s pen Turns them to shapes and gives to airy nothing A local habitation and a name.
Learning to prove theorems via interacting with proof assistants Yang & Deng, ICML’19 Something a little different to end the week: deep learning meets theorem proving! It’s been a while …
A common question I get about specs is how to model bad actors. Usually this is one of two contexts: The spec involves several interacting agents sharing a protocol, but some of the nodes are faulty or malicious: they will intentionally try to subvert the system. The spec involves an agent subject to outside forces…
A simple walkthrough of deriving backpropagation for CNNs and implementing it from scratch in Python.
This tutorial serves as a very short and quick summary of the first few chapters of TAPL. Huge thanks to the ##dependent@freenode community (pgiarrusso, lyxia, mietek, …) for clearing all my …
Here’s a fun bit of trivia: malloc on Linux never fails [due to the obvious cause]. In this post, we’ll show that this indeed is the case, and explore why…
A quick guide on how to get started with LISP development in 2019. TLDR: install <a href="https://github.com/roswell/roswell">roswell</a>.
Note The latest version of this document can be found online at https://dr-knz.net/go-executable-size-visualization-with-d3.html. Alternate formats: Source, PDF. Note Erratum (2019-04-02): The increase in binary size from CockroachDB v1.0 to v19.2 is 94%/125%, not 194%/225% as initially written. The increase in source…
This post is about uninitialized memory, but also about the semantics of highly optimized “low-level” languages in general. I will try to convince you that reasoning by “what the hardware d...
A function to return the number of digits in an input (natural) number provides many learning opportunities for a new programmer
Saagar Jha's website.
Learn about 5 interesting Linux tools that will help break your dependence on the GUI and keep you productive on the command line.
The next several chapters will be describing the basic data structures that every programming language provides, their usage, and the most i...