Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 874 posts.

2019
511

Making Git and Jupyter Notebooks play nice

Summary: jq rocks for speedy JSON mangling. Use it to make powerful git clean filters, e.g. when stripping out unwanted cached-data from Jupyter notebooks. You can find the documentation of git 'clean' and 'smudge' filters buried in the page on git-attributes , or see my example setup below.

513

Why Codeless Software Is Doomed to Fail

Every couple of years, the hope surfaces that a simple graphical interface will replace teams of developers. Business people to quickly and easily create beautiful expressions of their ideas and launch them into production seamlessly. A handful of startups in every generation take up this challenge, and they mostly…

521

How to Make Python Wait

For many types of applications, at times it is necessary to pause the running of the program until some external condition occurs. You may need to wait until another thread finishes, or maybe until a…

523

Initialization in C++ is Seriously Bonkers

I was recently reminded of why I think it’s a bad idea to teach beginners C++. It’s a bad idea because it is an objective mess—albeit a beautiful, twisted, tragic, wondrous mess. Despite the current state of the community, this post is not a polemic against modern C++. This post is partly a follow-up on Simon Brand’s…

531

How an Optimizing Compiler Works

Optimizing compilers are a mainstay of modern software: allowing a programmer to write code in a language that makes sense to them, while transforming it into a form that makes sense for the underlying hardware to run efficiently. The optimizing compiler's job is to figure out what your input program does, and create…

533

Levels of code in Forth programming (2002)

I had been programming in Fortran and assembler for a number of years when I got my first personal computer. It was exciting. On the first generation PC one had to toggle in a paper tape loader from front panel switches, byte by byte, then start the paper tape reader and then one could output to the led on the front…

534

Client-side web programming in Haskell: A retrospective

At the beginning of this decade (2010), a few of us Haskellers were exploring how best to do client-side web programming. We didn’t want to write JavaScript. There’s a surprising number of techniques we tried to avoid doing so. There was work coming from academia and industry. Here’s a history of my own experience in…

539

Yes, Estimate Software Projects

I hear more voices saying [https://hackernoon.com/the-myth-of-software-time-estimations-576a7466d91a] there is little point in doing time-based estimations on how long building software will take, and thus we should just stop doing it. "Let's just use story points and estimate complexity, but not