September 20, 2010

Team issue tracking with Redmine


Two years ago, while struggling with SOX audits, one of the things I was asked to do by the auditors was to deploy an issue tracking / helpdesk program for my IT team. There are a whole bunch of issue tracking programs available, but my entire IT team consists of five people, including me. All of the issue tracking programs I looked at were too complex, too expensive, not internationalized (e.g., doesn't support dd/mm/yy format), or all of the above.

I didn't forget the open source projects such Trac, Mantis, OTRS, or Redmine, but they all seemed to experimental or overly complex due to feature creep, and I really wanted something online that could be accessed from anywhere. I kept stalling this project but I've kept my eye on things for the past two years. Recently though, my projects have gotten complex enough that I actually needed an issue tracking system myself, and not just for satisfying the auditors.

Redmine 1.0.1 ("very stable release") was released not long ago, and when I looked at it, it has just the right features for my team to use. Oh, before I finally decided on Redmine, I was almost going to go with Pivotal Tracker. Pivotal Tracker is free and has just the right features for me as well, but the website and its AJAX interface was somewhat slow, but this maybe due to my Internet connectivity.

I decided to install BitNami's native Redmine stack for Windows since I already have some Windows terminal servers. I could've rolled my own Linux server, but those Windows servers are mostly idle enough to run an additional service. I've already used BitNami many times in the past, and BitNami Redmine installed without a hitch.

Unfortunately, when I tried to set up email notifications according to these instructions, it didn't quite work for the Windows native stack version, probably because some of the expected commands such as ruby or git aren't automatically in the path, but I kept getting "plugin not found error".

My solution was to download the TLS plugins files as a source archive directly from the git repository, and extract it into "C:\Program Files\BitNami Redmine Stack\apps\redmine\vendor\plugins". I also renamed the extracted folder into "action_mailer_optional_tls" like the git installer does, but I don't know if that's necessary.

After that I made the necessary changes to email.yml according to the instructions in the website above, and it all worked, right on the first try.

(NOT! It not just didn't work on the first try, I spent like three hours on this thing with like five different versions of smtp_tls.rb and tls_smtp.rb placed into various folders, I tried different settings in email.yml, I tried editing production.rb and environment.rb to include the plugin. All because I read that the plugin wasn't necessary any more since TLS support is now built-in, etc. etc. Finally I downloaded BitNami's openSUSE Redmine virtual appliance and installed the plugin there using git to see which files get changed, then manually did the installation in Windows. No thanks to outdated and contradictory documentation floating around on the web.)

Ahem, anyway, while writing this I realized Redmine doesn't have an official logo. I really like the one Cyber Sprocket Labs uses, plus the favicon displayed by Redmine is also the same red arch. I also installed the Watersky theme to remind myself of the babes at the beach rather than burying myself in managing projects. (See picture above.)

Finally, Redmine does have an issue accepting date formats in our local preferred dd/mm/yy format in date input fields. But this is a relatively minor issue since all date input fields have a handy pop-up date picker tool.

September 17, 2010

Cancel all technology

In mid-2005, I bought a Nokia 6630. At that time, the Nokia 6680 was just released, so the 6630 had dropped in price, which was why I decided on the 6630 and not the 6680. There's really no difference between the two models aside from the looks and the front-facing camera. The salesperson kept trying to talk me into getting the 6680, the main reason of course being that the 6680 has a front-facing camera.

"You can use the front camera for video chat!"

"But there's no 3G in Thailand."

"It's coming soon!"

"But it was coming soon since last year."

"It's definitely coming this year! Before end of 2005!"

"I'll believe it when I see it."

"You'll regret it, you'll be buying a new phone next month to get video chat!"

Fast forward to 2010. After months of 3G auction schedule confirmations for September 17, CAT wins fight to kill 3G auction. Like I said, I'll believe it when I see it.

Image source: Thailand Business News

September 12, 2010

Linux distributions

What happens when an experiened Windows guy with a bit of OS X experience tries out Linux for the first time? Well, not really the first time, I did use Linux long ago, and I use Linux inside VMware for some cross-compiling, I also have Linux on my netbook for browsing, but what happens if I install it on a regular laptop, and attempt to use it like a regular desktop OS?

Man, installing Linux in 2010 is nothing like it was in 1992. (1992 in computer years is a little bit like 1492 in human years.) The first thing I had to do was determine which distribution to use. My "long ago" Linux was SLS Linux, or Softlandindg Linux System, which was the great-great-great-grand daddy of all distributions. It wasn't really even a distribution, it was more like a set of floppy disks that gets the Linux kernel installed on the hard drive and made bootable, and creates a user then a login prompt, that's it. Everything else had to be downloaded (at 28.8 Kbps!) and manually compiled and installed. I even had to install X (X11R5) and fvwm and create the Xconfig, all by hand.

Oh, it's not like I haven't kept in touch with the Linux world. I know of all the popular distributions and I've tried them out from time to time inside VMware. I just don't see why there are so many distributions, surely there's no need for religion specific distributions?!

Anyway, I don't want to do a lot of things manually now, so I want a modern distribution that's easy to use. Isn't Linux supposed to be taking over the desktop? So things should be easy? Let's find out.

Testing Linux distributions is really simple with Live distributions or installation through VMware.






The images above were captured from Ubuntu, Fedora, Linux Mint, and openSUSE, using their default desktops, in the order they appear on distrowatch.com. I actually tried a whole bunch of distributions, but these four were my favorites based on ease of use and initial configuration. It's no surprise that they also happen to be the top four on distrowatch.com. After trying them out in VMware, I then proceeded to install them on my laptop.

(Continued in Part 2)

September 10, 2010

iOS 4.1 pwnage


SHAtter is such a great name for an exploit. Word has it that this exploit can jailbreak all current iOS devices including iPhone 4, iPod touch 4th generation, and iPad. Details still scarce, but I can't wait.

September 9, 2010

Google instantaneous

I've been having trouble with Google searches for the past week or so, where the suggested items wouldn't disappear when a search is finished and just ends up covering the top results; and clicking on the suggested items in the search bar caused unpredictable behavior. All was resolved yesterday when Google officially brought out Google Instant.


Google Instant shows search results while I'm still typing, which is kinda annoying at first but I realized it's much faster than having to wait for search results to appear after pressing enter. The best thing though, is that when going through additional pages of search results, it's almost instantaneous. There's no longer a delay to wait for the additional pages to load. I like it.

Happy 9/9!

September 4, 2010

Internet over VPN

The kind of VPN that I know best is site-to-site VPN, which I've implemented a number of times using low-cost hardware. Recently though, I've became interested in using VPN tunnels to secure and encrypt my Internet connectivity, and also to access sites that I otherwise can't.

Before.








After.








Okay, the Wikileaks site I could always access by typing in the URL differently, but the other sites only work with an USA IP address.