Archive for December, 2007

Cross-browser Web application testing made easy

Thursday, December 27th, 2007

“Test on multiple browsers” has been a mantra ever since there have been multiple browsers to test on. Testing them all — especially these days — is impossible. But you can come a lot closer than you may think. In this article, learn a variety of techniques for cross-browser testing, from the very thorough to the quick and dirty. The choice you make will depend on your resources, but this is an issue you can’t ignore.

http://www-128.ibm.com/developerworks/web/library/wa-crossbrowser/

Tcl/Tk 8.5.0 released

Sunday, December 23rd, 2007

Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.

Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more.

Highlights of Tcl 8.5

  • Speed: 8.5 now runs 10% faster than 8.4 with bytecode improvements, object caching and reduced memory usage.
  • Bignums: Tcl now supports arbitrary-precision integers, which improves math operations on large integers.
  • Safer interps: Tcl’s powerful safe interpreter mechanism now has improved control of time and command limits in slave interpreters.
  • clock command: More robust implementation of command for specifying time, with significant l10n and i18n improvements.
  • dict command: New data structure that allows access to data by value rather than a variable name, which is substantially faster.
  • Additional improvements: Faster list search, new and improved mathematics procedures, anonymous procedures, new ways to package Tcl extensions, Tcl-level custom channel types, file and line location information for each command, and more.

Highlights of Tk 8.5

  • New modern theming engine: New and complementary widgets that make use of platform-specific theming on Mac OS X and Windows to better fit in with those environments, and feature an improved look and feel under X11.
  • New widgets: Part of the themed widget set, Tk now has core notebook, combobox, treeview and progressbar widgets.
  • text widget: Smooth scrolling, widget peering, and improved procedures for counting and replacing text.
  • Font rendering: Now uses anti-aliased text under X11, and a more modern text engine (ATSUI) on Mac OS X.
  • Additional improvements: Window transparency, new fullscreen option for windows, enhancements to specific widgets and window layout, and more.

http://www.tcl.tk/

Man and Machine

Friday, December 21st, 2007

I like to walk to work. I enjoy the scenery, the exercise, and the time to think about problems I’m working on. Some of my best ideas come from these walks — away from the computer, out in the fresh air. Many of these ideas are triggered by observations that lead me to creative solutions.

But walking can be slow, and I can be thrown off schedule if I stop to watch wildlife or to enjoy a sunrise over the mountains. So, when I’m in a hurry, I use an alternate form of transportation. A bus or train trip still involves some walking, but if I need to get to a meeting on time, I can get there much more quickly than if I walked the entire way. I rarely drive to work; I end up so engrossed in the task of driving that I have little time to think and observe my surroundings. However, if someone else is driving, I notice a lot more. For example, I recently took the train into work, and on the way in I saw a bluff in the river valley I had never before noticed. I’ve passed the river valley many times, but that day on the train I was able to observe the scenery from a completely different perspective — without the distractions I face when walking or driving.

Similarly, when testing, I look for tools to assist me on the task I need to accomplish. If I want to thoroughly investigate the software I’m testing, I do more manual testing and analysis. If I need to complete tasks quickly or repeat tasks that require little thought, I use some form of automation. I call this hybrid of manual and automated testing “interactive automated testing.” Instead of viewing test automation as an effort to replace all manual tests, this style of automation focuses on extending the abilities of the tester with an automation tool. It can also provide a different perspective on the software I am testing.

Jonathan Kohl

http://www.stickyminds.com/BetterSoftware/magazine.asp?fn=cifea

Beautiful Code

Friday, December 21st, 2007

How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts as they work through their project’s architecture, the tradeoffs made in its construction, and when it was important to break rules.

This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project’s architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.

Andy Oram, Greg Wilson

http://www.oreilly.com/catalog/9780596510046

Evaluating a Service-Oriented Architecture

Friday, December 21st, 2007

The emergence of service-oriented architecture (SOA) as an approach for integrating applications that expose services presents many new challenges to organizations resulting in significant risks to their business. Particularly important among those risks are failures to effectively address quality attribute requirements such as performance, availability, security, and modifiability. Because the risk and impact of SOA are distributed and pervasive across applications, it is critical to perform an architecture evaluation early in the software life cycle. This report contains technical information about SOA design considerations and tradeoffs that can help the architecture evaluator to identify and mitigate risks in a timely and effective manner. The report provides an overview of SOA, outlines key architecture approaches and their effect on quality attributes, establishes an organized collection of design-related questions that an architecture evaluator may use to analyze the ability of the architecture to meet quality requirements, and provides a brief sample evaluation.

Phil Bianco, Rick Kotermanski, Paulo Merson

http://www.sei.cmu.edu/publications/documents/07.reports/07tr015.html

Integration of Enterprise Architecture and Application Portfolio Management

Friday, December 21st, 2007

For many enterprise architects, there is increasing pressure from CxOs to cut costs, reduce inefficiencies, and to foster agility in systems. Enterprises invest more than 70 percent of their budgets purely on maintaining their existing asset investments. This shows that there is a clear and present broken link between strategic business objectives and “keeping the lights on” in the IT department. This is verified by a recent report by AMR Research that reports that 75 percent of IT organizations have little oversight over their project portfolios and employ non-repeatable, chaotic planning processes.

By using an application portfolio management (APM) practice, IT decision makers can gain visibility into the application’s impacts that reside in the enterprise. This article describes how application portfolio management (APM) compliments an enterprise architect’s multi-faceted role. APM provides key information into the IT enterprise architect (EA) management process. It answers questions such as “Can yesterday’s applications meet tomorrow’s needs?”

Mike Walker

http://msdn2.microsoft.com/en-us/architecture/bb896054.aspx

Quality of Service Contract Specification, Establishment, and Monitoring for Service Level Management

Friday, December 21st, 2007

This paper describes a Quality of Service (QoS) management approach and architecture as well as a case study for Service Level Management (SLM). Our approach brings in a new perspective to the SLM probem by using QoS management and QoS Contract specification, establishment, and monitoring.

In SLM, the service consumer side and the service provider side must share a common understanding of QoS characteristics and use a common language for specifying desired QoS parameters in the form of QoS contracts. A service consumer must negotiate with the service provider to establish mutually agreed QoS contracts for an interaction session. When establising a new QoS contract, the service provider must consider both QoS contracts already agreed upon with existing consumers and system resource conditions. Similarly, a service consumer must be prepared in revising its contract with the service provider as conditions change over time. Once a QoS contract is established, SLM must monitor QoS status to make sure that the service quality is provided at the agreed range. If necessary, SLM must activate adaptation mechanisms to bring the service quality to the desired level. A case study is presented in this paper to validate the QoS contract management design approach and architecture for SLM.

Changzhou Wang, Guijun Wang, Haiqin Wang, Alice Chen and Rodolfo Santiago

http://www.jot.fm/issues/issue_2007_12/article2/index.html

Jazz and the Eclipse Way of Collaboration

Friday, December 21st, 2007

Twenty-five years ago, computer programmers often wrote code in environments reminiscent of the cells of cloistered monks. But now that software development has become highly collaborative, developers tend to spend more time interacting with their colleagues than stringing together lines of code.

In the past, software collaborative efforts were more ad hoc than formal. So, collaboration strategies sometimes created more problems than they solved. In a typical workday, the need to respond to emails, attend meetings, participate in group discussions, and manage source control could take up so much time that little time was left to do any coding.

To improve collaboration in software development teams, IBM Research and IBM Rational software engineers have been working on the Jazz project.

Randall Frost

http://www.computer.org/portal/cms_docs_software/software/homepage/2007/s607/Jazz-Eclipse.pdf

Agile’s Coming of Age … or Not

Friday, December 21st, 2007

The agile software development movement is showing signs of maturity, with sobering, reconciliatory, and reflective undertones. Read about an informal survey of attendees at the Agile 2007 conference.

Hakan Erdogmus

http://www.computer.org/portal/cms_docs_software/software/homepage/2007/s607/agile-or-not.pdf

The Programmer Dress Code

Thursday, December 20th, 2007

I really want to know what it is about programming, or computers in general, that makes people want to grow a beard, have long hair, and dress like a slob. I can say these things without guilt because while I do not have long hair, I do have a beard and I do in fact dress like a slob. Not horribly sloppy or anything. I am actually pretty fanatical about hygiene, I just am not big on tucking my shirt in or ironing it or shaving. So who was the guy that started the unkempt programmer code of honor?

Justin Etheredge

http://www.codethinked.com/post/2007/12/The-Programmer-Dress-Code.aspx

Web 2.0 Can Be Dangerous

Tuesday, December 18th, 2007

AJAX, rich Internet UIs, mashups, communities, and user-generated content often add more complexity than they’re worth. They also divert design resources and prove (once again) that what’s hyped is rarely what’s most profitable.

Jakob Nielsen

http://www.useit.com/alertbox/web-2.html

PDF Renderer

Tuesday, December 18th, 2007

The PDF Renderer is just what the name implies: an open source, all Java library which renders PDF documents to the screen using Java2D. Typically this means drawing into a Swing panel, but it could also draw to other Graphics2D implementations. We hope you will come up with cool things to do with it that we never thought of.

PDF is one of the core file formats of the Internet, so it is very important for Java programmers to be able to both read and write PDFs. Great open source libraries like iText have long handled the writing half, but until now there has not been a good way to read PDFs using open source Java libraries. It could be used to draw on top of PDFs, share them over a network, convert PDFs to PNG images, or maybe even project PDFs into a 3D scene.

https://pdf-renderer.dev.java.net/

Gaming als business

Tuesday, December 18th, 2007

Gaming is een volwassen tak van de IT geworden met serieus wetenschappelijk onderzoek en onderwijs. Ook zijn steeds meer gerespecteerde bedrijven actief op Second Life, Hyves, LinkedIn of in andere virtuele omgevingen. Wat komt eraan en wat betekenen serious gaming voor het onderwijs en voor organisaties …

http://informatie.nl/artikelen/2007/12/

The coming frameworks; SOFEA, JDA, Squirrel and a taste of the future of web

Monday, December 17th, 2007

Yesterday, I saw that someone had created a full IoC container framework in Javascript, called squirrel. I have written (at length) previously about JDA (Javascript Dataflow Architecture) and its benefits for creating rich clients in Javascript, sometimes referring to it as “Spring for Javascript”.

However, JDA is focusing more on being a pragmatic, easy-to-use (and understand) messaging kernel, for the web page where the rich client resides, rather than a full-out IoC implementation - which Squirrel certainly is!

The goal of both frameworks are of course to force the developer (Yes, that means you) to modularize code, and not sprawl all over the page out of laziness (as usual).

Peter Svensson

http://unclescript.blogspot.com/2007/11/coming-frameworks-sofea-jda-squirrel.html

Bazaar goes 1.0!

Friday, December 14th, 2007

We’ve just released our 1.0 — a big milestone for any project, though by no means the end. Thousands of commits, dozens of code contributors, hundreds of bugs opened and closed. A system that’s flexible, powerfully simple, and friendly to use.

Bazaar is a distributed version control system available under the GPL that reduces barriers to participation in your project. Our priorities are:

  • Good performance: Bazaar status in a tree of 5,000 files takes just 0.5 seconds, so almost every open source project can get the advanced features of Bazaar without slowing down its developers. Bazaar is robust in the face of radical tree restructuring, saving you time when it comes to merging from your community.
  • Safe with your data: There have not been any data loss bugs in a Bazaar release in the past two years. Bazaar has a huge test suite that ensures that new file formats can be tested automatically. The development process follows best practice with code review of all core and community code landings.
  • Friendly: Bazaar “Just Works” (which is why the Ubuntu team chose it for their project). Bazaar has a natural feel, you can publish your code on any web server or use a custom server for performance. Bazaar has perfect support for renaming files AND directories, which means you can unleash your community and merge efficiently even from contributors who are radically restructuring the tree.
  • Free: Bazaar is available under the GPL v2 or later.
  • Easy to integrate: Bazaar is designed as a Python API with a plugin system, so it is easy to embed in your tools and projects and easy to extend or integrate with existing infrastructure. Whether you are managing your development, or keeping track of configuration files, or building a new content management system, Bazaar is a great choice if you like to work in Python.

Canonical Ltd.

http://bazaar-vcs.org/