Monday, February 28, 2011

The sneakernet in git

 If you just want an offline copy for safe-keeping, this method is very simple and convenient:

$ git bundle create blog-dump.bundle master

Posted via email from miner49r

Clojure Libraries

Another useful collection of Clojure Libraries.  This one allows anyone with a Google account to add a library reference.

Posted via email from miner49r

Friday, February 25, 2011

Clojure Toolbox

Directory of libraries and tools for Clojure:

Posted via email from miner49r

Introducing ElephantDB: a distributed database specialized in exporting data from Hadoop

ElephantDB is a database that specializes in exporting key/value data from Hadoop. We have been running it in production at BackType for over half a year now and are excited to be open-sourcing it. In this post, I'll introduce ElephantDB, show how to use it, and then compare it to other databases out there. ElephantDB is hosted on GitHub here.

Unlike most other databases, ElephantDB dissassociates the creation of a database index from the serving of that index. ElephantDB is comprised of two components. The first is a library that is used in a MapReduce job to create an indexed key/value dataset that is stored on a distributed filesystem. The second component, ElephantDB server, is a daemon that downloads a subset of a dataset and serves it in a read-only, random-access fashion. A group of ElephantDB servers working together to serve a full dataset is called a ring. Both the creation and serving of a dataset are done in a fully distributed fashion.

Posted via email from miner49r

Thursday, February 17, 2011

Clojure Libs and Namespaces: require, use, import, and ns

Good overview of how namespaces work in Clojure 1.2.  Most people just need to learn 'ns' to get started, but if you want to get into some of the details, read this post:

Posted via email from miner49r

Wednesday, February 16, 2011

Don’t Believe The Hype About IBM's Watson On ‘Jeopardy!’

Indeed, when I called Watson’s creators to ask how the supercomputer controls its buzzer, they admitted that Watson does have a strong built-in advantage. According to David Shepler, who is IBM’s Challenge Program Manager for the Watson project, “The buzzer is enabled when the clue is done being read, when Alex Trebek gets to that last syllable, and the guy off stage pushes a button. That’s when people can buzz in, and at the same time a signal is sent to Watson saying the same thing—telling Watson that it can buzz in if it so desires.” This is akin to playing against an opponent with near-perfect reflexes. “When we built the demonstration system, the first incarnation of a fully functioning game-playing Watson, Watson was buzzing in electronically,” Shepler said, but they decided this was too unfair. IBM added an electromagnetic “hand” to Watson that will depress an actual buzzer which gives the humans a little more time, but not much. Asked if Watson still has an advantage under the new arrangement, Shepler told me that experienced players will sometimes get the jump on the supercomputer because they can anticipate the end of a clue, “but it's true that on average a machine has very good reflexes. The machine is probably going to beat a human at buzzing.” And the computer will never buzz in too early and get locked out.

My comments: Watson seems to have an excellent command of basic facts, but his main advantage against the humans appears to be his speed with the buzzer. During the broadcast, Alex explained that Watson is given the electronic text of the clue immediately when the clue is revealed on the board.  I think it's safe to say that the computer can read the text faster than the humans can. It would be a more interesting competition if Watson used a camera to read the board or a microphone to listen to the clues.

Posted via email from miner49r

Thursday, February 10, 2011 Plant Database

We've been working on a plant database for  Lisa has provided the content and I did the programming.  We just published our first batch of a few hundred plants.  I use Clojure as my programming language for converting Lisa's data files into web pages.  The open source library, Enlive, worked great for generating HTML from templates.

Posted via email from miner49r

Tuesday, February 8, 2011

Monday, February 7, 2011

iOS, Mac OS X and Clojure on Google App Engine

Since the bulk of the server side for The Path of the Seven Millennia has just been completed, we would like to spend a couple of words on the technological stack of our choice and our experience with it so far.

Clojure is a wonderful language, even though I must confess that my skills in it are still not good at all. Lisp has always been a very powerful and expressive language and Clojure takes the best out of it, with some more nice added features. I’m really impressed by how easy was to build our server side part. Functional programming seems really suited for web development (our server is mainly a REST api called by our apps). After using Clojure for a while, I’m starting to look at OOP with different eyes.

To ease development I’m of course using some Clojure libraries. For the REST implementation I use Compojure (which is built on Ring). To interface with GAE I useAppengine Magic. This library still has not reached the 1.0 release, but it does already a very good job to interface with GAE without using directly Java from Clojure.

Posted via email from miner49r

iPad Orientation CSS (Revised)

40 iPad tools, tips for designer

Pure CSS3 box-shadow page curl effect

Friday, February 4, 2011

AWS Elastic Beanstalk

AWS Elastic Beanstalk is an even easier way for you to quickly deploy and manage applications in the AWS cloud. You simply upload your application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. 

The first release of Elastic Beanstalk is built for Java developers using the familiar Apache Tomcat software stack which ensures easy portability for your application. There is no additional charge for Elastic Beanstalk - you only pay for the AWS resources needed to store and run your applications.

According to reviews, Elastic Beanstalk doesn't have the limitations of Google Application Engine (for example, GAE doesn't allow Java threads).  Sounds interesting. In any case, competition should be good for everyone.

Posted via email from miner49r

Wednesday, February 2, 2011

Color Wheels are Wrong

So there are R, G, and B cones. The signals from these cones don’t go straight to the brain; they first pass through a pre-processing filter, and it’s this filter that explains all the mysteries. Actually there are three filters.

To do this “wheel” thing properly, you have to represent the red/green and blue/yellow opposites. It’s not at all difficult, so it amazes me how rarely it’s seen or taught:

Four primary colors? Yes, why not? It’s the closest thing to the actual physiology without getting complex.

Posted via email from miner49r