1. 29
  1.  

  2. 5

    It can be kind of fun to go through old code. A few years ago I downloaded Viola and man, what a trip. Early 90s C code, an unholy mixture of K&R and C89 and the deeply embedded assumption that integers == longs == pointers. I have it compiled on a modern 32-bit system (although with thousands of warnings) and it can run. Barely. A 64-bit compile will crash immediately.

    1. 2

      I wonder if you could make that work by sneaking in some #define statements to make it think all three of int, long and void* are 8 bytes?

      edit: wait no there is no text substitution that would make “int” parse as “int64_t” without also making a big mess when code has “short int” in it. Curses. You would have to change it with a compiler at least.

    2. 8

      This is amazing. I remember vBulletin. I probably cycled through every free, hosted forum software the early 2000s had to offer.

      1. 7

        I used to have so much fun just installing random PHP software on shared hosting. It was honestly pretty simple to, back in the day - just upload it and make the database…

        1. 2

          So why did we move away from that?

          1. 4

            It’s exactly the same nowadays with docker without being tied down to a specific type of software.

            1. 3

              It’s exactly the same nowadays with docker without being tied down to a specific type of software.

              Is it?

              What kind of specific software do you mean? Docker is a specific type of software as well.

            2. 1

              Often doesn’t really scale. More complicated web apps in PHP haven’t been “deployed” like this for many many years. Stuff like zero downtime deployments might be harder. Also this was mostly the Apache mod_php way, other fastcgi-based webservers and integrations had a “server process” that work just like in other languages. But most of this is not a definining criterion I guess. Maybe phasing out FTP was also part of it. (Yes, SFTP and FTP/S and scp exist..)

              1. 2

                I remember achieving zero downtime by just uploading two versions of the website to the same hosting account in a www and a www-beta folder which then could be used to test the next version on production. Rolling over to the new version with “zero downtime” used to be as simple as renaming www to www-old- and www-beta to www. It took the all server’s a few minutes to catch up due to server-caches and the files cached by the SAN, but nothing as simple as that seems to exist anymore.

                I think we lost something very efficient and precious when all those containers moved in.

          2. 1

            vBulletin seemed to have some kind of magic at its time that made it seem like the choice for web forums on the high end—even though there were other, competitive offers available at the time.

            (I’ve kind of got the vain hope that the rightsholder(s) for vBulletin 1.x will open source it sometime. The code’s pretty worthless, as is evidenced by the shoddy state vB Lite is in, but it’s still historically interesting. Stranger things have happened; Microsoft released MS-DOS 1.x under the MIT license, after all.)

            That said, I firmly believe vBulletin 2.x was peak vBulletin, both aesthetically and in their selection of features. The code’s as terrible as in 1.x though (register_globals madness continued, amongst other headscratchers).

            1. 1

              So many memories. vBulletin is what I used to learn how to code. I started by tinkering with community mods, and then eventually wrote my own forum software, wtcBB, because that’s what everyone did in those days.

              Damn, reading what I wrote makes me cringe a bit… Oof. This one is funny.

              1. 0

                What is oof about that?

                1. 2

                  I’m just (light-heartedly) reflecting on my youth, that’s all. e.g., “Regular expressions could perhaps be one of the harder parts of programming to understand…” And the spelling. My god. The spelling.

                  1. 1

                    Maybe I just have much cringier stuff in my internet footprint, haha. I think it’s cool. Maybe it’s because it looks like the type of stuff I write today.

            2. 4

              Maybe you can run it on a period-appropriate web-server, too.

              1. 3

                Someone named Screwtape tricked someone into wasting a night reinventing Apache. How appropriate for the nickname. ;)

                Anyway, in the early 2000’s, everyone used Apache already rather than NCSA HTTPD.