OpenDNS Works!

I have a tendency on trying out new and untested technologies just to get a kick of having done it… at least among my geekier friends.

Today I decided to give OpenDNS a try. It’s a free DNS service that claims to surpass most ISP’s own DNS servers in terms of speed and reliability. And boy, that stuff really works! Now my page loads are noticeably faster and smoother (if that even makes sense). Actually, now that I am using OpenDNS, somehow Firefox is loading pages a bit faster as well, making it a lot more bearable as my full time browser of choice on my Mac.

I found out about OpenDNS from having used the founding partner’s other venture, EveryDNS. I put all of my domain names with them. In fact, I was so impressed with that service, I even donated some money to support the service.

Maybe I will give OpenDNS’s other venture, PhishTank, a try and see how that works. They have an API for other developers to use… I wonder what I can do with that…

Why I Ditched Opera (Again)

When Opera 9 came out, I decided to give Opera another shot. After all, it is among the most lightweight browser with one of the faster rendering speeds in the Mac universe. It also has something that most other browsers on Mac OSX lack, good memory control.

Unfortunately, after months of dedicated use, I’ve decided to switch again back to Firefox. Firefox is slower, but at least it’s reliable.

Here’s a list of the reasons I decided Opera still sucks on the Mac:

1. Unstable. And I don’t just mean that it crashes often, but some of its features simply work only sporadically. Take, for example, spell check works only some of the times. Other times (and usually when I needed it the most), the option is just grayed out, unavailable for use. Restarting the browser usually fixes the problem but not always.

2. Weird bugs. This is kind of an extension of the first problem… There are some bugs that show up for no reason; and then they just go away automatically. One of them has to do with clickable links. Sometimes links simply become unclickable for no apparent reason. This is extremely annoying.

3. Not so good ad blocker. In terms of ad blocking, I think Firefox, coupled with GreaseMonkey and Adblock Plus, is still the king — they block out 99% of all my unwanted ads, including those inline underlined ads. Opera has a nice implementation. Unfortunately the execution is still pretty behind in comparison to Firefox. One time it blocked out ALL of the images on Apple Store page, which kind of freaked me out for a second.

4. Opera is still not accepted by some unfriendly sites such as Peerflix. That means I’d have to fire up another browser just to browse those sites and quit again.

Yeah, I know. Four reasons don’t seem like a big deal. But the first 2 reasons alone have annoyed me for a pretty long time. And today when the spell check refused to work again, it was the last draw for me — Opera had to go.

So I am back on the sluggish Firefox. I read the next version is going to be optimized for OSX for sheer speed. I can’t wait!!

A Statistic on Programmers

The instructor from my Java class today revealed a shocking statistic today on us programmer types — on average, a programmer writes less than 10 lines of code each hour.

I hope the management-types never find this out…

Quick. Here’s a multiple choice question:

The statement above infers that programmers are:
a. slackers
b. taken for granted
c. earning more per hour while doing less work
d. inefficient
e. masters of disguise

NOTE: Sorry… I’ve been cramming too hard on the GRE; now everything I see is composed of multiple choices. Did I mention I hate studying for crappy and useless exams like SAT, GRE, GMAT and the like?

Some Tips on Using Roomba Discovery

That Roomba I got for Grace is really one excellent toy, err, cleaning machine… The first day we put it to work, I emptied 4 full cartridges of dirt plus other crap. And this morning I sent it to “spot clean” the area rug for several cycles, and it again found stuff that’s not visible to the eye — 4 more cartridges of them!

After observing it for a couple of days, I’ve got some tips to share:

Roomba no like cables. Cables no Roomba friend.
Generally Roomba knows how to get out of stationary flat cables. But sometimes it does get trapped if a smaller and looser cable entangles Roomba’s bumper. Just get cables out of the way by wall mounting them or hide them from Roomba.

Roomba no like lightweight area rugs.
While Rooma does an excellent job on “heavier” and bigger area rugs, those small area rugs will trip Roomba. And Roomba, when trapped, will complain and try to get out of it by engaging in an interesting escape routine. But it doesn’t always get out of it successfully. So move those small area rugs out of the way so you don’t have to worry about rescuing your Roomba later.

Roomba smart. Roomba escape from tight spaces no problem.
I’ve watched my Roomba wander into pretty tight spaces and still manage to get out just fine. But it’s still a good idea to give it enough room to at least get in and out of a tight spot.

Rooma need help, Roomba yell.
When Roomba is acting funny, make sure you empty the cartridge AND check the cleaning brushes. My Roomba stopped in the middle of the room one time on full power with an orange status light on and beeped twice; I couldn’t figure out what was wrong with it. It turned out that it’d choked on a small piece of wine cork I’d cut up to raise the height of some furniture (so that it can go under and clean).

Roomba no like too much animal hair on carpet.
With two cats at home, the carpet is a magnet for animal hair and dander. It’s a good idea to use “spot clean” to really really clean out the carpet for the first few times. The lesson here is, for each spot clean, empty out the cartridge and clean the wheels (as well as within the Roomba itself) before the next cycle. Or else when the cartridge bin is full, Roomba will regurgitate some of that hair, leaving a track of “processed” hair behind it… Not a good sight…

Make cleaning easy for Rooma.
Some people (ahem, Chee, ahem, hoi..) complain that using Roomba is almost the same as vacuuming manually since one still has to lift things/furniture to get under them. But I beg the differ. The whole point of having a “robot” is so that it frees up my time to do other stuff. What I do is, I lift/move all possible obstacles out of Roomba’s way and let it do its job. True it takes a little effort still, but what house chore doesn’t? What I did was, I watched how Roomba cleans and how its cleaning routines work for the first few sessions, then I either modify how I place my things on the floor or change the way they are stored. And I give Roomba enough clearance under certain furniture so it can get all the dirt out. And it’s a good idea to watch how Roomba works for the first few times because then you get to see how Roomba may get into trouble or if it’s able to get out of certain traps (i.e. cables).

Roomba is no human.
Be realistic. Don’t expect Roomba to get to places that are smaller than its own size. There’s just no way Roomba will be able to get to certain corners or spots. Knowing that, it’s just a matter of cleaning after Roomba when it’s done. Not a big deal.

Funny backup sound.
When Roomba is at its charging station, by pressing on the “clean” button, something funny happens: Roomba makes a beeping sound while it’s backing out of the charging station as if it’s an heavy equipment or a large truck. It’s really cute and shows how its geeky creators do have a sense of humor.

One thing that’s really interesting to watch Roomba do is when it looks for and docks with its charging station. It reminds me of one of those sci-fi movies on how space stations dock. When docking is successful, Roomba turns itself off and flashes the power button, signally that it is being charged. On the charging station, an extra light goes on just like in the movies! Sweet!

Java Kicking My Ass

My excitment over Java waned a bit after having my butt kicked by all the syntax differences. What comes natural to me in PHP takes a bit of fiddling in Java not knowing all the “right” ways to do things. Digging through Java documentation is slightly useless for me at this point since I am still trying to get used to how everything works and fits together.

Since this is as close to formal programming training as I’ll get, I found some of the brain teaser questions on some homework problems more challenging to figure out since I am really not a “left brain” kind of guy (which is why I have two art degrees in the first place). When it comes to slightly complicated if/else statements or for, sometimes my brain just locks up, and I get “writer’s block” for coders… The assignment on writing a “Bubble Sort” messed me up quite a bit before I could immerse myself in how it should be coded… I think Alex got annoyed a few times after the 100th time I asked him how something trivial works in Java… But really, my brain completely went on a strike…

I still got one last problem on writing a “Magic Square” class on the assignment… Hopefully I can complete that in time for class on Tuesday.

Roomba the Vacuum Robot

I didn’t think I’d ever get one of these things — robotic vacuums. But Woot had them on sale for really cheap, so I looked into it and decided it’d be a great present for Grace (ahem, wedding anniversary coming up).

Our unit came today and we gave it a test drive for 2 minutes (the manual says to give it an initial charge for 16 hours before use), and wow… that thing works great! Grace had this huge smile on her face when she saw the package arrive. Admittedly, it’s pretty hard for surprises when:

a. the package is so freaking huge…
b. both of us are home all day long, and…
c. the name of the damn company is printed visibly on the outside of the packaging…

iRobot Roomba box

iRobot Roomba parts

One of the more interesting things about iRobot “robots” is that they are totally hackable. The unit comes with a serial port that I can hook up to a computer and program it (or even load Linux on it if I wanted to). Some of the more well-known hacks include: bluetooth sensor, wifi-connection, customized routines… etc.

Also worth mentioning is its packaging is very Apple-ish… or as Apple-esque as anybody has come anywhere close to packing a merchandize. Me like it very much.

Rebel Forces Have Landed

At long last, the much anticipated Java class I’ve been wanting to take all year in 2006 finally started on Tuesday. After having played with PHP for 4 years, I’ve finally felt the need to pick up something else for a change. Partly, my cousin Alex is to “blame” for pushing me into Java for its enterprise-readiness.

A couple of interesting statistics about this class:

1. A typically uber-geek class has almost 1/2 of the students being women.
2. Everyone else in the class has either an IBM ThinkPad or some sort of loser Dell laptop. I am the lone Mac user in the class with the only Mac laptop (yoohoo!).
3. Everyone else planned on coding Java using Windows; I am the only person using Mac OSX (yoohoo!) while one other guy is using Solaris.

Hopefully this class will worth its weight in tofu. I had the same instructor in a previous database design class, and that class turned out to be very “profitable” for me. So hopefully I’ll be able to make what I learn here equally successful economically. 🙂

ReadyBoost Envy

I am rarely envious of anything from the Windows side of the world. And when I say “rarely”, it’s more like NEVER. But in Vista, there’s actually this ONE tiny feature that I hope the next version of Mac OSX would have — ReadyBoost. It’s basically a feature that allows a user to instantly increase the performance of a Vista-driven computer by simply adding flash memory! Sweet!

More features of Leopard (OSX.5) is to be unveiled on Jan. 9th, 2007 with Steve Jobs’ keynote speech at MacWorld Expo. I look forward to seeing what Apple’s been hiding for the past five months…

Get Rid of Dotted Outlines on Windows Browsers

For you web developers, I am sure your clients have often tried to make you do the impossible — correct mistakes and/or idiotic decisions made by Microsoft on how browsers should behave on the Windows operating system. Fortunately some of these mistakes can be corrected with hacks and work arounds. Here’s another one…

Some browsers (namely IE and Firefox) have this annoying behavior that’s a Windows-only trait — upon clicking an active link, it leaves a ghosting outline of dots around the link enclosed by the anchor tag. There are two work arounds that I know of to get rid of, or rather, prevent this from happening.

Method 1: Javascript — Yes, yes, I know client-side scripting is not reliable and all that jazz. All I am saying is, this is A work around. The idea is to make these links sans-anchor tags… That is to say, write a Javascript to respond to “onClick” events within, say,

1
< div>

or

1
< span>

tags.

EXAMPLE:

1
< div onClick="doSomething();">Click Me< /div>

Method 2: Div tags — If you are trying to avoid Javascript at all costs,

1
< div>

or

1
< span>

tags may be your best friend. Simply enclose your links with a

1
< div>

or

1
< span>

tag immediately following the

1
< a>

anchor tags, the ghost dots will disappear all by themselves. Sweet, huh?

EXAMPLE:

1
< a href="linkToSomething.html">< span>Click Me< /span>< /a>

Again, if Microsoft had bothered to adhere to industry standards, there wouldnt’ be a need to use work arounds like these. So I beg of you, use an alternative browser as much as possible. And only use IE sparingly when you must (for those idiots who develop sites that work ONLY with IE).

Upgrades

I’ve been dying to upgrade my aging PowerBook for about 8 months now. Even though I think its recent slowdown is caused by lack of hard drive space (only around 10% left), I am having a hard time finding stuff I can just get rid of without looking back.

Along with my PowerBook, a few things should probably go with it too: a 19″ CRT monitor (hello LCD monitor), a carpal-tunnel-syndrome causing mouse (umm, ergonomic mouse would be nice) and an old 802.11b wireless router/access point (which is now half broken). With one of those Intel Macs, many things I couldn’t do easily before will suddenly become possible (and obligatory) — like finally finish editing my wedding video.

I told Murdza I ran out of excuses not to get a new MacBook Pro. But I think I just came up with a few:

1. Would be nice to have Leopard shipped with it;
2. Would be great if video RAM was 256MB 512MB like some of Dell’s line ups;
3. Wouldn’t hurt if the LCD actually packed in more resolution like its PC counterparts;
4. Would love to finally know what file system Apple is eventually moving to;
5. I wish I had a great backup NAS drive for my home network.