Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,845 posts.

Any year
21811

The CRAPL: An academic-strength open source license

Generally, academic software is stapled together on a tight deadline; an expert user has to coerce it into running; and it's not pretty code. Academic code is about "proof of concept." These rough edges make academics reluctant to release their software. But, that doesn't mean they shouldn't.

21813

Why Can’t Programmers... Program?

I was incredulous when I read this observation from Reginald Braithwaite: Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can’t write code at all. I repeat: they can’t write any code whatsoever. The author he’s

21814

The Meaning of ‘Hack’

“ The word hack doesn't really have 69 different meanings”, according to MIT hacker Phil Agre. “ In fact, hack has only one meaning, an extremely subtle and profound one which defies articulation. Which connotation is implied by a given use of the word depends in similarly profound ways on the context. Similar remarks…

21815

PEP 3146 – Merging Unladen Swallow into CPython

This PEP proposes the merger of the Unladen Swallow project 3 into CPython’s source tree. Unladen Swallow is an open-source branch of CPython focused on performance. Unladen Swallow is source-compatible with valid Python 2.6.4 applications and C extensi...

21816

NPM & left-pad: Have We Forgotten How To Program?

Intro Okay developers, time to have a serious talk. As you are probably already aware, this week React, Babel, and a bunch of other high-profile packages on NPM broke. The reason they broke is rather astounding: A simple NPM package called left-pad that was a dependency of their code. left-pad, at the time of writing…

21817

Data Race Detector

Data races are among the most common and hardest to debug types of bugs in concurrent systems. A data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write. See the The Go Memory Model for details.

21820

PEP 263 – Defining Python Source Code Encodings

This PEP proposes to introduce a syntax to declare the encoding of a Python source file. The encoding information is then used by the Python parser to interpret the file using the given encoding. Most notably this enhances the interpretation of Unicode ...

21822

Tabs versus Spaces

The last time the tabs-versus-spaces argument flared up in my presence, I wrote this. Gasoline for the fire? Maybe.

21825

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.

21826

cgo is not Go

Some people, when confronted with a problem, think “I know, I’ll use cgo.” Now they have two problems.

21827

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…

21828

Groupware Bad

This piece has gotten a lot of attention over the years. I have heard a lot of people saying that they had been "inspired" by it. I fear that what they meant was that they were inspired by the one pull-quote that people tend to quote from it, and ignored the rest. So if someone has linked you to this page, or if…

21832

Schelling's Model of Segregation

Racial segregation has always been a pernicious social problem in the United States. Many factors have contributed to segregation including prejudice, zoning laws, housing discrimination, and loan discrimination. Although much effort has been extended to desegregate our schools, churches, and neighborhoods, the US…

21833

DWIM

1. adj. Able to guess, sometimes even correctly, the result intended when bogus input was provided.

21834

wheel of reincarnation

[coined in a paper by T.H. Myer and I.E. Sutherland On the Design of Display Processors , Comm. ACM, Vol. 11, no. 6, June 1968)] Term used to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward…

21835

Commandos, Infantry, and Police

As I was driving home, I found myself thinking about a favorite section of the book Accidental Empires, by longtime computer journalist Robert X. Cringely. Originally published in 1993, it’s getting a little long in the tooth, but it still contains a lot of great insights about the personalities

21836

Welcome to Gitea

Gitea is a community fork of the popular self hosted Git service Gogs. We're a growing group of former Gogs users and contributors who found the single maintainer management model of Gogs frustrating and thus decided to make an effort to build a more open and faster development m

21838

How to Report Bugs Effectively

[ English | Português | 简体中文 | Česky | Dansk | Deutsch | Español | Français | Magyar | Italiano | 日本語 | Nederlands | Polski | Русский | 繁體中文 ]

21839

Semantic Compression

An introduction to the idea that code should be approached with a mindset towards compressing it semantically, rather than orienting it around objects.