Strategy Letter III: Let Me Go Back!
When you’re trying to get people to switch from a competitor to your product, you need to understand barriers to entry, and you need to understand them a lot better than you think, or people …
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 6,985 posts.
When you’re trying to get people to switch from a competitor to your product, you need to understand barriers to entry, and you need to understand them a lot better than you think, or people …
(These are some notes I made for a panel discussion on programming language design at MIT on May 10, 2001.) 1. Programming Languages Are for People. Programming languages are how people talk to computers. The computer would be just as happy speaking any language that was unambiguous. The reason we have high level…
To dwellers in a wood, almost every species of tree has its voice as well as its feature. Thomas Hardy, Under the Greenwood Tree
Vibe coding is having a moment. The term was coined by Andrej Karpathy just a few weeks ago (on February 6th) and has since been featured in the New York …
“People have completely forgotten that in 1972 we had over nineteen hundred domestic bombings in the United States.” — Max Noel, FBI (ret.) Recently, I had my head torn off by a b…
Not happy that I cite Sean Lennon as a source of evidence concerning the way they can be used in modern English? Feeling that only something 400 years older would really convince you that it's OK. Has Coby Lubliner got news for you! Coby writes from Berkeley to point out the following lines from Shakespeare's A Comedy…
Urbit is a static functional namespace : a programming environment specified as a single stateless, frozen function. The Urbit function is ...
We’ve always put a heavy emphasis on performance at Stack Overflow and Stack Exchange. Not just because we’re performance wonks (guilty!), but because we think speed is a competitive advantage. There’s plenty of experimental data proving that the slower your website loads and displays, the less people
Operations in Lisp, Scheme, and other dynamically-typed languages typically dispatch on representational type information rather than intentional type information. Several broad classes of bugs and confusions can be traced to improper attempts to recover intentional type information from representation types.
[This post has mostly been replaced/supplanted with a more thorough analysis in Contra Grant On Exaggerated Differences] I. One idea that kept coming up in the comments to the thread on signal-boos…
Part 2. Where does a procrastinator go wrong and how can you actually improve your procrastination habits?
Well. That took rather longer than expected. We have, finally, moved, into the new Fog Creek office at 535 8th Avenue, officially ten months after I started pounding the pavement looking for a repl…
Randy Olson charts out the IQ of students by their major's gender ratio and reveals a startling trend.
The problem isn’t your camera, it’s malware. Don’t install any software from unknown or sketchy sources, keep your OS up to date, and you should be fine. And if you do have malware on your Mac, the webcam is likely the least of your problems.
The management training program we’re starting up here at Fog Creek will take about three years and will be relatively intensive. Among other things, there will be a required reading list con…
The Ten Commandments of Egoless Programming, as originally established in Jerry Weinberg’s book The Psychology of Computer Programming: 1. Understand and accept that you will make mistakes. The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket
We've already seen that hackers often coin jargon by overgeneralizing grammatical rules. This is one aspect of a more general fondness for form-versus-content language jokes that shows up particularly in hackish writing. One correspondent reports that he consistently misspells ‘wrong’ as ‘worng’. Others have been…
On the national, local, and personal level
Parallelogram is a demo running on the Commodore One extender board, which contains an Altera Cyclone III FPGA and an SDRAM chip. The logic design was made from scratch, including a homebrew CPU, FM synth and blitter with pixel shader support. The demo won the wild compo at Revision 2012 .
This issue came up recently for a high profile new gadget that has made the transition from Micro-USB to USB-C in its latest version, the…
Thanks to Alan R. Wilson for correcting a two-word typo involving GPS satellites. Thanks to Aron Yoffe for suggesting the newtonian comparison. Thanks to Tom Fuchs for suggesting the analogy to the stone thrown upwards. Fuel numbers added by Don Koks, 2004. Updated by Phil Gibbs, 1998. Thanks to Bill Woods for…
About a month ago I had one of the strangest phones call of my life. “Steve my name is Donald xx, and I’m the head of external affairs of the CIA’s venture capital firm and we’d like you to keynote…
For lists of FreeBSD AMI IDs, please consult the appropriate FreeBSD release announcement; you can also launch FreeBSD through the AWS Marketplace .
A market timing strategy rarely outperforms dollar cost averaging even when that strategy knows exactly when to buy.
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 &#…
Last week the FDA approved esketamine for treatment-resistant depression. Let’s review how the pharmaceutical industry works: a company discovers and patents a potentially exciting new drug. …
This is a brilliant campaign, for technical and artistic reasons. What is the brand that it conveys? Heirloom quality .