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..


:)