DEV Community

Cover image for What's the most fun you've ever had coding?

What's the most fun you've ever had coding?

Ben Halpern on January 27, 2022

Give this some thought and let us know!

Collapse
 
ben profile image
Ben Halpern

Here's what I can come up with:

As an entrepreneur, there are no shortage of fun programming moments as it's often the result of a lot of inspiration which goes beyond the activity itself.

In the early days of what became DEV, and then grew into Forem, I spent a lot of time thinking and then would code pretty quickly.

DEV was launched the day after I typed rails new. Rails came to fame from the famous "Building a Blog System in 15 Minutes" demo, so it sort of tracks that the beginnings can come together pretty quickly. It was the clarity on how it might be useful and grow that was more inspirational than the coding task, but putting it together was exciting.

Later on, features like comments, reactions, etc. were generally stuff I built in about a day. I actually built reactions while hanging out with @triketora in a little impromptu hack session when we lived in NYC. I definitely remember this more than anyone else, but I definitely felt like I wasn't really engaging in the conversation because I really felt on to something. 😅

At times I've overdone it on the inspiration-driven coding and it's not as useful as it once was for me, but it is one hell of a time.

Collapse
 
ben profile image
Ben Halpern

Current Forem team members and contributors over the years: "Yeah, I can tell a lot of this was built quickly, isn't always so much fun years later".

Collapse
 
cerchie profile image
Lucia Cerchie • Edited

Whenever I get to pair with someone on something really challenging, it's super fun! Having someone else to bounce ideas off of and help out is a great experience.

Collapse
 
ben profile image
Ben Halpern

Ohh good one. It is often the human element that makes the difference. For me it can go in either direction: The joy of doing something with the right people or the joy of doing something solo in the right way where the solo part is special.

I've engaged in just a bit of mob programming and it was a lot of fun.

Collapse
 
cerchie profile image
Lucia Cerchie

Yes mob programming is so much fun! I think you're right about doing something solo too -- it depends. :)

Thread Thread
 
grocker42 profile image
Grocker

What is mob programming ?

Thread Thread
 
cerchie profile image
Lucia Cerchie

Here's a strict definition -- usually when I use it I just mean pairing with more than one person agilealliance.org/glossary/mob-pro...

Collapse
 
ziker22 profile image
Zikitel22

I remember one time.
Greenfield project first beta version goes to production we are about to release it when somebody realise that we totally forgot about 404 page.
We pinged designers but it was close to midnight and they werent considered as critical members to do release so they were offline and probably drunk :)

All frontend engineers sat infront of the one computer for an hour and put together 404 page with faces of designers with totally crazy animations. I mean that thing had like 30 moving parts and would give you seizure.
Then we got drunk as well

Collapse
 
igor_bykov profile image
Igor Bykov • Edited

I started to learn PHP already having some experience in JS. So, do you know that thing when you're that lazy that instead of really learning a new programming language, you just try to extrapolate as much as you can from your previous experience? Here we go!

The second day of learning PHP I found out that linting was a somewhat complicated topic. Also, there was a test framework but there was not a test runner, really. So, you'd need to go & execute your tests.

So, without much evaluation I found something that was positioning itself as a "task runner for PHP".

After playing around with it for a while I found it super useful but there were some limitations. For instance, you could observe changes to only 1 file/folder at a time & you was supposed to be managing the entire process. For instance, the thing would run the linting command & try to output the file into a folder, but if there's a file with the same name there already - it will fail (why to output linted files into the build folder? Well, I don't know really! Because you need a build step? The point is that in-place linting surely wasn't an option because it was producing the code ugly AF 😂).

So, after observing all that I said "not on my duty!" and extended the task runner with my own code!
Basically, I made it observing the entire src & built a light abstraction to be able to register callbacks for adding new functionality without writing much code.

That was completely pointless yet amazing. Felt like re-building webpack. Really badly. In a language you don't know. Well, actually it was exactly this!

I use this thing until now since it's integrated in a couple of projects that are still alive.
It still runs my tests automatically for me on each file change. I even taught it to pack files inside my dist into a gzip (luckily it was just a question of invoking a task runner function).

Each time I run it, I hope it still works (I didn't touched its code for 3+ years) since I will surely not be capable to fix it if it doesn't.

Collapse
 
nicolasini profile image
Nico S___

It was many years ago, during a company Hackathon.
We developed a Chatbot that integrated HipChat with our CI/CD system to tell us the state of builds. It could also tell you what builds were deployed to what environments.
A clear case of "scratch your own itch".
This is back in 2015, very early adopters of the chatbot hype. So tooling and tutorials were very slim. It was a great coding challenge for the group.
Needless to say, we won the hackathon 💪🏻

Collapse
 
andrewbaisden profile image
Andrew Baisden

Greenfield projects give me this most fun. Anything that lets me use my preferred technical stack.

Collapse
 
jeremyf profile image
Jeremy Friesen

Perhaps not the most fun, but perhaps it was.

I had to migrate a site from an in-house CMS backed by an Oracle database to a CMS built on Rails. I tried to get a data dump from the Oracle DBAs, but alas, they couldn't help me. So I curled the site. I then used Hpricot (a precursor to Nokogiri) to parse the HTML and grab the (inner) nodes that I wanted for the new pages.

We knew the client was particular and exacting, so I built the outer elements exactly like the old site. I then wired up our CMS to render the inner nodes. I then curled our CMS to get the pages.

I ran a character by character diff against each page on the two different sites. They were the same. The client came back and said things were broke…so I pointed them to the old site where they were broke. Then they fixed the new site and while not happy, at least accepted that we had completed a high fidelity migration.

Around the same time, we had another client who said "This thing has been broken for months" or some such hyperbole. So I wrote a shell script that would exit 1 if broken and 0 if not broken. I then used the almighty git bisect to test when exactly we had introduced the bug. It was 1 day prior to their complaint. I equipped my director with that information, and he pressed back. That press back helped move the relationship from transactional to partnership.

Collapse
 
kspeakman profile image
Kasey Speakman

For me it was creating a work queue with simultaneous workers and dependencies between work items. It processed CSV files, put the data in query-able tables. Some tables depended on data from other tables. And the data was not necessarily clean so I had to validate it and store the validation problems. It was interesting to explore the multi-threading aspect, solve queue dependency ordering, and other challenges. At one point I was able to completely saturate our database's CPU and remember feeling proud of that. (Although I think that turned out to be something I fixed later.)

Collapse
 
pengeszikra profile image
Peter Vivo

When I meet Multi Line Task javascript kata in code.wars (and solved)

Description:
You need to write a function f that returns the string Hello, world!.

Requirement: Every line must have at most 1 character, and total number of lines must be less than 145

[
,
m
,
,
b
,
,
H
,
,
l
,
,
o
,
,
V
,
,
S
,
,
w
,
,
F
]
=
// .... + few more lines
Enter fullscreen mode Exit fullscreen mode
Collapse
 
blag profile image
Alvaro (Blag) Tejada Galindo

Well…not sure it was fun 🤨 but when I was learning Miranda…my mind went through a lot of stages…curiosity, anger, frustration, denial, happiness and finally rest…haven’t code in Miranda since that time 😅

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao • Edited

Playing with Sonic Pi while I have little to no musical talent and getting paid teaching kids programming through this or Minecraft using the raspberry pi.

Collapse
 
cchana profile image
Charanjit Chana • Edited

It’s been a decade but I still think fondly of 10 day period I spent on a project. To this day, still the most fun I had coding on any project and in any team I've ever worked in.

I joined forces with another member of my team to refactor a project that has only just been completed. Our character count at the end was -10,000 characters which is insane when I think back to how small the project was. Every commit was celebrated.

Collapse
 
sjustesen profile image
Simon Justesen

I'm having fun with most projects :P But one that stands out in my memory was a webshop I wrote back in the early 2000s. A friend and I had just founded our first web company, and we were approached by a guy who ran a small shop selling carpet cleaning solutions. He needed a webshop. Back then, there wasn't really anything like Shopify, etc. so my younger self was stupid enough to think that it would be an easy task to build something from scratch. Oh dear...

Armed with a little knowledge about PHP and Javascript I managed to hack something together in few months. It might sound easy, it wasn't - I was ready to throw in the towel multiple times, but then I would have wasted a lot of time and have nothing to show.

During that time I was constantly in crunch mode. I have vague memories from a summer holiday, but most of the time was spent coding during that summer. I got it done, and the webshop I built was, much to my surprise, in operation until around 2016, where I decided to stop supporting it. At the time it had been running for more than 10 years, which is like an eternity in the IT business.

Since then I've written online signage designers and label designers for the .NET platform, which also were very fun projects, when I think of it.

The most fun project right now is probably my attempt to make an online collaboration platform for the Open Source desktop publishing app Scribus. The project is still very much in it's infancy and I expect it to take a least a year, before it's in a usable state. I haven't announced anything publicly, as I have a terrible track record of abandoning projects, so I don't want to get peoples hopes up until there's something to look at. But I'm having loads of fun, as I venture into uncharted land.

Collapse
 
valeriavg profile image
Valeria

There was a lot of projects that were challenging or fulfilling, but the most fun was to train a neural network model. It was supposed to determine makeup brand and color from a picture and it turned out pretty horrible 😁, but seeing chaotic numbers organise themselves into a sophisticated math model for the first time was pure fun. I didn't do any ML since then, and if I would I'd definitely go with Tensorflow or sorts, but building that project from ground up taught me a lot and made feature projects way more fun as it showed me that one can achieve incredible things by trying over and over and learning from mistakes

Collapse
 
janmpeterka profile image
Jan Peterka

Not sure about most fun, but some moments/aspects stand out:

Definitely coding with someone. I'm currently helping my friend (re)build webapp (moving from spaghetti PHP to nice Flask app, adding new features on the way), I'm more in "mentoring" role as I have experience with this framework. I enjoy when we are together thinking about concepts, and then making them into code. Also I enjoy when I'm looking into some deeper problem - not building views or controllers, but some handler or helper or mixin or something.

When I have clear vision in my mind, and just see it become "real".

Recently when I started using Turbo (thanks to turbo-flask). It's so cool! And Stimulus.js too.

Collapse
 
mellen profile image
Matt Ellen • Edited

My funnest time was when I was a kid. I had a friend who would come up with ideas and do artwork and I would implement the idea in VB3.

So we had things like

  • Random Insult Generator
  • One Armed Bandit
  • Billy and Bob's Big Hash Hunt

And a bunch of others that I can no longer remember. We even had a geocities site where people could download the executables.

It's why I'm a programmer today.

Collapse
 
moopet profile image
Ben Sinclair

The first year my university staged a 24-hour coding competition.

Teams arrived, drew challenges out of a hat and had to be back in the room 24-hours later with a solution.

My team consisted of my housemates, who were all on roughly computer-related courses (mostly engineers).

We decided to start by going for a curry and discussing our approach. It was a good curry. We continued discussing in the pub.

Programming when you've just woken up with a hangover is never good, is it? We thought carefully about that and decided not to go to sleep in the first place and just crowd around one PC like that terrible scene from NCIS or wherever, and take turns sitting in the driving seat.

We won our solution, in the end. To be transparent, we got some kind of certificate of taking part, because I think we were the only people to have turned up who did that particular problem.

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Probably when I was a teenager in the early 90s and myself and some friends were involved in the demoscene. There was no home internet back then, and I can remember days when we'd all bring our monitors and computers (Commodore Amigas at the time) round to someone's house so we could work on our latest demo. It was very social, and a lot of fun - just had to be careful not to accidentally unplug someone's machine as everything was in stored in memory, and would be lost if not saved on floppy disks.

Collapse
 
dangerousdan profile image
Dangerous Dan

When React & Angular were phasing out the old school approaches, and I first heard the term "Javascript fatigue". I got balls-deep in webpack config and was impressed by hot reloading.

I recently also got into using emmet, plus had a Chromecast so I could cast my browser to the TV while having my IDE open.

All of a sudden I was able to throw together some UI in seconds and see live updates appear as I go. Instant gratification.

Collapse
 
uponthesky profile image
UponTheSky

I was self-studying open shared labs provided by a renowned university's CS courses. Without any external help, I made my own solution in C++ and Python code and the result was so beautiful. From that time, although I am now a Web person, I have had a dream of becoming a C++/Graphics engineer.

Collapse
 
gklijs profile image
Gerard Klijs

Not sure what to pick, so many fun things.

Adding subscription support to micronaut-graphql was definitely one of them. One of my first big open source contributions, and one some people were asking about. And it had a simple chat example app as part of it.

Collapse
 
lexlohr profile image
Alex Lohr

When I was 14 years old, my bother, a friend of us and I had a demo crew called HCL; we hacked together a few small (sub-16kb) demos in x386 assembly.

Later, when I became proficient in JavaScript, a freak chance turned me to code golfing. Jed Schmidt started this project called 140 bytes – the idea was to do cool stuff in that few bytes.

These were the two earlier occasions in my life when I did coding solely for the fun of it, and yes, lots of fun was had.

Currently, when I find some time and energy, I involve myself in the Solid.js community and there's also some coding involved and that's also a lot of fun.

Collapse
 
mfurmaniuk profile image
Michael • Edited

I've always coded things to make my life easier and there are many times I can think of where working through the steps and accessing external services or systems was like a puzzle and solving it and seeing it all run for the first time as I want was fun and a sort of - yeah, I did that - moment.

One of my best was scripting the database restore process that ran early on Sunday mornings after the weekly backups. It would pull down the latest prod copy, import it into our SQL DB Server, then sanitize the data so we never had Customer emails, CC #s, and addresses in there. That kept our QA lab up to date and allowed us to keep testing on the current DB schema.

oh, it was all in Perl....

Collapse
 
quoll profile image
Paula Gearon

I’ve often had fun while coding, but a week ago I enjoyed myself a lot.

These days I mostly code in Clojure (a Lisp that runs on the JVM or in the browser). A short time ago someone realized that it was legal to put dots into keywords and symbols in the language, someone else made the comment, “hey, you could write Clojure code in Morse code.”

I thought it would be amusing to write a library that would convert Clojure to Morse code, and presented this online to some amusement. But then I realized that I could use it on itself, and create a library that had a normal looking API from the outside, but internally it was all Morse code. It was tricky to create (especially in ClojureScript) but this just made it more fun. The resulting code is bizarrely inscrutable

Since then, I’ve had people contact me to tell me that they’re using it for real work projects, including an attempt to convert it to audio and use it for blind people (I’m not sure of this myself, but I applaud the motive and ingenuity)

Collapse
 
theaccordance profile image
Joe Mainwaring

Most fun I’ve had coding:

  • Winning a hackathon for building an Alexa integration with a B2B HRTech product.
  • Automated vote submissions for a contest that won my office a lot of free beer
  • Built a project over a weekend that would anonymously text Game of Thrones spoilers to unsuspecting victims
Collapse
 
sush_kd profile image
Sushant Kumar Das

For me it was creating a coupon+referral system during an internship.
At the first instance it seemed simple enough, but as me and senior backend dev worked on it's extensibility, we made a very nice complex system where coupons could be percentage based/absolute coin based.
The system could handle quite complex business logic (with no change in code required),
e.g. if the user has played more than 5 games in the past 4 days and hasn't used more than 2 coupons, only then the coupon is valid and the corresponding credit will be transferred after you have played at least one game after coupon application.

Collapse
 
akinaguda profile image
Akinwunmi Aguda

Learning about fluid simulation with the Navier Stokes Equations. Spent so much time reading and learning awesome stuff. Learnt about WebGL, wrote the algorithm in my favorite languages - Rust and TypeScript.

Collapse
 
eliabe45 profile image
Eliabe França

Idk, I never had a big side project or anything. I often have fun doing small things and automating simple tasks, but I think the most fun I had was creating a bot for Whatsapp and beating the record of typing speed test from 10fastfingers.com/typing-test/english with Puppeteer

Collapse
 
sherrydays profile image
Sherry Day

When something clicked and I went from: Okay I know how to write an algorithm to actually being able to write a program. I did a lot of programming in that period. My work was entirely unmaintainable but my rate of progress sped up greatly, and I just really enjoyed the ride.

Collapse
 
__manucodes profile image
manu

Using TailwindCSS!

Collapse
 
johnxmas profile image
Johnxmas

What fascinates me most is problem solving

Collapse
 
briankephart profile image
Brian Kephart

Building a band name generator for the music school I work at.

Collapse
 
rushannotofficial profile image
Rushan S J

Once, at school (I was in 7th) I was in the lab making robotics projects and then head of the lab calls in a bunch of 11th graders to learn python from me. It was the most fun I had when coding.

Collapse
 
omarmoataz profile image
Omar Moataz Attia

When I first started learning react. It was mainly because of the people I worked with professionally and how much I grew during that time.

Collapse
 
jagedn profile image
Jorge Eψ=Ĥψ

Migrate a full site from iexplore to standard tags
2003 was a funny year