Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
PHP 5.3.3 hangs on numeric value 2.2250738585072011e-308
I stumbled upon a very strange bug in PHP; this statement sends it into an infinite loop:
The secret life of NaN
The floating point standard defines a special value called Not-a-Number (NaN) which is used to represent, well, values that aren’t numbers. Double precision ...
How to implement search-by-color when all you have is a good coffee
Hey there! Last week I started working on a rewrite of Shefa Products which is a wholesale merchandising e-commerce for Argentina.
GPT-3 will ignore tools when it disagrees with them
Augmenting GPT-3 with tools is a popular technique right now. But is GPT-3 really using them?
Both true and false: a Zen moment with C
I ran into a really fun bug at work yesterday, where I discovered that my C program was branching down logically inconsistent code paths. After drinking another cup of coffee and firing up GDB I realized that somehow, a boolean variable in my code was simultaneously testing as both true and not true.
My experience crafting an interpreter with Rust (2021)
Last year I finally decided to learn some Rust. The official book by Steve Klabnik and Carol Nichols is excellent, but even after reading it and working on some small code exercises, I felt that I needed more to really understand the language. I wanted to work on a small project to get some hands-on experience, but…
V Language Review (2023)
Review about V programming language in 2023
New Machine Learning Gems for Ruby
In August, I set out to improve the machine learning ecosystem for Ruby and wasn’t sure where it would go. Over the next 5 months, I ended up...
History of Apache Storm and Lessons Learned
Apache Storm recently became a top-level project , marking a huge milestone for the project and fo...
Hexadecimal clock counting down to 2038 problem
It is now ??????????.??? ( ????-??-??T??:??:??.???Z ) in Unix time , according to your local system clock.
Design and Implementation of a Win32 Text Editor (2005)
Welcome to the brand new tutorial series - “Design and Implementation of a Win32 Text Editor!” The purpose of these tutorials is to follow the development of a …
Zig-style generics are not well-suited for most languages
A discussion of some of the downsides of Zig
Experimenting with Node.js
Using Node.js and a bit of jQuery to annoy you.
Are CRDTs suitable for shared editing?
The sole purpose of this blog is to host a single article..
Computers Can Be Understood
Computers and computer systems are build up from deterministic, comprehensible, building blocks. Their operations and behaviors can be understood and reasoned about. I relate my personal beliefs and mindset on this point, and explore some manifestations and ramifications of this philosophy.
Managing Dotfiles with GNU Stow (2016)
How to organise and deploy dotfiles using GNU stow.
Faster Integer Parsing
Back with a post after 6 years of silence. If you had to parse a microsecond-resolution epoch timestamp as quickly as possible, how would you do it? We’ll take a look at using compiler intrinsics to do it in log(n) time.
Making Git and Jupyter Notebooks play nice
Summary: jq rocks for speedy JSON mangling. Use it to make powerful git clean filters, e.g. when stripping out unwanted cached-data from Jupyter notebooks. You can find the documentation of git 'clean' and 'smudge' filters buried in the page on git-attributes , or see my example setup below.
Curl removes experimental HTTP back end in Rust
The ride is coming to an end. The experiment is done. We tried, but we admit defeat. Four years ago we started adding support for an alternative HTTP backend in curl. It would use a library written in rust, called hyper. The idea was to introduce an alternative implementation of HTTP internals that you could ……
Pdf.js: Rendering PDF with HTML5 and JavaScript
Update: I updated the links again. pdf.js has moved to a new location on github. Why? While traveling to the Firefox 4 launch parties in Seoul and Taipei all the way from California, we killed a lo…
CoreRT – A .NET Runtime for AOT
Firstly, what exactly is CoreRT? From its GitHub repo .. a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying .NET native compiler toolchain
Low-level is easy
My previous entry has the amazingly interesting title "Blogging is hard". Gee, what a wuss, says the occasional passer-by. Gotta fix my image, fast. Think, think, think! OK, here's what I'm going to tell you: low-level programming is easy. Compared to higher-level programming, that is. I'm serious.
Common shell script mistakes (2008)
Portability and Robustness issues commonly found in shell scripts
How misaligning data can increase performance 12x by reducing cache misses
Here's the graph of a toy benchmark 1 of page-aligned vs. mis-aligned accesses; it shows a ratio of performance between the two at different working set sizes. If this benchmark seems contrived, it actually comes from a real world example of the disastrous performance implications of using nice power of 2 alignment…
Levels of code in Forth programming (2002)
I had been programming in Fortran and assembler for a number of years when I got my first personal computer. It was exciting. On the first generation PC one had to toggle in a paper tape loader from front panel switches, byte by byte, then start the paper tape reader and then one could output to the led on the front…
WebAssembly doesn’t make unsafe languages safe
WebAssembly is all the rage these days. And for good reasons. It’s pretty exciting to see many compiled languages adopting a common intermediate represe...