Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 488 posts.
Every language fixes something - a DiGraph - just for fun
Oh, and - added later - the original from PG is undated, but the "enhanced" version below it was on the C2 wiki in 2003/2004 and possibly earlier, so don't for one minute think it's supposed to be up-to-date, or refer to modern version of these languages.
Using git to manage a website
How to update a web site automatically with git push, Author: Abhijit Menon-Sen
Why Emacs?
Prelude
Reminder: "Broken gets fixed, but shitty lasts forever"
A while back, it came to my attention that ruby's net/https implementation had an insecure default: not verifying TLS certificates (OpenSSL::SSL::VERIFY_NONE). I wrote an article about it for RubyInside, and helped @geemus fix the issue in his excon gem. Despite this being an incredibly serious security issue, nobody…
(Android) Developer Income Report #14
As many of you already know I am publishing my monthly income reports each month. Here is another one that will sum up the August 2011. As I have discovered some new methods to make your applicatio…
Pdf.js: Rendering PDF with HTML5 and JavaScript
Update: I updated the links again. pdf.js has moved to a new location on github. Why? While traveling to the Firefox 4 launch parties in Seoul and Taipei all the way from California, we killed a lo…
Designing command-line interfaces
There are few articles on the design of command-line interfaces (CLIs), even if plenty of articles on designing graphical user interfaces (GUIs) exist. This article is an attempt at presenting some of the most important guidelines for CLI design.
Matrix multiplication in O(n^2.373)
For twenty years, the fastest known algorithm to multiply two n-by-n matrices, due to Coppersmith and Winograd, took a leisurely O(n2.376) steps. Last year, though, in his PhD thesis, Andrew Stot…
Git can't be made consistent
This post complains about Git lacking eventual consistency. I have a little secret for you: Git can't be made to have eventual consistency. Everybody seems to think the problem is a technical one, of complexity vs. simplicity of implementation. They're wrong. The problem is semantics. Git follows…
"A JVM Does What?"
Cliff Click gave a very good talk at Google last week. For your viewing enjoyment: The slides are available here . (For those who watched i...
Repairing Corrupted ZIP Files by Brute Force Scanning in C
My brother is a wonderful photographer , and took 14 gigabytes of photos at my recent graduation from Columbia, some of which I hope to post on PhotoFloat -- my web 2.0 photo gallery done right via static JSON & dynamic javascript .
Recursive Functions of Symbolic Expressions and Their Computation by Machine
This paper appeared in Communications of the ACM in April 1960. It is the original paper on Lisp.
(Android) Developer Income Report #9
My March 2011 developer income report is here. As you will see there are no much changes but the eBook sales (one more time thank you to all of you for your great feedback!). As promised to those w…
"The worst algorithm in the world?"
You know the Fibonacci numbers: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … Each number is the sum of the previous two. Let’s say the zeroth Fibonacci number is zero, so: $latex \begin{array}{r@{\…
If you didn’t run code written by assholes, your machine wouldn’t boot
This was passed on to me by Ben Elliston, ex-gcc hacker and good guy. Amusing in context, but the corollary is that working on free software means you'll encounter such people. You may have to work with them. You may have to argue with them (and they may be right). Quite some time ago I was horrified by the private…