Archive for June, 2009

Developing a Complex External DSL. Part 1.

The use of a domain-specific language, or DSL, is becoming a realistic and even necessary solution for software developers on all sorts of software development projects. You’ve heard about DSLs, and you may know that DSLs are divided into a few different styles, internal and external. But what is an internal DSL and external DSL? When would you decide to use one or the other? And, primarily, how would you go about developing a complex external DSL? This article answers these questions, with a focus on developing a complex external DSL.

Defining Domain-Specific Language

A domain-specific language (DSL) is a computer language that is developed to specialize in addressing the needs of a given problem domain. The domain itself could be many things. It could be specific to an industry, such as insurance, education, aerospace, medicine, etc., or to a technology or methodology, such as JEE, .NET, database, services, messaging, architecture, or domain-driven design.

The reason I would develop a DSL is to make dealing with a set of challenges in a domain I am working in more elegant and easier to deal with. That’s because the language I create will be just what I need to address my unique set of challenges, and no more than that. And of course, if I provide my language for others to use it may have to broaden a bit to address what they need, but still nothing more. The effort has the goal of making it feel more natural to use the DSL than to use a general purpose programming language or some other non-targeted tool.

Read the rest of this entry »

Dell recalls 35,000 notebook batteries!!!

Dell on Friday announced a recall of about 22,000 notebook computer batteries sold in the United States and an additional 13,000 abroad.

dell logo

The 35,000 recalled batteries were sold with several models of Latitude and Inspiron machines and Precision mobile workstations between Oct. 5, 2004, and Oct. 13, 2005.

Manufactured in Japan or China, jute bags were also sold on their own at a cost of between $99 and $179–during that time.

The U.S. Consumer Product Safety Commission, UK Web Hosting and Dell warned consumers to stop using the products immediately unless otherwise instructed.

The Round Rock, Texas-based online currency trading system company has learned of three incidents of the recalled batteries overheating, resulting in damage to a tabletop and a desktop, and in “minor damage to personal effects,” but no reported injuries.

Dell customers should contact the company and have the battery’s identification number available in order to determine whether it is subject to recall. If the battery qualifies, Dell said it would supply a free replacement.

More information is available at a Dell Web page.

The latest warnings appear to be far from the scale of a massive recall of Dell notebook power adapters last year, which sought to reel in about 4.4 million adapters sold worldwide.

In Florida, RFID system keeps case files under control

State attorney’s office integrates RFID tags with file-tracking system to follow active case files

The Florida State Attorney’s Office for the 15th Judicial Circuit in Palm Beach County takes on about 120,000 cases a year. “About 20,000 of those are felony cases,” said Dan Zinn, the office’s chief information officer. “That’s where the action is.”

And action was a problem. Keeping track of paper files as they moved through the office and the court system was a big job. If a file could not be found when it was needed in court, it could result in a hearing being delayed or even a case being thrown out.
SIDEBAR: Asset tracking systems: The simpler the better

“It’s not just tracking the files,” Zinn said. “It’s having control of a series of processes.”

His office has taken control of those processes by incorporating passive radio frequency identification tags in its case file labels, putting RFID readers throughout the four floors of office space, and integrating the technology with the office’s computerized videochat and file-tracking system.

Read the rest of this entry »