Archive

Archive for December, 2008

Verizon Wireless uses Mantis for ticketing

December 17th, 2008

Many times, I’ve wished that I paid the $20 to get software for my Treo 700p to record phone calls. About a month or two ago, I had some issues with my phone and had to call Verizon Wireless. The poor woman was trying to open a ticket for me, but said that she was having some problems, as they were moving from one ticketing system to another, she was having some issues with the new one, and the old one was down at her location.

As she waited for a rep from another location to come on the line and enter the ticket, I happened to remark that I work in IT and had been doing some work with them (Eventum) lately. She mentioned that the old one was a proprietary system, but asked if I’d ever heard of Mantis. Of course, I said that I had. And was then asked if I knew much about it, and whether I might know what the problem she was having was caused by. Unfortunately, I had to say no, as I’d never used it for more than a few minutes. But I did get to confirm that a company as large and closed (they won’t support Linux, their phones run closed OS’s, and they block my port 80) as Verizon is happily transitioning from closed-source proprietary software to a GPL’d alternative. I also got another item to add to my list of telephone tech support people who have asked me (the customer) for support.

Unfortunately, I don’t see Verizon listed on the list of known Mantis users, so I have no way to fully confirm this.

Uncategorized , ,

WordPress… Finally!

December 17th, 2008

Well, I finally bit the bullet. I woke up this morning, got in to work (slow day) and said to myself, “My blog’s finally moving to WordPress. Today.” So, I read through the docs (really psyched about the Blogger import feature), downloaded 2.7 (latest), setup the DB and installed away. Once I did the preliminary things like changing the admin password and setting up some categories, I set about importing from Blogger.

Here was the first of the major issues. Though WordPress has really hyped their Blogger importer, they failed to mention that it is totally useless if you are self-hosting Blogger and publishing via FTP or SFTP, as I was. So, after a lengthy consultation with the great oracle of Google, I dedided I had two options – switch Blogger to publish to BlogSpot.com and use the WP import tool, or custom hack a script. I must admit, it felt a bit pointless… all of my old posts were in a directry at the same level as WP, it seemed quite stupid to have to jump through hoops to get that data. Though I’m not quite sure whether the GData API really doesn’t give access to posts if self-hosted.

I migrated publishing of Blogger to BlogSpot.com (foobarthudgrunt.blogspot.com), despite worries about confusing Google or messing up the little bit of ranking I’ve been able to gain. It successfully imported all 128 of my entries, and the few comments. But, as I navigated to the “Edit” page to have a look, an even bigger problem was apparent. All of the tags from Blogger had ended up as categories in WP. So I had no tags for any of my posts, and a gazillion categories with only one post in them. Luckily, the DB schema is pretty sane, and I qickly figured out that both categories and tags are stored in the wp_term_taxonomy table, and the difference between a category and a tag is simply that the taxonomy field is either “category” or “post_tag”, respectively. So, since I hadn’t added any posts in WP yet, I just changed taxonomy to “post_tag” for anything with an ID past the categories I’d added. And it seems to have worked beautifully.

Up next, however, was the hard part: sitting down with my list of categories and sifting through 128 posts to categorize them. The biggest pain is the default edit posts table in the admin interface lists 15 posts per page, and with a cursory glance at the source I couldn’t for the life of me figure out where that limit is set.

Next up, I spent some time looking over the configuration options in WP, updating my About page, and listing things to do in the future (more static pages, blogroll and links, etc.).

I was finally ready to setup pretty URLs. And… sure enough… I clicked “submit” to apply some changes to the default blog URL (my real domain, as opposed to the DynDNS domain) and subtitle, and I got kicked out of the admin interface. Try as I might, I had no luck logging in. I then found that WordPress doesn’t log anything anywhere – no MySQL log and no error messages in the Apache error log. Wondeful. I spent about an hour looking through the source, figuring out how the auth method works, and trying to set an MD5 password. It was obviously apparent that the password in the DB for my one user (administrative user) was generated by PHPass, not MD5, but the auth function was evaluating anything >= 32 characters as PHPass, and the MD5 of my password was 32 characters, so that wouldn’t work. I tried the “forgot password” link with both username and email, but no mail was being sent. When I reached the 2-1/2 hour mark, I started instrumenting the login code with some error_log() lines to see what was up. I narrowed the problem down to the block of code starting at lin 48 in wp-include/user.php – specifically, according to the comments, no credentials were being passed but the cookie wasn’t set. And it’s silent in that case. So, at this point, I’m totally lost. I decided to clear all of my browser’s cookies and auth info, and try again. No dice. After nearly 3 hours, I decided to do a packet capture, and found the horribly simple reason. Somewhere in the code, WP is evaluating the “siteurl” or “home” values from wp_options, and using them instead of just doing relative links. As a result, when the form submits, Apache keeps returning a 302, and the form submission never makes it there. Hopefully this won’t create a problem when I transition from DynDNS to a real static IP and domain name.

Next I enabled pretty permalinks, enabled mod_rewrite in the vhost, and selected a new template for my blog (though I’m planning on doing some heavy customization). I didn’t want to leave the default template up for too long, in case Google’s heavy crawling of my site picked up all of the new content somehow… I ended up narrowing it down to three themes, coincidentally all designed by mg12: Blocks2, iNove or ElegantBox. I installed them all on my box and looked at iNove first, and it was love at first sight.

So, that’s where it stands right now. I finally have my blog on WordPress and running, and have a theme. The action plan for tonight includes:

  • Using RewriteRule and a PHP script to point all of the old Blogger URLs to the new WordPress installation.
  • Adding some new static content, and top-bar links to my other sites.
  • Refining the theme a bit, possibly?
  • Adding links to my sites, and to the blogroll.
  • Adding the buttons/plugins for del.icio.us, Digg, Slashdot, reddit, etc.
  • Redirecting my main blog page to WordPress.
  • Redirecting or linking my old feed locations to WordPress.

Projects , , ,

The Jargon File

December 12th, 2008

I know it’s been quite a while since I’ve been around. Hopefully I’ll post more, as the semester is pretty much over and it’s time for my winter projects.

I was pretty bored working on assignments for my Database Technologies class the other day. I had also recently purchased a copy of The New Hacker’s Dictionary (the printed edition of The Jargon File) from Amazon and was reading through it. For those of you who aren’t familiar with The Jargon File, it’s the standard glossary of the wonderful terms thrown around by us geeks and hackers, as well as a source for definitions of the many words that have fallen out of favor… well… when people stopped logging in to mainframes to write their thesi. It’s currently at version 4.4.7 and is painstakingly maintained by ESR.

Anyway, I happened to be randomly flipping around the book, and landed on the entry for zeroth on page 501, which made reference to fencepost errors on page 187. What a pain to find! So, I stopped by the listing of alternate views of the Jargon File… but found all of the ones marked as searchable to be gone. So…

Over the course of a few days (I guess it’s an example of how time can be made – I did this during the final week of the semester, exams and all, and finished all of my classes as well as this project) I downloaded the DocBook XML, wrote a few scripts to parse it out and put it in a MySQL database (complete with cross-references, indexes, and (hopefully soon) full-text searching).Then, I added a simple web interface allowing various types of searches and listings.

Though the project was done more to occupy myself and get a little more experience with PHP parsing XML and doing full-text searches, hopefully I’ll have the time to finish it up – there are still a few minor bugs (the parsing lost some of the formatting of ASCII art… I think there’s a trim() that got stuck in there somewhere) and I’d like to implement full-text searching of definitions, overall it was a fun project, given that I did it in about 4 days while working and finishing up school.

If you’re looking for a searchable, cross-referenced version of the Jargon File online (complete with revision history and comments), take a look at The Jargon File on JasonAntman.com. There’s a search function, listing by first letter, one-page listing of all entries, and hopefully a few other goodies soon. Most importantly, though the documentation is sparse right now, the scripts used to parse the XML, cleanup the database and display/search everything are available for anyone who wants them.

Projects , , , , , ,