Saturday, 24 February 2007

No More Tables: CSS Layout Techniques

Creating complex multi-column layouts used to mean having to nest multiple HTML tables—a technique that's cumbersome and introduces ... all » accessibility and compatibility problems. You've heard it's possible to eliminate those layout tables by using Cascading Style Sheets, but you haven't made the jump yet. In this session, CSS guru Doug Bowman will walk you through the steps of a real-world conversion. Learn the advantages of doing away with tables, and see how to avoid common pitfalls.

Advanced Topics In Programming Languages: Closures For Java

We propose to add Closures to the Java Programming Language. Closures simplify the use of APIs that rely on anonymous class instances, such as the concurrency APIs and callbacks. More importantly, closures support control abstractions, which are APIs that act as programmer-defined control constructs. This talk describes the proposed language extension and its design rationale, and shows how it will affect existing and future APIs.

How Open Source Projects Survive Poisonous People

Every open source project runs into people who are selfish, uncooperative, and disrespectful. These people can silently poison the atmosphere of a happy developer community. Come learn how to identify these people and peacefully de-fuse them before they derail your project. Told through a series of (often amusing) real-life anecdotes and experiences

django: Web Development for Perfectionists with Deadlines

Django is one of the premier web frameworks for Python, and is often compared to Ruby-on-Rails. Jacob is one of the lead developers on Django.

Compiling Dynamic Languages

Dynamic languages like Python have gained significant popularity in mainstream programming. To support their dynamic features, they are often interpreted. In scientific computing applications, this works well for prototyping, but often means that significant efforts must later be invested in building the "real" application. Our thesis is that dynamic languages like Python can be effectively compiled by translation to statically typed functional languages like OCaml. Not only that, but this approach is highly amenable to formal verification. This, in fact, entails developing a formal semantics for the dynamic language. The talk described ongoing efforts to demonstrate this strategy in the concrete case of compiling Python using OCaml. After explaining why statically typed functional languages like OCaml may play an important role in compiling dynamic languages, we describe our progress to date in understanding the semantics of Python and in devising a correct translation into OCaml. At the time of writing this abstract, preliminary performance measurement were quite encouraging.

Raj Bandyopadhyay is Walid Taha's student. Walid Taha is an assistant professor at Rice University, Houston, TX. He is the principal investigator on a number of NSF, Texas ATP, and SRC research grants and contracts on various aspects of resource aware proWalid Taha gramming. Taha is actively involved in development of both the embedded software and generative programming research communities.

Sunday, 18 February 2007

JAOO 2006 Conference

JAOO Conference is a 1000+ attendee software developer/architect event, this year featuring speakers such as Guy Steele, Werner Voegels, Alistair Cockburn, Steve Vinoski, Frank Buschmann, and Charles Simoniy, ... just to name a few.

Saturday, 17 February 2007

Web Services Middleware: All Grown Up!

The term Web services carries the connotation of (slowly) doing RPC over SOAP. While many original SOAP toolkits supported and promoted that model (including Apache SOAP which I created), that is not at all what Web services are about. Apache's history with Web services has seen three generations of efforts: Apache SOAP, Apache Axis and now Apache Axis2.

Axis2 is fundamentally different: instead of treating XML as a hot potato that must be replaced with a language structure immediately, it treats XML lovingly and offers a very clean processing model for XML. Of course it does support data binding for those that want to look a the XML as objects but the core of Axis2 is a pure XML processing architecture.

Axis2 is the basis of a new kind of enterprise middleware. Building on that core stack we have built support for the entire security protocol (Apache Rampart and Rahas) set as well as for reliability (Apache Sandesha) and transactions (Apache Kandula). Apache Synapse is providing ESB like message and service mediation capabilities on top of Axis2.

Axis2 supports both WS-* style services as well as XML-over-HTTP (POX) style services. We're also working on JSON support and a host of other cool stuff. We support HTTP, SMTP and JMS with other transports on the way (including XMPP).

The Axis2 architecture is being implemented in both Java and C, with the C version bound to PHP and other scripting languages as well as Firefox, IE and other hosts.

In this talk we will introduce the new generation of Apache Web services middleware.

Thursday, 15 February 2007

Terracotta Tech - Cluster Your JVM To Simplify Application Architecture

Terracotta DSO acts like network attached memory, sharing critical parts of the JVM heap across servers. This allows multiple servers to act together in a cluster.

The presenter, Ari Zilka, is the founder of Terracotta Technologies, . He has also served as Entrepreneur-in-Residence at Accel Partners and as Chief Architect for, focusing on performance management and operations cost-saving measures, with earlier engagements as a consultant at Sapient and PriceWaterhouseCoopers

ReUsable Web Components with Python and Future Python Web Development

Python's Web Server Gateway Interface (WSGI) not only enables a multitude of Python web frameworks to share code when it comes to deployment, but also enables entirely new levels of re-use for Python web development. This talk is focused on explaining WSGI, new types of re-use with WSGI middleware, and explore new frameworks that heavily utilize WSGI; in this case, Pylons. Moving beyond monolithic frameworks that try to do everything themselves, to new modes of development where you can use just the parts you want and still have active development communities to interact with.

Monday, 15 January 2007

Setting up and Running Amazon EC2 from Windows

A video that walks through the process of running an Amazon Machine Image (AMI) from Windows.


Saturday, 13 January 2007

A closer look at iPhone

Apple Inc's Phil Schiller shows John Blackstone the many features of the iPhone. Apple's latest product will go on sale this June.

Creating a Flex application using the TurboGears framework

In this screen capture video tutorial, Bruce Eckel and James Ward pair up to create an Adobe Flex application using the TurboGears framework (see Figure 1). Follow along as these experts show you how to put it all together.

Wednesday, 10 January 2007

Revolution OS

Revolution OS is a 2001 documentary which traces the history of GNU, Linux, and the open source and free software movements. It features ... alle » several interviews with prominent hackers and entrepreneurs (and hackers-cum-entrepreneurs), including Richard Stallman, Michael Tiemann, Linus Torvalds, Larry Augustin, Eric S. Raymond, Bruce Perens, Frank Hecker and Brian Behlendorf.

The film begins in medias res with an IPO, and then sets the historical stage by showing the beginnings of software development back in the day when software was shared on paper tape for the price of the paper itself. It then segues to Bill Gates's Open Letter to Hobbyists in which he asks Computer Hobbyists to not share, but to buy software. (This letter was written by Gates when Microsoft was still based in Arizona and spelled "Micro-Soft".) Richard Stallman then explains how and why he left the MIT Lab for Artificial Intelligence in order to devote his life to the development of free software, as well as how he started with the GNU project.

Linus Torvalds is interviewed on his development of the Linux kernel as well as on the GNU/Linux naming controversy and Linux's further evolution, including its commercialization.

Richard Stallman remarks on some of the ideological aspects of open source vis-รก-vis Communism and capitalism and well as on several aspects of the development of GNU/Linux.

Michael Tiemann (interviewed in a desert) tells how he met Stallman and got an early version of Stallman's GCC and founded Cygnus Solutions.

Larry Augustin tells how he combined the resulting GNU software and a normal PC to create a UNIX-like Workstation which cost one third the price of a workstation by Sun Microsystems even though it was three times as powerful. His narrative includes his early dealings with venture capitalists, the eventual capitalization and commodification of Linux for his own company, VA Linux, and ends with its IPO.

Frank Hecker of Netscape tells how Netscape executives released the source code for Netscape's browser, one of the signal events which made Open Source a force to be reckoned with by business executives, the mainstream media, and the public at large.

(this text is available under the terms of the GNU Free Documentation License)

Monday, 8 January 2007

iPod History, Discovery Channel

A Discovery Channel documentary on the rise of the iPod.

Performance Tuning Best Practices for MySQL

Google TechTalks April 28, 2006

Jay Pipes Jay Pipes is a co-author of the recently published Pro MySQL (Apress, 2005), which covers ... all » all of the newest MySQL 5 features, as well as in-depth discussion and analysis of the MySQL server architecture, storage engines, transaction procesing, benchmarking, and advanced SQL scenarios. You can also see his name on articles appearing in Linux Magazine and can read more articles about MySQL at his website.

ABSTRACT Learn where to best focus your attention when tuning the performance of your applications and database servers, and how to effectively find the "low hanging fruit" on the tree of bottlenecks. It's not rocket science, but with a bit of acquired skill and experience, and of course good habits, you too can do this magic! Jay Pipes is MySQL's Community Relations Manager for North America.

2007 International CES Keynote

Watch the 2007 International CES keynote as Bill Gates and Robbie Bach introduce new products and discuss the Connected Experience.

Sunday, 7 January 2007

A Hardware-Based CIL-Machine


Maxim Shuralev, Niznhiy Norogorod State University, Russian Federation

SSCLI RFP II Capstone Workshop

iClaustron: Open Source Grid Cluster Storage Controller

Google Tech Talks October 17, 2006

Mikael Ronstrom has a Ph.D in technical information systems. He is the founder of the technology in ... all » NDB Cluster, the storage engine of MySQL Cluster. Lately he developed the Partitioning feature in MySQL 5.1. He has a long background from the telecom industry with many innovative solutions developed. Currently he works as an open source consultant at iClaustron AB and spends also some time on some new ideas in the area of clustered storage systems.

ABSTRACT Many applications has requirements to store petabytes of base data and many terabytes of structured data. Examples of this are genealogy, astronomy, biotech and so forth. This talk will discuss requirements from the genealogy application and show how this requirements requires building very large clustered systems with an hierarchy of clusters. These clusters are used to both store base data and structured data. He goes on to show how these requirements translate into a systems architecture with essential components of off-the shelf servers, cheap storage, clustered software and integrated cluster interconnects.

Using Statistics to Search and Annotate Pictures

Google Tech Talks September 25, 2006

Nuno Vasconcelos is an Assistant Professor at the Electrical and Computer Engineering Department ... all » of the University of California, San Diego, where he heads the Statistical Visual Computing Laboratory. Before joining UCSD, he was a member of the research staff at the Compaq Cambridge Research Laboratory, which later became the HP Cambridge Research Laboratory. He received a PhD from MIT in 2000 and his areas of research interest are computer vision, statistical signal processing, machine learning, and multimedia. He is the recipient of a 2005 NSF CAREER award, and a Hellman Fellowship.

ABSTRACT The last decade has produced significant advances in content-based image retrieval, i.e. the design of computer vision systems for image search. I will review our efforts in the area, with emphasis on the subject of semantic retrieval. This consists of learning to annotate images, in order to support natural language queries. In particular, I will argue for a retrieval framework which combines the best properties of classical "query by visual example" (QBVE), and more recent semantic methods, and which we denote as "query by semantic example" (QBSE). While simple, we show that, when combined with ideas from multiple instance learning, this framework can be quite powerful. It improves semantic retrieval along a number of dimensions, the most notable of which is generalization (out-of-vocabulary queries). It can also be directly compared to query by example, making it possible to quantify the gains of representing images in semantic spaces. Our results show that these gains are quite significant, even when the semantic characterization is noisy and somewhat unreliable. This suggests an interesting hypothesis for computer vision: that it may suffice to adopt simple visual models, as long as they operate at various levels of abstraction and are learned from large amounts of data.

An Introduction to SQLite

Google TechTalks May 31, 2006

Richard Hipp

ABSTRACT SQLite is a small C library that implements a self-contained, embeddable, ... all » zero-configuration SQL database engine. SQLite implements a large subset of SQL-92 and stores a complete database in a single disk file. The library footprint is less than 250 KB making is suitable for use in embedded devices and applications where memory space is scarce.

This talk provides a quick overview of SQLite, its history, its strengths and weaknesses, and describes situations where it is much more useful than a traditional client/server database. The talk concludes with a discussion of the lessons learned from the development of SQLite and how those lessons can be applied to other projects.

Measuring Programmer Productivity


"ABSTRACT: Developers have been programming for the last 30 years in a wide variety of programming languages. Over the years, we have all developed a feeling for what it is in a programming language that makes us productive as programmers. As part of the DARPA HPCS (High Productivity Computing Systems) program, we are developing models and tools to measure programmer productivity. We will describe our data gathering process, and our effort to model programmer workflows using timed markov models. timed markov models."

A Googly MySQL Cluster Talk

Google TechTalks April 28, 2006
Stewart Smith Stewart Smith works for MySQL AB as a software engineer working on MySQL Cluster. He is ... all » an active member of the free and open source software community, especially in Australia.

ABSTRACT Part 1 - Introduction to MySQL Cluster The NDB storage engine (MySQL Cluster) is a high-availability storage engine for MySQL. It provides synchronous replication between storage nodes and many mysql servers having a consistent view of the database. In 4.1 and 5.0 it's a main memory database, but in 5.1 non-indexed attributes can be stored on disk. NDB also provides a lot of determinism in system resource usage. I'll talk a bit about that.

Part 2 - New features in 5.1 including cluster to cluster replication, disk based data and a bunch of other things. anybody that is attending the mysql users conference may find this eerily familiar.

Using Static Analysis For Software Defect Detection

Google TechTalks July 6, 2006
William Pugh

ABSTRACT I'll talk about some of my experience in using and expanding static analysis ... all » tools for defect detection. The FindBugs tool developed at the Univ. of Maryland is now being widely used, including inside Google.

I'll give an overview of FindBugs, show some of the kinds of errors we routinely find in production code, discuss the methodology we use for enhancing and expanding FindBugs and some of the recent additions to it, discuss ways of incorporating FindBugs into your development process (such as being able to get a report of all the warnings introduced since the last release of your software), and talk about the future of static analysis, including things such as a new Java JSR to provide standard annotations for things such as @NonNull and @Tainted.

Using open source tools for performance testing

Google London Test Automation Conference (LTAC) Google Tech Talks September 8th, 2006 Presenter: Goranka Bjedov

10 Rules for Strategic Innovators

"It’s a chronic dilemma: investors demand growth—yet the older a company gets, the harder it is to deliver the kind of innovations that younger startups are known for. Most companies are full of creative people with imaginative ideas for new businesses, but ideas only get you so far. The real challenge is executing innovation.

So how can companies that have been shaped for excellence in an old business, build a new one with different rules for success? It requires a near-impossible balancing act—but it’s one that many accomplished companies see as a necessity. Examples include General Motors, which launched the cutting edge OnStar in-vehicle communication system; Procter & Gamble, currently reaching out to the coveted teen market with word-of-mouth marketing service Tremor; and the Walt Disney Company, which recently introduced MovieBeam to break into the lucrative in-home video rental market.

Large established companies don’t have to be the underdog when it comes to innovation. But how to start? How can executives manage new high-growth-potential businesses inside established organizations? 10 Rules for Strategic Innovators includes instructive, real-world stories of innovation in action. Case studies include Corning’s behind-the-scenes entry into the high-risk biotechnology industry, Hasbro’s aggressive pursuit of interactive video games—and the hurdles it faced in getting there, and the contentious rise of New York Times Digital. "

Educating Engineers for 2020 and Beyond

Original Website

Though two years departed from the MIT President’s office, Charles Vest has lost none of his zeal for issues of education and training. Says Vest, "I envy the next generation of engineering students. This is without question the most exciting period of human history in science, technology and engineering."

He cites exponential advances in knowledge, instrumentation, communication and computational capabilities, which have "created mind-boggling possibilities," cutting across traditional boundaries and blurring distinctions between science and engineering. At the same time, globalization is changing how engineers train and work, as well as how nation's resources are directed. "The entire nature of the innovation ecosystem and business enterprise is changing dramatically in ways we do not yet fully understand," says Vest. These dizzying changes require an accelerated commitment to engineering research and education, and compel research institutions simultaneously to advance the frontiers of fundamental science and technology, and to address the most important problems that face the world.

Vest perceives two key frontiers of engineering: the intersection of physical, life and information sciences -- so-called bio, nano, info-- "which offers stunning, unexplored possibilities;" and the macro world of energy, food, manufacturing, communications, which presents "daunting challenges of the future."

The kind of students Vest hopes will explore these new frontiers should reflect a diverse society, write and communicate well, think about ethics and social responsibility, conceive and operate systems of great complexity within a framework of sustainable development and be prepared to live and work as global citizens. It's a "tall order," admits Vest, but "there are men and women every day here who seem to be able to do all these things and more."

To prepare this new generation, engineering schools should focus on creating an environment that provides inspiration. In the long run, offering "exciting, creative adventures, rigorous, demanding and empowering milieus is more important than specifying details of the curriculum," says Vest. Students are "driven by passion, curiosity, engagement and dreams." Give them opportunities to discover and do – to participate in research teams, perform challenging work in industry, gain professional experience in other countries. Vest says, "We must ensure the best and brightest become engineers of 2020 and beyond. We can't afford to fail."

Why Large Companies Should Out-Innovate Small Ones

"Given the choice, Dan Hesse would opt for working in a big company rather than a small one, especially when it comes to innovating. He backs up this preference with years of experience, from his days running a start up (“It was really hard work”) to leading some of AT&T’s pioneer telecom ventures.

Hesse first describes some of his formative projects for AT&T, including the “all you can eat” long distance WATTS line and AT&T’s first internet and wireless divisions. What he learned was how to “sit down with the guys in the labs,” and also with customers, applying market research to generate new inventions. He came to appreciate AT&T’s very deep pockets for R&D, which made it possible for “the large guy to completely change the game” and “make it almost impossible for smaller guys to compete.”

His new enterprise, Embarq, (an offshoot of Sprint Nextel) is the nation’s 4th largest local telephone company, present in 18 states with $6.5 billion in revenues. Hesse is determined to fight the slow but relentless loss of market share to wireless and cable companies. His plan involves changing the image of the firm “to get customers to embrace innovation” and try Embarq’s new products, which include: One Voicemail, a service that provides a single voicemail messaging system for home and wireless phones; Smart Connect, which enables an Embarq phone user to switch transparently from mobile frequencies to Wi-Fi as the phone moves from outside to inside; Media Safe, 25gb of internet storage for Embarq’s DSL subscribers to stow their videos and tunes; and the Offer, a company promise not to raise the DSL subscription price – ever.

He offers general advice on innovating, especially aimed at large firms that “typically don’t innovate because they’re too comfortable.” He suggests integrating across platforms to make life simpler for customers; cultivating a competitive corporate culture, in which delegation, teamwork and employee recognition play important roles; studying the market; incubating new projects while maintaining steady revenues in the old business; figuring out a business model that “gets things down to single-user economics;” and “shamelessly stealing good ideas.” Most important, when it comes to creating the next new thing, nothing beats leveraging the assets of a large company. When customers trust the company and the brand, marketing new ideas is easier, concludes Hesse."


A Scalable, Component-driven OS

"Windows runs on a variety of hardware and with a wide range of applications. In this talk, Rob Short of Microsoft presents an overview of the challenges, tradeoffs, and technical solutions used to design and build the operating system to serve this range of masters. He discusses the details on componentization of the system, scalability, and improvements to the quality and reliability of Windows."


Saturday, 6 January 2007

Bigtable: A Distributed Storage System for Structured Data

"Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from URLs to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this paper we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable."


Other links:

Software Visualization and Model Generation

"Models are often viewed as something you create during design time and use to generate code. What if we turn the approach upside-down and generate models from code? Humans are very good at recognizing patterns in images, making visualizations a valuable tool to, for example, recognize dependencies or data flow. This is particularly true for dynamic, loosely coupled systems that are often less explicit and evolve over time. Once you have generated a model you can take things a step further and run checks and validations against it. Visualizations can also be used to plot out source code metrics over various dimensions to detect potential “hot spots” in the application that may require special attention."

Software Visualization and Model Generation

Friday, 5 January 2007

Building Reliable and High Performance Messaging Applications with POJOs and Apache ActiveMQ

"The use of messaging and SEDA are excellent tools for building reliable distributed, loosely coupled applications for high performance computing. This session will give a brief overview of the concepts involved in messaging then show how to to use JMS and POJOs to build distributed applications which scale to meet your requirements.We will then go through some advanced topics using ActiveMQ, the open source message broker, such as load balancing, clustering & high availability, pooling, XA and how to use clients in both Java, C# and Ruby."