piss

entries

  1. So Long, Prog21
    Programming in the 21st Century
  2. Writing Video Games in a Functional Style
    Programming in the 21st Century
  3. Progress Bars are Surprisingly Difficult
    Programming in the 21st Century

So Long, Prog21

Programming in the 21st Century

source

<p>I always intended "Programming in the 21st Century" to have a limited run. I knew since the <a href="http://prog21.dadgum.com/56.html">Recovering Programmer</a> entry from January 1, 2010, that I needed to end it. It just took a while.</p><p>And now, an explanation.</p><p>I started this blog to talk about issues tangentially related to programming, about soft topics like creativity and inspiration and how code is a medium for implementing creative visions. Instead I worked through more technical topics that I'd been kicking around over the years. That was fun! <a href="http://prog21.dadgum.com/23.html">Purely Functional Retrogames</a> is something I would have loved to read in 1998. More than once I've googled around and ended up back at one of my essays.</p><p>As I started shifting gears and getting back toward what I originally wanted to do, there was one thing that kept bothering me: the word <i>programming</i> in the title.</p><p>I don't think of myself as a programmer. I write code, and I often enjoy it when I do, but that term <i>programmer</i> is both limiting and distracting. I don't want to program for its own sake, not being interested in the overall experience of what I'm creating. If I start thinking too much about programming as a distinct entity then I lose sight of that. Now that I've exhausted what I wanted to write about, I can clear those topics out of my head and focus more on using technology to make fun things.</p><p>Thanks for reading!</p><p>It's hard to sum up 200+ articles, but here's a start. This is not even close to a full index. See the <a href="http://prog21.dadgum.com/archives.html">archives</a> if you want everything. (There are some <a href="http://prog21.dadgum.com/32.html">odd</a> bits in there.)</p><h2>widely linked</h2><ul> <li><a href="http://prog21.dadgum.com/116.html">Things That Turbo Pascal is Smaller Than</a></li> <li><a href="http://prog21.dadgum.com/154.html">Do You Really Want to be Doing This When You're 50?</a></li> <li><a href="http://prog21.dadgum.com/177.html">Organizational Skills Beat Algorithmic Wizardry</a></li> <li><a href="http://prog21.dadgum.com/203.html">Retiring Python as a Teaching Language</a></li> <li><a href="http://prog21.dadgum.com/210.html">Computer Science Courses that Don't Exist, But Should</a></li> </ul><h2>popular</h2><ul> <li><a href="http://prog21.dadgum.com/19.html">Five Memorable Books About Programming</a></li> <li><a href="http://prog21.dadgum.com/29.html">A Spellchecker Used to Be a Major Feat of Software Engineering</a></li> <li><a href="http://prog21.dadgum.com/30.html">Want to Write a Compiler? Just Read These Two Papers.</a></li> <li><a href="http://prog21.dadgum.com/40.html">On Being Sufficiently Smart</a></li> <li><a href="http://prog21.dadgum.com/61.html">Optimizing for Fan Noise</a></li> <li><a href="http://prog21.dadgum.com/74.html">Free Your Technical Aesthetic from the 1970s</a></li> <li><a href="http://prog21.dadgum.com/80.html">Advice to Aimless, Excited Programmers</a></li> <li><a href="http://prog21.dadgum.com/87.html">Write Code Like You Just Learned How to Program</a></li> <li><a href="http://prog21.dadgum.com/93.html">Don't Distract New Programmers with OOP</a></li> <li><a href="http://prog21.dadgum.com/123.html">Recovering From a Computer Science Education</a></li> <li><a href="http://prog21.dadgum.com/128.html">Don't Fall in Love With Your Technology</a></li> <li><a href="http://prog21.dadgum.com/129.html">A Complete Understanding is No Longer Possible</a></li> <li><a href="http://prog21.dadgum.com/130.html">Solving the Wrong Problem</a></li> <li><a href="http://prog21.dadgum.com/132.html">This is Why You Spent All that Time Learning to Program</a></li> <li><a href="http://prog21.dadgum.com/139.html">We Who Value Simplicity Have Built Incomprehensible Machines</a></li> <li><a href="http://prog21.dadgum.com/142.html">Your Coding Philosophies are Irrelevant</a></li> <li><a href="http://prog21.dadgum.com/143.html">The Silent Majority of Experts</a></li> <li><a href="http://prog21.dadgum.com/149.html">Hopefully More Controversial Programming Opinions</a></li> <li><a href="http://prog21.dadgum.com/179.html">How much memory does malloc(0) allocate?</a></li> </ul><h2>on creativity</h2><ul> <li><a href="http://prog21.dadgum.com/46.html">The Pure Tech Side is the Dark Side</a></li> <li><a href="http://prog21.dadgum.com/58.html">Flickr as a Business Simulator</a></li> <li><a href="http://prog21.dadgum.com/69.html">How to Think Like a Pioneer</a></li> <li><a href="http://prog21.dadgum.com/72.html">What Do People Like?</a></li> <li><a href="http://prog21.dadgum.com/89.html">Accidental Innovation, Part 1</a></li> <li><a href="http://prog21.dadgum.com/94.html"> If You're Not Gonna Use It, Why Are You Building It?</a></li> <li><a href="http://prog21.dadgum.com/107.html">It's Like That Because It Has Always Been Like That</a></li> <li><a href="http://prog21.dadgum.com/164.html">Trapped by Exposure to Pre-Existing Ideas</a></li> <li><a href="http://prog21.dadgum.com/193.html">Get Good at Idea Generation</a></li> <li><a href="http://prog21.dadgum.com/197.html">You Can't Sit on the Sidelines and Become a Philosopher</a></li> <li><a href="http://prog21.dadgum.com/202.html">The Software Developer's Sketchbook</a></li> <li><a href="http://prog21.dadgum.com/199.html">Design is Expensive</a></li> <li><a href="http://prog21.dadgum.com/208.html">Why Doesn't Creativity Matter in Tech Recruiting?</a></li> </ul><h2>others that I like</h2><ul> <li><a href="http://prog21.dadgum.com/8.html">Deriving Forth</a></li> <li><a href="http://prog21.dadgum.com/50.html">Tales of a Former Disassembly Addict</a></li> <li><a href="http://prog21.dadgum.com/66.html">Living Inside Your Own Black Box</a></li> <li><a href="http://prog21.dadgum.com/71.html">Tricky When You Least Expect It</a></li> <li><a href="http://prog21.dadgum.com/137.html">The Most Important Decisions are Non-Technical</a></li> <li><a href="http://prog21.dadgum.com/145.html">Things to Optimize Besides Speed and Memory</a></li> <li><a href="http://prog21.dadgum.com/148.html">All that Stand Between You and a Successful Project are 500 Experiments</a></li> <li><a href="http://prog21.dadgum.com/159.html">The UNIX Philosophy and a Fear of Pixels</a></li> <li><a href="http://prog21.dadgum.com/160.html">Dangling by a Trivial Feature</a></li> <li><a href="http://prog21.dadgum.com/161.html">Documenting the Undocumentable</a></li> <li><a href="http://prog21.dadgum.com/190.html">You Don't Want to Think Like a Programmer</a></li> <li><a href="http://prog21.dadgum.com/194.html">You Don't Read Code, You Explore It</a></li> <li><a href="http://prog21.dadgum.com/209.html">If You Haven't Done It Before, All Bets Are Off</a></li> <li><a href="http://prog21.dadgum.com/212.html">What Can You Put in a Refrigerator?</a></li> <li><a href="http://prog21.dadgum.com/214.html">The Same User Interface Mistakes Over and Over</a></li> <li><a href="http://prog21.dadgum.com/221.html">Fun vs. Computer Science</a></li> </ul><h2>Erlang</h2><ul> <li><a href="http://prog21.dadgum.com/1.html">A Deeper Look at Tail Recursion in Erlang</a></li> <li><a href="http://prog21.dadgum.com/22.html">My Road to Erlang</a></li> <li><a href="http://prog21.dadgum.com/16.html">Garbage Collection in Erlang</a></li> <li><a href="http://prog21.dadgum.com/43.html">How to Crash Erlang</a></li> <li><a href="http://prog21.dadgum.com/64.html">Eleven Years of Erlang</a></li> <li><a href="http://prog21.dadgum.com/70.html">A Ramble Through Erlang IO Lists</a></li> <li><a href="http://prog21.dadgum.com/81.html">A Concurrent Language for Non-Concurrent Software</a></li> <li><a href="http://prog21.dadgum.com/127.html">A Peek Inside the Erlang Compiler</a></li> <li><a href="http://prog21.dadgum.com/220.html">Evolution of an Erlang Style</a></li> </ul><h2>retro</h2><ul> <li><a href="http://prog21.dadgum.com/45.html">A Personal History of Compilation Speed</a></li> <li><a href="http://prog21.dadgum.com/52.html">Slow Languages Battle Across Time</a></li> <li><a href="http://prog21.dadgum.com/68.html">How Much Processing Power Does it Take to be Fast?</a></li> <li><a href="http://prog21.dadgum.com/104.html">8-Bit Scheme: A Revisionist History</a></li> <li><a href="http://prog21.dadgum.com/173.html">Stumbling Into the Cold Expanse of Real Programming</a></li> <li><a href="http://prog21.dadgum.com/181.html">Why Do Dedicated Game Consoles Exist?</a></li> <li><a href="http://prog21.dadgum.com/198.html">Lost Lessons from 8-Bit BASIC</a></li> <li><a href="http://prog21.dadgum.com/201.html">Programming Modern Systems Like It Was 1984</a></li> </ul><p>Also see the <a href="http://prog21.dadgum.com/228.html">previous entry</a> for all of the functional programming articles.</p><p><a href="http://dadgum.com/james/performance.html">Programming as if Performance Mattered</a> is something I wrote in 2004 which used to be linked from every prog21 entry.</p>