January 28th, 2010
Deadlock immunity is a property by which programs, once afflicted by a deadlock pattern, develop the ability to avoid future occurrences of that deadlock pattern. Over time, programs with such an “immune system” progressively increase their resistance to deadlocks.
Dimmunix is a tool for giving software systems such an immune system against deadlock, without any assistance from programmers or users. Dimmunix is well suited for general purpose software (desktop and enterprise applications, server software, etc.) and a recent extension allows application communities to collaborate in achieving enhanced immunity.
http://dslab.epfl.ch/proj/dimmunix
201001 deadlock prevention immunity reliability
Posted in Product | Comments Off
January 26th, 2010
This article presents some common behaviors I’ve observed from my past few years of interactions with geeks, nerds, and other highly-smart technical people. For brevity, I will simply use the term “geek” throughout this article as a catch-all term for such people. I don’t mean to pass any value judgments on people who exhibit such behaviors; these are simply my observations and personal theories for why these behaviors occur.
Philip Guo
http://www.stanford.edu/~pgbovine/geek-behaviors.htm
201001 behavior
Posted in Article | Comments Off
January 22nd, 2010
This installment of Evolutionary architecture and emergent design tackles a variety of topics related to evolutionary architecture, including the important distinction between design and architecture (and how to tell them apart), some issues that come up when you create enterprise-level architecture, and the difference between static and dynamic typing in service-oriented architectures. This installment rectifies the lack of material about agile architecture.
Neal Ford
http://www.ibm.com/developerworks/java/library/j-eaed10
201001 agile architecture emergent design evolutionary architecture
Posted in Article | Comments Off
January 22nd, 2010
Until the 1980s, using a computer program meant memorizing a lot of commands and typing them in a line at a time, only to get lines of text back. The graphical user interface, or GUI, changed that. By representing programs, program functions, and data as two-dimensional images — like icons, buttons and windows — the GUI made intuitive and spatial what had been memory intensive and laborious.
But while the GUI made things easier for computer users, it didn’t make them any easier for computer programmers. Underlying GUI components is a lot of computer code, and usually, building or customizing a program, or getting different programs to work together, still means manipulating that code. Researchers in MIT’s Computer Science and Artificial Intelligence Lab hope to change that, with a system that allows people to write programs using screen shots of GUIs. Ultimately, the system could allow casual computer users to create their own programs without having to master a programming language.
http://sikuli.csail.mit.edu/
201001 gui programming
Posted in Product | Comments Off
January 22nd, 2010
Éric Lévénez has compiled a computer languages timelime, listing the history of 50 programming languages in a chart.
Éric Lévénez
http://www.levenez.com/lang/
201001 history programming languages
Posted in News | Comments Off
January 20th, 2010
The rate at which power-management features have evolved is nothing short of amazing. Today almost every size and class of computer system, from the smallest sensors and handheld devices to the “big iron” servers in data centers, offers a myriad of features for reducing, metering, and capping power consumption. Without these features, fan noise would dominate the office ambience, and untethered laptops would remain usable for only a few short hours (and then only if one could handle the heat), while data-center power and cooling costs and capacity would become unmanageable.
As much as we might think of power-management features as being synonymous with hardware, software’s role in the efficiency of the overall system has become undeniable. Although the notion of “software power efficiency” may seem justifiably strange (as software doesn’t directly consume power), the salient part is really the way in which software interacts with power-consuming system resources, [and how it can] contribute to (or undermine) overall system efficiency.
Eric Saxe
http://queue.acm.org/detail.cfm?id=1698225
201001 consumption management power
Posted in Article | Comments Off
January 17th, 2010
The W3C (World Wide Web Consortium) has posted a draft set of APIs that Web applications could one day use to store structured content offline. The proposed standard, recently renamed as the Indexed Database API, will provide an interface that Web application developers could use to have a user’s browser store database content for offline use […].
Typically, today’s Web application, such as a browser-based e-mail client or a calendar, will draw its user data from a database that is accessible from a network. In some cases, however, the user may wish to use the application while not connected to the network. Web applications could use these APIs (application programming interfaces) to store copies of the data in the browser itself.
http://www.w3.org/TR/2010/WD-IndexedDB-20100105/
201001 standard storage w3c web application
Posted in News | Comments Off
January 12th, 2010
Scrum and Kanban are two flavours of Agile software development - two deceptively simple but surprisingly powerful approaches to software development. So how do they relate to each other? The purpose of this book is to clear up the fog, so you can figure out how Kanban and Scrum might be useful in your environment.
Part I illustrates the similarities and differences between Kanban and Scrum, comparing for understanding, not for judgement. There is no such thing as a good or bad tool – just good or bad decisions about when and how to use which tool. Part II is a case study illustrating how a Scrum-based development organization implemented Kanban in their operations and support teams.
Consistent with the style of “Scrum and XP from the Trenches”, this book strikes a conversational tone and is bursting with practical examples and pictures.
Henrik Kniberg and Mattias Skarin
http://www.infoq.com/minibooks/kanban-scrum-minibook
201001 agile kanban scrum
Posted in Book | Comments Off
January 8th, 2010
Codility is an automated test of programming skills necessary in recruitment of software developers. It enables recruiters without specialized IT knowledge, to quickly run automated assessment tests for programming skills. It’s aim is to verify how well the candidate will perform in a day to day job. To test employee with exactly the same tasks he needs to deliver.
With Codility you get:
* Reduced cost of recruitment by up to 90%
* Increased quality of hires
* Statistics comparing your candidates vs market averages
With Codility you can:
* implement first line of candidate screening
* substitute at least one technical interview
* setup tests in 7 programming languages
* set 3 levels of difficulty of programming tests
http://codility.com/
201001 assessment automated programming skills test
Posted in Product | Comments Off
January 5th, 2010
Dive Into HTML5 seeks to elaborate on a hand-picked selection of features from the HTML5 specification and other fine standards. I shall publish drafts periodically, as time permits. The final manuscript will be published on paper by O’Reilly, under the Google Press imprint. Pre-order the printed work and be the first in your community to receive it. The work shall remain online under the CC-BY-3.0 license.
Mark Pilgrim
http://diveintohtml5.org/
201001 html5
Posted in Website | Comments Off