šŸ“ ~/Download/tmp is where the fun's at

Replying to scammers, reverse-engineering governmental websites, playing chess on a music device.

Fabio Barbero published on
5 min, 999 words

Categories: Random

Where My Side Projects Go: ~/Download/tmp

Yes, most of my side projects live in a folder named tmp inside my Downloads directory. Now you might think: This is a terrible idea. And you’d be right. The folder’s name and location doesn't follow the best naming patterns, and it could easily be deleted by accident.

Yet, this folder holds some of my proudest work: code to determine the least original restaurant name in Europe (it’s "Taj Mahal" with "La Dolce Vita" for Italian restaurants), a script to track which flatmates are home based on devices connected to the Wifi (rarely used), and the discovery that Europe’s largest advertising company runs a platform dedicated to censorship in Asia. There’s also code that automatically replies to spam emails (follow up of this blog post), two draft startup ideas, and more.

Some of this code even helped me find vulnerabilities on platforms, earning me free credits and a lifetime subscription!

So why do all my side projects end up here?

Every project starts with a silly idea, so silly that it usually lingers in my mind until I finally decide to entertain it with code. My first thought is always: "Yeah, that’s not going to work" or "I’m not spending time on that."

For example, I once realized my insanely cheap (€12/year) public transport subscription would expire on my 25th birthday. A bummer1. A voice in my head said, "I paid for the whole network, so I should use the whole network." The idea stuck. Days later, I wondered how to solve this mathematically and remembered a similar problem I’d attempted before: creating a cycling itinerary and playlist to match songs from Anomalie’s Metropole 1 and 2 albums with Montreal’s streets. That problem turned out to be really hard, so I abandoned it (also in tmp). But writing some code that covers all the lines of a public transport system in the least amount of time seems slightly easier. And so I decided to start sketching out some code.

Now, this could go nowhere. I didn’t want to clutter my organized directories with code I’d never use again. So I opened a folder I (should) clean often: ~/Downloads. Yes, it’s illogical, but I’m used to downloading and running code there. To differentiate it, I tucked it into a subfolder: tmp.

Organizing files is hard. Hierarchical structures require knowing a project’s end goal, which I rarely do. Overthinking organization has stopped me from starting more often than not.

The project I mentioned grew into a fully functional website, where anyone can upload a GTFS file from a transit operator and find a route to ride every line—all in the browser. I tested it myself and rode every tram in Brussels in a single day!


What’s in This Folder?

A lot of stuff. Most of which are failed attempts! Some of it might be worth having its own blogpost. Or maybe not. Most of the time these projects lack a storytelling aspect for me to truly want to share them. During my trip with all trams in Brussels, I realised how pointless the project actually was, and was unable to give it some meaning or good storytelling, so I decided to scrap it. It was still a nice trip through Brussels tho!

Here’s a more complete list of projects:


A Small (Slightly Unrelated) Rant

Like many, I have a love-hate relationship with technology. On the one hand, it's great. It allows you to retrieve information at an insane speed, which can be very useful for learning new skills, and can also be a fun little game. On the other hand, despite technology being generally developed to "allow humans to spend more time on the things they love", a large number of humans seem to instead spend a lot of time with technology, and not being too happy about it.

Having spent a big chunk of my life interacting with screens, I feel the desire to detach myself from them, and spend more time outside, moving my body, and building things in person with other humans and communities. I consciously pivoted most of my hobbies to be off-screen, and wish to do so more and more.

However, despite the idea of spending my whole life coding from 9 to 5 haunting me, coding can still be a lot of fun. When I want to. Or when I felt the pressure to be on my computer by peers and colleagues, and I really wanted to procrastinate.

In my ongoing process of more strongly defining my work ethic, and only working on things that fulfil me and align with my values, I have decided to give a little space to some of the projects I have worked on in the past. My hope is that these stories will amuse you, and inspire you to build whatever quirky projects you have in mind.


Conclusion

If you are like me and often overthink about how to properly structure and clean up before starting a project (which you should absolutely do at some point), try reminding yourself that fun projects should be fun.

And yes, one day I'll move the finished projects to a proper folder, and archive the unfinished ones. But for now, I do enjoy this little chaos. Given that my old laptop is also likely to die soon, I'm leaving cleaning up for when I'll get a new "fresh start".

2

I contacted them about potential vulnerabilities and asked for comment on the platform. I never heard back.

1

Yes, Brussels offers insanely cheap public transport if you’re under 25.