Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 894 posts.
My Go Resolutions for 2017
’Tis the season for resolutions, and I thought it would make sense to write a little about what I hope to work on this year as far as Go is concerned.
Lisp Quickstart
George Mason University’s Department of Computer Science advances research and education in artificial intelligence, cybersecurity, robotics, software engineering, and other computing fields. As part of Virginia’s largest public research university, the department connects researchers and students with government…
3.5 Years, 500k Lines of Go
January 31st 2017 was my last day at Canonical, after working for 3.5 years on what is one of the largest open source projects written in Go - Juju .
Linting HTML using CSS
Articles on frontend development and more.
A Tutorial on Portable Makefiles
In my first decade writing Makefiles, I developed the bad habit of liberally using GNU Make’s extensions. I didn’t know the line between GNU Make and the portable features guaranteed by POSIX. Usually it didn’t matter much, but it would become an annoyance when building on non-Linux systems, such as on the various…
Seven habits of effective text editing (2000)
If you spend a lot of time typing plain text, writing programs or HTML, you can save much of that time by using a good editor and using it effectively. This paper will present guidelines and hints for doing your work more quickly and with fewer mistakes.
The slow currentTimeMillis()
Today we’ll look at one of the most basic and the most often used methods from the Java library: System.currentTimeMillis() .
How I learned to program
Tavish Armstrong has a great document where he describes how and when he learned the programming skills he has . I like this idea because I've found that the paths that people take to get into programming are much more varied than stereotypes give credit for, and I think it's useful to see that there are many possible…
Go: Ten years and climbing
Drawing Copyright ©2017 Renee French This week marks the 10th anniversary of the creation of Go. The initial discussion ...
Fixing bugs like it's 1988
I grew up in the 80's, the decade home computers went from curiosity to mainstream. In primary school we had several Philips P2000T home com...
The lost art of 3D rendering without shaders
Learn how OpenGL and Metal work by writing your own 3D renderer from scratch
How Unreal Renders a Frame
This is part 1 of the “How Unreal Renders a Frame” series, you can access part 2 and part 3 as well. I was looking around the Unreal source the other day and inspired by some excellent …
Better Database Migrations in Postgres
As your database grows and scales there are some operations that you need to take more care of than you did when you were just starting. When working with your application in your dev environment you may not be fully aware of the cost of some operations until you run them against production. And at some point most of…
Writing a Fast JSON Parser
Several holidays ago, I got a bee in my bonnet and wrote a fast JSON parser whose parsed AST fits in a single contiguous block of memory. The code was small and simple and the performance was generally on-par with RapidJSON, so I stopped and moved on with my life.
Clojure Design Patterns
Disclaimer: Most patterns are easy to implement because we use dynamic typing, functional programming and, of course, Clojure. Some of them look wrong and ugly. It’s okay. All characters are fake, coincidences are accidental.
Chuck Moore, Extreme Programmer
If you have read any of Chuck Moore's work, you know that he is an extreme programmer in the literal sense of the word: a unique philosophy that embraces small, fast, self-contained programs in a spare language and an impressive development environment. But as I read the opening sections of Moore's book Programming a…
APFS does not normalize Unicode filenames
“iOS HFS Normalized UNICODE names, APFS now treats all files as a bag of bytes on iOS. We are requesting that Applications developers call the correct Normalization routines to make sure the file name contains the correct representation.”
Ryzen is for Programmers
Programing in Clojure and ClojureScript
Towards a JavaScript Binary AST
In this blog post, I would like to introduce the JavaScript Binary AST, an ongoing project that we hope will help make webpages load faster, along with a number of other benefits. A little background Over the years, JavaScript has grown from one of the slowest scripting languages available to a high-performance…
Documenting your architecture: Wireshark, PlantUML and a REPL to glue them all
Instead of drawing UML diagrams, why not generate them from a network traffic capture of the running system?
Why Don't We Have a General-Purpose Tree Editor? (2014)
We have excellent tools to create and edit text (vim, emacs, sublime, etc.). We have pretty good tools to create and edit tabular data (excel, other spreadsh...