RSS RSS feed | Atom Atom feed
Popular Articles: Tom Riddle's Magical Diary | AJAX Lego Robot | AJAX CAPTCHA | SQL Multisets

Exporting and Importing CSV files to Heroku postgresql

Some quick commands to export some rows from a local database and import them to heroku


slashdot digg technorati [more]

Spot the spelling mistake for this lake

A number of signs placed by local Massachusetts authorities incorrectly said Lake Chargoggagoggmanchaoggagoggchaubunaguhgamaugg...while the correct spelling is Chargoggagoggmanchauggagoggchaubunagungamaugg

Maybe they should be using Amazon's naming conventions: LAKE C45G

Wikipedia Entry

slashdot digg technorati [more]

Pox Pay - PayPal X Innovate Challenge

PayPal is currently holding a developer contest. I've an entry. Anyone (developers or not) can vote for the best app. At stake is $100,000 USD. My entry is using voice biometric technology to authorize payments using PayPal's pre-approval API's. There is no password or pin involved. This 2-min youtube video below explains how it works.

If you like my app, I humbly ask for your vote! Voting ends on March 6th 2010

To vote, goto
(this is a PayPal owned site) Search for "PoxPay"
Tags :
slashdot digg technorati [more]

Turn your roomba into a walking google bot

The Gåågle Bot - AJAX Robot #2

When my latest son was born I got a little worried since he didn't look at all like me. I decided I needed a discrete device to spy on my wife while I was at work. I started hacking my roomba and made a GåågleBot (pronounced /google-bot/). GåågleBot is a "home crawler" consisting of a vacuum roomba with an on board webserver and camera. While the vacuum goes about its business, it extracts text from the images it takes. The text is later put in a database on the roomba and searchable through a web interface. This was a good pretext for my wife. I, of course, also added the ability to remote control the roomba using AJAX...for spying purposes...hehe.
I created a dedicated site for the little fellow for fun with showcase app.

This is the next version of My AJAX Lego Robot. I'm working on yet another version of my AJAX Remote Controlled thingies...stay tuned.
slashdot digg technorati [more]

Running Jetty as Non Root

I'm kicking the tires of Jetty and am in the process of setting it up on a production machine and found that the latest Jetty realeas (6.1.14) has a really easy way to start jetty out running as root and later switch to a uid of your choice which enables you to open up server sockets on the privileged ports 80 & 443. See the README file under {jetty.root}/extras/setuid. The process is just a one-liner...well, there are some more perks as you'll see at the end.

The README seems little bit out of date as my

mvn install
did all of the compiling and copying steps. However, when I try to launch jetty with the new jetty-setuid.xml config file I get the following error.
2009-01-20 23:10:33.887::WARN: Config error at <Set name="uid">jetty</Set> 2009-01-20 23:10:33.888::WARN: EXCEPTION java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance( at org.mortbay.xml.XmlConfiguration.set( at org.mortbay.xml.XmlConfiguration.configure( at org.mortbay.xml.XmlConfiguration.configure( at org.mortbay.xml.XmlConfiguration.main( at java.lang.reflect.Method.invoke( at org.mortbay.start.Main.invokeMain( at org.mortbay.start.Main.start( at org.mortbay.start.Main.main( Caused by: java.lang.NumberFormatException: invalid character at position 1 in jetty at java.lang.Integer.parseInt( at java.lang.Integer.<init>( at java.lang.reflect.Constructor.newInstance( ...8 more
My jetty-setuid.xml file looks like:
<Configure id="Server" class="org.mortbay.setuid.SetUIDServer"> <Set name="startServerAsPrivileged">false</Set> <Set name="umask">2</Set> <Set name="uid">jetty</Set> <Set name="gid">jetty</Set> </Configure>
For some reason its expecting an integer instead of "jetty"...well well
> su jetty > id uid=1002(jetty) gid=1003(jetty) groups=1003(jetty)
My jetty-setuid.xml now looks like:
<Configure id="Server" class="org.mortbay.setuid.SetUIDServer"> <Set name="startServerAsPrivileged">false</Set> <Set name="umask">2</Set> <Set name="uid">1002</Set> <Set name="gid">1003</Set> </Configure> like a charm.
Tags :
slashdot digg technorati [more]