Two days ago I received this email:

Wow! Someone reached out to me regarding a Quake tournament that took place 25 years ago.

I felt excited. I loved Quake. I loved being part of that community. You can read more about that in this blog post

25-26 years ago I was running a couple of websites related to this game, Quake.

And now, somewhere on the internet an old website archived by the Internetarchive pointed to my email, the email I am still using after all these years.

Somewhere in the back of my head I had a feeling that I had several gameplay recordings (demos) of this “Heroes” tournament.

I felt inspired.

The next step? Time to go on a harddrive safari..

Bosse helping me out.

It took some time, but eventually I found what I was looking for. The holy grail. A copy of my old demo-dump webpage!

In Quake, a demo is a recording of the gameplay. My site tried to organise and distribute these demos. The last version was built together with a danish guy named Thomas (I have been unable to track him down).

Side note: While a database driven website isn’t a big deal today, believe me it was back in 1998/99. I remember when I studied software engineering in Sundsvall in 1999, the local newspaper wanted to hire me because I knew php/mysql quite well.

It wasn’t perfect – the backup was cut off in december 1999 – but one thing was simply awesome – I had a copy of the database along with the .asp files and the actual demos! Amazing!

asp and .mdb database copied 14th december, 1999.

Now, what do to with this old solution? The DB was a Microsoft Access MDB database, and the asp files probably wouldnt perform very well anymore.

In this time and age, the answer is simple. Use your companion, use AI!

I hooked up VIsual Studio Code with GitHub Copilot (Now available for free!) and off we went. I had used other setups before, but this one was fairly new to me.

Never mind my spelling! As you can see, Github copilot gave me a few recommendations on how to proceed.

For me it was important to keep the original look and feel, I really didnt want to change anything. Rewriting the frontend with a modern framework would ruin the original look.

But, you know me. I wanted to see how far I could take the AI and asked it to write the solution for me.

Since TypeScript isn’t really my home turf I wanted to make sure it would run on my hosting provider for this project.

Referring to specific features inside Hostinger.

For me, this is amazing. Inside my IDE I am chatting with something that can code, provide instructions for a specific hosting provider etc. Just guess how many web searches this would be if my coding companion didn’t do this for me.

Stuff like this is now easy to take for granted. But I am still amazed!

As I am an old school no-fuss guy, I asked my companion to simply use easy, normal stuff like PHP, MySQL, CSS and HTML. This way, I could step in and do some coding if needed.

It’s just a super easy workflow for me. I don’t even use git.

GitHub Copilot and similar companions use context to work, just as you would work with a LLM like Google Gemini etc. In this chat you can see how i put the old files in context. This way the companion knows what to work with.

Spelling aside, this simple instruction started to convert the ASP files into PHP files. Not only it converted the code, it also created a new pattern with central DB queries etc. And it kept the look and feel exactly the same.

Just an example of how easy it is to chat with the companion and have it to solve problems for me. In this case, the problem was that i actually didnt find any images for my website. So I gave instructions on what i wanted instead.

One of the technically more challenging tasks was to change the search, the old one was not good and only searched on a specific field. I wanted to search in all available columns in the db table.

Ooops i mixed up tables and columns, but the AI course corrected immediately.

One easy question and this was solved. This way of working is saving me hours and hours of researching and coding. This one comment enabled a much better search and it also made sure the search results page could handle it.

It actually took me more time to find my old harddrives, plug them in, search for files etc than it took to convert the webpage + database to a more modern solution. I probably spent around 1h prompting and about 1.5h looking for the files.

If you told me a couple of years ago that I could convert the old demo-dump in a few hours, with great results, I wouldnt have believed it. Imagine going though the .asp files, researching how to convert the old .mdb database etc.

Now i have this golden nugget alive and well at https://www.bjuvang.com/demo-dump

There was a lot more prompting going on, mostly to make it look good again without any of the original graphics. The MDB to SQL was performed outside the IDE, as per instructions from my companion.

I hope you found it interesting and perhaps inspiring to see this short example of how to work with AI, in this case GitHub Copilot, to bring a 25 year old website operational again.

And my last note. I have actully found the original demo-dump, dating back to 1998 and possibly earlier. We are talking about hardcoded html files here. Unfortunately some bits and pieces are missing, but who knows, another harddrive safari might help with that.

A view of the original demo-dump.