Recreational Programming

(cphiri.dev)

95 points | by jslakro 5 hours ago

14 comments

  • mrandish 2 hours ago
    The definition perfectly describes how I started out in computers in 1981. Brought home a 4K, 8-bit computer from Radio Shack that I could barely afford and hooked it to the TV. Had never touched a computer before, zero prior knowledge and only had the manual in the box (which was surprisingly good). No one I'd ever met owned a computer at home or used one at work and I'd never really considered that you could make money with computers. I just thought the games seemed fun and the idea of learning about programming seemed cool. Turns out typing in long listings from B&W hobbyist zines and then finding all the typos was a fine way to learn.

    Teaching myself assembler was harder because I had no docs. I was so clueless I actually looked up Motorola in the phone book and called to ask where I could get a manual. The sales rep who answered the phone must have taken pity on me because he mailed the CPU manual for free. I still have the purple reference card and remember the common opcodes by heart (https://colorcomputerarchive.com/repo/Documents/Datasheets/M...)

    The first time I made money was about 18 months later when I wrote a pretty handy disk utility program. Stayed up all Friday night finishing it. Copied onto floppies I sold for $5 at the local user's group Saturday morning. Made $140 and got my first 28 customers. That was enough to get me hooked on making software and selling it. ~40 years, three startups, over a dozen products, hundreds of good people employed, a couple million customers and two PC Magazine Product of the Year awards later - I regret nothing. Started on a lark to learn and have fun. Much was learned, fun was had. Wonderful journey - highly recommend.

    • glimshe 2 hours ago
      This is a great life story. I had similar beginnings as a curious child but no PC Magazine Product of the Year! I'm sure you'll find many people here who also started curious and with no friends who cared or had even seen a computer.

      Is there an equivalent to that today? As soon as a cool technology appears, there are startups selling something within a few weeks. What is the "weird" kid doing today?

      • mrandish 39 minutes ago
        > but no PC Magazine Product of the Year!

        Well, hitting the first home run took about a decade full of base hits and more than a few strike-outs on the way to figuring out what I needed to know to do a tech startup well.

        > What is the "weird" kid doing today?

        Over the last decade I've spent increasing pro bono time trying to 'pay it forward' talking to classes and groups of erstwhile entrepreneurs, so I've heard versions of that question a LOT. It actually took me a couple years before I realized there is no 'right' answer because the right thing for each person differs depending their unique personality, skills, interests, context and life journey.

        The most helpful thing I can share isn't a guess about which target you should aim for but rather some advice about how to approach your journey. First, I hope you want to be a tech entrepreneur because that's the only thing I know about. I have no idea what skills will be in demand to get a high-paying, secure job or how to get promoted. I had to become an entrepreneur because I was terrible at being an employee.

        I never aimed for my guess at what would be "hot" next and I doubt my guess would be right anyway. Every time I found success it was by starting with a real problem some customer actually had. Initially that customer was me or a friend but it doesn't matter. It just has to be a serious enough problem that motivated customers are actively looking for new and better solutions than what exists. Then figure out a way to solve their problem better enough that they'll actually buy it. It doesn't have to be perfect in every way, just better enough in most ways and perfect in at least one way.

        In fact, some of my best products became hits by cleverly solving one part of a problem SUPER well, at the cost of some serious downsides in other areas. Here's a generic example of the pattern that worked: my friends and I all desperately wanted a Zig-Zag Widget but good ones were stupid expensive and the ones ordinary schmoes like us could afford Zigged and Zagged like shit. But we figured out I how to make a Zig-Only Widget we could actually afford. No Zag but it Zigged better than the best and that was a trade-off I was okay with. Turns out other people were too... especially after we worked on adding some 'pseudo-Zag' features that worked around the worst parts of not Zagging. The world's best Zig (but no Zag) at 1/4th the price of even a half-assed Zig-Zag. Not really new technology, just a very clever mixture of the exact right old tech with a little new stuff, some clever UX innovations and cool workflow integrations. First Product of the Year.

        If prototyping dozens of different iterations and trying each one out with real, live problem-having customers and listening empathetically to their constant complaints, ridiculous demands and occasional awesome suggestions sounds like fun, then you may have found your calling. If you just want to write great code for a good paycheck and be left in peace, then, my friend, don't just walk... run the other way. :-) It's ironic because I got into making products because I loved programming but after the first few years, I wasn't writing much code anymore. It was invaluable that I'd learned the business by starting as a self-taught, down-to-the-metal, assembly language, real-time graphics programmer because I was able to identify and hire programmers far more skilled than I'd ever been but after the first million in revenue and 20th employee I personally spent more time writing or reviewing ad copy and legal contracts than code. But that's also invaluable because as the company grew and various fires flared up in every part of our business, I got pretty damn good at doing marketing, sales, PR, finance and even legal stuff myself when necessary. And all that was the best prep ever for being able to run the place when we hit a hundred million in sales and hundreds of employees.

        Now that I recently retired I'm back to writing 8-bit assembler code, except now I have working collection with every 80s Atari, Commodore, Sinclair and Amstrad model ever made.

  • passive 3 hours ago
    I did not like how this handled scrolling, made my navigation feel constrained. Maybe I was supposed to use the keyboard to navigate? It doesn't seem particularly clear.
    • praet 1 hour ago
      Besides arrow keys, hjkl (vim-style) apparently also works for navigation
  • monkmartinez 28 minutes ago
    Thats me!!!! More than 20 years of hobby programming.

    It has never been a better time to be a recreational programmer and I have never been more excited with all the changes! As someone that started making html pages with dial-up, I am just gobsmacked with LLM's! Programming has helped me immensely in my career as a professional firefighter and I hope to have a second act in tech... we'll see!

  • Hydraulix989 1 hour ago
    Too bad it is all over after this year because AI killed it all :(
    • emptybits 39 minutes ago
      One of the first slides clarifies that recreational programming is INTRINSICALLY MOTIVATED. I agree with this definition.

      So if an external factor like LLM prowess “killed it all” for you, I would suggest you may not have been intrinsically motivated in the first place.

      Long live recreational programming. It’s fun and, personally, it’s satisfying building things close to the metal.

    • scronkfinkle 1 hour ago
      I feel you're missing the point. AI has no impact on recreational programming, it's about satisfying your personal curiousities and interests. I'm currently hand rolling a database project in rust because I find writing rust is fun. If you're pausing to ask yourself "what's the use if you can just use AI" then you may not have liked programming intrinsically to begin with, but instead the second order effects it gave you.
      • bemtevi 1 hour ago
        It somewhat does have an impact on it, because a cool part of recreational programming for SOME people is to share their hobby with others, but the value that others will place on that sharing is diminishing with AI. It's just human nature to value something less or find it less impressive when it can easily be made with a machine.
        • argee 1 hour ago
          The internet is increasingly full of the types of people it's pointless sharing anything nascent with anyway. I'm sure a local meetup will see your side project very differently than a subreddit or hacker news (the latter will even send armies of bots to take you down).
        • jmkr 1 hour ago
          This is how I feel, I like to share the cool thing I did and be part of creative spaces with other people, but I feel those spaces have gotten smaller, or changed.
      • kscarlet 1 hour ago
        I was so pissed when I wrote a cool data visualization tool then some people at work immediately assume Claude did it.
    • brandonmenc 1 hour ago
      You can still write a program even though AI can do it.

      You can still build a table from scratch even though you can buy one from Ikea.

      etc etc

    • Muromec 44 minutes ago
      If anything, I'm having more fun with programming since the lying machine was invented
  • xyzzy_apps 2 hours ago
    If painters have a canvas then programmers have a buffer.
  • LastTrain 1 hour ago
    This describes me, or described me - AI has brought on some existential feelings about programming as a hobby for the moment.
  • mintflow 3 hours ago
    Like the points in this presentation, recently I kept thinking it seems I need find the joy of fiddling and learning, not build some thing for money but for fun only.

    Have been used some spare time to learn common lisp and write a manual project, still use web based AI as a quick search method.

    But I managed to learn some common lisp and how to do cffi in common lisp and

    - use gtk4 cffi binding to start a GUI app - write a ghostty cffi to encode/decode terminal escape sequences - write a libssh2 cffi to communicate with a ssh server

    Hope I can build a minimal SSH Terminal using common lisp to keep on experiment and exploration

  • markus_zhang 2 hours ago
    I’m definitely strong type 2, strong in the sense of I don’t care about activities of other types, not in the sense that I’m very good at programming.

    I have a bunch of abandoned repos. I used to want to finish some of them, so perhaps I can show them to some people and get a in-domain job, but recently I realized that it is probably impossible for me to do so. I don’t have success because I don’t chase it. I chase fun and that’s what I should expect, not other things like career switch or monetary rewards.

    • Waterluvian 2 hours ago
      I have so many abandoned repos. Once I see the finish line and I know exactly how they solve the problem, it stops being interesting to me.
  • smnplk 3 hours ago
    Shout out to Tsoding [1]. He is my favorite recreational programmer.

    [1] - https://www.youtube.com/@TsodingDaily

    • ge96 3 hours ago
      I saw another guy I'm trying to find, he's Asian, one of the projects he did was make a map from raw OSM nodes I think. But he used a "niche" language like Zed and worked directly with GL idk was trying to find him. One of those really really good programmers. His videos are in English. The map is like Brooklyn or some part of NY.
    • glouwbug 3 hours ago
      I always champion Bisqwit too
    • bitwize 2 hours ago
      Tsoding's streams are so my jam. Right up there with Bisqwit.
  • vitalnodo 4 hours ago
    Nice presentation, I've been asking myself about exactly this lately. Speaking for myself, I like to build a small copy of some big project, and then I put big hopes on it and start feeling guilty that it's unfinished. It turns into a kind of ban on picking up anything else, while the big one keeps getting put off too. And here there are so many different styles and approaches laid out.
  • bitwize 3 hours ago
    A Proustian "eating the madeleine" moment occurred when I booted my MiSTer into TI-99/4A mode and began typing programs in TI BASIC, redefining characters and drawing little images with them on screen. In the midst of a tech hellscape, I suddenly remembered why I loved programming to begin with.
    • markus_zhang 2 hours ago
      I keep seeing posts about MiSTer on X and HN. Maybe I should get one.
      • platevoltage 1 hour ago
        It's a fun little device, I recommend it. It gives me a break from this world of slop.
  • vandyswa 2 hours ago
    Painful website, tho
  • sublinear 3 hours ago
    > Style 4: The Problem Solver

    I was looking for this one. It's far beyond a mere "style". It breaks the entire premise.

    Being a "problem solver" means you live with the code you write on a daily basis the same way as anyone with any other skill such as woodworking or sewing/knitting.

    For the people who think writing code (without AI) is so hard that they make it a separate "thing" away from their usual life, I have to also wonder whether they can cook their own breakfast.

  • GMoromisato 2 hours ago
    [dead]