2008 comes to a conclusion

It's been a long year.

In economical terms it has surely been a nightmare. If in 2007 I was worried about the downfall of the economy and the security of my personal savings. At the present day as I look back, I see that my fears had a reason to exist and that I ignored all the red stop lights.

Lost a lot of money in 2007. Eventually thought it would be safe to return to investments at mid 2008 but the shark speculators hadn't yet reached their desired bottom and ended up dragging down the value on my stock portfolio to 50% of what they were worth a few months ago.

Now, I'm starting a humble 2009.

My daytime job provides a generous salary at the end of each month but my expenses have increased dramatically with the need to sustain our kid and afford frequent travel expenses back to mainland Portugal.

Still need to account for the expenses with the university tuition and give my best to try save enough money to keep in case of an emergency. So I'm kind of living from one month's salary to the next without affording as many things as before but at least I have no debts and my family is healthy and well.

---------

In academical terms, can't say I studied much to finish my university degree. At the beginning of the year I saw my civil right to attend exams and classes being denied because of my status as a professional worker, this decision restricted me from taking days off work to properly prepare myself for the exams or even attending them.

After talking with a lawyer and promoting a lawsuit together with a few other friends in the same situation, the case was settled in court and got my rights just as before but it was already too late to save the lective year 2007/2008.

On the lective year of 2008/2009 a lot of things changed at the university that I attend and some of these changes are simply nuts.

For example, I have a class of Linear Algebra to which I should submit by email two work subjects and then attend a final exam. The combined grade of these three evaluations will dictate the grade you get at the end of the semester.

What isn't my surprise that the first work subject was so difficult to interpret that after a few days trying to solve on my own, I had to resort at professional help.

Went on to talk with a Doctor in maths and asked her to help me with the work subject. To my surprise, even she had difficulty solving the questions even thought she had been a teacher of the same class at another university.

The ironic part is that she solved this exam for me and the exam score was 2.5 out of 4.

It's not fair for a computer sciences student to be forced onto a linear Algebra level that is beyond the reasonable amount of difficulty and I've became extremely disappointed because 94% of the students didn't passed at that specific exam and the teacher just doesn't care.

So it seems that I'll have to delay my dream of completing a degree a few more years.

----------

But not all is so bad, during the summer I've enrolled at ENTA (Escola de Novas Tecnologias dos Açores) and attended the CCNA classes. Our government is sponsoring these classes to some extent so the cost per semester is far below the average on mainland and the teacher has far more competence than any other IT related teacher that I've ever met. He is capable of explaining in human terms the flow of network engineering in a brilliant manner.

Got the CCNA qualification and learnt a lot more about internetworking.

------------------------------

In programming developments, Peter has offered his time to help me on the development of winbuilder.exe

His help has truly helped to make wb a lot more perfect and tuned, if the car industry in germany has a reputation for quality and efficiency, Peter has surely demonstrated the reason why while working at the winbuilder engine.

A few months later, he also suggested to invite another german developer, booty#1.

So, our development team has quickly rised from a one man project to a team of developers.

Unfortunately we didn't ended up releasing a stable winbuilder 076 as expected before the end of the year but I'm crossing my fingers to see this happen very soon within 2009.


--------------


In social networking terms, the boot land community has grown so much that it's simple wonderful.

We've got a friendly sponsoring from R1Soft that provided us with a much necessary dedicated server and we've got ourselves a new clean face with a total redesign of the site look.

In 2009 I'm expecting to see it grow even more, I've been spending more time with the coding of site and I'm also crossing my fingers in the hope that this helps everyone enjoying a better work space.



---------------

And last but no least, my family.

This is a term that I can finally apply.

Earlier this year my wife got pregnant so we needed to decide where to have this baby. She was brave and decided to live with me on the islands even knowing that she'd be very far from her family (to which she is very close).

The pregnancy went fine and Miguel (my son) was born in late October.

Eventually I tried to smooth the lack of family by inviting her mother and younger sister to come visit us for a few weeks.

My kid is healty and very active, which is of course all that I desired in world.

He inherited her mother's eyes so I'm also guessing he'll be a success with the ladies.. ;)

At January or perhaps February, she'll go back to mainland since the kid will be grown enough to endure the flight conditions and I'll likely join her to introduce the new member of the family to my parents.

------------------------------------

In conclusion.

2009 is going to be a very bumpy year from my perspective.

I was planning to change onto a better university and start working somewhere else in Europe to provide better conditions to my family but it isn't certainly going to be an easy task.

Nevertheless, one has the right to work hard to make it possible and I'll surely try my best.

:)

http://boot-land.net moving to new server

Today began the transfer of boot land to the new server.

It's not an easy assignment, the site is responsible for ensuring several services to other members of the community like hosting, SVN and the forums.

The whole transfer process will take about a week to be finished. It's not just a matter of moving everything from one side to another, it's also an opportunity to use a much needed fresh version of the forum since our current install has been subjected to a lot of wear over these last two years.

Let's see how things go, wish me luck!

:)

Winbuilder on c't german magazine

WinBuilder is featured this month on a popular German magazine called C'T,

It's the result of a project that took a year to be developed by Markus Debus in cooperation with other members of boot land.

The project is based on VistaPE and is built from Windows PE 2.x that comes available from both the MS WAIK and Windows Vista Install DVD's.

http://www.heise.de/ct/projekte/pebuilder/

These are also good news for those who support and help winbuilder to grow at each day, the project is getting more help to move forward and the available projects are a proof that boot disk building can be considered as an art in the true sense of the word.

:)

CCNA part 2 - Completed!

Yesterday completed the final round of exams for this portion of the CISCO certification.

It was no easy deal, the written exams took 2 hours to be completed and was composed with 56 questions that ranged from the first chapter exams all the way up to the 11th exam. Ranged expertise questions about RIP, OSPF, EIGRP and all sort of routing hazards that might occur on everyday WAN activity.

The other part took 4 hours and was composed with two laboratory examinations where one needs to setup a network from scratch. Well, not scratch in the sense of building from the ground up since the equipment and the connections are already in place, but you still need to do all the calculations for the network ranges and then implement these calculations where they belong.

It wasn't easy, I'm mentally exhausted.

Over this week with the nerves of getting a good grade I've tried to study as much as possible about everything that could be related to networking until I could reach a point of confidence regarding what I needed to know.

Is CCNA worth all this trouble?

Yes it is, no doubt about it.


------------

At each part that is completed I evaluate what I knew before and after the classes begin and let me tell you that it's an enjoyable condition to look back and know that networking makes a lot more of sense now.

Some time ago I wondered about the possibility of working full time as a WAN administrator for CISCO equipment at some company but the idea was a bit frightening once I got around to consider the scale, impact and costs that solely depend on the network engineer.

It's a job to be taken quite seriously with little permission to mistakes and that is likely the reason why I see my teacher so committed in constantly refreshing his own knowledge about routers.

A good professional will always need to keep studying in order to keep track of the changes and how to get things done.

I might indeed follow a career as network engineer one day since it is a quite interesting lifestyle, but for the moment I prefer to gather more knowledge, experience and confidence before I look for another employer.

-----------

These have been a quite a few very interesting weeks, will certainly be looking forward for Part 3 in the future.

:)

Improvements after changing to new server

Since the last few months that it got really difficult to work on either winbuilder.net or boot-land.net mostly because of the constant "Error 500" messages that were outputed everytime too many users (or bots) accessed the server.

Lately it had even become way too much frustating to do any web developing since it was way too difficult to work on anything, no mySQL, no PHP and sometimes no SSH or FTP made our life quite hard to support our goals.

The site is growing, more people are coming and our efforts to optimize all sites seemed quite hopeless as the server kept growing out of resources.

------------

Now, the transfer to the new server has begun.

The first step was moving nunobrito.eu (my personal site) because it was small sized and wouldn't impact the mass of users that visit winbuilder.net or boot-land.net

The transfer was less than elegant as a lot of new things that I hadn't ever tried before needed to be debugged and learnt.

This was a good decision as it allowed a much quicker transfer of winbuilder.net

At the moment I'm still wrestling with the support of all the subdomains that were available from winbuilder.net and the introduction of SVN as before.

---

The final step is without doubt the most complicated and necessary - moving boot-land.net

boot-land.net has dozens of subdomains attached and the forums from boot-land also require some debugging before everything can function at 100% as before.

A long road ahead since I have to share my available time with other important tasks like family and school but one of my worries remains the goal of solving all our server troubles and finally start dedicating my free time to have some fun with boot disks again.

:)

How tough are you without a UI?

To test your endurance skills, I really recommend trying to configure a remote server in linux from scratch.

And believe me, it's no fun to find yourself without the support of a nice and comfortable menu filled with round buttons and all sort of functions available at the distance of a click.

That's right, as mentioned on the previous blog post - R1Soft has sponsored a fully dedicated server and I had the task of configuring the mySQL databases to be used by sites that run on another server.

My first mistake was ignorance.

Little I knew about apache installed and running on a ubuntu machine.

I was already quite experienced on the tasks of configuring and running web servers based on XAMPP for either Linux or Windows and never really felt the need of running a non-portable Apache/MySQL/PHP/etc.

Yesterday, I started working on the mySQL database transfer from boot-land.net to the new server location.

At first, I noticed that I couldn't find the usual PHPmyAdmin web tool so I tried installing it. For my surprise the OS (ubuntu) replied back that it was already installed.

Hmm.. In a smart move I removed the package and installed it manually.

Now I could access phpMyAdmin but to my (second) surprise, I wasn't allowed to create any new databases since my default root user had no privileges for this task.

Well.. now began the intensive googling process for answers but few seem accurate and explain exactly what was required to achieve.

Tried literally dozens of different methods and none seemed to work as expected and I simply couldn't figure the logic related to this consecutive failure.

Gave a few more shots and after a few hours I could say to my deception that I had rendered the webserver functions of this server completely useless.

---

As last resort, decided to reinstall the OS from scratch and start all over again.

---

This time I took more time understanding what already came installed on the OS by default.

Looked on the work directories and still couldn't figure out why phpMyAdmin wasn't acessible from the web even thought this time after the restore I was perfectly allowed to manage mySQL from the command line interface.

Some more investigation proved quite relevant - I found an intriguing reference to "plesk" - but what the heck was a "plesk".

On a further google-crawl took to the respective product homepage where I was able to read their documentation.

So, plesk is a web based server administration tool (and a good one so it seems) but the most interesting fact is that you need to access throught a very particular port on your server.

Now why hasn't mentioned this on the first place?!?

Well.. adding the magic port number opened the doors to remote server administration with a nice UI.

I felt right at home at last..

From there was able to click on a shortcut to access phpmyAdmin and manage all my database related needs.

---

Now came the time to transfer the databases to the new server, the dumping of databases from the old server went fine (after some google for syntax examples to learn from) and transfered them with the simple wget to the new location (was a breeze to transfer 140Mb in little 10 seconds!).

Then it was time to upload the database into the mySQL from the new server - was also a breeze and went with no noticeable troubles.

Last but not least, edited the first site (winbuilder.net) with the details of the new server - but no dice!

Now why the heck wouldn't it work?

Used "telnet newmySQLhost -3306" and it wouldn't simply connect.

After too much time I figured that it was necessary to open the respective door on the server so that it was possible to reach it.

Now I could telnet, so I wrote a quick php script to test the connection and it would always complain back with some "connection refused".

Hmm.. more troubles?

Oh yes. Took me yet another good amount of time to discover that you need to need to allow the respective mySQL user to have enough previlege to access mySQL from an external location.

Sure thing, went back to phpMyAdmin and done as expected.

-----------

A bit tired since I'd been all day long on this very amusing task, I changed the configuration files for winbuilder.net and added the new mySQL settings - IT WORKS!!

Got too long and too tiresome for a task that could had been well documented from the start instead of wasting time on such things (yes I looked up for the documentation..)


Took little time to apply the same scheme for the other mySQL hosted sites like boot-land.net and the transition went smoothly.

------------

Guess I (re)learned the pleasure of learning and using the command line interface to get things done.

:)

Sponsorship from R1Soft

R1Soft is a well known company that is focused on server data protection in either Linux and Windows server machines.

I already knew the company after initially getting the top placement ad on the 911CD.net forum and later after acquiring the site.

The administrator of 911cd.net knew about our server woes on boot-land.net and was very kind to place me in contact with their company staff regarding the sponsorship of a dedicated server.

We have been experiencing really difficult work conditions since the past year as the site become more popular and started attracting more attentions. Now we are currently experiencing nearly 1.5Tb of monthly data transfer and over 150 000 unique visitors per month.

This frequently leads to "Error 500" server messages that keep everyone outside any of the sites hosted at boot-land.net

Yesterday, after some preparations and arrangements - the server was finally made available for our exclusive use.

It's a Pentium IV with 3.4 Ghz and 2Gb of RAM - more than enough to help balance our load.

Our current boot-land.net server is a tough survivor and has proven to resist several DDoS, frenetic spam bots and even supported the unexpected rampage of visitors over the years but heavy PHP/mySQL processing is still our weak point and they're slurping away all the available resources.

So the first step will be moving our databases to this external server as soon as possible.

After this operation is completed, it should be feasible to discuss and work on further features to take advantage of a fully dedicated server. One idea that comes to my mind is providing a much wider integration of winbuilder with the boot land community through the use of PHP to bridge the desktop software to the online world.

We certainly have more than enough horse power to discuss the improvement of boot-land.net so the future is looking very bright with no doubt.

As a conclusion note, my personal thanks to R1Soft, in particular to Mario Rodriguez.

You guys rock.

:)

1000 kilometers on pure electricity

I've just completed my first 1000 kilometers with the electric scooter that I've bought about two months ago.

It came from china and the price for this vehicle was lower than the one asked for "regular" gasolines ones, so here's is my feedback after wearing out the scooter on real work conditions for a couple of months.

- The chassis is poorly built - It's making a lot of noise everytime the asfalt has irregularities and this happens because some of the bolts that host the plastic cover have been broken.

- The engine sometimes does a few "funny" noises when the scooter is starting to move

- The light on the console panel that indicate whenever I had the direction change flashing light doesn't work anymore

- I "feel" that the batteries are not going as strong as when I've first bought the machine


And that's about it.

A lot of complaints for sure, but still a great way to move around and I really enjoy a lot.

:)

I feel sleepy

My vacations just began for the rest of the of month until mid-December and this is finally a good opportunity to stay in the house and help my wife take care of our son, but let me tell you - it's no easy task.

Because I needed to work, we decided that I would sleep on the bedroom while she would sleep in the TV room with our kid so that during the night I wouldn't lose my sleep while he woke up with the need to change the dipper or similar and this way she could also watch her favorite TV shows until late hours in the evening.

----

I needed to wake up everyday at 07h00 to get on my workplace on time and now that my vacations started I decided to stay awake later just so that she wouldn't be alone.

But let me tell you - her effort has been largely ignored by me. Only after staying with her a full night taking care of the baby I saw how difficult it was to get anything done or even try to get a few quality hours of rest.

The baby sleeps very tight and comfortable until 01h00 in the morning and then begins his activity time where he doesn't like to be ignored without attention for too long and will cry until someone picks him up in the arms.

It's been like this all night long and I woke several times whenever he cried a bit louder - my wife (poor of her) got even less sleep time than I did and she's been doing this 3 weeks now.

The only time break to sleep begins around 09h00 and lasts until about 13h00, that's the time interval when my wife usually sleeps a bit.

Not an easy task to be a parent, I try to help but in true honesty say that it's my wife who his having all the hard work. Yesterday we decided to go dinner outside and leave our son with our friendly neighbors that hosted Miguel in their house while we went to grab a nice romantic dinner on a close-by chinese restaurant and this was the only break she had this week.

Now, I've also decided to help more and cook myself the meals for us so that she won't have to worry about that either - but one should also note that I'm no expert in kitchen matters so our food is sometimes outsourced from Macdonald's, the local barbecue restaurant and includes a fridge full of frozen Pizza's..

Still, raising a young baby requires a lot of attention and it does leaves me quite sleepy all day long, sleep deprivation really makes people less focused on the things needed to be done on time but I hope that within a few months our son starts with longer and regular sleep time intervals.

He might cry a lot sometimes but it's a really amazing sensation to view him grow so much in such few weeks that makes me feel like all this effort is really worth while.

:)

Driver's License - finally!

I've finally completed my driver's license.

Today I took the final driving exam and all went well as expected.

It was a quite long tale to get a driver's license that began when I first turned 18 (age that you're allowed to drive a car). At that time I only drove small motorcycles and didn't had any money to support a car nor my parents had the conditions to afford buying me one.

As the years went by, I worked in very distant places and public transportation also seemed like the best option since I could use these voyages to work either on train or bus and don't worry about driving for hours.

Last, I've moved to the Azores and even thought I worked and lived at the same city, a car was never essential as everything was perfectly reachable by bus, friend's ride or even walk to where you wanted to go.

I also had several other reasons to avoid driving a car - they're not cheap to maintain and the oil prices make a significant weight on the monthly income.

Ironic my reluctance in driving a car, since kid that I had already collected permits for all kind of vehicles, had my first driving license when I was 12 to be allowed to ride a bike on the city street, later with 16 got my motorcycle license, with 19 I was allowed to jump off airplanes with automatic parachutes, 21 got my license for driving motorcyles above 125cc, with 23 was allowed to drive armored vehicles like artillery tanks and such but never - *ever* - desired to take formal lessons to be allowed to drive a car in the street.

Not driving a car was a personal statement that allowed to do things differently and I had lots of fun this way.

-------

But this year, many things changed in my life and I can no longer afford to think on my own personal preferences.

Becoming a parent brought many new things needed to take into account like the need of carrying my wife and our kid to wherever they need.

Also, where I work they even enrolled me on the driving course so that I could take this license without any costs so what would be the point in saying no?

-----

But even thought I am now allowed to drive a car, don't expect to see me buying one anytime soon. For the moment I will only drive my wife's car whenever she needs help, otherwise I'll prefer to keep driving my electric motorbike until I can get enough savings to buy myself an electric car - I don't consider myself an ecologist but I truly hate the thought of depending on gasoline to move around and being forced to spend so much money on this fuel.

It's revolting to think on the millions of people affected by this monopoly so I prefer to be amongst the people who use alternatives - who knows if maybe one day they don't become the main stream trend?

--

Next year by September I'll be moving again to main land, maybe then it will be a good occasion to take a trip around a few european countries and show my wife how things outside Portugal look like, she never even visited our neighbor Spain and I'd really enjoy some good vacations finding new places with her.

:)

Additional Network Certifications?

Since I've recently enrolled on the CISCO certifications, over the last months I've been wondering if the competition on network equipment field hadn't also decided to start similar certifications and ended up finding something quite interesting on SMC mentioned by a friend of mine.

They also have an academy that is offering certfications to people with network expertise, but with two fulcral differences:
  1. It's completely taught online
  2. It's free
Both of them are nice features, but more important than getting another certfication - what can you actually learn from it?

Well, I didn't knew the answers for my own questions so I went along and also enrolled for this certification.

To admit the truth - it was quite late at night when I started doing the first exam - the minimum grade was 65% to succeed and in some of the questions I admitedly used wikipedia to find the correct answers. In overall, finished the first exam with 71%.

To my big surprise, they won't make a .PDF version available for download, instead, they will actually send a neat looking printed version over to your house.

After finishing the exam and seeing this kind action from their part on a free course, I felt a bit bad about myself for cheating on some answers and not taking the test too seriously.

------------

The rest of the certification is composed with 3 more levels that increase of difficulty and I will certainly try to exactly as expected from a student perspective.

You're welcome to visit this academy here:
http://ulises.adam.es/smc/common2005/eng/etraining_p_home.asp

:)

CISCO - On the toes of a giant

Just finished another week of Cisco classes and on this sunny saturday we've been practicing the design of a middle sized network that employed around 16.000 machines working all together.

For me, as a network administrator, it's a very dazzling experience to work with these numbers of machines and imagine them all connected.

These guys can handle thousands and even millions of client machines and to think about the scale of such thing being possible is one of the things that I like the most about network engineering and makes it so attractive.

I've been really enjoying these last few weeks because the more I learn about the networks, the more I understand how I actually knew very little about them even after spending the past five years actively working on the administration of a LAN.

--------

And if I stay dazzled with the current level of work that we are reaching, then what should I expect for the next months?

Because to be honest, each new design or troubleshoot exercise can sometimes take hours to complete and it's a very exhausting mental process to get everything working together as expected.

On the first level where only LAN's were mentioned I felt how CISCO was really serious about networking and quickly made the difficulty level quite demanding to succeed on their proposed tasks.

It's funny because looking back to those tought tasks of the first level - now they almost seem like kids play compared to what we've been doing for the last few days and leaves me with some concern regarding what to expect in upcoming levels 3 and 4 of the CCNA.

The interest is not in finishing this course as quick as possible but rather learn as much as possible, it's amazing to see how so many network concepts were so well designed that survived for over 40 years and treat the past and future tecnologies with the same pragmatism.

Learning more about networks at this precise moment means an investment for the next 40 years were many of the concepts we see available today will still be there in the future decades simply because their design was built to resist time - amazing achievement if we consider that computers evolved so much in the same time period.

---

I was a bit tired after spending all day talking about networks but I guess that there's always a bit more of energy to dream on the possibilities.

:)

The C quest - how good are you when coding C language?

Well.. Imagine yourself left with a reputated and ancient language such as C that you had to solve a given code challenge.

How would you react?

This week I've been put to the test and had to solve a small code situation where I saw that my C skills were nowhere good at all.

Not that I don't know how to code but rather because my mind seems grounded to the delphi roots and refuses to use anything else (perhaps php being the exception)

Enough jiberish, let's cut to the chase and propose the challenge:

"Code a program where the user selects a positive integer number and your program outputs all the possible combinations of three numbers that summed up result in the number selected by the user. No number can be repeated after used once in any given combination"

For example, the user selects 12, and the program should output:
12 = 1 + 2 + 9

12 = 3 + 4 + 5

-----------------

This sounded like a fun task (except that it needed to be done in C but I do need the practise).

I spent the first two days of the week thinking about the possible approaches to solves this challenge programatically in mind or ocasionally jolting down something onto paper.

Before you ask - no, I didn't had a compiler. Never had coded anything before on Linux and now I was in need for a good IDE where I could code and just press the compile button to see the results. Eventually found myself enjoying code::blocks as it was as simple as an IDE can get.

To my dispair, I thought on many possible solutions but being stuborn as I am, none was simple and direct enough to please my taste for a clean solution.

I wanted to make the smallest possible code that would output what was asked and all my solutions seemed bloated and self-confusing.

Last night, I was working for 36 hours without breaks and decided to dedicate these boring work hours to solve this seamingly tough dilemma - who knows if I stare to code long enough some answer will come up? (does this ever work?)

And so I went to code.

Took four hours to try out the first ideas - used arrays, ini files, pointer and multiple loops and none worked.

Last, tried the route that I've should have taken from the start: Manually simulate the behavior of this program by testing some number and checking how it should iterate through the number sequences.

I tried 70 as the test number and used excel spreadsheet (or better yet, the openoffice version) and numbered a column from 1 to 70.

Next, I started to create sequences and removing the numbers from column as they were placed on the combination and behold at my results:

70 = 1 + 2 + 67 --> OK
70 = 3 + 4 + 63 --> OK
70 = 5 + 6 + 59 --> OK
70 = 7 + 8 + 55 --> OK
70 = 9 + 10 + 51 --> OK
70 = 11 + 12 + 47 --> OK
70 = 13 + 14 + 43 --> OK
70 = 15 + 16 + 39 --> OK
70 = 17 + 18 + 35 --> OK
70 = 19 + 20 + 31 --> OK
70 = 21 + 22 + 27 --> OK
70 = 23 + 24 + 23 --> WRONG!

It turns out that looking on the possible combinations for 70 it is so plain easy to understand exactly how a code function can replicate the same results, doesn't it?

My code ended up like this:

#include

int main(){
int a,b,c,max;

printf("Type a number bigger than 5 to showcase the possible sums with three numbers\n-> ");
scanf("%d",&max);
if (max < a="1," b="2," c="max-3;" a="a+2," b="a+1," c="max-(a+b))" d="%d" max=""><=11)printf("\n\n Only one combination is possible for %d\n",max); else printf("\n\n %d combinations possible for %d\n",a/2,max);}


So the relevant code here is
for (a=1, b=2, c=max-3; b
printf("\n%d = %d + %d + %d",max,a,b,c);

It's truly amazing what a FOR statement can do in C language and how it can produce all the required combinations for our goal.

--------


In conclusion, from this challenge I can say that I've learnt at least two things.

  1. C is growing outdated but features like these on FOR make it a tool worth digging some more attention
  2. Next time I have a code task like this one, I'll certainly remember beginning with the manual simulation of the expected results.

-----------

What about you?

Do you feel confident to produce an even smaller or more compact solution for this challenge in C?

You're invited to post your code suggestions!

:)

First impressions from Ubuntu 8.10

WOW..

Everything works on my HP laptop straight out of the box.

I connect my Vodafone USB Internet box and it gets recognized. The touch screen is working, all codecs and proprietary drivers were presented to be activated and my machine is even running faster as I've stumbled on small tool to tweak the clock rate of the CPU to peak performance.

Since I was reinstalling from scratch, this was a perfect opportunity to clean things up since I've been doing a lot of experiments that leave too many junk files behind.

This new version is simply working great and was so simple to setup. I even installed this new OS version using a pendisk and the process to create them is remarkably easy when compared to the respective windows counterparts.

Ubuntu is getting better and better at large steps without doubt.

Instaling VirtualBox 2.x on Ubuntu 8.10

This is very easy and I'm not kidding.

Visit the download site for virtual box:
http://www.virtualbox.org/wiki/Downloads

Get the version that matches your Ubuntu, install the .deb package by double clicking and follow the instructions.

This should get your Virtual Box up and running, but what about USB support?

I'm proud to mention that this step just got a whole simpler.

Type this on the console:
echo "none /proc/bus/usb usbfs devgid=$(grep plugdev /etc/group | sed 's/plugdev:x:\(.*\):.*/\1/'),devmode=664 0 0" | sudo tee -a /etc/fstab

And then:
sudo /etc/init.d/vboxdrv setup

After these steps all you need to do is reboot and start working with VirtualBox.

USB can now be selected from the virtual machine configuration.

----------

These instructions came from this article:
http://ubuntuforums.org/showthread.php?t=828927

Have fun!!

Got myself a new cellphone!

It's not Christmas yet but I've just bought myself a new treat - a new cellphone.

This was a necessary measure.

Last time I bought a cellphone for myself was a Sony Ericsson from mid 2005 about 3 years ago.

This machine was not expensive at all and my whole family got a lot of them from the same series which was kind of cool since I didn't had to worry about finding a power charger as they were spreaded everywhere around the houses of my relatives.

Two weeks ago, my wife's phone went kaput and the screen display refused to work even thought the rest of machine "sounded" ok.

As I don't care much about cellphones I lend her my own phone and got hers instead.

This ended up not being a good decision as everytime I got call I wouldn't have any idea about who was on the other side of the line which kind of provoked some confusions on people because I had some troubles in recognizing their voices.

----

So, I decided to buy a new machine once for all.

And I got hipnotized by an HTC equipment - the Pharos.



Looking on internet reviews it was called as the lower end price HTC device when compared to other similar machines from the same brand - but what the heck?!?

This HTC has GPS, Windows Mobile 6.1 and fits so well on the hand that is confortable to take anywhere and make calls or send messages. My last PDA was bought in 2003 and I had to order it from the US since they were way too expensive. I know technology has evolved since but I'll certainly be quite happy with such gadget.


The price was very affordable for this sort of machine - 200 euros, but still a bit above my budget so I decided to sell my china-cellphone-wristwatch-toy for 80 euros to alleviate the PDA cost - all in all it's a good trade as the watch was mostly a toy with little professional use and at least the PDA can both be fun and help out at work.

So I'm now the proud owner of an HTC Pharos that costed 120 euros.

----------

What have I been doing with it?

I've installed Sudoku (no better way to pass the long waiting time), also got installed some GPS software to track down the velocity I'm moving - one interesting program counts the time and distance that I do over a football field (for example) or beeps an intense alarm if I'm going in excess of speed on the highway.

Copied a lot of my favorite MP3 albuns to listen while I drive or want to hear some music - for some sad reason it's difficult to play .AVI music videos that I converted from YouTube.

Tried a lot of software to make my HTC look like an IPod but didn't ended liking the Ipod interface because it was good looking but a bit too limited.

Took some pictures from the weekend trips.

Oh well.. Did everything except making or receiving any phone calls for some coincidental reason.

Guess I don't really need a phone, at least I got a PDA to play with on my free time.. ;)

And Miguel is born!

My son has born!

So small, so healthy and so active that's it's hard to describe how it feels when you grab him in your arms for the first time right after he sees the outside world for the first time.

Grown up time as come for me and my wife as we take an important step and become sole responsible parents for this new born life that deposits in us a trust without limits to guide and protect him in the years to come.

------

Miguel was born on the 25th of October 2008 at precisely 19h15.

He was named in tribute to the island where we live that is called "São Miguel" or "Saint Michael" in english.

Weighted 3.3Kgs and sized 49 Cms on birth time.

The labour was brief and went very well, the child is simply beautiful.

:)

CCNA (CISCO) - part TWO and summary of daily projects.

Off we go to the second round of CCNA (Cisco Certified Network Associate).

On the first round I was faced with a certification related to things like LAN administration that I was already familiar doing for some years and the difficulty level quickly rised to a point where I was having troubles catching my breath to follow all the discussed topics.

Fortunately, I ended up passing the first level and now comes the second level for another 5 weeks until December.

And CISCO classes don't disappoint me at all.

The teacher doesn't waste a single minute and as soon as the lesson is starting we're already getting our hands in debugging IOS (Internetwork Operative System) CLI (Command Line Interface) and talking about Router protocols nearly non-stop until three hours later.

We do get a small 10 minute break to catch some air - I personally use it to visit the vending machine and get some hot chocolat beverage as drinking coffee at night means no sleep until 04h00 a.m.

----

5 weeks of classes after work means going home quite late during half my work days during the week (22h00 p.m.) and spending the whole Saturday studying as well.

It hasn't been so easy to manage the time as many other things also crumble up my schedule and plans, just to get an idea I'll try to detail what I've been up to lately.



- My son! - Yep, I'm expecting my first child to be born tomorrow or shortly after. I've been in a strange mix of nerves with happiness with the idea of becoming a father.

- Driver Lessons during the day time - my employers are sponsoring my driver's license so I get to learn how to drive a car until the next 10th of November but unfortunately leaves no time to keep up with my day time duties so I have a lot of work to ensure that everything gets done right at my work place regardless being there or not.

- University - Last year I only needed to do the exams on February of the next year but now things changed and I need to study every week to keep up the activities that are proposed. (I still don't like Algebra one bit..) Let's see how things go this year, the maths are a true headache.

- CCNA - 5 weeks of mayhem to understand in depth how networks work.

- WinBuilder - my all time favorite project needs some attention too, Peter, Booty#1 and the rest of the community are a great help but there is still a lot to be done there.

- Boot Land - Has been growing so popular lately that we suddenly need to optimize a lot of things just to allocate enough resources for the visitors (and to support the spam bot visits)


-------------

I don't really know when a person should say that enough is enough regarding how time should be organized. Guess I'd wish to have more time to dedicate to each single task instead of working in this strange multi task mode but things need to get done and I wouldn't likely enjoy missing a chance to do them anyways.

:)

Back to School..

As usual on this season of the year - school is back.

On my case, even though I've began a working career several years ago, I've proposed myself to carry out my own personal education and improve my own skills so that I can indeed progress throughout my life instead of ending up with a static job.

Well.. easier said than done.

This year I'm already busy with the university degree, the CISCO certification and now I'm going to driving lessons to get my Driver License - yep - I'm 27 years old and didn't had permission to drive a car. (funny thought that I do have permission to drive heavy armored combat cars..)

My wife is also expecting our child to be born on the next 21st of October so time is running short on all ends to ensure that things run smoothly.

If you strange not seeing me working so actively online as before - hope this helps to clear the reasons why.

That's my news update for the moment, be well - drive safe! :)

A step to posterity?

Every once in a while I think about the future.

One of my worries as I get older is a question I keep asking myself from time to time: Will I remember or someone else remember how things were 2, 3 or 10 or even 100 years ago?

And then I often reply to myself: "Heck no, who'd care?"

Well.. I care, and the fact is that I do have a sort of need to record these tiny pieces of my own life and experiences like so many others do because I'd be really proud if one day my own descendants would be able to read them and probably get some good laughs at reading these blogs or looking at the photos.

It's not interesting to people outside my own family but it does remain as a good way to remember some of the things that we've doing over the years.

On my own case, on previous years I've opted to take a lot of photos and only recently began this blog that follows the photo log.

And even better news: Today I've taken another step and starting filling out my biography.

But it isn't exactly easy to go back and remember some of things that I did on my teenager becayse I was terrible to say the least.

Education wasn't nowhere a priority until I was in my early 19's and all I cared about was having fun and going out to night clubs a lot instead of studying.

My initial times in the military look almost insane if I look back to the things that I did so carelessly that could have got me injured for life so quickly.

Only a few years later did I started to get a grip on responsibility and meet my wife which really opened my eyes to the need of looking forward to get my life projects completed one day.

There's a lot to say and many other things that I'd like to keep for myself but in either case, I've just started writing down this somewhat detailed biography from my early days and posted it on wikipedia to ensure that anyone else can update it a long time after I'm gone.

It's a truly boring read for most but I see it almost like a relief because I can read back some traces of my life and quickly see how things change even when there is still so much to be done.

You can find this page here:
http://en.wikipedia.org/wiki/User:Nuno_Brito

It's on public domain space and if you know me (and I mean that it doesn't matter if you know me either offline or online) then you're welcome to write down any updated information you consider important to add, I thank in advance for any contributions you add to the wiki page.

Thank you.

:)

Cisco - part 1of CCNA was completed

I finally completed yesterday my final exam on the first part of the Cisco Certified Network Administration (CCNA) course.

This was a bit more difficult than expected, I was prepared for the questions and had studied everything that was expected to be asked but there were some topics that simply escaped my attention or didn't made much sense to be the correct answers but after some careful research I always ended up concluding that the exam reply was accurate even thought at first it cause confusion (guess they do it on purpose, right?).

In either case, it's finished. I had a score on this exam of 95,7% that came as my second attempt on this exam.

On the first one I got 75% and the minimum required to pass was 80%, on the second try they increase the difficulty level and you needed to have at least 85% to succeed. There was still a third and final attempt in which you'd have to get at least 90% - if you failed for the third time then you'd be excluded permanently, so it was not easy having this sort of pressure to get good grades.


I can also say that at this precise moment I feel much more confident to work as a LAN administrator and understand a bit better how a LAN works and how to diagnose the everyday occurrences.

It's an amazing world out there. Servers, Routers and Switch's become much more friendly and understandable. I really recommend going to one of these courses if you're serious about a career in the networking field.

Well.. this was part one. Let's see what's reserved for the upcoming classes next October.

:)

My wife's birthday

Well.. yesterday was a special day around here because my wife celebrated her 24th birthday and it was special for several reasons that made it a very pleasant day as a whole.

For a start, I was working yesterday but nevertheless she went out with friends to have a birthday lunch at her favorite chinese restaurant, later when I arrived home it was time for me to take her out of the house.

We went to get her birthday gifts in the mall. This year, and predicting the needs of our soon to be born kid, I thought it would be wiser to get some very needed domestic appliances that she would never dare to ask even thought I knew for sure how they'd make her live a bit easier on the daily tasks.

One of the gifts was a high-pressure steam iron that can be used to sterilize the baby clothes and the second was a portable mini-vacuum cleaner that will surely come handy since it can also clean up liquid stuff like the ones produced very often on kids of early age if you know what I mean. ;)

I know it is seems a bit strange to offer domestic appliances to a wife but at the moment these were things that we were needing around the house and seemed like a good chance to get them once for all.

Besides, her birthday gifts also included a romantic movie session (thought not too romantic as we ended up watching the newer x-files movie) and a romantic dinner at a fancy restaurant that we had never visited before.

I think that the gift she liked best was the chance to spend a whole day just having fun without any sort of worries.

This is the last year we live or celebrate a birthday on this island, guess we need to enjoy these moments as much as possible since we won't know what can come up next.

We're both getting a bit older but I'm still so happy with her that these special days really make me feel truly blessed for being in her company.

:)

Electric Scooter

Just bought myself an electric scooter, not the toy-sized ones but rather the real-size-full-speed motor bike with license plate than can actually move on the city road.

This is such an amazing vehicle.

Runs fully powered by electrical energy and has an autonomy of around 70 kilometers (roughly 45 miles) without need to be recharged.

The speed velocity is not so bad either and doesn't stay far behind the other motorbikes.

Why did I bought one of these?

Well.. my wife already has a car and I don't really need that much of a separate vehicle for myself except for my home-work travels that I've been doing over the last 5 years using lifts from my friends that also work on the same place.

This motor bike costed around 1600 euros (~2300 USD) that is still a lower price than the gas-fuel scooters and I get to travel around to everywhere for free..

Someone once said that the difference between boys and men was the price of their toys. Maybe this electric scooter only comes to confirm this rule but nevertheless what people may think - it is so fun to ride this vehicle that you'd surely try to quickly get one yourself just for the sake of preserving the environment. (and have fun doing it)

It's the first time I see such development that isn't a scheme to suck money from interested people but rather a business where a cleaner and ecological solution can beat to ground the traditional vehicle market.

And to be honest, I always liked the idea of freedom from the oil lobbies and this gives things an extra taste.

If an affordable electric car is made available one day, this would just become the ideal vehicle for a cleaner future.

Long live StarCraft

Funny thing about moving to an OS like Ubuntu - one might feel tempted to move all your favorites things like old time games and StarCraft (released in 1998) has been on this category for a very long time.

I had some free time and decided to use it by playing some multiplayer StarCraft BroodWars edition on my brand new linux box but was admittedly a bit worried about possible incompatibilities with the wine support under this OS.

Turned out to be a senseless worry and for my surprise, WINE could happily run StarCraft straight from the command line.

The only modification required is the need to disable any of my mouse shortcuts that made the screen use a mac-alike exposé effect that would minimize all the available windows (including the one from the game).

So, I just disable compiz before playing and everything else works fine.

I've been following WINE since it was initially released a lot of years ago and some of my reasons to stay away from linux in the first place were due to the lack of support for win32 based programs.

Today, I'm happy to see that most programs I use on daily tasks are either available as open source linux coded programs or run quite well under the WINE layer.

For all the rest, VirtualBox is also an excellent companion that solve the need for 100% true windows compatibility without further worries.

Who would say I'd live to see StarCraft running outside windows one day?

Let the fun continue.. :)

Red Hot Chili Peper

Well, about a few months ago I decided to learn a couple of things regarding how to grow plants.

Not just plants, more specifically I mean small stuff like garlic, onions, peper, "salsa" (don't know the english translation) and such.

I live on a small flat so there isn't much space where one can grow plants and I ended up choosing a spot next to the kitchen from where I could see how they would grow from day to day.

Was a cold January right after returning home from vacations that I started and throughout the months I've been collecting some of the results from these experiences.

Not all my plants went well, for example, the location that I originally selected to place the plants was only exposed to direct sun light during a short period of time in the morning which proved to be very insufficient, also, I wasn't aware that some plants required a lot of earth and room to grow. I had placed most of them on very tiny pots where one could only expect troubles.

Eventually, I started a fresh one from scratch on the opposite side of my house where I will leave the plants with much more direct exposition to the sunlight.

Two days ago I've collected my first red hot chili pepers and this pretty much concluded the first season with of nuno vs plants. Now I'll wait to see how the next season goes until December.

eheh.. Yes sir, the pepers I gathered were d**m fine.

My wife wanted to eat chicken soup the other day but I wasn't happy with just a soup and decided to coke my own spicy pasta with chicken. Gave a try to these pepers and placed only one of these specimens inside the boiling pan.

One peper was well more than enough and I'm glad she didn't wanted to try a bit for the sake of her health - it was way spicier than one could imagine and I only managed to eat the meal after drinking a huge amount of water and some effort.

Talk about a learning a lesson the hard way - if you're a smart fellow then don't follow my example and avoid exaggerating on the condiments.

---------

That's all about it for the latest news in life at the moment.

Thanks for reading, be well.

:)

wise teeth complications

Who ever said that the wise teeth only appeared when an individual is "wiser" couldn't be utterly more wrong if they asked me..

Two days ago began the emerge of the "wise teeth" that brought nothing but pain, hassle and expenses.

For the first time in years (more than I can even remember), I actually went inside an hospital to treat myself.

Of course that I was too hesitant to place a foot of mine inside such place for such a tiny teeth issue and as a reward on the next day I woke up with my mouth and face completely transfigured as the infection spread to the rest of mouth giving me that sort of "punch bag" look.

After two nights without much sleep, a lot hot tea and teeth brushing trying to calm the infection I eventually had to seek professional help and went to visit the good doctor on the public hospital that quickly prescribed two boxes of drug pills that will serve both as antibiotic and pain relief.

Good part is that I got to stay at home as my face looked a bit like the famous hunchback from notre dame but it's no fun at all as I can't really chew anything and I eventually get bored too quickly when I'm not busy with something.

Today I went back to work, still have a "punch-bag" look on my face but I'd rather be here because it will at the very least keep my head outside these complications for a while.

I also get quite annoying when I'm sick so maybe my wife can also enjoy some piece of mind while I'm not around.. ;)

----

A single word of advise for all the others who ignore their teeth - don't!

It was my bad for ignoring these teeth for so long or only visit the dentist in the last of all cases when absolutely necessary and I've learn my lesson to keep it straight and try to keep the dentist visits on my schedule more often.

:)

Busy days..

Seems like it is a terrible thing to stay at work during the August month.

I deducted that since most of my fellow co-workers would be away on vacations during this month then I would naturally be less busy with daily work and have more time for my hobbies but this spell has surely turned against the wizard.. ;)

Since most people are away, those who stayed also need to perform the tasks that were previously assigned to others which means a crazy month trying to get everything into place.

Well.. One of my new assignments is to manage the local coffee shop that is used by our workers.
My duties include the responsibility of ensuring that all money accounting and paperwork are done correctly and that the coffee workers do their work right.

It's not nearly as easy as I first imagined.

When I grow up I'll likely not be interested in owning a coffee shop myself. If I account all the headaches to ensure that the money flow and profit are fully balanced and ensure the overall conditions of the place are left a bit better when I pass this duty to someone else I can't imagine how someone can actually enjoy some quality of life.

To improve things, my own staff at the computer department also checked out on vacations, meaning that I'm now completely alone getting my daily dosage of computer reinstalls, virus cleaning, client support and network diagnostic since our own electrical grid decided to go crazy and take along some of the machines and equipment not protected with UPS.

Oh well, that's a life lesson to remember next year.

Guess next time I will plan my vacations in advance to see them last all the way from July up to August..

:)

My mom will be lawyer..

Just heard the news and I'm really happy for her.

She has always worked from her early youth and never really had an opportunity to see this dream come true.

Now, with both kids raised and out of the house it seems the perfect timing for adventuring into a new career regardless of the age since time or money are no longer an issue.

--

Also useful on my side to have lawyer-mom ready to defend her offspring with a law suit when civil rights are not respected properly and legal actions are required. (like this example)

I'm really proud for her since she's a very intelligent person and not moving forward with her studies was almost like an handicap on her life that can finally be healed.

Good news indeed, carry on.. :)

Got a new Camera!!

Imagine who got a new Camera?

That's right, I finally got upset with the fact that my previous camera got broke a few months back and allocated some money to buy ourselves a trait this month.

Went with my wife to the local "hi tech" depot and bought ourselves this present which is just perfect to take the pictures of her pregnancy all the way until our first child is born.

It was about the time to get a new camera too.. My wife's mother had lend us a camera she had aging around in her house but even with all these good intention to borrow us this machine, the photo quality was still a bit too poor for our liking when compared to the photos we were used to take and we slacked for all these months with little to no pictures about our vacations this year.

For those who are curious about this new machine:

It's quite simple and stylish, costed little over 150 euros while doing everything we want with good quality (we're not professional photographers anyways so no worries about zoom and stuff like that..)

Here's a youtube review of this machine, a Canon Ixus 70: http://youtube.com/watch?v=AnobtlEU0qM

Time to start taking some snapshots of our daily life again!

:)

Cisco certified Network Administrator - phase 1

Almost the end of the first step for achieving the CCNA category.

Been 5 weeks on classes and doing exams and now the final exam approaches with some fearsome 50 questions where the minimum grade is forcefully 70% of valid replies to pass the exam.

I'm not worried at all about the number of questions or how hard they might be.

For me, the biggest worry is really the amount of time made available to answer the whole exam.

It's one of my biggest flaws, simply take too long to understand and read back everything to ensure that I am doing the right calculations or properly organize my sketches instead of looking at the clock.

For this big exam on wednesday, I can't afford to skip the lengthy questions and start first with the quick ones.

We have to answer one question separately from each other and have no chance of returning back after a reply is left.

--

No problem. I know everything should work out more or less fine since I am sort of comfortable with the questions and usually know the right answer. Just a bit worried that I feel over confident and don't really analyze deeply those questions that might hide some trick that people often fall.

Let's see how it goes.

This week I'm incredibly busy at work that another of my fears is not being able to be present on the exam at all and I'm my recent luck this wouldn't come as a surprise so I'm already taking some precautions to ensure everything is done on schedule.

Wish me luck.. ;)

Worker-Student status

I've decided to resume my studies a year ago and follow a university level graduation in order to improve my own curriculum and maybe my future quality of life ensuring that I would be certified to a certain level of knowledge in the computer science area along with my already acquired real life experience.

All went fine in terms of entering the university and following the course that provided the degree in computer science but the troubles began shortly after requesting authorization to be excused from work in certain days to allow doing the semester exams.

It turns out that army professionals (the ones who belong on the permanent board) were not allowed to enjoy the status of working student and therefore not allowed to study - except on the given free time that was nothing less than our vacation days.

I accepted this price and gave away my vacations knowing that in return I'd be investing on better work conditions and maybe a chance to work on software research rather than plain network administration.

A few days things have changed for the better. A petition and the threat of a law suit against the defense ministery made my "bosses" give back the right to have some free time to study and do the needed exams. Guess we won back a right that was ours from the beginning and now things are back to normal.

Really good news for me and a few many others fellow comrades that were on the same situation and studying in a very clandestine way.

Good news as I think that studying really helps to expand our own perspective of life.

:)

Success!

Took nearly a month but the raw registry editor has finally began adding new keys and values onto a hive structure in a fully object orientated structure.


For those who followed my previous blog rants about raw registry editing you might be aware that each step to make this now apparently easy task was a bit tiresome to achieve because of all the necessary steps to ensure it would work in a organized fashion.

I'm very happy to see this working as expected from the beginning.

The registry API is so picky regarding how values are expected to be written that I fully sympathize with the decision of ReactOS developers to drop 100% MS registry compatibility because this was indeed a lot of work and I'm not yet dwelving into classes and security cells.

Well, just wanted to share the happy news.

There is still a lot of work to debug, test and correct bugs in the code but fortunately it seems that the worst part of this heavy brain storm has already passed.


All is going on a good progress rate to include this functionality over the next winbuilder beta.

With some luck, it might finally allow us to build windows OS's using Linux, ReactOS or Windows 2000 as host, not forgetting that we might as well completely bypass the need for administrative permissions and allow winbuilder to run perfectly well with strong UAC limitations under Vista and Windows 7.


Back to work now.. :)

A few more days to rest..

What a strange summer, either spent working or simply stay a few lazy days catching some sun.

I'll be having another set of 5 days away from work and will be going back to the Terceira island where my wife and her family are staying.

It's strangely hot in the azores, hardly a good idea to walk around the street during the afternoon and staying indoors is just as uncomfortable due to the lack of air refrigeration.

Mentioned strange because in my nearly 5 years living here, the weather has always been quite nice during the summer and now it almost seems like we're back on mainland where temperatures reached high scores quite often.

Maybe a warning about global warming but in either case I will do my best to enjoy these days.

My wife wants to go camping so I'll be moving over to see where a camp site can be found and try to find nice location. Last year we camped in Pico island right next to a rocky beach in a place with fairly good conditions (and very affordable as well), initially our goal would be spending a few days but we liked it so much that ended up staying for two weeks.



Guess the thing I like the most about camping is the grilled meat.

Whatever people may say, nothing beats the taste of some good meat cooked on a barbecue while sleeping outdoors.

Too bad about the insects but this time I'm prepared for them.. ;)


Will also be taking my laptop, usually on vacations I do try to leave all work behind but this registry challenge keeps revolving on my head and I'll likely only rest when it's working exactly as expected (or even better to say the least..).

Progress on registry has moved fairly well so far. I'm now able to write key and values perfectly but still a lot of work to be done in regard to creating new keys from scratch.

My goal is to present this feature on the next wb beta and that's one of the reasons why I'm giving so much focus on getting things to work as quickly as possible so that we can soon have a new stable wb.

Well..

These are the news for now, we'll try to keep the blog update while moving around.

:)

Why is raw reg editing so difficult?

At the beginning when I early proposed myself to have a way to overcome the dreaded UAC limitation from Vista that kept registry hives away from the registry for users without Administration permission I already knew this would be a difficult task.

But heck, the difficulty level to make an organized framework capable of writing registry hives in the same compatible manner as Windows API is an unimaginable exercise of commitment to endure all the frustration and time spent debugging and trying to figure why some things work while others won't.

I've had some thoughts about quiting on this crazy goal and just let things as they are at the present - a mistery regarding how it works entirely.

But when I'm just about as tired as one can get after hours staring at an hex editor, a pascal compiler and a command prompt I get angry at myself for letting time pass without visible results of evolution and suddenly get enough energy to organize myself again.

Take a walk, breath deeply and grab a white clean page of paper (recycled paper that is).

I decide to write down the things that I already know about a given registry operation and then imagine how it should behave to get the results that I need.

This task is lengthy and tedious because unlike raw registry readers, a registry writer needs to have a well defined framework of functions that need to be heavily tested otherwise our results may collapse like a castle build with cards that is suddenly blown away by the wind.

One white paper page is not enough - another page starts to be written.

The writings don't make much sense so I work harder to write them with a better calligraphy and structure the main functions or goals onto separate groups to later combine them together.

I start writing new code on the compiler. It's so difficult to know exactly if I'm coding things right as sometimes there is simply no way of debugging the results until we reach the end of proposed function to be able to check the results.

I compile the code, apply the changes to a single registry key (always the same key..) and open it immediately with the hex editor. Then I try to load the modified hive onto the windows registry using the command line and reg.exe

A message saying something like "Your hive is broken but we fixed it!" quickly appears to my dispair.

Time to go back onto the hex editor where we loaded the modified hive just before it was modified by the windows reg.exe and compare the differences between a clean copy of the hive against the one modified by the custom editor.

Some bytes don't appear on the right location, where can this error be going?

Go back to the compiler, add several ShowMessage dialogs that try to output as best as possible the results of each operation, I write down to paper these results in the hope to spot any incongruence with what the natural sequence ought be.

One byte mentioning the location of a new valuelist key is not being written on the correct location and is overwriting the hive header at 0x0000 position - I deduct that no offset is being passed to this key so head back to the compiler to analyze the code and see why may this offset be set as null instead of pointing to the location of the newly created cell.

Another hour passes and my progress is short to say the least. By instinct, I think it's time to get away from the table and do something else for a few minutes. This helps me to focus better as I return and once again read my proposed goal written on paper and challenge the quality of my own code once again in the endless hope of finding our weak point where the code is failing.


Suddenly, I look on the watch and notice that it's a bit over midnight, time to get some sleep so I quit working and write down some notes for reminding myself where the work was left off in order to keep moving on the right direction and avoid losing time to understand what was done on the previous day.

----------

This is a very resumed description of my typical day while working on the registry editor - it's been like this for a whole week now and I'm quite honestly reaching a point of exhaustion due to the amount of work and focus required for making progress at such slow rate.

Yet, I am making progress.

Little by little my own raw codings do speak the same language as windows registry API. At the end of each tiresome day I can say (for the most cases) that I'm happy to have solved something that took me hours of testing. Eventually fall asleep thinking to myself: "Tomorrow I'll try to move that other step still missing, it's not far to get it working now".


In a week I have gone from the point where I superficially understood how the registry could be modified all the way to a state where all code needed to be rewritten from scratch simply because I understood this wasn't efficient enough in order to survive the upcoming complexity of more elaborate registry functions for creating new keys, modifying titles/values, etc.

Eventually I hope this effort on a good base becomes a good working structure for the next goals.

---

Today was not different from other days.

I'm happy because over the last three days I've sought to write a title to a value in the cases where the title is bigger than it will fit on the original cell using an efficient framework organization in opposition to raw writing the hive as if it was a "hack" of some sort.

Goal achieved, no time to lose because the next goal is already outlined on the white paper page..


:)

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.

http://www.kuro5hin.org/story/2004/2/7/144019/8872

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 :

From:

# 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:
http://www.virtualbox.org/wiki/Downloads

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?

Vista.

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.

I'm going to be a father!

You've heard it right.

My wife is expecting a child next September and I just couldn't be happier about this.

We are living in a wonderful place and it would be really hard to find a better place to raise a child so timing is simply perfect.

Would be great to go back to Coimbra for a few months so that our whole family could visit the newborn and help but we decided to stay here and only return to our homeland for christmas vacations.


Was not an easy decision since my family and carla's family really wanted us to be there when this child was born (it is the first baby on our family since a long time) but we live 5 minutes away from an excellent hospital and we already have our house and work rooted here so it be non-sense to move away.

We also fell in love for this land and maybe this way when move away within a year or two we can say to our kid that he was born in such a place as this. I have so many good memories from the Azores that will be hard to ever forget this region.

-------------

Also took this opportunity to upload some our baby related photos since February, you find them here: http://nunobrito.eu/e107_plugins/autogallery/autogallery.php?show=2008

Will keep the gallery updated as time goes forward!

:)

-- Nuno Brito

A sunny day in the rocky beach

Just passed a great sunny day on a very rocky beach, it's rare for the weather to appear so bright and sunny that it's a wonderful occasion to give a little jump onto the beach and get some rest.

This time we decided to visit a new beach site. Usually we visit a nearby beach that has a considerably wide sand field where no crowds are visible until the mid-august time but this time we went forth to a whole different location and went to a beach very near the location where Carla studied for year in a place called "Capelas" on the other side of the island (literally).

It didn't had any sand, only rocks and water but we did made the most of this great weather.

Before we visit the beach, we also unwrapped a giant tent that we bought yesterday and assembled it inside our living room - enough to say that this tent is so huge that nearly wasn't enough space to fit our room. We'll be needing this tent for our expected travel next month to meet the other islands along with our family that comes here to visit us.

Was a fun day indeed, made me feel like summer is (finally) arriving after a long winter.

:)

-- Nuno Brito

The Ubuntu experience

Some days ago while visiting Oporto I took the opportunity to also visit one my younger brothers (Edgar Brito) which is studying in a local university there.

Besides dinner, I also had the chance to know a bit more about his life style in this city and one of the most interesting facts was his work methodology that was heavily based on Mac technology. He is a student of civil engineering so most of his work is without doubt related to very windows specific software such as AutoCad and others, so how did he managed to balance his Mac taste with the needed programs traditionally identified with Windows based machines?

Simple - he's using computer emulation through Mac's Boot Camp software.

His machine is a MacBook Pro equipped with 4Gb of RAM and runs several OS's in a breeze using the parallels emulation software.


I have to admit that this work method seemed very efficient as he had complete control over the OS and installed applications. He can also move around his virtual to any other new machines in the future without need to reinstall everything from scratch again. The Mac OS also ensures that he safer than the average windows user when surfing the web so I have to say that this is a very attractive way to work.

Nevertheless, mac's don't really make me happy.

I consider myself a heavy windows user since my work is also based on this platform but the mac way of doing things is in my opinion far more extremist and restrictive than Microsoft ever was.

Time to say that MS as the reputation but it turns out that Apple has the profit of adding all sort of restrictions to their own hardware and software in order to maximize the profit rate for people who want to add more features and hardware.

So, mac's are not really a solution for me but I do miss all the eye-candy sizzling features of the MacOS and wanted to move ahead to a safer platform.




Then I remembered, if I still wanted to try something similar why not Ubuntu?

And moved on to this new OS, or should I say philosophy of life?


A new version of Ubuntu was released recently and this seemed a good chance to try out a fresh and updated version on a fairly decent machine with 1Gb of RAM and a Dual Core AMD CPU (with Nvidia onboard)


For those who don't know what Ubuntu is:
it's an operative system based on linux (debian type to be more specific)

The install of Ubuntu on a Windows machine is quick and painless, all the options are clearly explained and this is pretty fast and straightforward process.

Then I decided to add eye candy and installed the Compiz-Fusion package.

Compiz is an excellent piece of software and turned a perfectly normal gnome desktop into a stunning place filled with motion and intuitive effects.

For those who started with the command line era some years ago and now have the opportunity to see a desktop working in such an amazing way I must that it is simply a dazzling experience.

At the beggining I wished that windows could one day look the same way as I could now see in Ubuntu but then again I simply thought: Why should I wait so long for Windows to (ever) add a similar feature like this?

With Vista, 1Gb of RAM is not enough to keep the Aero look sharp and fluid and behold the way how ubuntu manages to do wonders with such modest work machine.

Happy with my results I looked on the emulation options.

My obvious choice is VirtualBox

This software initially developed by Innotek and recently acquired by SUN microsystems is simply without doubt the best open source emulator currently available for the average home user.

On my opinion, it is a far better option when compared to Vmware or Virtual PC, which may be claimed as better but I think that both of these commercial solutions contain so many usage restrictions that makes me wonder how far are these opinions really accurate.

QEmu is also one my all time favourite emulators due to it's small size but VirtualBox is a champion when it comes to emulate Vista and XP with excellent speed. (an average XP got installed under 14 minutes)


So, installed VirtualBox on my machine - but there was a catch - one of the reasons for using emulation would be support for running USB devices connected to my ubuntu box since most hardware I have only supports to run under Windows.

For this to be possible, I had to install the Personal Edition of VirtualBox, which is free for personal use and enables these features.

Had to use google to find some tutorials scattered around the web and also on the ubuntu forums where other users post details regarding their tests and results.

After installing and configuring VirtualBox - behold a breath taking machine.

Runs smootly, it's safe from viruses and I can run windows specific programs using Virtual Box in seamless mode which make these specific programs like IE or Media Player (for example) work directly on your gnome based desktop.

Ubuntu also takes a lot of the complexity often associated with Linux machines.

It's truly orientated for the users who don't really care so much about using either linux or windows but need good machines to do their daily work tasks.

Look for example on the codecs and drivers questions: most of them are not open source and many linux distributions refuse to add open support for them but ubuntu is not inflexible and will use proprietary drivers (nvidia support for example) whenever there isn't a better open source solutions. Codecs are also installed when you browser a web site that needs them or open a media file without open source codec support.


I like the fact that everything I installed is completely free. No need for licenses or restrictions regarding distribution. I could for example, create my own ubuntu install DVD that contained all my personal modifications and share it with my friends without legal worries - isn't this great?

On my laptop I still use Vista as default OS but my work machine is now running exclusively on this platform which I might say that it makes me by far happier than using a Mac.

Hardware has made such a big evolution that we can now afford to work so intensively on virtual machines and no longer need to make tough choices when it comes to balance work flow with prefered work style

Ubuntu is without doubt an OS focused on the future.


:)

-- Nuno Brito