Why I Am Not An Integrated Information Theorist (or, The Unconscious Expander)
Happy birthday to me! Recently, lots of people have been asking me what I think about IIT—no, not the Indian Institutes of Technology, but Integrated Information Theory, a widely-discussed &#…
Finite State Entropy - A new breed of entropy coder
In compression theory, the entropy encoding stage is typically the last stage of a compression algorithm, the one where the gains from t...
Distributed systems for fun and profit (free ebook)
git , Single page HTML , Kindle .mobi , PDF , .epub , HTML for printing , book cover .
An argument against call/cc (2012)
Why a programming language should not offer a primitive to capture undelimited continuations (call/cc).
Why Pascal is Not My Favorite Programming Language (1981)
The programming language Pascal has become the dominant language of instruction in computer science education. It has also strongly influenced languages developed subsequently, in particular Ada.
The empirical evidence that types affect productivity and correctness
There are some pretty strong statements about types floating around out there. The claims range from the oft-repeated phrase that when you get the types to line up, everything just works, to “not relying on type safety is unethical (if you have an SLA)” 1 , " It boils down to cost vs benefit, actual studies, and…
You Don't Want XTS
XTS is the de-facto standard disk encryption mode, which makes it look like a good general-purpose one. It isn't. What disk encryption actually promises, and why XTS's guarantees don't travel.
Why HTTP/2.0 does not seem interesting (2012)
Varnish is a powerful, flexible HTTP accelerator that speeds up web applications by caching content and optimizing delivery.
Apple releases diversity numbers
We create a culture of collaboration where different experiences and perspectives come together to make something magical and meaningful.
Email (let's drop the hyphen) (2003)
I have been a happy man ever since January 1, 1990, when I no longer had an email address. I'd used email since about 1975, and it seems to me that 15 years of email is plenty for one lifetime.
Programming with Nothing (2011)
I love Ruby! I’ve used it every day for years and I’m not sick of it yet. It’s an easy language to love: it’s expressive, flexible and syntactically beautiful ; it has a unique combination of useful features like mixins , metaclasses and blocks ; it comes with a useful core library and comprehensive standard library …
Beware Isolated Demands For Rigor
I. From Identity, Personal Identity, and the Self by John Perry:”There is something about practical things that knocks us off our philosophical high horses. Perhaps Heraclitus really thought …
The Magpie Developer
I’ve often thought that software developers were akin to Magpies, birds notorious for stealing shiny items to decorate their complex nests. Like Magpies, software developers are unusually smart and curious creatures, almost by definition. But we are too easily distracted by shiny new toys and playthings. I no longer
SSC Gives A Graduation Speech
[Trigger warning for deliberately provoking horror about graduates’ real-world post-college prospects] [Epistemic status: intended as persuasive speech, may somewhat overstate case] Ladies an…
Weak Men Are Superweapons
I. There was an argument on Tumblr which, like so many arguments on Tumblr, was terrible. I will rephrase it just a little to make a point. Alice said something along the lines of “I hate peo…
Jordan Mechner
Jordan Mechner is an author, graphic novelist, screenwriter and video game designer, best known as the creator of Prince of Persia. Follow his latest projects here.
bliki: Bounded Context
Don't try to build a single, unified model for a large domain. Instead DDD advises us to divide such a domain into many bounded contexts with explicit relationships between them.
Unyielding
Be as the reed, not the oak tree. Green threads are just threads.
The Ad Hominem Fallacy Fallacy
One of the most widely misused terms on the Net is "ad hominem". It is most often introduced into a discussion by certain delicate types, delicate of personality and mind, whenever their opponents resort to a bit of sarcasm . As soon as the suspicion of an insult appears, they summon the angels of ad hominem to smite…
Separating Programming Sheep from Non-Programming Goats
⚠ Please note, this paper was ultimately retracted by its author (pdf) in 2014: In 2006 I wrote an intemperate description of the results of an experiment carried out by Saeed Dehnadi. Many of the extravagant claims I made were insupportable, and I retract them. I continue to believe, however, that
Nick Craver - What it takes to run Stack Overflow
I like to think of Stack Overflow as running with scale but not at scale. By that I meant we run very efficiently, but I still don’t think of us as “big”, n...
Clean Coder Blog
Peter was showing the relationship between age and reputation on stack overflow. The correlation is unmistakable. The older the programmer, the better the reputation, by far. He also shows, in the following graph, that the reason for this correlation is that the older programmers answer far more questions than the…
Domain Driven Design
Slides and video from my talk "Domain Modeling Made Functional with the F# Type System"
A New, Optional Way to Share and Discover Music, TV and Movies
We’re making conversations quicker and easier.
Participation Inequality: The 90-9-1 Rule for Social Features
In most online communities, 90% of users are lurkers who never contribute, 9% of users contribute a little, and 1% of users account for almost all the action.