Coding conventions are rules that computer programmers follow to ensure that their source code is easy to read and maintain. Why is that important? Sun Microsystems provides the following rationale for the Java Programming Language: Code conventions are important to programmers for a number of reasons: 80% of the lifetime cost of a piece of software goes to maintenance. Hardly any software is maintained for its whole life by the original author.…

Read more »

Some great graphics technologies are emerging lately. One that looks very promising is Photosynth from Microsoft Live Labs. Photosynth takes a large collection of photos of a place or an object, analyzes them for similarities, and then displays the photos in a reconstructed three-dimensional space, showing you how each one relates to the next. Earlier this year, Blaise Aguera y Arcas had demonstrated Seadragon and Photosynth at the TED (Technology, Entertainment, Design) Conference in Monterey.…

Read more »

Dr. Ariel Shamir and Dr. Shai Avidan of the Efi Arazi School of Computer Science have presented at SIGGRAPH 2007 the greater digital image effect I’ve seen. “Seam carving” allows an image to be resized non-uniformly, so you can change the height to width ratio in the image without cropping. The algorithm looks for seams (not simple columns or rows) of pixels with the ‘least energy’ (least contrast / change in detail) both vertically and horizontally in the image and then uses this to enable resizing without losing important image content such as human subjects or other detail.…

Read more »

Approximately 2 years ago I’ve written a set of PHP Tutorials that served as a guideline for a Beginner’s PHP Training Course. These tutorials were made with the WAMP solution stack in mind. Since I’ve been working with Java EE Technologies and Servers recently, I’ve decided do add another one explaining how to install JBoss Web 1.0.1 GA with PHP support (PHP Handler Servlet). This was based on a tutorial by Philippe Fievet that is now offline for some reason.…

Read more »

Brad Neuberg from Sitepen wrote an extensive tutorial about Creating Offline Web Applications with Dojo Offline. What is Dojo Offline? Dojo Offline is an open-source toolkit that makes it easy to create sophisticated, offline web applications. It sits on top of Google Gears, a plugin from Google that helps extend web browsers with new functionality. Dojo Offline makes working with Google Gears easier; extends it with important functionality; creates a higher-level API than Google Gears provides; and exposes developer productivity features.…

Read more »

Paging with SQL Server has always been a pain. Although SQL Server 2005 introduced some features that made it possible to page results efficiently more easily than ever before. Paging in SQL Server 2005 at 15 Seconds shows you how to do it with the new ROW_NUMBER() function.…

Read more »

The Maven 2 Cobertura Plugin web site lacks information to successfully generate Cobertura reports. Worse, some of the usage examples are incorrect and don’t work. The most common problem when generating Cobertura reports is when the generated report shows 100% test coverage while in reality many of the classes don’t even have tests. The following example shows how to configure the reports so that it would reflect real test coverage and then check if the specified packages achieved the wanted test coverage:…

Read more »

Google announced Google Gears at Google Developer Day 2007. Google Gears is an open source browser plugin that will enable developers to create offline web applications using JavaScript APIs. As a developer, you’ll be able to make an application with the assurance that it will work offline and online across browsers. Google Reader is the first online application to offer “Gears-enabled offline capabilities”. After you load the Gears plugin you get a new icon at the top of your Reader window which enables offline capabilities of Google Reader.…

Read more »

Sometimes no single login module is enough to meet our needs. Imagine the case of using an external LDAP server to provide the user authentication and a database server to provide the user authorization. A user would be in one repository or the other, and login should succeed if the user is found in either repository. JBoss allows you to specify multiple login modules for a single security domain. But simple module stacking doesn’t resolve the problem on its own.…

Read more »

Werner Schuster posted at InfoQ an article entitled “Microsoft Surpasses Java’s Dynamic Language Support” trying to show where .NET is doing better than Java. Some of the highlights are: Microsoft CLR (Common Language Runtime), LINQ and the support for multiple languages DLR (Dynamic Language Runtime) .NET modularization and versioning…

Read more »