Tuesday, January 27, 2009

Carbide.c++ 2.0 and P4 synchronization

Carbide.c++ 2.0 has been launched on NewLC for quite a while since around December and with new license. It is now available for free for OEM, Developer and Professional edition! Recently, I read stories about Nokia 5800 XpressMusic which based on S60 5th edition for Touch UI. (I think, touch screen becomes trendy since iPhone...everyone goes touch screen now. However, I personally enjoy using the softkey doing things. Perhaps, because my first experience with touch screen for mobile phone, Sony Ericsson P800 - based on UIQ, was not so good.) This new XpressMusic looks very promising, it is thiner than N95. (One thing I dislike about N95 8GB - the phone's thickness.) My idea is just try to build my S60 based on 3rd Edition application to 5th Edition in the future. Although I don't have any 5th Edition in hand...but make the application running with emulator is also fun.

Perhaps, this is a good time to prepare new development environment for our project.

1. Install Carbide.c++ 2.0.
Grasp Carbide.c++ 2.0 from here.

2. Install SCM Plugin for Carbide.
After finishing with Carbide installation, we need P4WSAD, the Perforce Plug-in for Eclipse.
- Go to Help -> Software Updates -> Find and Install
- Enter http://www.perforce.com/downloads/http/p4-wsad/install/ as a new site. Follow the instruction.
- After the installation ready, you can see 2 jar files: com.perforce.p4api_xxxx.jar and com.perforce.team.core_xxxx.jar in plugins directory under your carbide installation directory.

3. Synchronize Carbide.c++ with our SCM.
- Go to Project Explorer, right click at the project and select Team->Share Project.
- From the repository list, you can see list of available repositories, select Perforce.
- Perforce setting parameters can be taken from your P4 client.

Now, we have our environment ready. (I rebuilt my project with Carbide.c++ 2.0 with my old S60 3rd Edition, there was no problem).

4. Install S60 5th Edition SDK
- Here is the link to Nokia's forum to download the 5th Edition SDK

5. Install the SDK plugin.
- Right now, I still have not found any plugin for 5th Edition of S60.

You need to edit your Carbide's project to have a configuration for 5th Edition and the rest depends on your application.


Lately, I have been so busy in the office. Therefore, I have no time to continue on my package updating story but I will try to finish the second part as soon as I can.


---------------
"I spend almost as much time figuring out what's wrong with my computer as I do actually using it." Clifford Stoll, Silicon Snake Oil

Thursday, January 15, 2009

A story of package updating...#1

Today is not a busy day. The work has been done soon enough. I have plenty of time left ... after finishing several newspapers, I decided to continue upgrading my old Linux PC at work. It is an AMD Athlon 1.0 GHz with 512MB RAM. I took it over a few years ago before the IT guys would put it in the cellar. It has proved to be a good companion over time. Its only one defect is the on-board clock is unreliable. My clock tick is shorter than the normal clock. That meant, after setting it correctly with date, after one hour, it will run faster than the reference system for around 20 minutes. As long as I don't need to synchronize my work to the network, it is still acceptable (Although this is really annoy) I ever tried to synchronize it using NTP server but it did not help, so I gave it up.

After left it untouched for more than a year, I decided to update the system.
I started off from connecting my Linux from my Windows via XDMCP from cygwin with

$XWin -query linux-pc -screen 0 1280x1024

where 0 from screen option is the screen number and 1280x1024 is the geometry I want it to be. Or use the following command:

$XWin -query linux-pc :2

:2 is to tell the X server of the display number, the default is 0. You need to tell the X server of which display you have if you have multiple X accesses to the X server. The X server will assign a unique display number for each connection. Nevertheless, to enable network establishment between X client and server, you need to allow for X forwarding in your X configuration and keep in mind that this connection is insecure. It is therefore recommended only for home network.

One alternative to connect to Linux from Windows is to use VNC, although it has several advantages but using X via VNC is slower than using XDMCP.

---------------
"What Every Computer Consultant Needs to Know:
1) In case of doubt, make it sound convincing.
2) Do not believe in miracles. Rely on them."
Murphy's Computer Laws (Finagle's Rules)

Tuesday, January 13, 2009

Python 3.0 Release

Python 3.0 was first released on 3rd of December 2009. Let's see what is new!

---------------
"All programmers are playwrights and all computers are lousy actors." Anonymous

Thursday, January 8, 2009

Fonts and the FreeType Project

Now, version 2.x. The following paragraph is excerpted from FreeType Project; "FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well."

What makes it popular and I need to state it here, you may question? Probably, because it can be used in any proprietary or non-proprietary projects. That means you can write your application equipped with this library and sell it.(See FreeType license)

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

"Life is pleasant. Death is peaceful. It's the transition that's troublesome." Isaac Asimov

Monday, January 5, 2009

To conflicts in this world...

"I am not an Athenian or a Greek, but a citizen of the world."

Socrates, from Plutarch, Of Banishment
---------------

"An eye for eye only ends up making the whole world blind." M.K. Gandhi

Sunday, January 4, 2009

Reset old root passwd with chroot

For at least 2 years, I did not need to transform myself to become superuser, root. Sudo is fit for everyday admin's works and Linux is very stable. (As you know it) Hence, I hardly need to configure anything new. New year has come and I wants to update and clean up things. And the most graceful amenity way to do things is to become the superuser. However, at that moment, I found out that I forgot the root passwd! 1..2..3.....10.....15 tries, ahh..without sucess. Enough is enough. Let's reset the old passwd!

Rebooting the system with a bootable CD. (Here, I did not know where I did keep my Debian CD, I didn't use it for ages. I searched around and ahh..I still have KNOPPIX CD.)


After rebooting the system, at the command prompt, let's create temporary directory mount point.
#mkdir /mnt/hda3

Mount the partition, in my case it locates at /dev/hda3.
#mount -t reiserfs /dev/hda3 /mnt/hda3

Here comes the chroot in action:
#chroot /mnt/hda3

You may be able to see your root shell path changed. Ok, we now call the "passwd" command, the shell will not ask for old passwd but allow us to enter new passwd straightaway. Reboot and remove your bootable CD. Done.

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

"With Great Power, Comes Great Responsibility." Uncle Ben to Peter Parker in Spider-Man. I came upon this quote the first time when I first tried "sudo".

Thursday, January 1, 2009

Essential Design Pattern Websites

I just wanted to check out Active Object Pattern from Douglas C.Schmidt which I have not finished reading yet. I happened to explore some links on his websites and finally found the following:


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

"To build may have to be the slow and laborious task of years.
To destroy can be the thoughtless act of a single day."
Sir Winston Churchill