news categories
Some of the newsfeeds can be viewed by category; choose one of the subjects below.Tech- & Geek news
News 4 (techs &) geeksTechnology news
Linux
Linux newsLinux Central headlines
Linux software announcements
Linux tips'n'tricks
Other OS'es
BEOS softwareBSD news
Mozilla
Mozilla relatedIT
SECURITYTelephony/VOIP
Networks
Internet Technology News
Webdev
WebdevelopmentWebdev::css
Webdev::javascript
WHO news
WHO newsfeedsDutch news
Dutch newsDutch weblogs
Dutch weblogsMore dutch weblogs
Podcasts
Dutch podcastsradiocast.nl
Dustin Diaz :: Web Standards with Imagination
url: http://www.dustindiaz.com/Matador: The Obvious MVC Framework for Node
Yeah, there s already other frameworks out there for Node that do some neat things. But today @dustin and myself launched an MVC Framework for Node.js architected to suit MVC enthusiasts. Introducing Matador! Providing sane defaults and a simple development structure, scaling as your application grows. Features a flexible routing system, easy controller mappings, basic request filtering, and a handy scaffolding tool to get up and running quickly. Rather than explaining more here, have a play yourself. Cheers!
Sandboxing JavaScript
Today I fired off a tweet that in some developers eyes may have been controversial
But to the point, the task at hand I was trying to solve was to bundle a set of core modules built by Ender along side my own library (that uses Ender), and not populate the global space. More after the jump
Crouching Ender, hidden command
For those of you following Ender (the open micro-to-macro API for composing your own custom JavaScript library), today we have a fresh new CLI (command line interface) that will help you manage your Ender packages. It s pretty rad ( cause, you know, we like it) and it makes it extremely useful when maintaining one Ender project, to another. So without further fuss, let s cut this post short and check out this short video composed by everyones favorite JavaScript hipster and core Ender contributor (heh, there s only two of us), @fat.
Ender.js - The open submodule library
With great excitement it brings me pleasure to announce an all-to-predictable endpoint of recent events ? Ender.js, an open submodule library. Ender is a small yet powerful JavaScript library composed of application agnostic opensource submodules wrapped in a slick intuitive interface. At only 7k Ender.js can help you build anything from small prototypes to providing a solid base for large-scale rich applications.
Qwery - The Tiny Selector Engine
It s true. The world needs another JavaScript DOM Selector Engine. So without further fuss - introducing Qwery - The Tiny Selector Engine. It s a port from where Simon Willison left off with his getElementsBySelector in 2003, and believe it or not, this is exactly where jQuery started.
Qwery supports all the basic CSS1 & CSS2 selectors, plus the additional (most important) attribute selectors from CSS3. Additionally it allows multi-selects (div,p) as well as context-aware selectors (like jQuery.find()).
Last but not least, it s open source awaiting your valuable feedback to make it leaner and faster. There are tests to ensure its integrity, however sans-benchmarks. Although, it should be noted it does support querySelectorAll when available in the browser (to bring 2003 to modern times).
Klass
The concept of formal classes in JavaScript has led the internet develosphere amuck since the dawn of time day JavaScript was invented. From Crock s explanation on prototypal inheritance to Dean s Base one and two, from Prototype s Class to Mootool s Class, and from debunking objects to getting back to basics, the JavaScript community thrives on systems that help make working with JavaScript classes easier ? despite it still being a "classless" language.
Well, I m here to introduce one more that will keep things simple. More after the break.
Smallest DOMReady code, ever.
This evening after tooling around with trying to optimize bits and pieces from a recently formed project ($script.js - async JS loader & dependency manager), I decided to look further into shortening the DOMReady code - since part of the goal is to have the smallest amount of code possible. Read on to see the solution.
$script.js - Another JavaScript loader
God forbid a JS utility suffixed with another in the title. But there was no other option. Thus introducing $script.js: an asynchronous JavaScript loader and dependency manager with an astonishingly impressive lightweight footprint of only 643 BYTES! (yes, you read that correctly). Like many other script loaders, $script.js allows you to load script resources on-demand from any URL and not block other resources from loading (like CSS and images). Furthermore, it s unique interface allows developers to work easily with even the most complicated dependencies, which can often be the case for large, complex web applications. Check out the slick interface after the jump.
About that slowness on Twitter...
One #newtwitter feature we love is "infinite scroll"- we fetch more tweets in the background well before you can reach the bottom of a timeline, so that you can keep reading without the added friction of clicking a button and waiting. This turned out to be slow this last few weeks. Figure out why after the jump.
Autocomplete Fuzzy Matching
Autocomplete widgets live in nearly every system that requires filtering items via input against large amounts of data. This includes address books, email contacts, restaurants, even social graphs. However, in most matching algorithms, Engineers don t take into account that people don t know how to spell AND/OR are lazy. Thus here is a really simple solution to work around this problem, and in my own opinion, vastly improve the user experience.
JavaScript Cache Provider
Every developer knows the importance of caching. From end to end you have caching on the backend (memcached, xcache, etc.) to prevent your databases being lit on fire, edge caching on content delivery networks (CDN s) in hopes that your browser will cache assets it sees more than once. And of course client-side caching so you don t repeat expensive operations (albeit algorithmically or high volume repitions). Here is a solution in JavaScript to help you out with the latter, with optional support for HTML5 Local Storage.
JavaScript Animate
Sort of an old topic for these times, but I thought I d share a small snippet I wrote about a year ago for the live updating Twitter widgets which required a tad bit of animation without the use of a library. Of course, anyone doing a large amount of animation will use library or, when available in a browser - CSS transitions.
Asynchronous method queue chaining in JavaScript
Chaining. It s an extremely popular pattern these days in JavaScript. It s easily achieved by continually returning a reference to the same object between linked methods. However one technique you don t often see is queueing up a chain of methods, asynchronously, by which functions can be linked together independent of a callback. This discussion, of course, came from a late work night building the @anywhere JavaScript API with two other mad scientists, Russ D Sa (@dsa) and Dan Webb (@danwrong). Anyway, let s have a look at some historical conventions and compare them to newer ones.
Something changed
And not just this website. Things are different now like, for example, my friends, my interests, and to sound nerdy, the web. All different for the better. I ve been a bit under the blog radar this last year. @Erin and I have been busy with our separate jobs, also creating our joint photography effort with Flash Bullet having done a dozen shoots the last few months. I ve remained stagnant with my own personal photography having not being able to fully recover from last years 365. Work @Twitter has kept me busy. A small group of us (@dsa, @todd, & @danwrong) had been heads down for the last two months trying to release something that we think will effect billions of lives called @Anywhere. We think it s great.
Unofficial Twitter Widget Documentation
So, the Twitter Search Widget has officially launched. And the installation is fairly self-explanatory (as a matter of fact, I don t think we even explained it at all??). But nonetheless, if you haven t checked it out, it s worth doing that now. The new widgets are hot! Ok. On with this.
Twita@talinkahashify your tweets
Well hello everyone. I had previously tweeted about this a few weeks ago... but sometimes I forget more folks follow this blog than my Twitter. If any of you use our Twitter API to embed your latest statuses on your website, here is a simple little script that will do a few niceties for you. This includes linkafying, hashtagifying, and of course the most important, atify (aka: "at replies"). Hit the jump to find out more on how to use it.
Me on Photography and JavaScript
I figured the only way I can keep someone s attention on this blog while talking about Photography is to also talk about JavaScript. Since I have a vested interest in both, and with very good reason, they make a good pair. As some of you might have remembered, I wrote a post not too long back on Photography where I discussed some of the basics and also a brief comparison of JavaScript and Photography. With that said, if you like one and not the other, this should still at least be entertaining and educational. If you like both, then you re in for a treat of nerdy euphemisms and theories.
RegEx Brain Teaser Part II
In July I published a post calling out puzzle enthusiasts to solve a programming brain teaser that involved grouping duplicates. Some solved it with a hefty amount of code, others used a savvy regular expression. Now I d like to invite you to yet another brain teaser, except this time your answer must require a regular expression. If you solve it, I would urge you to buy yourself a t-shirt ;)
Get your Gmail Stickers
Yeah. Really. Send us a snail-mail with a 42 cent stamp, and we ll give you some stickers! Also, this is the first showcase of any of my photos on behalf of Google :) Cheers!
Parenthetical back matching in regular expressions
Let me repeat, I still don t like the taste of