Goodbye PensCMS, hello WordPress!

After realizing that I would never match the power of hundreds of developers behind WordPress’ success, I decided to ditch my own custom, ad hoc content management system. PensCMS had been around for eight years, and I had just successfully solved the spam problem with reCAPTCHA (I know, I should have thought about that before!). The other thing that really bothered me with my own blogging software is that in order to add images to a post, I had to manually resize, upload via FTP and paste the code for them, which was a painful process to say the least.

I prefer to always include at least an image with my posts, so this was a big issue for me.  As I thought about a solution, I had a sudden spark of humbleness: maybe it’s OK to use other people’s work instead of doing it all myself from the ground up.

Wordpress

After some research, I narrowed down to two options: WordPress and Blogger. The reason why I chose the former is that I wanted to transfer all my posts and comments from my old blog. The easiest way of doing so (although a bit long and tedious) was to manually add them to the database. The other option was to convert all posts and comments to XML—which I did—but I was unable to import into Blogger. Besides, there is no way of creating the about and quotes pages on the Google-maintained blogging system.

I spent the whole day yesterday moving posts and comments, customizing the Simpla theme and installing plug-ins. I left behind some posts that were either too old or too silly—I did keep the ones that were chronologically interesting such as the post on how Firebird (now “Firefox”) was good alternative to IE.

I am happy with the results and I will try to write more often now that I don’t have to open Paint.NET and FileZilla in order to post an article!

Applying the Chinese Remainder Theorem

In public-key Cryptography, especially with the RSA algorithm, the Chinese Remainder Theorem is often used. Say you have a system of simultaneous congruences as follows

x a1 mod m1
x a3 mod m2

x ak mod mk ,

where m1, m2, …, mk are coprime, i.e. gcd(m1, m2, …, mk) = 1. How can we solve for x? The solution is quite straight forward, but could involve a fair amount of calculations. I find that breaking down the method into smaller steps makes it easier to find and fix mistakes. By the Chinese Remainder Theorem, the solution to that system of equations is

x = (a1M1y1 + a2M2y2 + … + akMkyk) mod M ,

where Mi is the product of all m’s except for mi

,

yi is the multiplicative inverse of Mi modulo mi

yi Mi-1 mod mi ,

and M = m1 * m2 * … * mk .

Let us try a numeric example. Here is a system of simultaneous congruences:

x 12 mod 25
x 9 mod 26
x 23 mod 27

We start by calculating M1 and y1:

M1 = m2 * m3 = 26 * 27 = 702

y1 = M1-1 mod m1 = 702-1 mod 25 .

We apply the Extended Euclidean Algorithm to find the multiplicative inverse of 702 relative to 25:

702 = 28 * 25 + 2 → 2 = 702 – 28 * 25
25   = 12 * 2 + 1 → 1 = 25 – 12 * 2
= 25 – 12 * (702 – 28 * 25)
= 337 * 25 – 12 * 702

Then y1 = 702-1 mod 25 -12 13.

The same calculations can be carried on to find M2 = 675, y2 = 25, M3 = 650 and y3 = 14. Now it is just a matter of plugging in the values into the equation:

x = (a1M1y1 + a2M2y2 + a3M3y3) mod M
= (12*702*13 + 9*675*25 + 23*650*14) mod 17550 470687 14387

To verify our answer we can plug that number back into the system:

470687 mod 25 12
470687 mod 26 9
470687 mod 27 23

Another kidney stone bites the dust

This Monday I had yet another renal calculus crisis—the second one in less than 12 months. There was I, in the emergency section of the local hospital contorting in pain from 18:30 to 22:30. By 23:00 the stone had moved from my ureter to my bladder, which reduced the pain, and by the next day it finally got expelled from my system. After a blood test and an x-ray, the doctor said I had to drink more water and reduce the salt in my diet. I am considering taking Herba Desmodii capsules, a natural diuretic, which a co-worker said does wonders to kidney stones.

How games negatively affected my life

A short but true story of someone who decided to quit World of Warcraft.

In the afternoon of November 23 of 2004, after my last class of the day, I headed to a computer store where I had reserved a copy of World of Warcraft Collector’s Edition. Three years later, I look back and I realize how I almost ruined my life with a computer game.

I am an undergraduate in Software Engineering. I feel kind of silly writing this, but I will share my true story with the intent of helping somebody who might be going through what I went through. I hope this will not bore you.

I was addicted to WoW during my first year of university. I seemed to be a pretty dedicated student; I did not miss any lectures and took detailed notes. However, my head would wander elsewhere—be it sketching my character, building her skills and planning the next quests. As an active member of a guild, I was the first to get a mount. Every day of my life led to the same—as soon as I got home, I would go straight to the computer and log in to WoW. My idea of having a good time was spending hours and hours in front of the screen completing quests, levelling up and earning gold at the auction house.

All was fun until I saw my first transcript: A+, C+, C+, C, C-, D+, D, D-, D- and D-.

With these results, I had a GPA of 1.96. In my institution, you need to keep it higher than 2.00, or else you get expelled. I decided to take a definite and concrete action. Not only did I uninstall WoW from my computer but also I completely eliminated games from my life. If I told you that I even removed the solitaire card game that comes with Windows, you would probably laugh, but I really wanted to stick with my resolution.

I also changed my studying habits. I stayed long hours at the university, reading lectures in advance, redoing exercises, rewriting notes—I pretty much lived at the library at that point. When I got my transcript I thought it was someone else’s: A, A, A, A-, B, B, B, B, B-, D+ and D-.

I knew that if I could stay focused and stick to my study routine, I would do even better. I was not mistaken. Here is my transcript for the third year: A+, A, A, A-, A-, A-, B+ and B-. Nothing below a B-grade, and now I have a cumulative GPA of 3.02.

That is only one side of my life that changed. Since I quit, I have met many interesting people, including a gorgeous and smart girl who is now my fiancée.
Some will say that it was not the game that influenced me but it was I who had problems in the first place; that might have been the case. I agree that games do not ruin lives, people ruin lives; all I can say is that now I have more free time to spend with those that I love: my family and friends.

Yet another article on why IE six sucks

I can give at least two reasons: its PNG rendering and CSS support.

When I worked on the new version of my blog and compared the results on both Firefox 2 and Internet Explorer 7, I had the naive assumption that I was covering most of the browsers, until my girlfriend told me she could not see half of the page on her laptop.

To be honest, at first I had the usual arrogant geek reaction—she must be doing something wrong. She had to send me a screenshot so that I could realize she was using version six of the infamous browser. I am not going into the technical intricacies as to why PNG and CSS are not well supported; all I will and can say is that IE just recently started to comply with the web standards.

Here are the side-by-side screenshots comparing Pensador’s Blog on Firefox 2, IE 7 and IE 6 respectively:

As you see, the PNG transparency was competely ignored and here is why the blog posts do not show up:

I was forced to convert all those PNG files to GIFs and to hack my CSS to get the desired results. For some reason, the “main” div in which I put the blog posts is too wide to fit in the “page” div. However it should fit since its width was 600 px and the menu on the left was 180 px, adding up to the 780 px of the “page” div. Anyway, I had to reduce the size of the “main” div to 585 px for it to show up on IE 6.

How to get a c cedilla on Ubuntu

I was getting really frustrated with the fact that I had to copy and paste the character ç whenever I had a conversation with someone from Brazil. I did a search around the Ubuntu forums to realize that I was not the only one having this problem. The thing is that on Windows, when you type single quote and c, you get a c cedilla (ç). On Ubuntu, you get a c acute (ć).

If you are in the same boat, here is how I solved my problem.

  1. Add “U.S. English International (with dead keys)” to your list of layouts (System > Preferences > Keyboard).
  2. On the Layout Options tab, make sure the Alt key is a third level chooser.
  3. Alt+, gives the desired results.