ProgrammableWeb: APIsGet Favicon

Get FaviconReturn favicons for a URL
Date Updated: 2009-12-25
Tags: Favicon, internet

ProgrammableWeb: APIsDomainr

DomainrDomain name search service
Date Updated: 2009-12-25
Tags: domain, internet

ProgrammableWeb: APIsPeerlo JobGenie

Peerlo JobGenieJob recruiting and referral service
Date Updated: 2009-12-25
Tags: jobs, recruiting

ProgrammableWeb: APIsContactology Email Marketing

Contactology Email MarketingEmail marketing service
Date Updated: 2009-12-25
Tags: email, marketing

Micah Dubinko (Yahoo!)The Physics of Santa

Hands down, the stupidest Science Friday segment evar. I want my 11 minutes back. -m

Web AnalystMerry Christmas

Enough said.

http://www.psychologytoday.com/blog/lifestyle-design/200912/why-ill-be-wishing-you-merry-christmas

PS> this blog is re-starting. But some of the pictures are missing because I did not archive them properly.

Ian Forrester (BBC Backstage)Experimental Compiz Fusion Plugins

<object height="505" width="640"><param name="movie" value="http://www.youtube.com/v/Rmz9a9pJR_s&amp;hl=en_GB&amp;fs=1&amp;hd=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed allowfullscreen="true" allowscriptaccess="always" height="505" src="http://www.youtube.com/v/Rmz9a9pJR_s&amp;hl=en_GB&amp;fs=1&amp;hd=1" type="application/x-shockwave-flash" width="640"></embed></object>

Ubuntu has build in support for Compiz fusion now called just compiz since version 8.04 I believe. But the plugins included haven't really been increased in a while. So most of us are missing out on some of the creativity and downright oddness coming out of experiemental corners of the internet. Theres a whole page of how to get the plugins from GIT if you want to take a walk on the wild side.

Comments [Comments] Trackbacks [0]

Simon Willison (Django)A quote from Brad Fitzpatrick

I think it’s really important to know the whole stack even if you don’t operate within the whole stack.

- Brad Fitzpatrick

Simon Willison (Django)Intercepting Predator Video

Intercepting Predator Video. Bruce Schneier’s take on the unencrypted Predator UAV story. A fascinating discussion of key management and the non-technical side of cryptography.

Yahoo! Developer NetworkA Fond Farewell to 2009

Since we're going quiet on the blog and on Twitter for the holidays, we decided to take a glance back at 2009. Looking back on a year is always bittersweet. Could we have done more? Did we reach all the people we wanted to reach? Did we really go to all those places?

2009 was an amazing year, and we can’t help but be excited by all that happened. From Hack Days to Barcamps, big conferences to intimate developer gatherings, we took part in more than 130 amazing events!

Below are just a few of the places we’ve gone. These events we’ve either managed and put on ourselves, or developer events that we’ve attended, usually thanks to your kind invitations. Both kinds of events brought us closer to you, and for that, we’re grateful. From all of us here at YDN, thanks for making 2009 so very special!

Robyn Tippins
Community Manager, YDN

Follow us on Twitter


Open Hack Days

  1. Open Hack Bangalore
  2. Open Hack London
  3. Open Hack St. Petersburg
  4. Open Hack Taiwan
  5. Open Hack NYC
  6. Open Hack SE Asia

University Hack Days (HackU Program)

  1. HackU - IIT University-Delhi, India
  2. HackU - Dundee, Scotland
  3. Univ of Wash
  4. HackU - UIUC, Illinois (Spring and Fall)
  5. HackU - GA Tech
  6. HackU - Univ of Michigan
  7. HackU - UC Berkeley
  8. HackU - Carnegie Melon

Barcamps

  1. Barcamp Miami
  2. Barcamp San Diego
  3. Barcamp Bangalore
  4. Barcamp Singapore
  5. Barcamp LA
  6. Barcamp Brighton
  7. Barcamp Blackpool
  8. Barcamp Malaysia
  9. Barcamp Bournemouth
  10. Barcamp Portland
  11. Barcamp Penang
  12. Barcamp Sheffield

Events

  1. Mashup Camp Korea
  2. Sunderland Uni Hack Challenge
  3. Web Directions North, Denver
  4. YUI 3rd Birthday
  5. FOWA Miami
  6. Mobile World Congress, Barcelona
  7. eTech
  8. SXSW
  9. Gluecon Denver
  10. State Farm Hack Day
  11. Lunch 2.0-Yahoo!
  12. Great Indian Dev Summit, Bangalore
  13. Web DU, Australia
  14. Linux Conference, Turkey
  15. Social Web Foo Camp
  16. Big Omaha
  17. Where 2.0
  18. Google I/O
  19. IIW
  20. WWW2009 Madrid
  21. PHP Day, Italy
  22. Accessibility 2.0, London
  23. Hadoop Annual Summit
  24. FOWA UK
  25. Techstars, Boston
  26. Symfony Live, Paris
  27. Dutch PHP Conference, Amsterdam
  28. Girl Geek Dinner, Sydney
  29. Reboot Britain
  30. OSCAMP
  31. iPhoneDevCamp
  32. Bristol Hadoop Workshop
  33. Webmontag Frankfurt
  34. Domain Convergance
  35. COSCUP
  36. Young Rewired State
  37. PLoP 09, Chicago
  38. Summer of Widgets, Cologne
  39. dConstruct 09
  40. Python Conference, Brazil
  41. Ajax Experience, Boston
  42. IDEA, Toronto
  43. ShakeShack, NY
  44. TechShare, London
  45. Standards-next, London
  46. YDN Developer Evening, Madrid
  47. Membership Summit
  48. SIMO Madrid
  49. Accessibility 2.0, London
  50. Accessibility Conference, Dusseldorf
  51. Web 2.0 Summit
  52. Read Write Web Real Time Summit
  53. YUI Conf
  54. Paypal X-Innovate
  55. Web Expo Conference, Prague
  56. Korea Web Standard and Accessibility
  57. Web Directions South
  58. Paris-Web
  59. Agiles 2009
  60. A-Tag, Vienna
  61. Ignite Seoul
  62. Ignite NYC
  63. PHP Barcelona Conference
  64. OpenID Summit
  65. Cloud Computing Expo
  66. Random Hacks of Kindness, Mountain View
  67. Fronteers Conference, Amsterdam
  68. European Stack Overflow DevDay
  69. JSConf.EU
  70. Mobile Mondays, Indonesia
  71. Web Directions East, Tokyo
  72. Auckland Web Developer Meetup
  73. Boston Music Hack Day
  74. Web 2.0 Expo NYC
  75. Paypal Brownbag
  76. EU YAP Competition
  77. Asia Open Week, Taiwan
  78. YDN and Opera Event, Oslo


<style>#yui-main ul,#yui-main li{list-style:square;}#yui-main ul{margin-left:1em;}</style>

Daniel Glazman (Disruptive Innovations)La suite pour FreeRecord

Les fonctions que je pense intégrer (au-delà des choses de base comme la liste des enregistrements déjà programmés) un de ces quatre matins :

  • alarmes sur un titre avec possibilité de programmation automatique de l'enregistrement dès que ce titre apparait dans le programme de la semaine
  • possibilité de twitter à propos d'un programme donné
  • liens vers imdb.com (ou un autre site du même genre) pour les films
  • accès ftp direct aux boîtiers HD
Nota bene : merci à ceux qui ont fait un don pour soutenir le développement de FreeRecord. Si vous ne l'avez pas fait et que la liste ci-dessus vous semble alléchante, pensez-y...

Sam Ruby (IBM)REST in Raleigh

Darrel Miller: Was the idea to call the REST workshop WS-REST designed to be as inflammatory as possible? http://www.ws-rest.org [via Don Box]

Oh, cool, a conference with a topic I’m interested in in my back yard!

It’s a shame it is too late to submit a talk proposal.  Guess I’ll get to enjoy it as a civilian.

Daniel Glazman (Disruptive Innovations)Notifications in Firefox

I think Notifications in Firefox are a problem; a light problem but still. A lot, I mean really a lot, of users don't see them (yes, that's surprising but they just do not notice a notification box appeared) and don't understand them because the prose in the notification box is sometimes too laconic. That triggers emails to extension authors, support, hotline that could be avoided and in some cases the users just flee away, thinking something does not work or is wrong with the web site.

A simple way to do that would be a dual system, popups and notifications. By default at first launch, Firefox uses popups for notifications and these popups contain a checkbox "Check this box if you prefer notification boxes in the browser's window instead of popups". So the user can move to notification boxes if that's his/her desire.

Just my two eurocents.

ProgrammableWebMap Any Image With New UMapper Release

UMapper If you enjoy creating fun, interactive maps, you’ll get lost in the latest functionality from UMapper (our UMapper mashup profile). With it, you can include any image–even one that isn’t a map–in its Flash viewer.

Founder Andrei Taraschuk shows off the feature in this video (embedded below):

<object height="302" width="500"><param name="movie" value="http://www.youtube.com/v/-_XblEniTq0&amp;hl=en&amp;fs=1&amp;rel=0"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed allowfullscreen="true" allowscriptaccess="always" height="302" src="http://www.youtube.com/v/-_XblEniTq0&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" width="500"></embed></object>

You can add shapes, markers and media to the image, which users can then explore. In the case of this new feature, the images are not georeferenced. In other words, you cannot programmatically add elements to the page using latitude and longitude coordinates. That’s not entirely a drawback when it comes to mapping Middle Earth, for example.

Embedded below is a “map” I created in order to test out the feature using any image. Using this photo of Portland’s skyline, I outlined a couple iconic buildings using polygons.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" height="225" id="umapper_embed" width="500"><param name="FlashVars" value="kmlPath=http://umapper.s3.amazonaws.com/maps/kml/42962.kml"><param name="allowScriptAccess" value="always"><param name="allowFullScreen" value="true"><param name="movie" value="http://umapper.s3.amazonaws.com/templates/swf/embed.swf"><param name="quality" value="high"><embed allowfullscreen="true" allowscriptaccess="always" flashvars="kmlPath=http://umapper.s3.amazonaws.com/maps/kml/42962.kml" height="225" name="umapper_embed" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="http://umapper.s3.amazonaws.com/templates/swf/embed.swf" type="application/x-shockwave-flash" width="500">
</object>

The UMapper blog post has many other examples of maps created with the new feature.

All the old features of UMapper are there, as well, which includes six different map tile styles to choose from (including Google and Bing) and the option to make your map into a GeoDart game.

Related ProgrammableWeb Resources

UMapper UMapper API Profile

ProgrammableWeb: APIsUMapper

UMapper Emeddable flash maps
Date Updated: 2009-12-23
Tags: flash, mapping

ProgrammableWeb: APIsGoogle Sites

Google Sites Access data from the Google Sites service
Date Updated: 2009-12-23
Tags: tools, wiki

Yahoo! Developer NetworkTech Thursday - a list of links to check once or twice...

Every Thursday is Tech Thursday where we share a random assortment of technical links we found and liked.

You can propose links to us on Twitter (@YDN) or try bookmarking them on delicious with the tag "forydntt".

Yahoo! Developer NetworkEasy Accessibility Testing with the NVDA Screen Reader

It is very important for every web developer to write clean code, but it is equally important to make sure that what's written actually works for people who know nothing about the code: 95% of the people who use the web. For this reason, developers spend a lot of time testing with various browsers, on different platforms, lots of devices, and even get advice from other people.

Among the various testing environments, screen readers remain one of the gray areas for many developers. There are a few reasons for this: sometime people ask why do they need to bother. But perhaps many of you ask "where do I get one?" or complain, "I don't know what to do with this thing." I hope this article will answer the last two concerns. Perhaps I'll try to persuade you why you should bother in another article. Hopefully, though, you already know why accessibility is important for web development.

What is NVDA for Windows?

Screen reader is an assistive technology software that allows any blind or visually impaired person to perform everyday computing tasks, such as browsing the internet, reading, writing, or proofreading documents in different formats, listening to and recording music, playing games, and more. Essentially, it's the hub of everything on the computer.

NVDA for Windows is one of several screen reader programs available on the market today. NVDA is free and open source. It is very strict in how it treats web pages and thus can serve as a perfect testing tool. Testing web pages with the NVDA screen reader is as easy as 1, 2, 3 or, I should rather say, A, B, C. Read on to find out why!

You can download the official version. However, if you would like to experiment with newest features, download the most most recent development snapshot, as it contains the latest code.

Getting started

  1. Install NVDA
  2. Make yourself comfortable by adjusting rate, pitch, volume, and even the language of the speech by:
    • Control+Insert+Left/Right arrows -- navigate between available parameters (see below).
    • Control+Insert+Up/Down arrows -- change a particular parameter, e.g. make speech faster or slower.
  3. You can save your preferences for later by:
    • Pressing Insert+N to open NVDA menu.
    • Choosing "Save Preference" from the menu.

Please note: If you are installing the NVDA screen reader inside a virtual machine or your keyboard does not have an INSERT key, consider using software such as "Sharp Keys" to reassign the keys on your keyboard.

Start testing web pages

I've made a list of most essential NVDA shortcut keys below, which should give you a helpful reference guide. If you know your alphabet, you will have no trouble remembering them! Very important, do not use a mouse and turn off your computer monitor. With a little patience you'll be able to get the hang of it. Follow along with the example below to get started.

Important to remember:

  • NVDA uses a view, called "browse mode" to present web pages to the user, where:
    1. Screen reader intercepts arrow and some other keys (see below) to offer additional navigation operations for the user.
    2. NVDA "browse" cursor tries its best but may not always follow onscreen cursor, so do not trust your eyes -- trust your ears!
  • NVDA uses "focus mode" when interacting with edit fields and ARIA-enabled DHTML widgets.
  • NVDA will try to switch between "browse" and "focus" modes automatically when the user navigates with a tab key. The change between modes will be indicated by two distinct sounds.
  • If NVDA does not change the modes automatically, press SPACE bar on an edit control or an ARIA-enabled widget to force the switch.

Yahoo! Homepage: a real-life example

To demonstrate how NVDA navigation shortcut keys work, let us explore the new Yahoo! Homepage using the concepts above

Locating a "search box"

Since a search box is most likely an edit field or, at the very least, a form field, we can use a shortcut "f" or "shift+f" to browse between the form fields on the page or "e" or "shift+e" to jump between edit fields exclusively. To see how this works with edit fields, do the following:

  1. Press Control+HOME to jump to the top of the page.
  2. Press the letter "e" to jump to the first edit field on the page; NVDA will say "search edit.".
  3. Press letter "e" again; NVDA will say "Enter stock symbol edit, has autocomplete."
  4. Press the letter "e" again; this time NVDA will say "No next edit field."
  5. Move backwards using the "shift+e" shortcut key; when you reach the top of the page, NVDA will say "No previous edit field."

Please note, when you reach an edit field, you cannot start typing immediately. First, you have to hit the SPACE bar to enter the "focus mode" to focus on it. If you used the TAB key to reach the edit field, NVDA will turn on the "focus mode" for you automatically.

Experiment with other navigation shortcuts such as "h" for headings, "g" for graphics and "b" for buttons" and see what you find!


Victor Tsaran

Yahoo! Accessibility Project Manager

Additional Notes

Shortcut Keys for the NVDA Screen Reader

Please note: NVDA key refers to either INSERT key or the key that you have to press in order to execute NVDA commands.

The following is the list of the most essential NVDA shortcut keys:

General

  1. NVDA+T -- read the window title of the currently-active application.
  2. TAB or SHIFT+TAB -- move between objects in the tab order.
  3. NVDA+TAB -- read the object currently in focus.
  4. NVDA+Up_Arrow -- read the current line under NVDA cursor.
  5. ENTER or SPACE bar key -- activate the item under the cursor, e.g., an HTML link, a button, etc.
  6. More shortcuts under NVDA Help menu.

Navigating web pages:

(applicable in "browse mode" only)
  1. CONTROL+HOME -- move to the top of the page.
  2. CONTROL+END -- move to the bottom of the page.
  3. Up and DOWN arrows -- navigate between elements in a linear fashion.
  4. Left and Right arrows -- navigate character by character.
  5. NVDA+F7 -- display a list of all the HTML links and headings on the page; start typing to narrow down your search.
  6. B or SHIFT+B -- move between buttons.
  7. C or SHIFT+C -- move between combo boxes.
  8. D and SHIFT+D -- move between ARIA landmarks.
  9. E or SHIFT+E -- move between edit fields.
  10. F or SHIFT+EF-- move between form fields.
  11. G or SHIFT+G -- move between graphics; NVDA will speak alt text if one is present or will speak a lot of gibberish if no alt text is found.
  12. H or SHIFT+H -- move between HTML headings.
    • 1 through 6 or SHIFT+1 through SHIFT+6 -- move between HTML headings of a particular level.
  13. I or SHIFT+I -- move between list items of an HTML list (note: you have to be inside an HTML list to use this function).
  14. K and SHIFT+K -- move between links.
  15. L or SHIFT+L -- move between HTML lists.
  16. M or SHIFT+M -- move between frames and iframes on the page.
  17. N or SHIFT+N -- skip to the first block of text (non-link elements).
  18. O or Shift+O -- move between embedded objects, such as Flash movies, press SPACE bar to start interacting with object; press NVDA+SPACE to stop interacting with the object.
  19. Q or SHIFT+Q -- move between blockquotes on the page.
  20. R or SHIFT+R -- move between radiobuttons on the page.
  21. S or SHIFT+S -- move between separators (HR tags) on the page.
  22. T and SHIFT+T -- move between HTML tables.
  23. U or SHIFT+U -- move between unvisited links.
  24. V or SHIFT+V -- move between visited links.
  25. X or SHIFT+X -- move between check boxes.
  26. ESCAPE -- move out of the "focus mode".

Why all these shortcut keys?

  • The shortcut keys listed above allow the user to quickly skip between various HTML elements on the page, e.g., buttons, check boxes, edit fields, links etc.
  • Using the shortcut keys above the developer can quickly determine whether they've used semantically-correct HTML, i.e. if pressing "B" or "SHIFT+B" does not find the button in question, most likely an incorrect mark-up was used for it.

More hints

It is also strongly recommended that you skim through the How to use NVDA and Firefox to test your web pages for accessibility article by Mozilla's Marco Zehe as it offers even more tips on the efficient testing techniques with NVDA.

For more information about and help on NVDA visit the "Help" menu or NVDA web site.

NVDA provides a utility called "Display synthesizer" which allows you to see all spoken text on the screen instead of hearing it through synthetic speech. To select the "display synthesizer" mode, choose NVDA menu->Preferences->Synthesizer Settings->Display Synthesizer.

Related Resources

Web AnalystHow many pizza joints does 98004 need?

Pizza in 980042010 will be remembered as the year of the “great pizza war” for downtown Bellevue. Already well supplied in pizza delivery/restaurants, newcomers are vying to feed the round red objects to the new condo and office dwellers.

Zeek’s is peparing to displace Nature’s Pantry on 10th, and I just saw another pepperoni palace going up on Bellevue Way.

I anticipate some fine discounts in 2010…  hopefully they will all join the gluten-free bandwagon.

Yahoo! Developer NetworkMyBlogLog?

Yesterday, rumors surfaced around Yahoo!’s imminent shutdown of its MyBlogLog service. Frankly, it’s no secret within Yahoo! that we’re actively discussing the future of MyBlogLog. However, it’s also true that we have not made any final decisions at this point. Is a shutdown on the table? Sure, that’s an option. But there are other options as well. We know this creates some uncertainty for current MyBlogLog users. While we aren't quite ready to share more details, we promise to keep you posted.

Chris Yeh, Head of YDN

Cameron MollNotable recent job listings

Consider this the Merry Christmas edition. I've combed through the listings on Authentic Jobs and have hand-selected several listings below. Best wishes if you're looking for work over the holidays or thinking about changing employment.

  • GOOD is such a misnomer for a website with GREAT content and design. GOOD is looking for a Lead Web/Interaction Designer in the Los Angeles area.
  • This is a killer opportunity to work with an incredible team, led by the venerable Greg Storey (West Coast team). Happy Cog West is looking for a fantastic Lead Project Manager. "You should live in the San Francisco Bay Area, and you will ideally work out of our digs in Emeryville."
  • Work from anywhere as a Ruby on Rails Developer at Indie Labs LLC, proprietors of the ever-awesome Big Cartel.
  • I'd not heard of Flavors.me prior to their job listing. Their app (currently in private beta) allows you to create an elegant website aggregated from things like Twitter, Flickr, etc. (Watch the video.) They're looking for a Python / Django Expert in the New York or San Francisco areas who's interested in equity in the company and 100% medical/dental/vision coverage.
  • Superkix, a sister company to Flavors.me, is a search engine for "authentic sneakers" (nice adjective choice). They need a Ruby / Rails Expert. Same equity and healthy benefits as their sister site.
  • ZURB creates some pretty impressive web stuff. They need a Designer in their Campbell, California offices.
  • Beyond (love the logo) needs a Web Developer to join their studio "set in resplendent surroundings" in Maidenhead, UK. You'll be working with LAMP and existing frameworks such as Expression Engine, Codeigniter, and Drupal.
  • Hallmark Channel needs an experienced Senior Print Designer who will collaborate with the Vice President of Video/Web and Print on a variety of print projects.
  • Scrapblog's Flex-based online photo scrapbooking and printing app is stellar. I had the privilege of using the beta way back when, and they've continuously improved it. They need an Interaction Designer whose design and markup (XHTML/CSS/MXML) skills are as mad their "foosball and/or hackysack skillz."
  • If you've got a penchant for horses, you've probably already heard of SmartPak, "the unquestioned leader in daily dose packaging of equine drugs and nutritional products." They're seeking a .Net Developer in the Plymouth, Massachusetts area.
  • I've done work for several colleges, so I know it's not an easy challenge but it's certainly a rewarding one. Texas A&M University needs a Web Developer to help develop and maintain the architecture, look and feel, and general elements of the site.
  • How's this for a job title? Cloud Configuration and Infrastructure Engineer needed at Geodelic Systems, Inc., a "high-energy Santa Monica based startup company working on a groundbreaking location aware iPhone App."
  • I've not heard of Patch before, but it looks like it's the 2010 replacement to local newspapers. They need a Front-end Developer with "expert and up-to-date XHTML/Javascript/CSS coding skills" in the New York City area.
  • This looks like a good early-career position at a non-profit in Washington, DC. The American Institutes for Research is looking for a Web Production Associate.
  • User Interface Engineer needed at Facebook. I probably needn't say more.

Web AnalystHello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Daniel Glazman (Disruptive Innovations)FreeRecord multi-boîtiers

J'ai un build multi-boîtiers HD de FreeRecord mais je suis incapable de le tester puisque je n'ai moi-même qu'un seul boîtier... Merci de me filer un coup de main en testant la bête :

  1. téléchargez sur votre disque la cible de ce lien
  2. dans Firefox, faites Fichier > Ouvrir fichier et ouvrez le fichier que vous venez de sauver
  3. installez la version 1.6 de FreeRecord
  4. relancez Firefox et testez sur vos deux boîtiers (si vous n'avez qu'un seul boîtier, le choix ne vous est pas offert donc inutile de tester...)
  5. ajoutez un commentaire à cet article pour me dire si ça marche :-)

Si ça marche, je le passe en prod dès ce soir. Merci !

Anne van Kesteren (Opera)Opera 10.5 pre-alpha

We are getting a little better at this iteration stuff. Opera 10 was released in September and now we are releasing the first public build of Opera 10.5. Yay Desktop Team! Philip was on vacation so the HTML5 media elements (i.e. video and audio) are not yet in, but CSS transformations and transitions are. Hopefully we get this to final soon as it is a major improvement not just in standards support, but also in usability and speed. (And also so we get to try it on Ubuntu!)

Simon Willison (Django)Orderly JSON

Orderly JSON. Essentially the JSON equivalent of RelaxNG’s compact syntax—a pleasant mini-language for describing JSON objects which compiles to the more verbose JSONSchema format.

Henry SivonenHTML5 Parser Improvements

As mentioned earlier, there is an ongoing project for replacing Gecko’s old HTML parser with an HTML5 parser. Significant improvements have landed lately, so if you’ve previously tried the HTML5 parser and turned it off due to crashiness or Web compatibility issues, now is a good time to turn it back on.

What’s New?

  • The correctness and crashiness fallout from the speculative parsing / off-the-main-thread parsing move has been fixed.
  • The core parts of the HTML5 parser have been fixed to pass the applicable tokenizer and tree builder tests from html5lib test suite (except white space handling when reconstructing active formatting elements).
  • <!----> escapes in <script> are parsed in a new magic way that is believed to be Web-compatible but does not require backtracking/reparsing. This is the most significant change. If you are a Web author and are wondering how to make the escapes robust on pages you write, the easiest approach is never to use the <!----> escapes in <script> and to escape script end tags within string literals as "<\/script>".
  • <title>, <textarea>, <style> and <xmp> no longer allow the end tag to be masked with <!--.
  • <table><form> now works in a Web-compatible way.
  • Malformed <ul> and <ol> lists now work in a Web-compatible way.
  • Starting with tomorrow’s nightlies, <frameset> parsing after junk markup works in a Web-compatible way.
  • Numeric character refernces to astral characters now work correctly.
  • Known (non-shutdown) memory leaks have been fixed.
  • Huge text nodes (such as Tinderbox logs) are now flushed incrementally.

The changes to the parser core have also been deployed to Validator.nu.

How to Enable the HTML5 Parser?

First, this isn’t release-quality software. Testing the HTML5 parser carries all the same risks as testing a nightly build in general, and then some. It may crash, it may corrupt your Firefox profile, etc. If you aren’t comfortable with taking the risks associated with running nighly builds, you shouldn’t participate.

If you are still comfortable with testing, download a trunk nightly build, run it with a profile you are only using with trunk builds, navigate to about:config and flip the preference named html5.enable to true. This makes Gecko use the HTML5 parser when loading pages into the content area and when setting innerHTML. The HTML5 parser is not used for HTML embedded in feeds, Netscape bookmark import, View Source, etc., yet. Note that turning the pref on in a profile that you will also be using with Firefox 3.6 is most likely a bad idea, since on the 3.6 branch the pref enables obsolete code.

The html5.enable preference doesn’t require a restart to take effect. It takes effect the next time you load a page.

What to Test?

The main thing is getting the HTML5 parser exposed to a wide range of real Web content that people browse. This may turn up crashes or compatibility problems.

So the way to help is to use nightly builds with the HTML5 parser for browsing as usual. If you see no difference, things are going well! If you see a page misbehaving—or, worse, crashing—with the HTML5 parser turned on but not with it turned off, please report the problem.

Reporting Bugs

Please file bugs in the “Core” product under “HTML: Parser” component with “[HTML5] ” at the start of the summary.

Known Problems

First and foremost, please refer to the list of known bugs.

Simon Willison (Django)The Dangers of Clickjacking with Facebook

The Dangers of Clickjacking with Facebook. theharmonyguy compiled a list of actions that can be triggered on Facebook by a single click, and hence are vulnerable to clickjacking attacks. The list includes authorising malicious applications, posting links to profiles, sending friend requests and sending messages to other users. Why don’t Facebook include frame busting JavaScript on every page?

Simon Willison (Django)PostgreSQL 8.5alpha3 now available

PostgreSQL 8.5alpha3 now available. “Hot Standby, allowing read-only connections during recovery, provides a built-in master-slave replication solution.” Woohoo!

Daniel Glazman (Disruptive Innovations)Microsoft, Word, i4i, XML #2

This is what I wrote last 12th of august:

Microsoft ordered to stop selling Word... And basically most Office products and Visio and and and.

First personal reaction is shock ; second reaction is "oh wait, I4I ????" ; third reaction is "oooooh shit".

Just for the record, and that's something the CNet article does not mention, I4I acquired Grif's assets when it collapsed... Oh, and my old boss Jean Paoli (XML 1.0 co-editor) moved from Grif to Microsoft a while before that.

I4I filed the patent in july 1994, i.e. at a time the idea of a unified DOM and DOM api started percolating slowly into the SGML community. As a matter of fact, the patent is not about the Web but really about SGML. Please note USPTO took four years to validate the patent !!! Four years, that's more than a generation in our web wold. In 1994, the Web was still almost confidential. In 1998, the Web had already changed the world.

I am unfortunately not sure this patent fight is a patent troll. Patents on software are incredibly harmful, they are a too weak shield for innovators that use them and a burden on innovators that don't carry the patent. Let's compare codes, not ideas.

I was right. Microsoft just lost and has to pay $290 million. For those of you who don't really understand what's going on here and how it could affect the XML world, let me explain a bit...

The original authors of XML had two kinds of document instances in mind : the first ones, well-known, conform to a document model. Call it a dtd or a schema or whatever, documents conform to some sort of structural description and only what's allowed by the structure is found in the documents ; validators are the tools that can confirm a given document conforms to a given structure. On another hand, well-formed documents are documents that are XML, with tags and everything, but don't have a structure. You design them as you need them, you're the sole user of the format so you don't really need a specified structure and validation.

"Custom XML" lives between these two species. If you're working with documents conforming to a given document model, how do you insert "custom" tags (no, don't think namespaces, think 1994...) in these documents, retaining validity and still enabling load/edit/save and everything? That's the purpose of i4i's patent.

Does it affect our daily work on XML or does it affect our future work? I don't think so. First, inserting arbitrary XML tags without associated dtd/schema and namespace in a given instance is nowadays probably a very marginal use case. Second, you could always declare an arbitrary namespace for your user-defined tags and let the user-agent treat the document in a single document tree (in other terms, you don't need to separate structure and content and recreate an internal structure for your arbitrary tags, and that is the heart of i4i's patent). Third, i4i's patent was filed at a time the DOM and namespaces did not exist and we now handle compound XML instances in a different way. Fourth, schemas can control where extra XML elements are allowed (the case of DTDs is a bit more complex :-) ).

Let's summarize: Microsoft fell in a nice trap, probably because their Legal Department did not do its job well enough. $290m, that's severe, and a few layers deserve a kick in the butt. I also think the whole debate (and to be more precise the case) is totally rotten. Microsoft was judged on the presence of a "custom XML editor" add-on in Word; but I see no clear facts in the ruling about a technical infringement on i4i's patent. In other words, yes Microsoft implemented and shipped a "custom XML editor" and a "custom XML editor" is described in i4i's patent; but no it's not clear at all they implemented it using the methods described in i4i's patent...

Again, I do believe software patents are a serious threat for Software in general. In this case, codes and algorithms were not even compared and I find it not only ridiculous but also dangerous.

ProgrammableWebBest New Mashups: Count Tweets, Find Graffiti and Watch YouTube TV

Ready to entertain those tired eyes? The mashups we’ve chosen all offer a unique ways to look at ordinary content. In one case, it’s a way to visualize how quickly tweets are shooting around the Twitterverse. Another brings what might be all of the graffiti multimedia on the web to one place. And finally, enjoy the anachronism of watching your YouTube videos in an old timey television.

  • tweet mania: Visualization of the insanely growing total number of tweets posted on twitter (semi live data, synchronized every two minutes). APIs: Twitter. More at our tweet mania profile.
  • tweet mania

  • buffstuff.de: A media observer for street art and graffiti. Integrates images and videos from Flickr, Photobucket, Vimeo, YouTube, Zoomr and other sites. APIs: Flickr, Google Search, Google Translate, Issuu Search, Photobucket, Smugmug, Vimeo, YouTube, Zooomr. More at our buffstuff.de profile.
  • buffstuff.de

  • Mini YouTube TVs: Customizable YouTube players that can be embedded. You can customize the players by specifying the content, and the player provides access to all the videos in that feed. APIs: YouTube. More at our Mini YouTube TVs profile.
  • Mini YouTube TVs

    Rick Jelliffe (Topologi)Microsoft loses appeal on Custom XML - What else would be affected? Some XForms? Some XSLT? Some Schematron?

    Microsoft has lost its appeal on the Custom XML feature in Word 2007! To prevent confusion, the removal only applies to one feature in Word 200x that no-one would be using casually on homemade or general office documents. I wrote...

    developerWorks: Web DevelopmentUsing the Digg REST API

    Digg is a social news Web site where users can submit news stories and links and also rank their popularity. Like most entries in the social networking genre, this Web site also provides an API that allows developers to programatically access the site&aposs features. This article will show you how to use that API.

    Ian Forrester (BBC Backstage)Wow! The universe as far as we currently know...

    <object height="505" width="640"><param name="movie" value="http://www.youtube.com/v/17jymDn0W6U&amp;hl=en_GB&amp;fs=1&amp;hd=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed allowfullscreen="true" allowscriptaccess="always" height="505" src="http://www.youtube.com/v/17jymDn0W6U&amp;hl=en_GB&amp;fs=1&amp;hd=1" type="application/x-shockwave-flash" width="640"></embed></object>

    If you've never seen the start of Contact (the film with Jodie Foster) you're not only missing out on a great film but also a fantastic opening sequence which rolls back from present day earth out beyond out solar system and the milky way, way into the deep darkness of space. The Known Universe does the same but goes as far as we currently know (16.7 billion light years). Its amazing and worth watching in HD at full screen if possible.

    The Known Universe takes viewers from the Himalayas through our atmosphere and the inky black of space to the afterglow of the Big Bang. Every star, planet, and quasar seen in the film is possible because of the world's most complete four-dimensional map of the universe, the Digital Universe Atlas that is maintained and updated by astrophysicists at the American Museum of Natural History. The new film, created by the Museum, is part of an exhibition, Visions of the Cosmos: From the Milky Ocean to an Evolving Universe, at the Rubin Museum of Art in Manhattan through May 2010.

    Comments [Comments] Trackbacks [0]

    Ian Forrester (BBC Backstage)HP doesn’t care about black people

    <object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/t4DT3tQqgRM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed allowfullscreen="true" allowscriptaccess="always" height="344" src="http://www.youtube.com/v/t4DT3tQqgRM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" width="425"></embed></object>

    Amusing little video about the new HP webcams which don't track black faces, but will happily follow a white face. Racist no but Black Dezy did have me chuckling, specially since he bought one. Recognition software isn't always what it should be, for example some of those voice recongnition systems can't deal with the deepness in my voice and never catch any of the numbers or words I use. Very frustrating when you know your not the problem in the chain. I expect the camera just can't cope wit the lighting of the store/office and if you shine a light from the front it will work.

    Comments [Comments] Trackbacks [0]

    Ian Forrester (BBC Backstage)Orange offer MMS to Twitter

    Orange and Twitter

    I only just saw this on the twitter blog....

    The UK has had an outsized cultural impact on the world. From music to sports to literature... and now – MMS with Twitter.

    Today, not only has Orange UK turned on Twitter SMS, but it has added a first-of-its-kind special enhancement. Orange UK users can also send picture messages (MMS) to 86444 in addition to text messages because of a site that Orange UK has created called Snapshot. The best part is that it is incredibly simple to use:

    1. Take a photo on your Orange mobile phone 2. Select 'Send via MMS' or 'Send multimedia message' 3. Send it to 86444

    Twitter does not charge for this service. It's just like sending and receiving messages with your friends — your carrier's standard messaging rates apply. Give it a try by sending a text message to 86444 with the word "START." This means that with the same shortcode, 86444, UK users can tweet via SMS with Vodafone, O2, and now Orange.

    Comments [Comments] Trackbacks [0]

    Yahoo! Developer NetworkHack U sets foot in Bangalore: Coverage from IIIT-B, December 4-6, 2009

    After two successful Open Hack days in Bengaluru, better known as Bangalore, it was about time for a University Hack Day. The chosen college was the International Institute of Information Technology, a Deemed University, popularly known as IIIT-B. Yahoo! has a strong presence in Bangalore, and IIIT-B is well known here for its vision, "to contribute to the IT world by focusing on education and research, entrepreneurship and innovation.". So, hosting the first ever Hack U in Bangalore at IIIT-B was a good choice.

    Earlier this year Hack U was conducted in IIT Delhi and IIT Mumbai. IIIT B gave a real warm welcome to all Yahoos, literally, because the air conditioning in the conference room had gone for a toss :). Jokes aside, it was amazing to see students turn out in huge numbers for the Hack U kickoff. They walked in all charged right after a grueling exam, which took us by surprise. Exam hangover and this bunch of students? Nah!





    Prof. S. Sadagopan, a very well known and respected person in the industry and academia, flagged off the event with his pep talk. He said that coding and creating something useful and innovative is close to playing God, and as future developers, Hack U provided a great platform for the students. The mood for the Hack U was set by Paul Tarjan who used pictures and Hack examples from previous Hack U events around the world to inspire the students. Students were introduced to the Yahoo!'s tech support crew and many of their questions about the program, registration, etc. were answered.

    There was not much talk that night, we never wanted to hold all the students in a room especially after their exams. Yahoo! had arranged a DJ on campus for everyone to just unwind and unwind they did! When we first saw the dance floor, it looked pretty sad. But within a few minutes, the students shed their inhibitions and filled the hall. Remixed Bollywood hits, electric atmosphere, food, and fun made a fitting start to the Hack U.

    Next morning, talks on various Yahoo! technologies were kick-started again by Paul. He described the difference between Hacking and Cracking. His energy and enthusiasm seemed to rub off on the students. The wizard hat that Paul wore was a nice touch. Paul showed how to mix and match various technologies to create something innovative. He emphasized that developers must always look to learn new programing languages and always be willing to experiment. He said a Hack idea can be anything that is bothering you and you want fixed.

    Philip Tellis followed Paul with his YUI talk. He spoke about how easy it is to do fantastic presentations with the YUI libraries. He managed to demo a few hacks and sample code. His approach was to tell students how great presentations can be done with very little code. During his talk, I was busy hacking up a sample demo for my talk on getting data for any hack from the Internet. Student hackers respond well when examples and code are shown.

    After a small break, we continued with talks on YQL, Pipes, and BOSS. I did the YQL and Pipes talk, and showed many examples using these tools. I had managed to mashup YQL, Pipes and YUI to show some of the pictures from Flickr with HackU tags. A lot of students were interested in the cool user interface that Pipes provides. They all were equally impressed with the ease of use of the YQL interface. I pointed out that any resource on the Web is a potential data source. Using examples on how to scrape a page and fetch useful data from it, I demonstrated the power and simplicity of YQL. Throughout the presentation, students asked insightful questions which won them cool Hack U t-shirts. Some students even answered questions.

    Saurabh Sahni followed up with a talk on BOSS. He showed various hacks that used BOSS effectively to solve some search related problems.The Hack U timer went off at 1:30 pm after a quick lunch. The Hack Timer was put together on the spot by a member of the crew. Paul had a couple of deep dive sessions and Arnab Nandi covered the Yahoo! GeoPlanet APIs and FireEagle. Since the event was in Bangalore, we had great support from many Yahoo! engineers who volunteered to come on a weekend and interact with the students. Most of us were moving around the campus and spoke with as many students as we could, to understand their ideas and help them with API documentation, code samples, and idea improvements. It was fantastic to see many students serious about ideas and eager to learn new technologies. Many ideas were around the social networking space. A lot of students wanted to know more about YQL and Yahoo!'s other APIs Yahoo!. Many worried that their ideas had already been implemented.

    In general, students were surprised when we kept telling them that any technology could be used in their hacks, that it didn't have to be restricted to Yahoo!. A couple of student teams had multiple hack ideas. The buzz around the college was really great. And every Yahoo participant seemed to enjoy the interactions.

    The discussions went on into the night. We all initially thought that the students would be exhausted after exams, but energy levels and interest was truly commendable. Many student teams had ideas around Yahoo! Mail and how to use mail to promote social networks. One of the winning hacks involved having templates for Yahoo! Mail that would make it easier to pre-define a set of mail text. There was another hack for tracing friends' locations in a map via emails sent between the sender and his/her friends. 45 hacks were registered and some 30 demos were presented.

    The Top 3 hacks were My Collect, Hack on Update, and MHack. Other hacks that walked away with prizes included Ripples and Flickr Memory Game. YQL, Flickr, Maps, PlaceMaker APIs, and BOSS were among the most popular technologies used by students during their ideation and hacking. After speaking with many in the Yahoo! crew I can gather that the students needed a lot of help when it came to web technologies. Many did not know the Linux-Apache-MySQL-PHP (LAMP) stack or JavaScript. This might explain why YUI was not among the most popular in this event.

    Overall, I think it was a great experience both for the students and the Yahoo! crew. The college facilities were really good and the help staff was supportive. I think that IIIT B has set a new benchmark for student involvement and enthusiasm for Hack Us in Indian universities. The YDN giveaways: stickers, start-up kits, and t-shirts were a hit among students.

    A big shout-out to Saurabh, Rajagopal, Nikhil, Rajesh, Arun, Jayasurian, Harsha, Arnab, Mithun, Gopal, Natarajan, Tom, Arun, Kiran, Prajwal, Suren, Paul, Philip, and other members of the the Yahoo! technical crew who spent a good part of their weekend helping out and discussing ideas with students. Some of them also had useful inputs for this post.

    Yet another successful Hack U in the Yahoo! kitty, and the sixth in 2009.

    2010 here we come!

    Subramanyan Murali
    YDN Evangelist, Platform Engineer, Hacker
    bangalore.yahoo.com

    Simon Willison (Django)Socket Benchmark of Asynchronous Servers in Python

    Socket Benchmark of Asynchronous Servers in Python. A comparison of eight different asynchronous networking frameworks in Python. Tornado comes out on top in most of the benchmarks, but the post is most interesting for the direct comparison of simple code examples for each of the frameworks.

    Anne van Kesteren (Opera)Google loses?

    On The Official Google Blog: Open systems win. Fail.

    Simon Willison (Django)The Worst Ideas of the Decade: Vaccine scares

    The Worst Ideas of the Decade: Vaccine scares. “The movement blaming vaccines for causing autism emerged in the early 2000s, and it was one of the most catastrophically horrible ideas of the decade.”

    Simon Willison (Django)New Redis ZINCRBY command

    New Redis ZINCRBY command (via). Just added to Redis, a command which increments the “score” for an item in a sorted set and reorders the set to reflect the new scores. Looks ideally suited to real time stats, and I’m sure there are plenty of other exciting uses for it.

    Simon Willison (Django)New Facebook clickjacking attack in the wild

    New Facebook clickjacking attack in the wild. I’m not sure why Facebook don’t use frame-busting JavaScript to avoid this kind of thing. The attack is pretty crafty—a Facebook page is positioned with everything obscured bar part of the blue “share this” button, and a fake “Human Test” asks the user to find and click the blue button to continue.

    Simon Willison (Django)Django | Multiple Databases

    Django | Multiple Databases. Russell just checked in the final patch developed from Alex Gaynor’s Summer of Code project to add multiple database support to Django. I’d link to the 21,000 line changeset but it crashed our Trac, so here’s the documentation instead.

    Yahoo! UI blogCrockford on JavaScript: A Public Lecture Series at Yahoo!

    Crockford on JavaScript

    Since 2007, Douglas Crockford has been developing (and delivering) a lecture series on the JavaScript programming language. Many of those lectures have been recorded and made available as part of the YUI Theater video series. Douglas has delivered many of the talks at conferences around the world.

    In the first few months of 2010, Douglas will be delivering the full series of JavaScript talks with updated content as part of an event entitled “Crockford on JavaScript”. The event will take place over five evenings in January, February, and March at Yahoo! headquarters in Sunnyvale, CA. Attendance is free, but seating is limited — a full schedule including links to RSVP is available on the event website.

    Thanks to YUI engineer Allen Rabinovich for the poster design.

    Daniel Glazman (Disruptive Innovations)Grille des programmes dans FreeRecord #2

    C'est fait et disponible soit par votre Gestionnaire de Modules Complémentaires dans Firefox soit depuis le site.

    Dave Beckett (Yahoo!)Merry Winter Festival (Northern Hemisphere) with Rasqal, Redland, Triplr releases and updates.

    Merry winter solstice to those in the northern hemisphere. Hope the summer is doing fine for the southern folk.

    Co-incidentally, I released some software:

    • Rasqal 0.9.17“the new query engine one” – rewritten internals with a new query engine that handles more of SPARQL 1.0 (95%+) and will be able to add features much easier for SPARQL 1.1 changes. ABI/API change too. 15 months of changes summarised in the release notes.
    • Redland 1.0.10 and bindings 1.0.10.1 to go with it – new Virtuoso triplestore backend developed by OpenLink (in 2008; sorry it took so long) plus support for the new Rasqal. Release notes.
    • Triplr upgraded with the above packages which is especially useful for the Triplr RDF Query (a SPARQL endpoint). Triplr news

    That is all. Early next year: switch from SVN to GIT and start on raptor2 ABI/API break.

    Simon Willison (Django)A quote from Rafe Colburn

    If you’re just linking to the stuff that people are all talking about on Twitter or that floats to the top of Hacker News, you may as well give up on your blog, as far as I’m concerned. Everybody already sees that stuff. You have to dig deeper to offer more interesting information, and an RSS reader is the best tool you can use for that purpose.

    - Rafe Colburn

    Simon Willison (Django)A quote from David Simon

    But I guess where I was originally going is that nobody wants to write endings in television. They want to sustain the franchise. But if you don’t write an ending for a story, you know what you are? You’re a hack. You’re not a storyteller. It may not be that you have the skills of a hack. You might be a hell of a writer, but you’re taking a hack’s road. You’re on the road to hackdom and there’s no stopping you because stories have a beginning, a middle, and an end.

    - David Simon

    Simon Willison (Django)Another leak, the worst so far

    Another leak, the worst so far (via). “Arweena, a spokes-elf for Santa Claus, admitted a few hours ago that the database posted at WikiLeaks yesterday is indeed the comprehensive 2009 list of which kids have been naughty, and which were nice.” The first comment is great too.

    ProgrammableWebFord’s SYNC System to Enable “Cars as a Platform”?

    fordlogoDevelopers working on mashups may want to take note of a recent announcement by Ford that it intends to make SYNC, it’s on-board vehicle system, accessible to developers next year. The general implication is that millions of vehicles could become platforms for all kinds of mashups and apps that integrate with various parts of the SYNC system, including its stereo and navigation modules.

    The idea behind the “Mobile Apps Connectivity” concept is to provide an easy way of integrating applications that run on mobile devices with SYNC, thereby allowing drivers and passengers to control the apps using built-in elements of the SYNC system, such as voice controls, in-dash displays, and more. Given Ford’s recent announcement to convert SYNC-enabled vehicles into WiFi hotspots, there is good potential for this hybrid SYNC-mobile app approach to deliver value-added tools and applications.

    As Ford highlights in this blog post, the car manufacturer plans to utilize an App Store model for distribution of apps that work with SYNC:

    Ford is joining millions of its customers in embracing the app marketplace. Studies show what was a nonexistent niche just three years ago is expected to blossom into a $4 billion industry by 2012. [...] Ford and SYNC will answer the consumer demand by offering the only connectivity platform available for drivers to safely manage their mobile applications in the car using voice commands and buttons on the steering wheel.

    Ford plans on making the SYNC API available to developers sometime in 2010, although several teams of students at the University of Michigan-Dearborn worked on some pilot applications using iPhone-based apps that were integrated with the SYNC system via bluetooth. The students were the first ever to sign Ford’s new SYNC Developers’ License, which allowed them to gain early access to the SYNC API currently in development.

    Ford Motor Company SYNC system reviewed by students and instructors. Photo by: Sam VarnHagen/Ford Motor Co. (12/21/09)

    Ford Motor Company SYNC system reviewed by students and instructors. Photo by: Sam VarnHagen/Ford Motor Co. (12/21/09)

    The SYNC API itself is likely to be device-independent, allowing drivers to use all kinds of mobile devices in a unified way. This is certainly an exciting new development, and we’re looking forward to seeing how this plays out next year. And of course, we’re hoping to see apps that improve the driving experience while at the same time making the roads safer.

    Micah Dubinko (Yahoo!)Failure as the secret to success

    Excellent article in Wired, perhaps a good explanation of my career. :-)

    Dunbar observed that the skeptical (and sometimes heated) questions asked during a group session frequently triggered breakthroughs, as the scientists were forced to reconsider data they’d previously ignored.

    Which sounds like a fairly typical spec review at Mark Logic. Hint: we’re hiring–email me.

    -m

    developerWorks: Web DevelopmentManipulate CSV data with Python and pureXML

    IBM DB2 pureXML allows you to store XML data natively in a relational database management system, giving you the power and flexibility to report on this data without disturbing the advantages that its XML format offers. In this tutorial, you will learn how to connect to a DB2 database from the Python programming language, importing data about population from the United States Census Bureau. You will use Python to convert this CSV file into XML, before inserting this XML data natively into DB2. Finally, you will use Python to create a command-line application that produces some informative tables that you can access through a menu system.

    developerWorks: Web DevelopmentCreate a greener technical environment

    How do you know if your IT is green? Examine techniques for creating a greener technical environment, and explore some of the circumstances which may make those techniques less green than you think.

    Ian Forrester (BBC Backstage)Learning XQuery

    I'm convinced that Xquery is somewhat the non-elegent child of the xml family of technologies. Every single technology from XSL to Xpointer, Schema to XMLencryption seem to pick part of the puzzle and do that bit very well. So you can forgive me for thinking Xquery would only be useful for querying data from a xml database, somewhat the SQL of the XML world right? Nope, in actual fact its not only SQL but also PHP and the XML doesn't even have to be in a database at all. The crossovers with XSL is quite shocking for such a elegent family. Fear not, Xpath forms a large part of Xquery meaning us XSL lovers can jump straight in and feel a little at home with its strangely non-xml syntax, I actually quite like writing xml to create/transform xml. And if things get a little too weird in Xquery land, you can run for the beach by telling Xquery to do a XSL transformation on a tree of data instead.

    Although it doesn't quite fit, its actually darn powerful and beats messing with XSP or other templating languages. For example, in about 6 easy to understand lines of Xquery, I was able to pull down a XHTML document, rip off its head element and append the body inside a ATOM feed. I could do the same with XSL but it would be much more lines and the way Xquery is setup, it seems to make more sense. One of the big issues people have with XSL is that it doesn't know anything about its environment. So for example calling the present time would require looking up a webservice or some other external logic like PHP, XSP, JSP, etc. Well with Xquery, you get all that type of logic which you could even pump into a XSL transform.

    I'm learning Xquery right now mainly through Exist DB and this nice wikibook, which I converted to PDF using the wikibook system for offline reading and reference on my Ebook reader.

    Comments [Comments] Trackbacks [0]

    Tatsuhiko Miyagawa (Six Apart)Obama vaccinated

    P122009PS-0001

    via www.flickr.com

    "This is the best-dressed nurse I've ever seen. "

    Yahoo! Developer NetworkSetting an Open App's detail images in 8 easy steps

    If you’re just getting started with the Yahoo! Application Platform (YAP), you should be aware that you’ll need to define a few parameters in the YAP dashboard before your app can be pushed live. Four of these required fields concern the images that represent the app in various contexts. This brief tutorial walks through the steps for defining these images and clarifies the requirements.

    screenshot showing application icons

    Screenshot showing yahoo.com icons. Image credit: YDN


    Prerequisites

    • An Open App. You can easily create one of these using the YAP dashboard
    • 4 images for your app (all dimensions in pixels):
      • Application Icon: 64 x 64 jpg, gif, or png. This is the image that appears in the top left of an app’s border on apps.yahoo.com
      • Favicon: 16 x 16 jpg, gif, png, or ico. This image represents your app in event notifications
      • Yahoo.com icon: 20 x 20 gif. This is the image that appears in the list of applications on the Yahoo! homepage (see screenshot above)
      • Screenshot: 300 x 250 jpg, gif, or png. This image is displayed when a user clicks Options—>About in the app border on apps.yahoo.com
    • A publicly accessible server to host these images. Generally, you would put them on the same server that is hosting your app code, but you could put them anywhere online. Flickr is a good option.

    Steps

    1. Open the YAP dashboard
    2. Click on your app’s entry under the My Projects heading
    3. Click the Details button in the navigation bar
    4. Enter the URLs for each of your app’s images under the Project Images heading. After entering an URL and tabbing/clicking to the next field, a preview image will appear under the URL input box if the image URL is valid.
    5. Click the Save button at the bottom of the form. Note: if there are any required details left empty, e.g., Project Name, Description, Supported Languages, etc., the Save button will be deactivated.
    6. Click the Open Application button in the navigation bar
    7. Click the Update Live button to update the settings associated with your app, including the image URLs.
    8. View your app and confirm that the correct images are being used. Note: the Yahoo! homepage processes icons in batches, so changes may take 24 hours to appear.

    More info


    Erik Eldridge
    Yahoo! Developer Network

    Roger Johansson (456 Berea St)If you must use a dropdown menu, make sure it’s keyboard friendly

    Dropdown menus (a.k.a. flyout or DHTML menus) are not on my personal list of favourite features to use on a website. Many others seem to like them though, and that’s fine as long as such menus are implemented in an accessible way, which to a large extent means making them keyboard friendly.

    Unfortunately, most dropdown menus I come across in the wild are not keyboard friendly.

    Read full post

    Posted in , .


    Footnotes

    Updated: .  Michael(tm) Smith <mike@w3.org>