Squeeze easiest upgrade ever? Perhaps.

So I finally got around to upgrading my Linode. It's been...840 days since I last did that. Whoops. Turns out there were a few hundred security updates, and I was pretty far behind on Apache, and PHP versions. I also accidentally upgraded MySQL during the process...didn't mean to do that. Would have been nice if I had gotten the chance to do a full export before hand. However, it was Linode that saved my bacon today! I realized that with my track record, doing a system upgrade was one of the more dangerous things I could try. So, rather abitiously, I set out to make it happen. But before I did that, I took a Linode backup snapshot. You know, just in case. As it turns out, the folks at Linode were ahead of the game, and provided an excellent guide to upgrading to Squeeze. About the only problem I had was with MySQL after the upgrade was complete, but an apt-get install mysql took care of that.
But perhaps a bit of backstory is needed. I've started working recently on a framework to rapidly build and deploy social-oriented web applications. It's still a work in progress, like many of my other projects, but it certainly made my life a bit easier. I was able to adapt the platform from its current implementation on Fitness Tracker, and take a design/idea in my head, prototype, and build it in less than an hour. Now granted the core of the application still isn't built, but all the basics are there; Analytics and tracking, theming/templating, and SSO/Facebook integration. It's not as polished as I want it of course, I'd like to implement a lot more in the way of object-oriented programming, but it is coming along. I'm hoping someday to have it available to go from prototype to beta testing in less than a day.
After I added the new site to the framework, I started to think about how I wanted to structure the data for this particular application. At some point I'd like to have an integrated database that could scale to fit all my applications/ideas, but for the moment it's just not there yet. But as I started to build out the schema in MySQL, I realized it just wouldn't cut it. I've been working a lot recently with MongoDB and JSON data formats, so my mind is still kind of stuck in that mode. But it was pretty apparent, even for the small scope of my project, that a flat row structure like MySQL just wouldn't be scalable enough to do what I want. So I decided to add mongo to my server to play around and see if that would do more of what I want. But unfortunately for me, I didn't have PECL, so I couldn't use the MongoPHP driver. Hence, the PHP upgrade, and then the Debian upgrade.
There were a few tense moments during the upgrade when I dithered on whether to use the new config files or see if the old ones would still work (in the end the old ones won out), and then the suprise MySQL upgrade that I didn't seem to have a choice on. But now I'm at 5.1 and everything seems to be working after a few REPAIRs, so I guess in the end you could call it a win.
Work still continues on the eminence online roll-out; working on building in news feed scraping for content generation, and then integrating that with WordPress. It's proving...difficult.
At the end of the day though, I still don't have MongoDB installed, nor have I made any progress on the DB schema for myCollections...but I still feel like I accomplished something. I guess that's all that counts!
Farewell Rosewill…Helloooo Acer.

So the 19" Rosewill widescreen monitor I bought in 2002 has finally kicked the bucket. I wrote to the company (and felt 40 years older doing so), complimenting them on a superb product that lasted much longer than expected (I honestly only hoped for 6 months for the price), and to see if they had any more in stock that they could replace/sell. The specific product was discontinued about 6 years ago, so I'm thinking probably not. So far no response, but who knows; time will tell.
So I went to Best Buy (ugh), and proceeded to make the fastest sale in ever. Picked up a 23" Acer LED monitor for $169 (This might actually be less than what the 19" Rosewill cost in 2002). So far, it's fantastic. It's like my eyes have never seen before. And now I'm seeing many mistakes on websites I've worked on that my old monitor just didn't show me.
This has not been one of my best weeks. I'm really loving the new job, but it hardly leaves any time to do anything except work. I love the work, it's much more FUN than what I was doing before. I find I work from home a lot, and regularly put in over 50 hours a week. I'm not sure entirely how I feel about that, but at least it's mostly enjoyable work. Recent transitions in leadership are rather underwhelming; but overall, still a pleasant work experience. It's kinda sad now that I look back on what I've been doing for the last 6 years, compared to now.
Today wasn't too bad, though I was fighting with Drupal for several hours (Goddamn I hate Drupal. Especially the old-ass implementation they have on the current site). Finally got the feature in for the client, and GOT THANKED. There are times when I absolutely love this job. Getting credit and even praised for my work is fantastic. That happened another day last week, and I think it was one of the best days I've had this year. A truly wonderful feeling. But I digress...Did some training for a co-worker, worked on and tackled some weird issues, etc. But it was a long day. Decided to grab a burger and a beer at the pub near our place. That may have been a mistake. Too early to tell.
But now I have a sexy new monitor. And a list of websites to fix.
Android Apps

For the most part, I'm pretty happy with my new HTC Inspire. As a matter of fact, I'm writing this post on it right now. But the thing that's always bugged me about open-source software is just as prevalent on the Android platform - the software is hard to use, and usually half-asses whatever it is supposed to do.
I've spent the better part of a month trying out text editors with ftp capabilities (touchqode, silveredit and Android Web Editor have been the latest), but none of them get the job done. I can't even find a decent SSH client (hell, the iPhone had that!) that I could use for remote access to nano. And let's be honest - the "job" is either being too lazy to get off the couch to code something, or being stuck away from a real PC. It's the latter that makes sense from a business perspective, though the former is probably more common.
I would settle for a basic text editor that can save/create to an ftp site, but so far I've had no luck. Sure, each app had its benefits (touchqode's code-oriented keyboard layout was nice, though having to enable/disable through the settings menu was a pain, and the syntax highlighting in Android Web Editor was absolutely brilliant), but none of them seem to fit the bill for the coder-on-the-go (or couch).
I've said before, I'd buy a tablet in an instant if there was a good, working Dreamweaver clone for the Android platform, but so far I find myself disappointed. (Honestly though, I'd settle for a notepad/ftp clone with syntax highlighting.) It may be one of those things I just have to sit down and do myself.
HogSong, Mercurial, Best Weekend Ever.

So this was the best weekend in ever. Erin was down here for the week, and stayed over the weekend as well. After work on Friday (not a whole lot got accomplished due to the earthquake/tsunami in Japan), we started playing video games. And we kept playing video games. Until like 5AM. It was fantastic. Erin ragequit Gears of War because she couldn't beat the end guy (I heard he's hard...), played some cartoony RPG on the PS2, I played some DJ Hero (new high score on Kaskade - Move for Me!), and more. Honestly I don't remember the rest, the last few hours are kind of a blur. We totally should have played some old-school N64 Super Smash Brothers, but we forgot D: I missed out raiding with Eminence again, but I call worth it.
I also made Erin watch 2001: A Space Odyssey. She was not impressed. I believe her exact words were YOU BROKE MY MIND, and something about Stanley Kubrick only having 20-minute scenes of nothing important so he could pleasure himself. She rather enjoyed the Intermission though. Lawl. Also watched Gamer again (continuing the bad movie saga), and Tron: Legacy. Which is by far, one of the best movies ever made. She concurs. Finally found a DVD-quality copy of it to show. Definitely going to be the first movie I'll buy on DVD in quite a while. I tried to convince her to watch 2010, but she sadly would have none of that. Oh well! We also watched some Stargate: SG1 (The Fifth Race, one of the all-time best SG1 episodes ever). I also taught her some shell commands on linux! Mostly because she stole my laptop and then realized she couldn't use it ;D
On Sunday, we came up with the greatest idea ever. HOG SONG: The Pigging. For some reason, we have retarded nicknames for each other, and we are going to make them characters in a game. I looked into an XNA Developer subscription, and started up some character modelling in 3DSMAX. (Gotta love those student discounts...lol). I was going to join, but my Dreamspark account appears to have expired, and I'd have to screw around with getting DeVry to verify my student status (Technically, I think I'm on "leave"). Decided to leave that for another day and just get started. We decided on three main characters, Red Pig, Large Pig, and Mexi-Pig. Mexipig has fantastic abilities, like Taco Whirl, Piñata Bomb, Burrito Bash. Large Pig has Truffle Shuffle, Mud Bath, Suspender Bender. Red Pig has Scarlet Hooves, Crimson Squeal, and Blarney Stone. There are sooo many more, but this is just a preview. If I can convince Erin to give up her precious sketch pad and notebook, I'll scan in some of the concept art and throw up an except and some promo images. It is going to be Flantastic. Going for a free action RPG style for the Xbox Live Arcade; if it gets popular (lol), I might look and see what we can do to port it to Windows. This could be the start of something epic.
This morning started off just fantastic; my clocks were set correctly for Daylight Savings Time (RAAAGE), but my alarm was set half an hour too late for some reason. Managed to get a shower and get in just a few minutes late; not too bad. But by the time I had gotten there, I had several new work orders, emails, and voicemail messages waiting already. I set the Dukane system to update the clocks and the bells, and then set the VK system to update the media retrieval clocks and classroom CCMs. Then, my work done, I forgot about it. Turns out, only half the clocks decided to play nice. After messing around with the VK box for a while, I gave up and gave Jason a call about it. It was a pretty epic battle, very Tron-esque. Totally imagined light-cycle battles and such going on while I was fighting with that ancient software. (Which could be because we decided to watch Tron again last night...whatever
). Eventually we got that fixed for now (Apparently it will break again in a week when the software decides it actually is DST), but the rest of my morning was spent running around putting out fires for kids to take their Acuity tests (Hooray standardized testing?). Grabbed some lunch with Erin and Dani, then back to work. Found out the bell system actually didn't decide to want to work today, so I spent most of the rest of the afternoon dealing with that and scheduling issues from the VK box's morning antics. Longest day ever.
Tried to find some time to work on the site; managed to get mod_rewrite going (hooray!), so the blog now has fancy looking permalinks. Added the option over on the Eminence side, though I'm not quite ready to roll that SEO mod out yet. Need to do a full backup of the site/content, and actually upgrade to the newest phpBB version. Then I have to fix the theme which will undoubtedly break, and update the PHP hacks for the registration form, etc. Then I can try and add something that might break it. Though it would be nice for more of the site to get indexed than just the shoutbox
That's another thing I need to work on, I had planned to add some pagination to the shoutbox page and make it a little more friendly to use. And get a mobile version of the site, or at least shoutbox, going. Most of the users pop on using smart phones anyway, if they aren't at home. Would be nice for me and several others to be able to chat on there.
Talked to Parker a bit about Subversion vs Mercurial; apparently a lot of folks are heading the Hg way. Think I might try it out myself; this Mercurial/PHP web interface looks pretty interesting. I've been wanting to get a nice repository solution setup for my projects; I'd tried to get SVN working on here, but never could find a nice front-end to manage it. Granted it can be done from the command-line, but with as many projects as I work on (and random code snippets that should be organized) it would be really nice to have a way to manage it. The topic of Epic came up and he warned me off. Apparently this article was written by a former Software Engineer there, which is the position I will ideally be applying for. Still, I think I want to give it a shot. The Windows Integration position seems interesting as well, and it's pretty close to my current job/experience. I'd love to find a PHP coding job, but so far I haven't found much luck, except at EarthIT. I haven't quite gotten around to applying there yet either. (I seem to be stuck in my ways, can't take that jump, for some reason.) I need to update my resume and start working on cover letters for these positions, see what comes back. I looked at Raven as well, which looks AWESOME, but I don't have the experience for something that isn't entry-level there. And of course, there are no entry-level openings. Erin suggested I might drop them a letter with a resume and see if they might have anything in the works. Worth a shot; I think working in a game design company would be about the coolest job ever. Can definitely see enjoying my work and loving what I do there. (Blizzard: I love you too. But you won't hire me
)
Oh well. Time to stop procrastinating, I guess. Until next time!
Mmpf
Sick days are always the worst. Especially when they are unpaid. I woke up this morning with the worst migraine I've ever had (I blame Erin and Dani playing ChronoCross all night), and decided I needed to stay home; there's no way I'd make it through the day like this. So now I have the day to myself, but I can't even enjoy it because everything feels like a bad acid trip with a robot elephant standing on my head. Worked a bit on the site, made the media section work sortof; built a dinky foreach/scandir/lightbox dealie for a nice gallery view. Toying with the idea of playing with mod_rewrite today.
Erin and Dani are off to see Dani's therapist; apparently she wanted to meet Erin. Guess I'm just not important enough to want to meet. Whatever. Dunno what I'm gonna do for the next couple hours. I watched the Blizzard 20 year video, and it yet again reaffirms my want to make my business happen. I love video games, and I'd love to work for a video game company. Blizzard, in particular, would be fantastic. I love everything about the company, from it's history and culture, to the games it makes. Perhaps someday.
Blag, NAS, TV
I think the blog is just about where I want it. I still need to figure out how to recompile apache with mod_rewrite support and not break any other sites in the process. I'd like to use the /%year%/%postname% syntax as my rewritten blog post URL, but at the moment POSTFIX just looks ugly. I'll leave it at the default for now. Search engines may ignore it, but I can always add some SEO later. And I need to customize this theme as well. I was thinking I might combine the Eminence v3 look to give it an outer-spacey feel, but I haven't figured that out quite yet. I'd also like to incorporate some of my writings onto new pages, but that's still in the works. At the moment I'm pretty satisfied with them all being imported (except the old Andromeda's Peril and Andariel's Quest shorts I found) into Google Docs, but I really don't want to maintain them in two places. Or make them totally public. On that note, I still need to clean up the directory structure in this subdomain. Most of it is just there behind the scenes as reference for me, some of it is still hotlinked elsewhere. If I can get mod_rewrite going, I should be able to take care of both issues and just redirect the missing stuff to the correct location.
I recently purchased a ZyXEL NSA221, a two-bay networked storage enclosure. It is pretty sweet now that I've gotten used to it, though the transfer speeds are abysmal, even over a gigabit link. Somewhere around 8Mbps transfer. Reading from it is fine, and it has no issues streaming to two PCs and the Xbox at the same time, which is pretty sweet and mostly why I purchased it. I was hoping to get the built-in Bittorrent client working to auto-download from RSS like my desktop currently does, but it only supports 10 active torrents at a time, and isn't nearly as customizable as I'd like. So for the moment, it's just used as storage and a streaming media server. I wrote a batch script to automagically extract torrents as the finish, and move them to the NAS, for instant viewing.
I was originally hoping to use the NAS for my Music, TV shows, Movies, and as a backup solution for my user profile, but I severely under-estimated my space usage. I had purchased two 1TB WD Caviar Blue drives to run in JSON, but after having the first drive fail in under 24 hours, I decided to put them in as Raid-1 mirrored. So 2 2TB drives would have been a better investment, though at the time I thought I would already be getting 2TB of usage, and 4TB seemed a little excessive. As it stands, the NAS has only our TV shows, and is 75% full and climbing. I'm not too worried about it, most of the big TV show packs I have are ripped copies from my DVD box sets; If I have to throw a DVD in instead and delete the rips, that's not a huge deal. For the moment.
Planning ahead, I'd really like to look at getting a 5-bay QNAP NAS, which should give 8TB total storage, with a hot spare in Raid-5. Between all the PCs and the current NAS, we are using about 3TB, so that should give us plenty of space to grow. Having the failure protection will be really nice as well. One of the neat features with both the ZyXEL and the QNAP NAS' is that they can operate not only as a media streaming server, but also generic file storage, iTunes home network sharing, and an endpoint for VPN access. Having access to everything on the go would be fantastic, though not really a necessity at the moment. Jobs in the future may require a bit of travel though, so it could be soon.
An aside: I am a big fan of Newegg. They generally have the best prices on all the hottest electronics. However, my track record with them recently as far as storage is concerned, is not the greatest. Of the last five drives purchased, 3 have failed. Some people I've talked to indicated this could be due to how the drives are stored before shipping, but I have to say: Don't purchase storage from Newegg. You may pay a little more for the same product, but if improper handling is causing an inordinate amount of drive failures, you have to factor that cost in as well. The replacement may be free, but lost data is still costly. Also make sure you don't put your drives vertical, as they could spin too fast and let all the data fall out! ;D
Mobile Devices
I shouldn't try to type stuff on my iPod. Either I deleted my last post or it went somewhere else on the Internet. Neither of which I wanted
Snappy Title 37 Not Found
Well, the weekend is about to be over. Back to another week of work! This week might be a little more interesting; I got roped into presenting a session on Moodle Administration at the upcoming HECC conference in November. And by interesting, I mean I have to pull a presentation out of my ass on a topic I was going to the conference to learn about. Ha. Still, a trade's a trade: I get to go to a day long seminar on Network Security, so at least I'll be getting something out of it.
Didn't quite make it to 20 on Maelfas, I got sidetracked with crafting and PvP in WoW. Made it to 19.5 though, so the next half level shouldn't be too difficullt to burn out. I was going to go to Morheim to start the campaign quests for level 20, but I can't get most of them yet. Ended up broke and grinding mobs for crap to cash in
A few brokered items sold though, so I was able to get a NICE shield and enchant it. Should help out the survivability. Still trying to decide whether or not to spend some manastones for crit and attack to speed the damage, not sure if it's worth the cost for the gear that will be replaced in a few levels. Then again the leveling is kinda slow, so it might make that go a bit faster. We shall see.
Raped in WSG for a while on my warrior. People always complain about a level 50 in the 50-59 bracket. Sure, I might not be able to do a lot of damage to a 59, or at least that's the assumption. I threw it in the raid's face every battle though as I was #1 DPS on the ally side. L2play. Not that I'm trying to be elitist or anything, but that's pretty ridiculous to get on my back about being too low to make a difference and yet I'm putting out the most damage of 10 other people. They're all idiots, and I'm apparently better. Maybe that is elitism, but it sure as hell seems to be right to me! My plan for my warrior is to level her to 58 solely through battleground experience, then romp through Outlands and Northrend. Still haven't decided if I want to keep her as a 79 twink, or dual-spec Arms and Prot and replace Haf as my main. Time will tell I suppose, as I've got a ways to go to 80
Pix managed to find me on AIM tonight so I ended up logging in to WoW to tank Anub'Arak in the Trial of the Crusader 10 man raid. We made significant progress but couldn't manage to get him down. Only a few percentages away from the final phase, but our DPS couldn't stay alive long enough to get him there. Something to work on for the rest of the week, looks like. I was going to back to House-- (Oh my god this show is hilarious. I can't believe I never watched it back then. I'm about halfway through Season 3 at the moment; lolol.) but WoW seemed more fun at the moment. About to watch the new episode of Family Guy and Cleveland before I fall into the blissful embrace of nothingness we humans comfortingly call sleep.
Found out Erin's having a themed Halloween party. The theme is "Famous Historical Figures" -- My original idea of going as Hitler was shot down as some girl already called it
So now my choices are between Eva Braun (Hilarious, but where do you get a gigantic dress?) and Sir Winston Leonard Spencer Churchill! The possibilities of ensuing debate and hilarity sound...intriguing. Just gotta figure out a churchill costume...I suppose I can just find a white suit, top hat and monocle; no one would know! Or maybe that was KFC's Colonel. Hey, maybe that would do >.>
And as I said, the weekend's about over, so I do believe I'll call it a night. Farewell, 1's and 0's!
Blog Fail!
Well, I've gotten the PHP side of it down. As it stands, I just need to build the admin backend. However, redirects have stopped working. But only in that directory. Same code, same URL, doesn't work there. WTF. So, I'm going to bed. Screw wow, screw PHP, I'll deal with it all tomorrow. Maybe. Or I'll just put it off and use phpmyadmin. At least I can depend on it to work. >.>
LDAP/eDirectory
So, this week I developed a PHP authentication schema using the LDAP functions. This was designed as a modular component, to be reusable throughout further web applications. Also means it's nice and portable. I don't have the code here at the moment, but when I do I'll release. Basically, our script connects to your NDS eDirectory server, and binds anonymously. To incorporate context-less logons, we then search for the provided username (cn) in your organization's tree.
Due to the nature of ldap_search(), you can also use this to require users from a certain tree; aka only your staff (no students), etc. This is just done by specifying OUs. eDirectory requires a TLS connection for encryption between the webserver requesting the LDAP info and the eDirectory server itself. This is nice; provided that you have an SSL connection to the page where your authentication sits, your security is already done for you! passwords will not be sent in plaintext between the NDS and web servers.
This script would be especially useful to those building web applications for use in a Novell environment, but with a few modifications it could work with other LDAP schemas too, including MS Active Directory.
In other news, I reapplied to join Indy Powerplant, and I'm planning on going to the Stompfest LAN Party on Mar 29-30.
