memcached: a distributed memory object caching system: "memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load."
Saturday, November 29, 2008
Friday, November 28, 2008
Play! -> Another Java Web application framework
Play! -> Another Java Web application framework: "Play! is a full stack Java Web application framework including a simple stateless MVC model, objects persistence with Hibernate, a Groovy based template engine and everything you need to create a modern Web application ..."
Play!
The Play! frame work makes it easier to build Web applications with Java
NINJAM - Novel Intervallic Network Jamming Architecture for Music - Main
NINJAM - Novel Intervallic Network Jamming Architecture for Music - Main:
"NINJAM is a program to allow people to make real music together via the Internet.
Every participant can hear every other participant. Each user can also tweak their personal mix to his or her liking. NINJAM is cross-platform, with clients available for Mac OS X and Windows.
NINJAM uses compressed audio which allows it to work with any instrument or combination of instruments. You can sing, play a real piano, play a real saxophone, play a real guitar with whatever effects and guitar amplifier you want, anything. If your computer can record it, then you can jam with it (as opposed to MIDI-only systems that automatically preclude any kind of natural audio collaboration1).
Since the inherent latency of the Internet prevents true realtime synchronization of the jam2, and playing with latency is weird (and often uncomfortable), NINJAM provides a solution by making latency (and the weirdness) much longer.
Latency in NINJAM is measured in measures, and that's what makes it interesting.
The NINJAM client records and streams synchronized intervals of music between participants. Just as the interval finishes recording, it begins playing on everyone else's client. So when you play through an interval, you're playing along with the previous interval of everybody else, and they're playing along with your previous interval. If this sounds pretty bizarre, it sort of is, until you get used to it, then it becomes pretty natural. In many ways, it can be more forgiving than a normal jam, because mistakes propagate differently.
Part tool, part toy, NINJAM is designed with an emphasis on musical experimentation and expression.Some pretty good stuff (and some dreck)
NINJAM AutoSong Archive
Wednesday, November 26, 2008
Cloud Options - Amazon, Google, & Microsoft : Simpable
Cloud Options - Amazon, Google, & Microsoft : Simpable: "I have been researching various cloud offerings on and off for the last couple of months. I have primarily focused on offerings from Amazon, Google, and Microsoft.
Here is an overview and some quick opinions of what each service offers."



Official Gmail Blog: Syncing your Google Calendar
Official Gmail Blog: Syncing your Google Calendar: "We on the Google Calendar team work hard to play well with others, so you can synchronize your calendars with a number of mobile devices and desktop applications. This way, you can choose whichever calendars you want to use and keep all of them up to date. Most of these options have been around for a while, and we're happy to announce that Google Calendar now supports the CalDAV protocol -- an evolving, open standard for calendar synchronization."
15 Beautiful High-Quality Free Fonts | Fonts | Smashing Magazine
15 Beautiful High-Quality Free Fonts | Fonts | Smashing Magazine: "Every now and again we take a look around, select “fresh” high-quality free fonts and present them to you in a brief overview. The choice is enormous, so the time you need to find them is usually the time you should be investing in your current projects. We search for them and we find them, so you don’t have to."
Gmail voice and video chat
Look and sound your best with high quality audio and video
Get started easily -- all you need is a webcam"
Tuesday, November 25, 2008
YSlow for Firebug
YSlow for Firebug: "YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool."
UA Profiler
UA Profiler is a tool that you can run in your browser to determine the status of a number of network-performance-specific features that tie heavily to browser page load performance.
Sunday, November 23, 2008
Friday, November 21, 2008
Everything is Terrible: The First Zillion is Always the Hardest
Everything is Terrible: The First Zillion is Always the Hardest: "In these tough economic times, it's important to remember how people used to lose all their money in the good old days: pointless internet companies."
ongoing � HTML5 Pain
Thus, I was delighted, on following a link from Sam’s post, to see HTML: The Markup Language by Mike Smith, which is an editor’s draft, i.e. essentially a strawman conversation-starter; it’s a nice straightforward specification of the proposed HTML5 language. I quote: “It provides the details necessary for producers of HTML content to create conformant documents. By design, it does not define related APIs nor attempt to specify how consumers of HTML content are meant to process documents.” I really like it when language specifications don’t try to pretend that they can constrain what a programmer can do with them.
UserVoice � Customer Feedback 2.0
UserVoice � Customer Feedback 2.0: "On other projects we were left frustrated and overwhelmed when trying to grasp what our users really wanted. Unorganized inboxes and clogged ticket systems ruled the day. Forums were awash with duplication, user support was impossible to determine, and valuable ideas were lost in the shuffle.
UserVoice adds structure to feedback and reduces the overhead of an honest dialog with our users — It creates a market around good ideas so we get more quality than quantity."
Tuesday, November 18, 2008
Monday, November 17, 2008
reglib vs jquery Demonstration
demonstration of reglib's robustness in event handling in comparison to jquery which relies on "on DOM ready" functionality and relies on tree traversal and event attachment especially after DOM manipulation has occurred.
"Let me first of all stress that I'm not trying to bust on JQuery here. JQuery does something that needs to be done, and it does it just about as well as can be done given the tool-set browsers have collectively placed at our disposal.
With that said, I'm going to go ahead and pimp the reglib way of doing things, by which I mean declarative, over the load-traverse-modify methodology, which JQuery makes so easy."
http://blogs.sun.com/greimer/entry/reglib_versus_jquery
Saturday, November 15, 2008
Gotye Hearts A Mess film clip
Gotye film clip "Animator and film clip director extraordinaire Brendan Cook has emerged from his studio with this amazing film clip for Gotye’s Hearts A Mess"
Friday, November 14, 2008
A Look at Sun.COM's New Event Delegation Library - Gregory Reimer's Weblog
A Look at Sun.COM's New Event Delegation Library - Gregory Reimer's Weblog: "We're on the brink of releasing a new JavaScript mini-library to sun.com, which we call the reg library. It provides an object named, naturally enough, reg. It stands for register. With it, you can register behaviors, like this:
reg.click('ul.foo > li > a.bar', myFunction);
Once that bit of code runs, regardless of whether the entire DOM has finished loading into the browser, click events on elements matching ul.foo > li > a.bar will be handled by myFunction, which is passed a reference to the active element and the event object. This happens without any DOM traversal, and without any events ever being attached to any elements. Even if the entire contents of document.body are subsequently overwritten by innerHTML, all those new element nodes implicitly inherit the correct behavior. No re-walking of the new DOM subtree ever occurs. No re-attachment of events ever occurs."
Projective texturing using Canvas and JavaScript
Projective texturing using Canvas and JavaScript

Thursday, November 13, 2008
Wednesday, November 12, 2008
documentation - swfobject - Google Code - Embedding Adobe Flash Player content using SWFObject 2
documentation - swfobject - Google Code - Embedding Adobe Flash Player content using SWFObject 2:
What is SWFObject?
- Offers two optimized Flash Player embed methods; a markup based approach and a method that relies on JavaScript
- Offers a JavaScript API that aims to provide a complete tool set for embedding SWF files and retrieving Flash Player related information [http://code.google.com/p/swfobject/wiki/api ]
- Utilizes only one small JavaScript file (9.5Kb / GZIPed: 3.8Kb)
- Is the successor of SWFObject 1.5 [ http://blog.deconcept.com/swfobject/ ] and UFO [ http://www.bobbyvandersluis.com/ufo/ ]
- Will eventually replace the Adobe Flash Player Detection Kit [ http://www.adobe.com/products/flashplayer/download/detection_kit/ ]
- Intends to unify all existing Flash Player embed methods and provide a new standard for embedding Adobe Flash Player content
- Is an open source project by Geoff Stearns, Michael Williams, and Bobby van der Sluis, and is formerly known as SWFFix [http://code.google.com/p/swffix/ ]
Tuesday, November 11, 2008
Tiny HTTP Proxy in Python
I wrote a tiny HTTP proxy in Python in September, 2001. It was for Python 2.1 on BeOS R5 originally, and has been working well ever since in every version of Python on almost every platform, including Mac OS X and Windows 2000/XP. I posted it to python-list on 17 June, 2003. It had been available publicly as http://mail.python.org/pipermail/python-list/2003-June/168957.html.
Now the page is gone and not found; you cannot get the code conveniently. So I write this page as its home.
Sunday, November 09, 2008
Red |
Red |
Google Groups: "Red takes the Ruby you write and turns it into JavaScript for your browser.
The all-new Red is a Ruby-to-JavaScript transliterator backed by a custom ruby.js library designed to let your code run in the browser exactly the way Ruby would run on your machine. The JavaScript output is optimized to contain only the fraction of the ruby.js source library needed to run your code."
Saturday, November 08, 2008
Joshua Flanagan - Readable Regular Expressions
Joshua Flanagan - Readable Regular Expressions: "I was just listening to Roy Osherove talk about regular expressions on .NET Rocks. A recurring theme brought up was how hard regular expressions are to deal with. Not necessarily creating them - you can do a lot by just knowing the basics - but dealing with them after they've been written. As they mentioned on the show, your source code ends up looking like a cartoon character swearing, which is the likely response you'll get from the poor maintenance developer that has to deal with it. Regular expressions are often referred to as a 'write-only' language.
It got me thinking that this was a problem worth solving. Regular expressions are too powerful to ignore. For a certain set of problems, a regular expression can eliminate a LOT of potentially error-prone code. I cannot justify advocating avoiding regular expressions, no matter how much I value source readability. So what if we could make regular expressions readable?"
LINQ to JavaScript - Home
LINQ to JavaScript - Home: "LINQ to JavaScript (JSLINQ for short) is an implementation of LINQ to Objects implemented in JavaScript. It is built using a set of extension methods built on top of the JavaScript Array object. If you are using an Array, you can use JSLINQ.
Example Usage
var myList = [ {FirstName:"Chris",LastName:"Pearson"}, {FirstName:"Kate",LastName:"Johnson"}, {FirstName:"Josh",LastName:"Sutherland"}, {FirstName:"John",LastName:"Ronald"}, {FirstName:"Steve",LastName:"Pinkerton"} ]; var exampleArray = From(myList). Where("item.FirstName == 'Chris'"). OrderBy("item.FirstName"). Select("item.FirstName");Anders Nor�s' Blog : Introducing Quaere - Language integrated queryies for Java
Anders Nor�s' Blog : Introducing Quaere - Language integrated queryies for Java: "Earlier today, I unveiled the Quaere project during my talk at the JavaZone conference. Quaere is an internal domain specific language that adds a querying syntax reminiscent of SQL to Java applications. The language is modeled with basis in Microsoft’s Language Integrated Query (LINQ) project, which adds similar capabilities to a range of Microsoft .NET languages. The Quaere project allows users to use an internal DSL to filter, enumerate and create projections over a number of collections and other queryable resources using a common, expressive syntax."
LINQ: .NET Language Integrated Query
LINQ: .NET Language Integrated Query: "After two decades, the industry has reached a stable point in the evolution of object-oriented (OO) programming technologies. Programmers now take for granted features like classes, objects, and methods. In looking at the current and next generation of technologies, it has become apparent that the next big challenge in programming technology is to reduce the complexity of accessing and integrating information that is not natively defined using OO technology. The two most common sources of non-OO information are relational databases and XML.
Rather than add relational or XML-specific features to our programming languages and runtime, with the LINQ project we have taken a more general approach and are adding general-purpose query facilities to the .NET Framework that apply to all sources of information, not just relational or XML data. This facility is called .NET Language-Integrated Query (LINQ)."
Thursday, November 06, 2008
CSV Comma Separated Value File Format - How To - Creativyst - Explored,Designed,Delivered.(sm)
CSV Comma Separated Value File Format - How To - Creativyst - Explored,Designed,Delivered.(sm)
Tuesday, November 04, 2008
Sun melting down, and where's Java? | JavaWorld's Daily Brew
Sun melting down, and where's Java? | JavaWorld's Daily Brew: "Those in the Java community no doubt believe that Java is too big to fail, that Sun can't abandon it because it's too important, even if it can't tangibly be tied to anything profitable. But if Sun's investors eventually dismember the company to try to extract what value is left in it, I'm not sure where Java will fit into that plan. No doubt somebody would take over at least nominal stewardship, but we all may come to be very thankful that it's been released as open source."
Dare Obasanjo aka Carnage4Life - Windows Azure from a Developer's Perspective
Dare Obasanjo aka Carnage4Life - Windows Azure from a Developer's Perspective: "From my perspective, Windows Azure is easiest viewed as a competitor to Google App Engine. As comparisons go, Azure already brings a number of features to the table that aren't even on the Google App Engine road map. The key important feature is the ability to run background tasks instead of just being limited to writing applications that respond to Web requests. This limitation of App Engine means you can't write any application that does any serious background computation like a search engine, email service, or RSS reader on Google App Engine. So Azure can run an entire class of applications that are simply not possible on Google App Engine."
Monday, November 03, 2008
Sensis concedes defeat to Google
Sensis concedes defeat to Google - theage.com.au: "From the first quarter of next year, all of Yellow's business listings - the most comprehensive directory in Australia - will be stored in Google Maps. As well, Google's search engine will power the search feature and text advertising on Sensis.com.au.
The move is being viewed as an admission by Sensis that its own WhereIs online mapping site and Sensis search engine cannot compete with Google Maps and Google search."
Sunday, November 02, 2008
Writing for Conversions
Official Google Website Optimizer Blog: Writing for Conversions
To increase the odds of a favorable outcome you need to consider the following areas of your writing:
* Tone
* Format
Saturday, November 01, 2008
URI, XML, HTTP, REST, and the Azure Services Platform � Jon Udell
URI, XML, HTTP, REST, and the Azure Services Platform � Jon Udell: "Note also that you don’t have to use any Microsoft technologies to work with these Azure services. The demo program used LINQ, WCF, and — for the Live Mesh stuff — a wrapper library that packages the API for use by .NET software. But any technology for shredding XML and communicating over HTTP will work just fine."
Knuth: Financial Fiasco
Knuth: Recent News: "due to an unfixable security flaw in the way funds are now transferred electronically, worldwide, it is no longer safe to write personal checks"


