D

DodgyCoder

dodgycoder.net · Personal blog · on HN since 2011

DodgyCoder is a blog on software development and other topics, with programmer interviews, coding lore, and programming jokes.

What HN saysHN links it for classic programming stories, such as game developers' memory ballast trick, Yoda conditions, and interviews with well-known programmers.
27HN people shared it
17linked it in comments
64stories submitted
1.2Kstory points
8 months agolast shared
2011people per year2026

Most-shared posts

  1. 1
    Coding tricks of game developers
    11 people · 245 points · first shared 2012 · 65 comments on HN
  2. 2
    Q&A With Nine Great Programmers
    5 people · 84 points · first shared 2012 · 21 comments on HN
  3. 3
    Google's fiber leeching caper
    3 people · 167 points · first shared 2013 · 100 comments on HN
  4. 4
    Old school developers - achieving a lot with little
    3 people · 82 points · first shared 2012 · 40 comments on HN
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
    Why was .NET called .NET?
    1 people · 92 points · first shared 2012 · 72 comments on HN
  11. 11
  12. 12
    The "Spanish Theory" of software project management
    1 people · 71 points · first shared 2012 · 51 comments on HN
  13. 13
    Programming Trends on StackOverflow
    1 people · 58 points · first shared 2013 · 58 comments on HN
  14. 14
  15. 15
    Coding tricks of game developers
    1 people · 7 points · first shared 2012 · discussion on HN

What HN people wrote when they linked it

damian2000 · 2026-01-15
https://www.dodgycoder.net/ - a blog about software development (and other interesting things to me)
pjmlp · 2022-06-30
> These days I live in NetBeans. It does everything I want, very cleanly simply and efficiently. It’s the nicest environment I’ve ever lived in. https://www.dodgycoder.net/2012/09/q-with-nine-great-programmers.html It wasn't XEmacs, but rahter the genesis of Emacs itself (I got that wrong). https://www.youtube.com/watch?v=IT__Nrr3PNI&t=1642s https://en.wikipedia.org/wiki/Gosling_Emacs Got to love all the St. Thomas requests on developer forums.
DandyDev · 2018-02-25
Obligatory link to this classic blog post explaining heisenbug and many other classic programming puns: http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.ht…
ryangittins · 2015-07-16
Hah, this is great! It reminds me of the classic static char buffer[1024*1024*2]; story from a few years back. http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm…
michaelx386 · 2015-07-13
I love this ballast file idea. It reminds me of a programming story by Noel Llopis[0] where a game developer was working with a strict memory limit and placed static char buffer[1024 * 1024 * 2]; in the code as an insurance policy[1]: [0] http://gamesfromwithin.com [1] http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm…
thefreeman · 2014-05-21
Just a follow up to your 95 percentile rule, there is a famous story of Google exploiting this (in the early days before they were flush with money) in order to transfer their data to a new data center on the opposite coast. http://www.dodgycoder.net/2013/02/googles-fiber-leeching-caper.html
imperio59 · 2013-02-19
Some of my personal favorites: http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.ht… "Pokemon exception catching" (Gotta catch 'em all!) And in OOP, Spaghetti with meatballs. http://en.wikipedia.org/wiki/Spaghetti_code#Spaghetti_with_meatballs
SethTro · 2021-03-25
Same idea as this game development legend https://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.ht… > he had put aside those two megabytes of memory early in the development cycle. He knew from experience that it was always impossible to cut content down to memory budgets, and that many projects had come close to failing because of it. So now, as a regular practice, he always put aside a nice block of memory to free up when it's really needed.
puzzle · 2018-07-17
I wasn't around at the time, but I suspect it's mainly because the first datacenters were on the West Coast. See e.g. the story at http://www.dodgycoder.net/2013/02/googles-fiber-leeching-caper.html
dahart · 2018-02-07
Oh yeah, this is very common in game development, and I'm pretty sure in other embedded dev too. There's a famous story about a game programmer who saved an entire production when it started crashing something like two weeks before shipping by commenting one line of code. Turned out the line of code was a malloc (of like a megabyte) that he'd added a year earlier, in anticipation of the game running out of memory. My details are probably wrong, but I'm pretty sure I've seen this story linked on HN. I was in game dev for a decade, and I saw this happen where I worked, the studio technical director adopted the practice of saving some space, because we always started running out of memory near the deadline as artists threw in all their content. *edit: http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm…
douche · 2016-05-11
They need a char-sized number, and memory used to be a tightly-budgeted commodity. Reminds me of this story of a game developer who magically got their game under the limit at the 11th hour http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm…
smcl · 2015-03-03
This hooks nicely back into the world of software development, and the anecdote about the senior game dev deleting a secret static 1MB buffer when their team hit their memory ceiling - http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm…
GotAnyMegadeth · 2015-01-09
These seem to come from here [0] which has more and some other general tips. [0] http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm…
hasenj · 2012-09-23
This article was posted here a while ago: http://www.dodgycoder.net/2012/07/old-school-developers-achieving-lot.… It mentions that Ken Thompson "starts his projects by designing the data structures and then works bottom up". Adapting this approach solved several problems I was having during development.
pagekalisedown · 2012-04-09
3: I've rarely seen "Yoda conditions" [1] in the wild. I think it's because most compilers will output a warning when doing an assignment inside an if statement. [1] http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.ht…
dalke · 2015-06-01
Umm, we have lots of lore in this field. "The Graphing Calculator Story" at Apple, "The Story of Mel", the entire site folklore.org, stories about Gates and the early days of Microsoft, the "IBM visiting Gary Kildall" story, the Ariane V exception, Grace Hopper and the moth stuck in a relay (and her nanosecond wire), the "Steve Jobs at Xerox" story, Stallman's description of why he started the GNU project, Torvald's first posting about Linux, the Torvalds/Tannenbaum exchange, the rumors about the CIA wanting popcount on the Cray and about the backdoor in DES, "Better is Worse", "Reflections on Trusting Trust", "Always mount a scratch monkey", anecdote collections like http://www.dodgycoder.net/2012/02/coding-tricks-of-game-developers.htm… . http://www.filfre.net/ is going through the history of ludic games, including discussion of the lore associated with specific games. There are stories about IBM's "Black Team" ("more than one programmer was reduced to tears while having his code evaluated by the Black Team.") Tracy Kidder's "The Soul of a New Machine". Robert X. Cringely's "Accidental Empires: How the Boys of Silicon Valley Make Their Millions, Battle Foreign Competition, and Still Can't Get a Date" shouldn't be read as a history book but a collection of lore about Silicon Valley. Also, I picked "engineers" and "plumbers" to show real-world examples of non-universal elements. "Architect" is another non-universal. Regarding naval architects, there's Bushnell's Turtle,…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close