Veronika and Sebastian's rental apartment, with its amazing book-lined staircase.
Google Public DNS is a recursive DNS resolver, similar to other publicly available services. We think it provides many benefits, including improved security, fast performance, and more valid results.
Closure tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include a JavaScript optimizer, a JavaScript library and an easy templating system for Java and JavaScript.
Many of us have forgotten what it's like to be fully present in our bodies while eating, to eat when we are truly hungry, and to nourish ourselves with what we need when we need it. We have been bombarded with do's and don'ts leaving our inner voice behin
Nginx is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Written by Igor Sysoev in 2005, Nginx now hosts nearly 6% (13M) of all domains worldwide.
Nginx is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.
Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but most importantly, predictable amounts of memory under load.
Even if you don't expect to handle thousands of simultaneous requests, you can still benefit from Nginx's high-performance and small memory footprint. Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers.
SyntaxHighlighter is a fully functional self-contained code syntax highlighter developed in JavaScript. To get an idea of what SyntaxHighlighter is capable of, have a look at the demo page.
The project was started in 2004 and since then has gained a lot of acceptance. Version 2.0 is the new page in history of the project representing a near complete rewrite, clean up, optimization, standard compliance and new features.
Sketches allows you to create and edit Ruby code from the comfort of your editor, while having it safely reloaded in IRB whenever changes to the code are saved.
Features
* Spawn an editor of your choosing from IRB.
* Automatically reload your code when it changes.
* Use a custom editor command.
* Use a custom temp directory to store sketches in.
LangID is the quickest way to retrieve informations about a language you don't know.
Most of the free translations services available online ask you to select the language you want to translate a text from. This means that if you don't know what language it is you can not translate it in your language
Using LangID you can understand in which language a text was written and then use an external service to translate it. We provide the current English name of the language, the ISO code and an icon rapresenting the flag of one of the countries this language is spoken in
You can query our service directly writing the text, uploading a file, sending a mail o tweeting us @langidbot. We will soon provide even identification via link.
We provide easy to use API access, even if google offers the same service, probably with faster file access :) .
LangID uses Google Ajax API to identify the languages. Currently we support 85 languages
Background images make pages look good, but also make them slower. Each background image is an extra HTTP request. There's a fix: combine background images into a CSS sprite. But creating sprites is hard, requiring arcane knowledge and lots of trial and error. SpriteMe removes the hassles with the click of a button.
This modern log cabin from architecture students at Auburn University was designed to be completed for $20,000—an admirable solution for the down-at-heel looking to put down roots.
There’s something about the California wine country that brings out the faux Italianate in architecture. Ornate villas sprawl across the landscape, greeting passersby with cornices, columns, and terra cotta. Embossed motifs of grapes and twisted vines are everywhere, from deli napkins to bedspreads at Best Westerns. “Even the planning codes push you toward earth tones,” architect Henry Siegel, of Bay Area firm Siegel & Strain Architects, explains. “The whole Tuscan color scheme of yellow and russet has gone all the way down to the low-rent shopping centers.”
The Git Community Book has been built by dozens of people in the Git community, and is meant to help you learn how to use Git as quickly and easily as possible.
If you see anything out of date, have a suggestion on how to improve it, or would like to help add to the book, please see the How to Contribute page.
Get started with Rails on Google App Engine in 11 steps
Matrix 2 showcases some of the freshest travel search ideas from ITA Software.
* Geo Search - search by airport code, city, or destination
* Event Finder - plan your trip with a listing of events for select cities
* Interactive Calendar - explore date ranges and find the lowest fares
* Real-time Filters - focus on flights that suit your preferences
Converticon is a simple icon utility. It can import ICO, PNG, GIF, and JPEG formats and export to high-quality PNG or ICO files. There is no software to download and it's 100% free.
Models: MD 280, MD 144, MD 120, MD 100, MD 42
Storage sheds, outdoor storage sheds, wood storage sheds, cailfornia custom sheds, and storage shed kits.
California Custom Sheds® serves Monterey - Santa Cruz - San Benito - Santa Clara Counties.
The following 'Quick Tips' summarize key concepts of international Web design. These tips are not complete guidelines, they are only a handful of concepts described at the W3C's Internationalization Activity subsite.
This page lists the tips in very terse statements that also appear on the business-card size reference cards, followed by text that provides more detail and explanations. Then we link to information on the W3C Internationalization subsite, when available, where you can read further.
TCPWatch (screen shot) is a utility written in Python that lets you monitor forwarded TCP connections or HTTP proxy connections. It displays the sessions in a window with a history of past connections. It is useful for developing and debugging protocol im
Common Tag is an open tagging format developed to make content more connected, discoverable and engaging. Unlike free-text tags, Common Tags are references to unique, well-defined concepts, complete with metadata and their own URLs. With Common Tag, site owners can more easily create topic hubs, cross-promote their content, and enrich their pages with free data, images and widgets.
feedly weaves your favorite content into a fun, magazine-like start page.
Usage: http://geoip.pidgets.com?ip=209.131.62.113&format=[json|xml]
Default format, if not specified, is xml and if no ip is provided the requesting ip will be used.
rdiff-backup backs up one directory to another, possibly over a network. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special subdirectory of that target directory, so you can still recover files lost some time ago. The idea is to combine the best features of a mirror and an incremental backup. rdiff-backup also preserves subdirectories, hard links, dev files, permissions, uid/gid ownership, modification times, extended attributes, acls, and resource forks. Also, rdiff-backup can operate in a bandwidth efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up to a remote location, and only the differences will be transmitted. Finally, rdiff-backup is easy to use and settings have sensical defaults.
This is a validator for syndicated feeds. It works with RSS 0.90, 0.91, 0.92, 0.93, 0.94, 1.0, 1.1, and 2.0. It also validates Atom feeds.
RED checks HTTP resources to see how they use HTTP, makes suggestions, and finds common protocol mistakes.
The Open Font Library hosts the cream of non-proprietary typeface designs.
Individuals share their work here and benefit from collaborative contributions.
Learn how to make fonts and become a better type designer with input from our global community.
Start using @font-face
Link in to Web Fonts! We host font files that you can directly link to from your sites.
In this selection we’re glad to present you Junction, Nadia Serif, Nilland, CartoGothic Std, Bergamo Std, Comic Serif, Birra Stout, Vegur and a couple of other high-quality free fonts.
We're done with the tired old fontstacks of yesteryear. Enough with the limitations of the web, we won't have it. It's time to raise our standards. Here, you'll find only the most well-made, free & open-source, @font-face ready fonts.
Like any revolution, we aim to make progress, and we need help. If you want to be a part of this free, open-source type movement, you should join us and contribute. If you have any questions about The League or the movement, get in touch.
The website dedicated to webfonts & @font-face embedding, listing fonts available for @font-face embedding
Convert unicode to and from UTF-8 or UTF-16. View in binary, decimal, or hexidecimal form.
Intype is a powerful and intuitive code editor for Windows with lightning fast response. It is easily extensible and customizable, thanks in part to its support for scripting and native plug-ins. It makes development in any programming or scripting language quick and easy.
There are as many methods of creating rounded corners and drop-shadows as there are engineers who've banged their collective heads against the issue. In this presentation I'll provide you my markup-lite, non-javascript, mostly semantic methods for adding some fit & finish to your pages
Sierra Club Green Home is dedicated to helping you create a more sustainable home environment. Browse our site to learn more about all the things you can do. Your health, your wallet and the earth will thank you.
Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.
PHPUnit is a member of the xUnit family of testing frameworks and provides both a framework that makes the writing of tests easy as well as the functionality to easily run the tests and analyze their results.
phpDocumentor, sometimes referred to as phpdoc or phpdocu, is the current standard auto-documentation tool for the php language. Similar to Javadoc, and written in php, phpDocumentor can be used from the command line or a web interface to create professional documentation from php source code. phpDocumentor has support for linking between documentation, incorporating user level documents like tutorials and creation of highlighted source code with cross referencing to php general documentation.
phpDocumentor uses an extensive templating system to change your source code comments into human readable, and hence useful, formats. This system allows the creation of easy to read documentation in 15 different pre-designed HTML versions, PDF format, Windows Helpfile CHM format, and in Docbook XML.
Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks.
Bleeding-edge Rack is available via Git: git clone git://github.com/rack/rack.git
Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.
It can help you in three ways:
1. It can generate an on-line documentation browser in HTML and/or an off-line reference manual from a set of documented source files. Supported formats include RTF, PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. Documentation is extracted directly from source code, making it much easier to keep documentation consistent with code.
2. You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. You can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.
3. You can even `abuse' doxygen for creating normal documentation.
PHing Is Not GNU make; it's a project build system based on Apache Ant. You can do anything with it that you could do with a traditional build system like GNU make, and its use of simple XML build files and extensible PHP "task" classes make it an easy-to-use and highly flexible build framework. Features include file transformations (e.g. token replacement, XSLT transformation, Smarty template transformations), file system operations, interactive build support, SQL execution, CVS operations, tools for creating PEAR packages, and much more.
Puppet is a declarative language for expressing system configuration, a client and server for distributing it, and a library for realizing the configuration.
Rather than approaching server management by automating current techniques, Puppet reframes the problem by providing a language to express the relationships between servers, the services they provide, and the primitive objects that compose those services. Rather than handling the detail of how to achieve a certain configuration or provide a given service,
Puppet users can simply express their desired configuration using the abstractions they're used to handling, like service and node, and Puppet is responsible for either achieving the configuration or providing the user enough information to fix any encountered problems.
No FLOAT means fewer IE bugs: Doubled Float-Margin bug, Three Pixel Text-Jog bug, Etc.
No FLOAT means there is no need to use a script or a "faux-column" technique to paint backgrounds and/or borders:
We do not rely on background images to draw backgrounds and borders and we do not rely on a script or CSS expressions either. These borders or backgrounds are painted from top to bottom regardless of columns' content.
This document describes the TrackBack protocol -- a framework for peer-to-peer communication and notification between web sites. The central artifact of the TrackBack protocol is an HTTP request called a "Ping" that is used to essentially communicate that
We have needed a tool shed at Luminhaus for a long time, but we weren’t sure how to design it.
Somehow we came up with this idea that a building could also be a lantern.
Herein you will find each of the parts of the title as a single PDF, as well as in slice and dice forms. Slice consists of pieces roughly 50-150 pages each, suitable for streaming on sites like scribd or for easy downloads in browsers as pdf files. Dice consists of 1 file per page.
A large number of other public safety codes, as well as administrative codes for California, may be found here: http://bulk.resource.org/codes.gov/
A Codification of the General Ordinances of the City of Santa Cruz, California
ack is a tool like grep, aimed at programmers with large trees of heterogeneous source code.
ack is written purely in Perl, and takes advantage of the power of Perl's regular expressions.
# It's blazingly fast because it only searches the stuff you want searched.
# ack is pure Perl, so it runs on Windows just fine.
# Searches recursively through directories by default, while ignoring .svn, CVS and other VCS directories.
# ack ignores most of the crap you don't want to search
# Ignoring .svn directories means that ack is faster than grep for searching through trees.
# Lets you specify file types to search, as in --perl or --nohtml.
# File-filtering capabilities usable without searching with ack -f. This lets you create lists of files of a given type.
# Color highlighting of search results.
# Uses real Perl regular expressions, not a GNU subset.
# Allows you to specify output using Perl's special variables.
# Many command-line switches are the same as in GNU grep.
The Xdebug extension helps you debugging your script by providing a lot of valuable debug information. The debug information that Xdebug can provide includes the following:
* stack traces and function traces in error messages with:
o full parameter display for user defined functions
o function name, file name and line indications
o support for member functions
* memory allocation
* protection for infinite recursions
Xdebug also provides:
* profiling information for PHP scripts
* code coverage analysis
* capabilities to debug your scripts interactively with a debug client
Tarpipe is a platform that communicates with numerous services. Because of that, you'll need to give us your credentials on the services you're using.
You can create tarpipe worfklows that will be executed whenever you trigger a specific event, like a received email message or a call to our API. To do that, you open the workflows tab where you can create, edit and manipulate your workflows.
After everything is set up you can start using your own workflows. Because every action is logged on our system, you can see your latest activity by opening the activity tab. Activity is grouped by workflow so that you can know the context behind all triggered actions.
Capistrano is a tool for automating tasks on one or more remote servers. It executes commands in parallel on all targeted machines, and provides a mechanism for rolling back changes across multiple machines. It is ideal for anyone doing any kind of system administration, either professionally or incidentally.
A wall of design ideas, web trends, and tutorials.
The site effectivly uses a background images to set the tone of the site.
Convert unicode to and from UTF-8 or UTF-16. View in binary, decimal, or hexidecimal form.
A Better Way to Monitor
God is an easy to configure, easy to extend monitoring framework written in Ruby.
Keeping your server processes and tasks running should be a simple part of your deployment process. God aims to be the simplest, most powerful monitoring application available.
God currently only works on Linux (kernel 2.6.15+), BSD, and Darwin systems. No support for Windows is planned. Event based conditions on Linux systems require the cn (connector) kernel module loaded or compiled in to the kernel and god must be run as root.
PageTest allows you to provide the URL of a webpage to be tested. The test will be conducted from the location specified and you will be provided a waterfall of your page load performance as well as a comparison against an optimization checklist.
This tool lets you test web pages that are directly accessible as an URL from the Internet. If you need to test a page inside of a firewall or something more complicated than a web page (an authenticated product like webmail for example) please download the desktop version of PageTest which this is based on.
monit is a utility for managing and monitoring, processes, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations.
What monit can do
Monit can start a process if it does not run, restart a process if it does not respond and stop a process if it uses too much resources. You can use monit to monitor files, directories and filesystems for changes, such as timestamp changes, checksum changes or size changes. You can also monitor remote hosts; monit can ping a remote host and can check TCP/IP port connections and server protocols. Monit is controlled via an easy to use control file based on a free-format, token-oriented syntax. Monit logs to syslog or to its own log file and notifies you about error conditions and recovery status via customizable alert.
Smarty is a "Template/Presentation Framework." That is, it provides the programmer and template designer with a wealth of tools to automate tasks commonly dealt with at the presentation layer of an application.
Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process.
Split into two services, a desktop client program and a web server application, Woopra radically decreases the load on network resources, and harnesses the power of desktop processing to display graphic charts, graphics, and analysis. Woopra Plugins, which integrate Woopra’s web analytics into website and blog databases and templates, generates even more information for the webmaster or blogger about their site’s traffic and usage.
Background, General user reactions to OpenID, Findings & recommendations.
Key takeaways:
Users are focused on tasks, not technology; undiscoverable or
confusing experiences directly impact the success and brand of
both OPs and RPs
In seeking to solve longstanding pain points, OpenID introduces
unique new challenges
OpenID should behave consistently as a master key or keyless
remote. OPs and RPs must proactively protect users and be clear
throughout the process about what doors are unlocked.
A gravatar, or globally recognized avatar, is quite simply an avatar image that follows you from weblog to weblog appearing beside your name when you comment on gravatar enabled sites. Avatars help identify your posts on web forums, so why not on weblogs?
Garden shed featured in Sunset Magazine. Plans available for $495.
REC Solar installs more solar power systems than any solar provider in the USA!
Our national and local teams of skilled solar professionals consistently deliver the highest levels of customer satisfaction in the solar industry. We are committed to making solar power available in every region, state and community in the USA with an active solar market.
Image optimization is an art that not many people master. There are many good image editing tools that allow us to get the best visual result for a certain file size but "under the hood" a lot more optimization can be done.
Smushit.com is a service that goes beyond the limitations of Photoshop, Fireworks & Co. It uses image format specific non-lossy image optimization tools to squeeze the last bytes out of your images - without changing their look or visual quality. You'll get a report of how many bytes you can save by optimizing your images and all the changed images as a single zip for download.
Smush it comes in different flavours:
* You can upload a bunch of pictures in your browser
* You can provide us with a list of image urls or
* You can get a Firefox Extension to optimize the images found on any web page
Saving bytes has never been so easy - you point us in the right direction, and we'll do the rest for you. A ZIP archive with optimized images will be generated for you.
Integrating capabilities testing into our development process allows us to take full advantage of state-of-the-art features without ruining the experience for the users of less capable browsers and devices.
Balsamiq Mockups intentionally uses hand-drawn UI elements, so that people don't get attached to “that pretty color gradient” or think that your mockup has actual code behind it and is “practically done”.
Mockups feels like you are drawing, but it's digital, so you can tweak and rearrange controls easily, and the end result is much cleaner. Teams can come up with a design and iterate over it in real-time in the course of a meeting.
With more than 60 pre-built controls to choose from, you can design anything from a super-simple dialog box to a full-fledged application, from a simple website to a Rich Internet Application.
Browsershots makes screenshots of your web design in different browsers. It is a free open-source online service created by Johann C. Rocholl. When you submit your web address, it will be added to the job queue. A number of distributed computers will open your website in their browser. Then they will make screenshots and upload them to the central server here.
Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to:
* Help build a safer, faster, and more stable way for all Internet users to experience the web
* Create a powerful platform for developing a new generation of web applications
Three basic techniques for incorporating some simple data visualization into standards-based navigation patterns. All of them start with the building block of HTML navigation: an unordered list of links.
Since we don’t have the pure data semantics of a table to rely on, we’ll use semantic class names in the tradition of microformats to preserve as much of the data’s structure in our markup as possible. And since we’re using HTML and CSS, we can use em-based measurements throughout to make sure the charts adapt as the user scales the text size.
Hover animations that respond to a user's behavior in ways standards-based sites never could before. A revisit of the CSS Sprites technique from four years ago, interjected with a little bit of movement.
The following tests examine whether a user agent is able to detect a UTF-8 document served as US-ASCII and correctly display the text.
Even if a page is served as us-ascii, some browsers may recognize that the file is actually in a UTF-8 encoding and override the declared encoding.
The Planning Department is responsible for developing, implementing and enforcing County land use policies, ordinances and regulations; administering environmental protection programs; processing and issuing building, zoning, and other development permits; and carrying out long-range community development programs. The department provides support to the Planning Commission, Housing Advisory Commission, Historic Resources Commission, and Agricultural Policy Advisory Commission.
Angie's List is where you'll find thousands of unbiased reports and reviews about service companies in your area. Our members share their experiences with each other so that you can choose the service company that's right for your job the first time around. Fee based membership for customers.
Network of contractors who have paid to join. Contractors are screened by servicemagic.com. Customers rate them.
CodeMirror is a JavaScript program that can be used to create a relatively pleasant editor interface for code-like content -- computer programs, HTML markup, and similar. If a parser has been written for the language you are editing (we currently have JavaScript, XML, CSS, and SPARQL covered), the code will be prettily coloured, and indentation will be taken care of for you, meaning the cursor will be placed at the right position when you press enter, and it is possible to re-indent blocks of code automatically.
OpenSocial defines a common API for social applications across multiple websites. Built from standard JavaScript and HTML, developers can create apps with OpenSocial that access a social network's friends and update feeds. By using a common API, developers can extend the reach of their applications more quickly, yielding more functionality for users.
Draw Solar Array
* Calculate your roof's solar potential
* Check that dream house before you buy
Shed Some Light
* Add your RoofRay to the community
* See other RoofRays in your neighborhood
Cost Analysis
* Compare various array sizes
* Input your usage and get real-time costs & ROI
RPM is a Ruby on Rails Performance Management solution that enables developers to quickly and cost effectively detect, diagnose, and fix application performance problems in real time
SolidLock, Fixed Knot wire fence rolls sold by Kencove. Prices FOB.
Fixed knot design combined with high tensile wire makes Solidlock® the strongest woven wire fence you can buy. This design locks the line wire and stay wire together, giving you the strength you need.
See your Flickr photosets in a great-looking, fullscreen display.
Deeplink to the exact sets or photos you want.
Downloadable to run on your own site or blog.
Customizable interface and color palette.
Lightning fast - Blow Up is under 50 kilobytes.
75 entries from across the country.
Phusion Passenger - a.k.a. mod_rails or mod_rack - makes deployment of Ruby web applications a breeze. Deployment is only a matter of uploading application files. Built on the Apache web server. Allows Ruby on Rails to use about 33% less memory
OAuth is a simple way to publish and interact with protected data. It's also a safer and more secure way for people to give you access. Use OAuth to give your users access to their data while protecting their account credentials.
A newly formed company made up entirely of former employees of the Malden Mills Retail Store. We work directly with Polartec LLC in Lawrence, and offer you the full family of Polartec® fabrics.
Clear-cut seo recommendations, practical guidelines
Here are some things I’ve discovered while creating website mockups in Photoshop. They’re not gospel, just things that you may find helpful.
Preamble
Tweet is a plugin for Yahoo! Search. Such plugins are called SearchMonkeys in honor of Greasemonkey for FireFox browser. Like Greasemonkey, SearchMonkey allows developers to enhance the experience, the search experience in this case. SearchMonkeys can enhance presentation with images and additional links or by combining Yahoo!'s Search index with other structured data.
Yahoo! Search users can add SearchMonkey applications to their profile on an opt-in basis. Add Tweet to yours if you like to get much improved search results for Twitter user profiles.
Current Twitter search results
While Twitter user profiles are being indexed by all major Search engines, their summary is extremely poor. Google and Yahoo's results are nearly identical. Yahoo!'s summary of my profile (below) doesn't even include my full name (Bart Teeuwisse), which is on the page.
SearchMonkey to the rescue1
Luckily with SearchMonkey you can replace standard summaries with enhanced summaries. To improve Yahoo!'s Twitter user profile search results I wrote a SearchMonkey application called tweet that is triggered for all URLs matching *.twitter.com/*. Tweet calls Twitter's API to fetch user profile information not in the Yahoo! Search index. The result is a rich overview of a Twitter user, including last message (aka. tweet).
Tweet's challenges
Sounds simple doesn't it? Contact Twitter's API, get profile, present profile. The SearchMonkey's architecture splits this into 2 monkeys:
- A data monkey to contact Twitter's API to get the profile, and
- A presentation monkey (Tweet) to present said profile.
Well, not quite.
Speed, speed, speed
It turns out that execution speed of a SearchMonkey is key. To make the SearchMonkey Gallery a presentation monkey such as Tweet has to complete within a fraction of a second. Any call to fetch 3rd party takes too long to satisfy this requirement. Certainly calling Twitter's API whose fluctuating response times are all over the map.
Secondly, Twitter's profile API call takes a user ID, which first has to be extracted from Yahoo!'s indexed data. An additional data SearchMonkey can do that and whose output is the input to Tweet's profile feching data monkey. However, this chaining of data monkeys makes Tweet only slower.
Thirdly -as I mentioned earlier- Twitter's API has wildly varying response times. And is by no means predictable enough to guarantee a prompt response. Furthermore Twitter is having scaling issues already. Adding a SearchMonkey that calls Twitter's API for up to 10 search results for each query could make things should Tweet gain many opt-in users.
Perhaps caching can help? The SearchMonkey platform does has some caching. Unfortunately SearchMonkey developers have no control over SearchMonkey's cache. Emperical data suggests that SearchMonkeys are cached for only a few minutes. Tweet could be cached much longer without sacrificing functionality.
SearchMonkey + AppEngine = Fast Data Monkey
To mitigate these challenges I decided to use a proxy of my own in between SearchMonkey & Twitter.
- A proxy that could scale, should Tweet become popular.
- A proxy where I could control my own cache.
- And a proxy that eliminates the need for an additional data Monkey to extract the Twitter user ID from the search result.
- And lastly a proxy that returns DataRSS to minimize (XSLT) transformations in SearchMonkey.
Why not Yahoo! Pipes?
I first turned to Yahoo! Pipes, but Pipes doesn't give me caching control and the only XML output format is RSS not DataRSS. So I turned to Google's App Engine instead, which satisfies all my requirements. It offers Memcache caching, is build to scale, allows me to extract the Twitter user ID, make the Twitter API call and transform its response to DataRSS.
Developing for Google App Engine
Even though this is my 1st Python application worth mentioning, I didn't have too much trouble writing it. App Engine's documentation combined with Python's tutorials were sufficient to answer my questions. The biggest obstacle I encountered is the lack of good XML/XLT libraries for Python. There isn't a clear winner to begin with and App Engine's restriction to pure Python libraries eliminates all candidates, as I learned the hard way.
I really like the Googel App Engine SDK. No hassle configuring a web server or data base. No need to be online even. I developped about half the proxy while vanpooling to and from work!
How the proxy works
My proxy takes the URL of the search result as input from SearchMonkey. Given the trigger URL pattern these are all URLs to *.twitter.com. E.g. twitter.com, explore.twitter.com or m.twitter.com. The proxy first extracts the Twitter user ID, if any. In Twitter's URL schema, user IDs are the 1st part of the URLs path. E.g. bartt in twitter.com/bartt or twitter.com/bartt/friends
It then checks the Memcache for a profile for this ID. If it has one it composes the DataRSS response and exits. If it doesn't it calls Twitter's API. Succesfull API calls are parsed and stored in Memcache for -currently- 2 hours, before composing a DataRSS response. Failed calls return an empty DatRSS response.
Fast enough?
My proxy speeds up cached profiles by a factor 3x to 10x. Most of the time, that is. Despite App Engine's claim to scale, it does have performance issues from time to time. App Engine had an outage for a day while I tested my proxy for example.
Odly enough, Twitter's API holds the record of the fastest response time, yet its average is many times App Engine's average response time (for cached profiles). App Engine's response time is very stable - about 200 milliseconds round trip from a west coast data center.
This doesn't make Tweet fast enough to be included into the SearchMonkey Gallery though. Not only is the proxy not fast enough, to that you'll have to add the XSLT process and 'render' times by SearchMonkey. Still, Tweet is now eminently more usable and shields Twitter from API overload.
Tweet & FriendNet combined
Combine Tweet with FriendNet, one of my other monkeys for an even richer search result. FrienNet displays profiles and contacts embedded in the page. It combines hCard profiles with XFN links embedded on the page to present a social graph.
In collapsed mode -the default- FriendNet shows the number of profiles, cards and contacts found on the page by Yahoo! Search.
Expanded, FriendNet shows details of Twitter friends.
Create your own SearchMonkeys
Got your own ideas for improving Yahoo! Search? Start monkeying around! You find everything you need at SearchMonkey on the Yahoo Developer Network.
Check out the SearchMonkey Gallery for more monkeys you can use. Or take my Better Amazon monkey for a spin.
-
You'll need to have tweet installed to get the same result.
RSpec is a Behaviour Driven Development framework for Ruby for writing and executing examples of how an application should behave. A Story Framework for describing behaviour at application level & a Spec Framework for describing behaviour at object level.
FrienNet displays profiles and contacts embedded in the page. This infobar is presented only for pages that have hCard profiles embedded. FriendNet combines hCard profiles with XFN links embedded on the page to present a social graph.
FriendNet is a plugin for Yahoo! Search. Such plugins are called SearchMonkeys in honor of Greasemonkey for FireFox browser. Like Greasemonkey, SearchMonkey allows developers to enhance the experience, the search experience in this case. SearchMonkeys can enhance presentation with images and additional links or by combining Yahoo!'s Search index with other structured data.
Yahoo! Search users can add SearchMonkey applications to their profile on an opt-in basis. Add FriendNet to yours if you like to make your search more social aware.
FriendNet leverages microformats indexed by Yahoo! Search to make visible embedded user profiles and social connections. Numerous sites enrich the HTML markup of their pages with hCard and XFN microformats to make profile information and social connections machine readable.
Following are several examples of profiles and social connections presented by FriendNet.
We all know and love photo sharing site Flickr. But did you know that people pages are marked up with microformats?
The example below shows Yahoo!'s standard summary for my Flickr profile followed by FriendNet's display of profiles and connections found on this page: 3 profiles, 10 contacts and 1 hCard. (For brevity not all contacts are shown.)
Above the grey line is FriendNet's synopsis. If you search for Flickr profiles 1 you'll notice FriendNet's synopsis below results that contain hCard markup. Below the grey line are the expanded details for FriendNet which one gets by clicking the blue triangle in the synopsis.
The 1st profile comes from the 1 embeded hCard. The 2 other profiles come from me XFN links. The hCard only included my full name and location. If Flickr adds my buddy icon it would replace the placeholder smiley.
The 10 contacts are all XFN links marked contact. FriendNet combines XFN links and hCards by the hCard's homepage URL for a richer presentation. As Flickr didn't have any hCards marked up for my contacts, FriendNet displays just the URLs. FriendNet's Twitter example further down the page shows how combining hCards and XFN links enriches the presentation.
FriendNet also turns Yahoo! Search into a social graph walker. Click on the magnifying glass next to a profile or connection to inspect the 'social graph' of that profile or connection.
A personal blog
FriendNet works with any kind of site that has embedded hCards. Take Dougal Campbell's personal blog for example. His homepage includes links to a number of contacts which he has tagged as 'colleague', 'acquaintance', 'met', etc. to indicate his relationship with them. See what FriendNet presents for Dougal's last connaction at Yahoo! Search.
Dougal doesn't have a XFN me link to dougal.gunters.org, which is why FriendNet placed Dougal's own hCard in the contact section instead of under his profiles.
The University of Notre Dame
The University of Notre Dame 1 simply included 1 hCard with the universities contact information. Simple but effective.
Pownce
Pownce is another social messenging site. A bit like Twitter except that you can also send links, files and events. And a whole lot more confusing. As the example below shows, their use of hCards could be improved. The name and photo of my 1 contact on pownce weren't included in the hCard. If they add them FriendNet will dutifully show them. Add an XFN me link to pownce.com/bartt/ and my hCard will move from the contact list into the profile list where it belongs.
Twitter is a service for friends, family and co-workers to send quick updates on what they are doing. Twitter has been growing like a weed.
Twitter's use of hCard and XFN is pretty good. Both my Twitter profile and my contacts have been marked up with hCard and XFN. The combination of hCard and XFN data yields an enriched presentation. Contacts are listed by their full name and buddy icon. Compare this to Flickr's example where contacts are listed as URLs. The one improvement Twitter could make is including my buddy icon and location in my hCard.
Note: I'm working on another SearchMonkey called Tweet for enhanced presentation of Twitter profiles. You see Tweet's synopsis in the above example. More about Tweet in a later post.
Yahoo! Finance
Doing a blanket search for hCards on Yahoo! Search 1 I came upon some interesting use of hCards. Yahoo! Finance for example uses it to list their financial experts.
Create your own SearchMonkeys
Got your own ideas for improving Yahoo! Search? Start monkeying around! You find everything you need at SearchMonkey on the Yahoo Developer Network.
Check out the SearchMonkey Gallery for more monkeys you can use. Or take my Better Amazon monkey for a spin.
-
You'll need to have FriendNet installed.
BookMooch lets you give away books you no longer need in exchange for books you want. Every time you give someone a book, you earn a point and can get any book you want at BookMooch. Once you've read a book, you can keep it or put it back into BookMooch.
hReview is a simple, open, distributed format, suitable for embedding reviews (of products, services, businesses, events, etc.) in HTML, XHTML, Atom, RSS, and arbitrary XML. hReview is one of several microformats open standards.
This ontology attempts to model a subset of vCards in RDF using modern (circa 2005) RDF best practices. The subset selected is the same subset that the microformats community has adopted for use in hCard.
hCard is a simple, open, distributed format for representing people, companies, organizations, and places, using a 1:1 representation of vCard (RFC2426) properties and values in semantic HTML or XHTML.
This specification describes the FOAF language, defined as a dictionary of named properties and classes using W3C's RDF technology.
This guide collects links to Semantic Web toolkits for different programming languages and gives an overview about the features of each toolkit, the strength of the development effort and the toolkit's user community.
# Explore our free house plans and find the right design for your lifestyle.
# Customize your house plan with help from our experts.
# Share your experience and learn from others on the FreeGreen Blog.
This tutorial will introduce you to gadgets and OpenSocial, and will walk you through the steps required to build a simple social gadget where you can give gifts to your friends
This tutorial focuses on a simple photo-sharing app that uses a 3rd-party server to host photos and associated metadata. We implement the app in the cloud; using Google App Engine, and leveraging Amazon's S3 data storage service.
A syntax for expressing URIs in a generic, abbreviated syntax. The target audience for this document is Language designers, not the users of those Languages.
WorldCat connects you to the collections and services of more than 10,000 libraries worldwide
Your users are able to see complementary sources of information, look up physical items in WorldCat libraries, link to electronic resources such as full-text articles, and quickly access library-based information customized to their interests.
We have about 30 million records. We built the database infrastructure and the wiki interface, and you can search book records, narrow results by facet, and search the full text of 230K scanned books. Open Library is a project of the Internet Archive
Glue Pages unite your Classic Search Results with visual information from the best sites anywhere on the Web. In one click, browse through images, videos, articles, and more all on one page! You spend more time learning and less time searching.
The Library Catalog, your account, local history & more
252 allowed entities in HTML 4 and XHTML 1.0, as outlined in section 24 of the official HTML 4 specifications, published by the W3C. The entities have been divided and color coded into the following logical categories for the purpose of orgainization.
Enhance user experience with 'Send to Mobile' button that sends content you specify to any mobile via SMS.
Ad inventory that delivers 130 character adverts on user requested SMS content.
Use API to add integrated SMS funcitonality directly to your apps.
Rules found in years developing, teaching and implementing unobtrusive JavaScript.They have helped me deliver products faster, with much higher quality and easier to maintain.
Wilson Miner is a designer and web developer in San Francisco.
ShareThis for Publishers. Use ShareThis on your site for: Increased Content Distribution, Less Clutter & Free Tracking
Get users signed in as quickly and efficiently as possible. Provide a simple, consistent, provider neutral interface, and educate the user about OpenID during sign in. Make OpenID easier for the user to the benefit of relying parties and OpenID providers.
ImageMagick can read, convert and write images in a variety of formats. Translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
Autotest is a great tool to speed up test-driven development with Ruby or Ruby on Rails. It automatically runs a subset of your test suite on changes. This article will get you up and running in no time, so that you may concentrate on writing code.
Faster, Lighter, More Agile. Like Ruby on Rails, Merb is an MVC framework. Unlike Rails, Merb is ORM-agnostic, JavaScript library agnostic, and template language agnostic, preferring plugins over a monolithic library with everything in the core.
PicLens instantly transforms your browser into a full-screen, 3D experience for viewing images on the web. Photos will come to life via a cinematic presentation that goes well beyond the confines of the traditional browser window.
Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.
The Static Maps API lets you embed a Google Maps image on your webpage without requiring JavaScript. The Google Static Map service creates your map based on URL parameters sent through a standard HTTP request and returns the map as an image.
Real-time torrent comparison search engine
Google Calendar Sync allows you to sync events between Google Calendar and Microsoft Outlook Calendar. You'll be able to determine the direction of information flow, as well as the sync frequency
ruby-debug allows you to see "inside" a program as it executes. It can do 4 things to help catch bugs: Start your script, specifying its behavior. Make your script stop on specified conditions. Examine what has happened. Change things in your script.
Create a destination for the things you're talking about. Share your things with your friends, meet new people.
Graph your Twitter Stats including Tweets per hour, Tweets per month & Tweet timeline
PuTTYcyg is a patched version of PuTTY that, in addition to telnet, rlogin, ssh, and serial onnections, can also be used as a local Cygwin terminal instead of the Windows console or xterm.
rcodetools is a collection of Ruby coding tools. It includes xmpfilter and other dev. tools, plus emacs and vim interfaces. rcodetools comprises of xmpfilter, rct-complete, rct-doc, rct-meth-args, rct-fork, rct-fork-client, ruby-toggle-file & rbtest.
FastRI is an alternative to the "ri" documentation browser for Ruby. FastRI can operate in standalone mode (without using a DRb server, see below), so it can now fully replace ri for most intents and purposes.
rcov is a code coverage tool for Ruby. It is commonly used for viewing overall test coverage of target code. It features: fast execution, multiple analysis modes, differential code coverage, colorblind-friendliness and more.
connect.c is the simple relaying command to make network connection via SOCKS and https proxy. It is mainly intended to be used as proxy command of OpenSSH.
Drop.io enables you to create simple private exchange points called drops. The service has no email signup and no "accounts." Each drop is private, and only as accessible as you choose to deliberately make it. Access drops via web, email, phone or widget.
Piston is a utility that eases vendor branch management. This is similar to svn:externals, except you have a local copy of the files, which you can modify at will.
DRb allows an object in one Ruby process to invoke methods in another Ruby process on the same or a different machine. The Ruby standard library contains DRb core classes. The full package adds ACLs, distributed task management system and samples.
BackgrounDRb is a Ruby job server and scheduler. It is to be used with Ruby on Rails for offloading long-running tasks. Since Rails blocks while serving a request it is best to move long-running tasks off into a process that is divorced from the request.
Ruby on Rails platform build on top of Amazon's Elastic Computing Cloud (EC2) with in browser editing.
It has long been common practise to use recurring solutions to solve common problems. Such solutions are also called design patterns. Collections of software design patterns are standard reference points for the experienced user interface designer.
The mission of the Santa Cruz County Resource Conservation District is to help people protect, conserve, and restore natural resources through information, education, and technical assistance programs.
You already enjoy a bunch of great services with your Yahoo! account. With OpenID, your Yahoo! account now lets you go beyond Yahoo!. Plus, the free Yahoo! Sign-In Seal will help protect you from password theft, also known as phishing.
This portion of moby.com, 'film music', is for independent and non-profit filmmakers, film students, and anyone in need of free music for their independent, non-profit film, video, or short.
These Photoshop brushes, patterns, and tutorials are all for usage in Photoshop 7+. They are free.
We're Textile Outfitters - the best darned place to get EVERYTHING you need to MAKE your own high-quality outdoor activewear. And we mean EVERYTHING - from patterns to fabrics to accessories to notions to hardware to linings to great information.
IronPython is a .NET Python implementation. It supports an interactive console with dynamic compilation. It is well integrated with the .NET Framework and makes .NET libraries easily available to Python, while maintaining full compatibility with Python.
The Google Chart API returns a PNG-format image in response to a URL. Several types of image can be generated: line, bar, and pie charts for example. For each image type you can specify attributes such as size, colors, and labels.
Nicely organized collection of links to ajax, blog, flash, fonts and many more topics.
Ferret is a high-performance, full-featured text search engine library written for Ruby. It is inspired by Apache Lucene Java project.
The well-known PDFlib software suite is a library which allows programmers to generate and manipulate PDF files and integrate this ability into any application or server environment.
Manage tasks quickly and easily. Get reminded, anywhere. Organize the way you want to.
Organize the way you want to. Work together to get things done. Add tasks wherever you are.
Today I'm publishing 3 Ruby on Rails plugins:
- Crumblr, a Ruby on Rails plugin to protect against Cross-Site Request Forgery.
- ImageBundle, a Ruby on Rails plugin to automatically bundle local images into CSS sprites.
- StringExt, a Ruby on Rails plugin that adds class method rand to class String.
I won't go into details here, their documentation speaks for itself.
All plugins are listed on Agile Web Development's Ruby on Rails plugin directory: Crumblr, ImageBundle & StringExt.
If you haven't already, install rapt, a script/plugin replacement. Rapt taps directly into Agile Web Development's plugin directory. Now you can search the plugin directory instead of having to hunt for plugin sources.
Let me know what you think about these plugins.
Who else wants better hosting? Oversold capacity. Slow performance. Restricted access. Misconfigured software. Who wants better hosting? You do. Quad processor machines, RAID1 drives, Tier-1 bandwidth and root access. Managed with a customized Xen VPS.
In this article we’d like to present an overview of over 40 excellent free fonts you might use for your professional designs in 2008.
Firebug is an extension for Firefox, but what happens when you need to test your pages in Internet Explorer, Opera, and Safari? The solution is Firebug Lite, a JavaScript file you can insert into your pages to simulate the Firebug console in all browsers.
The Javascript Bubbling Library is a set of plugins, behaviors and widgets, for building event-driven web applications using the bubble-up technique. The Bubbling Library can be used to extend the YUI Library.
Blueprint is a CSS framework, which aims to cut down on your CSS development time. It gives you a solid CSS foundation to build your project on top of, with an easy-to-use grid, sensible typography, and even a stylesheet for printing.
The best way to do rounded corners, drop shadows, translucent backgrounds, and other tasty browser candy. Here are techniques from three of Yahoo!'s finest front-end engineers, Scott Schiller, Leslie Sommer, and Hedger Wang.
Global variables are evil. Everthing in YUI makes use of members within the YAHOO object or variables scoped to members. Douglas Crockford teaches a singleton pattern for this discipline called the "module pattern."
What can you do if you can’t use eval()?
How do I get round using certain characters/words?
How do you call anonymous functions?
How can you create a string?
I really need this character but it’s not allowed, how do I get it?
etc...
My UIUC Yahoo Hack Day entry. Influenced by YUI Grid Builder, Pages emulates an advanced WYSIWYG web page builder inside the browser. Use to build the perfect layout and then customize your web page by double-clicking to edit content in the HTML Editor.
Let Elf help you manage your library loans and holds. Track your library books.
An overview of calendar scripts (Ajax, PHP, DHTML etc.), applications, tools and related services, including CSS-styling of online calendars and web-services you can use to generate a printable weekly planners and monthly and yearly calendars for free.
Casper's hand outlined on paper. He must have been about 15 months at the time.
The Levelator adjusts the audio levels within your podcast or other audio file for variations. It's not a compressor, normalizer or limiter although it contains all three. It's much more than those tools, and it's much simpler to use.
This document describes an XML format (vocabulary) for the exchange of structured locale data. This format is used in the Unicode Common Locale Data Repository.
Transparent messages are simply large and translucent messages displayed over the contents of your screen. They fade away when the user takes any action (like typing or moving the mouse). In practice, the message is both noticeable yet unobtrusive.
This form will allow you to encode your e-mail address through the use of Character Entities, transforming your ascii email address into its equivalent decimal entity.
Specifications for 4 normalized forms of Unicode text. In these forms, equiv. text (canonical or compatibility) will have ident. binary repr. When strings are in a normalized form, they can be assured that equiv. strings have a unique binary repr.
This document describes an XML format (vocabulary) for the exchange of structured locale data. This format is used in the Unicode Common Locale Data Repository.
Over 195,000 new novels are published by traditional publishers in the U.S. every year. Of those, 70% sell fewer than 500 copies. Yikes. To be in the other 30% of authors, you must seize every promotional advantage you can.
Swiss Legacy, by the initiative of Xavier Encinas, is a collaborative blog focused on typography, swiss graphic design and grid.
A tutorial guide for implementing OpenID support with a web site that already has user accounts. How to easily let new users sign up for an account using their OpenID URL and how to let existing users attach their OpenID(s) so they can sign in using them.
PHP.net style documentation for Rails
Provides a smooth transition for programmers into the world of Ruby on Rails. We focus on providing the information you need in an easily digestible format, with real-world examples and community driven comments.
Welcome to the Ruby Standard Library Documentation collection, brought to you by the ruby-doc project. Whether you are browsing online or offline, we hope that your use of Ruby's standard library will become more productive as a result of this effort.
ruby-doc.org is hosted and maintained by James Britt and Neurogami, LLC, a Ruby consulting company. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Rails is a web-application and persistence framework that includes everything needed to create database-backed web-applications according to the Model-View-Control pattern of separation.
This guide contains everything you'll need to learn how to build great IVR applications with VoiceXML: tutorials, sample code, detailed language specification & element reference, covering everything from VoiceXML best practices to advanced topics.
This document specifies VoiceXML, designed for creating audio dialogs that feature synthesized speech, digitized audio, recognition of spoken and DTMF key input, recording of spoken input, telephony, and mixed initiative conversations.
RFacebook is a Ruby interface to the Facebook API. It hides all the nitty-gritty details behind a beautiful Ruby front-end, allowing you to focus on writing great code.
There's font styles, margin, padding, color and what not. But there's a wall that people will run into... that point where a number of key elements need to come together to create a solid CSS-based layout that is consistent cross-browser.
RM-Install, powered by BitRock, is a free, multi-platform, enterprise-class Ruby on Rails stack enabling instantly developing and deploying great Rails applications without the worry of installing or maintaining the various integrated software components.
Your Google webmaster tools account provides information about your added sites, Sitemaps, their latest updates, and also allows you to add new Sitemaps for crawling by Google.
ISN provides an easy way to acquire globally-unique and globally-routable subscriber numbers for new communications services. ISNs are free, fast, and forever yours. ISN is also protocol neutral and may be used to support SIP, XMPP, H.323 and others.
Get the Flash Player to see this player.
I've started to experiment with SketchUp. SketchUp is an
amazing 3D modelling program. Using simple geometric building
blocks one can create sophisticated realistic 3D models. I'm going
to use SketchUp to design our new workshop/barn.
A few years ago Tatyana took me to see this house in the shape of
a barn that she had come across. I took some pictures of it
because we both liked the shape. SketchUp allowed me to load the
image and create a model of it. The result you see on the
left. Play the video to see the model rotate. The photo of the
barn has been draped over the model to texture it.
It turns out that the ratio of length and width of the model
exactly match the ratio we could build a barn in on the site we
have in mind.
Mart Teeuwisse, son of Joep Teeuwisse and Thera Naber, brother of Pim Teeuwisse was born Sep 2, 2007 at 7:25AM in Assen, the Netherlands.
Two weeks overdue Mart, entered our family later then anticipated but in good health. Mart weighted 4215 grams and is about 50 centimeters tall.
Congratulations Thera, Joep & Pim with your new family member. We hope to see you this fall at your home.
Hiep hiep hoera, Mart!
Interview stories from major companies.
Dutch version of AOL Video.
Dutch language version of YouTube.
Dutch language version -language selection dependent- of MySpaceTv
This is a complex area, made harder by browser oddities. This page deals with practical issues, and looks at some of the principles behind them. Since 2005 the robust approach is to use utf-8 encoded forms, expecting it to be submitted back in utf-8.
MTV's redesigned home page sports CSS only drop-down menus that are fast and SEO friendly. Redesign by Dan Cederholm.
Digital photography is fun, and would be more fun without exposure problems. They occur in situations, where light is most beautiful. Digital cameras can't cope with intensive interplay of light and shadow.
Map your SSH server as a Windows network drive with SftpDrive. Our SFTP file system network enables all your Windows applications
Oversized postcard sent out to Tatyanna Teeuwisse's clients to inform them of Tatyanna's new contact information.
Our friend Angela Wilson is opening Avedano's Holly Park meat market in SF's Bernal Heights.
The space they're located in was historically the home of a butcher shop (1901). The most recent incarnation was as Cicero’s Meat Market, renamed to Avedano’s in honor of the proprietor's Italian grandparents who emigrated from Asti.
The sign in front of the store is now a historic land mark that had to stay. The store is once again a meat market but this time with extra's: seafood, great sandwiches, fresh produce, cheeses, teas, agua frescas and more.
COLOURlovers is a resource that monitors and influences color trends. COLOURlovers gives color users a place to check out a world of color, compare color palettes, submit news and comments, and read color related articles and interviews.
This specification defines the features and syntax for the Extensible Stylesheet Language (XSL). It consists of two parts: a language for transforming XML documents (XSLT), and an XML vocabulary for specifying formatting semantics.
Codestriker is an open-sourced web application for online code reviewing. Traditional document reviews are supported, as well as reviewing SCM diffs and plain unidiff patches. Integrated with CVS, SVN, Clearcase, Perforce, Visual SourceSafe and Bugzilla.
Free and Accurate Airfare Predictions. Find out if you should buy now or wait
Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.
Would you like to be part of one of Yahoo!'s strategic software development initiatives? Do you prefer to work on a wide variety of projects in a challenging environment? Have you ever felt that your job was monotonous or repetitive? Are you a builder, not a maintainer? Do you enjoy change?
If so, Yahoo's International Tiger Team may have the job for you. We are looking for world-class engineers with big ideas and big talent who enable Yahoo!'s innovative products and services for all languages and cultures. We're looking for people like you.
The International Tiger Team at Yahoo is dedicated to providing highly skilled, senior engineers to a variety of projects. International Tigers act as an internal "consulting" team, providing short term resourcing to dedicated product engineering teams that have critical globalization needs. In the past International Tigers have worked with highly visible products such as Y!Answers, Y!Video and My Yahoo!.
The ideal Tiger is a technically strong engineer who likes a dynamic environment and assignments that change every 6-8 months. As a member of the International Tiger team you will get wide exposure to a variety of Yahoo's products. Due to the rapidly changing team environment, strong communications and teamwork skills are a must.
Interested? Apply to this awesome position.
The W3C Internationalization (I18n) Activity works with W3C working groups and liaises with other organizations to make it possible to use Web technologies with different languages, scripts, and cultures.
Creeps enter from the top and from the left. You must stop them from reaching the other side or you will lose lives. You start with 20 lives, and when they are gone the game is over.
This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object.
This document describes a syntax -language-range- for specifying a user's list of language preferences. And describes different mechanisms for comparing and matching these to language tags. Two kinds of mechanisms, filtering and lookup, are defined.
After months of furniture walking Casper has taken the plunge and is now walking across the room.
Inspired by his friend Noah, Casper took his 1st unassisted steps on Tue Jun 05, 2006. The photos below were taken 2 days later.
Casper loves to walk. He will clap for himself when he succesfully has walked across the room.
A CAPTCHA is a program that can tell whether its user is a human or a computer. No computer program can read distorted text as well as humans can. reCAPTCHA improves digitizing of books by using CAPTCHAs for humans to decipher words OCR didn't recognize.
PNG has been widely overlooked by the web designers. Until recently, it hasn’t been possible to take full advantage of PNG and have it work in all browsers. But, with proper support in IE7, and some handy JS and CSS tricks, we can use PNG in our designs
Welcome to the Santa Cruz County Assessor website. Our site is designed to provide you with easy access to the information and services that our office provides to the citizens of Santa Cruz County.
What kinds of documents are necessary or acceptable for recording?
What are the requirements for any document I would like to record?
How much does it cost to record or retrieve documents?
Can I search public records for documents I am looking for?
With Flash CS3 comes support for ActionScript 3.0 - the newest programming language for Adobe Flash movies and applications. More so than in the past, you may find it difficult to get started with ActionScript 3.0 compared to older versions.
Upload your slide decks! Share with a link, tag, comment or embed in a blog. Find cool presentations on just about anything.
Web site of child birth educator Emily who uses Yahoo! Answers to promote herself.
All the tools software developers need to create cross-platform Java desktop, enterprise and web applications. Runs on Windows, Linux, MacOS, as well as Solaris. It is easy to install and use, works right out of the box -- and it is open-source and free!
Welcome to the online text analysis tool, the detailed statistics of your text, perfect for translators (quoting), for webmasters (ranking) or for normal users, to know the subject of a text.
This is the main source for information on the robots.txt Robots Exclusion Standard and other articles about writing well-behaved Web robots.
Building consistency on the web is especially tough. No where does this become more apparent than when you’re dealing with form elements and the biggest loser of them all in the battle for a standardized look is the infamous Submit button.
“Silk” is a smooth, free icon set, containing over 1000 16x16 pixel icons in PNG format. Containing a large variety of icons, you're sure to find something that tickles your fancy. And all for a low low price of $0.00. You can't say fairer than that.
An yui accordion example by Dav Glass. Build on top of TabPanel.
Accordion panel, aka deck panel build on top of Yahoo's yui libraries.
The Yahoo! User Interface (YUI) Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.
SimpleBits is a tiny web design studio in Salem, MA, founded by web designer and author Dan Cederholm. Over the years, this site has evolved into a collection of design work and publications that covers standards-compliant web design, technology and life.
Mephisto is a kick ass web publishing system. It’s a blog engine with some simple CMS-ish concepts (sections, pages), a very flexible templating system, and an aggressive caching scheme that takes advantage of your web server’s best traits.
A small, light-weight forum in Rails with a scary name and a goal of around 500 lines of code when we're done.
mezzoblue is a weblog about design, the web, and some other things. Written by Dave Shea, a designer from Vancouver, Canada.
Documenting the remodeling of our home in the Bay Area. Hoping that people who are doing remodeling of their homes will be able to get something out of this.
Spammers sift through webpages looking for e-mail addresses. They can often be evaded by URL-form-encoding the e-mail address. The FORM above will encode your e-mail address. Type in your address, hit "Encode", and paste the result into your webpage.
Hobo is an Open Source extension to Ruby on Rails which helps you build full blown web applications incredibly quickly and easily. Available as a Gem or Rails plugin, Hobo provides a simple, clean and elegant web application development framework.
Frustrated trying to find the right window on your desktop, or with alt-tab but they all look the same? WinTabber may be the answer.... WinTabber can add tabs to many windows. A tabbed browser, tabbed putty or tabbed shell, tabbed anything.
The Atom Publishing Protocol (APP) is an application-level protocol for publishing and editing Web resources. The protocol is based on HTTP transport of Atom-formatted representations. The Atom format is documented in the Atom Syndication Format (RFC4287)
Microsoft Silverlight is a cross-browser, cross-platform plug-in for delivering .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby
Artemis was born out of the desire to provide a resource for the education, care and empowerment of women and their families. Artemis offers acupuncture, herbal medicine, nutritional therapy, gentle chiropractic care, craniosacral and massage therapy.
The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext.
Today while having breakfast at
Sunrise Cafe in Soquel Tatyana proclaimed:
Soquel is what Brooklyn is to New York.
Introduction
For as long as we have lived on Rodeo Gulch Rd, we've wanted to reduce the tall Monterey Cypress trees lining our property along Rodeo Gulch Rd and Hidden Valley Rd. One of the 1st things we noticed inspecting the property when it was for sale was how much sun the trees block.
There are almost 80 trees al together. The trees along Rodeo Gulch Rd block sun in the morning after the sun has rissen over the ridge. As the sun moves across the sky it peaks out over the Cypress trees only to disappear early in the afternoon behind the trees lining Hidden Valley Rd. As a result most of our land is in the shadow for most of the day. In particular in the winter when the sun isn't as high in the sky.
With 80 trees we knew that this would be an expensive endeavor. Other tasks took priority but finally we're in a position to act. Yet our budget remained tight so we had to select a contractor who could do work economically.
As it so happens R&S Tree Service had just dropped of their flyer in our neighborhood. Tatyana called them for a quote on Thu. Their quote was relatively low and in our ballpark. Both Robin and Jamie have years of tree cutting experience. Recently they struck out on their own and formed R&S Tree Service.
They we're confident they could do the work quickly. In 3 or 4 days with the help of crane they would cut down all but 3 Cypress trees to 20-25 foot. Pile bruch into 3 piles for us to burn and stack firewood in 3 foot lengths on the side. A buddy with a crane would give them a deal.
We signed a contract, gave them a deposit and said goodbye until Sat when the work would start.
Day 1
As promised, Robin, Jamie and Daniel arrive at 8AM along with Lowell of West Coast Cranes. Robin & Jamie's original plan was to use the crane to hold the tree from the top while it is being cut at 20-25 foot height. Once cut they would lift the top and place it in our meadow to be cut into pieces. Lowell doesn't think this would work and they embark on a different tactic.
They start out limbing the tree branches from the top down. This turns out to be an arduous process as the branches they cut get entangled in the branches below, still on the tree.
Tatyana and I quickly realize that they won't be able to do the work in 2 days. Somehow the 3 to 4 day estimate from Thu had turned into a 2 day estimate by the time they started the work. In order to be done in 2 days they would have to limb and cut 3 trees/hour. Those 1st trees take more than an hour each.
Still we're not too concerned as they had bid on the work expecting it to take longer than 2 days. Based on the $150/hour for the crane that Jamie had mentioned on Thu they would still make a (modest) profit themselves if it took them 4 days.
By the end of the morning a new tactic appears to work better. Instead of limbing from the top down trees are limbed from the bottom up. Limbs coming of the tree fall clear to the ground and it is easier to put the bucket -holding Jamie and Robin- in position.
The pile of branches on the ground at the base of the trees has rapidly grown to unmanagable proportions for Daniel who is doing cleaning. Many branches have fallen into the creek and need to be dragged out of the creek bed to boot. Daniel goes out to get some reinforcements. 30 Minutes later he returns with several day laborers. Robin and Jamie aren't too happy as it is an additional expense they hadn't budgetted for.
The fresh crew catches up and moves all branches into one big pile for later burning. After an hour or 2 Daniel brings them back to Safeway's lot where he picked them up. Maybe they didn't want to work anymore because of the Poison Oak in the creek bed. Maybe they didn't like the work or the pay.
To pay the day laborers R&S asked us for cash. We start to wonder. Are they this strapped for money? Did they not anticipate they would be needing more people?
The crane leaves at 4:30PM. Robin, Daniel and Jamie clear branches on the ground for another hour and a half. They leave tired, disappointed in their progress but optimistic that they'll be able to finish the job tomorrow. We just shake our heads.
Day 2
A complete crew pulls up at 7AM ready to get the job done in one long day. Robin starts out limbing branches from the bottom up by climbing the trees. He actually makes pretty good progress. Once the has cleared some space along Hidden Valley Rd they go back to using the crane.
Like the day before, progress is slow. Much too slow to finish in a single day. Yet, at 9:30AM Jamie tells me that 'They will honor the contract' despite the lack of progress.
They are still a 2 chainsaw operation. Robin cuts from the crane's bucket with Jamie who guides the pieces Robin cuts off the tree as they fall to the ground. Daniel cuts the larger branches and the trunk chunks into 3' lengths while a crew of several day laborers pile the smaller branches onto the burn pile.
Shortly after noon the R&S Tree Service guys come and ask for more money. A lot more money, about 50% more money, thousands of dollars more money. Either that or the original amount of work for about 60% of the work. Tatyana is out walking Casper to sleep at that moment so I tell them that I'll have to discuss it with her. Amazed at the turn of events in a time span of only a few hours.
When Tatyana and Casper return we keep revisiting the predicament we're in. On the one hand we're sad that Jamie & Robin are stuck between are rock and a hard place. We could keep them to their bid, but we feel to sorry for them. It pains us to witness how the crane operator is getting his hourly rate of a $150 or more. Then again Robin & Jamie are the ones to continue to hire Lowell and his crane even when he charges overtime.
At the end of the day, Robin comes in to ask for money to pay Lowell, their friend who joined them for a day, the day laborers and them selfs. Not that we have a problem writing out separate checks to everyone but this rather unprofessional for a job that would be paid upon completion. It shows an utter lack of (financial) planning.
At this point about 55-60% of the scope of work has been completed and we've spend about the same amount of the bid we accepted. Seeing that planning and execution of a plan are not their forte we decide to end our relationship early. We're sorry it didn't work out as planned. We hope it has been a learning experience for R&S Tree Service (it has for us!).
Disappointed Robin & Jamie confer among themselves and return we a proposal to at least finish topping the trees already limbed up on Mon. They expect this will take them no more than 5hrs. As that is within our budget and a better point to halt the work and look for a new contractor I agree.
Day 3
Before I leave to take the vanpool to work on Mon at 5:30AM, I stick a note on the fence for R&S Tree Service summarizing what we had agreed to the evening before. I didn't want there to be any misunderstandings.
At 7:45AM Tatyana calls me at work. Robin & Jamie had woken her and Casper up at 7:30AM because they need more money. Apparently they owe workers money. I never get quite clear who they own what. They can't even remember what we paid them yesterday. Thank goodness I'd written it all down.
There is no crane either. Lowell isn't available (or doesn't want to come anymore). How come they didn't know this yesterday when they proposed to come out the very next day?
But we have a lot of fallen branches that need to be cleared from the creek. Plus there are a few more things they can do without a crane and so Tatyana agrees to hire some day laborers and pay them for what be plan # 99 by now.
Tatyana leaves for work early in the afternoon while work is in full swing. When I get home around 6PM I'm disappointed by the lack of progress. Mind you I left that morning thinking more trees would be topped. Only to come home and see that none have been touched. Instead some already topped trees have been felled, something we didn't ask for.
Day 4
This is it you would think, no? Not in this story. Robin, feels bad about the mess they've left behind. Rather insistently he keeps calling Tatyana -I'm in SF for work- with new plans. Tatyana can't see any of them work tired of hearing yet another plan.
Robin catches me leaving home on Thu when I'm about to cycle to the Ugly Mug to 'work from home'. Robin's latest plan is to work for an hourly rate. He'll climb the trees that haven't been limbed and limb them as high as he can get. Jamie is with him but doesn't want to have anything to do with it. In part because Robin is even offering to do work for free.
We settle on $30/hr for Robin and $15/hr for Jamie. I specifically ask them to top some of the trees that have already been limbed. Robin is confident they can attach a rope to the trunk of a tree which Jamie can then pull as Robin tops the tree. The rope will guide the tree to fall into the meadow instead of falling backwards into the powerline along Hidden Valley Rd. I'm not sure how much time would be involved and would like to find out.
As before they start out with they easier work; limbing up the remaining trees. They do make good progress. When I get home at the end of the day Robin has done as much work as they did with the crane. If they keep up this rate they could finish the job within the original bid. That is of course if they can top the trees using a rope.
Day 5
Fri morning, R&S Tree Service do not show at 7:30AM as promised but close to 9AM. Jamie arrives 1st in a mini van. Driven by a driver I haven't seen before.
It turns out they have bought a little 5HP chipper/schredder for Daniel (or is it on behalf of Daniel?) at the flea market. Robin pulls up a few minutes later. The owner unloads the chipper, puts it together and gets paid.
Robin is eager to test the chipper, he pulls it over to one of the massive woodpile and starts it. The machine pales in comparison to the pile. Perhaps intimidated, the chipper neither chips nor shreds very well. In fact is has trouble with even the smallest of branches. Twigs really. Robin & Jamie schrug it off as this is Daniel's problem.
Fri is another burn day and I had started a fire at 7AM. Tatyana has to go to work in a few hours, Jamie needs to spot Robin while I have to telecommute. As it is also a foggy day which makes it more dangerous to work close to power lines, Robin offers to get us a day laborer from Safeway giving the sun a chance to burn off the fog.
It is past 9:30AM when they return with Star Bucks coffee in hand and day laborer in two. I quickly change and head out. Robin & Jamie have started on the Cypress at the bottom of our drive way as they deem too moist to work on the trees along Hidden Valley Rd, close to the power line.
When I return home a little after 4PM to get the car to pickup Casper from daycare, the Cypress they started on has been limbed and topped. Nice work. Yet still none of the Hidden Valley trees have been topped. Casper and get home by 6:30PM, cash in hand to pay everyone. I got cash out so Robin & Jamie didn't have to stop early to go to the back to cash our check. In those last hours no trees have been chopped, rather more trees that had already been topped have been felled. Grrr.
Day 6
After a weekend in which we burned more of the gigantic brush pile, Robin & Jamie return on Mon. A warm, clear day. Not long after they arrive, they nock on the door and tell Tatyana that there isn't much they can do. Push come to shove, they're not up for topping those trees along Hidden Valley's power line without a crane. So they've come to talk to Tatyana what else they could do. Perhaps work on that last Cypress, the one not to be topped? They could remove some of the big dying branches, those broken ones that look so bad.
Tatyana gives the go ahead, then goes out to get some day laborers herself to have them clean up the branches from the Cypress at the bottom of the drive way that now fill the creek bed. They get the job done in 3 hours. Perfect timing, Tatyana can take them back to Safeway as she heads out to work.
As I get home with Casper that evening, it is immediately apparent that Robin & Jamie didn't do very much that day. Not nearly as much as they have done on other days. I got the strong impression they wanted to get paid for some extra hours. The cleanup work on that last Cypress doesn't amount to much and all of the cut braches are in the creek bed.
Prologue
We've been able to burn all the branches. Next up are the trunks that need to cut to fire wood length. Then fire wood stacking.
We still have the chipper/shredder on our land. Daniel when you read this will you please come pick it up?
Various people have, over the last few years, done studies into the popularity of authoring techniques. For example, looking at what HTML ids and classes are most common, and at how many sites validate.
Enterprise Rails deployment
means people & technology.
We handle deployment and operations, so you can focus on your application and your business. Smoothly scale from 1 user to 1 million.
Sitemaps are an easy way to inform search engines about pages on a sites. A Sitemap is an XML file listing URLs with additional metadata about each URL (last updated, change rate, relative importance) so search engines can crawl more intelligently.
Ruby is…
A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
At Yahoo! we are proud to be the world's number one Internet brand, servicing over a half billion people. Each and every day, Yahoo! engineers deliver news, entertainment, information and fun to millions around the globe.
Would you like to be part of one of Yahoo!'s strategic software development initiatives? Do you prefer to work on a wide variety of projects in a challenging environment? Have you ever felt that your job was monotonous or repetetive? Are you a builder, not a maintainer? Do you enjoy change?
If so, Yahoo's International Tiger Team may have the job for you. We are looking for world-class engineers with big ideas and big talent who enable Yahoo!'s innovative products and services for all languages and cultures. We're looking for people like you.
The International Tiger Team at Yahoo is dedicated to providing highly skilled, senior engineers to a variety of projects. International Tigers act as an internal "consulting" team, providing short term resourcing to dedicated product engineering teams that have critical globalization needs. In the past International Tigers have internnationalized highly visible products such as Y! Answers, Y! Video and My Yahoo!.
The ideal Tiger is a technically strong engineer who likes a dynamic environment and assignments that change every 6-8 months. As a member of the International Tiger team you will get wide exposure to a variety of Yahoo's products. Due to the rapidly changing team environment, strong communications and teamwork skills are a must.
In this position, you will be responsible for creation of global products that cater to visitors from around the globe. You are highly self-motivated, innovative, and well versed in new technologies. The position requires a detail-oriented, product-focused professional experienced with building global services in a high-paced, high-volume environment.
Come join an exciting and stimulating environment where you can make your mark on the world. How Big Can You Think?
Minimum Job Qualifications
- Minimum 5-10 years of industry experience producing production-ready, robust, scalable web applications in a Unix environment
- BA/BS, preferably in Computer Science or related technical discipline
- Expert level HTML, CSS, Javascript
- Expert level PHP, Perl, Python and/or Ruby
- Advanced AJAX experience
- Advanced Apache experience
- Strong database skills in MySQL, Oracle and/or PostgreSQL
- Solid understanding of the difficulties and methods of software internationalization and localization
- Solid understanding of performance optimization techniques, object-oriented programming and standard Internet protocols
- Experience in high-volume, high-availability web applications
- Excellent written and spoken communication skills
Preferable Job Qualifications
- Demonstrated history of success on large scale, high availability web projects
- Strong C/C++, Perl experience
- Strong shell scripting skills
- Strong version control skills
- Strong Flash experience
Send me your resume if you're up for the challenge.
XML is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML.
Rather than stopping bots by having people identify themselves, we can stop the bots by making it difficult for them to make a successful post, or by having them inadvertently identify themselves as bots. This removes the burden from people.
The video format in Flash Players is based on On2 TrueMotion VP6 codec.
On2 Flix 8 converts video to Flash video. With On2 Flix, you can create Flash video with video quality comparable or better than Windows Media, Real, MPEG, and H.264.
Unicode CLDR provides key building blocks to support the world's languages. CLDR is the largest standard repository of locale data. This is used for formatting of dates, times, time zones, numbers, and currency values; sorting; choosing languages; etc.
The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms.
ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms and between C/C++ and Java software.
Website Optimizer, Google's free multivariate testing application, helps online marketers increase visitor conversion rates and overall visitor satisfaction by continually testing different combinations of site content (text and images).
First article of a 3 part series on internationalizing Flex 2 applications. Parts 1 and 2 cover the use of ResourceBundles, where as part 3 (will) cover an alternate approach using XML files.
The built in localisation support in Flex didn’t quite cut it. Built in support allows you to compile a separate SWF for each language. This isn’t always useful as changing languages requires loading another SWF which isn't a very seamless experience.
Multilingual Flash Applications
In this session, attendees will learn how to architect Flash® applications to support multiple languages. Robert will discuss how to build flexible language structures that can be read from files or databases.
Resource bundles in Flex
Resource bundles are the key to application i18n in Java. While I was thinking about the possibilities for doing resource bundles in Flex, I came up with three distinct approaches to the problem.
We all need an application in multiple languages. In Flex, the solution is resource bundles. I'll describe the basic use of resource bundles and a small example in Flex Builder. Plus resources for further exploration and potential future directions.
How you use Vox is up to you. Meet new people or keep in touch with friends, start a blog, post photos, watch videos, create a group, or just discover interesting things. Vox is easy to use and has a powerful set of privacy features.
E is a new text editor for Windows, with powerful editing features and unique abilities. It makes manipulating text fast and easy, and lets you focus on your writing by automating manual work. You can extend in any language and supports TextMate bundles.
Smarty is a "Template/Presentation Framework." That is, it provides the programmer and template designer with a wealth of tools to automate tasks commonly dealt with at the presentation layer of an application.
MTASC is the first ActionScript 2 Open Source free compiler. It can compile large number of .as class files in a very short time and generate directly the corresponding SWF bytecode without relying on Macromedia Flash or other tools.
The AAJ Online brings you the entire collection of American Alpine Journals back to 1966. The most recent Journal is not made available on-line until its successor is printed. Over time we will work back to our first issue printed in 1929.
I’ve owned the domain Subtraction.com since 1997. In its first few incarnations, it served as a portfolio and a venue for me to showcase my non-commercial design work. In December 2000, I added a weblog using Blogger as a publishing tool. In April 2003,
The Tabnav Rails plugin provides nice tabbed navigation out of the box
Snapped together from a combination of modules, panels, and preformed structural frames, the Loblolly house, named for the loblolly pines here in the Maryland tidewater area, is a manifesto for a new way of building. Architect Kieran and his partner, Jame
Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice f
Nextumi's Share2me products are reshaping the way people interact with each other online and across their mobile devices by providing a quick new way to share digital stuff - including photos, videos, text, Web pages and music - in one simple step.
OpenID is a decentralized identity system. It solves the Single Sign On problem in an elegant and vendor-neutral way. You can see an explanation of how you use it in this screencast.
While a number of sites act as OpenID providers, the majority do not. S
Last Wed Casper turned 1! How fast that year went by. Just look at the pictures below to see how much Casper has changed in his 1st year. These days he is on the brink of walking. He's a quick crawler, good furniture walker and a great climber.
A week or so ago he started to sign 'dog' when he saw Wiley or Loki, the black Labradors of our neighbors. Ever since he is absolutely facinated by dogs. He in addition to the sign for dog -which he learned by watching Singing Times before going to bed- he also knows the English word 'dog' and Dutch word 'hond(je)'. When we say 'dog' or 'hond(je)' he will sign dog and make soft woofing sounds. At times I think he even says 'dog'.
Wed was another 1st for Casper: it was his 1st day alone at day care. Tatyana found a promising babysitter for Casper in Scotts Valley. We interviewed Erin Brummett on Sat at her home where she would be looking after Casper along with 1 year old daughter Faith, 5 year old son Austen and their dog Poppy.
On Mon Tatyana and Casper both went over to Erin's house for a trial run. Tatyana acted as a fly on the wall while Erin looked after Casper. This went well. So on Wed -Tatyana's 1st workday after the trial- Casper went for the 1st time to day care by himself. Tatyana and me both felt guilty over leaving Casper with a stranger un his birthday, even though we could rationalize it and it was only from 1PM - 5:30PM. Tatyana dropped him off on her way to Artemis Healing Center. And I picked him up after my vanpool returned to the Scotts Valley bus station. It worked out very well for all of us.
We celebrated Casper's birthday that evening after we were all home with a little cup cake for Casper. Which he devoured with great pleasure and great speed.
Happy birthday son #1!
PuTTY is a free implementation of Telnet and SSH for Win32 and Unix platforms, along with an xterm terminal emulator. It is written and maintained primarily by Simon Tatham.
Haml (XHTML Abstraction Markup Language)
Haml is a markup language that’s used to cleanly and simply describe the XHTML of any web document, without the use of inline code. Haml functions as a replacement for inline page templating systems such as PHP,
Tor is a toolset for a wide range of organizations and people that want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and other applications that use the TC
Manufacturers and suppliers of brass casement stay and casement window hardware. brass casement stay and other casement window hardware match the best in terms of quality, elegance and finish. Customized designs and finishes are also available.
The brass
Scrybe™ is a groundbreaking online organizer that caters to today´s lifestyle in a cohesive and intuitive way.
Switchy McLayout lets you define the dimensions, information richness, and appearance of your content objects for set ranges of screen sizes. A news site, for example, could have one layout and appearance for wide screens, one for medium-sized screens, an
XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer.
SWFObject is a small Javascript file used for embedding Macromedia Flash content. The script can detect the Flash plug-in in all major web browsers (on Mac and PC) and is designed to make embedding Flash movies as easy as possible. It is also very search
UFO is a DOM script that detects the Flash plug-in and embeds Flash objects (files with the .swf extension). It has its roots in the Web Standards community and is designed to support W3C standards compliant, accessible and search engine friendly web desi
The Flash Media player supports playback of a single media file of any format the Adobe Flash Player can handle (MP3,FLV,SWF,JPG,PNG or GIF). It also supports RSS/XSPF playlist (with mixed mediatypes), a wide range of flashvars (settings) for tweaking bot
The Flash Video (FLV) Player can be used standalone, without the need for the Flash authoring tool. The player allows you to show your videos more controlled and to a broader audience than with Quicktime, Windows Media or Real Media. It supports playback
The Flash MP3 Player is the easiest way to add live music or podcasts to your website. It supports playback of a single MP3 file or an RSS/XSPF playlist, a wide range of flashvars (settings) for tweaking both behavior and appearance and an extensive, docu
The Flash Image Rotator enables you to show a couple of photos in sequence, with fluid transitions between them. It supports rotation of an RSS/XSPF playlist with JPG/GIF/PNG images, a wide range of flashvars (settings) for tweaking both behavior and appe
Ever wanted to test your website in various versions of Internet Explorer?
It is possible to run Internet Explorer in standalone mode without having to over-write previous versions thanks to Joe Maddalone who came up with a way of achieving that in Novem
On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programm
I wrote this article to help myself understand exactly what McCarthy discovered. You don't need to know this stuff to program in Lisp, but it should be helpful to anyone who wants to understand the essence of Lisp-- both in the sense of its origins and it
Almost all the gradients in the design given to me were blended to white, so I figured that if I created a PNG that was blended from transparent to white, I could use the PNG as a background image and rely on the background-color style to provide the othe
You probably know a ton about your favorite bloggers - what they think about the subjects they write about, maybe some of their work and life history... you may even know what toothpaste they use. But how much do you know about all the other people who re
Welcome to Stock.XCHNG,
the leading FREE stock photo site!
Whether you just want to browse our huge image gallery or want to share your personal photos with others, this is the site for you!
Browse through the categories of our huge gallery containing ov
From left to right: Bart Teeuwisse, Sarah Lee, Tiago de Jesus,
Pompeu Roberto, Benedicto de Souza Franco Junior, Edwin Chiu,
Gerado Moad, Tak Yan, Julian Jaramillo, Oscar Pagani, Kalai
Kandasamy & Marco Aurélio Carvalho
Working through Halloween night until close before dawn, the Yahoo! Video and Yahoo! International Tiger teams released Yahoo! Video in 5 new markets:
Thanks everyone involved for all your hard work and dedication. Thank you Y!Video team for accepting us Tigers into your tight knit team.
Last but not least: Go Tigers Go!
On Wednesday November 1st Tatyana Teeuwisse, Lac will resume to practice acupuncture, traditional Chinese medicine and massage in Los Gatos. Rather then returning to her old room in someone else's clinic she will opening her own clinic: Artemis Healing Center!
Artemis Healing Center is the result of a long standing desire to strike out on her own and form a more cooperative clinic. With partners Massage Therapist Lindsay MacInnis and Chiropractor Marilyn Moss the three offer a comprehensive set of services.
Located at 246 Los Gatos Saratoga Rd, Los Gatos, Artemis Healing Center is only a block away from her old location.
If you're developing for multiple languages including CJK languages and you are using
Putty, you might want to replace Putty with
Pietty. Pietty is fully compatible with
Pageant if you rename
pietty.exe to
putty.exe.
Even if you don't need better multilingual support you might prefer Pietty for its UI is a bit friendlier than Putty's.
Introduction
Web development almost always involves developing on a remote machine, typically a Linux or BSD box. In my case I pretty much always make the connection from a Windows PC. Either the laptop Yahoo! issued or my desktop at home.
To hack I don't need more than a character terminal into the remote box. A secure shell is all I need. The results I check with the browser on my Windows PC. Putty is a free telnet/ssh client for Windows that I use connect.
The first thing I do after I ssh into the machine, is to start screen to virtualize the connection. Screen is a full-screen window manager that multiplexes a physical terminal. With screen you can open mutliple terminals over a single connection. The best feature though is that you can return to your terminal sessions after the connection breaks. So you can initiate a session from one location and pick it up at another. Should you lose connection due to network errors you just reconnect and re-attach to the already running screen.
My editor of choice is GNU Emacs. Not only extensible, customizable and self-documenting, but also runs just as well within a character terminal as in a graphical UI. Important if all you have at home is a dailup connection.
The problem
The problem I encountered at work was that I couldn't get BIG5 characters to display properly on my Windows laptop. After several days of prodding, research and help from Yahoos I was eventually able to get to the bottom.
The solution
First of my dev box doesn't have any locale support which means that you have to tell every application that it should use UTF-8 encoding. Applications can't look at the locale and learn what capabilities the terminal has.
For screen this means starting it with the -U option. Also include the following lines in your ~/.screenrc file:
# Set default terminal and character set to utf-8 defutf8 on defencoding UTF-8
To get less to run in utf-8 mode you'll have to set the LESSCHARSET environment variable to utf-8. Best achieved by adding the following line to your ~/.bashrc file:
export LESSCHARSET=utf-8
Make sure you run putty in utf-8 mode.
Install the Traditional Chinese language support files from Microsoft on your Windows box.
Configure putty to use the MingLiU font with the CHINESE_BIG5 script.
Compile and install GNU Emacs from CVS as this version (currently 22.0.50.1) has much better utf-8 support than the last release (version 21.4.1).
The Ugly Mug is my office away from the Yahoo! offices. The Ugly Mug has revamped their
website, complete with events calendar, barrista bios, menu and more. Drop in when you're in the area, you won't regret it.
As you may know I write these blog entries over at Yahoo! 360 for the time being until I have hacked up the Teeuwisse family site.
Each time I go to Yahoo! 360 I'm annoyed by 360's home page. For users with a 360 account the home page prominently shows you the latest from your Yahoo! friends and favorites. Great you'd think I get the latest blog posts, reviews, answers and questions from all the people I care about. But no, you also get all the feeds that your friends are subscribed to.
I find this so annoying because the content I receive borders on spam. I'm not interested in Yahoo! Answers's latest questions to which 2 of my friends are subscribed to. And because 2 friends are subscribed I get the same latest questions in duplicate. Other friends are subscribed to a variety of news steams. So I end up with a mix of random entries and personal contributions by my friends.
Including your friends and favorites feeds is 360's default setting. It wasn't until writing this blog entry that I discovered the Control Feed Updates link at the bottom right of the 'Latest' segment. I find the title 'Control Feed Updates' a bit of a misnomer as it doesn't control the update of the segment but rather what to include/exclude. Perhaps 'Control what to include' would be a more intuitive title. Having said that, I'm relieved to see that 3 mouse clicks weed out all crap leaving me with content contributed by my friends personally. And that's what I'm interested in. My friends other interest are still only a click away.
Had an embaresing moment yesterday when Tatyana clicked on one of the
Flickr thumbnails to the right of this blog as displayed on
thecodemill.biz. Because I'd used an IFRAME, clicking a thumbnail opened the Flickr page within the IFRAME. Oops, didn't think of that one, and hadn't tested it either.
With no possibility to post-process the
Flickr Badge I had to think of something else. Using
Flickr's API,
Yahoo's UI library and tiny custom
Ruby on Rails controller I rolled an AJAX replacement. You wouldn't be able to tell from the looks of it. Except when you click on a thumbnail of course.

And that the list has grown from 10 to 20 thumbnails.
While hacking up the mirror of this blog on thecodemill.biz I ran into a couple of Firefox limitations I hadn't expected from my favorite open source browser.
I mirror the blog from 360.yahoo.com by parsing the RSS feed. The feed has the most recent entries. Each new entry is added to an XML file published at thecodemill.biz. When visiting the XML file the browser transforms it to HTML using the XSL stylesheet linked to from the XML file. The layout of the HTML file is then styled by a CSS stylesheet linked to from the generated HTML.
This may sound convoluted but is really straight forward separation of content from presentation. The XML file holds the data (pure content). This makes adding new blog posts much easier then if it were in HTML. Transformation to HTML and styling is off loaded to the browser. (Not that thecodemill.biz gets that much traffic to make this necessary.) Both the XSL stylesheet and the CSS stylesheet are very simple and easy to maintain.
As always, not all browsers display the XML file the same. Normally though, Internet Explorer (IE) is the browser to code around, but this time it was Firefox who caused me grief. First there was the issue of Firefox ignoring my instruction to disable-output-escaping. Then Firefox 'hung' during the XSL transformation after including my Flickr badge.
Most of time was lost trying to find out why Firefox didn't render the XML file the way I wanted/expected it to do. With IE displaying the file correctly I had an inkling that it had todo with Firefox's interpretation of the various standards involved: XSLT, XSL, HTML and JavaScript.
It turns out that Firefox doesn't support disable-output-escaping because disabling output escaping would require adding a parsing step to the output generation. While understandable, this position seems a little harsh now that RSS feeds are ubiquitous. Soon Atom will grow in importance as well.
The problem with my Flickr badge boils down to another topic listed on Firefox's XSLT FAQ: document.write. The Flickr badge consists of a serious of variable assignments building up a string of HTML which is then inserted into the HTML document using document.write. With a little bit of head scratching I was able to work around it using an IFRAME. The XSL stylesheet includes the IFRAME tag which pulls in a 'pre-cooked' HTML page consisting of my Flickr badge.
What should have been a quick and easy thing ended up taking several hours. Oh, the joys of developing for the Internet! You can see the end result on thecodemill.biz.
This blog is now available from
2 locations: from
360.yahoo.com and from
thecodemill.biz. 360 is its temprary home where I write the blog and you can subscribe to its
feed. The blog is being mirrored at its future home over at thecodemill.biz.