What a mess!
Yes. I'm not very organized. I find it difficult to categorize things. Say I'd want a "games" section on this website, well, it'd leave my blog in a weird position, it's not a game, and it's not strictly about games, and what about things that are both games and other things, most games are programs, not all, but most, but far from all programs are games. It'd leave FinalKey alone in another category, and I'd start subdividing endlessly, until everything is put into a category, or more likely a subcategory, and before long, I'd have more metadata than data. I'd have every single thing in a single box, in a single box in a single box. It's just not for me, at least, I've not yet found a good way of doing it, so, everything goes in a big box.
It began in school, 8th grade, I was about 13 years old IIRC, and I found, by coincidence, a printout from a website HTML.dk, it was an introduction to the markup language, explaining how to make your first web page from scratch, in notepad. I read it while waiting for the bus, and when I got home, I spent the night creating a concept, I didn't know what kind of thing I wanted to put on there, I just knew I wanted a webpage "home page", because IT. WAS. COOL!
The next year, I still didn't have Internet at home yet, so to get online, I used to call the public library, to sign up for 1 hour of Internet time at their public computers (they had two!). I went there often, to download games to floppies from underdogs, to play at home. One day, I went there, and wrote an E-Mail to the headmaster of the local youth-school, explaining that I had a "small and fast" webserver that I'd like to put online, and, that maybe we could make some sort of arrangement.<
We did, the deal was, that I could bring the machine, and we set it up in this tiny room that had the switch, modem and the cleaning utilities for the local youth-club. In exchange for this, I'd give them FTP access so they could upload image-files for use on their own website, without them having to pay for more room with their hosting provider. After putting the server up, I was estatic! I could reach it by IP from the next room! I announced that it was online, and was promptly informed that it couldn't be reached from anywhere else.. We talked with the ISP and they explained public IP's and we got one, and they helped forwarding port 20, 21 and 80 to the machine on the LAN, excellent! Now we were online! So I bought my first domain name, it was called subserver.dk, the process involved printing out forms to fill out, on paper, and FAXing the documents to hostmaster, exciting stuff for a 14 year old geek!
Some time after that, I got ADSL at home, 128/64 kbit, so I moved the server home, and figured out how to do the routing and stuff myself, my first router was a TRENDnet one, it worked ok. My entire network was my PC and the webserver. On IRC I was told about virtual hosts and apache configuration, I let someone I trusted connect to the machine over VNC, it was scary stuff! He was kind enough to tell me what he did to the configuration to make apache serve from different webroots depending on the domain you hit the server from, glorious stuff! I should mention, by the way, this was around 2000, the server was my previous desktop PC, it was a Pentium 100, overclocked to 133 mhz, with 32 MiB of EDO ram, here's the crazy part: It ran Windows 95! I actually had this for 2-3 years before it was upgraded to a 550 mhz pentium 3 with 1 GiB of ram and, I think it ran Windows too, I think Win2k. The TRENDnet router was replaced by the 133 mhz Pentium sporting a second NIC and SmoothWall, that was awesome! At some point, I installed Linux on the P3 box too, and I became a fan of Linux and Free Software.
Over the years, I've had multiple servers, always hosted at home, on my own systems. The website you're reading now is no different, it's hosted on my own internet connection, by my own server machine. I believe people who can, should host, not putt that out to some cloud-provider. Maybe I'll write an article on why I feel that way some day, but not now.
How DusteD.dk is created
In the past I wrote 3 or 4 CMS systems from scratch, using PHP and MySQL, and I had a lot of fun doing that, I enjoyed tweaking the rendering, and adopting it to new ideas as I got them. My first page, subserver.dk was dynamic from the start, so I could log-in and post new articles and stuff like that, there was also a guestbook and random people, mostly from IRC would drop comments. It was a lot of fun, and I had never heard about SQL escaping, but I was curious why, when I made a site for trading used hardware, that people couldn't put their 17" monitor up for sale.. Different times indeed, the net was a lot less mean to newbies than it is now.. I caught up with input checking and all that.
Migrating my systems to a newer server was often bothersome, needing to remember all the strange stuff sticking out here and there, how to configure the databases just right, exporting and importing and all that. Porting to newer versions of PHP and just generally a pain. I also forgot more than once, to export some important table, and I'd have to reconstruct things by hand. So I started toying with the idea to go back to basics.
I think the original idea with HTML and the World Wide Web is beautiful. I like the idea, that HTML should describe "what" things on the page is, but not so much "how" they should look. So, while there is CSS on my page, I'm not entirely happy with that, and I encourage you to try and turn it off, see that this page is still usable, even in a text-only browser like elinks.
Presently I wrote a HTML template, and figured out a directory structure, and that's what I'm using. There is absolutely nothing automatic in this project, I just use the cp command and vim and nothing else for creating and maintaining the site and I enjoy it! It's fun, it's not difficult, and it uses very few resources on the server machine, I could host this from that same 133 mhz Pentium, and maybe one day, I will again!
As for the current software "stack" here is _ALL_ the technology involved in dusted.dk:
- Physical server machine (6 core Xeon, 64 GiB RAM, much disk in ZFS)
- Ubuntu server as OS
- Container with nginx, hosting static files and being reverse proxy for other sites (handles virtual hosts)
- NodeJS server for hosting the Phlog and the Gopher version of DusteD.dk
- Many more containers for all the other crap that's not dusted.dk
- .../www/dusted.dk/ index.html - pages - about/ index.html - computers/ index.html ... image files - software/ index.html - files/ ... downloadable files