Native UML Module for NetBeans

UPDATE: There is a more recent post regarding the Native UML module for NetBeans here.

I have been a long time user of NetBeans IDE. I really like the simplicity and how it is almost an all-purpose IDE for virtually any language you can think of.

However, I was horrified recently when I upgraded to version 6.8, to discover that the UML module was gone, and instead NetBeans insisting I use a third-party UML generator.  So I tried it, and hated it immediately.  I considered rolling back to an earlier version, but first I thought I would try a little voodoo.

I noticed that version 6.9 was released and so I downloaded it, and installed as per normal.  I then found this page (the 6.9 release candidate zip download page) which listed a file called ‘netbeans-6.9-201005312001-ml-uml.zip’.  Ah ha.  Since I am on OSX, I opened the package contents up from Applications, unzipped the uml.zip file and dropped the new UML directory into the installation directory.  I started up NetBeans and voila:

I tested the new project, and it worked like a treat (some people who tried various other hacks reported that even though the project appeared, there was issues saving/opening them).

I hope this works for you too, and of course make sure you backup any existing projects – dont come crying to me if you destroy your work trying to implement this!

Limiting Steam for Mac to Specific (Free) Content Servers

I have had iiNet ADSL for a very long time, and as a result of one of their acquisitions, the 3FL game servers now count as “freezone” for all iiNet customers. Whats really great about this, is that 3FL has official steam content servers; so steam downloads from 3FL are “freezone” too! This is great, if like me you are a die-hard valve/steam fan boi.

The problem is that Steam uses a “BitTorrentesque” download technique and despite any settings you make inside Steam, it will not guarantee that it will limit its downloading from that server. Windows users for a while now have had an app called SteamWatch which monitors Steam, and when it trys to download from another server, forcibly closes the connection on Steam. Sadly, mac users dont have anything so easy, yet. However, here is a shell script which adds a number of rules to the OSX firewall to stop steam from downloading from non-free servers:

/sbin/IPFW -f flush
/sbin/IPFW -f add 3000 allow tcp from any to 203.59.140.194 27030 out
/sbin/IPFW -f add 3001 allow tcp from any to 202.173.128.178 27030 out
/sbin/IPFW -f add 3020 deny tcp from any to any 27030 out

Just save these lines into a text file (mine is called ‘rules.sh’) and then in the terminal (and from the directory you saved the file) execute:

sudo bash rules.sh

In this case, I have setup the rules for 2 servers, 203.59.140.194 and 202.173.128.178 which are the 2 servers which correspond to free content servers for iiNet. If you are not iiNet, and can find out the IPs of your free Steam servers, just remove those lines and add/edit accordingly.

Now, this is not a silver bullet. When these rules are on, it may restrict or otherwise affect online gaming and some Steam games may not download at all (because not every Steam content server has 100% of the steam catalogue on it!). However, when you reboot, its reset, or you can run this command at a terminal prompt:

sudo /sbin/IPFW -f flush

…and the rules will be reset.  Happy free downloading!