Monday, December 29, 2008

Impossible is Nothing

A friend of mine who is currently a runner and an aspiring tri-athlete posted a series of inspiring Youtube videos on his Facebook profile.

A couple of them were from Adidas' "Impossible is Nothing" campaign which reminded me of one of my favorite quotes of all time which also came from that ad campaign.

Impossible is just a big word thrown around by small men who find it easier to live the world they've been given than to explore the power they have to change it.

Impossible is not a fact. It's an opinion.

Impossible is not a declaration. It's a dare.

Impossible is potential.

Impossible is temporary.

Impossible is nothing.

Getting started with Ruby and Watir

As a web developer, I'm always on the look out for ways to improve the quality of the web applications I develop.

One of the tools that I am trying out recently is Watir (pronounced Water). It's too early for me to say whether it's as good as or better than Selenium but I have to admit, learning ruby in the process is a nice bonus. Compared to my experience learning TCL, I found Ruby to be easier to learn.

Here's a quick run down of the steps to get started with installing Ruby and using Watir. Before anything else, I would recommend absolute newbies to try this on Windows first because it will be much easier and quicker.
  1. Download the Ruby one click installer
  2. Double click on the file you download and follow the instructions to install ruby
  3. Open a command prompt and type the following to update ruby and install watir
  4. gem update --system
    gem install watir

  5. We would also want to run tests on firefox, so let's install additional ruby packages that will allow us to do that
  6. gem install firewatir

  7. To allow firefox to work with Watir, you'll need to install the jssh plugin for firefox.
I wrote a script to check if IE and Firefox works with Watir. Copy the script below into a file mytest.rb and save it to your computer.
# set the variables
validator_site = "http://validator.w3.org"
url_to_check = "http://www.google.com"
browser = "ff"

if browser == "ie"
require "watir"
ctrl = Watir::IE.new
else
require "firewatir"
include FireWatir
ctrl = Firefox.new
end

puts "1. Open validator site"
ctrl.goto validator_site

puts "2. Type url to validate"
ctrl.text_field(:name,"uri").set url_to_check

puts "3. Submit the URL"
ctrl.link(:class,"submit").click

puts "4. Results ... "
if ctrl.text.include? "Errors found"
puts " Test FAILED."
else
puts " Test PASSED!"
end

ctrl.close

To execute the script, open a command prompt and type

ruby mysite.rb

To try it with Internet Explorer, change the browser variable from 'ff' to 'ie'.

The script simply loads up the w3c validator site and submit "http://www.google.com" for validation. The command prompt will output messages as the script progresses. In the end, it checks whether the words "Errors found" is on the page and outputs a Success or Fail depending on whether those words are found or not.

Monday, December 22, 2008

I Dare You To Move

Once in a while, something stupid happens to everyone but what if that something stupid is so big, so life changing that it totally breaks you, saps you of all your confidence and renders you incapacitated.

If something like that were ever to happen to you, wouldn't you like someone to "Dare You To Move" ?

It's never easy isn't it ? You know you have to get up and continue but there's this huge weight on your shoulders that always reminds you of what happened. All we know is that we have to move forward "like today never happened" but nobody really knows how. I think it's because everybody is different. People find themselves in the most unexpected places.

So I really liked this song by Switchfoot. My favorite lines ....
Maybe redemption has stories to tell
Maybe forgiveness is right where you fell
Where can you run to escape from yourself?
Where you gonna go?
Where you gonna go?
Salvation is here

Yes, salvation is here !

Lots of videos from Youtube to choose from but not all of them have the line "salvation is here". There's just something oddly comforting about that line in the song so I chose a video with that line in it. Enjoy.

http://www.youtube.com/watch?v=3mN6mfI3hTE


Speaking of "lifting yourself up off the floor", I better start posting more blog entries soon or I'll fall off again :-)

Monday, December 15, 2008

Revenge of the Geeks

"Yes, But it's like the Greeks used to talk about the philosopher kings.
Geeks have no interest in power. The only power we're interested in is low power consumption
and longer battery life and low prices so we can stay up later at night. Geeks have no desire - geeks may inherit the earth, but they have no desire to rule it."

Robert Stephens on 60 Minutes December 30,2007

Sunday, December 07, 2008

And Into the Light ....

I can't remember when I first heard it. Some say that before you can step into the light you must know what darkness is.

It's been a while since I posted anything on this blog and I think it's about time for a make over.

Please bear with me as I tweak the heck out of this new template and get this blog going again.

Thanks,

Ham

Sunday, September 28, 2008

Pageant Sash and Tina Fey Glasses

I'm not a big SNL fan probably because I don't have a lot of time to wacth it but I have to give it to them. I almost had an asthma attack watching this one. My favorite part, where I literally fell to the ground laughing with tears in my eyes ...

FEY AS PALIN: "What an amazing time we live in. To think that just two years ago, I was a small town mayor of Alaska's crystal meth capitol. And now I am just one heartbeat away from being President of the United States. It just goes to show that anyone can be President."

POEHLER AS CLINTON: "Anyone."

FEY AS PALIN: "All you have to do is want it."

POEHLER AS CLINTON: (LAUGHS) "Yeah, you know, Sarah, looking back, if I could change one thing, I should have wanted it more." (RIPS OFF PIECE OF PODIUM)

Excerpt is from About.com. Check out About.com's political humor section by clicking the title above for the complete transcript of the skit.

Have a look and a laugh or worse an asthma attack from the entire SNL intro skit from NBC.com below.



Update : I just found out that Tina Fey reprised her role as Sarah Palin in another intro skit just last night. I don't think it was as funny as the first one but judge for yourselves, here's the video from NBC.com.

Monday, September 22, 2008

Use javascript to prevent firefox from loading stuff into your page

So say you have a cool Photo web application. It's so cool that people think that they can just drag photos from their desktop to anywhere on the page and it'll get uploaded, NOT.

Well at least not yet.

What happens is that firefox loads up the image totally replacing your page. To avoid that, add this line of code at the head of your html page and you should be all set.

window.addEventListener('dragdrop', function(event) { event.stopPropagation() }, false)

Changing HTML tag attributes with Javascript

Just in case I forget all about this and I'm sure someone may find it useful.

It's probably commonplace to access certain attributes like style and class but what if you want to set your own attributes on an html tag.

On ExtJS, you can add a quicktip to any html element by simpley adding "ext:qtip" attribute like so.

<div id='mydiv' ext:qtip='Empty div'>

Now what if you want to add or dynamically change the qtip on that element. Here's how I did it.

var newtip = document.createAttribute('ext:qtip');
newtip.value = "It's not empty anymore";
document.getElementById('mydifv).attributes.setNamedItem(newtip);

Sunday, September 07, 2008

Thoughts about YNG (YUI the Next Generation)

Yes, I'm a trekkie :-) So follow the link (click the title) already and find out what I think of YUI 3.0 over at the Solutiongrove Blog.

Wednesday, September 03, 2008

Google Chrome : First Impressions

Google Chrome Beta went live a few hours ago and I just couldn't resist installing it and giving it a spin.

I'm a bit disappointed that I had to boot up a virtual machine with windows to try it out as a Linux version of the browser isn't available yet but overall my experience with it has been positive so far.

It does somewhat remind me of Opera for some strange reason.

If this is the first time you've heard about Chrome, Google made available a nice online comic book explaining in layman's terms why they decided to create their own browser.

Download and Install

Download and install was easy. After clicking Download Google Chrome I was redirected to accept their terms of service. After that an application popup with a progress bar appears and shows me the download status. I appreaciate how I didn't have to download an installer and double click it afterwards. Google downloaded Chrome and started the install for me. How nice is that.

Once installation completes Chrome will import bookmarks and other resources from Firefox. There doesn't seem to be a way to opt out of that. It so happens that my Firefox browser was running and it warned me that it couldn't import stuff from a running browser. There was a button to Skip Import so I clicked that instead of turning off Firefox and letting it do the import.

Taking it for a Spin

Excited to see how this new browser does Ajax and DHTML,

I loaded up the Solutiongrove.com portal page ...

chrome-sgcom

... and our Friend Webs facebook app

chrome-fw

Not bad !

Flash, SVG, Ajax and Javascript all work nicely and quite fast too. Java it seems though isn't supported yet.


chrome-javaplugin

Developer Tools

The saddest part about this is that I may one day (if it manages to steal enough market share from IE and Firefox) need to include this browser in our QA process. However, Google hasn't forgotten us web developers when they released chrome. They included some developer tools (see screenshots below) which you can access by clicking the "control the current page icon".

chrome-icon

It's hard to say whether these tools will be as good as Firebug on Firefox but at least they're there.

chrome-jsconsole-res


chrome-jsconsole-el

Final Words

Download and install is streamlined and easy especially for novices.

Browsing is fast and the software feels stable.

Google hasn't forgotten web developers with this browser thanks to the inclusion of developer tools.

Tuesday, September 02, 2008

Google Chrome

2 years ago I mentioned in a blog post how the browser will play pivotal role in implementing COMET.

Today Google is stepping up with their own web browser. It's too early to say whether this new browser will herald the coming of faster, more powerful web apps, however, if the comic is any indication, Google is giving Mozilla and Microsoft a serious run for their money.

Monday, June 30, 2008

IE6 users warned to upgrade

This article from Webuser.co.uk reports that McAfee is advising IE6 users to either upgrade or use a more secure browser due to a recently discovered scripting flaw they found.

I can think of a dozen more reasons to upgrade or to start using Firefox but this is a very compelling reason for most users.

I'm silently hoping that Microsoft doesn't release a patch ;-) Go Firefox :-)

Wednesday, June 25, 2008

OpenSUSE 11.0 GM on a Lenovo ThinkPad T61

Hardware Specifications :

Lenovo ThinkPad T61
Model : 7662CTO
CPU : Intel Core 2 DUO T7300 2.0 GHZ
Display : 14.1" 1440x900 NVIDIA Quadro NVS 140M
Hard disk : 120 GB Hitachi HTS54161 5400 rpm
CD ROM : Matsushita CD ROM UJ-852
Memory : 4GB
Wireless : Atheros AR5BXB6 a/b/g
with Bluetooth, Express Card and PCMCIA slot
No fingerprint scanner and no SD/MMC card reader

Software :

OpenSUSE 11.0 Gold DVD downloaded from
http://software.opensuse.org/

OpenSUSE was downloaded via bittorrent and burned into a DVD. Clean installation thru the DVD took about 45 minutes to an hour excluding tweaking and other setup as outlined below.

I chose to install KDE 3.5.9.

Video :

Installation detected the resolution, size and color depth of the laptop. Other users could probably leave it as is but I decided to install the NVIDIA drivers thru one click install from the CyberOrg Blog

Wireless :

The installation detected the wireless card on the T61 and used the newer arth5k driver but for some reason it couldn't detect any available access points. Research reveals that the wireless card is suppose to be supported.

I decided to checkout MadWifi.org where I got the drivers for the card when I installed OpenSUSE 10.3 but as of install time, MadWifi.org hasn't released their wireless drivers for OpenSUSE 11 final. Only the drivers compiled against OpenSUSE 11 Beta are available.

I had no choice but to download, compile and install from source. I followed instructions from this page up to the "Installaing MadWifi" section.

I then reboot, logged in as root and launched YAST. I went to the Network Settings interface to edit the wireless card and changed the module name from ath5k to ath_pci.

Update 7/2/08 : I revisited Madwifi.org and found that they have released packages for OpenSUSE 11 GM.

Sound :

Worked out of the box but I had to right click on the kmix mixer applet, click on Select Master Channel and choose PCM.

Update 6/29/08: I just noticed that the built in mute and the volume up and volume down buttons are working. Back when I was using OpenSUSE 10.3, they weren't working too well.

Bluetooth :

The Fn+F5 key that activates bluetooth wasn't working after install so I had to go to Yast Software Management to install "hotkey". After installation the function key now works and can be used to activate or deactivate bluetooth on the laptop.

Suspend to Disk and Memory :

This is probably the most compelling reason for installing OpenSUSE 11 on my ThinkPad, at least for me. Both work after install with no tweaks or changes what so ever. I just got a bit confused because the Suspend options were not available in the menu. I had to suspend to disk and/or suspend to memory by right clicking the kpowersave applet.

Update 6/29/08: It seems suspend to memory was not working after all but there was an easy fix. It seems you need to have S2RAM_OPTS="-f -a3" in /usr/lib/pm-utils/defaults. Also it seems the suspend options were not in my menu because I was reusing an older home directory.

DeskTop Effects :

Unlike OpenSUSE 10.3 where you have to make a couple of modifications and symlinks, in OpenSUSE 11 Compiz is now better integrated. From the menu, search for "Desktop Effects", launch it and check the checkbox to enable.

First Impressions and Notes:

  • Boot up and shutdown time are noticeably faster for me
  • YAST is speedier, specially the Software Management module.
  • Network Manager doesn't seem to be working too well for me. When I was using OpenSUSE 10.3 it detects if I'm on a wired network and automatically turns off wireless connections. It doesn't do that on OpenSUSE 11, instead it keeps both connections, the wired and the wireless, on.

Monday, June 09, 2008

a quote from the Early Edition episode Hoops

" Everybody has a dream, it comes with being alive, it doesn't matter who you are or what you do or where you grew up ... if you're breathing you got one ... but the dreams that you dream when you're young, those are the ones that count, the ones that you never give up .... when every second lasts a lifetime ... and when you know beyond a doubt that you're different ... and that you're gonna live forever "



Online Videos by Veoh.com

Wednesday, April 16, 2008

Better Merging with Subversion

Check out the blog article I wrote about using svnmerge.py when merging with Subversion.

Wednesday, March 26, 2008

a Ham quote

I've had my fair share of ham jokes but a ham "quote" is something else. Allow me to reproduce it here as read from Dimsumdolly.com ...

The most exquisite peak in culinary art is conquered when you do right by a ham, for a ham, in the very nature of the process it has undergone since it last stalked on its feet, combines in its flavour the tang of smoky autumnal woods, the maternal softness of earthy field delivered of their crop children, the wineyness of a late sun, the intimate kiss of fertilising rain, and the bite of fire. You must slice it thin, too, almost as thin as this page you have in your hands. The making of a ham dinner, like the making of a gentleman, starts a long, long time before the event.

~ W.B. Courtney


Monday, March 17, 2008

Cross Browser Web Development and coming to terms with IE

I just published a blog entry over at Solution Grove with tips on cross browser web development and Internet Explorer.

If you happen to be a front-end web developer, you might find this article interesting.

Monday, March 10, 2008

the story of how "Steve Jobs Made Me Miss My Flight"

I got this link from Rickey.org about how Steve Jobs indirectly caused the guy to miss his flight.

Now I wish I bought a Mac

Apple released the long awaited iPhone SDK last week and boy does Steve Jobs know how to make you regret buying your new PC.

The SDK seems to only come in the form of a dmg file which means that you can only install and use it on OSX.

Ironically, the linux news sites were all abuzz about the iPhone SDK in recent weeks leading up to its release.

I'm sure the *Nix geeks are out there scratching their heads and wondering if there will be a version of the SDK we can download, install and try on Linux.

3 days without DSL and living on Wifi

It's been a while since I have gone without DSL. Last friday, PLDT, my service provider, decided that I needed to go without it for a while. Needless to say it took a while (3 days to be exact) before it was sorted out. Thank God it was a weekend.

For the first time, I was actually thankful that I was paying the extra P99 per month for Airborne Access Wifi.

The problem then was to find a place with a good enough signal at decent speeds. Funny that Airborne claims that they have "the widest coverage, connecting you through the most wi fi location nationwide" because many of the Airborne Access hotspots I went to in the past few months were either offline, excruciatingly slow or just plain difficult to connect to.

So I'm either incredibly unlucky at finding hotspots or they're not very good at keeping their hotspots online and working.

There is, however, one consistently good hot spot in my experience. The Starbucks at Petron Macapagal Avenue always seems to have a good signal at decent speeds.

I felt quite at home because many of the laptop wielding crowd had Thinkpads. They came in all shapes and sizes from the very portable X series to the huge and heavy iSeries, you name it someone has it.

Anyway, the internet has become quite accessible now thanks to wifi. I can remember a year or two ago when internet cafe's were the only place to get internet access. Today, you have wifi hotspots even at the mall. Some, like the Robinson's Malls even offer it for free, mallwide.

Well, my DSL is back and I have to start cutting back on the caffeine now. :-)

Wednesday, February 27, 2008

gearsAJAXHelper: Using Gears as an optional speed boost

I remember trying to do something along these lines a couple of months back. You still need gears to be installed on your browser though.

Read more about gearsAjaxHelper

Saturday, February 23, 2008

iGoogle uses YUI CSS Tools

While messing around with firebug, I found out that iGoogle uses YUI's CSS Tools ...

yui-css-on-igoogle

Friday, February 22, 2008

Yahoo ! releases YUI 2.5

Recently, Dave and I worked on adding some neat features to the list template code.

It's patterned after some of the things we saw in DabbleDB that we thought would be a nice have for list template on OpenACS.

Just last week Dave demoed Ajax List Template at the OpenACS conference at Guatemala.

So how is this related to YUI 2.5.

Well, with the release of 2.5 comes the Data Table control and from the looks of it we'll be rewriting the Ajax List Template to use it soon. The current version uses YUI menus and a lot of back-end code. With the Data Table control it seems we will be able to "progressively enhance" a list template better than how we did it now.

In addition to the Data Table control, a few more notable additions include :

Image Cropper
Layout Manager
  • This looks like the layout manager that ExtJs has.
Uploader

  • Looks like this is a flash based experimental file uploader based on the one they have at Flickr
  • I still like SwfUpload though :-)
Resize Utility
  • This utility will relieve us all of mucking around with the drag and drop api to make elements resizable with YUI :-)

Friday, February 01, 2008

Microsoft Offers $44.6 Billion To Acquire Yahoo

TechCrunch reports that Microsoft is offering to acquire Yahoo for $44.6 Billion. A copy of the letter Microsoft sent to Yahoo is also in the article.

I must admit, the offer must be tempting for shareholders given Yahoo's current state.

The guys at Microsoft were quite patient to wait a year and rather intent to offer so much for a company struggling to stay in the black.

All I can say is ... "Resistance is futile .... "

I'm just worried about what will happen to YUI, if the buyout happens. Is YUI.NET in the horizon ?

Thursday, January 31, 2008

Kernel upgrade to 2.6.22.16-0.1 and minor MadWifi inconvenience

The opensuse updater applet upgraded my kernel and the nvidia graphic card drivers on my opensuse 10.3. Everything was ok except Wifi stopped working.

I have a T61 with the Atheros chipset using MadWifi. It seems the MadWifi repositories haven't caught up. Luckily you can search for updated MadWifi rpms from software.opensuse.org/search.

So first things first is to check what my new kernel is ....

uname -r

Next I search for madwifi-kmp-default that matches the kernel I'm using on http://software.opensuse.org/search and I click on the "One click install" icon to install it.

Sunday, January 27, 2008

My sister's EEE-PC

Lucky my sister has small fingers. I can't imagine myself using this thing for work. The keys on the keyboard are so small and the screen though bright and clear is just too small. I guess that's the adjective that best describes this machine. It's small but it's just fine for my sister who happens to be just as petite ;-)

The unit is the PC-701 model equipped with a 1.3 megapixel webcam, 1GB memory and a 4 GB solid state hard disk with Xandros Linux pre-installed.

Three days before purchase I called to ask if there were available units. The sales person I spoke with said they had 75 units available but he added that these things were selling like hotcakes. When we finally dragged ourselves to the store, there were only 3 units left, he wasn't kidding !!!

I had a chance to play with it for about an hour and here are my first impressions.
  • Boot up is fast. No doubt, due to the solid state hard disk. It beat my T61 to the login screen.
  • The posters and flyers say its "Shock Proof - Weather Proof - Best in Class !". I'm inclined to agree, it feels solid and it's light. It feels like you can actually throw it around without worry.
  • It's linux of course, so the apps were all familiar linux apps like Pidgin, OpenOffice and Firefox, nothing any linux user hasn't seen.
  • Applications were quite responsive. Skype worked out of the box with the webcam.
  • There's a voice command app but I didn't get a chance to try it out yet.
Here are a couple of photos from my camera phone. The last two shots give you a feeling of how exactly small it is.


01242008264


01242008269


01242008270

01242008271

01242008272

Friday, January 25, 2008

ExtJS 2.0.1 is out

Everybody start your download managers and get ExtJS 2.0.1 from ExtJS.com

http://extjs.com/download

Looks like I'll be busy updating projects today ....

Wednesday, January 23, 2008

Can I have your name sir ?

When I go order my favorite venti coffee jelly frapuccino from our local Starbucks, the barista always asks if I want a ham sandwich to go with it, I wonder why ?