New
The latest blog posts to take off on Hacker News. 3,709 posts.
Why I find IEEE 754 frustrating
Programming languages new (Java) and old (Fortran), and their compilers, still lack competent support for features of IEEE 754 so painstakingly provided by practically all hardware nowadays. […] Programmers seem unaware that IEEE 754 is a standard for their programming environment, not just for hardware. William Kahan
Rust and Go
I’ve been spending a bit of my time playing around with new languages — in particular, Rust has captured my imagination. The bulk of the…
Improved Error Handling in Rust
Overview of how to handle errors in the current version of the Rust programming language.
A taste of Rust for C/C++ programmers
If, like me, you've been frustrated with the status quo in systems languages, this article will give you a taste of why Rust is so exciting....
A Quick Intro to Rust Macros
Note : This article is for an obsolete version of Rust, and has been superceded by the slightly less misleadingly named "A Practical Intro to Macros in Rust 1.0" .
Functional options for friendly APIs
What follows is the text of my presentation, Functional options for friendly APIs that I gave at dotGo this year. It has been edited slightly for readability.
KDE makes Qt
Recently I was trying some statistics on the qtbase-module (where QtCore, QtGui, QtWidgets and so on lives) and was wondering who made them. Not based on their current paid affilation, like Thiago’s graphs , but if each commit was made by a person coming from KDE.
Writing C in Cython
For the last two years, I’ve done almost all of my work in Cython. And I don’t mean, I write Python, and then “Cythonize” it, with various type-declarations etc. I just, wri…
Your language sucks
As a result of work I've been doing for illumos , I've recently gotten re-engaged with internationalization, and the support for this in li...
On Error Handling in Rust
My thoughts about error handling in APIs after writing a Redis library in Rust.
Why your first Rust FizzBuzz implementation may not work
An exploration into some initially surprising but great parts of Rust (though you still may not like them).
Talking about “types”
My essay “In Search of Types” attempts to be a dispassionate review of some of the different concepts, purposes and attitudes surrounding the word “type” in programming. I imagine that my passions are still rather thinly veiled in places. But in this post I'm going to come out with a more unabashedly ranty take…
Object Oriented Programming is an expensive disaster which must end
Zet Casino 2026: tysiące gier, bonus powitalny, wpłaty BLIK i krypto, wypłaty w minutach oraz polskie wsparcie 24/7. Sprawdź naszą ofertę.
Haskell, Monads and Purity
I believe the notion that Haskell uses “monads” to enforce purity is rather misleading. It has certainly caused quite a bit of confusion! It’s very much like saying we use “rings to do arithmetic”. We don’t! We use numbers, which just happen to form a ring with arithmetic operations. The important idea is the number …
A Fresh Look at Rust
An updated report on my experience with Rust and where I think it might be going.
Clojure Distilled
The difficulty in learning Clojure does not stem from its syntax, which happens to be extremely simple, but from having to learn new methods for solving problems. As such, we'll focus on understanding the core concepts and how they can be combined to solve problems the functional way.
Clasp – A Common Lisp with LLVM back end and interoperation with C++
Hello, everyone! Click here for up to date build instructions Today I am happy to make the first release of the Common Lisp implementation “Clasp”. Clasp uses LLVM as its back-end and generates nat…
Rust lifetimes: Getting away with things that would be reckless in C++
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur.
Say Hello to X64 Assembly Part 3
Stack Some time ago i started to write a series of posts about assembly x64 programming. It is third part and it will be about stack. The...
Programming without objects
Recently I gave an itemis internal talk about basic functional programming (FP) concepts. Towards the end I made a claim that objects and their blueprints (a.k.a. classes) have severe downsides and that it is much better to "leave data alone", which is exactly how Clojure and Haskell treat this subject.
Go Is a Shop-Built Jig
Alex Payne wrote an excellent essay called Thoughts on Five Years of Emerging Languages. It called to mind something I wrote a while ago for a …
Suture – Supervisor Trees for Go
Supervisor trees are one of the core ingredients in Erlang's reliability and let it crash philosophy . A well-structured Erlang program is broken into multiple independent pieces that communicate via messages, and when a piece crashes, the supervisor of that piece automatically restarts it.
D’s Garbage Collector Problem
One of the biggest issues with Higgs, the JIT compiler I’m working on, is that the compilation times are too slow. The performance of the compiled machine code that Higgs produces is now fair…