Aug 10, 2009

Render without calling the controller's action in Merb

I was working on a Merb project in the company, I found a common request is generate the report to view in the browser and also send the report as an attachment of an email in a cron job. Usually I have to do two parts of job, one is for the regular MVC parts to get the report in a browser. Then I have to generate the report and write it a file(html, text or pdf). Then send it out later. As you might see, there is a duplication here, I have to design the report twice. This really bothered me, why can't I just re-use the view templates which is used in the MVC. After poking around the merb-core source files, it turns out pretty easy to do that:



This is another reason I love Merb.

Aug 4, 2009

Enable/Disable bluetooth via cmd line

Since I got my new MacBook Pro 13", I found I constantly lost the connection with my bluetooth devices, like mouse or keyboard. It is so annoying that I have to reach my touch pad to disconnect the devices and re-connect them from the status bar or system preference. You'll know what I am talking about if you have the same problem as what I have. It is pretty pain.

Today, I found a command line tools for you to enable or disable the bluetooth, it is so handy. I just love it. Here is the link for blueutil.

Now, I can just issue the command: blueutil off and blueutil on, I am back on track again.

Jul 16, 2009

How to enable colour when running autotest

This will be just a quick reminder.

After migrating my user account from the MacBook Pro 15" to 13", my ZenTest autotest lost its color in its output. To re-enable it, just put following line in the .bashrc:

export AUTOTEST=true

Not sure why my old system can run without this line. Anyway, it is working now. Back on road...

Jul 8, 2009

Restore from time machine

Just got my new Mac Book Pro 13". It is REALLY pretty.

I was hoping the migration would be a breeze. But it turns out there is a catch.

Here is the little background. I have a Mac Book Pro 15" which was purchased in April 2008 ( 4GB, 2.6GHZ, 250GB ). I loved it, the only thing it missing is the multi-touch track pad, of course, it is not a uni-body. But I want the new 13", you know it would be nice to have if you have to carry it for some business trip.

First, I made a full backup of the 15" to the time machine. Then put in the installation DVD on 13", after reboot, I wipe the SSD drive and then from the menu bar selected Utilities > Restore System from Backup...


This brought up a dialog to let me select the Time Machine


Once you've selected your Time Machine volume, you can select which snapshot to restore from. I followed steps, and after 2 hours, it was done. Once it rebooted, every thing works fine, there is only one catch - no sound. You can hear the chim when starting the machine, but no sound devices found when you go to "system preferences". After googling for about another hour, tried several solutions. None of them worked for me. I guess that just is the driver's problem, but I have no idea which library to put onto my new machine. So I gave up searching, and re-do the installation. It turns out it is quite simple, the lesson I've learned is "Do not migrate a whole system, just the user account if you have different machines". Here is the steps:

Do are regular installation, once reboot, choose to migrate a user account from your time machine. After that, every thing works great!

A little thought about the better way to do it. The way that I did which migrated all the iWork08 to my new machine, although I can reinstall the iWork09. I was thinking maybe I can create a dummy user, login, do all the update and install all the new programs, then delete the dummy account, reboot, then migrate the user account. That would save me a lot of time. Maybe when snow leopard out...

Jun 24, 2009

DM hook before :save

I've been using DM's hooks a lot to do the customized validation. Today I was trying to set a property before save,

It won't work.

Finally, I figured it out, use attribute_set

Jun 2, 2009

What kind of parents we want to be

Just read a blog article this morning, it really made me thinking. As a new father, I am not doing anything like that now, but I think I have the tendency :-). Following is the shamelessly copy and paste from the blog:

Helicopter parents

A colloquial, early 21st-century term for a parent who pays extremely close attention to his or her child’s or children’s experiences and problems, particularly at educational institutions. These parents rush to prevent any harm or failure from befalling them and will not let them learn from their own mistakes, sometimes even contrary to the children’s wishes. They are so named because, like helicopters, they hover closely overhead, rarely out of reach, whether their children need them or not.

Blackhawk parents

…those who cross the line from a mere excess of zeal to unethical behavior, such as writing their children’s college admission essays.

Lawnmower parents

…[used] to describe mothers and fathers who attempt to smooth out and mow down all obstacles, to the extent that they may even attempt to interfere at their children’s workplaces, regarding salaries and promotions, after they have graduated from college and are supposedly living on their own.

I have a ten-month old baby girl, she is so lovable, me and my wife cherish her like a princess, sometimes we even think that we might be spoiling her. This article just in time, I will discuss with my wife, what parents we want to be?