Monday, April 29, 2013

Excellent read on cloud management

PCWorld: 21 tips for supercharging your cloud storage.

Monday, December 17, 2012

[Halo] Forerunner Timeline as I understand it

So far, this is how I picture the events to have taken place during the Human-Forerunner and Forerunner-Flood Wars

  • Human-Forerunner War
  • Ur-Didact defeats the Humans and devolves them
  • Discovery of the Flood by the Forerunners
  • Brief Forerunner-Flood War
  • Commissioning of Halos to eradicate the Flood should they emerge again
    •  Ur-Didact opposes to this for his belief in the Mantle and eventually exiled on Erde-Tyrene
  • Bornstellar discovers Ur-Didact's Cryptum and wakes him
  • The two travel to various scarred Worlds and Ur-Didact bestows his memories and knowledge to Bornstellar via a Brevet Mutation
  • They are found by Master Builder Faber who exiles Ur-Didact to a Flood invested planet
  • Bornstellar is returned to Forerunner territory and becomes the new Didact
  • Forerunner capital attacked by Mendicant Bias and Faber executed due to War Crimes
  • Bornstellar finds Mendicant's installation (Halo 7), commandeers it to obtain the Composer

  • [Unknown Events]
  • Flood threat arises again
  •  Ur-Didact returns and prepares for battle
    • Uses human population on Halos to compose an army of Prometheans
  • The Librarian seriously abhors this act and imprisons the Ur-Didact on Requiem
  • The Librarian completes Indexing of Sentient Species
  • [Unknown Events .. but include implantation of Genesong to John-117's ancestors, possibly with an imprint of Forthencho (wild wild guess since he was the greatest threat to the Ur-Didact)]

  • (Presumably) Bornstellar activates the Halo Array to cleanse the Galaxy

Thursday, August 16, 2012

[Rant] Thanks HTC

Thanks for the update HTC. It made it much easier to decide whether I should buy a One XL. I am now the proud owner of a Galaxy Nexus. After using HTC devices since the Nexus One, I'm afraid to say its time to break-up. Loved my DHD for the past years - it shall now reside proudly on a plynth. Seeing how you have listened to your loyal fanbase recently, my next phones are definitely going to be Nexuses (unless Google decides to award you the contract, in which case, I shall stick with the other players in the market). Thanks for the ride though.


My rant is about HTC not releasing an update to the all-so-good Desire HD after telling customers since early 2012 that the device would indeed be upgraded to Ice Cream Sandwich or version 4.0 (ICS).

The fact remains that the device is capable of running ICS.

So, if you are planning to buy an HTC phone; think again.  Although HTC used to be very attentive to customers, they have been very uncooperative on this matter even though a petition was sent through. They should atleast have made an ICS version available without their Sense UI or provide (power-) users with the option to choose whether they want to upgrade or not.

The minute I switched on my Galaxy Nexus, I was provided the option to upgrade to version 4.1 Jelly Bean of Android.  I could not be any happier about my decision to drop buying an HTC One XL; which is a great phone as per the reviews but with such support from HTC, the phone will be obsolete by the next update to Android. 

The Galaxy Nexus on the other hand will receive the next update of Android since even a Nexus S (predecessor to the Galaxy Nexus) obtained an upgrade to 4.1 (not just 4.0).  The Nexus S was released around the same time as the HTC Desire HD with the latter being more powerful specs-wise!!!

18 Aug: XDA-devs have officially done what HTC could not! Hallelujah!

Saturday, October 29, 2011

Weather codes

Melbourne: asxx0075
Sydney: asxx0112

AOL weather search seems to have the codes necessary for widgets.

Monday, May 02, 2011

My Matrix Moment

I filmed this while at ACMI on 1st May 2011.


Friday, March 18, 2011

Configuring OpenVPN on FreeBSD [Quick Guide]

[Note: This post is a work in progress.]

pkg_add -r openvpn


mkdir -p /usr/local/etc/openvpn
cd /usr/local/etc/openvpn
touch openvpn.conf

cp -R /usr/local/share/doc/openvpn/easy-rsa .

cd easy-rsa/2.0/

[Edit the vars file to reflect your details. This will save you the trouble of having to type your organisation's details every time you generate a certificate. You may also need to change your shell to sh to execute the scripts. I also had to do a chmod +x * in that directory.]


[Generate Server Key named server1]
./build-key-server server1

[Generate Keys for clients]
./build-key hpserver
./build-key acerlaptop

[Generate Diffie-Hellman keys]

#The following keys have been copied from /usr/local/etc/openvpn/easy-rsa/2.0/keys

ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh1024.pem

Now, edit openvpn.conf (on the server-end) as follows. Substitute IP addresses as required.

[OpenVPN Server Config]
#Configuration of OpenVPN Server

port 1194
proto tcp
dev tun

ca keys/ca.crt
cert keys/server.crt
key keys/server.key

dh keys/dh1024.pem

ifconfig-pool-persist ipp.txt

client-config-dir ccd #Client specific settings, e.g. Fixed IP Addresses
client-to-client #Allow clients to communicate with each other

push "route"

keepalive 60 120


status open-status.log
verb 3

Copy the generated client keys to /etc/openvpn/. You will need to copy, for example, acerlaptop.crt, acerlaptop.key and ca.crt and mentioned them in openvpn.conf on the client as follows.

[OpenVPN Client Config]
#Configuration of OpenVPN Client

dev tun
proto tcp

remote 1194 #public ip address and port of vpn server


#client certificates
ca ca.crt
cert acerlaptop.crt
key acerlaptop.key
ns-cert-type server
verb 3

[Auto-start openvpn]
Add the following in /etc/rc.conf on the server.


If not already present, also add the following knob in /etc/rc.conf to allow the server to route between your LAN and VPN subnets.  


Note: Some documentation propose adding if_tun_load="YES" to /boot/loader.conf. I found that is not necessary. Openvpn will start the required device drivers automatically. You can try adding it, if openvpn fails to start or dynamically start it at a prompt by issuing kldload if_tun.


The OpenVPN documentation provides more in depth explanation. It can be viewed at :

Wednesday, December 29, 2010

Using FreeNAS 8.0 as a Bridge

I have installed and tested this on FreeNAS 8.0 Beta

My FreeNAS server and one workstation are in the same room and I needed a way to connect them to the LAN to allow for fast file transfers between all computers in my network.

Since I lacked a switch, I needed to convert FreeNAS into a bridging device. It was just a matter of installing a spare NIC into the FreeNAS server and doing the following:

Make my CF card readable (you might skip this step if you installed FreeNAS on a mechanical Hard drive).

mount -t ufs -w /dev/ufs/FreeNASs1a /

Insert a FreeBSD 8.0 disk into your cd-rom drive and copy the files as shown:

mkdir /mnt/cdrom
Mount cdrom: mount -t cd9660 /dev/acd0 /mnt/cdrom/

Copy files across:

cp /mnt/cdrom/boot/kernel/if_bridge.ko /boot/kernel/
cp /mnt/cdrom/boot/kernel/bridgestp.ko /boot/kernel/

ee /boot/loader.conf

Add the following line:


Save and exit

Restart the server with "reboot"

Create the bridge and add interfaces:

ifconfig bridge create
ifconfig bridge addm em0 addm em1
ifconfig em0 up
ifconfig em1 ip

dhclient bridge0 (or ifconfig bridge0 inet 192.168.xx.xx netmask

The name of your interfaces might vary. Check with ifconfig.

Note: You can start the bridge automatically at startup. Refer to the FreeBSD Handbook Chapter 31.5 to see how its done.

P.S. You may do this on FreeNAS 7.x as well. You just need to get FreeBSD 7.x's bridge modules for that kernel. They can obtained from or from a FreeBSD 7.x iso image.