Skip to content


Wordpress Compromised

Again, my wordpress installation has been compromised. Spammers are just fond of it.

I found hidden code in wp-blog-header.php, a new user in the database and a few dozen templates :) I couldn’t even modify few files on the server (virus?) even with sufficient rights!!

So, I had to install a fresh copy of wordpress and hand-pick few items here and there to migrate.

Let’s see how long this installation stands :)

Posted in General, Web.

has_many_polymorphs broken for Rails 2.1.x

The guys on has_many_polymorphs are doing a great job keeping the plugin up to date with edge Rails.

This commit broke the plugin with Rails 2.1.x

NameError: uninitialized constant ActiveRecord::Reflection::ClassMethods::ThroughReflection

Just revert to the AssociationReflection instead of ThroughReflection logic and all should be fine.

Posted in Ruby.

Human Forms

The Huff-Duffer has came up with, in my opinion, a remarkable signup form (below). The signup form has this unique ‘human’ feeling that led to the following exchange between me and, Adam, a work colleague.

Huff Duffer Signup Form

Me:

New approach to signup forms
http://huffduffer.com/signup/
I personally like it. More ‘human’.
What do you think?

Adam:

I have mixed feelings about this…

First off, as I am sure is the same with each of you, it was clear this was intended to mimic a paper form (which is where the “more human” comment comes from, I assume).

Though the immediate familiarity is there, I can’t help but be reminded of the circumstances where I am required to fill out a paper form - entering a contest, filling out important records (medical, legal, otherwise), etc.  Most of the circumstances I associated with filling out a paper form were not remembered as particularly comfortable, let alone pleasant - there is, in fact, a feeling of anxiety associated with the task of filling out a paper form…  Just an observation…

Second, one problem with paper forms of this nature is that often is it easy to “skip” past areas which require data entry as they “blend easier” into the body of the form itself.  In fact, 3M has made millions of dollars with little sticky arrows to attach to forms to help users find where they need to enter information.  If used to collect a significant amount of information, this method may also suffer from the same problem.

The standard form objects have moved into the general mindset as recognizable elements which require user attention, not to mention the fact that they provide a whole host of interaction methods (sliders, dropdowns, etc.) not offered anywhere else…  I do think that something like this has its place though…  I am just not quite sure, yet, as to where this would be…

Me:

You’re right. It’s more of [a] mimic of a paper form. Might not be the best way of collecting information online (especially with larger set of entry fields), yet still, there’s something human about it.

May be it’s the way the application is talking to me as a user, or me talking to _it_ (I was about to use ‘him’ instead of ‘it’). May be because of the perception I get that this form will be eventually read by a human being, wearing a reading glasses and handling my signup request with care and passion instead of a cold, heartless ‘Internet’ sitting somewhere down the wires. May be because it’s merely _different_ from the gazillion signup forms I’ve had to fill out to date. May be because I get that this huff/duffer guy(s) wants to be ‘remarkable’ and in doing so will give me a better service.

I agree it’s not applicable in many cases, but being notable/remarkable/different is worth a shot (not sure where though) :)

Putting that mail together, I remembered the Moo Tools. It took us no less than 15 minutes to discuss it, not even knowing what the huff/duffer guys do :D
Isn’t that remarkable?

http://thinkremarkable.com/

Posted in Professional, Web.

[10 seconds ad] AJAX requests synchronization

For you AJAX requests synchronization needs, don’t forget to use Locking! - The mechanism that might save your day. *

(*) not recommended for all uses. consult your requirements, framework API, and DB engines before you apply.

Posted in Ruby, Web.

Finally! Ubuntu on Pavillion

After intending to dual boot my unstable Vista into Ubuntu for a while, I finally had enough  time this weekend to do it.

Let me just say that Ubuntu is living up to its claim of making Linux for Human Beings.

The boot from Ubuntu CD was a no-go. I found that Wubi would essentially install Ubuntu (without the CD) through a single click install (who could have imagined that Linux could be installed from windows just like any other application :) ).

And as far as the wireless connection setup, I only had to install Wicd to take care of it.

True the experience is less adventurous than my previous RedHat/XP , yet, it’s indeed less frustrating.

Posted in General, Professional.

Zoomii

It’s that time again where a new application catches my eyes (and mind). Zoomii: the [near] real online bookstore.

I remembered Alexaholic/Statsaholic’s story and wondered how long will Amazon allow Zoomii to survive.

Posted in Web.

Selling V*

Apparently I was marketing some medications through this blog.

After dwindling Google result ranking, I discovered that my old installation of wordpress (ancient 2.1) was vulnerable enough to allow unauthorized template modifications.

All is fine now isA.

Posted in General.

Jobalytics - a Passenger on Dreamhost

After Ninh pointed out Dreamhost’s mod_rails news, I was tempted to get my hands dirty deploying a test application.

I revivied one of my long lost pets (that hated the FCGI it was running on), made some modifications, and capified it to my Dreamhost’s account.

And … It was a breeze.

The deployment process (including capistrano script modifications, and enabling mod_rails for the domain) took around 10 minutes. Dreamhost made a good effort making the deployment easy (just a checkbox to enable mod_rails for the domain). I’m sure this has taken some effort from both Dreamhost and Phusion guys, so, Kudos to them.

Maybe afterall Dreamhost isn’t that bad.

Here’s a snapshot of the one-page application - jobalytics (Ruby Job Trends).

Ruby Job Trends

Posted in Ruby.

Passenger (mod_rails) on Dreamhost

I got an update from Ninh Bui from Passenger fame about Dreamhost progress on mod_rails adoption.

We’re working closely with Dallas Kashuba (CTO of Dreamhost) on getting Passenger ‘dreamhost’ ready (even though we’ve inferred it was already production ready, taking on a huge hosting company is a challenge on its own, i.e. it’s in its own league :-)).
We’re making excellent progress, and maybe I’ve already said too much ;-)
Stay tuned for a little longer!

from the Passenger Discussion thread.

Posted in Ruby.

Man or SUV

The amount of corn needed to produce a full tank of gas for an SUV is enough to feed a person for a whole year.

The 2008 World Development Report “Agriculture for Development” provides a compelling example of the food-for-fuel debate: over 240 kilograms (or 528 pounds) of corn – enough to feed one person for a whole year – is required to produce the 26 gallons, or 100 liters of ethanol needed to fill the gas tank of a modern sports utility vehicle.

Source: World Bank: Africa - Rising Food Prices Spell Hunger for Millions Across Africa.

Posted in General.