Bug Tracking on the iPhone with JIRA Mate

My dev team uses JIRA for bug tracking. It’s a flexible project management and defect tracking system. As with almost any bug tracking system out there (Bugzilla, Trac, etc), web based defect tracking from a mobile handset is not very user-friendly.

Enter JIRA Mate (formerly JIRA Buddy), written by Shaun Ervine, an application for iPhone and iPod Touch specifically for interfacing with your JIRA database. I was surprised by this application being available before a Bugzilla rev, let alone even being available at all. I’m not complaining. Bugzilla fans should get a move on for their own app.

JIRA Mate simply uses your saved filters allowing you to access your JIRA issues straight from your iPhone.

Since JIRA Mate is helping out your business I guess you could write it off as a tax deduction :)

The app is $8.99 and allows you to pull down issues organized in filters you’ve created in the standard web app, sorted by date (your filter sort setting is not utilized). It does not have issue creation or editing capabilities, but does pull comments and allow you to comment in kind. It’s perfect for keeping your finger on the pulse of your bug database and staying in communication via comments.

How to virtualize Windows on an Ubuntu host for an optimized dev / qa environment

 Ubu-Xu-dows

After converting my MacBook Pro in to a Windows developer dream, I wanted to have the same experience on a more portable, commodity hardware unit. Virtualizing Windows within Windows with VMware Server is something I’m familiar with. It’s something many Windows developers may prefer (and I recommend if you’re not comfy with linux as your host OS).

Quick background: Virtualizing a development/qa environment allows one to have an easily cleaned control environment. When a machine gets dirty (too many installs, tests, builds, or other garbage collects), you can simply delete the virtual instance and copy a fresh installation back over. This saves a ton of time. In dev, this allows a safe, clean, environment to test builds in. In a QA environment, this allows a very fast way to return to a known state.

My goal in a virtualized dev/qa environment is to run a host which consumes an absolute minimum amount of resources. I run virtualization software that allows more than one running VM at a time, such as VMware Workstation (PC), VMware Fusion (Mac), or VMware Server (PC or Linux). If you’re running Windows as your host OS, I recommend Windows 2000 Advanced Server because it is tunable to consume less resources than any other flavor of Windows (including Windows 2000 Professional).

Given that Linux runs on wrist-watch sized systems, it’s a safe assumption that one will get better performance from virtual machines than on a virtualized Windows environment. I chose Ubuntu since it’s super simple to install, is fairly reliable, offers similar features to Windows, and is still a smaller footprint my Win2kAS machines.

I started with version 8.04 desktop (hardy). The installation was a piece of cake, but there are no tuning options in the basic .iso. I installed VMware Server, but just while running the OS I could tell I would run in to performance issues later. The desktop flavor of Ubuntu isn’t light enough to pass all the processing power through to the VMs.

Instructions

Continue Reading

This morning’s bugs with getting in to the ‘flow’ – starting day 5

Day 5 – 7:30AM EDT, 10 TPM (Tweets Per Minute)…

Links: Day 1Day 2Day 3Day 4http://twitter.com/solhttp://solyoung.com

Waterbug Faucet

This morning’s Twitter experience has found some bugs in the system. Last night I added a few hundred friends but didn’t go through my email for add announcements… Doing that now.

Most of the friends I added have added me back – I think making it clear I’m not a spammer and that I genuinely want to participate and learn from everyone in a flow helps here. There are some bugs with Twitter’s pages I’ve run in to.

As I go through my email I’m opening each person’s add announcement and visiting their Twitter page to confirm I’m following them. It would be great if the email described one’s own following status in relation to the new follower. As I visit a person’s page which I know I’m following, it shows the “Follow” button. Huh? When I click Follow, it immediately shows Updates as being on. My following count increases too.

Perhaps there is a difference between follow requests from a page and from the XMPP request? Maybe the AJAX request for following a person is getting bumped by the followup request to have notifications on?

In any case, I hope I’m not annoying people with multiple add emails this AM. If you’ve gotten more than one announcement from me, I’d be interested to hear about it.

As noted above, the flow is presently at 10 TPM. I expect the speed will increase by about 50% by 9:00AM. It’s pretty neat to see this kind of metric and have it readily available.

The Mac/PC dev/QA environment

 Mac/PC Dev Environment

Developing PC applications on the Mac is great, contrary to what some believe. I too was once in the ‘build-on-the-platform-you-target’ camp. Forget that horse-puckie and get efficient:

  1. Get VMware Fusion: http://www.vmware.com/products/fusion/.
  2. Make sure you’ve got XCode. This will be sixty percent of your development environment and you’ll be coding in OS X.
  3. Install Windows XP or Vista, your choice, as a new VM in Fusion. This will be the other forty percent of your development environment where you’ll step code and delve out builds. Don’t set it up with more than 40% of your Mac’s RAM assigned (preferably 25%).
  4. Install your development tools on this Windows instance, probably .NET 2005.
  5. Set up a shared folder for your source code between your Mac user folder and the dev VM. Make it read-write by both systems (a setting in Fusion).
  6. Set up more VMs in Fusion. These are your Test VMs (smaller, fast Windows instances used as QA machines) – as of this writing you should make XP Home, XP Pro, Vista Home, and Vista Ultimate VMs. You may want additional setups depending on your apps needs (administrator settings, etc). Set these up with 25% or less of your available RAM.
  7. Do nothing… I’m waiting for you to finish step 6… It takes a while.
  8. Run Windows Update (if desired) and take Snapshots of each VM (Command+T) after they’re set up. These Snapshots will let you revert to a clean state any time you wish.

Great, now you’re hooked up and can get your code on. With XCode you can utilize all your monitors (if you’re a developer using less than 2 monitors, we need to talk…). You’ll have XCode running with your source code all over the place organized how you like it. You’ll have your development VM running in a corner.

Use XCode as the code editor (you’ve got your source files saved on the Mac, in the shared folder). Keep the development VM running and hit Control+B in it (or better yet, add an AppleScript to XCode to pass Control+B to the VM) when you need a new build. You can step through the code when you need to.

When you’re ready to test your app(s) on all flavors of Windows, launch up the various VMs and install the app(s). Afterwards, restore to the Snapshot you took before. You’re starting from a nice clean start every time.