Archive for Tech

Getting my Fixx

// July 10th, 2008 // 3 Comments » // Scripts, Software, Web

I have not, and will not claim to be the tidiest person on the planet.  What I am, however, is a very organized unorganized person.  That is to say, while my desk looks like a mess to you, I absolutely know where every little thing is on it (so don’t touch anything).  Where my failing is, is that I tend to be forgetful, especially through the course of a day where I tend to switch tracks several times going from task to task.  This is especially a problem at work, where I will tell someone I’ll get something done, get distracted by some other problem, then forget about it.  This set me on a mission to find some software to help me out.

Fixx DashboardWhen I’m doing stuff over in dotCMS land, I am usually working with JIRA issue tracking software.  That’s what they use for dotCMS development tracking, and we’re using it to manage tasks on our site redesign project with them.  So I used that as a baseline.  While it isn’t the most clean, modern looking interface, it is very functional.  Besides, it’s also what I’ve gotten very used to, it’s comfortable.  But, it’s also not free.  There are some other systems out there I looked at, like JTrac, Eventum, Bugzilla, and a few others, but for various reasons, I didn’t run with them.  For instance, Bugzilla was too involved to install, and wouldn’t be very portable, Eventum I gave a pretty fair shot, and it  was very nice and very flexible, but had a very dated interface.  Most of the others I came across you had to pay for, or they were just too watered down.  Naturally, I posted to Twitter about my hunt, and along came the name of a product my search hadn’t turned up: Fixx.  Immediately, their interface certainly jumped out as the cleanest of the bunch, and they made used of AJAX (Asynchronous Javascript And XML) to speed things along.  It supports multiple projects which can have parts/components, you can give client access to projects, create custom resolutions and priorities, manage version releases, and even tie it in to Twitter for notifications.  It even supports OpenID.

Editing a project\'s versionsLike JTrac, Fixx is a Java based system, and with my usage of dotCMS, I’m not uncomfortable working with that these days.  All that means is that you better make sure you have the Java JDK installed, and have your JAVA_HOME environmental variable set.  Fixx is not free for groups, but it is free for single user usage, which is exactly what I was going for (there is an educational license discount if you want to use it at a school or college).  When you download it, it comes prepackaged with Apache Tomcat, and running the startup file will set up a webserver on your machine on port 9000.  So, to access your new tracker, you just open http://localhost:9000/ in your browser.  In my case, I tossed it on my server at home, punched a hole in my firewall, and set up a subdomain on that port so that I can access it from any machine that I’m at.  All said, this was all surprisingly painless.  Before I put it on my server, I was even running it right off a thumb drive for a little while testing it out.

So, with it up and running, I jumped right in.  I’ll give them credit, they took their goal of a simple but flexible issue tracker to heart, and seem to have made a nice run of it.  While Eventum is pretty crazy powerful, the interface is dated and cludgy.  Fixx isn’t so flexible, but it’s just plain nice to use.  It makes me think of why Twitter remains so much more popular than Plurk.  Plurk is better, with more options and features, but there are times when simplicity really sells.  And Fixx still gives you enough options and controls to make it worthwhile.  You can do unlimited projects, set project leads, make your custom resolutions and priorities, set sub areas, move tasks to new projects, and plenty more. Basically, all the “important” functions are there.

Viewing a taskCreating a task is as simple as most others: click the link, fill in the fields, and save.  But the interface that displays the task is soft and easy to look at (compare that to Eventum some time).  Information is easy to find, and it’s laid out in a manner that makes sense.  All your controls open up right on the screen, so you can move the task, resolve it, log time, attach files, comment, etc all on the same page without jumping around.  And again, they have tried to keep the options trimmed down a little, and aim more to make it fast, easy, and straightforward.  To me, this is absolutely perfect for the worker or freelancer doing a lot of things on their own.  For a larger group, the Bugzilla or JIRA path makes a bit more sense probably, but even then, there’s not much that those do that Fixx can’t.  The one big exception being nested tasks, or making a task dependent on others.  You can’t designate a task as a parent to another one or such.  That’s one big area I’d like to see change (and I already put in a feature request on the matter).

Overall, I’m impressed.  I haven’t seen another free issue tracker that is nearly as polished as this one is.  It also is perfectly suited to my particular needs.  I think anyone who needs a hand getting some of their tasks organized could stand to benefit from an install of this.  Heck, I even created a project for development of my Grayplicity WordPress theme, so now I can keep a nice bead on what I need to do to improve it, and store recommendations I want to follow up on as they come in.  What about you?  Is there a system that you are partial to, or maybe on online project tracker that you think is very good?  Share your thoughts.

The Q6600 and Me

// June 30th, 2008 // No Comments » // Hardware, Tech

Well, I’ve had a couple days with my new system, and as promised, I’ll share my impressions.  Overall, I think it is going well, and I’m pretty pleased with what I got.  I haven’t ran into anything bad, but I’m pretty sure the machine is sneaking into my bedroom at night to watch me sleep.  But that could be my imagination.

PICT0326Anyway, assembly was nothing.  Par for the course.  Heck, ripping everything out of the case was probably harder than putting it back.  Plus there was the whole air compressor + dusty innards = sneezy me.  The only thing I discovered was that my PSU didn’t have a 6 pin graphics card power plug, and I thought it did.  Luckily, the card itself came with an adapter.  For those of you not up with the times (kinda like me), the LGA 775 socket uses a new retention mechanism: a plate that flips down over the CPU to press it onto the contact points.  Remember, these processors no longer have pins like the old days.  But it is sorta neat, and it makes a kind of crunchy noise when it locks down.  At first, this scared me, till I realized it was just the socket’s pins compressing down as the CPU locked in.  The thumbscrews you see around the socket go to my behemoth of a heatsink, the Tuniq Tower 120.  I had to order a new backplate because I lost the original (socket 754 boards didn’t need it), but it fit well as you can see, and the screws were tossed on so I wouldn’t lose them.

I’m pretty impressed the the setup of the board cooling too.  The P35 northbridge chip while solid, is not high performance, so it doesn’t get real crazy hot, and there’s no need for active cooling on it.  But what they did was set up a series of three copper heatsinks joined by heatpipes.  So, this makes for decent cooling, with no extra fan noise.  And it looks pretty.

PICT0327The Tuniq Tower is where it’s at.  I got this as a review sample some years ago when they were brand new, and I must say, it is withstanding the test of time.  It’s still one of the top rated heatsinks you can get at Newegg, and fits pretty much any CPU on the market.  The catch is, it’s HUGE.  I’ve told people about this, and they just don’t grasp how truly tall this thing is.  Don’t get one if you have a tiny case.  The picture at the left should give you some idea how big it is.  Height on it is over 6″.  But let me tell you, it does a heck of a job.  I have noticed that even under load, I haven’t had a need to turn up the fan speed above the lowest setting.  Eventually I’ll start overclocking the CPU to see just how much I can juice it for with this.  My old AMD rig needed to be running with full fan speed full time, and it didn’t have much headroom for any overclocking.

Okay, cutting to the chase, I dropped in the RAM, got it set up in dual-channel mode, popped the motherboard tray back into the case, and dropped in the video card and other misc cards.  Again, I had no complications, and everything seemed to play nicely.  I’d read of some problems with the Neo2 having its SATA ports blocked by long video cards, but I didn’t experience this with the Zotac 8800GT I put it.  This might be because it is a single slot design, whereas a lot of cards take up two slots of space with large coolers attached.

PICT0329Here’s everything dropped in.  You can see the footprint of the Tuniq Tower here, and while you can’t so much see it, it comes nearly right up to the side panel because of its height.  Cabling is a mess with this PSU though, because it isn’t modular, and they were generous on lengths.  Plugged in and turned on, between the video card and the motherboard, it’s quite the light show.

Now, this is where my first scare came.  Apparently the Neo2 does a funny thing where it power cycles when it detects BIOS setting changes for hardware.  So if you change the bus ratio, like I had to to set my RAM to 1066MHz, when you restart, it will power cycle a couple times, before actually booting.  This scared the bejesus out of me the first time, as I thought something was wrong.  There’s not, that’s just how it works.  Once your settings are done and final, when you start up, it’s normal as anything.

So far I’m just running Windows XP.  A storm killed the power halfway through installing Ubuntu on my second partition, and I haven’t gotten back to it yet (and man how I want to play with Compiz with some proper graphics).  Boot up times aren’t really anything to write home about.  And in all honesty, day to day activities aren’t really dramatically different.  I expected it to be a little snappier opening up applications and such, but so far I haven’t felt that.

This slight disappointment is totally offset by the performance.  I have been taking some TV shows and converting them to DVDs lately.  Previously, a 30 minute episode took about 30 minutes or so to encode and it pretty well pulled the machine down to do it.  That normally meant queuing up a bunch of episodes and letting them encode overnight.  Now… damn.  Four and a half minutes, tops.  Some faster than that.  The encoding speed is staggering.  This is a huge boost to me, as I don’t have to plan any more overnight encoding sessions.  Games so far are rocking too.  FarCry runs fully cranked up, native resolution, with full anti-aliasing and anisotropic filtering without missing a beat.  3DMark06 gave me better than 12,000 points.  I plan on trying out some more robust games soon to see how it holds up against something a bit newer (plus Spore comes out in September!).

Now I’m looking forward to pushing things a bit harder, trying some newer games, and getting Ubuntu running on the machine.  So far, so good, and I’d say it was money well spent.  The parts like each other, and the results thus far seem to agree.

Out For Delivery (sorry AMD)

// June 29th, 2008 // No Comments » // Hardware, Tech

Okay, so I managed to find an economically stimulating purpose for my economy stimulus check, even though I promised myself it was going into savings.  I’ve been orbiting the idea of getting a new computer for some time now, but kept pushing it back.  Prices finally came down to a point where now I don’t feel too guilty about getting some new gear in, and bringing myself back up to par.  Plus, I can’t let Steve have a better machine than me, I just can’t.

There was a time when my socket 754 AMD 64 3200+ processor and ATI 9800 Pro All-In-Wonder were top notch.  Naturally this was about five years ago when I still wrote hardware reviews for ThinkComputers.org, and I was able to take advantage of AMD’s Marketbuilder program to score a ridiculously fantastic price on the hardware.  Back then, it was still somewhat easy to pick out what you wanted.  There was variety, but it wasn’t to the point of confusion.  For instance, if you wanted an AMD processor, you went with the then being phased out Socket A, or the new Socket 754.  If you wanted a video card, a 9800 Pro was a sure bet, and the 9800 only had a few basic variations: the SE, the 9800, the Pro, and the All-In-Wonder.  Pretty simple.

These days…man…I’m not sure what’s happened, but it took me a couple solid months of research and scrounging through Tom’s Hardware’s performance charts to figure out what I even wanted.  I can’t even try to keep up with motherboard chipsets anymore, and the variations on video card GPU’s is staggering.  So, I thought I’d go in to what I got and why (so I hope you’re happy now @abosio), in case you need some help coming up with a plan to cut through the crap.

PICT0325First off, I am making use of some current hardware.  My 520W Raidmax Titanium power supply is up to snuff, so it stays.  My hard drives are ample, so they stay.  My DVD-ROM is forever reliable, so it stays.  After four years, my Tuniq Tower 120 is still one of the top rated heatsink/fans on the market, so it stays.  And lastly, I think I’m going to let my Sound Blaster Audigy Platinum hang around.  This last one was stretching it, as I think onboard sound processors these days are plenty good for my needs, but I don’t know what else to do with the card, and I love the 3.5″ bay input box that comes with it.  I also think it was a much more reliable card than anything Creative has put out in recent years.  So, all these parts save me a few dollars.

What I ordered: Intel Q6600 Core 2 Quad CPU, 2GB of Kingston HyperX DDR2 1066 RAM, an MSI Neo2-FR motherboard, and the Zotac 8800GT overclocked video card.  Total cost: $551.60 shipped.

CPU
I almost felt dirty jumping the AMD ship.  I have normally been fiercely loyal to the AMD brand, and nearly stayed that way.  I looked closely at the 6000+, and for $74 after a $45 off coupon code, it’s dollar per performance beat the hell out of the Q6600.  It fell behind it only marginally on the charts, and normally I’m okay with that.  What I wasn’t okay with was that it is a 125 watt cpu, which is beaten by Intel’s 95 watts.  AMD has also started suffering from socket confusion, as they had been using the AM2, which has evolved to the AM2+, but will yield very soon to the AM3.  This is what happened with the Socket 754/939/940 mess, and was exactly why I got stuck with a socket 754 chip now, that leaves me essentially no upgrade path short of a rebuild.  On the other hand, Intel has proven that its LGA 775 socket is ridiculously reliable, and while the replacement (Socket H/LGA 715) is on the map, it’s not coming any time terribly soon.  So, while the Q6600 was quite a spot more on the cost side, I feel like I’m future proofing myself better (not to mention getting 4 cores, instead of 2, which isn’t a big deal now, but should help me scale in the future).

Video Card
While I was always loyal to the AMD brand, I’ve never had such loyalties regarding video cards.  In fact, I’ve flip-flopped several times.  My first, and possibly best card ever was a VooDoo3 3500TV.  From there I went to a GeForce3 Ti200, and then to my ATI 9800 Pro.  And I’ve been very happy with them all.  So this time around, cost was the main factor.  I had never heard of this brand, Zotac, but the card on Newegg was getting great scores and praise, with 5 stars after 120 ratings (and a 93% pure 5 star rating).  The card retailed at $199, Newegg had it for $169, and there’s a $30 mail in rebate (assuming it goes through).  So, basically you are getting one of the most solid mainstream cards for about 40% less than competitors.  Granted, the ATI 4850 looks poised to take the crown away from the 8800GT thanks to it’s price:performance ratio, but I can live with that for now, because you can’t get a 4850 for $139.  Yet.

RAM
I went with the cheapest RAM I could get that wasn’t junk value RAM, and matched the max supported by my motherboard, which was 1066MHz.  Kingston HyperX is solid, with good ratings, and a lifetime warrantee.  I’ve also used Kingston in years gone past, and had good experiences with it.  Enough said.  If you buy RAM with heatpipes on them and huge heatsinks because you think it will work better, you’re pretty much paying a really high idiot tax.  RAM doesn’t need heatpipes.  I’m looking at you OCZ.  In fact, if your RAM gets hot enough that it DOES need them, I’d say you’re doing something pretty damn wrong.

Motherboard
Another big headache here.  The number of chipset offerings alone can make your head hurt.  Plus do you go with SLI/Crossfire options, or run with a single video card?  My idea was to get an option for SLI, and use it as a graphics upgrade path in the future.  When I started trailing, I’d buy another 8800GT and drop it in.  This is a stupid idea.  If you don’t buy two cards together, don’t use it as an upgrade path.  One, you’ll be lucky to find a matching card by then, and two, a single card upgrade is going to do as much for you as two aging cards.  Plus Crossfire boards were cheaper than SLI boards by a good measure, and I wasn’t buying an ATI card and didn’t want to shell out what they were asking for SLI.  So price and logic led me to the P35 chipset, which isn’t bad, provides solid performance, and isn’t a bargain basement chipset (though it’s not high end, by any means).  The MSI Neo2 was one of the better scoring boards at a price I could easily stomach, and it had all the USB/SATA ports that I was looking for.  It also looks like it takes cooling on the chipsets and mosfets seriously.

And there you have it.  My reasoning behind my four main components isn’t terribly involved, and I tried to just go with what was most logical (like deciding between single or dual card graphics).  I’ll follow up soon with my impressions post-rebuild, as well as a couple pictures of what things look like assembled.  I’m actually finishing this blog out having completed assembly, and let my tell you that so far things are favorable.

Overview of the New dotCMS 1.6 Calendar

// May 14th, 2008 // 7 Comments » // Software, Web

With the release of dotCMS 1.6 came one of the more anticipated new features in recent months, their new “social” calendar system. This calendar represented a noted improvement over the previous event portlet (though the event portlet still exists for some additional functions, like scheduling and managing conferences, etc). This new calendar makes use of a portlet to manage the system in the backend similar to the old event system, and builds out on the front end through a combination of Velocity, .vtl files, and some layout bits. It also creates event entries as content in a structure, so that it can be queried and pulled no different from any other content in the system (note that you might want to make sure that you don’t currently have structures called “Event,” “Building,” or “Facility” already, as it will want to make them if you are upgrading. New installs obviously don’t need to worry about that).

Screenshot of the new dotCMS Calendar systemIf you want to take a look at the calendar first hand, you can see the example that is up at the demo site, at http://demo.dotcms.org/calendar/. To access the back end, login to the admin console by going to http://demo.dotcms.org/c and plug in the user ID test@dotcms.org and the password test. In there, you’ll see the tab for “Calendar” that you can click on that will take you to a similar, but stripped down looking version of the calendar. I’ll be using the demo’s site front and back end when describing features, and in the video below.

Part of the major improvement with this system is that as opposed to the event portlet, it provides true calendar functionality, whereas the event system provided more of a list view, regardless of how you tackled it. This calendar is very AJAX (Asynchronous Javascript And XML) heavy, and thus can present an accessibility problem by default, but since all calendar events are simply structured content, you can very easily create a standard HTML based variant for users with special screen needs (and really, do you know a calendar that is truly 508 compliant out of the gates in the first place?). Storing events as structured content gives you an extra layer of control over the presentation of those events, control that is unmatched in other calendar systems. The interface itself is fairly smooth and intuitive, without a lot of tricky links, or confusing navigation (I’m look at you, Active Data Calendar). Though fairly simple in terms of usage, the fact that everything just works, and works like it should, carries a high value. And in keeping it simple, it is actually a very powerful little tool.

The calendar itself supports all the traditional types of functionality: Time, date, place, multi-day, all-day, list-week-month views, RSS feeds, detail view and searching. Additionally, you can add events from the front end (if enabled), tag events, filter by tag(s), filter by calendar(s), attach files and images, provide detail popups, and provide automatic integration into Google Maps. Using categories, you can effectively create completely self contained calendars of different events, and one event can exist within multiple calendars simultaneously. All in all, it’s a pretty nice feature set. It will also save you trying to integrate with a third party calendar for your business that would require and supply it’s own login, back end, and functionality challenges. With some CMS (Content Management System)’s, they might have a calendar, but it’s an additional install, plugin, or module that you have to manage. dotCMS includes the calendar out of the box (still free), and if you don’t want to use it, you just don’t display the page in the back end, so there’s no extra labor involved. Other enterprise CMS’s come with built in calendars, but you’ll pay dearly for those packages.

The primary challenge right now is that if you do not load the starter site, or are upgrading from 1.5.x, you don’t have all the front end files (not to be confused with the back end admin portlet for the calendar, which is totally there whether you upgraded or installed fresh and will be in need of no special attention) that you’ll need to display the calendar (this will be changing soon, however, as I understand they plan on bundling all that with the CMS so you’ll have it if you upgrade or don’t use the starter site). What I did to solve this problem was to go to the demo site, and lift all the files out of their /calendar directory. This had one disadvantage: all the files are hardcoded to the /calendar directory. So, what I have done is taken all these files, and modified them so that you can upload them into your system, and they will adapt to wherever you want to put it. Just download this zip file which contains everything needed to display the calendar to your visitors, extract it, and upload it either with the multi file uploader or over WebDav. The only other thing you need to do then is make a page in whatever folder that will be your calendar, let’s just call it index.dot, and place the following code into a piece of web page content that you use on the page:

  1. #dotParse(‘/absolute/path/to/load-calendar.vtl’)

This will load and fire off all the rest of the Velocity templates. There are two CSS (Cascading Style Sheets) files (grids-min.css and reset-min.css) that are needed because the calendar was designed with Yahoo Grids, and those styles make sure everything lines up properly. A third CSS file (cal-base.css) that is included is the base starter site CSS, and you could remove it as necessary to meet your styling needs, but I included it at the moment for the sake of appearance reproduction. All three CSS files are included in the zip file above already, and you’ll see them referenced in velocity/calendar.vtl. Using the files from the zip file, and the content above, you now have a calendar that you can move to a new directory should the need arise, or should you simply not want it in /calendar. If you move it, just make sure you change the /absolute/path/to in your piece of content to point at the new location of the load-calendar.vtl file. You could even make that portion dynamic if you wanted to, simply by removing the first line from load-calendar.vtl, and adding it to the content, making it:

  1. #set( $calendarPath = $VTLSERVLET_URI.substring(0,$VTLSERVLET_URI.lastIndexOf("/")) )
  2. #dotParse("$!{calendarPath}/load-calendar.vtl")

The only reason I didn’t do that by default was so that way you never have to copy and paste that set() from here (since I can’t “include” a piece of content in the zip file), and to keep the information going into the content item that tells it to make the calendar as simple as possible. Odds are, once you place the calendar, you won’t be moving it around anyway. But this way you don’t have to change all the paths yourself, and you aren’t locked into using /calendar.

Below, I have included a brief overview of the new calendar, so that you can see some of the functionality and how it all comes together.

Download zip fileDownload the customized dotCMS social calendar front end files (.zip, 131KB)

The Prodigal Son Returns

// May 8th, 2008 // No Comments » // Software, Travel

Finally back and settled in after returning from training in Miami. Now just very busy trying to catch up, and put some of the things that I learned to use. I did manage to grab some photos around the area on CocoWalk where I was, so feel free to browse the Flickr set. I also started playing around with geotagging the photos. I have no idea how useful that will be in the future, but what the heck? I wish that I’d had more time to get out and about, but I did hit two excellent sushi places, instantly reminding me that what I pass off as sushi here is nothing but a sick and twisted joke by comparison.

CocoWalk Street Tile workFirst, how come no one told me that some Chinese company was making new MGs? I saw one at the condo where I was put up at. It wasn’t anything fancy as far as sport convertibles go, but it was still pretty neat in its own way. Now I want to drive one and see what they feel like.

Nearby was CocoWalk, which is where the dotMarketing headquarters are and where I spent a lot of my time. It was Cinco de Mayo the night I arrived, so it was a pretty popular site, with the shops and restaurants (though I made the mistake of passing up Hooters.  I’m not sure what I was thinking to make that mistake). However, I did take a couple hours the night I got there and saw Iron Man. Let me just say, I was absolutely not disappointed. Go see it.

On the travel side, I think I will make the effort to never fly US Airways again. Worst planes and service I’ve ever dealt with. Tiny pretzels, mean spirited, inattentive stewardesses, terribly seats, and small planes. And to top it off, I appear to be getting increasingly worse anxiety while driving long distances by myself. My nerves light up high enough on the drive to KC and back that it very nearly makes me sick. I’m not sure what to do about this yet, but it is very unsettling. Obviously drugs would probably impair my ability to drive, and if I had someone drive me, it would cost a fortune. I think I’m going to try to start flying out of Tulsa, which is a tiny bit closer, or even Joplin, assuming I can find well timed hoppers.

As for dotCMS, I feel much better equipped than I have in the past after opening my skull and letting their lead developer pour knowledge into it for a full day. I anticipate having no problems setting up my development environment soon, and upgrades from here on out should be much, much easier. I also understand better how the parts come together, and what they do when the break. I also agreed to devote some time to helping with their community site doing some writing or theme crafting. That will be a fun side project I think.

I know some people have had questions about setting up dotCMS to run in an Eclipse development environment. If you were like me, you might have been having problems because you were reading the wrong setup documentation. Turns out there is a new one that was misfiled that is much better and up to date. Also, if you are running a dotCMS site on MSSQL, don’t run ant buildsql when you update. It breaks things, because it’s meant for the Oracle and Postgres camps. You’ll want to use ant buildmXsql.  Learn from my mistakes, heh.