Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 5,637 posts.
Rust vs Go: A Hands-On Comparison
Rust versus Go is a controversial topic that pops up from time. In this post, we will compare both languages in the context of web development by writing a small web service which shows weather data in both languages.
Make invalid states unrepresentable (2023)
"Type-driven development"
Why is hash(-1) == hash(-2) in Python?
While browsing Reddit the other day waiting for my code to compile, I ran across this question on r/Python: is hash(-1) == hash(-2) an easter egg? Wait, is that really true? $ python Python 3.9.6 (default, Jun 29 2021, 00:00:00) [GCC 11.1.1 20210531 (Red Hat 11.1.1-3)] on linux Type "help", "copyright", "credits" or…
Standard Ruby 1.0
Say hello to Standard Ruby 1.0! Effortless linting and code formatting for Ruby, built on RuboCop. Zero configuration, total convenience.
BuckleScript Is Rebranding
BANDARBOLA855 merupakan kolaborasi BAND ONEON sebagai bandar slot dan agen bola 2026 dengan akses link slot gacor favorit, pilihan slot gacor terbaik, SBOBET, serta mix parlay dalam satu platform.
Haskell’s State monad is not a monad (2014)
Haskell’s State monad has a shameful secret. It’s not a monad [ State monads don’t respect the monad laws in Haskell, Simon Marlow ] . Look:
Personal thoughts about Pyston's outcome
I try to not read HN/Reddit too much about Pyston, since while there are certainly some smart and reasonable people on there, there also seem to be quite a few people with axes to grind (*cough cou…
Value Type Hygiene
Briefly put, types in L-world are ambiguous, leading to unhygienic mixtures of value operations with reference operations, and uncontrolled pollution from null s infecting value code.
Lisp is sin
Access to this page requires authorization. You can try signing in or changing directories .
White space does matter in C23
Usually in C identifiers are not directly followed by strings. But when U prefixed literals were introduced in C. there still were some rare clashes with existing code. This happened were a macro U…
A Rust match made in hell
I often write pieces that showcase how well Rust can work for you, and how it can let you build powerful abstractions, and prevents you from making a bunch of mistakes. If you read something like S...
Using GCC's Nested Functions with Wide Pointers and No Trampolines II
When the address of a nested function is taken, GCC creates at trampoline at run-time. This trampoline is placed on the stack, which means that the stack has to be executable. This is problematic because a non-executable stack is an important security feature. For some time now, GCC has the option to place the…
Strange line of Python
Hi 👋 you're reading a pretty old post! I started writing on here back in high school and this page may not reflect my current views. Recommend checking out related articles and categories down below, I've likely published more recent thoughts on this topic.
Bringing Faster Exceptions to Rust
Three months ago, I wrote about why you might want to use panics for error handling. Even though it’s a catchy title, panics are hardly suited for this goal, even if you try to hack around with macros and libraries. The real star is the unwinding mechanism, which powers panics. This post is the first in a series…
Oxidizing Fedora: Try Rust and Its Applications Today
In recent years, it has become increasingly important to develop software that minimizes security vulnerabilities. Memory management bugs are a common cause of these vulnerabilities. To that end, the Mozilla community has spent the last several years building the Rust language and ecosystem which focuses primarily on…
Common Lisp Standard Draft
Add more credibility to your site - get a premium domain today. Straight-forward shopping experience.
Methods for Array Initialization in Rust (2018)
Arrays in Rust are fixed size, and Rust requires that every element in an array is initialized to a valid value when the array is initialized. The result of these requirements is array initialization in Rust is a much deeper topic than it would seem.