99th Article Retrospective
I realized that I’m approaching my 100th article on this site. I wanted to take a look back at over the last 18 years of making things and see how I’ve evolved.
As a kid I really loved Legos and building kits. Around highschool, this transitioned into finding DIY projects online that I’d try to reproduce. I didn’t have access to online ordering, so I mostly had to rely on trashed electronics people were throwing away, and whatever I could find at RadioShack. These projects had to overcome the limitations in tools, parts, lack of knowledge, and experience.
I got a digital camera senior year which is when I was able to start recording my primitive efforts. What survives were these experiments playing with high voltage:
Tesla Coil (powered by a transformer from a broken Nintendo neon sign pulled from a GameStop trash)
I also did my first programming in Highschool. I started by making simple math utilities for my Ti83+ graphing calculator, and I eventually progressed to making simple clones of text based adventure games and the first few screens of Final Fantasy I.
My first actual programming classes came in the form of Java which I learned at a summer pre-college course. I stayed up late after my first lesson to write out the algorithm for a tic-tac-toe AI. It was just a bunch of nested IF statements, but in retrospect shows how much I enjoyed learning to code.
Later, when I took a C++ class as an elective, I went out on my own to learn to use the SDL library and made a clone of Missile Command and a Pi themed version of snake.
Since I was getting a degree in electrical engineering, I actually started making some more interesting things in college.
I took as many project focused classes as possible. A teacher even made documenting the project as a website part of the grade. Here are some of the projects that I would eventually write articles about:
FPGA Localization of Robot from its Beeps
I created my first project website to have a way to share the Java applets I made for fun:
I did a few other projects outside of class, but I didn’t have much time for them, and definitely didn’t have time to write them up.
The Modern Era
After I graduated and started working, it took me a couple years before I started writing up my projects again. I’m not sure what triggered it, but at some point I decided to setup a Wordpress site on some janky free host and start documenting the stuff I’d make.
I would eventually convert those articles into the current site as described in Site Upgrade
was pretty much the first of the “modern” projects that I did pretty much set the bar for what I’d be doing going forward.
Since I can make a dataset of my project productivity over time, of course I had to plot it.
There’s a lot of ways I could break this up. For example (click for bigger):
Or how about:
If you notice the days with multiple projects, I was either writing up projects that I had done years ago, or ones that I hadn’t taken the time to document. You can see that this happens less frequently now I’ve gone through my back log, and have blogging software I’m happy with.
Still, you can see my “productivity” go through the roof when I was between jobs.
There was an amazing thrift store near my old apartment in San Francisco. The projects:
were mostly based on inspiration from the stuff I found there.
After that my projects can generally be categorized into one of the following categories:
- Video Game
- Gratuitous IoT Integration
- LED Displays
- Puzzle Boxes
Top 10 Projects
What would a retrospective be without numbered lists?
Here are my personal favorite tech projects. My main criteria here is how fondly I think back on the project, and how much I learned doing it.
I’ve done a lot of projects that boil down to being a twist on an LED display, but this one stands out. It turned out to be such a neat combination of original design elements. It ended up looking great without even getting a ton of polish, and is probably the project I would choose if I had to turn one of these projects into a product.
A Sun Following Chair for my Cat
This project is just such a silly idea, and I love the final video I was able to make. Even though it doesn’t work at all for the “intended use”, it was still really fun to brainstorm and experiment with design ideas.
Building a TIS100 Node for an FPGA
This is probably one of my most technically intensive projects. It’s also complete nonsense unless you know a variety of fairly arcane things about processor design and video games, but it was a ton of fun to do. Paradoxically, I also had to have some fairly disciplined test driven design practices to even get it working at all in the timeline I gave myself.
This is the video game that I put the most effort into. I think the idea has some solid potential, and I think I made a half decent demo.
This one is probably the least technically complicated project on this list. However, I have a lot of sentimental memories of working on this for the woman who became my wife. It also was one of the first projects that I did with enough polish that I could have unqualified pride in it.
Hacking a Yo Digital Microscope
This is the closest to “real life” hacking that I’ve ever achieved. It was like playing a one of the hacking capture the flag games, but in real life. Too bad it’s kind of an embarrassing product to talk about…
Despite being a project for a microcontroller class, this was an extremely multidisciplinary effort. I did machining, circuit design, making a PCB by hand, embedded programming, making a Java frontend, and setting up XBEE wireless connectivity.
This was probably the most effort I put into a project that was pretty much a failure. It was both an ambitious idea, and I approached it without cutting many corners in effort. It goes to show that robotics aren’t really my wheelhouse, and sometimes you can’t code around bad hardware.
While Fog of War Game was a more interesting idea that I put more effort in, this little game is probably the only “finished” game I’ve made. It’s super simple, but I think it’s cute.
I’m not particularly competitive, which may explain why I haven’t won too many contests. However, I am probably unduly proud of winning this school contest. Our design was pretty basic, but just nailing the basic programming so it actually worked was all it took to win.
Aside from my technical projects, I also do a lot of projects with smaller technical components. I feel like I don’t emphasize these as much since they are often less flashy. To make up for this, here are some of my favorites.
This is by far the most elaborate and probably best looking of these projects. It is also the most collaborative since it was a split effort with my future wife.
This was the most fun I’ve ever had at painting. It was a lot of fun getting the basic skills at a new hobby.
While this project does have a technical element, it was secondary to the aesthetic effort. It was putting together a lot of technical pieces I was very comfortable with and making an effort to make a nice looking product while hiding the technical pieces as much as possible.
I’ve considered “mass producing” a few of my projects, but this is the only one that I succeeded at. It was nice to have a set of holiday gifts with a reasonable amount of effort.
I wanted to do something special with my college diploma and it only took me 8 years to finally get around to it. I originally wanted to make this more elaborate, but I think I struck a good balance of making a personal touch without going overboard.
This was just really cute, and a relaxing intro into pixel art.
This was another one that is sort of technical, but the result was more expressive then anything else. In the early days of the internet I had a lot of game designs that leveraged the existing web infrastructure, but this is the only one I actually implemented.
This was a simple but effective effort. For using found material, it’s rewarding to make something that looks decent with little effort.
One of my few projects with no technical component. Was fun to reproduce a famous piece of art.
I’ve done a lot of these puzzle gifts, but this was probably the most abstract one. It was very mixed media and still looked interesting separated from the puzzle component.
While I keep doing these projects for my own satisfaction, I’d be lying if I didn’t admit I like it when they get some attention.
I don’t serve ads at all, but I’ve had Google Analytics on my site for most of its iterations out of a vain desire to see if anyone reads these articles.
In addition, I created a Google Search Console account to see how my Google Search rank is doing.
In the moves between hosts the site did suffer some significant bit rot, but I spent some time cleaning up the current iteration, which has been stably hosted and updated for a couple years. I actually get a decent amount of search traffic these days. It’s enough that my AWS hosting costs are over a dollar a month!
Sources of traffics
I don’t have a regular venue for advertising my articles, so most of the time new articles don’t get much attention. Occasionally, I’ll try to get them posted somewhere people will notice.
For some examples here’s my last two year’s worth of weekly traffic:
The jump you see in February 2020 when the game publisher Zachtronics tweeted a link to my TIS100 CPU.
The large sustained increase in traffic starting in September 2021 was from Google directing people to:
Printing Custom Magic Card Proxies With MPC
I never publicized this anywhere, so I was extremely surprised when it started dwarfing all other traffic my site’s ever seen a couple months after I uploaded it. It turns out that shortly after I wrote the article, the project I was using was shut down by the company that owns the game, Wizards of the Coast. Most of the traffic to my site was misguided attempts to see if someone else had started the project back up. I hope my explanation of how it all worked is still useful, even if it’s out of date.
Other then that, pretty much all my traffic comes from the link curation site https://hackaday.com/.
They’re a tech DIY blog that mostly publishes user submitted projects with some articles sprinkled in. I’ll usually submit my project there if it’s high enough effort and has an interesting technical angle.
So far I’ve had the following projects covered:
I’ll occasionally post my projects on reddit or on forums related to the project. This is more to share with people who I’d think would get the most out of it, rather then to get any traffic.
It was a lot of fun to look back at the projects on this site. I’ve invested a pretty huge amount of time into all of these projects, but it’s been fun for the most part. I now have this pretty unique view into how my life has changed over the years.
It was a special treat to see the amazing projects I made for and with my wife.