Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 744 posts.
D3: Thinking with Joins
Say you’re making a basic scatterplot using D3 , and you need to create some SVG circle elements to visualize your data. You may be surprised to discover that D3 has no primitive for creating multiple DOM elements. Wait, WAT?
Snowflake Server
a bliki entry for Snowflake Server
About HTML semantics and front-end architecture
A critical look the term 'semantic HTML' and the limitations it has created for web engineers
Great Hackers (2004)
July 2004 (This essay is derived from a talk at Oscon 2004.) A few months ago I finished a new book , and in reviews I keep noticing words like "provocative'' and "controversial.'' To say nothing of "idiotic.'' I didn't mean to make the book controversial. I was trying to make it efficient. I didn't want to waste…
Real Programmers Don't Use Pascal - Letter to the editor, Datamation July 1983
Back in the good old days-- the "Golden Era" of computers-- it was easy to separate the men from the boys (sometimes called "Real Men" and "Quiche Eaters" in the literature). During this period, the Real Men were the ones who understood computer programming, and the Quiche Eaters were the ones who didn't. A real…
steve yegge - tour-de-babel
Tour de Babel Stevey's Drunken Blog Rants™ This is my whirlwind languages tour — the one I was going to write for the Amazon Developers Journal this month, but couldn't find a way to do it that was... presentable. For one thing, I lapse occasionally into coarseness and profanity here, so it
Boolean Blindness
I hate Booleans! But isn’t everything “just bits”? Aren’t computers built from gates? And aren’t gates just the logical connectives? How can a Computer Scientist p…
Where modules go to die
Another great post
PEP 394 – The “python” Command on Unix-Like Systems
This PEP outlines the behavior of Python scripts when the python command is invoked. Depending on a distribution or system configuration, python may or may not be installed. If python is installed its target interpreter may refer to python2 or python3. ...
Tail Call Optimisation in Common Lisp Implementations
While the Common Lisp standard does not require implementations to eliminate tail calls, some do—thereby allowing a more functional programming style. Especially in the prototyping phase, it can be useful to know where this functional style can be employed and where it's likely to cause stack overflow. Since I…
Parallelogram
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 .
JavaScript’s internal character encoding: UCS-2 or UTF-16?
Does JavaScript use UCS-2 or UTF-16 encoding? Since I couldn’t find a definitive answer to this question anywhere, I decided to look into it. The answer depends on what you’re referring to: the JavaScript engine, or JavaScript at the language level.
Master Foo and the Ten Thousand Lines
Master Foo once said to a visiting programmer: “ There is more Unix-nature in one line of shell script than there is in ten thousand lines of C. ”
PEP 393 – Flexible String Representation
The Unicode string type is changed to support multiple internal representations, depending on the character with the largest Unicode ordinal (1, 2, or 4 bytes). This will allow a space-efficient representation in common cases, but give access to full UC...
Pragmatic Unicode
Unicode can be confusing. Here’s a “just the facts I need” presentation about how to handle it correctly.
A case against syntax highlighting
Do you rely on syntax highlighting when developing software? If so, you may be shooting yourself in the foot. In this post, I will argue that syntax highlighting, while aesthetically seductive, moves focus from content to form, and discourages those who look at the code from trying to understand it.
Computed goto for efficient dispatch tables
Recently, while idly browsing through the source code of Python, I came upon an interesting comment in the bytecode VM implementation ( Python/ceval.c ) about using the computed gotos extension of GCC [1] . Driven by curiosity, I decided to code a simple example to evaluate the difference between using a computed goto…
Component · Decoupling Patterns
Allow a single entity to span multiple domains without coupling the domains to each other.