The Rise of "Worse is Better"
Previous: Lisp's Apparent Failures Up: Lisp's Apparent Failures Next: Good Lisp Programming is Hard
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 113 posts.
Previous: Lisp's Apparent Failures Up: Lisp's Apparent Failures Next: Good Lisp Programming is Hard
The expressive power of Lisp has drawbacks.
"In science, if you know what you are doing, you should not be doing it. In engineering, if you do not know what you are doing, you should not be doing it. Of course, you seldom, if ever, see either pure state."
Dr. Alan Kay explains when "object-oriented" was first used and what it means. []
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
One of Lisp's great features is its condition system. It serves a similar purpose to the exception handling systems in Java, Python, and C++ but is more flexible. In fact, its flexibility extends beyond error handling--conditions are more general than exceptions in that a condition can represent any occurrence during…
As it happens, designing Future Interfaces For The Future used to be my line of work . I had the opportunity to design with real working prototypes, not green screens and After Effects, so there certainly are some interactions in the video which I'm a little skeptical of, given that I've actually tried them and the…
Another great post
Tangle is a JavaScript library for creating reactive documents . Your readers can interactively explore possibilities, play with parameters, and see the document update immediately. Tangle is super-simple and easy to learn.
I want to take a moment to elaborate on what makes a well formed commit message. I think the best practices for commit message formatting is one of the little details that makes Git great. Understandably, some of the first commits to rails.git have messages of the really-long-line variety, and I want to expand on why…
In 2011 I wrote the initial version of JSLinux, the first PC/x86 emulator in Javascript running Linux. I reused parts of another of my emulators ( QEMU ) for the x86 helpers and the devices.
While reviewing some of the comments on my post about parallelism and concurrency, I noticed that the great fallacy about dynamic and static languages continues to hold people in its thrall. So, i…
Every educated person really ought to have a basic understanding of accounting. Just like maths, science, programming, music, literature, history, etc., it’s one of those things which helps you make sense of the world. Although dealing with money is not much fun, it’s an unavoidable part of life, so you might as well…
The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols.
The tokens #t and #f are the True and False literals, respectively. The single quote mark serves to quote the following expression. The syntax ' exp is completely equivalent to (quote exp ) . The backquote character ` is called quasiquote in Scheme; it is similar to ' except that within a quasiquoted expression, the…
It's not about technology for its own sake. It's about being able to implement your ideas.
I spent two weeks reading and reverse engineering further the source code of Another World ("Out Of This World" in North America). I based my work on Gregory Montoir's "binary to C++" initial reverse engineering from the DOS executable. I was amazed to discover an elegant system based on a virtual machine interpreting…
Recognized shorthand on the Usenet group comp.std.c for any unexpected behavior of a C compiler on encountering an undefined construct. During a discussion on that group in early 1992, a regular remarked “ When the compiler encounters [a given undefined construct] it is legal for it to make demons fly out of your nose…
On occasion you meet a developer who seems like a solid programmer. They know their theory, they know their language. They can have a reasonable conversation about programming. But once it comes do…
You've finished this book and have decided to continue with programming. Maybe it will be a career for you, or maybe it will be a hobby. You'll need some advice to make sure you continue on the right path and get the most enjoyment out of your newly chosen activity.
Dylan? C# 3? Perl 6? Does it have deterministic destructors, even as blocks like Python 2.5? Generics? A powerful macro system? Even as described it sounds like magic, but not a moment too soon.
I'm no graphics expert, but appreciate why square roots are useful. The Pythagorean theorem computes distance between points, and dividing by distance helps…
Algorithms, circle mazes, hex grids, masking, weaving, braiding, 3D and 4D grids, spheres, and more!