Entries Tagged 'Technology' ↓

Revision Control in Tivoli

You’d think working for IBM’s Software Group would mean we have revision control sorted, right? Well, not quite. We use an internal system called CMVC - Configuration Management Version Control. There’s no reliable integration into developer’s tools (such as Eclipse); you can use either a command-line interface or a dated Java GUI. The servers are based in Austin, so it’s slow to work with from Australia.

It does have strengths though, mostly around it’s integration of defect management with source control. This tends to lead people towards the “one defect, one commit” policy I mentioned earlier, however it does come with overhead. My process to check in some source changes are as follows:

  1. Create a defect, if one doesn’t already exist for the change I’m making.
  2. Modify the owner of the defect to be me, rather than the owner of the “component” the defect was raised against.
  3. Accept the defect.
  4. Create a track for the defect.
  5. Select the files I want to modify from a list of all the files in the release (or component). Make sure I don’t unselect the list of files!
  6. Use a diff tool to merge the local changes into the checked out files. This isn’t a case of copying the modified files, as there are version control flags like ‘%F%X’ that need to be preserved in the checked out files.
  7. Using the file list selected earlier, check in the changed files.
  8. If you didn’t change a checked out file, “unlock” it.
  9. Each “component” that contains a file you modified now has a “fix record”. Set all these fix records to “complete.”
  10. When all the fix records are complete, the track you created earlier should now be in the “integrate” state. Make sure this happens, else your code won’t be included in the next build.
  11. To make sure our local (ie not in Austin) copy of the backing source gets updated, kick off a script on an internal server to extract the changed files.

Sounds complicated? It is. No wonder so many teams use CVS locally and push changes across the Pacific once a week. In the system’s defense, it’s not designed for rapidly changing development environments. It’s strength is in tracking and managing changes caused by discovered defects in stable code bases.

While there may be newer and better alternatives, this does the job and does it without breaking. Mostly.

Michael Gall writes about revision control

Michael Gall over at wakeless.net has written a three-part series on revision control.

It’s a good overall introduction to what revision control is, as well as the need for it and current weaknesses in the main revision control systems.

Michael makes the important point that integrating revision control into a developer’s work flow should be a priority. The harder the revision control system is to use, the longer developers will take between committing changes. This increases the risk that multiple “logical” changes are grouped into one commit, making it so much harder to roll back a specific change if a defect is discovered. In my opinion, a defect should be handled by one and only one commit into the source tree.

I’ll follow up with a look into the revision control I use every day in my work with IBM.

Is Computer Science Dead?

There’s an interesting article on The Age today about the downturn of university students studying computer science. One of the reasons quoted is the wide-spread assumption that there are no jobs in the industry.

Is Computer Science Dead? : Mashup discussion

As someone in the industry, this can only be a good thing. When I was studying, just after the dot-com boom and subsequent crash, the outsourcing trend hadn’t really taken effect yet. There were still a lot of people studying in the field in the assumption that they will make money.

Now, it’s getting back to the point where people learning computer science do it because they want it to - not because of some expectation of AU$100k+ salaries. Less graduates mean more jobs, and the people in the industry will hopefully be valued a little better than they are now.

So let every man and his wife think that all the programming jobs are going to India. There’ll always be plenty of high-value challenging jobs in the field for the rest of us.

Telstra responds to Fairfax

Telstra has, in part, responded to Fairfax CEO David Kirk’s comments yesterday.

 “If David Kirk thinks we have a broadband drought because there is too little competition, he has played too much football without a helmet,” he said.

They’ve also threatened a class action lawsuit if the government forces Telstra to allow access to a new high-speed network by competitors .

Heaven forbid that a monopoly created in part by Australian tax-payer’s money be leveraged to help benefit those Australians!

Fairfax boss slams Australian broadband

Continuing on with the Fairfax news, according to an SMH article Fairfax Chief Executive David Kirk doesn’t seem to like Telstra very much. After labeling Australian broadband as “fraudband”, the article goes on to quote:

“All around the world you do see where there is a very incumbent telecommunications provider and not a lot of competition … that broadband take-up is slow, broadband pricing is high,” Mr Kirk said.

“I think it’s usually about market structure and regulation rather than technology or government policy.”

In other words: “Telstra, you’re the incumbent here - stop whinging about regulation and get the job done.”

His metric for if broadband is fast enough is if you can download a movie in less than 24 hours. Sounds like a good “ballpark” metric - x kilobits per second doesn’t really mean much to the average user, but telling someone that this week’s episode of Lost would take 12 hours to download and use a quarter of their monthly downloads on their “broadband” connection might get the message across.

Fedora kernel upgrade caused excruciatingly slow network speeds

Like any self-respecting geek, I run Linux on my box at work. We have an internal Fedora mirror, so Fedora Core 6 is used by quite a few of us. (A few of the others use an internal deployment of IBM’s OpenClient, which was recently announced).

I recently noticed that after a regular “yum update”, the network on my work system was running slow. Not just a little slow, REALLY slow. As in 3 kB/s slow. Initially I wrote it off as network congestion, but after chatting with colleagues I realised that the slow speeds were limited to only some of the Linux machines in the lab.

Googling found nothing, so I had to grin and bear it until the sysadmin found a fix. After a while, he came across this solution (from here).

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

Apparently kernel 2.6.17 and later has some changed window scaling parameters which were messing with an upstream router somewhere. Unfortunately, we had no way of finding out which router it was as it’s beyond our boundary firewall. Setting the scaling to 0 seems to have fixed the problem though.

Thanks Nathan!

UPDATE 2007-04-04: Looks like Microsoft Windows Vista is having this problem as well. According to this article on Ars Technica the problem is caused by upstream routers or packet filters not being aware of RFC 1323, which introduced the TCP window scaling parameter, and incorrectly dropping otherwise valid packets.

X-Box Media Centre: Watching stuff from the ‘net on your TV

Seeing as I’m one of the more technically-inclined folk (read: nerdier) folks amongst my circle of friends, I thought I’d share something that I get got a big kick out of when I discovered. I know most of us are fans of Lost, Heroes, Prison Break and so on - so much so that many of us resort to the wonders of BitTorrent to get our fix. However, watching it on the computer can be a pain in the ass - especially if you all have to crowd into someone’s room to watch it.

So, what options exist for watching our beloved .avi’s on the television in the lounge room?

There are a few, and a lot of them can be expensive, but luckily I’m also a bit tight with my cash as well as nerdy. With that in mind, I’d like to introduce on the most impressive open-source applications I’ve seen:

X-Box Media Centre

That’s X-Box as in the normal, now somewhat old-school, X-Box. Combine one of those, which you can easily pick up (with DVD remote) for under $200, with completely free software and a network cable and you can be watching all the episodes of Lost you want from your couch!

In days of old, to run software like XBMC (that’s a nerdy acronym, everything in IT has one) you had to install a modchip. Well, those days are long behind us - you can mod your X-Box without even opening it’s case! It’s not even hard to do - plug an X-Box controller to USB converter into your PC, copy a hacked save game over to the X-Box, then load that save game. It then gives you a menu where you can install any software you like. Seriously, this is genius.

As a side bonus, you can also install play your (probably not) legally acquired backup X-Box games, emulators (Galaga, bitches!) and listen to music over the network.

In a later post, I’ll link to a few tutorials that I found useful when working how to set this all up.

How To Rip a DVD

Amon was asking me how to rip DVD’s a couple of weeks ago, so why not share with the rest of you the link I gave him:

How to rip a DVD: A Tutorial by Elliott Back

I’ve been using this method for ripping DVD’s for a couple of months now with no hassles.

Telstra critiques iPhone

Once again, Telstra has proved that they just don’t “get it.” Apparently, because Apple has never made a mobile phone before they obviously don’t know what they’re doing. Therefore, they should just let the likes of Nokia and Sony Ericsson do it and not even try.

I seem to remember they’d never made an MP3 player before either, nor had they ever sold music online. Guess they should’ve stuck to making computers, huh?

From SMH, article here.