New
The latest blog posts to take off on Hacker News. 14,544 posts.
Dsxyliea
A friend who has dyslexia described to me how she experiences reading. She can read, but it takes a lot of concentration, and the letters seems to “jump around”.
My Journey From Blindness to Building a Fully Conversational User Interface
Apps are a nightmare for the visually impaired. So when I started losing my sight, I decided to fix that.
How to Deploy Software
Things Zach Holman said.
Comparing Rust and Java
It may not be obvious from my other blog entries, but I work as a Java developer. I also freely confess to enjoy it, which probably makes me part of some minority.
OpenSSL CVE-2016-0799: heap corruption via BIO_printf
There are a couple of issues with OpenSSL’s BIO_*printf() functions, defined in crypto/bio/b_print.c, that are set to be fixed in the forthcoming security release. The function that is primar…
What is wrong with “A successful Git branching model”?
Update 2018-07. The branching model described here is called trunk based development. I and other people who I collaborated with did not know about the articles that used this name. Nowadays there are excellent web resources about the subject, like trunkbaseddevelopment.com. They have a lot of...
How to Code and Understand DeepMind's Neural Stack Machine in Python
A machine learning craftsmanship blog.
A love letter to jQuery
A very tongue-in-cheek article about why jQuery is good for the web.
Outlook 2016’s New POP3 Bug Deletes Your Emails
Yikes, looks like the new version of Outlook 20016 has broken the POP3 implementation. If you are currently using the “leave on server and delete after x days” function, the you should check your account because it seems like that the new Outlook is actually deleting your emails almost immediately after retrieving…
Interfaces – The Most Important Software Engineering Concept
An interface can be thought of as a contract between the system and the environment. In a computer program, the 'system' is the function or module in question, and the 'environment' is the rest of the project. The interface formally describes what can pass between the system and the environment. An 'implementation'…
Upgrading from React 0.11.2 to 0.14.7 in 347 easy steps
Today I set out to the task of upgrading a set of views crafted with the React library. The upgrade was necessary because one part of a view using React stopped working in Chrome Version 48.0.2564.116 (64-bit). I don’t know why this happened, I didn’t find anything related to it and as it stands this was probably the…
Voice Recognition and Text to Speech in Python
It’s tough for an aspiring Iron Man to work on creating their personal AI assistant on the weekends. Like any other time-pressured inventor without a PhD in computer science and linguistics, …
LL and LR in Context: Why Parsing Tools Are Hard (2013)
In my last blog entry LLand LR Parsing Demystified, we explored LL and LR parsers from ablack-box perspective. We arrived at a model for these parsers whereb...
How to stop functional programming
You go into work and discover that a coworker isn't happy with some code you wrote because they don't understand it. They go to your manager and tell them that you're being a problem by writing code they don't understand. Your manager, being very skilled in conflict resolution, makes a technical decision to avoid…
All Software is Legacy
In what may be judged in years to come as a moment of madness, I have volunteered to be the primary maintainer of the Perl CGI module (CGI.pm). For the non-technical readers of this post: CGI.pm is a few thousand lines of code that in the mid to late nineties, and even some years later, was helping many websites…
Rewrite Everything in Rust
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
A resizable concurrent map
In an earlier post, I showed how to implement the “world’s simplest lock-free hash table” in C++. It was so simple that you couldn’t even delete entries or …