App Engine Java Overview - Google App Engine - Google Code: "Welcome to Google App Engine for Java! With App Engine, you can build web applications using standard Java technologies and run them on Google's scalable infrastructure. The Java environment provides a Java 6 JVM, a Java Servlets interface, and support for standard interfaces to the App Engine scalable datastore and services, such as JDO, JPA, JavaMail, and JCache."
Thursday, April 09, 2009
Thursday, April 02, 2009
Wednesday, April 01, 2009
Bloggers – Apture.com
Bloggers – Apture.com: "Add Multimedia to Your Website With One Click
Integrate text, images, video, maps, music and more from 20 sources. Keep visitors on your site, instead of sending them away. Embed media with a single click — no more urls or codes."
Sunday, March 29, 2009
Working with the new Linux file system - ext4
Delayed allocation and the zero-length file problem | Thoughts by Ted: "ext3 performs very poorly if applications use fsync a lot; the ordering constraints can mean that if you fsync one file, then large numbers of other files may need to be committed to disk as well." - see first comment
The trick to getting optimum performance seems to be using fsync or fdatasync. We need to implement that, but not before the transition to ext4, otherwise there may be performance penalties.
This article and others on Ted's blog explain the issues well. He is a key architect of these filing systems.
Friday, March 20, 2009
HowTo: EC2 for Poets
HowTo: EC2 for Poets: "EC2 for Poets�
I've been calling this doc, while I was writing it, 'EC2 for Poets.'
The goal is to make cloud computing less mysterious by helping people through the process of setting up a server on Amazon EC2. The title derives from a class that was offered at the University of Wisconsin, when I was a grad student there, called Computer Science for Poets.
I loved the idea then, and still do. Engineers sometimes mystify what they do, as a form of job security. I prefer to make light of it, so more people will be tempted to give it a try. It was easy for me, why shouldn't it be easy for everyone? :-)"
Thursday, March 19, 2009
ongoing � The Sun Cloud
And it’s got an API."
Friday, March 13, 2009
appscale -
Google Code: "AppScale is an open-source implementation of the Google AppEngine (GAE) cloud computing interface. AppScale enables execution of GAE applications on virtualized cluster systems. In particular, AppScale enables users to execute GAE applications using their own clusters with greater scalability and reliability than the GAE SDK provides. Moreover, AppScale executes automatically and transparently over cloud infrastructures such as the Amazon Web Services (AWS) Elastic Compute Cloud (EC2) and Eucalyptus, the open-source implementation of the AWS interfaces"
Monday, March 09, 2009
Above the Clouds
Above the Clouds: This Berkeley whitepaper has more depth than previously written on cloud computing and has valuable insights.
Friday, February 20, 2009
Website danger as hacker breaks SSL encryption
"Independent hacker Moxie Marlinspike has unveiled new techniques to defeat SSL encryption, which would leave common web applications such as online banking or secure website logins vulnerable to attack." - ITPRO
Thursday, February 19, 2009
YUI Theater — John Resig: “The DOM Is a Mess” � Yahoo! User Interface Blog
John Resig: “The DOM Is a Mess”
Palm.com : Palm Developer Network - Palm webOS from O'Reilly Media
Palm.com : Palm Developer Network - Palm webOS from O'Reilly Media: "The webOS application model combines the ease of development and maintenance of a web application with the deep integration available to native applications, significantly advancing the mobile user experience, while keeping application development simple."
Tuesday, February 17, 2009
Scott Adams Blog: the creator of Dilbert, Wally, Catbert, the Pointy Haired Boss and all your favorite cubicle companions.
Scott Adams Blog: the creator of Dilbert, Wally, Catbert, the Pointy Haired Boss and all your favorite cubicle companions.: "I have a twofold test for whether something can obtain instant popularity and thus have time to achieve quality:
1. You must be able to describe it in a few words.
2. When people hear about it, they ask questions."
Saturday, February 14, 2009
10 Harsh Truths About Corporate Websites | How-To | Smashing Magazine
10 Harsh Truths About Corporate Websites | How-To | Smashing Magazine: "Get rid of half the words on each page, then get rid of half of what’s left."
Monday, February 09, 2009
InfoQ: CouchDB and Me
InfoQ: CouchDB and Me: "Damien Katz explains what drove him to create CouchDB, why he chose Erlang and more."
Friday, February 06, 2009
Recreating the button | stopdesign
Recreating the button | stopdesign: "Until some future version of HTML gives us new native controls to use in a browser, at Google, we’ve been playing and experimenting with controls we call “custom buttons” in our apps (among other custom controls). These buttons just launched in Gmail yesterday, and they’ve been in Google Reader for two months now. The buttons are designed to look very similar to basic HTML input buttons. But they can handle multiple interactions with one basic design. The buttons we’re using are imageless, and they’re created entirely using HTML and CSS, plus some JavaScript to manage the behavior. They’re also easily skinnable with a few lines of CSS, which was a key factor now that Gmail has themes."
Saturday, January 31, 2009
Paul Buchheit: Communicating with code
Paul Buchheit: Communicating with code
I can't.
Maybe that's why I'm skeptical of ideas that are sold via brilliant speeches and slick powerpoints. Or maybe it's because it's too easy to overlook the messy details, or to get caught up in details that seem very important, but aren't. I also get very bored by endless debate.
We did a lot of things wrong during the 2.5 years of pre-launch Gmail development, but one thing we did very right was to always have live code. The first version of Gmail was literally written in a day. It wasn't very impressive -- all I did was take the Google Groups (Usenet search) code (my previous project) and stuff my email into it -- but it was live and people could use it (to search my mail...). From that day until launch, every new feature went live immediately, and most new ideas were implemented as soon as possible. This resulted in a lot of churn -- we re-wrote the frontend about six times and the backend three times by launch -- but it meant that we had direct experience with all of the features. A lot of features seemed like great ideas, until we tried them. Other things seemed like they would be big problems or very confusing, but once they were in we forgot all about the theoretical problems.
The great thing about this process was that I didn't need to sell anyone on my ideas. I would just write the code, release the feature, and watch the response. Usually, everyone (including me) would end up hating whatever it was (especially my ideas), but we always learned something from the experience, and we were able to quickly move on to other ideas.
Friday, January 30, 2009
Google Bails On Print Ads (And Newspapers)
Google Bails On Print Ads (And Newspapers): "While we hoped that Print Ads would create a new revenue stream for newspapers and produce more relevant advertising for consumers, the product has not created the impact that we — or our partners — wanted. As a result, we will stop offering Print Ads on February 28. For advertisers who have campaigns already booked, we will place their ads through March 31."
The lie of print advertising (followed by good news) � BuzzMachine
The lie of print advertising (followed by good news) � BuzzMachine: "That myth is essentially that every reader of a publication - not just buyer but alleged reader - is exposed to every ad. So every advertiser is charged for every reader of every ad. Great while it lasted, eh?"
Official Google Data APIs Blog: Bringing OpenID and OAuth Together
Official Google Data APIs Blog: Bringing OpenID and OAuth Together
VSDB
VSDB: "VSDB is an experimental database based on atomic updates of constant databases. Unlike other lightweight databases, VSDB supports full transactional semantics when reading and writing to the database. A VSDB database consists of several hash tables (with plans for other data structures). Transaction conflicts are detected and rolled back and the system maintains full ACID semantics. VSDB may be used across distributed filesystems such as NFS without problems."
Monday, January 26, 2009
Finding The Memristor
IEEE Spectrum: How We Found the Missing Memristor: "Memristor is a contraction of “memory resistor,” because that is exactly its function: to remember its history. A memristor is a two-terminal device whose resistance depends on the magnitude and polarity of the voltage applied to it and the length of time that voltage has been applied. When you turn off the voltage, the memristor remembers its most recent resistance until the next time you turn it on, whether that happens a day later or a year later."
Thursday, January 22, 2009
High on Evernote: Cloud Storage for Consumers
High on Evernote: Cloud Storage for Consumers
What is so great about Evernote?
Evernote covers all the bases of Cloud storage:
- It doesn’t care what kind of data you put in it, it supports any file type as well as raw text.
- It is storage online and an automatic backup of local files.
- It is available online and offline.
- It allows you to edit your from “within” the application (even files, when opened from the interface).
- It is a bookmarking system that allows you to organize all your data with tags and retrieve it via search or browsing.
- It keeps a full copy of any data you find interesting on the web that you can capture through a bookmarklet.
- It allows you to structure your data in a free form way, and keep meta data about the data with the data.
- It allows you to share your data with others, either in bulk (through public notebooks) or in batches (exporting notes).
- It is accessible from clients on platforms that people interact with almost constantly which makes it available to gather your created data from wherever you are and whatever format the data is in.
- It is extendable through it’s developer API so that third-party clients can be written against it to manipulate your data from even more platforms and combine it with other services that you already use to collect, create or modify data (with the ability to auto sync with those services).
This is the promise of the Cloud - being able to access and store any data you have from wherever you are whenever you want.
Tuesday, January 20, 2009
Anti-RDBMS: A list of distributed key-value stores | Richard Jones, Esq.
Anti-RDBMS: A list of distributed key-value stores | Richard Jones, Esq.: Perhaps you’re considering using a dedicated key-value or document store instead of a traditional relational database. Reasons for this might include: Whatever your reasons, there are a lot of options to chose from.
Monday, January 19, 2009
Coding Horror: Dictionary Attacks 101
Coding Horror: Dictionary Attacks 101: "Limiting the number of login attempts per user is security 101. If you don't do this, you're practically setting out a welcome mat for anyone to launch a dictionary attack on your site, an attack that gets statistically more effective every day the more users you attract."
12 Useful Web Tools for Designers - Six Revisions
12 Useful Web Tools for Designers - Six Revisions: "When it comes to design, there’s a plethora of free web-based tools to help you accomplish tasks such as color palette selection, creating unique fonts, editing images, and testing typography.
In this article, you’ll find a bunch of handy online utilities for designers."
Friday, January 09, 2009
about:cmlenz - CouchDB "Joins"
about:cmlenz - CouchDB "Joins": "Despite all that activity (and past experience with the conceptually similar Lotus Notes), the correct approach to designing applications “the CouchDB way” isn't always obvious to me at this point. Just today, there was a discussion on IRC how you'd go about modeling a simple blogging system with “post” and “comment” entities, where any blog post might have N comments. If you'd be using an SQL database, you'd obviously have two tables with foreign keys and you'd be using joins. (At least until you needed to add some denormalization.)
But what would the “obvious” approach in CouchDB look like?"
Thursday, January 08, 2009
8 Definitive Web Font Stacks [Design Tips & Tricks]
8 Definitive Web Font Stacks [Design Tips & Tricks]
font-family CSS property—to list as many different fonts as possible in order to optimize the web site experience for a maximum number of users....
As noted above, the general ordering is: the less widespread Windows fonts, then Mac fonts, then Linux varieties, then universal fonts, and finally, the generic family name.Leak Free Javascript Closures
Leak Free Javascript Closures: "Javascript closures can be a powerful programming technique. Unfortunately in Internet Explorer they are a common source of memory leaks. Therefore I propose a method to create closures that don't leak memory."
Thursday, January 01, 2009
ClientCookie
HTTP-EQUIV and Refresh handling, automatic adding of the Referer [sic] header, automatic observance ofrobots.txt and lazily-seek()able responses.