Today’s running session smashed me down totally (but I’ve managed to improve my record for 10 km by over 2 mins, what has a great impact on my overall mood :)), so I’ll be brief today: 

Data in the fast lane
 
First, very interesting article I’ve found yesterday. It covers the latest Microsoft announcement - their Research Labs have set a new world record (today is an evening of records, it seems!) in data sorting (including I/O - both reading and writing to persistent storage). Why should we care? Such solutions are a great R&D stuff that may end up in new distributed computing products quite soon - it’s worthy to keep yourself updated about what’s fresh and new.
So, JavaScript is a plain stuff for dummies?
 
I’ve always have a problem with JS - I’ve never treated it as a serious technology (I think I’ve mentioned that several times before), but my latest findings prove me wrong. It’s amazing, but people have already created a lot of interesting frameworks that make you able to desing and develop really complex and robust solutions you’d never think of (in context of JavaScript). Two things I’m quite impressed with are:
  • deferred objects in jQuery
  • callback objects in jQuery
First of those make you able to encapsulate every asynchronous action in an object. What can you do with such an object? Add handlers that are called when object is resolved (asynchronous action is complete - separately for success and fail), add more asynchronous action to the object (so you can wait for all them being completed) and manually mark object resolved. This brings a great palette of options: you can have dynamic content loading based on other dynamic content loading; you can erase dynamic content regardless of which page part it’s loaded in, when somebody logs out (without postbacking full page). Isn’t it awesome?
Callback objects are very similar in use, but they are not bound to asynchronous actions - you can freely decide when they should be executed.
You can read more about those 2 concepts here: