Thought Flow

Tag: code

  • Code no more,more code than ever

    The speed of progress in the AI space right now is truly staggering. I don’t really write much code anymore, but instead direct an AI to do it for me.

    It felt odd at first, but now it does not really bother me anymore. I guess solving problems and developing solutions, architecture, design etc. is what I find most interesting anyway, so the code was a means to an end, and this part is now faster than ever to get out the door.

    Besides the stuff I do on the day job, I have been working on two small projects on the side that are ready for the world now:

    FitKeep is a backup and basic analysis tool for fitness data, specifically .fit files right now. It connects with Garmin, and I hope to Coros support soon.

    Is It Warm answers a question I often ask myself. “It sure feels unusually warm today, but is it really?” or perhaps the shorter “is it warm today?”

    Both projects were primarily created for myself. I have no business plan for them, and anyone other than me using them would just be a delightful bonus.

    Besides these new sites, I also recently modernized both Photo Amaze (Python 2.7 to 3.14) and OTB (Create React App to Next.js). I didn’t have the time and energy for this before AI made a lot of the grunt work possible to do, which is really nice.

    It’s difficult to say what the commoditization of code means for the software industry and me personally. I have opinions… but well, I’m not going to share them here, because I have been wrong about the future before, especially when it comes to AI.

  • Lyrics generator talk

    As part of a recent talk I did about my now-quite-old lyrics generator, I used the opportunity to update the code a bit and share a few of the trained models, including the world famous Gene Lyrica One.

    The new “rock” models have similar performance to Gene Lyrica One, but subjectively seemed to be slightly more interesting in some cases. The output is still nonsensical and the same words and sentences are often repeated multiple times, so needless to say I have still not been able to make good progress here.

    During the talk, I was also made aware of another cool project which is much more comprehensive than mine, these lyrics do not exist, so that is worth mentioning here as well.

    And of course, I can’t post something about the lyrics generator without any lyrics. This one came about in multiple steps:

    1. I used the seed text “hello world is a dream” which was the title of the original blog post. The next sentence “happiness is the one” was then generated along with a bunch of subsequent nonsense.
    2. The two sentences fed into the generator again and it produced “the world was my world”.
    3. Repeat this process a few times…

    hello world is a dream
    happiness is the one
    the world was my world
    who would be me

    give me all the other day
    just like a star
    you were high

  • The Painting Dataset

    In my continuing exploration of generative adversarial networks, I found “The Painting Dataset” and wrote a short script to extract the images from it. Only about 1200 paintings seems to be valid, but it is at least something.

  • Open-sourcing the past

    While studying at the University of Oregon, I worked as a teaching assistant in three different computer science courses. One of them was CIS 323 Data Structures Lab but this course was a bit special because it had its own course number and I was teaching it almost on my own.

    It was quite a roller coaster ride1

    Anyway, throughout the course, we implemented some classic and often used data structures and algorithms in various forms. In my opinion, the most notable data structure we implemented was a fairly new balanced tree data structure called the left-leaning red-black tree (LLRB), invented by Robert Sedgewick in 2008. Back in the beginning of 2010, I could not find any publicly available C++ implementation of the LLRB tree 2 which made it fun to use in class because it was very new. This means that there is a possibility that my implementation was the first-ever implementation of the LLRB tree in C++. It is a fun thought but it is not very significant, considering it is only a few lines of code, the delete operation was not implemented and it was never released. Until now.

    I recently went through some old course material and found the code. So I emailed the University of Oregon and the course supervisor and with their permission, here is the code which I might expand with a few more data structures once I have looked through the material. I have refactored the code from the original but it still has the mark of a C++ beginner. It was fun going through it again though.