Wednesday, December 24, 2008

InfoQ: Damien Katz Relaxing on CouchDB

InfoQ: Damien Katz Relaxing on CouchDB: "In this interview, Damien Katz talks about CouchDB, a distributed, fault tolerant, document oriented database developed by Apache Incubator."

Upload API

Upload API: "Uploading a video to Vimeo using the Advanced API is pretty simple. Your application will need to have write permissions for the user before you can upload a video to their account.

1. Get an Upload Ticket
2. Post the Video
3. Get the Video ID"

Vimeo Developer API

Vimeo Developer API

Tuesday, December 23, 2008

Database Disruption From The Couch � Daniel Tsadok’s Weblog

Database Disruption From The Couch � Daniel Tsadok’s Weblog: "CouchDB itself makes ActiveRecord (and other fancy ORM’s, like Hibernate) largely obsolete (and even quaint)."

Friday, December 19, 2008

CouchDB nearly completed, looks for customers in cloud - SD Times On The Web

CouchDB nearly completed, looks for customers in cloud - SD Times On The Web: "When Damien Katz started the CouchDB project in 2005, he wanted to create a better Lotus Notes. As a veteran engineer of the Lotus Notes project, Katz had written code both for and in Notes, and he had a distinct sense of what was valuable there. Thus, he decided to build a slimmer document management system designed specifically for the Web world. Now, three years and two programming languages later, CouchDB is approaching version 1.0."

Thursday, December 18, 2008

Official Google Blog: @Twitter: Welcome to Google Friend Connect

Official Google Blog: @Twitter: Welcome to Google Friend Connect


"We know many of you enjoy using Twitter to see what people are talking about and to let others know what you've been up to, whether it's sharing a YouTube video or checking in on your friend's tweets. To help you and your Twitter network stay connected no matter where you are on the web, we're excited to announce that Google Friend Connect has integrated with Twitter. This means that when you join a friend connected site, you can choose to use your Twitter profile, discover people you follow on Twitter who are also members of the site, and quickly tweet that you have found a cool website."

Wednesday, December 17, 2008

Good Math, Bad Math : Databases are hammers; MapReduce is a screwdriver.

Good Math, Bad Math : Databases are hammers; MapReduce is a screwdriver.

Relax with CouchDB Book

Relax with CouchDB: 


"The book is designed to guide you gently through using CouchDB with clear but practical scenarios. We progressively showcase key features, starting with simple document CRUD, working through to advanced MapReduce, and culminate with deployment tuning for performance and reliability."

Sample chapters:
Part I. Introduction 
Part II. Learning CouchDB

Tuesday, December 16, 2008

CouchDB & Related Links

Labnotes � CouchDB: Thinking beyond the RDBMS

A flat document storage engine calling itself a database? On any other day, that’s what you’ll get from a collaboration between a vendor and PR agency, pushing new ways to achieve synergy and optimize the bottom line to Global 5000 companies.

This day, it happens to be CouchDB. And CouchDB on first look seems like the future of database without the weight that is SQL and write consistency.

also of interest:  READ CONSISTENCY: DUMB DATABASES, SMART SERVICES

Programming CouchDB with Javascript - plok

To illustrate how easy and straightforward writing applications for CouchDB is, we are going to build a simple todo-list application in Javascript. You should be familiar with HTMLand Javascript and the DOM. You do not need any Ajaxexperience. Although we are going to use it, all will be abstracted away.

CouchDb PHP Hello World Tutorial - plok

This HowTo explains how to write PHP applications that use CouchDb as there data storage. It assumes you are familiar with PHP’s syntax and at best you already wrote some code for a project. It’s also good to know about databases and how and why to use them in PHP applications. If you never heard about classes and objects, you might be able to follow the examples anyway, so don’t worry about that.




Introduction to Parallel Programming and MapReduce - Google Code University - Google Code

Introduction to Parallel Programming and MapReduce - Google Code University - Google Code: "This tutorial covers the basics of parallel programming and the MapReduce programming model."

Monday, December 15, 2008

CouchDBX Revival - plok

CouchDBX Revival - plok: "If you want to play with CouchDB on your Mac and you don’t want to mess with any command line installation business, this is for you."

Couch Db Binaries ‎(brunomlopes‎)

Couch Db Binaries ‎(brunomlopes‎): "This is a repository for my build of the binaries required to run CouchDb on Windows (32bit version, hasn't been tested on any other enviroments)."

Racklabs TechTalk: CouchDB featuring Jan Lehnardt Part 1 on Yahoo! Video

Racklabs TechTalk: CouchDB featuring Jan Lehnardt Part 1 on Yahoo! Video: "Most data is not inherently relational. CouchDB takes this idea and provides a data storage model that easily accommodates modern applications’ needs. Instead of doing the equivalent of manual memory management in a database, splitting all data up..."


Part 2 here

The Windows Command Line, Batch Files, and Scripting- Using the Command Shell

The Windows Command Line, Batch Files, and Scripting- Using the Command Shell

Saturday, December 13, 2008

Stop treating Ajax as something special

Stop treating Ajax as something special


Everyone wants slick applications that use Ajax to reduce page loads and make it feel, well, more application-ny. Of course this is all done in a progressively enhanced way, so the page works just as well without JavaScript.

The problem is, that sometimes, there's an overhead of the extra work to support the Ajax responders.

If you stop treating Ajax as something special, you'll find it's barely any extra work on the server side.

Thursday, December 11, 2008

Playing with Hibernate and JPA under NetBeans

This articleis a good place to start An Introduction to Java Persistence for Client-Side Developers it introduces JPA Java object persistence to an audience unfamiliar with Java enterprise stuff. 

JPA is an object persistence API, one implementation of which is Hibernate which is an ORM layer between your Java code and an SQL database. Hibernate/JPA handle the mapping back and forth. 

The article uses a light java database HSQLDB which can run as a file based or memory based database though any jdbc connected database should work.

The article consists of 2 Java files and an XML config file, to get these running under NetBeans I did the following:

I created a project.

Then I created a place for the config file: META-INF off the src directory and placed the persistence.xml file in there. To create folders in NetBeans click the parent folder (eg Source packages) select New > Other > Folder if it isnt already in the list of types.

I then added the two Java files under a package "addressbook"

META-INF
    persistence.xml

addressbook
    Person.java
    Main.java

Then I downloaded a the HSQLDB stuff and placed it in a directory. I added the hsqldb.jar to the project. 

Hibernate Support was already an installed Plugin on my copy of NetBeans 6.5. Under the Tools > Libraries page I found a few libraries to select from. The library needs to support annotations and a bunch of logging things so I added the Hibernate JPA library to my project. That was all I needed.

Next I set up a script to run HSQLDB as a separate process

java -classpath lib/hsqldb.jar org.hsqldb.Server

and ran the NetBeans project which did as it was expected to do.

Wednesday, December 10, 2008

Spinning Guyro: Google & I

Spinning Guyro: Google & I

I was brushing off my Java skills the other day. It's been a little while and I ran into a task I could not, from memory, recall how to write. So I turned to Google and quickly came up with this post from 1996(!) on the subject:

From: Lawrence Page

I have a web robot which is a Java app. I need to be able to set the User-Agent field in the HTTP header in order to be a good net citizen (so people know who is accessing their server). Anyone have any ideas?

Right now, Java sends a request that includes something like:

User-Agent: Java/1.0beta2

I'd rather not rewrite all the HTTP stuff myself. I tried just searching in the JDK for the Java/1.0beta2 figuring I could just change the string, but I couldn't find it. Perhaps it is stored as a unicode string?

An easy method of setting the User-Agent field should probably be added to Java, so people can properly identify their programs.

Thanks, Larry Page

Hmm, I wonder what kind of "web robot" this Larry Page was working on and hope his project was successful!

Does it bode well for me that I ran into the same question?


Apache CouchDB: The CouchDB Project

Apache CouchDB: The CouchDB Project


Read the introduction and the technical overview to learn more about the design and basic concepts of CouchDB.

Sam Ruby: Dare Takes a Look at CouchDB

Sam Ruby: Dare Takes a Look at CouchDB: "What replaces a Department table in a typical Company/Employees database (or one that identifies a Group in a Facebook like appication) when faced with the prospects of mega-sharding?� The CouchDB answer is views, ones that are computed by map/reduce jobs that essentially extracts (or maps) “tags” and “social relations” from profile documents and reduces them into documents of their own right."

Labnotes � CouchDB: Thinking beyond the RDBMS

Labnotes � CouchDB: Thinking beyond the RDBMS: "I’m personally convinced that write consistency is the reason RDBMS are imploding under their own weight. Features like referential integrity, constraints and atomic updates are really important in the client-server world, but irrelevant in a world of services."

Sunday, December 07, 2008

lighttpd fly light

lighttpd fly light: "Security, speed, compliance, and flexibility -- all of these describe lighttpd (pron. lighty) which is rapidly redefining efficiency of a webserver; as it is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the perfect solution for every server that is suffering load problems. And best of all it's Open Source licensed under the revised BSD license."

Friday, December 05, 2008

The trailer park is the computer

Rough Type: Nicholas Carr's Blog: The trailer park is the computer


[Micosoft]'s next generation of utility data centers will take the form of - you guessed it - trailer parks: sprawling, roofless parking lots in which all the components - server clusters, power units, security systems - will be prefabricated offsite, packed into containers or other types of "modules," trucked in, and plopped down on the ground as needed. 


<a href="http://video.msn.com/?mkt=en-US&amp;playlist=videoByUuids:uuids:b4d189d3-19bd-42b3-85d7-6ca46d97fe40&amp;from=msnvideo" target="_new" title="Microsoft Generation 4.0 Data Center Vision">Video: Microsoft Generation 4.0 Data Center Vision</a>