Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 7,298 posts.

Any year
6392

Docs as code (2017)

author, Eric Holscher& the Write the Docs community,. Documentation as Code ( Docs as Code) refers to a philosophy that you should be writing documentation with the same tools as code: Issue Tr...

6396

Locality of Behaviour (2020)

Carson Gross explores the Locality of Behaviour (LoB) principle, which emphasizes making the behavior of code units obvious on inspection to enhance maintainability. He discusses the tradeoffs between LoB and other software design principles like DRY and SoC, offering insights on balancing clarity, abstraction, and…

6397

JEP 325: Switch Expressions

Extend the switch statement so that it can be used as either a statement or an expression, and that both forms can use either a "traditional" or "simplified" scoping and control flow behavior. These changes will simplify everyday coding, and also prepare the way for the use of pattern matching (JEP 305) in switch …

6398

Weaponizing Dependabot: Pwn Request at its finest

Your trusty Dependabot (and other GitHub bots) might be an unwitting accomplice. Through "Confused Deputy" attacks, they can be tricked into merging malicious code. This doesn't stop here. It can escalate to full command injection via crafted branch names and even bypass branch protection rules. Plus, we disclose two…

6401

Gotk3: GTK3 the Go way

Today marks the first release of gotk3, Conformal’s own GTK3 bindings for Go (available on Github here ). These bindings were developed out of a frustration with other GTK bindings for Go either using ancient versions of GTK, not handling memory in a way a Go developer would expect, or simply not working at all on our…

6418

Ignoring bulk change commits with Git blame (2019)

A long-standing objection to making bulk changes to code using automated tools (e.g. to conform to a given code style) is that it clutters the output of git blame. With git 2.23, this does not have to be the case anymore! In this post I will start by explaining the value of git blame and […]