Fake Kingston DataTraveler 310 DT310 256 GB usb flash drives are being sold on eBay for less then $25 US. Most are eBay sellers based in Asia. Listings are starting to appear for sellers registered elsewhere. Multiple item listings are frequently used.

  • WebSockets: WebSocket represents the next evolutionary step in web communication compared to Comet and Ajax.

WebSockets is a technique for two-way communication over one (TCP) socket, a type of PUSH technology. At the moment, it’s still being standardized by the W3C; however, the latest versions of Chrome and Safari have support for WebSockets.

Craig Kitterman and Paul Batum, whom you might know of from his work on Fluent NHibernate gave a talk: Hot from the Labs: HTML5 WebSockets

  • RIA/JS

Brad Olenick of the RIA team delivered a talk: Building Data-centric N-tier Applications with jQuery.

 What is the underlying OS that runs this package? The Drawbridge paper details their work with no less than five operating systems that have been redesigned to run Drawbridge packages:

  • Windows 7. For those who think running a Windows 7 application on Windows 7 is not all that groundbreaking, remember Microsoft is trying to demonstrate portability across multiple operating systems. What better place to start than with your current desktop operating system. Remember also all the other benefits of a Drawbridge package.
  • Windows Server 2008 R2. Similar to Windows 7, the server platform must be supported to provide for a smooth transition.
  • Windows 8. The Drawbridge paper doesn’t call it “Windows 8”, they simply name it the “pre-release of the next version of Windows”. No surprise here as it can be assumed Windows 8 will be at least as capable as Windows 7.
  • MinWin. Here’s where it gets interesting. If most of the OS functionality is packaged into the application, why deploy onto a full version of Windows 7? MinWin fits the bill quite nicely and fulfills the promise of a lighter, more agile Windows operating system.
  • Hyper-V. The Drawbridge package runs at Ring 0 while the hypervisor continues to run at Ring -1. This might be useful for virtualizing user applications while imposing less overhead than a traditional guest partition with a full OS.
  • Barrelfish. A separate team of researchers have started, but not finished, an implementation of Drawbridge on Barrelfish. This is a research OS under development. It was started from scratch to explore operating system concepts for scaling across hundreds of CPU cores. Barrelfish is some awesome technology that rethinks many OS concepts from scratch. If it could be modified to run Drawbridge apps it would gain a huge library of existing software. Drawbridge could help a research OS like Barrelfish come to market more quickly.

Why can’t developers estimate time?

We can’t estimate the time for any individual task in software development because the nature of the work is creating new knowledge.

The goal of software development is to automate processes. Once a process is automated, it can be run repeatedly, and in most cases, in a predictable time. Source code is like a manufacturing blueprint, the computer is like a manufacturing plant, the inputs (data) are like raw materials, and the outputs (data) are like finished goods. To use another analogy, the reason Starbucks makes drinks so quickly and repeatably is because they invested a lot of time in the design of the process, which was (and is, ongoing) a complex and expensive task. Individual Starbucks franchises don’t have to re-discover this process, they just buy the blueprint. I’ll leave it as an exercise to the reader to infer my opinion of the Costa coffee-making process.

It’s not actually always a problem that development time is unpredictable, because the flipside is that so is the value returned. A successful piece of software can make or save vastly more than its cost. Tom DeMarco argues for focussing on the high value projects for exactly this reason. Note that this does require a value-generation mindset, rather than the currently-prevalent cost-control mindset. This is a non-trivial problem.

People in general just make shit up

It’s not just developers that are bad with estimates either. Everyone at some point is just winging it because it’s something they’ve never done before and won’t be able to successfully make a judgement until they have.

As a community we need to get away from this. If we don’t know, we don’t know, and we need to say it. Clients who see regular progress on tasks they were made aware were risky (and chose to invest in) have much more trust in their team than clients whose teams make shit up. It’s true! Srsly. Don’t just take my word for it, though - read David Anderson’s Kanban

  • Anyone should be able to:
    • Build their own PaaS in a snap
    • Run on any cloud (public/private)
    • –Gain multi-tenancy, elasticity… Without code changes.
  • Provide a significantly higher degree of control without adding substantial complexity over our:
    • Language choice
    • –Operating System
    • –Middleware stack
  • Should come pre-integrated with a popular stack:
    • Spring,Tomcat, DevOps, NoSQL, Hadoop…
    • Designed to run the most demanding mission-critical apps


Node.js logo 150x150Node.js contributor Tim Caswell pushed an initial release of WebApp, a framework for building desktop GUI apps with Node.js, to GitHub. The stated goal is to “Give node developers a way to have a desktop GUI to their node servers using HTML5 + CSS3 as the GUI platform.”

It’s still very early in the project’s life - Caswell notes that he’s not even sure he will continue developing it. WebApp is currently built on WebKitGTK+.

Caswell also has a GitHub repository for a project called node-gir, which he describes as:

Node-gir is node bindings to the girepository library making it possible to make automatic and dynamic calls to any library that has GI annotations installed.

This will make it possible to script a gnome desktop system entirely from node much in the way it’s done today with Seed, GJS or pygtk.

This would require you to know some C to build applications, though. WebApp would let you build apps in Node.js using only HTML, CSS and JavaScript.

Caswell works for HP on WebOS, and also runs HowtoNode.

Whether you know it or not, when you visit the Cloud Power site you’re most likely experiencing a service or application hosted on or utilizing the Windows Azure platform.  Whether it’s the social media experience for videos hosted on the Microsoft Showcase site or visiting our Cloud Conversations section on the Cloud Power web site, you’re interacting with services utilizing the Windows Azure platform.

 

The experts in these areas have written a couple great posts on the topics to provide the insider’s view, one on the Windows Azure team blog and another from Bart Robertson, a Microsoft Cloud Architect who worked on the Microsoft Social eXperience Platform (SXP).  In Bart’s post, he covers some key attributes, benefits, and improvements that the team has experienced while using Windows Azure during the last year including: scalability, agility, elasticity, performance, availability, and reduced costs.