My life took so many spins and turns between these weeks that I can hardly say anymore that I'm still the same person as I was 10 months ago, but, deep inside I don't think that I've really changed that much, what changed radically was the environment, the people and the challenges. The image that people had from "brito" in the past has changed to "nuno" but underneath the hood I'm still the same person.
The course is tiring but for the first time in a long time I'm really having fun.
Some of things that I enjoyed the most were the long nighters to get assignments done. Working at night in the computer department of Coimbra is simply inspiring, the whole atmosphere brings the right mood for creativity and I'll miss that.
Contrary to what I believed, the first semester focused so much on communication and solving people related issues that we barely talked about anything programming related - it's interesting that when you learn to talk with others, software development becomes so much easier and you can actually start to focus on the things that really matter.
It's not easy to live without a salary but costs are nevertheless balanced to some extent since we're in Coimbra and near to the family, contributing to seriously reduce my monthly expenses. My savings are still short but I'm working to improve them, one step at a time and things are still moving forward.
I still have some free time to enjoy Christmas with my family and then all of our class will fly to Pittsburgh in order to attend the second semester. A house has already been rented and my main worry for the moment is my job situation with my former employer. Somehow I have the feeling that things will get quite complicated within the next months.
But things will work out, all it takes is a bit of faith in the future and ourselves.
It's a report that gives some background about the evolution and state of WinBuilder along with associated projects up to that time.
This case study is mentioned at another paper report that I'm currently preparing and I think it would be nice to share this with other people interested in what we've doing with boot disks across the latest years.
Unfortunately, I've been a bit absent from the latest improvements and this might become an issue if I decide to carry forward with a WinBuilder report for 2010 but we'll see how that goes.
If you're interested in reading this case study, you're welcome to get it at the downloads section of my personal site: http://nunobrito.eu/download.php?view.12
One of them is the site rank option.
Boot Land (at the time of this blog post) is ranked as #12.
This hardly seemed like a fair position so a message was passed along on the newsletter asking people to write in their words what was their opinion about the site.
The result was great.
We raised the number of reviews from 0 to 30 in less than a day, but more important than numbers was the genuine opinion of people regarding how they saw this community.
Here are some:
Best talents around the globe are part of bootland. Bootland is always way ahead of others in terms of technological development in terms of boot disk. This is the only site i refer for any boot disk related issues.
I discovered the Boot Land site only recently and I've been impressed by the comprehensiveness of their content. A worthwhile visit if you personally maintain your PC.
Bootland is very active with new updates, tools and scripts for keeping your set of rescue CD's up to date. They already have a Windows 7 boot project.
Reading these reviews is a good motivation to keep working. Sometimes it's sad as I see the quality work of so many good developers pass unnoticed and forgotten but these reviews prove otherwise. It's worth continuing to work and improve the current state of things.
We might not get a higher ranking than #12 but at the very least I'm sure that we rank #1 in the heart of everyone that is part of our community and that's the sort of ranking that really matters.
And believe me that "intensive" is not even the most appropriate way to describe the stress hidden behind each week.
The course is highly demanding. You're left with constant deadlines to deliver homeworks that seem to take forever to understand and complete in a satisfactory manner.
We need to account the hours spent studying, last week I've passed over 60 hours studying and this doesn't reflect the lost sleep nights to get something done on time under pressure.
It's been a very interesting experience and I'm nevertheless enjoying it very much.
Some of the things that I like the most, is the way how students are expected to behave like professionals with some level of experience at any given moment of the program. There is no room to argue that you don't know how to achieve something. If you don't know how, then it's probably due to the lack of the research to learn how to get it done in the first place.
My biggest difficulty is a class called MSS - Models of Software Systems. It involves a lot of maths (my personal nemesis) and even though my performance is somewhat below the average, I'm still working my way to raise the level of efficiency up to the expected level.
I'm also having some difficulty on other classes, my written evaluation of case studies and replies to reading questions are still not averaging a satisfactory level as well. I'm now spending a lot more hours trying to compose quality replies.
Guess I'm a slow learner, I like to do things slowly and the fast pace of the course leaves little to breath let alone do things slowly.
Well.. even the rate of my blog posts is a good sign of this lack of free time.. ;)
But heck, this is exactly what I was expecting in the first place.
This is a way of perfectly simulating how people who graduate from the MSE are expected to deal with stress and learn under tough conditions limited by time and constrained by an excess of work.
I'm loving it and after 5 weeks of work, I'm already clueless regarding what is left to dazzle us during the next 60 weeks..
The whole computer department with room for thousands is empty as we're still on the middle of the summer, and we, the proud 14 students along with a few hand picked teachers fill these halls with the classes that will later on build and shape my personal view of the software world. (crossing my fingers)
So far, so good. Having classes exclusively in english language when all students are portuguese is not something new as I've spent last year passing through a similar experience with the CCNA.
The biggest difference is the fact that studying become (finally) a full time experience to me.
Over the past decade it wasn't nowhere easy to consolidate new knowledge while fighting with professional constraints or hostile study environments.
This time I'm really having fun while living a long waited goal and yet quite nervous to some extent about the quality of my work as everyone is reviewed constantly by people that are beyond doubt experts on this craft.
The MSE is seen as the crown jewel that represents the people who teach computer science in Coimbra's University and they uphold the professionalism and devotion to this goal at an incredibly impressive level. Students are expected no less commitment and I'm really happy to work in this environment.
At this moment I'm not so worried about the complexity or costs of this demanding course but my mind is troubled because of my contract work terms with the military.
If I cut my ties, then I'll breach the permanent staff contract terms that expect a minimum of 8 years under their roof. I still had 3 more years to reach this timeline, and breaking early gives them legal basis to request a compensatory indemnization for the 3 missing years.
Guess that some negotiation needs to take place or at least a (significant) source of income needs to be retrieved as the penalty can easily reach between 10k~20k euros. Perhaps a new bank loan can be drafted or the some distributed payments be agreed but freedom comes with a price.
The question that bothers my sleep: What is the price tag to gain back my freedom?
So, I picked a small popular site that would be easy to play with - ninja - because it is the right tool for simplicity sake and the website should also be made as simple as possible.
One of the advantages that I like the most at wordpress is the integrated plugin system. Very neat. You simply look for plugins with particular features and click to install.
On the ninja site, I've decided to replace the old plain html pages with a wordpress CMS. The transition went smoothly and took less than a day to complete.
The biggest obstacle was finding a proper new visual theme and then adding back the text present on the old pages. One sad thing that could not be ported are the posts that were made on the old forum system.
I've decided to use the integrated forum simple:press inside the CMS to ensure that everything fall well together. This new forum system also brings some other neat features that might help make it more appealing for other ninja users.
For example, it's not necessary to register on the forums as it is using OpenID, people on participate on a given topic get email warnings whenever someone replies to their threads and so on.
Also, this is a good homework practice for larger projects. My next goal is to also port the http://nunobrito.eu from the e107 CMS onto wordpress.
Next would be turn of http://winbuilder.net and this would complete the round of site conversions. Why converting to wordpress?
Well, the main reason is flexibility to change things around. With e107 or static html pages is a real bothersome to add changes on the website or make it look exactly as you want.
Besides, the available plugins are really cool and I'm just scratching the surface.
I don't really like the fact that it's dependent to MySQL but for the moment there is still no other alternative.
If you have the time, don't forget to visit the new ninja site at http://nunobrito.eu/ninja and tell me what you think.
Spent the last three days working around the clock to ensure that all my matters with this azorean island were solved. This involved in going back, forth and around the city on foot several times just to get all the required documents and trying to change my new residence whenever possible.
Also, I needed to return my rented flat back to the owner and you wouldn't believe on the amount of things still missing to pack and bring back to mainland. Many other good things could not fit my luggage and I either gave them to friends or plain left them on the garbage.
It was somewhat difficult to put our own stuff on the garbage, especially when you paid good money for them and attached some emotional links over the years as you used them and raised happy and good memories.
Certainly not easy and I'm glad my wife didn't come with me as she wouldn't certainly bear to see some of the things that went out with with trash cleanup - I won't even tell her the details.
I've spent a lot of money and time repairing small details in the house, fixing electrical light-switches, changing bulbs and other equipment that I had replaced since the originals weren't in good state.
I'm taking most of this stuff with me and my personal luggage is so, so, so heavy that my only hope is that they'll be nice and don't charge me the extra weight. I can carry 20 kilograms but my bags weight around 60 kilograms and they demand an extra 5 euros per extra kilogram if they're in a bad mood.
As if my bank account was not already in a bad state, an excess of weight overcharge penalization would only do wonders - but I need to bring these things back home.
Guess the human limits of my hardware are really starting to show some wear. I've slept too little over these days and gave no rest between the effort of getting things done.
Mostly due to my fault. I always tend to think that sleep is secondary and prefer to go out see some music concert somewhere and have fun even knowing that I'll have to wake soon in the morning.
At least things are going on track, with the student's bank loan it should become easier to balance the bank account back into positive state thought I'm still worried about the future but I'm drawing some good plans to keep things running under schedule as expected.
I'm not worried about life in general, just plain sad at this moment. Leaving the Azores for good was not easy. Life is good around here and I've built a lot a good memories from this place.
After living for two months in mainland one can note the difference in lifestyle, but this is a new important step and better things will certainly come along.
Being late (almost 10:00 pm), I rushed onto a shopping mall where a citizen's office was still open. 15 minutes later, I had signed a declaration mentioning I had lost my identification and they gave me a temporary citizenship certificate to allow me flight back home.
I thought things had gone smooth as silk and this was indeed what happened then.
But today I went to pick the new citizen's card at the mall and a mistake was made - one of my middle names (Garcia) was mistakenly placed as one of my first names.
My mother only gave me one first name as "Nuno" but I was instantly re-baptized under a new name as "Nuno Garcia"
Oh well. I'm too tired today to fight the ID system and I've spent the whole day and night going from one place to another, so, guess I'll have to make some use of my new freshly reassigned first name and get used to it.
Go ahead and call me either Nuno or Garcia - for some unquestionable reason that I won't even bother to ask, both are now the same on my ID card.
Very strange feeling. I moved out of my house at Coimbra and did everything on the expected schedule to get the bus ticket, the airplane reservation, to arrive on time, to wait the necessary time, to endure the time between trips but something was not the same.
This was likely the very last time that I see my house the way has it had been for the past few years and will also be the last time I'll probably ever be here.
And my feelings are crossed. I miss the azores.
Life around here is indeed different. People talk about quality of life but after some time you kind of forget that there are places where life is not so pleasant.
Looking back, this seems like another life in a distant time but it has only passed little over two months, guess life in mainland can also change you.
So, to celebrate a new beginning I started out by going to dinner at one of my favorite spots. I didn't go out at night as I need to get up really early in the morning but I'm afraid that I'm not also being able to catch much sleep as it's 03:00 AM and no rest has yet come my way.
Well, I'll try to get some work done and perhaps get tired enough to sleep for a couple of hours.
It allows to literally port a social network onto your website without the need to ask people to re-register themselves on your site.
One other cool feature is the fact that wordpress and phpbb already come prepared for google connect which means a lot less worries about integration and more free time to work out the gimmicks of the site.
This is a very approach to the same concept implemented by Microsoft (and others) over a decade ago when Passport was first introduced but with the twist that you have so much more control over the login registrations and are allowed to do a lot more.
At the moment I don't see myself using often this tool but it's certainly something to keep in memory for future projects.
Very good google, keep it up.
Wordpress is a really cool tool for running blogs but one of my favorite features (remote posting) was not working correctly with gmail.
This happened because wordpress itself has no support for secure connections. So, after googling for a good while, the solution presented itself in the form of a new script that is capable of handling gmail.
The article where this approach is explained is available here: http://www.mattromaine.com/2005/03/07/wordpress-gmail-mobile-blogging/
Fairly simple approach. Just copy the two files onto the installation folder of wordpress, rename the extension of both files from .phps to .php and you're ready to go.
As mentioned on the instructions, you still need to automate the calling of the wp-gmail.php script but that is the easy part.
As for setting up wordpress itself, don't forget that the pop address is "pop.gmail.com" and that it will use port 995.
Last but not least, the username should be as "email@example.com" where "example" is your real username to log inside your gmail account.
That's it, good luck!
It had passed quite some time since the last time I had a good reason to do so, and I finally found a good picture that would illustrate my state of mind at this moment.
The new avatar features my baby child Miguel and myself during the baptism party of a cousin's newborn baptism that occurred this past weekend. It's also one of those rare situations were I get to wear a tie so the photo itself reminds me that sometimes one needs to set loose from the work ties and give some attention to the family.
This kid has been a blessing in my life and I can't avoid making a smile whenever I look on the pictures to remind me of how lucky I am for having this kid and the respective mother on my life.
My current employer authorized a prolonged absence from work that will last the next 6 months until the end of January 2010.
This means the first 6 months of my life without a single salary for the first time in a decade but at the same time I simply couldn't feel happier at this moment as this change also means 6 months living a very desired goal in my life and fight for a chance to improve my work quality as the results are already visible.
On a financial level, things are sort of stabilized for the moment. I've reached my income saving objectives and gathered enough resources to sponsor my own education costs which will be substantial during the next 2 years.
Still missing to figure how to provide my own subsistence in the U.S. without spending these savings, guess that a bank loan is in order but I'm leaving this option as the last resort since life after the studies won't be easy either and each saved coin will count to balance the monthly expenses.
But so far so good.
It's kind of scary to see everything falling into the correct position as if this is ordered like a huge puzzle. A lot of things are in motion and a lot of things can still go wrong in the future but I'm trying to live with all doors open in order to face any possible obstacles as they come along.
The last and perhaps most ubiquous decision will be the penalty imposed by my employer in case I decide to move away after the 6 months. But if things really go well (crossing my fingers here) then I won't certainly regret my decision.
As always, time is short for everything but somehow things get balanced.
Life is fun again.
LOC stands for "Lines Of Code" and the basic purpose is to count the number of valid lines of code that were written for a specific program.
First of all, in order to be able to count anything - you will need to specify a coding standard template.
This template is a small paper with all the rules regarding the way how code should be written for a given task. For example, avoid excessive capitalization, split each logical statement onto it's own line, assign meaningful titles to variables and so on and on.
My first attempt at designing a LOC was fairly simplistic. It simply stripped away the comments or empty lines be done with it.
But this wasn't a very realistic view of the true LOC.
As mentioned by the teacher, adding tags to the code would be more productive (even thought not mentioned in the task requirements) and so I did.
The results couldn't have been better.
I simply add "//TAG:X" (where X is replaced by the code of the category where the code belongs) and it will count all valid lines until the "//finished" tag is found.
Very simple but also very effective. This way I'm capable of truly counting the lines of quality code between what has been added, modified or recycled.
The PSP also requires to count deleted lines so I've made another tag "//DELETED,15", where 15 is the number of deleted lines.
This sort of software is really interesting, in the past I'd simply count all lines from top to bottom, most admit that this is a substantial improvement.
Unfortunately, all these modifications and all the troubles of moving away from the Azores made my fall behind schedule to deliver the assignments. I better start working to get back on track..
For the first time in a decade I can say that I've moved back to my homeland.
I'm living back at Coimbra, place where I've spent most of my youth days.
This was at the time a city with a superb quality of life, still is today.
At the first days it was all a bit too confusing, many small things changed, family got older, shops closed, new buildings rised and all the usual things you'd expect to change over the years.
I've spent my free time over the last days to go outside and drink coffee at my favorite places. First debuted the "Cartola", placed at the "Praça da República". A somewhat peaceful place during the morning where a person can drink the coffee while studying.
Yesterday, I've went to "Celas", very close to where I used to study. Amazing to see the difference. I can still remember how things looked without being urbanized.
And today I've been at the "Santa Cruz" coffee house, another emblematic place to drink coffee placed right at the middle of the old city. Expensive coffee btw, it costs 80 cents..
It's been a very entertaining week. Coimbra has good quality of life and plenty of history to walk around. Will certainly be nice to stay here for some time.
It's a mix of many differences for my life and I'm still feeling a bit outside the crowd thought the other students are all extremely polite and bright. Nevertheles, I should already be used to changes but I guess that leaving the Azores definitively is still tough to accept as a reality for the future.
I should probably enjoy the course and flavor the things that we are about to experience but in my mind remain all the doubts and uncertainty about my professional future.
A life without thinking about MSE in the horizon doesn't seem so challenging while the other available courses are nowhere interesting enough to push your own capacities, but now I'm actually living this experience in first hand - where should things go from here?
Well.. the first thing before thinking on anything else is study. And I mean really STUDY!
The instructors passed a very clear message that no student will be forgiven if their average grade drops below 3.0 GPA and if any test achieves a B- grade you're immediately signaled with a yellow card and need to work even harder to seriously improve the grades.
No joking around - study!
The former MSE student presentation revealed a concept popularized as "Good enough", and this is something that might seem revolting for most perfectionist developers but when you're working under a very tight time-frame then I think "good enough" is all you can do.
The overall presentation and care demonstrated throughout this process is impressive. This is indeed one course that is regarded as important to the image of the university and they are available to help at any given moment but it is also required to your commitemment and energies focused on the degree are total.
I liked the instructor presentations, they're all extremelly humble and polite even thought their CV's express a lifetime of work in software/hardware development and research.
Coming from a military world where discipline is sometimes forced upon people in so many repressive ways to achieve some established results, it's actually fun to work in a environment where no such methods exist and all work is purely motivated by your own struggle to achieve optimum results.
Between all these talks I couldn't accurately evaluate what my performance will be during the course. I've never coded anything in Java, .NET or Visual Basic - never needed anyways - but now they will become the working tool as other students only seem productive using them and my performance will surely degrade (especially if the time frame is very tight to present results).
Guess I'll need to adapt in order to survive amongst the other fellows in this tribe - thought my opinion for the moment remains solid that these languages are nowhere near my coding preferences.
For the moment we will begin the PSP (Personal Software Process), this is a remote lecture-style class that will occur during July.
Excellent opportunity because I'll probably get a lot of time to go outside in the middle of the day to drink coffee while working at the class assignments - no better way to get things done.
As things move forward, the difficulty bar will surely increase and I won't be having so much tranquility (or quality time) to get these objectives completed.
Also, the army only grants permission to remain absent for six months. After this time period I will have to decide wether to remain or not inside the organization or otherwise be forced to request my removal from the permanent board in case I decide to go forward with the MSE all the way until the end.
I'm up for the challenge, let's begin!
This week has been hard.
Because ever since the beginning of my online adventures that I've always took good pride in staying far from annoying google ads but this time I'll need to swallow my own pride and use them to survive.
My life took a very unexpected turn around. I'm leaving the place where I live, the work that provided such good quality of life and also stray away from some of the projects that I care about.
My goal to justify these measures is also well worthy of my efforts - the MSE from Carneggie Mellon.
This course is no joke for those that are faint of the heart and for those who have that crazy dream of achieving a somewhat incredible state of nirvana in terms of computer programming (if they manage to survive during 18 months of intensive stress).
I'm no exception on this group of dreamers and I'm aiming high but will this goal justify the used means?
On the case of publicity, just wish there was a better solution but I see no other source of income available during the next couple of years since.
My wife will try to find a job but she'll surely be paid the minimum wage and our child's daycare center will cost half of her earnings.
It's too much in my conscience to bear the predictable guilt of being such a weight on her shoulders at the expenses of my own goals that will surely prejudice her peaceful tranquility.
Maybe this way I'll get enough resources to leverage my contribution to the family and afford the internet and transportation costs.
My apologies to those who I disapoint with this measure, this was not an easy decision.
Is mySQL really necessary?
It has all sort of advantages and performance advantages that people so quickly advocate but is a SQL database really needed to power up small websites or web applications?
My preference goes to fully portable websites that require no external database and keep everything tidy and organized inside the same folder. This makes the task of creating a new site fairly simple and even simpler to move everything onto another server.
For bigger sites, mySQL is still a tool of the trade but I've learned to look onto smaller alternatives as better option to power up those small sites that don't require a heavy CMS but still need to stretch a bit further than static HTML codings.
On this blog post I'd like to refer two developments that I've been using for some time.
The first, is a forum software that runs solely on a flatfile (no SQL needed), the name of this project is "Ultimate PHP board", very small sized, free and very easy to customize. This is the forum software that I'm also using to power up the ninja forum.
The second project is called "Razor CMS" (freeware) - a name easy to remember and also the type of software that is meant to be easy to work with from the start. This is a good option is you need to start a new website and only require to showcase a few pages.
It comes with a WYSIWYG editor and you can find additional plugins (called blade packs) to add more features and themes.
I'm using this software to create a standalone PHP powered website that runs from DVD's and USB media to be distributed as gift to guests at a meeting.
This standalone website is possible using another software that I've made some time ago called litePHP (freeware).
Also, with the competition installed for the desktop OS market, what good reasons would keep you away from a Windows machine?
1 - Free until June 2010
2 - Fast (or perhaps Vista was too much of a slug anyways)
3 - XP mode - it can run software/drivers meant for older OS versions
4 - Less annoying UAC
5 - Full support for IPv6 - you'll likely understand why this is important within some time
6 - Renewed set of UI controls - those old style menus and graphics with 10 years of existence were all updated
7 - Very cool explorer and orb menu to work with
8 - No more USB/DVD autorun as before
9 - Large hardware support (really huge with the possibility to get online for fetch missing files)
10 - More flexible to install - let it be from USB/Network or whatever, it's easier to deploy.
1 - Free until June 2010 - so after this that you'll have to dump it altogether, buy a license or tamper the install with some piracy method to workaround the timebomb - not nice.
2 - It's fast but still slugs behind XP in terms of performance and any other current desktop OS.
3 - XP mode is not perfect, some drivers will crash
4 - Memory consumption is still huge when compared to other OS
5 - Viruses, Viruses. Be prepared because all the malware that hammered previous releases will soon catch up.
One of the things that I like the most is the stability of the UI, a bit like OSX this just "feels" solid to work with. They've really smoothed the edges to bring a work OS into life.
The UI redesign was a very nice touch and the default look is very pleasant to work with.
But should MS be praised?
No, it shouldn't.
These improvements derived from flaws that have been criticized heavily - and even the competition has been ahead of the game for some time while MS keeps playing catch up.
This is a desktop OS for the masses but I'm a bit disappointed to see such slow rate on exploring new ways of interaction with the desktop like compiz provides for x-window.
Would be nice to see some of this innovation going mainstream.
Installing Windows 7 inside an Acer One is fun and probably not a waste of your time.
For two reasons in specific: It's free and it's fast.
- Free because Microsoft allows you to use Windows 7 until June 2010.
- Fast when compared to it's predecessor Windows Vista.
Still not as fast as XP and a lot of memory is consumed but we might consider the pros vs cons in a later blog post.
My short tutorial is just an example so that people have a better notion about a possible way to install.
The first step is downloading the Windows 7 ISO, it's available from MS here:
Then, using a separate partition to keep both XP and Win7 working is a good idea in case you need to go back some day. There are plenty of tools to split the Acer One partion, I used the one I trusted the most.
Since I use Ubuntu, there is a USB install tool that creates USB pendisks, one advantage of these pendisks is that they come builtin with a partition editor that resizes NTFS partitions safely (and as simple as it gets) - http://www.ubuntu.com/
After the partition is made available, it's time to launch Windows 7 install setup from the original XP. I created a 40Gb partition thought after installed this new Windows it took about 9Gb worth of used space.
Since there is no incorporated DVD reader, we can fake a drive using a virtual DVD drive to mount the ISO image.
My favorite tool for this task on Windows is ImDisk (open source) - http://www.ltr-data.se/opencode.html#ImDisk
Just install and reboot the machine. Aftwerwards you can right-click on any ISO image and make it available as a fake drive.
Mounting the Windows 7 ISO image we get the install started.
Don't forget to choose a new instalation and select the secondary partition that you have just created and the installation begins.
The install process is a bit lengthy (one hour perhaps) and reboots several times without need for human interaction.
I was a bit afraid that some drivers wouldn't recognize the Acer One hardware. But there is one good thing about this Windows version - it supports drivers that were created for XP. This is a big plus without doubt.
All that was left to be done was visiting the Acer download site and grab the latest drivers for the Mouse synaptic software that allowed double tapping to be recognized as left-click.
Also, the software to control the fan noise also seemed to work only for XP/Vista - it was nice to see Win7 also asking to run the program in "XP mode" so that it work as expected (and it did).
I have very nice words to say about Windows 7 indeed.
This OS is serious and less cluttered than it's precedent. The visual style is good and they have really made enough improvements to convince me as a worthy replacement for XP.
In a time that both OSX and Ubuntu are enjoying from a popularity boost given by the awfull performance demonstrated by Windows Vista, it should be no surprise to see Windows rising back into better days within 2010 if all goes well for them.
It's nice to see some competition.. :)
One of these projects was Ninja Pendisk. In contrast to other projects as WinBuilder or the Boot Land community that are well kept by other developers, the ninja was suddenly made orphan.
It is growing popular but development stagnated.
To lift up some motivation in order to continue support and improvement, I've placed a small donation box powered by Pledgie.
This is probably the first time that I've ever placed a donation box anywhere but the pledgie service is very nice and given the current state of Ninja, this sounded like a good experience.
Results arrived today.
A friendly ninja supporter named Wilson has contributed with 1 euro.
A small token to some but a meaningful contribution to me.
After paypal deducted 0,35 cents + 5% of the contribution value, I was left with little over 63 cents on my account - still good to sponsor a coffee.
Since I drink about 2~3 cups of coffee per day, this is enough to power one half of the morning or even perhaps a whole afternoon working on ninja to update it's functionality.
Let there be coffee!
Guess everyone heard about VNC to control a computer over the network but what about NX?
In the past I always thought that there were only two good ways to control a computer remotely.
The first would be using VNC and the second would be Windows Remote connection.
Thought these two options work fairly well for a LAN or possibly an intranet WAN, the truth is that both are a serious pain to use over the Internet due to their slug performance.
This is a freeware server/client remote control software strictly for linux/solaris machines.
The client itself can also be used from Windows or MacOSX environments and this works fast!
I'm not joking about being fast. Their compression algorithm is extremelly efficient. I suspect that both client and server work together to save as much bandwidth as possible and only sending the bare minimal changes to update the client's display in contrast to VNC or RDP that output the full screen.
So impressive that it still works incredibly quick over the 3G modem dialup connection from my laptop.
Not that I complain from working remotely using a remote ssh session but it's always nice to work with a desktop to get some things done right.
Here's the link:
One strong point for using an emulated windows server is the relative ease to move this emulated machine onto another physical computer without needing to reinstall everything up.
VirtualBox is handy because it runs fairly well and is very easy to configure, but one of the missing features is the option to select a virtual machine to start when computer boots up.
The lack of this feature forces an administrator to manually start the virtual machine everytime a reboot is necessary.
Looking around the web I've stumbled on this solution: http://farfewertoes.com/stories/2008-03-09-start-virtualbox-virtual-machines-on-boot/
But I required something a bit simpler and decided to make a smaller version from the mentioned script that is easier for anyone else to customize as needed.
One thing I should mention is that this script will first attempt to send an ACPI shutdown to the virtual machine so that it can close by itself and if this machine is not closed within a specified time frame (12 seconds), the script will force the shutdown without further delay.
Enough talk for today, here's the code:
# Simple script to start virtual box on boot upI hope you know how to use this script, if you don't then I'd suggest reading up the suggestions from the link I've suggested on the top of this blog post as it gives some instructions regarding how this should be applied on your server machine.
# Credits - http://farfewertoes.com/code/vboxcontrol
# How is this virtual box called?
# The script will send a soft reset when shutting down,
# how long should it wait before sending a power off? (0 to disable)
## Start the program ##
if [ "$1" == "start" ]; then
echo "Starting VirtualBox Image.. ("$emulatedbox")";
VBoxManage startvm "$emulatedbox"
if [ "$1" == "stop" ]; then
echo "Stopping VirtualBox Image.. ("$emulatedbox")";
RUNNING_MACHINES=`VBoxManage list runningvms | wc -l`
if [ $RUNNING_MACHINES != 0 ]; then
VBoxManage controlvm "$emulatedbox" acpipowerbutton
if [ $until_shutdown != 0 ];
then sleep $until_shutdown; fi;
RUNNING_MACHINES=`VBoxManage list runningvms | wc -l`
if [ $RUNNING_MACHINES != 0 ]; then
VBoxManage controlvm "$emulatedbox" poweroff; exit 0; fi
echo "No parameters specified, exiting."
Good luck, hope this helps you.
Now, I will unfortunately retire from my current work location and move back into mainland Portugal.
I would say that this is great since I'll be living in the same city where the rest of my family lives, but at the same time it's with sadness that I depart from these islands.
Living here is a surreal experience, after a few years you kind of assume some things to be normal but they're nowhere to be found anywhere else for sure.
The fact of living stranded in the middle of Atlantic ocean, seeing the green fields that are greener that anything else you'd ever seen and the marvelous chance of breathing such clean air are just a few of the things that I'll surely miss.
It's also the place where you can go out and take a coffee knowing that you'll stumble on some familiar face to exchange a few words while enjoying the seaside view or attend small rock concerts promoted by your friends at places where everyone knows everybody.
Really amazing stuff.
But it's also in the nature of people to move forward and time has come to get back on track and move along to the next challenge.
Moving out is not easy.
It was my mother washed in tears saying that one of our very best friends had committed suicide.
This is a sad day for me, his name was Pedro Simão.
He was the sort of person that always seemed disconnected from the traditional way of living. I was lucky to meet him when I was little above 8 years old.
At the time, he was the chief of the scouts organization where my mother placed me and my younger brother Edgar to learn how to live in the outdoors and also spend more time with other kids.
Those years were a truly valuable life experience.
Simão was around 23 years old but treated kids a bit like adults and taught us very early in life the reason why discipline, hard work and a good taste for adventure allow to achieve good results.
It's probably because of him that I first joined the army. The scout experience really prepared me to face without fear the human limits of exposing myself to stress conditions. He used to say: "Anything is possible if your mind is set on a goal" and I believe him.
At this last decade after 2000, I just wish that the younger Simão could have talked some sense into the older Simão.
Things started to collapse after Simão returned from his army mission at Mozambique when he quickly wasted his saved money on all the wrong things. A mix of naive personality with the desire to fulfill some his dreams have lead to the quick depletion of his saved resources and I think this was the turning point that somehow demotivated this once inspiring soul.
Over the last years, he got himself into an awful amount of debts to pay the car, the house and so many other things that simply couldn't be afforded by his monthly salary.
He'd frequently drink in excess, most of the times all alone at his home.
It was sad to see Simão going down like this. Also didn't helped the fact that I was never around Coimbra anymore just like most of our mutual friends that also went to somewhere else and he was left all alone by himself to linger on these sad things of life.
Now thinking clearer, I feel awful for not spending more time with him after my last visit to Coimbra last month. I saw him so briefly. He was always available to help others and I asked him a lift to the bus station where I could pick the bus that would leave for Lisbon.
We only talked for less than 10 minutes at the bus coffee house. Then I went for the bus and waived goodbye. Just wish he hadn't gone or at the very least drop a call to talk with me or someone else. Even worse because in a couple of months I'll be living again at Coimbra and would have a chance to talk with him much more often.
I'm simply too disappointed on myself because I could have done better.
Things weren't well and I fell that I've disappointed a good friend in this mad pursuit for my own selfish goals in life. Didn't even took some quality time to look closer at what was happening and ignored all the warning signs.
He had a bad life in the last years but he also had a very kind heart. Was the sort of person that I would trust wholyhearted knowing that he'd never break this trust.
Pedro, if you're listening. I'll miss you.
This has become a sort of habit at each year so that she gets an opportunity to spend some quality time with her family. We usually prefer to spend the summer vacations in the Azores where the weather is nicer and we have more fun exploring the other nearby islands.
This means that during these months I'm left home alone just like in my single days.
One of the things that bothers me the most is having to stay alone in the house - a silent house is nowhere pleasant so I spend most of my free time going outside to the street and work at the laptop over a nice cup of coffee and dinner in most cases.
Spending a lot of time at the same places has got me starting to recognize the faces from people that I don't know from anywhere.
It's a strange feeling to see the years pass and look how people change. Worser yet to notice the behavior patterns for some people and starting to guess what they'll be doing.
It's a small closed environment where all faces become familiar but yet none of them is your acquaintance.
There is a folk in particular that grabs my attention, it's a homeless person which notoriously spends even more time than myself wandering around the several city locations where people usually gather.
He's always alone, never talking to anyone else but always enjoying the somewhat warmth from being close to other people.
In big cities at mainland it's easy to do exactly like everyone else does - just ignore and move away. Around here it's different.
You go drink a coffee by the seaside and you'll see him, you go to the mall grab some dinner and he'll probably be there too. You even go out at night and you'll see the same person wandering at the most active parties. It's a small city indeed but you get far more aware of these sort of situations that you'd ever see in a metropolitan city.
And this bothers me a lot.
Not the homeless, but rather the exclusion to which we, the people of the society have silently voted to outcast them so subtly.
Yet, he fights to keep his dignity - to do the things that many of us take as granted on their daily routines.
Something is wrong but what can we do?
It's not a matter of money, it's not even a matter of doing community service. It's a question of thinking on solutions for truly integrating people in this unfortunate situation instead of leaving them on the outside.
Otherwise how can we say that things have evolved for humankind if our kind is not human enough to take of each others?
No, something really needs to change.
The last module before the full CCNA certification. I sure would like to think that each module gets easier as time passes but there is no such thing an easy certification and I wouldn't like it any other way.
This time we've moved outside the LAN world and dived into the WAN galaxy. I never cease to stay completely amazed with the dimension of this big networked universe.
The technology of this chapter is approaching a lot of history regarding the solutions that were developed during the 60's and 70's. Strangely enough is how one can notice that these concepts are still current when applied to today's standards with the obvious exceptions for bandwidth differences and a few other improvements. A good engineered solution can really last a long time.
We've just started last week but I've already learned to value the use of a good serial connection and started understanding with some depth the WAN protocols that are used inside frame relays and long distance networking.
These classes gave me a glimpse of old memories. When I was a small kid, I've once visited a small office where it was possible to start a video-conference with the room next to us.
The presenter of the tour mentioned that one day it this feature would become an affordable technology for everyone. I just thought "amazing" and look how right he was indeed.
This CCNA module is certainly not so easy to grasp, it deals with a lot of new concepts that I've never heard about but at the same time I'm really curious to see and learn how people solved some of the issues raised at the time. Funny because I think that nowadays people are getting lazy (including myself).
When there was no Internet (for everyone), most people would need to think the solutions by themselves or perhaps try, try and try all over again until it's done right. How disappointing it is to google and to find a solution that we consider 100 times better than ours and quit even before engaging into action.
A lot of competition is demoralized this way - this is good for popular community guided developments but at the same time promotes the stagnation of technology. If a monopoly is raised by any given product then we might be sure to expect that it's evolution will be far slower than it would occur if a competing product presented better features, but I digress and I'd better get back on topic..
This is the last module and probably the last time that I get a chance to study in the Azores, it's been a very interesting year without doubt - I'll miss it here.
Went back to the town where I spent most of childhood days and saw a lot of people that I didn't even remembered for half a decade.
They've changed, I've changed, but the same strange feeling of those memories that passed years ago still remain in the eyes of the persons with whom I crossed.
One of the things that I "forced" myself to respect was the idea of leaving the laptop and internet back home in the azores. Try to live for two weeks without being online and live only with real people, it's not that I'm not sociable or anything because I usually do spend more time on the street on coffee houses with friends than closed somewhere but the computer always grabs my attention back to work and the point of vacations is to relax for a while.
Nevertheless, I took my latest cellphone which also doubles as a PDA equipped with a Pocket PC OS (an HTC Pharos).
On this PDA, I've installed one of my all time favorite game for pocket pc - "Slay".
The name may mislead people to think that it is as a game filled with action and blood but it's not the case. I'd describe it more as a pure strategy game.
Basically, it consists on a small map subdivided in tiny hexagons with different colors. You get a color for yourself and you control a few of the available villages that are found inside the map.
The point of the game is to join together all villages (those that survive) to form a bigger and stronger group as the days pass.
As opposing groups get bigger, the used weaponry also gets stronger and more resource hungry (each hexagon is worth a unit of money).
So, the logic of this game is very simple yet disturbing.
Maybe it's because I've been playing this simple game all week long but it surely made me wonder a lot about the logic of life itself.
We all start the same way (more or less of course) but basicaly born with limited resources and the need to connect with other people as time passes to increase the odds of survival.
A careful evaluation of the opponents and succesfull prediction of their actions will give you an advantage and allow to move forward faster than everyone else but slacking off the guard may also cost you greatly.
The worst difference between a game and real life is perhaps that in a game we can always count on repeating everything from the start to do things right over the next time, but of course that in real life this is not the case and destiny (or fate?) will take an important role in the way how the action occurs.
So, life itself can indeed be considered as a sort of game where you, me and many others play on a very big board. We all get some time to play and have fun with it.
If you're alive then you're lucky. Don't forget to enjoy your life, today!
First of all THANK YOU for the Ninja!
In this email I'd like to report a bug and make few suggestions. I hope you don't mind that I'm writing directly to you instead of posting my comments and suggestions on the forum, but I do not have any direct access to internet (see the explanation at the end of this email).
And the message was very complete regarding the reported bug and proposed features, ending with the explanation of why he had no direct access to the internet:
This message hit me like a slap in the face for several reasons. Can you imagine how life is for someone living at 23 000 feet (~7000 meters) of altitude and need to worry about viruses that run around on pendisks?
I do not have any direct access to internet. I'm living in Himalayan Heights (23000 feet. altitude) in Northern India at an ashram. To send/receive emails or to get some files/webpages downloaded from the nearest internet cafe a courier from the ashram has to travel 2 hours (1 hour by foot and 1 hour by car).
Here in India at the internet cafes viruses abound - people do not take care of virus prevention, so proper antivirus and programmes like Ninja are a must.
Please let me know when you'll fix the bug I've mentioned and/or implement the above suggestions.
With best wishes,
Or using a collective email box to where all messages need to have the name of the person at the title so that someone can collect and deliver them by hand just like paper mail?
These and many other questions filled my mind and sparkled a deep introspective questioning of the reasons why I first began developing software.
When I was young, internet was no option. To solve some trouble with a program you would have to think hard about a programming solution if none was available. Things were not easy but they were "doable" and I always succeeded in finding a way sooner or later (while learning a lot).
Nowadays, one takes everything for granted. It became too easy to google and find whatever someone might have done.
This way you save your time and intelectual effort. Marek is against all odds making an effort to improve the tools at his reach and made an effort to contact the author with very valuable feedback instead of resignating to these limitations like many others do.
Funny, but reading the whole context of his message I somehow remembered a bit like I was some years ago. Working in really difficult conditions to get online using dial up modems connected on top of other VPN's just to see the internet page working.
And I was happy this way.
So happy that I finally had a chance to publish my software in the open field, so happy that my goal wasn't money nor personal recognition. It was all about giving back a little of so much knowledge that had been given to me for free by a multitude of other folks in the internet.
Grattitude was the reason why I began developing software for the internet audience.
And the idea of making available a software title, carried with me the notion that I should be responsible to improve and make it as adjusted as possible to real life usage.
Deeply commited to the intention of making software that would somehow help other people without expecting anything in return.
These last few years made me proud. Many projects with success, many happy users, many new developments, but, along this way I somehow forgot my own roots and removed from memory the reasons that made me choose this path in the first place.
This "proud" feeling turned me into a person who barely listens with attention what others have to say (like jaclaz's opinion about the boot land's visual or PSC's request of a forum for NativeEx) and quickly forgets things like working on the new site for Kare. Or even letting the Ninja users stuck with a 1.5 version that isn't updated over a year now along many other things.
I'm nowhere proud of this.
When I was a kid one of my innocent dreams would be creating something capable of changing the world a little bit. This message from India is a wake up call reminding me of how far this dream has reached reality in the present days.
Let there be Ninja 2.0!
This is a somewhat vague term that defines the next step in internetworking evolution.
We can all point our fingers at examples from the 1.0 era when Geocities, Altavista, Slashdot and other pioneer sites reached the masses for the first time a little over 10 years ago.
We can also point our finger to 2.0 timeline crispy examples like Digg, Hi5 and whatever, but what should we expect from 3.0?
Well.. in my humble opinion I'd say that evolution will allow the powerless users from the 1.0 era that have become major players of the 2.0 age to become the collective owners of 3.0 websites.
An early example of this situation is already demonstrated by the growth of Wikipedia.
Shifting the control of insanely popular sites from a regulated control by a company or person onto a collective effort of volunteers that pretty much decide everything which is done and whatnot.
3.0 will bring an era of self-growing sites, which will naturally organize and adapt themselves to survive using the same human behaviour that once allowed the construction of big cities in the past, an instinct that still remains inherent to all of us.
It's the era of tribes, groups of people from different points of origin and ages struggling for their success in popularity terms when compared to other tribes, regardless the effort this might pose on their individual lives in order to ensure the success of the colective goal.
Unleashed sites will compose 3.0 and the internet will never be the same again.
My work laptop started overheating at above 120ºC when running virtual box or listening to youtube so I'm going to send it back to the manufacturer to get repaired.
My guess is that the air vent is either blocked by dust or the vent itself is not working right but I'm not going to open the machine since I'd be voiding the machine's guarantee.
So, while the laptop is away to repair (about two months), I've bought myself a new Acer One, one of those ultra slick new laptops, bla, bla, bla, bla, bla, bla, bla, bla,
Well.. not really much of news to me.
My first ultra slim laptop was bought as early as 2001 and was a Sony Vaio with a transmeta crusuoe CPU running at 600Mhz and equipped with 128Mb of RAM and a 20Gb hard drive.
This was over 9 years ago and was likely smaller in size than the Acer One.
So, what is the thing that I noticed that changed the most over this near-decade?
The price tag.
My sony vaio costed about 3500 euros and was imported from Macau (china) so that I could save money by skipping the european taxes.
The Acer One costed 329 euros and I bought it at the local mall.
Quite a big difference, the price dropped 90% from their average 9 years ago, amazing!
And just like in other modules, we began the week learning things on a very fast pace.
I've got to admit that two monts after the last module I barely remembered any of IOS command line functioning. Can this be a sign of old age?
Well... was a bit rusted but quickly refreshed the memory with the required skill level necessary to program the CISCO machines from command line just like before.
It also helps to write all these commands down on plain paper, at least this way I can have a quick cheat sheet to look whenever things fail to remember quickly.
Of course that practice leads to perfection and the simple fact of not working directly with CISCO equipment also promotes the progressive degradation of my knowledge on this networking field as time passes.
Nevertheless, it's so intellectually stimulating to enjoy live classes about some IT technology that I can really say that I'm happy to use my free time to learn something new.
This third module is also very promising, we have a WIFI based LAN that has a considerable dimension on my workplace and I never had any formal education on this field.
One of the interesting points is the study of the possible security holes that might be exploited and respective counter-measures to protect the network from intrusions.
So far I can't complain, already got a lot of new ideas to put in practice next week.
Things are really looking good and I'm really glad to be studying again.
To those not familiar with the site, it's a network where you write your own profile, add some photos and then invite all your friends to join.
It might seem absurd to so do since it's always better to talk with your friends directly rather than using a computer, but on my case, I find it an amazing tool to know how the people who I no longer see so often are doing.
For example, my two younger brothers are very active hi5 users and they constantly update their profile with their latest activities so it's fun for me to see how things are turning out for them - it's been over a year since I last saw them in mainland Europe and this helps to shorten the distance and time that passed between visits.
You can have some fun looking at my Hi5 profile - http://barraponto.hi5.com
But back on context of this blog post..
When clicking around to see the friends of my friends, I saw someone called "Barack Obama", just for the fun of it I've clicked on the "Add friend" button and invited this person to join my group of friends.
Well.. it turns out that it was indeed the official profile for Mr. Barack Obama and he did accepted the invitation to become a friend of mine.
When it comes to public figures I always suppose that someone else has the task of maintaining the profile updated and not the person himself, but imagine my surprise knowing that Obama makes it a personal point on doing these things all by himself - isn't that something?
The world is changing with no doubt.
I've just downloaded and installed the latest version of tortoise CVS, the best tool ever made for team work development on a project.
At least, the "best tool ever" tag seemed to fit like a glove and while visiting the download page I decided to give a shot to the latest version.
I liked the new look, updated graphics, better installed but after all this glam came the part to actually do some work and check out a repository.
One of the things that I like the most about tortoise and to which there is still no linux equivalent, is the ease of use. A user should only need to right-click on the folder where the repository is meant to be created and then choose "checkout".
If it's the first time that the repository is used then it would be expected to see a small dialog box asking the username, password and SVN server location.
At least all seemed fine during the install but when I right clicked at the folder that I wanted to work with, I'm blessed with no options at all.
Just a single menu filled with all sort of possible settings that suddenly made tortoise too tortorous to work with..
Took me 30 minutes of attempts to see if my settings were added correctly, to see if the server was online, if there was any sort of guide to explain how to setup the new version - but nothing.
Great, was already feeling a bit tired so I moved back to the download page, grabbed the older version 1.5.6 - installed and suddenly things worked just as good before.
What nightmare, glad I'm still using the older version. Don't know how new users will welcome this confusion.
My wife and son went this morning back to mainland Portugal to spend some time with the rest of family.
It's freezing cold in Europe while around here we still walk around in tshirts during the daytime so this got me a bit worried about her travel and mostly because of the tender age of our kid.
It has been over a year since I last went to mainland visit my side of the family and I sure do miss them a lot, living on an island surely has it's perks but to be honest, I'm already missing too much to see them and this distance doesn't make me very happy at all.
Can't really complain, within a few weeks I'll be traveling back home as well to see if I pass the Valentine's day with my wife and perhaps say "hi" to the rest of the folks back home, it's been so long that I parted that everytime I return, still think on things as I'd left them.
But people change, get older, get different. Sometimes I think that time itself doesn't hold much value where I live since few things are noticeably different with the exception of year count or maybe this is a side effect of isolation when you live on a small town where every face is familiar in a way or another - can't really tell the difference.
At least time to get my online life updated won't be missing. I'm already getting my hands onto some projects that got delayed a while back and will try to speed things back to the expect development speed.
WinBuilder is my biggest priority in terms of development. Boot Land's redesign has nearly concluded most of the initially established specifications and I'll probably join Peter's effort to bring some stability in the world of winbuilder versions that caused so much confusion in the last few months to users everywhere.
Hasn't passed a day and I already miss the noise my wife and son did around the house, guess that the silence can become a bit daunting at first. Oh well, I'm counting the days to soon see them again!!
I've replied to a comment made by SteelTrepid - developer of the UBCD4win project, related to a previous comment on my opinion about bartPE. (forum discussion here).
The discussion itself is a sure divider of people's feelings.
From one stand point we have ChinaDragon that is overwhelmed by the fact of something has been posted on the news section of Bart's PE Builder site for the first time in two years.
And from another stand point there's my opinion that it's too little and too late.
Do we really deserve to live in a world where only BartPE is recognized as a boot disk project?
It seems that everything started and stopped with bartPE and that's something revolting to me.
Prior to bartPE was already possible to create these boot disks derived from Windows XP source files. These built procedures and instructions were even literally copied over from the restricted Windows PE 1.x at the time.
Bart was smart to make a tool to automate the process.
This provoqued a Cease & Desist action letter from MS to the author of this tool and so, instead of creating a new and original build method, it was incorporated inside the binary file and hidden from the public eyes.
At runtime, bartPE 2.x still works pretty much like the initial (and forbidden) version did.
This is an hack, an old trick, something that is not clean nor efficient in size wise terms.
With winbuilder projects such as nativeEx, LiveXP and related. The construction method is open to the public. Everyone can see exactly what is being called and how it is being done.
Over the top of transparency comes the chance of actually decising to only add the files that you know that will be necessary and do it using your own language settings, no more people being forced to use only english versions of their foldernames for everything.
This is a freaking genius work that is growing by itself at each new day with the script contributions of new members from all around the globe.
Not even the MS guys ever expected that explorer would run on a system sized below 30Mb and still boot faster than a lightning from a CD-ROM media.
So many people worked out these incredibly talented solutions and still so many in the public eye only know bart or hiren's boot CD and nothing more.
This can't possible be what is going on at the masses, please reboot me from this nightmare.