Tuesday, February 28, 2006

Future Alarm Clock

Lately my brains been full of ideas. Must be from reading too much thesis. One idea I got is an alarm clock that tells you the weather when you wake up.

And not just weather, any information. Stock quotes, news headlines, rss from blogs.

I know I know, there's alarm clocks with radio/cd player, but the big difference is, with the radio/cd player you are stuck with whats playing on the radio or whats in the CD. But with the new alarm clock, you can customize to your heart's content. Everything's pluggable.

Saturday, February 25, 2006

Thesis Grinding

Spent the last two weeks reading and ranking all the thesis topics put out by the ITEE department. Must've been over 200 of them.

Finally got 7 topics that interest me. Now it's time to make the rounds with the thesis supervisors and hopefully one of them will take the bait. The deadline's this weekend.

1) PST #8 - Industry Project: Corporate-Wide Software Quality Measurement Programme
2) PSA #5 - Head-Mounted Display: Information Design
3) WLG #5 - Datalogging And Web Display Of PV Array Data
4) MKS #8 - Implement A Personal PBX Using Asterisk@Home
5) PST #5 - Industry Project: Model-Driven Approaches (MDA) To SE
6) PST #7 - Data I/O In High-Performance Computing using netCDF
7) WLG #2 - Wind Turbine Software Update

Thursday, February 02, 2006

Configure Network On Virtual PC 2004

Virtual PC 2004 with SP1 has replaced virtual switch. What it means is your VPC Guest will no longer have network connectivity in the virtual sense. What Microsoft wants you to do is have a physical NIC for each VPC Guest and VPC 2004 binds the VPC Guest to the physical NIC. The physical network card can then get an IP address from the DHCP server or Domain Controller or whatever.

This way, as far as the rest of your network is concerned, your VPC Guest is just another server on the network.

But the question is, what if you don't have multiple network card and all you have is one NIC used by your VPC host machine? The answer it seems is quite simple but took me a while to figure it out.

You install a virtual NIC on your host called Microsoft Loopback Adapter and assign your VPC Guest to use that as its NIC. Then you enable ICS (Internet Connection Sharing) on you host physical NIC. This way, the Microsoft Loopback Adapter will use the physical NIC as a gateway.

Below are the steps I took:

The directions on how to install the Microsoft Loopback Adapter under Windows XP are as follows:

1) On the host operating system go to 'Control Panel'
2) Go to 'Add Hardware'
3) In the 'Add Hardware' wizard, click 'Next'
4) When the 'Is the hardware connected?' page appears, select 'Yes, I have already connected the hardware', and then click 'Next'
5) In the 'Installed hardware' list, select 'Add a new hardware device' and then click 'Next'
6) In the 'What do you want the wizard to do?' list, select 'Install the hardware that I manually select from a list (Advanced)', and then click 'Next'
7) In the 'Common hardware types' list, click 'Network adapters', and then click 'Next'
8) In 'Manufacturer' list, select 'Microsoft'
9) In the 'Network Adapter' list, select 'Microsoft Loopback Adapter', and then click 'Next' twice
10) In the 'Completing the Add Hardware Wizard' page, click 'Finish'

11) Once you have done this you will then need to enable Internet Connection Sharing (ICS). The catch here is that you need to enable ICS on the network interface that you want to use to access the Internet - not the Microsoft Loopback Adapter:

12) On the host operating system go to 'Control Panel'
13) Go to 'Network Connections'
14) Right click on the network connection that you use for Internet connectivity and select 'Properties'
15) Click on the 'Advanced' tab
16) Check the option to 'Allow other network users to connect through this computer's Internet connection'
17) If you have multiple network adapters you will need to also specify that you are sharing the Internet connection with the Microsoft Loopback Adapter.
18) Click 'OK'

A couple of things to know at this stage:

Under Windows XP this will cause your Microsoft Loopback Adapter to be hard configured to use '192.168.0.1'. This is problematic if your external network is configured to use the 192.168.0.xxx subnet - but unfortunately there is nothing that you can do about this except to change your physical network settings (I have moved my physical home network to 192.168.1.xxx for exactly this reason).

Under Windows Server 2003 it is possible to change the IP address and subnet used on the Microsoft Loopback Adapter when ICS is enabled.

ICS provides DHCP services as well - so virtual machines connected to the Microsoft Loopback Adapter do not need to have static IP addresses configured.

Wednesday, February 01, 2006

Asterisk@Home - Oh The Genius Of It!

I've been reading up on Asterisk@Home lately. This year, I've to do my honors engineering thesis in order to graduate, but first I've got to get one of my professors agree to supervise my thesis. Its much easier to get their agreement if the topic is in one of their area of expertise or interest.

I've always dreamed of doing something different, something exceptional with my thesis, like build a better satellite navigational system or something. But then I found out my thesis becomes the property of the university once I complete it. No point trying to find the cure for cancer for someone else, so to speak.

One more thing I've realized is I really don't need a university to back my research. I can build something in my own home on my own time. Thats one good thing about Technology. Its such a commodity that you don't need a univeristy or major corporation to back your research as opposed to other areas like Physics, Chemistry or Medicine. Any guy in his garage can build the next Google, Dell or Microsoft.

Anyway, getting back to my story, one of the professors put up an idea on the course website to build an advanced application that uses Asterisk@Home. By this, he means he wants more than just configure Asterisk@Home. He wants us to come up with an idea to build a hardware or software that will use Asterisk@Home. I think I may choose this as my thesis. VOIP is a hot topic, plus the topic is already pre-approved by the professor AND it gives me enough freedom to do what I want as long as it uses Asterisk@Home somewhere.

One of my idea is to build a Security Alert System. Basically its an application that will monitor webcams around the house by means of video conferencing. When it notices anything (using MIT MARS PathFinder technology), it will send out an alarm by placing a VOIP call to you or the police. The video of couse will be recorded.

What I find most interesting about Asterisk@Home is the genius of it. I'm not talking about the PBX or VOIP. That technology's been available since before 2000. But what the software achieves. Digium initially build PCI cards to connect PSTN trunk lines to PC. There was no market for these cards since other VOIP PBX products were available from companies such as CISCO and Seimens.

So they wrote Asterisk@Home which natively supports their card and released it to the open source community who then ran with it. Asterisk@Home doesn't need Digium card to run, but buying one will let the owner take full advantage of the capabilities of Asterisk@Home by connecting it to phone lines. Digium simply created an artificial demand for their product by Asterisk@Home. Oh, the genius of it.