Archive for July, 2005

Cybit & SQL

Howdy kids, not too much going on outside of work.

I would just like to remind you that Friday was sysadmin appreciation day. I hope you all appreciated your sysadmins.

Development on Cybitures is driving on, despite Tigress being gone until the 14th of August. I’ve gotten a good deal of administrative/logging code done, and I hope to finish off my log viewers by Tuesday and get back to game features. Since I have limited knowledge of how the whole thing is supposed to work, it will be a pain to find things to do game-featurewise until the 14th, but I can make due.

Also, I have written and release a brief SQL tutorial, which covers MySQL’s SELECT/JOIN/ORDER BY/LIMIT/GROUP BY/INSERT/DELETE/UPDATE and a few other things. It can be found on the file server: An Introduction To SQL.

That’s it for now.

Life, The Blog, and Cybitures

Can you smell that? Smells like OwlManAtt.com housekeeping.

I went through the entire three year archive of OwlManAtt.com and sorted the posts into catagories, changed the [b]’s to strongs, and the [url]/[links] to proper HTML, etc. While I make no guarentee that my links lead anywhere, as I did not check for dead links, they are at least clickable.

Mod_rewrite is also enabled. Sorry about that folks, I hadn’t noticed that the archives/permalinks were all broken until last night. Steve took care of things though, kudos to him.

Oh, and on the topic of Steve…OwlManAtt.com is no longer hosted by Cyberpixels. Why? Well, Wintermute’s uptime was becoming increasingly erratic. The final straw was when it was down for about a day last week. This was the day I had scheduled myself to be categotizing posts, so natrually, this pissed me off. But not enough to switch.

So what happened to make me switch? I submitted not one, not two, but THREE helpdesk tickets regarding Wintermute being down. Not a single fucking ticket made it into the ticket quenue. I do not know why, but that was just plain fucking unacceptable. That was the third week running that I’d had trouble with Cyberpixels (although, for one week, I really can’t blame them, as domain renewal time is always a fucking mess).

I will, however, leave my domain registered through them for the next few years. I’m not quite ready to sever all ties to the last tangible Bettapets legacy. Not just yet.

In other news, I’ve started thinking about NaNoWriMo ‘05. As of this moment, I have no idea as to what this year’s novel is going to be about. It will, however, be either fantasy or (you guessed it) scifi. Big surprise there, eh?

I’ve been conteplating an idea that I had last year. Instead of a narrative, it would be a collection of IRC logs. I’m sort of leaning against this now.

I’ve also found a small bug in Ubuntu’s update notification applet.

And as for Cybitures, development is (very slowly) underway. Tigress is off in some barbaric foriegn country and is not online all that much. I could be doing stuff, but it’s sort of annoying when a discussion is needed on $MAJOR_DESIGN_DECISION. Once we get the Cybitures core systems done, things should be a bit smoother. Of course, once the core of Cybit is done, she’ll be back in America, so…bah.

Development develops…

As you all know, I’ve been developing shit in a proper development enviorment for awhile (read as: not being a cheap hack like I normally am). Some of the stuff I’m doing is really handy, so I thought I’d muse about it and how it may be applicable to Cybitures.

First of all, CVS. Up until now, I haven’t ever touched source control, ever. CVS makes things so much easier. It allows multiple developers to work on the same source tree without stepping on each other’s toes.

It works like this. It keeps a copy of the current, bleeding-edge source base, and it keeps copies of every revision done. You can roll back changes done to a file.

The other excellent feature is that it allows you to download the current code base and work on your own local copy. When you finish playing with a file, you can commit that file back to the centeral repository. If anyone else has committed the same file, CVS will look at the differences between the two files. If you worked on a different section of the file than the last person, it will merge the two together. If you changed what they changed, it will notify you so that you may resolve the problem yourself.

For example, say I was working on functions.php, a file with all of our functions. If Tigress worked on the PrintFoo function, and I worked on the DeleteBar function, it would be able to just merge everything together and have one big happy file. If I worked on PrintFoo between the time I last updated my local copy of the code and when Tigress updated it on the CVS server, it would barf and tell me to fix it myself.

The handiest way to use CVS would be to set up a folder that you can access from the web and upload to (via ftp, scp, whatever). This will serve as your development copy of your web application. You play with the files as you normally would, then when you get whatever you’re working on debugged and ready to go (like you add X feature and get it to work), you commit your change (you wouldn’t commit as you were developing, because then you’d have to give it log messages for every little freaking change, and I bet you don’t want to commit five hundred times because of stupid shit like misspelling variables), and you are happy. You can roll back to the old version if absolutely nessecary.

Then you have your production copy of your web application. This is what all of your users play with, and it always works perfectly, because you test everything before putting it into production. It’s extremely easy to get your nice, tested development version and your production version sync’d up, just check out a copy of the source base from CVS. Boom, instant, easy updates with rollback.

I set up CVS on my local machine just to get some experience setting it up. I hope that Tigress would be interested in using it for Cybit.

Outlook 2003 Sucks

Mmkay, get this. Last week at work, I was working on some code that, among other things, had to send an e-mail notification to some people in the company. A trivial thing to do in PHP, of course. So, I banged out the message, tossed down a function that was written specifically for this application’s mail-sending purposes, and tested it.

Then the real fun began.

Now, this notification was sent to my address twice, once because I was on the list of people it had to be sent to, and once because I was the one pressing the send button to test it. Outlook 2003, taking the initiative, merged the two fucking messages together, and - GET THIS - didn’t bother telling me.

John was out at a meeting, so I sat there for half of a fucking hour - yes, that’s right, thirty fucking minutes banging on it, wondering what the hell was wrong with my code.

So John comes back and asks how shit is going. I piss and moan about e-mail sucking ass, and then he reveals to me that my code is, as always, perfect, and Outlook is the element in The System that is fucking things up.

Alright, I pull my address off of the notify list. I test, and I get one message. I put myself back on the notify list and disable to copy-to sender stuff. Lo and behold, I get a message. Good times.

Now, one would think that one bug in Outlook is enough for a week. But oh no, not for OwlManAtt, oh no, no, no! Outlook also has another great bug that the developers added. Outlook strips (what it thinks to be) extra newlines. Randomly. All the fucking time. You get a message, and two or three things would be on one line because Outlook decided to douche your message up.

So, you know, I think we’ve got this problem taken care of and it’s put into production over the weekend. Today, someone actually uses it. The notification is sent.

And, you guessed it, Outlook futzed it up. So I finally get pissed off and throw in a ton of newlines so Outlook can’t break it. And I test it. And it works. So it’s put into production, and John sends an e-mail off telling everyone that it’s fixed.

Then guess what happens. Really, try to guess.

Give up? Ok, I’ll tell you.

I open the message sent announceing the bug fix for the notifications. Outlook says ‘Extra break lines were removed from this message. Click here to restore them!’

FUCK. YOU.

OwlManAtt.com v4!

It’s that time of the year again, kids. That’s right, domain renewal time! And what a happy time it is! CyberPixels’ support is once again feeling like it should be quality (how long will it last?), so I actually got everything dealt with in under eight hours, a new OwlManAtt.com renewal record!

And since I renewed the domain, I figured it was time to change things up a bit. Over the past few months, I’ve been growing malcontent with AJ-Fork, however nice it may have been (or is, because you won’t see this until I port everything from AJ-Fork into here, so at the time of writing, I’m still using it), but it’s a big freaking hack, for god’s sake.

I originally wanted to use Mambo to power OwlManAtt.com v4. I spent a few hours setting things up, then got incredibly pissed off at it and threw it away. Mambo may be nice for a whole CMS, but it’s blogging functionality is quite lacking.

So since Zotnix and Eurleif used WordPress, I decided to give it a whirl. It isn’t all that bad, really.

Here’s to another year of OwlManAtt.com!

Update: OwlManAtt.com is now no longer running AJ-Fork. About an hour ago, I converted the flatfiles into something that WordPress could use.

If anyone is interested in converting their AJ-Fork stuff into WordPress stuff, please see aj-convert. It uses WordPress’ formatting function file to clean a few things, one script I wrote, and one file with all of your blog posts/news/whatever you want to call it. Unfortunately, it doesn’t support bringing comments over, because I don’t care much about my comments. If anyone actually ever uses this, feel free to hack comments in, and I’d appreciate it if you e-mail me your updates.

Next Page »