Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 653 posts.
Talking about “types”
My essay “In Search of Types” attempts to be a dispassionate review of some of the different concepts, purposes and attitudes surrounding the word “type” in programming. I imagine that my passions are still rather thinly veiled in places. But in this post I'm going to come out with a more unabashedly ranty take…
Why browse the Web in Emacs? (2008)
“Are you browsing Slashdot in Emacs?”, W- asked me after he glanced at my screen.
Careful with that Buffer
Last week I was sorting through several sets of Microsoft C 5.1 disks from 1988 (more about that later). While I was comparing the disk images to see whether the disks were the same or not, despite different labels and part numbers, I did a double take when I realized that a file with random e-mail fragments was, in…
The Log: An Epic Software Engineering Article
There's some sort of inflection point where a "long read" becomes an "epic article." I'm not quite sure where that inflection point is, bu...
Python on Wheels
A quick overview into wheel based Python deployments.
Architecture of a Real World Haskell Application
There were numerous posts on reddit, SO and the like which were asking for how to architect real world Haskell applications. Well, this is my go at it for an in-house testing tool which is used extensively. I would not claim myself an advanced Haskeller, some of the code is probably not idiomatic Haskell (and also…
Things You Can Do with Python and POV-Ray
This post presents Vapory, a library I wrote to bring POV-Ray’s 3D rendering capabilities to Python. POV-ray is a popular 3D rendering software which …
Generation JavaScript
I’ll start by saying that this is not a rant, but rather a cry of despair that I’m repeating and that slowly - but steadily - seems to come to consciousness in our industry, like this one. The phenomenon I’m about to describe is not only limited to the Javascript community either, that community seems a lot more…
Predicting the next Math.random() in Java
A while back a friend of mine hosted a programming competition where you were given 9 random numbers one at a time and you had to guess the rank (the sorted position amongst the 9) of each as they are coming in. The goal was to submit a strategy in Java that will maximize the number of these games won. The best…
Microservices and the First Law of Distributed Objects
In P of EAA I said "don't distribute your objects". Does this advice contradict my interest in Microservices?
Suture – Supervisor Trees for Go
Supervisor trees are one of the core ingredients in Erlang's reliability and let it crash philosophy . A well-structured Erlang program is broken into multiple independent pieces that communicate via messages, and when a piece crashes, the supervisor of that piece automatically restarts it.
Say “no” to import side‐effects in Python
When you write Python code, please make sure that you don’t have side‐effects in your module imports. It breaks things and makes people sad.
Intrusive lists in Doom 3
Doom 3 was released in 2004, which I can't believe was a decade ago. Great game, atmospheric and scary, and a worthy successor of the first two games in the series. Several years after the initial release, in 2011, Doom 3's source code was published on Github. It can be fun to poke around the repository to learn how…
Spreadsheet-like programming in Haskell
mvc-updates 1.0 announcement post
A Cover Letter in Brainfuck
Warning: another technical post.I wrote this cover letter many years ago, when I wanted to get accepted to the Matzov unit of the Israeli Defense Force (in Israeli, every male is conscripted…
Software eats software development
programming, philosophy, history, internet, startups
What is a Web Framework?
Socolive TV phát sóng trực tiếp bóng đá hôm nay, link xem SocoliveTV sắc nét chuẩn HD. Cập nhật Lịch thi đấu, BXH, Highlight, Kết quả bóng đá mới nhất!
Why threads can't fork
There is an interesting thread on the Go issue tracker about daemonizing processes. Most of the thread is not about daemonizing processes though, but more about why Go has no Fork() function which you can call directly in your code. The first time I read through it I was wondering and saying to myself: “Yeah, why is…
Random Solutions are Often Good Enough
Sometimes taking the easy way out isn’t nearly as bad as it might seem! posted Thursday February 13th, 2014 Tagged: Math
You could have invented Parser Combinators
Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction
Let's build a browser engine Part 3: CSS
This is the third in a series of articles on building a toy browser rendering engine. Want to build your own? Start at the beginning to learn more:
Go Is a Shop-Built Jig
Alex Payne wrote an excellent essay called Thoughts on Five Years of Emerging Languages. It called to mind something I wrote a while ago for a …
Put Yourself Out There: The Myth of the Genius Programmer
A year ago I decided to put myself out there and face my fear of being vulnerable by starting a blog. I look at what has happened since then and how great of an experience it has been.