Yipii.. Vacation time..

That's right - starting tomorrow I'll be on vacations for the next 3 days.

It's a short timed vacation but will be a very valued one.

I'm going to catch a boat tomorrow that is headed to the Terceira island, where I already rented a small flat to stay the week.

We'll also be meeting there with my wife's younger brother and father who came all the way from mainland Portugal to stay with us during the vacations.

During this short stay in this island, the FAP (Portuguese Air Force) will also be celebrating their anniversary there so we should have some amusing days with the air festival.

They will keep my wife in good company throughout a small tourism journey across the other azorean islands like Pico, S.Jorge and Faial while I move alone back home (S.Miguel) to attend the Cisco classes.

Sad to leave so soon, but at least I still hope to relax and find some time to enjoy some quality time with the family.

Times have been quite short and busy lately. Already miss the times when I could simply spend all day long playing Starcraft in multiplayer mode for nine hours in a row without bothering about anything else, guess with age comes some extra sense of responsibility and concerns about ensuring a good future for my loved ones and myself as well, therefore the only way to move forward is to commit efforts on my own professional education.

While in Terceira I'll try to do a few of my favourite hobbies - eat, drink and have fun.

Hope the "regular" blog readers can also enjoy a good summer time!


End of exam season and beginning of CISCO certification

I'm very happy because the exam season has finally been finished. Last exam was dedicated to programming in C and I can't say that I'm very confident about passing with a good grade to this discipline.

Maybe because I didn't slept much or because C is not my favorite sort of language at all, I did the exam mostly with the intention of just passing by this one, let's see how the grades turn out.

Just as I'm finishing the exam season, another sort of education is also on the start - CISCO certification as a network administrator - more explicitly - the CCNA: http://en.wikipedia.org/wiki/Cisco_Career_Certifications

I've spent the last 4 years doing administration tasks and I think that now is a good time to invest in professional certifications in order to help constructing a better career for the future while learning more about networking.

Hope to reach an expert level some day, I know it takes a lot of time and commitment to make it possible but I'm also very motivated to move forward with my professional life and seek out new challenges.

Unfortunately, commitment also means no summer holidays with my family this year - CISCO lasts throughout all summer vacations and I'm left with little over 4 days this month to go outside and visit other islands near by.

One fun fact - the teacher on the introduction lesson began speaking about commonly used industry standard tools for network tasks and guess what?

TFTPD32 from Philippe Jounin, our friend on boot land is well recommended by Cisco - what a small world indeed.

To complete the four levels proposed by CCNA should last a few months until the end of February 2009, let's see how this goes.

-- Nuno Brito


Why is C so complicated?

One of my exams is about C programming.

Was actually looking forward to learn more about C and even start coding a few apps using this coding language that became the standard for the software industry.

But why is using regular C ++ so complicated?

I mean, my development of software has mostly been done on pascal since my teenager days and continues to progress with delphi (pascal based) very fluently where I feel enough freedom to code things very confortably but this is certainly not the case for C from a beginner's perspective.

Learned PHP / Html and JavaScript in a couple of days but C?

It has no inbuilt functions to help the programmer and doesn't even know what a string is in the first place - just crazy on these days.

The compiler (bloodsheed) doesn't come with a proper syntax help mechanism or library and the references I find around the web are somehow scattered and very vague.

My teacher posted online a few exercises with programming goals to practice and I've looking all day long on them but I'm still clueless on how string operations should be handled to work the way I need them - please don't tell me I have to create them all by myself.

Just my luck because last year students enrolled with Pascal as their programming language.. ;(

Found some other rants about C which describe most of these frustrations from getting stuck with an ancient syntax.


USB on VirtualBox Personal 1.6 and Ubuntu 8.04

This takes a few steps but it's worth the work.

The question is:

How to make you USB devices work inside the emulated OS's?

Step 1
Type on a console:
sudo gedit /etc/init.d/mountdevsubfs.sh
Next you move around to line 45 and remove the #'s from the missing USB support.

It should look like this once it's ready:
# Magic to make /proc/bus/usb work
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb

Step 2
Type in console:
sudo gedit /etc/udev/rules.d/40-basic-permissions.rules

Change the lines :


# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
SUBSYSTEM=="usb_device", MODE="0664"

To :

# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usbusers", MODE="0664"
SUBSYSTEM=="usb_device", MODE="0664"

Step 3

You need to know which group number is used for "vboxusers"
Here are the steps:
- Click --> System --> Admisnitration --> Users & Groups
- Click on "Unlock"
- Click on "Manage Groups"
- Scroll down until you see the "vboxusers" group and see the respective number.

Type in console:
sudo gedit /etc/fstab

add this line on the bottom of the file:
none /proc/bus/usb usbfs devgid=120,devmode=664 0 0

Change 120 in the above line with the "vboxusers" group number you got on the beginning of this step.

Step 4

Reboot the computer.

Open VirtualBox and click on "Settings".

Click on the "USB" item in the left pane to edit the USB preferences

Click on the "Add device" button to add a filter and select your USB device

Start your VM and Windows should detect your USB devices.


Installing SUN VirtualBox 1.6 personal to Ubuntu 8.04 on a AMD64 machine

I've been googling to find informations regarding the proper way to install Virtual Box personal edition on this ubuntu machine.

The OSE (Open Source Edition) is easily available from the Synaptic Manager but I wanted the Personal one (free for personal use) because of the support for using USB devices on the Host OS.

In the past I was using this tutorial:
http://hamacker.wordpress.com/2007/11/22/virtualbox-personal-para-ubuntu-gutsy/ (written in portuguese)

But it no longer applies since SUN has now acquired Innotek and they've made some changes and updates, so I'll be posting here my steps so that others might also learn if they wish to use them as reference.

#1 - Download the latest VirtualBox:

This page always contains the link for the current download pages on the SUN servers.

#2 - Install VirtualBox
Just need to double click on the .deb file to install

#3 - Add your user name to the group of virtualbox users
Open the console and type:
sudo adduser nuno vboxusers

Please note that you need to change "nuno" to whatever your username is.

#4 - Restart your machine
You need to restart your computer for the username changes take place

#5 - Run VirtualBox
Click on "Applications" --> "System tools" --> "SUN xVM VirtualBox"


That's it.

Just follow the on screen dialogs to create your virtual OS and things should run smoothly from here forward.

Only missing to see how to activate the USB host support but maybe later I can add this piece of information once I see how it is done.

Bye bye Vista, say hello to Ubuntu!

I've bought a new laptop about 5 months ago - a HP Pavilion tx 1000

The hardware of this machine is based on 2Gb of RAM and a AMD Turion 64 x2.

I liked this laptop mostly because it was small sized, came with two spear batteries, has a touch screen and remote control all bundled inside in a nice looking laptop machine running Windows Vista.

The only big disappointment from using this machine was the very poor performance when compared back to my older laptop (a 1Gb of RAM Intel Dual Core machine).

The laptop took forever to boot and using it on everyday tasks was a pain to say the least, especially when I compare back to the other laptop of mine (that is still fully functional) and it will open several work windows, copy files and run programs so much faster than the brand new HP.

The reason?


This newish OS is consuming 1Gb alone worth of RAM resources and for the sake of efficiency HP decided to install the x86 version of Vista instead of taking advantage of the native architecture.

Worst still as everything is slow inside Vista and I've endured through these limitations to prove myself that this was "normal" on a new OS but enough is enough.

Decided to backup my documents partition to an external USB HDD and launched the Ubuntu 8.04 x64 edition.


Installed like a breeze in less than 20 minutes, I decided to use the full disk since I want no more acquaintance with Vista on my work machine and I said hello to my new work environment.

Sounds works, Graphic drivers were downloaded automatically and I was ready to go in a snap.

One of my biggest surprises was noticing the new speed of my hardware.

It's booting dang fast and looking on the resources monitor I see that having firefox and many other windows open with the default eye-candy installed on gnome uses around 500Mb of RAM.

For the first time I can actually see both the processors on this machine working seamlessly together and taking advantage of this dual core feature. Needless to say that I'm really happy since this is the sort of environment more suited to work with virtual machines without delays.

It was about time to make this change, ubuntu is free so I won't be bothered to spend any money on licenses and can still run my work OS specific programs comfortably inside Virtual machines.

Now I'll surely be trying to learn more and enjoy my laptop.


-- Nuno Brito

Wife is going back to school

What a happy decision.

Life was not very easy for a single person to support a family and manage to keep some savings, so this is surely a good way to improve our monthly budget and provide her with a good sense of financial independence with the start of her own career.

Let the classes begin, she will be attending the Universidade Aberta (or Open University) which is a university where you don't need to attend to the classes and need only to prepare yourself to the semester exams.

I'm really happy for her, passed on the admission exams without any difficulties at all.