Blogs / Personal blogs

Gary Bernhardt

destroyallsoftware.com

Memory allocators divide up memory into pieces. But how can an allocator's author allocate memory to track the pieces?

Popular posts
11
Total points
3,264
HN comments
1,333
Rank
#429 personal

Visit destroyallsoftware.com → On Hacker News Sep 2011 – Jan 2019

Software Engineering 10Systems & Performance 3Programming Languages 3Web & Frontend 2Society, Policy & Culture 1Networking & Internet 1

2

Wat

This talk does not represent anyone's actual opinion. For a more serious take on software, try Destroy All Software Screencasts: 10 to 15 minutes every other week, dense with information on advanced topics like Unix, TDD, OO Design, Vim, Ruby, and Git.

4

Functional core, imperative shell (2012)

Purely functional code makes some things easier to understand: because values don't change, you can call functions and know that only their return value matters—they don't change anything outside themselves. But this makes many real-world applications difficult: how do you write to a database, or to the screen? In…

8

Boundaries

This talk is about using simple values (as opposed to complex objects) not just for holding data, but also as the boundaries between components and subsystems. It moves through many topics: functional programming; mutability's relationship to OO; isolated unit testing with and without test doubles; and concurrency, to…

9

Ideology

Some people claim that unit tests make type systems unnecessary: "types are just simple unit tests written for you, and simple unit tests aren't the important ones". Other people claim that type systems make unit tests unnecessary: "dynamic languages only need unit tests because they don't have type systems." What's…

10

A Whole New World

This talk announces the most ambitious software project I've ever undertaken, then considers why its existence is so surprising (and in some cases frustrating) to people.