New
The latest blog posts to take off on Hacker News. 2,307 posts.
Version SAT
The package version selection problem is to find a set of dependencies that can be used to build a top-level package P that is complete (all dependencies satisfied) and compatible (no two incompatible packages are selected). There may be no such set, because of the diamond dependency problem: perhaps A needs B and C…
Sane Thinking About Mental Health Problems
Epistemic status: exhortatory and personal, but pretty confidently my true belief CW: suicide mention When I was a teenager, I was depressed. And the way I thought mental illness worked, the way I…
Ubiquiti all the things: How I fixed my dodgy Wi-Fi
I'm increasingly of the view that both my time and my sanity are worth more and more as the years progress. Particularly in my independent life, it really can be that black and white - if I can't work, it costs me money. Plus, I want to be happy
Opendoor, a startup worth emulating
OpenDoor has a unique yet high-risk approach to residential real estate; that’s a great thing, both for its prospects and for society.
Why I still won’t review for or publish with Elsevier
In 2012, I signed the Cost of Knowledge pledge, and stopped reviewing for, and publishing in, all Elsevier journals. In the four years since, I’ve adhered closely to this policy; with a coupl…
Telomeres – Too much of a good thing?
One of the major themes in aging science of the last 15 years has been that there is natural variation in telomere length, and individuals with longer telomeres have lower disease risk and longer life expectancy than those with shorter telomeres.
What Makes a Senior Software Developer?
The notion of a "senior" developer is extremely subjective. How can we define it better?
Great Problems: An Epidemic of Rent-Seeking
America follows the path of late Rome: Fortunes no longer arise from creating new wealth, but via exploiting privileged relations with the state.
Happy 23rd Birthday, DOOM
It's that time of year again, where we say Happy Birthday to one of my most favorite games, DOOM! Every year I try to reveal something about the game's development that hasn't been documented to death. Believe me, DOOM has been documented more than most games. But never fear, I have so much stuff th
In Defense of Inclusionism
Iron Law of Bureaucracy: the downwards deletionism spiral discourages contribution and is how Wikipedia will die.
Spaced repetition
Efficient memorization using the spacing effect: literature review of widespread applicability, tips on use & what it’s good for.
Write a toy strace and gdb
Being able to peek into a process is a very helpful thing when we want to fully understand how a program behaves.
Tips for Self-Learning Programming
Jorge Silva's personal blog on programming and software engineering
Fast Fourier transform in x86 assembly
I have a simple fast Fourier transform implementation on the page Free small FFT in multiple languages , whose asymptotic time complexity is the optimal Θ( n log n ). I wanted to know how much additional speed-up could be obtained by reorganizing memory access patterns and using SIMD vector arithmetic instructions…
Why I'm Making Python 2.8
For the past two months I've been spending half my time on Tauthon . Tauthon is a backwards-compatible Python interpreter that runs Python 2 code and C-extensions exactly as-is, while also allowing Python 2 programmers to use the most exciting new language features from Python 3. These new backported language features…
Developers’ side projects
If you’re a developer working for software company, does that company own what you do in your spare time?
SeaHash: Explained
I explain how SeaHash works.
Saving the Internet 2000TB a Day: Fixing Font Awesome’s Fonts
Front-end antics and typographic mischievousness
The Finder’s GUI tax can be very expensive
Once a month, I download roughly 25 gzipped (.gz) files from Apple—these are our Mac App Store sales reports, with one file for each App Store region. I could have Safari expand these files (via the "Open 'safe' files after downloading' item in its preferences), but I prefer to leave that option unchecked. (Why? I…