Saturday, December 27, 2008
So I wanted something light. Very light. If possible no Gnome or KDE. So that's what I've got myself.. :D Installed xorg with Openbox. Fuh.. now finally my laptop loads under 1 minute again. In the end my desktop consist of openbox for window manager, wicd as network manager, docker as a dock manager, lal as clock in the dock, volwheel for a mixer, pcmanfm as the file manager and urxvt as a terminal emulator.
Learned quite a few stuff too while looking for the lightest software to run. One of them being audacious. I hate xmms. But I don't want to install amarok or even rhythmbox neither due to their rather heavy kde and gnome reliance. So after googling through the arch linux forums I found audacious. It uses gtk+ so selecting which files to play looks very good but still kept very lean and mean.
Another suprising discovery was wicd. I wanted a good network manager. I must admit gnome-networkmanager spoiled me a bit and I don't really want to have to go through the whole iwlist and iwconfig route anymore. Again the arch forums gave a hint about wicd. The interface is drop dead ugly compared to gnome-networkmanager but it works quite well. It automatically detects wifi ap and connects to them once the profile has been created. And since most of the time it just sits in the dock so you forget about the ugly interface after a while. At least till the next time you have to create another profile.. :P
I found out even the gnome-terminal has spoiled me a bit too. Now xterm looks pretty ugly to me. The fonts are so retro. I want beatifully rendered anti-aliased fonts. Again the arch forums and wiki came to the rescue and pointed me in the direction of rxvt-unicode. It can do a lot of other stuff apart from anti-aliased font (like unicode, transparency, and lots of other stuff) but I don't really need them all that much. I just need to be looking at smooth curves all the time. That's all... :D
So finally now my laptop is able to load up fully in under 1 minute and running everything I need to do my job, even mysqld and httpd. I'm happy.. till next time.. ;)
Sunday, December 21, 2008
But after installing flash, going to youtube I realized, "Hey, this thing is not making any sound at all". So after much googling, I came to find out that I have to add the following line to the /etc/modprobe.d/alsa-base file:
options snd-hda-intel model=dell
Once I've rebooted there was a new option in the mixer(Speaker). Just have to max that up and finally we have sound.. foss ftw :)
Friday, December 19, 2008
First off the bat, MyMeeting has won an AIPA (Anugerah Inovasi Perkhidmatan Awam) and it was awarded by The Pak Lah himself (some people call me Pak Lah too but this is the real Pak Lah, the one that's running this country. I don't wish to run this country.. :P) at the AKSA (Anugerah Kecemerlangan Sektor Awam) 2008 on 27th November 2008. Check out some of the pictures of the OSCC booth on that day here.
I guess I'm pretty proud that it won that award. Now I can write on my resume, one of the developers of an award winning system.. :) LOL.. somehow I like the sound of that.. :P Whichever way it is, it has drawn quite a lot of attention to MyMeeting. And finally we get feedback from users.. Yay.. \o/ And thus why I've been so busy. MyMeeting has been developed quite a lot since then and finally I think I can be truly proud of it. Most of the features that I've been saying it has but wasn't actually implemented is now implemented.. >.< You can check it out at the MyMeeting trac.
Apart from that, quite recently (as in around 3 weeks ago), I've bought for my parents Dell Mini Inspiron 9. So one for my father, one for my mother (using their money of course.. :P). The funny thing was that my mother's mini just kept on having problems. It wouldn't shut down properly so suddenly you find that it's battery has been completely drained. It sometimes wouldn't detect the mouse. But my father's one was a-okay. My mom asked me to fix it. What was my answer? "You know you wouldn't have this problem if it was running linux rather than windows xp :P"... So she agreed to let me install Linux on it.. \o/
So I went out to buy an external DVD drive (I know there's ways to install it using usb pendrive and all but I need an external DVD drive anyway.. :P) and promptly installed Ubuntu 8.10 on it. I've read that because the SSD have limited amount of write cycles you should limit the amount of writing to it as much as possible. So rather than formatting the hard disk with an ext3 that has journaling (and thus more writes for every file operation) I opted to use ext2. Some people would also suggest not to have a swap partition as there would be lots of writes there too. But I've read somewhere else that most of the time you don't use enough memory to require a swap if you've got 1GB of ram (which the Dell Mini has) and thus wouldn't use it even if it's there making it okay to create a swap partition. But I didn't create a swap partition because what's the point. If you want to create a swap partition for suspend and stuff you need to create it at least 2.5 times larger than your amount of RAM. The Dell Mini has only 8 GB of real estate. After installing Ubuntu you're left with only around 5GB (compared to only 3GB with bare windows). 2.5GB would take away half of the available space. So forget suspending this baby. Better just shut it down. Googled for Ubuntu netbook and followed the instructions written here. Made sure to add maximus and netbook-launcher to the list of programs run at start-up (System->Preferences->Session for those who doesn't know).
The verdict. After over two weeks of using it, my mom loves it.. :D Now she's not embarrased when she try to boot up the netbook in front of her friends it doesn't boot. Or when she tries to connect the mouse it doesn't work. It just works and it's interface is lovely. And then it happened... My wife asked me to install it on her EEEPC too.. :) Her EEEPC was still using the original custom Xandros which greatly limited the amount of software (and even drivers) available for her. So I went and installed it. And because it has a 20GB SSD, there's plenty of space to create the swap partition (which I did). So just like I suspected it now boots a lot slower than the original Xandros (but still much faster than any kind of windows xp installation.. :P) but at least now she's running the latest software and drivers. There's a whole lot more issue with the EEEPC actually and I've still haven't got the internal mic to work yet. But at least bluetooth doggle should work (actually I haven't tried it yet.. :P).
Fuh.. this has turned into a longer post than I thought. So I'll just end it here. If you're a PHP developer (especially if you're a CakePHP developer) please check out MyMeeting and who knows, maybe you can contribute something. If you're not a developer but you know how to install web apps (php, mysql stack) try installing mymeeting and see whether maybe your organization can use it. If not give us a feedback on why and maybe we can make it happen.. ;) If you're neither of that but you know someone who is, tell them about it.. :)
Alrighty then, till next time...
Sunday, December 14, 2008
And those he plays never suspect
He doesn't play for the money he wins
He doesn't play for respect
He deals the cards to find the answer
The sacred geometry of chance
The hidden law of a probable outcome
The numbers lead a dance
I know that the spades are swords of a soldier
I know that the clubs are weapons of war
I know that diamonds mean money for this art
But that's not the shape of my heart
He may play the jack of diamonds
He may lay the queen of spades
He may conceal a king in his hand
While the memory of it fades
I know that the spades are swords of a soldier
I know that the clubs are weapons of war
I know that diamonds mean money for this art
But that's not the shape of my heart
And if I told you that I loved you
You'd maybe think there's something wrong
I'm not a man of too many faces
The mask I wear is one
Those who speak know nothing
And find out to their cost
Like those who curse their luck in too many places
And those who fear are lost
I know that the spades are swords of a soldier
I know that the clubs are weapons of war
I know that diamonds mean money for this art
But that's not the shape of my heart
Great movie. Thanks to BuffaloSoldier for pointing it out. :)
Monday, November 17, 2008
Friday, November 14, 2008
Okay. That's the thing I cooked. I have no idea what it's called. At first I was thinking of buying the ribbon ones, then my wife looked at the colorful spiral ones and said "why not get these? they're more colorful" and so we got them (yes, we know nothing about pasta.. :) So I boiled it, actually put some salt and oil into the water so that they won't stick, drained it and tadaaaaa, you'd get the above. I remember once I tried to cook macaroni and I didn't drain it after boiling it, it filled up the whole pot. LOL... Learned my lesson.
Next up the sauce. Like I said we don't know anything about pasta so here's the ingredients we prepared.
Yes ladies and gentleman. Instant pasta sauce all bottled up and ready to go. Some dried up basil also bottled up. Some onions and garlic. Hahahaha... The sauce is "traditional" lagi tu.. So yes, it's about as authentic as I can get it till I learn to do better. So on the color spiral packaging mentioned about frying some onions, garlic and capsicum. Since I didn't have any capsicum, garlic and onions would have to do. So into the frying pot.Once the smell has risen (how DO you say "bau dah naik" in english ?) you can just dump in the sauce. Stir it around a bit. Put water into the bottle and add that to the pot too so that nothing gets wasted. Once it start boiling dump in the minced meat (apologise for my vegetarian or non-cow meat eating readers, the following pic is rather graphical.. :P ).
It doesn't look very impressive. Well, stir it up some more. Add diced vegetables. Add some salt (actually I overdid it with the salt >.< ). But in the end...
Tadaaaa... Looks pretty good eh.. :) A bit salty I know.. But still edible enough that we went to sleep with a full stomach and even got enough for breakfast. I didn't do the whole pasta thing again but eating the sauce with bread is really nice. Fuh.. Now I'm hungry again.. >.<
Monday, November 10, 2008
That was the most awesome weekend that I have ever had. It's monday and I still feel the high.. >.<
There was so many great things about it and a lot of people have written about it. Here is just some of my thoughts and what I'd like to highlight (and can read back this entry in the future and feel the awesomeness again):
First impression when I just arrived was that the whole atmosphere was so cool. Everyone was friendly and down to earth. There was no special separation between any vip and the other participants or anything. Maybe I've just been to too many government conferences but I love this atmosphere and attitude.
Then I remember when Collins mentioned special thanks to the sponsors. First one he mentioned was Microsoft and all was quite. As soon as he said Mozilla, WHOA!! Everyone clapped and cheered. And so was for Mixi, Bytecraft, Inigo and APIIT. LOL!! I felt sorry for the Microsoft rep there but at least they didn't boo or anything. I guess we're polite. Makes me so proud.. :)
The Raj 'Dylan' strumming the "The Times They Are A-Changin' " song on his guitar. To tell the truth there was a few hiccups and most of the audience didn't know the song (yours truly included :P). But I thought it was great. Great for 2 things. One is the fact that "Hey, there's a guy who came forward and played his guitar at this conference.." and two is I find the lyrics very appropriate to how I feel about this conference. The fact that they was able to pull of this conference just shows that the foss community here is getting stronger and better and this could really be the sign of "Times They Are A-Changin'".
Yoon Kit gave the opening keynote about the "Format Wars". There wasn't any keynote from APIIT as scheduled. Then it was my talk. Hmmm.. I think it went well despite the slides was just prepared a few hours before the talk. Could have been better if I had prepared earlier but with MyGOSSCON and all that's pretty much the best I could do. There certainly was more interest from the audience than normally from government conferences. Even on Sunday there was still some of the participants come up to me to talk about mymeeting and cakephp. Love it. Hope I stirred up enough interest in MyMeeting to get even more feedback and participation from the community. I better buckle up too and make sure MyMeeting gets better and better all the time.
Then it was Google Summer of Code 101 by Raj 'Dylan' Kissu. Awesome talk. Wish I was still a student. I would certainly try my luck in getting into the Google Summer of Code. The opportunity to learn, the money incentive (4500 USD is a lot of incentive ;), the experience in getting involved with Google. After that Kaeru presented the Orca talk because En. Rahim wasn't able to make it. It was great.
I stayed awhile for the Navigating the Commons talk but in the middle of it decided I'd rather go to the fosschix session. I missed the main presentation by Pia (until now I still regret it..) but it was great. Just chatting about how to make the working hours more family friendly so that the ladies can get more involved in IT. Love it.
Lunch had McChicken. To tell the truth it was nearly enough for me. But I didn't come for the food anyway so I don't mind.
Then listened to Toru about OSS at mixi.jp. Cool dude. Way cool.. :D you know how you read comics and all and you think, wow.. the japanese people are so cool. Well.. he's even cooler.. >.< Loved his style of presentation. Relaxed and walking around everywhere. I think if they have given him a clicker he might have actually walked of the stage and just talk and talk.
Then went to a "Birds of A Feather" session on python. Kaeru and Bakhtiar were great. Talking about things which I haven't even heard of before.. :P Even gave me some new ideas I can try out with my projects. Programming in firefox. Sounds cool.
Then end of day 1 with Pia's keynote. Almost the same as the one she gave at MyGOSSCON but with a bit of modification. Why do open source? "Fun, Work and making the world better". Great. Got me all revved up to contribute more.
Then off to the speakers dinner. Great to be able to mingle with great people. But actually I was soooo tired I wasn't able to take full advantage of the opportunity. But it was fun nonetheless..
Day 2 was full of awesomeness too. I actually didn't read the schedule and thought it would start like day 1 at 9 am. But actually it was scheduled to start at 10am. I was an hour early and apiit was noisy with a taekwondo competition downstairs.
Keynote by Ditesh was again proof of how awesome he is.. :D Highlighted things which a lot of us didn't know of before. All the contributions of the community which we wasn't even aware of. Actually he gave almost the same talk at MyGOSSCON but now it was a bit modified to be more cool. :P
Track session began and I was torn. I had no idea whether I wanted to listen to Toru on memcached or Kamal on git. In the end I decided on Kamal and again I must say this dude is one heck of a great speaker. Now he got me all excited on using git. I'm already using svn, hg, bzr. Now git pulak.. :D
Followed by James Morris talk on kiosk mode in Fedora. Looks great. Reminds me of Juzt-Reboot card which I used to have. Do whatever you want. As soon as you restart the computer is restored into it's original pristine state. Would be great to be used in computer labs at school or libraries.
Then off to fosschix. Pamela Fox is so cooool.. :D There was so many people that we had to move to a bigger room. And Pamela just sat on the table talking about webdevedu. Awesome.
Lunch. And it is confirmed, python is used a LOT at google... :D Pamela is into languages too. Asked about the Malay language and all. Awesome.. :)
SaaS and PaaS? I had no idea what that was until I heard the talk by Jerome. Software as a service, Platform as a service. It's the wave of the future and it is happening now. Hmmm.. MyMeeting as a service? Maybe one day.. :P
Then OLPC talk by Pia. The thing I remember most about the talk? Pia raised the XO high above her head and dropped it.. 0_O wow... it still work. That thing was built to be abused. :P Wonder whether it can take on Muhammad.. >.< But seriously I want to get on to developing on it. Got some ideas of creating local content to learn. And I've got two beta testers at home. :P
HTML 5 and google gears was presented by Pamela. WOW!!! Can't wait for it to be properly supported by mainstream browsers. It's seriously cool stuff. I know how l33t it is to be able to do complex ajaxy stuff right now, but soon those complex ajaxy stuff have to be standard fare and html 5 will help a lot in making that come true.
Lightning talk... My first ever. And what do I remember most? Couch surfing by the totally awesome dude.. :D Lol.. wonder whether I might actually do that one day.. :P
Keynote: Makkal Sakti by Jaya Kumar. Yeah!! Very cool. Run, study, redistribute, modify. The four freedom.. :D All men are created equal.. :D
Then wrapping it up with all the speaker, crew and volunteers in front. Toru said it best when he mentioned "The world needs more love".. :D
Foss.my was AWESOME!!! and I hope to be there next year (especially if it's at a beach.. ;)
Friday, November 7, 2008
It is sometimes funny that when you talk in real life, face to face, you tend to forget or leave a lot of things out because you just missed it. So when you come back from the meeting only then do you realize the things that you really wanted to say. Happened to me after dinner going back home from oscc tonight. So I just want to say it here to get it off my chest.
First and foremost, I want to congratulate the superb maestro Mr. Marzuki. He has done a great job conducting the implementation of MyGOSSCON 08 from beginning to end. I was there and saw how much and how bad the problems he had to face, and even more amazingly how he overcame them with his trademark off handed coolness and kept his everlasting charm. **power** **power** /me doing the firdaus salute.
Second of course a big thank you to the lovely Eavay for her excellent work in leading the development, design & maintenance of the MyGOSSCON 08 website and also for developing the plspeakers product for our intranet so that we can easily manage our speakers data. Personally I think that handling the speakers (something that I was actually officially responsible for, at least some of the speakers) has been made much easier with that product. And I think having a better infrastructure to actually work together and collaborate with in one of the primary reasons why I feel MyGOSSCON this year is a whole lot more easier than MyGOSSCON last year.
Thirdly of course a big thank you to all of my team mates in SC1 (Shima, Razlina and Yana) and not forgetting the head honcho Mr Nicholas for all of their help and support in calling up the speakers and chair person. It wasn't easy but finally we got through it all (well, almost all.. ;). And later on MyGOSSCON itself eavay joined SC1 too and helped a lot. Another round of thank you to eavay. .. \o/
Fourthly a big thank you to all the OSCC staff. It wasn't easy but finally we pulled it through, together. This thank you even includes ex OSCC staff the foss advocate extraordinaire kaeru. I can't help but think of him as I saw the awards for the OSS Case Studies given out to the winners. And thank you also Mr Firewall ;). It was tough I know. So to kaeru, kak siti, stanly, suria, Mr Jacob, Mr Foong, saro, nuhaa, cikgu, hisham, indhran, gopi, Mr Fauzi, e-jat, eric, achik, ella, kak aida, coreen and nadia, thank you all.
Lastly thank you too all the speakers (especially those who I had to contact, please forgive me if I was ever rude or intruding) for their time and cooperation, thank you too to all the MAMPU staff and MEP staff who made MyGOSSCON 08 the success that it was. It was GREAT!!
Come to think of it, there is no way I could have thought of all of that on my feet ad hoc before dinner just now. So oh well, I need to improve some more.. :P
Thursday, October 30, 2008
So we downloaded the openSUSE iso and with instructions from https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo we installed qemu. Then kaeru showed a neat trick. When we run the qemu, run it with redir like this:
qemu -localtime -m 384 suse.img -kernel-kqemu -net nic -net user -redir tcp:8022::22 -redir tcp:8081::80
So the redir will open up the ports on your localhost to the virtual machine. `-redir tcp:8022::22` will open up the ssh port so you can do `ssh -p 8022 root@localhost` and manage the machine directly throught the command line. Haaaa.. Take that graphic heavy SUSE user interface... We beat you.. :P
And of course `-redir tcp:8081::80` will open the http port so I can check the mymeeting system just by going to http://localhost:8081/mymeeting. Very usefull..
Sunday, October 26, 2008
The Dell has a keyboard with decent sized keys. I was actually able to touch type on it. But to achieve that there wasn't any dedicated function keys. So I don't think this would have been a good choice if say you wanted to give this to a blind person who uses the shortcuts a lot as he would not be able to find where the function keys are. And also there was some of the keys that moved from their normal place. The most obvious was the apostrophe which brought me to a screeching halt when I had to type it as it was not on the homerow as usual but on a tiny little key at the very bottom row.
The only downside was that it uses a 8GB SSD and with the minimal bare Windows XP there was only 3GB left... :D I asked the guy was there a Ubuntu Linux version. He went "Huh??". Very sad. In fact as far as I remember almost all the other brands were also displaying their XP variant. Yes, even asus was displaying their XP variant. Which is sad.
As for the size of the netbook itself it is as small as most other netbook out there. It is small even when compared to my cute little face. :P
Of course running Windoze XP it took a lot longer than my wife's asus which can be cold booted and used within 30 seconds. I didn't time it properly but felt close to 2 minutes before if became fully usable. As it came with a barebone Windows XP so as soon as I got home of course I downloaded firefox and OpenOffice.org. :D Not sure whether chrome might have been a better choice but firefox is good enough for me.
Saturday, October 25, 2008
Some time ago I posted a few post on using mercurial and setting it up under lighttpd. Kaeru commented how he preferred bazaar over mercurial as his distributed version control of choice because launchpad.net uses bazaar and zope (which he is heavily involved in) is hosted on launchpad.net. Another example of how which project you are most involved with will effect your choice of version control tool.
As for me I still prefer mercurial over bazaar mainly because that's what I've been using first since Linus mentioned it in his google tech-talk on git. If it wasn't for because at that time there was a small possibility I might have to use windows so I preferred something written in python, I might have choosen git too. So I can't wait to hear Kamal's talk.
For most people they doesn't even use distributed version control but just version control in the form of subversion or even cvs. Of course the most famous hosting for this would be the venerable sourceforge.net. And so a lot of people would actually prefer subversion over git, mercurial or bazaar because their project of choice is hosted on sourceforge.net.
But I did try bazaar a bit after kaeru mentioned it and even registered a project on launchpad.net. Check out jocomgen if you are interested. It is a "Joomla Component Generator" for Joomla version 1.0. written in python and uses the mako template engine. It doesn't have any documention though but there is some example on how it could be used. And yes I do find it ironic that I'm using python to write php code. :P
Another project on launchpad.net is done by the lovely eavay called "Plone Speakers Product". Check out plspeakers. Basically it is a plone product which eavay created for use on the OSCC intranet to manage the information of speakers for myGOSSCON 2008.
And of course at OSCC we use subversion. MyMeeting is also hosted there. In the end "Choice is good (tm)".
Saturday, October 18, 2008
Saturday, October 11, 2008
Saturday, October 4, 2008
Lol.. I've been using my Centro quite extensively ever since I've got it. Especially after reading the book Kaeru recommended (although there's still a lot I haven't put into practice). But just yesterday was the first time I really fully appreciated the Google Maps on it. There I was thinking of how on earth do I get to KL from KB going through Terengganu. I've driven that way once, but that was a long time ago and my navigator at that time knew the road so I wasn't paying much attention. I could have called people up asking for directions, but that would have been a bit tedious too. Jeng.. jeng.. jeng.. I was able to look it up on Google Maps.
So following route 3 all the way to Kuantan then jump on over to E8 for highway access all the way to KL. And quite surprisingly Digi's coverage is quite awesome. Of course I didn't check it every minute (don't drive while using Google Maps.. :p) , but whenever I did Google Maps was able to locate my location and show that I was on the right track home.
Finally arrived at Serdang around 8.30 after 9 hours of driving.. :-S
Fuh.. thank you Palm, Google, and Digi for showing me my way home..
Wednesday, October 1, 2008
There was ups and downs. There was joy and sorrow. There was pleasure and pain. But all in all it was all brilliant and I hope have made me a better person. And so to all that know me, I am sorry for any wrongs that I have done. Minta maaf zahir dan batin. And to everyone else, Selamay Hari Raya Aidilfitri and may we all be blessed.. :)
Tuesday, September 23, 2008
Wednesday, September 17, 2008
"/hg" => (
"bin-path" => "/home/dev/web/hgwebdir.fcgi",
"socket" => "/tmp/hgwebdir.sock",
"check-local" => "disable",
"disable-time" => 1,
"min-procs" => 1,
"max-procs" => 1
Fuh.. That was where I was stuck with the most. For the rest just follow the guide at the mecurial wiki. As for configuring lighttpd authentication (very simple authentication at least :P) please refer to this article at cyberciti.
Now I can get some work done.. :D
Wednesday, September 10, 2008
Wednesday, September 3, 2008
On the lighter side of things, my Centro is back. Palm finally replaced the unit and it is finally back in control of my life.. :P But there are still things to do. I didn't keep my mSD card properly while it was homeless and now it's pratically dead also. So got to get me a new one. Maybe an 8 gig one.. ;) A man can still dream...
Puasa is already into the third day now. Mmmm.. so far not feeling the pinch yet. But I do miss being able to slowly sip hot Milo when thinking about whatever problems I have to face. And also miss being able to eat whatever Muhammad happens to not finish and try to put into my mouth.. :)
Have learnt quite a bit lately. Especially useful is the `netstat -tupan | grep LISTEN` command which would show what programs are listening on what port. Very useful when troubleshooting a server that's running many things at the same time.
Saturday, August 23, 2008
1) 10 Essential tricks for admins (http://www.ibm.com/
2) Linus Torvalds, Geek of the week (http://www.simple-talk.com/
and in it I found 2 articles which I was particularly interested in.
1) 10 Essential tricks for admins
is very useful and introduced me to a few things which I've never knew
before. Haven't tried it yet but the combining of the screen session
sounds cool. Gotta try it one day.
2) Linus Torvalds, Geek of the week
is an interesting read on this man, Linus Trovalds. I know some people
doesn't really like him for his rather... err.. not so polite ways of
saying things. But I like the way he thinks. And doesn't mind his
reference to masturbation once in a while.. :P Choice is good..
Wednesday, August 20, 2008
Some of you might notice that I rarely write about non-technical stuff. Most of them are just notes for myself actually. But here's a post that is a bit different.
kaeru introduced to me the book called "Time Management For System Administrators" and quite frankly it is a good book. And most of the tips are very applicable in real life unlike most "time management" ideas. But this week it has just been... emmm.. backfired, sort of. I can name at least two. The first one, my centro.
Oh my centro, what has happened to thee. I miss thy ever present memory of all things to come and needs to be. If any of you have been following my identi.ca then you would know that my centro has kinda bit the dust. First it kept on syncing until it's batteries are dead. Then even when I have recharged the batteries it stays dead. Called palm and they want to replace my battery first. I know it's not just the batteries problem. After this they would have to replace the unit too. Why not just take it first already and spare me the agony of being centroless.
So how did the book idea backfired? Well.. one of the great ideas in the book is that don't rely on your brains to remember stuff like todo's and appointments and stuff. Reserve your brain for more important things. Our tools like pda's and organizers keep a better record than our brains when it comes to just making sure you don't forget. So.. emmm.. I don't remember anything. It's all in the centro. If I had another one it won't be much of a problem, but I don't. Seriously thinking maybe I should just get myself an old fashion organizer. Won't be as effective but at least it is waaaay more reliable. Palm.. oh Palm..
What is the other one? Well.. one of the great ideas in the book is make a habit of filling your fuel consistently so that you don't get caught with no fuel. So you should set a certain time when you would fill your fuel tank to full even if it's not really empty yet (it cannot be completely full of course). So you don't have to every worry about suddenly finding that you are late for appointments and stuff but need to fill up your tank first. Mmmm.. I choose to fill my motorcycle's fuel tank 3 times a week. Going back from work on Monday, Wednesday and Friday. So today I went to KL to drop off my centro's battery at the drop off point. On the way coming back I saw my fuel tank almost empty. But thinking it would be alright because I'll be filling it up on the way back later, I didn't follow my gut feeling and went on with it. Guess what? On the way back right on the flyover heading towards Petronas at Precinct 8, my bike died (mmmm.. seems like my tools like to make a habit of dying on me). So I had to push my bike.. :'( Ohhh... the agony... It is the most exercise I've got since a long time. Pushing motorcycles is hard work. Lucky for me some guy saw me pushing my bike and came to ask what's wrong. When I said I was out of fuel he offered to push me to Petronas. So lucky me was pushed from behind all the way to Petronas. I am sooo grateful. I didn't even get his name. Not even his plate number. Once we're there he just said okay and went off. God bless you unknown stranger. God bless you...
But in the book there is also another tip. Which was, use mantras. Things which normally happen to you. Make decision early about it, and remind yourself to take that decision every time using mantras. So my mantra now is "if it looks like it needs to refuel, just refuel damn
Oh well.. So that's what I wanted to share. Nothing all that spectacular and it ain't going to win a bestseller award or anything. So thank you for reading, and thank you unknown stranger for you help. Thank you. Thank you. Thank you.
Tuesday, August 12, 2008
Thursday, August 7, 2008
Tuesday, July 29, 2008
Saturday, July 19, 2008
1. First we will put a copy of the project into devlaptop. At the mainserver go to the project root directory and run the command `hg serve`. This should make the repo accesible on the default port 8000. Use the -p option to set to a different port. Then on the devlaptop run the command `hg clone http://mainserver:8000 projectname`. That will pull the project from the mainserver and put it into the projectname directory on the devlaptop. (Note: if your routes are not set properly just replace the name mainserver with the actual ip of mainserver)
2. Do your thing. Fix up the project and stuff. Commit to the local repo like there's no tomorrow. Until your finally satisfied. All test have passed and it is time to finally put those changes on the mainserver.
3. Put the changes from devlaptop onto the mainserver. First on the devlaptop go to the project root directory and run `hg serve`. That would make the repo available to others. Then on the mainserver just go to the project root directory and run `hg pull http://devlaptop:8000`. That will pull all the latest changes you've made on the devlaptop. But the repo will now be aware of the changes but have not applied them yet. To apply them run the command `hg update` on the mainserver and it should apply all the changes to the local repo. Now the mainserver has the most latest of your project.
Friday, July 18, 2008
It's very interesting to see how great programmers think.
Wednesday, July 16, 2008
and if you want the lyrics check them out at:
And no law shall bind us or keep us for long,
for infinity's ours and infinity's free,
and no company owns us, and no land's our own,
for Infinite Hands are we... :D
Tuesday, July 15, 2008
And this article seems interesting about the Ubuntu Remix for notebook: http://arstechnica.com/news.ars/post/20080604-hands-on-with-the-ubuntu-netbook-remix.html
Tuesday, July 8, 2008
Monday, July 7, 2008
Same thing if you want to start your own business. It might be tempting to just dive in and get started but then if you didn't stock up you might not even get there. But if you have took the time to plan and prepare you might get there a bit later but insyaAllah you'll get there. And in every incident there is a lesson to learn if nothing else but to remind us to be humble as we move on in this life on our journey to the next.
Wednesday, July 2, 2008
Haven't used a palm for quite a while since my lifedrive broke down about a year back. Guess what was the first thing I had to learn? Hard reset of course.. :D To do it on centro:
- Take out the battery
- Press the power button and keep it pressed while inserting the battery again
- Release the power button only after the palm logo has finished loading
- It will ask to press up to delete all the data. So press up
- That's it
Saturday, June 28, 2008
Friday, June 13, 2008
hg add *
hg commit -m "First commit"
And then the subsequent changes?
hg commit -m "Comment"
Need to browse the file changes and the like?
hg serve -n "Name of repo" -p 8091
-p is which port it'd run on localhost from. So the command above should be accessed at http://localhost:8091/. For more reference go to http://hgbook.red-bean.com/hgbook.html
Thursday, June 5, 2008
http://www.gnu.org/software/wget/manual/html_node/Very-Advanced-Usage.html and in summary the command that need to be run is:
wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog
Friday, May 30, 2008
Sunday, May 25, 2008
- Lesson 10: Doing something like this really was worthwhile
- I know what he means when he says "You wouldn't think that working on Yet Another Game would feel like a vacation, but it did." Sometimes I feel I need to do that too. After a long stretch on one project, you just need a short sprint on a smaller one to just revitalize yourself.
- Lesson 9: Cutting features isn't always free
- Sometimes we think it's better to not do something in a more holistic way, we don't need THAT much bells and whistle. But in the end sometimes not doing it that way makes it so much harder to do even small things and things start to become repetitive and error prone REAL fast.
- Lesson 8: Do the important stuff first
- "If I pretend that I only have those 8 hours to 'finish' the game, what could I do that would make the biggest difference in those 8 hours?". That's a good way of thinking what do we really have to do to make it work. Probably should apply to most of my projects too.
- Lesson 7: Scope will expand to exceed your budget and schedule
- LOL.. I do this a LOT.. :D "Every programmer I've ever met tends to underestimate the time required for him or her to complete a feature.". Ask my manager, he'd know.. ;)
- Lesson 6: Get the game playable as fast as possible
- I know I've always tried to get my projects up as soon as possible so that the clients can give feedback as soon as possible. Sure you have a list of features to implement, but sometimes when all is dark, a lone beacon in the distance can make all the difference.
- Lesson 5: It's sometimes much faster to throw away old code and start over
- Ahhh.. one of those things that makes working in the software industry seems so volatile. You can work on a set of feature for a whole week to find that the way you should have implemented it is different and you just throw away the whole weeks' work. But actually it's never thrown away. It's hidden deep in your consciousness on how you should implement it the next time.
- Lesson 4: Python Rules!
- I couldn't agree more.. :D
- Lesson 3: Don't underestimate the art requirements
- Oh yeah.. so many times I've implemented so many killer features only to find customers looking at the unmade up interface and say "where's the value added in this???". Huh!! It doesn't matter you can do this and that, if it's ugly I don't want it. Sadly I'm not a full fledged graphic artist though.
- Lesson 2: I need to be more efficient in my use of time
- "Better use of my time means I can get more done AND have more 'free time' to do other things". Oh, how true.
- Lesson 1: IT CAN BE DONE
- Yeah... :D
Saturday, May 24, 2008
Anyhow, to summarise it you have to install the clamav and clamav-update package. Edit /etc/freshclam.conf file. Comment the `Example` line and change the `db.XY.clamav.net` to `db.MY.clamav.net` or whatever your country code happens to be. Run `freshclam` (as root) to update the database and `clamscan -r --quiet /to/windows/partition/mount` to scan the windows mount. The --quite part is so that it'd list only those that have been found problematic so that you don't have to look for them with you bare naked eyes in the middle of thousands of lines of filenames. That should be it. Hope it works this afternoon.
Wednesday, May 21, 2008
So while I was just idly surfing around looking for inspirations I bumped into this page entitled "Bill Joy's greatest gift to man" and it gives an interesting view on the origin of vi (vim's much revered parent). In the article in mentions "So the editor was optimized so that you could edit and feel productive when it was painting slower than you could think". We don't live in that kind of world now. Our computers could probably render 3d worlds faster than we can imagine them now, but still the feel productive part is essential. How productive? Look at Why, oh WHY, do those #?@! nutheads use vi? to understand. :D
Tuesday, May 20, 2008
Anyhow, whichever your preference is, it's nice to know you can change the color scheme of your favorite editor, vim. Just create the directory ~/.vim/colors and copy any color_scheme.vim file you find there (eg. tango, zen). Then restart vim and do a `:colorscheme name_of_color_scheme` or in gvim go to the edit->color scheme->name of color scheme menu. You can also add `colorscheme name_of_color_scheme` into your ~/.vimrc file to make it a permanent change everytime vim loads.
If you have access to a windows computer (shouldn't be a problem for the majority of people) go to lewk.org and download the liveusb-creator 2. The program can download the iso required by itself but I have already downloaded it earlier. Just select the iso and choose how much persistent overlay that you want.
Now here's the thing about the smart overlay. It is used by fedora to keep track of all the changes you made to your live USB so that your changes would be persistent. It's really nice. I tried installing inkscape after booting the usb and also saved a firefox bookmark. Both are still there when I rebooted again. Very nice.. :)
But the smart overlay is no longer available for your normal usb use. So I would suggest that you give enough smart overlay for you to install your required programs and settings and such but leave the rest so that you can save your files where it can be accessed normally as a usb disk. With the smart overlay of course you can save all your files to the normal home directory but you will not be able to access this home directory if you did not boot from the usb. Kinda defeat the purpose of being able to be access everywhere.
Haven't had the chance to extensively test it yet but so far I am very very impressed. Looking like another distro jump is possible in the near future... :P
Wednesday, May 7, 2008
Tuesday, April 29, 2008
function inspect(obj, maxLevels, level)
var str = '', type, msg;
// Start Input Validations
// Don't touch, we start iterating at level zero
if(level == null) level = 0;
// At least you want to show the first level
if(maxLevels == null) maxLevels = 1;
if(maxLevels < 1)
return '<font color="red">Error: Levels number must be > 0</font>';
// We start with a non null object
if(obj == null)
return '<font color="red">Error: Object <b>NULL</b></font>';
// End Input Validations
// Each Iteration must be indented
str += '<ul>';
// Start iterations for all objects in obj
for(property in obj)
// Show "property" and "type property"
type = typeof(obj[property]);
str += '<li>(' + type + ') ' + property +
( (obj[property]==null)?(': <b>null</b>'):('')) + '</li>';
// We keep iterating if this property is an Object, non null
// and we are inside the required number of levels
if((type == 'object') && (obj[property] != null) && (level+1 < maxLevels))
str += inspect(obj[property], maxLevels, level+1);
// Is there some properties in obj we can't access? Print it red.
if(typeof(err) == 'string') msg = err;
else if(err.message) msg = err.message;
else if(err.description) msg = err.description;
else msg = 'Unknown';
str += '<li><font color="red">(Error) ' + property + ': ' + msg +'</font></li>';
// Close indent
str += '</ul>';
What can I say? Ubuntu is pretty bleeding edge. :P It comes with firefox 3 beta 5 which is pretty slick. But there are still a lot of add-ons which do not work with firefox 3 beta. Earlier on I've blogged about using the 1.1 beta of firebug with firefox 3 beta. It works pretty well on my home box which runs arch linux. But on my computer at the office running on Ubuntu, firebug doesn't even come out. So I had to find a way around.
Luckily Firdaus of OSCC showed me that you actually can install Firefox 2 on Ubuntu. It's still in the repo and you just have to select it with synaptic or apt-get 'Firefox-2'. But the default installation will share the same default profile of Firefox 3 and so will break firebug when you launch Firefox 3. So what can you do? KageSenshi showed me how creating profiles for firefox will solve the problem. Well, first you have to create a different profile just for Firefox 2 by running 'firefox-2 -profilemanager'. There you can create your profile. Make sure you never use this new profile with Firefox 3 so what we do is that we change the command of the icon to start firefox 3 to 'firefox -P "Default"' and the icon to start firefox 2 to 'firefox-2 -P "firefox2"' (Use the name of the profile you created before). I don't think you can run both versions at the same time but I don't have time to experiment right now. These settings work and I have to get back to work.
Saturday, April 19, 2008
I was having lotsa trouble understanding why wasn't my rules applying to the vhost I was setting up. But after reading that I know you weren't suppose to create multiple NameVirtualHost entry. Just one. The ServerName inside the VirtualHost block will determine whether that block applies to the query or not.
Friday, April 18, 2008
ssh-keygen -t dsa
And that will create an id_dsa.pub file in your ~/.ssh folder (By default, you can set it in other places if you want). Anyway, copy the content of that file (it should be just one line) into the ~/.ssh/authorized_keys file on the server you want to login. Now whenever you ssh username@server you'll access it straight away without any password. And scp also works without password so you can write those scripts.
Update: dsa doesn't seem to work anymore. Try using rsa.
http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html. That should be able to bring you up to speed till you start writing whole apps in bash.. ;)
Thursday, April 17, 2008
Starting to look good.. :)
Wednesday, April 16, 2008
Tuesday, April 15, 2008
Username: Your full email address (i.e. email@example.com)
Outgoing Mail Server: smtpout.secureserver.net
Outgoing Mail Server Port: 25, 80, or 3535.
And so first I tested the ports. After telneting the host and ports I finally decided that most probably would work best because the server response has the word 'auth' in it (I have no idea whether it's even relevant or not). Anyhow changed it my /etc/postfix/main.cf to use the 3535 port:
relayhost = smtpout.secureserver.net:3535
And the most important part is the username. It is firstname.lastname@example.org. It is the email@example.com you registered your free mailbox with. Not your login name to godaddy. Use the email address. And then run postmap, restart postfix, and viola, it is sending mail and those mails don't just get dumped into trash. Fuh...
Thursday, April 10, 2008
First step, enable webdav in plone. Go to the zinstance/etc/zope.conf file and unremark the webdav part.
# # valid keys are "address" and "force-connection-close"
And restart your zope. That ought to make it listen to port 1980 on localhost for webdav connection.
Then go to your apache web root folder and add a folder with the same name of your plone instance. Inside there put a .htaccess file like this:
RewriteRule ^($|.*) http://localhost:1980/dev/$1 [L,P]
And that will redirect any access to your folder to the proper port (Note: because you can't use VirtualHostMonster for webdav, it has to be in the same folder as your plone instance. You can put the redirect to your plone instance in a different folder and redirect it from there with VirtualHostMonster).
Okay.. Once that is done you should be able to access it using a webdav client. It has to be a webdav client, not your browser because your browser will not know how to handle webdav. Ok.. so for the webdav client? For ubuntu you can try here:
http://sysblogd.wordpress.com/2007/09/09/ubuntu-mounting-remote-filesystem-using-davfs2-fuse/ . Then you can use it just like a normal folder. Cool.
Oh.. for more reference go to:
Tuesday, April 8, 2008
Monday, April 7, 2008
rsync -av -e ssh username@host:/source/directory/ destination/directory
Or if you need to ssh over a different port you would do something like this:
rsync -av -e "ssh -p 443" username@host:/source/directory destination/directory
-a for archive. -v for verbose. -e to specify to use ssh.
Thursday, April 3, 2008
- Install awstats package
- Edit a file called /etc/awstats/awstats.hostname.conf where hostname is the hostname. Put something like this in it:
- Make a directory called /var/cache and chmod it 777 so it can be used from the web server
- Copy icons to web directory:
cp -r /usr/share/awstats/icon /var/www/icon
- Run this to update databases:
/usr/lib/cgi-bin/awstats.pl -config=hostname -update
- In your web browser, go to the url:
- Study the stats in quiet awe
- Edit crontab to update stats automatically every night:
0 1 * * * /usr/lib/cgi-bin/awstats.pl -config=hostname -update
Saturday, March 29, 2008
Wednesday, March 19, 2008
"What will you do without freedom?!" - William Wallace, Braveheart
Tuesday, March 11, 2008
Friday, March 7, 2008
whichmode=`zenity --list --radiolist \
--title "Change Display Mode" \
--text "Choose where you want to display your desktop." \
--column="" --column="" --column="Options" \
"" "1" "Just the Laptop's LCD" \
"" "2" "Just the Output Monitor" \
"" "3" "VGA Dual Monitor" \
"" "4" "VGA Cloned (projector mode)"`
if [ $whichmode -eq 1 ]
xrandr --output VGA --off --output LVDS --auto
if [ $whichmode -eq 2 ]
if xrandr -q | grep -q "VGA connected"; then
xrandr --output LVDS --off --output VGA --mode 1024x768
if [ $whichmode -eq 3 ]
if xrandr -q | grep -q "VGA connected"; then
xrandr --output VGA --mode 1024x768 --left-of LVDS --output LVDS --mode 1280x768
if [ $whichmode -eq 4 ]
if xrandr -q | grep -q "VGA connected"; then
xrandr --output VGA --mode 1024x768 --pos 0x0 --output LVDS --mode 1280x768 --pos 0x0
I have to warn you thought that I have my monitor on the left of my laptop. So if you have it on the right of your laptop, then you might want to change --left-of to --right-of. Pretty neat.
p/s: If the Dual Monitor mode does not work, try running it from a terminal and see what error it output. If it says something along the line of "screen cannot be larger than x y" then go edit your xorg.conf (Most of the time it is at /etc/X11/xorg.conf, got to be root to edit it) and add the line "Virtual x y" (replacing x and y from the error) in the "Display" subsection under the "Screen" section.
Saturday, March 1, 2008
I tried out Ubuntu. OMG!!! What??? It has set up everything to work properly out of the box? I don't have to do anything? Even the brown colour looks kinda nice. Oh man... This is so cool. And the days passed. I usually develop using php. On personal projects I like to use python. So I don't really need to do much of the technical stuff so Ubuntu gave me a good platform to just start working. I don't actually need to compile anything. The last time I had to compile anything for my laptop was when I was running Slackware. Oh.. that was sweet hacker heaven. You HAD to tweak everything. And since I didn't know much about using packages under slackware then, once I had ./configure, make, make install, the programs never ever leave. I just didn't know which file to delete. If it have make uninstall option I might use that but not all had that.
And one of the distros that I had used in my distro hopping days was Arch linux. It was one of the more memorable ones. Actually used it for almost a year. Loved the pacman -Syu to keep my system updated. But of course you still had to tweak quite a lot. But I remembered there was wiki and forum for everything you need.
One of the sad things about having things made easy is that you tend to like it being easy. And in Ubuntu almost everything was already configurable using some graphical tool. There wasn't even any need of iwlist wlan0 scan to see what wireless network was available. It was just displayed there. Soon I got a bit rusty with the good old CLI. And I said to myself, enough is enough. I'm going back. Hmmm... Arch was pretty good. So this morning I decided to install good old archlinux. But guess what? I was pretty scared. I WAS SCARED!!! I thought what if I had to take the whole day configuring it? What if some of the drivers I can't figure out again how to install it? I had FEAR!! I had UNCERTAINTY!! I had DOUBT!! Everything you need to launch a full scale FUD attack. Ubuntu made me forget that is how most people felt about Linux and free software in general. Ubuntu did a great job. If ever you wanted proof that Linux is ready for the desktop prime time, that was it. You could just install it without worrying about anything. And actually, personally I think installing Ubuntu is even easier than installing windows because there was no need to hunt for drivers. So I said this is ridiculous. I went ahead and installed arch...
Now I'm posting this from epiphany because I haven't finished installing all the software I need yet. Not even firefox. My display is stretched because I haven't install 915resolution yet and in general everything looks pretty retro 90's kinda style. Sweeeet... :)
Thursday, February 28, 2008
Make a directory on your home folder to keep all your softlinks. Make the directory name short. Maybe just one letter. I made mine s.
~$ mkdir s
Then make the link in there.
~$ ln -s /long/path/to/project/folder s/project
So now whenever you need to go there just key in:
And tab autocomplete helps a lot here. Maybe you just need to type 4 keys (including tab) if you haven't got much links yet. And in vim? :lcd s/project and BAM you're working you're way to oblivion. Nice eh...
Monday, February 25, 2008
Saturday, February 23, 2008
Ok.. so now I'm getting somewhere. After much trial and error I finally figured out that I need to run:
sudo a2enmod proxy
sudo a2enmod proxy_http
To enable the proxy function in my apache server. Once that is done, it seems the rules given at the first website is not really correct. So in the end my .htaccess contains the following:
RewriteRule ^(.*)$ http://localhost:8080/$1 [P]
But even though that is all fine and dandy, it didn't allow me to surf to more than the front page. All the subsequent links in the page was broken. And I experimented some more until finally I've got it at:
RewriteRule ^(.*) http://localhost:8080/VirtualHostBase/http/abdullahsolutions.com:80/VirtualHostRoot/_vh_plone/$1 [P]
Read the first article and it will mention about enabling Virtual Host Monster in the zope management page. But it did not mention about if you we're actually serving from a directory under your web root. Well, good thing the about page on the zope management page explained it all. So for the example above, my server was serving plone from the directory plone. The _vh_ tells the virtual host monster to append plone/ to every link it generates. Cool stuff..
So then I finally got it working. Alhamdullillah... Took a whole night. But seems to be very worth it.
Update (16 March 2008): Finally I've even got the layout working. After referring to http://matthewwhitworth.com/2008/02/06/escape-from-mod_rewrite/ and the Velo site it point to and also http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#mapfunc which explains what RewriteMap actually does. The RewriteMap part has to be part of the http.conf or if you are using Ubuntu in the sites configuration file. Then escape the request just like it says in the matthewwhitworth site and it all should work. Finally.
Wednesday, February 20, 2008
To sum it up, you have to first find out which version the file still exists in (that would be the version just BEFORE the file was deleted). To do that use svn log to look for it. I searched for it with something like this:
svn log --verbose | grep -B 10 name_of_file
The -B option is how many lines before the found line should be displayed. Quite important as the version number is actually on top of the log and not on each file line.
Once you know which version you have to recover from, it is a small matter of copying that file from the repository with a svn copy command:
svn copy --revision num_of_revision http://path/to/file/in/repository ./name_of_file
The file would be recovered and you'd have to commit it again to the repository so that it'd be available for everyone.
Sunday, February 10, 2008
Downloaded it and installed it. All seems to be going fine right now. No problems yet. Except for the pretty urls. I needed to enabled mod_rewrite and had no idea how to do that in Ubuntu Server. So after googling it a bit I found just the thing. Type:
That is short for apache2 enable module. That would create the necessary link in mods-enabled but I still couldn't use the pretty urls in drupal. Well, it turns out that the settings in sites-available/default would not allow override. So had to change AllowOverride None to AllowOverride All. It's good now.
Saturday, February 9, 2008
As I embark on my new journey to learn the Rust programming language, I find myself pondering—where have all the blogs gone? In search of pr...
My blogs' name is High-Tech Rojak but I don't recall ever talking about food. So here's a first. Just recently I got some free t...
I've been thinking quite a bit about documentation and the 'cost' it involves. And when I say documentation, I mean documentatio...
Documentation.... Documentation never change.... (end fallout war never change reference) I don't particularly like documentation. Sor...