Beating Decades of Optimized C with 80 Lines of Haskell
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,834 posts.
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
“Practical men, who believe themselves to be quite exempt from any intellectual influence, are usually the slaves of some defunct economist...
The Great Pyramids took decades to build. It was a monumental feat of human ingenuity and collaboration. Today, we software developers erect our own pyramids each day - not from stone, but from code. Yet despite far more advanced tools, these systems don’t always make the experience better. So why, when KISS (Keep It…
libexpat is a fast streaming XML parser. Alongside libxml2, Expat is one of the most widely used software libre XML parsers written in C, specifically C99. It is cross-platform and licensed under the MIT license .
Ok, the title is a tongue-in-cheek, but there's very little thought put into files in most languages. It always feels a bit out of place... except in C. In fact, what you get is usually a worse version of C.
OOXML is less an act of sabotage than the continuation of a flawed, inelegant lineage.
It wouldn’t be a new job without some data porn and a blog post, would it?
Python f-strings give you a readable, concise way to interpolate and format strings, and they beat .format() and the % operator on speed.
Intrigued by the Go programming language.
Blog for DoltHub, a website hosting databases made with Dolt, an open-source version-controlled SQL database with Git-like semantics.
IDN, International Domain Names, is the concept that lets us register and use international characters in domain names, and by international we of course mean characters outside of the ASCII range. Recently I have fought some battles against IDN and IDN decoding so I felt this urge to write a lot of words about it ……
I’ve been programming for quite some time and have explored a variety of programming paradigms along the way. From time to time people will ask 1 which is better: functional programming or object-oriented programming. Having done both extensively in my time I can exclaim a resounding: it depends .
About the fatal perils and traps of many modern tools that handle "shell commands" as passed through `system(3)` or `sh -c`. Or, how by the end of 2020, we still haven't given up on shell's equivalent "SQL building", or how shell's equivalent "SQL injection" still thrives in our engineering world... Plus a `glibc`…
From Voltages to "Cadence, Output, and Resistance" TL;DR - I’ve decoded (most of) the protocol that the Peloton bike uses to communicate with its head unit tablet and built a device,...
There haven’t been a lot of community structures or resources for Staff+ engineers. That’s changing.
Typometer is a tool to measure and analyze visual latency of text / code editors.
For more experienced functional programmers, most of this post will seem introductory, but I introduce some more advanced stuff near the end. Functional Programming over Canadian Programming Lately, I've been thinking about this Functional Programming journey I've been on. I thought it started when I was twenty, but
Suppose you want to visit every state capitol exactly once, traveling on highways. Which route is shortest? Which route is longest? What is the mean and standard deviation of all the routes?
Win $25K or more for your Telegram bot – @durov is giving away 1 million dollars to devs in 2016.
Homepage of Michel Weststrate
My first real programming class, back in high school, was taught in C. I found it difficult and I remember spending the whole year thinking that I really had no aptitude for programming. I think I got an OK grade in the end, but I felt like I was really struggling compared to the other students in the class. It wasn’t…
When Simplicity is Preferrable to Efficiency
A look at supabase-js v2, which brings type support and focuses on quality-of-life improvements for developers.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…