Back when I was about 16 or 17 years old, I created a gay social networking site named RainbowBoi. I later rebranded it to XYBois before losing interest in it entirely, and now it's called Siikir. Anyway, I decided to dig up my old backups of this site to dig up the picture of the guy I think I'm talking to. It was him.
But poking around at the user profile data for the old sites, I got the idea to try dusting the code off and get it running again on my local web server... just for nostalgia's sake. Get the site up, dos2unix convert all its data files so that I can log into it, and just click around and see how the site used to be back in its day, back from 2005-06.
Throughout this blog post, all the small screenshot thumbnails can be clicked to view the full size.

(the homepage. click for bigger screenshot)
This version of the site was in the middle of being rebranded. The Perl source code that powers the site is also the same code I had written for my old AiChaos site, which you can see here on my archive subdomain. The code is ugly to look at, because I was relatively new to programming.
But newbie as I was, I was apparently quite ambitious. This site was very featureful: it had social networking features (including photo comments and private messaging and search and friend lists), it had helpful articles to read about coming out of the closet and topics like that, it had some public photo albums which were surely pretty popular, it had a "straight-acting" quiz. It even had a chat room, where I had programmed my own chat protocol, client program and server from scratch.
It even had used Image::Magick to scale the user photos down, and calculated ages based on birthdates, and syndicated RSS feeds for display on the site. I definitely knew my stuff back then, even if I didn't have a good coding style down yet.
I miss the days when I used to have this kind of free time on my hands. Whenever I dust off my old projects and play around with them, I keep seeing really ambitious ideas. The code may not be pretty, but it is featureful. I don't create anything nearly this cool nowadays. I just don't have the free time or the motivation to do it.
Maybe this is the consequence of doing what you love as a job. As a software developer, I spend all day long writing code to get paid and by the time I'm done, I don't feel like writing any more code for the day. And then on the weekends I just wanna relax and try to have a social life, or else just watch TV and play videogames.
/sigh
Here are 6 more screenshots of the old RainbowBoi/XYBois.
It would basically be a miniature PC that resembles an Android phone, but which isn't a phone, but which you can just install Skype on if you really need to make a phone call, since it could still get cellular data service.
And, being like a miniature PC, it would be as open to operating systems as a real PC; it would be just as easy to install and reinstall Android firmwares (or any compatible OS) to it as it would reinstalling your operating system on your laptop.
I imagine Dell would be a good manufacturer for such a device; they would market it just like they market netbooks, as being just a mini PC that happens to run Android (preferably the stock vanilla Android as Google intended it, but being open you could flash any version of Android you want).
If such a device existed I would buy it as soon as it came out. I'm quite sick of the way phone carriers abuse the Android OS and wish there could just be a seriously open device.
It's available at http://www.kirsle.net/rss.cgi.
In Pokémon FireRed and LeafGreen, there's an anti-piracy measure that I triggered late one night while using a MysticTicket and AuroraTicket to start my quest of capturing Lugia, Ho-oh and Deoxys. The ticket checker at Vermilion City told me to buy this game or die.

I created a You're The Man Now, Dog page using this animated GIF image (because at the time--near the end of high school--YTMND was cool). From there apparently the GIF found a home in the Bulbagarden forums.
Months (years?) after making the GIF I decided to google this and see if anyone else has seen it. Apparently it's been verified by various ROM dumpers to be legitimately in the game's code, so my ROM wasn't just a hacked copy. And that's when I discovered the familiar-looking animated GIF; verifying its MD5 hash proved it was indeed the result of my 5 minutes spent taking screenshots and animating them that these people were all linking to.
Interestingly, it seems that the GIF is the only screenshot (animated or otherwise) that exists on the topic. IIRC all I did was enter some cheats to get me a MysticTicket and AuroraTicket (either by cheating and making my monsters carry them when captured and subsequently take them away, or else by buying them at a Pokemart) and then attempting to catch a boat with them in hand.
I've been wanting a domain like this for a while (especially after I saw my former boss, Samy's (my hero) domain name, samy.pl), and then I found a domain checking service online that would look up a domain under every possible TLD and I found a few that were still available, .is being the most attractive of them all (come on, http://noah.is/awesome?).
It took a good number of hours wrestling with ISNIC about the DNS settings, though. They have retardedly strict requirements for DNS servers; the servers themselves have to be configured in the most strict way possible (matching forward and reverse DNS records for each of the name server hostnames for example), and furthermore they want all their DNS servers to be "registered" with ISNIC, and they want the person who manages the name servers to be the one who registers them.
Thus, using the ol' ns1.kirsle.net, ns2.kirsle.net was out of the picture, as my server has only one IP and I don't control the reverse DNS on that IP regardless. Luckily my web hosting company provides DNS forwarding services, and their servers are configured in the strict way ISNIC requires. I just had to register them with ISNIC ($karma--, I registered them with my own ISNIC name instead of bothering my web hosting company to do it; should be fine though, if they have any issues I'll forward the e-mails they send to the web host to deal with then).
ISNIC charges me 39 euros a year for the domain and they are the sole dictators of .is so I can't transfer to another registrar... but, again, http://noah.is/wicked.cool? Seriously.
The new icon in 962, 482, 322, and 162 sizes:
![]()
(These are PNG images with alpha channels, if you're using a lame browser like IE 6 that can't show them correctly, then... I pity you. Catch up with the rest of us in 2010 and use a real browser.)
It's an emblem I made up at least 7 years ago, it's a composite of the letters "CjK", as in my Internet alias, "Casey James Kirsle."
Speaking of favicons, I created the icon using a command-line tool in Linux called icotool. In Fedora it was provided by the icoutils package from the fedora yum repository.
# create (-c) favicon.ico (-o) from source PNGs cjk-16.png and cjk-32.png $ icotool -c -o favicon.ico cjk-16.png cjk-32.png
vboxusers group.I remember that the ability to share USB devices with virtual machines used to be working "out-of-the-box" with VirtualBox and older versions of Fedora, but Fedora 11 complicates things a bit.
By default USB devices in virtual machines don't work; the menu lists all your USB devices as being greyed-out while the machine is running. It comes down to a permissions issue with the user you're logged on as. To fix:
1) Make sure your user belongs to the vboxusers group. Older versions of VirtualBox made this an absolute necessity (virtual machines wouldn't boot otherwise), but VirtualBox 3.0 seems to only create this group but not actually require your user to belong to it for the most part. Update: with current VirtualBox, this is all that's required; USB should be working after you do this and log out and back in. If not, continue reading.
2) Create a mount point directory for usbfs (I did mkdir /usbfs as root).
3) Edit /etc/fstab to add a line that mounts usbfs, giving the vboxusers group write permissions to the mount point. In my case vboxusers had a group ID of 501; check in /etc/group to see what your group's GID is:
# VirtualBox USB support none /usbfs usbfs rw,devgid=501,devmode=664 0 0Change
/usbfs to the mount point you created in step 2, and change 501 to the group ID of the vboxusers group.
Now, you can either reboot or run mount -a as root (to reload the data from /etc/fstab). If you had to add your user to the vboxusers group because it didn't already belong to the group, you'll need to log out and back in again.
And now your virtual machines can access the USB devices.
I set cuvou.com to redirect all links for regular pages to their counterparts on the new site, and to preserve HTTP referrer information while it's at it (so I can continue to see which Google queries link to my site, for instance). My sites have always been programmed to ignore referring URLs that belong to the same domain (so clicking a link within the site doesn't log the referrer because it would be rather pointless to do so).
But now that the domain has changed, referring URLs from cuvou.com show up in kirsle.net's logs, and it revealed something interesting about the spam bots:
They love my guestbook page. They probably find it via search results for the word "guestbook." Spambots look for guestbooks specifically because they usually tend to contain e-mail addresses, which the bots can add to their list of victims.
My guestbook has no e-mail addresses but instead resembles a blog comment thread... but they don't know that.
Anyway, the interesting thing is, on these requests, the spam bots send the referring URL as being exactly the same as the URL they requested. So their requests look like this:
GET /guestbook.html HTTP/1.1 Host: www.cuvou.com Referer: http://www.cuvou.com/guestbook.htmlSo cuvou.com ships them over to the guestbook page here on kirsle.net, and kirsle.net logs the referring URL (which is the guestbook page back on cuvou.com).
The effective result is that cuvou.com's guestbook page is the #1 referring URL (also the #2 and #3 top), because of how popular that page is with the spambots.
Maybe I should set up a spam honeypot on that page and trick them into downloading an infinite number of bogus e-mail addresses that go nowhere to flood their databases with fake e-mails and waste the spammers' time...
There are still some things left to do with it and I need to rewrite a couple of pages, but for the most part it should be fine for now. All the old links on cuvou.com now redirect to kirsle.net; let me know if there are any broken links or anything like that.
I'll post a more thorough blog post about this when I polish up the site a little bit and have time to write about it.
Update: added a traffic-logging plugin, which replaces Cuvou::Traffic on the old site and is better integrated now.
The new one seems to be headed in the right direction, though. I named it Siikir, because I plan on adapting it for a multi-user website by the same name after I've first built it so it suits me on my single-user websites.
The main thing that sets it apart from any failure of a CMS I've built in the past is that this one is completely abstract and plugin-oriented... so, the main Perl module that gets loaded doesn't really do anything itself, it only manages the loading and controlling of other plugins... literally everything else (page controllers, user management, sessions, etc.) are all delegated to extra plugin modules.
The general idea is this: if I want to make an ajax front-end that tests whether a username is taken or not, why should the code for that be required to load all the code for pages, photo albums, profiles, blogs, etc.? All it really needs to do is load the one plugin that manages users, and ask it if the user is taken. Simple. So that's what this new CMS structure allows for.
Since I'm liking it so far, I just might release the code after I'm doing working on it. Maybe.
Anyway, it's getting close to completion. Page management, users, profiles, and photo albums are all completed (unlike the photo albums on cuvou.com, each user can make their own collection of photo albums). All that's left is programming a blog back into it, and then I'll be migrating everything on this site over to the new code.
I'll also be changing the domain name; this site is gonna be moving over to kirsle.net with the switch. All the old links to specific files on this site will be redirected to the same files on the new domain, for a while, until Google forgets about the old URLs... then I may use cuvou.com for something else.
0.0027s.