New
The latest blog posts to take off on Hacker News. 1,508 posts.
Static Analysis
Nim is in an excellent position to “get married” with static analysis, and it doesn’t have to be based on some intermediate representation but can achieve a solution more similar to Spark.
25 Years of PHP
Celebrate the PHP anniversary with JetBrains! Follow the timeline of the pivotal moments in PHP history.
An interview code submission that wasn’t even submitted changed our process
In a previous role, I was an engineering manager for a well-known company for a particular tech stack. One way we sorted through all the applications was requiring coding tests for potential candidates. One truly stood out, and it taught me to think about what I am really looking for in these sorts of submissions.
Pain Points of Haskell
I would like to preface this article by saying that Haskell is great. I have been using it as my go-to for native applications for several years now. Everything that follows is a product of my love and affection for the language, and a desire to see it succeed. And none of this is intended to disparage the efforts of…
Getting Hands-on with io_uring using Go
In Linux, system calls (syscalls) are at the heart of everything. They are the primary interface through which an application interacts with the kernel.
Collapse OS – Why Forth?
Collapse OS' first incarnation was written in Z80 assembler. One of the first feedbacks I had after it went viral was "why not Forth?". I briefly looked at it and it didn't seem such a great choice at first, so I first dismissed it. Then, I had what alcoholics refer to as a "Moment of clarity".
Faster than radix sort: Kirkpatrick-Reisch sorting
Radix sort sorts n w-bit integers by splitting them up into chunks of logn\log nlogn bits each, and sorting each chunk in linear time. Thus it achieves O(nw/logn)O(nw/\log n)O(nw/logn) time.
We’ve built a towering pile of shite
This a rant, written at midnight, after battling software errors. Set your profanity filters accordingly. I despair over the state of software engineering - specifically, stability. We seem to have lost the understanding that computers are there to do the hard work for us. And I don't think we ever believed in a…
Why the developers who use Rust love it so much
Here’s why Rust gets so much love, straight from the Rustaceans themselves.
There Are No Bugs, Just TODOs
One of my life’s traumas is the bug trackers, the issue trackers, the project management tools. The toolset that completes the version control log to form the development equivalent of double-entry bookkeeping .
How to Write a Video Player in Less Than 1000 Lines (2015)
ffmpeg is a wonderful library for creating video applications or even general purpose utilities. ffmpeg takes care of all the hard work of video processing by doing all the decoding, encoding, muxing and demuxing for you. This can make media applications much simpler to write. It's simple, written in C, fast, and can…
The Go Compiler Needs to Be Smarter
One of my favorite languages is the Go language. I love its simplicity. It is popular and useful in a cloud setting. Many popular tools are written in Go, and for good reasons. I gave a talk on Go last year and I was asked for a criticism of Go. I do not mind that … Continue reading The Go compiler needs to be smarter
The Beauty of Unix Pipelines
Some examples of using unix tools in a pipeline
Emacs as Email Client
Email with mu4e and offlineimap
Clang-11.0.0 Miscompiled SQLite
It appears that the clang-11.0.0 compiler mis-compiles sqlite3.c version 3.32.1. I have checked in a change to SQLite that appears to work around the problem. But there might be other bugs. Therefore, use clang-11.0.0 with caution and test your applications carefully!
iMessage for Windows: A labor of love that will never see light of day (2018)
Visit the post for more.
What the Hell Is a Deno?
This weeks hottest new JS runtime.
Software Engineering Within SpaceX
Have you ever been curious about how Software engineering within SpaceX works? I did some research and compiled my notes in this article. There are also some…
Reinventing the Wheel: Discovering the Optimal Rolling Shape with PyTorch (2019)
It is thought that the wheel was invented more than five thousand years ago, yet modern machine learning tools were only developed in the past few decade...
Running Awk in parallel to process 256M records
TL;DR Awk crunches massive data; a High Performance Computing (HPC) script calls hundreds of Awk concurrently. Fast and scalable in-memory solution on a fat machine.
Understanding Programs Using Graphs
I want to show you a little of what this sea-of-nodes graph data structure looks like and how it works, and I think it’s worth doing this for this for a couple of reasons.
Writing to the Framebuffer (2018)
I’ve been thinking about cross platform GUIs, and one question led to the next and eventually I was asking: how do pixels end up on the monitor? A pretty neat stack overflow response answers: