A site devoted mostly to everything related to Information Technology under the sun - among other things.

Saturday, October 25, 2008

2 Resources on Compuational Linguistics

"Notes on computational linguistics" by E. Stabler available @ http://www.linguistics.ucla.edu/people/Stabler/185-03.pdf

"Introduction to Text Mining" by Rene Witte available @ http://www.edbt2006.de/edbt-share/IntroductionToTextMining.pdf

Friday, October 24, 2008

Technical & non-Technical Users

By Anonymous:

A “technical” user understands and lives by the fact that contradictions cannot exist and the natural law cannot be broken.

A “non-technical” user believes his whim is omnipotent and all he must do is to desire and it shall be. If that does not happen it is because the “technical” user refuses to use his magic to make it so.

The concept of “impossible” is not part of the vocabulary of a “non-technical” user as long as he does not have to do the work. Making it work is for the “technical” user only. If he can’t, well he knows what he can do…

A “non-Technical” user has almost nothing to contribute except entropy. His presence could be eliminated and the system’s performance would be greatly improved.

A “non-technical” user is often known as a manager – usually but not exclusively of the Marketing & Sales type.

Thursday, October 23, 2008

Free Online Course on FPGA

This course provides an introduction to Field Programmable Gate Arrays (FPGAs) including usage and selection of devices. The content includes:

1. What is an FPGA (History, Timeline, Early Devices)?
2. FPGAs vs. CPLDs vs. ASICs vs. Microprocessors
3. Modern FPGAs - Alternative Architectures and Fabrics
4. Specialist FPGAs (Asynchronous and Mixed-Signal devices)
5. Design considerations
6. Trends
7. Choosing an FPGA
8. FPGA development tools

Find it @ www.techonline.com/learning/course/210605004

A Murder In A Virtual World


Java Fork/Join Framework

In order to take advantage of the multi-core capabilities of the existing and future machines, programmers still have to convert their algorithms manually. The Java fork/join framework, created by Doug Lea under the auspices of the JSR166 expert group, is a concurrency primitive that aims to facilitate this conversion effort.

The fork/join is multi-core-friendly, lightweight parallel framework, that uses the strategy of recursively splitting a task into smaller sub-tasks; forking the sub-tasks into separate processes or threads, so that they run in parallel on multiple cores; and joining all sub-tasks to compose a result to return. The fork/join framework is expected to be added to Java 7.

The code listing shown here demonstrates a simple parallel algorithm to compute the Fibonacci numbers. On a two-core machine, it achieves a nearly twofold speedup over an equivalent sequential algorithm (click to see a clearer image):

Note that the program strives to describe the algorithm based on the fork/join primitives; the details of threading and scheduling are hidden by the framework. Notice also that the program moves to sequential computation for problems below a certain size. This kind of tuning is usually required to produce optimal efficiency from distributed algorithms.

Wednesday, October 22, 2008

3 Books On Programming Languages

If you are interested in creating a Domain Specific Language, the following books may be of help.

First there are R.D. Tennet’s “Principles of Programming Languages” and Michael Scott’s “Programming Language Pragmatics.”

The former work was published in 1981, its content is still highly relevant and it is frequently cited in today’s discussions of the implementation of Java closures. The latter book focuses on pragmatics, which are the implementation aspects of a language. It discusses such topics as data type selection, object lifetimes and parameter processing.

Then there’s the just-released “Design Concepts in Programming Languages,” by F. Turbak and D. Gifford.

The book is comprehensive and presents numerous little languages to illustrate key concepts. The material is dense and relies heavily on mathematical explanations, formal logic and Lisp-like language examples; in other words, it has a strongly academic feel. Readers who use it as a reference volume can skip the math and symbols without much loss.

Musicophilia:Tales of Music and the Brain

From the Wall Street Journal, September 23, 2008:

"I was not quite sure what to make of this peremptory music, which would intrude almost irresistibly and overwhelm him. Was he having musical hallucinations? No, Dr. Cicoria said, they were not hallucinations—"inspiration" was a more apt word. The music was there, deep inside him—or somewhere—and all he had to do was let it come to him. "It's like a frequency, a radio band. If I open myself up, it comes. I want to say, 'It comes from heaven,' as Mozart said.""

Tuesday, October 21, 2008

Free Lansweeper 3.0

Lansweeper is a powerful freeware solution to make a complete software, hardware, asset inventory of a Windows network. Lansweeper does not need to install a client on workstations, all scanning is done through the use of WMI, file-shares and remote Registry access.

Requirements: No special requirements
Platforms: Windows 2000, XP, Windows 2003

Available @ http://www.freedownloadscenter.com/Network_and_Internet/Misc__Networking_Tools/Lansweeper_Download.html

Saturday, October 18, 2008

3D Printers & Data Visualization

The availability and advancements in three-dimensional (3D) printing technologies makes it possible to add additional dimensions for the visual displays of the data. The 3D technologies can create visual (3D) images which have color, height/depth attributes as well as texture attribute. Hence data may be visualized and communicated with sight & touch.

I suppose future enhancement could be made in which the 3D printed image would also use sound & music – in combination with sight & touch – to convey other properties of data. [This is not as far-fetched as you might think; there are already 3D printers that produce working mechanical mechanisms.]

3D Printers

An overview of 3D printers is given at:


One may think of a 3D printer as a 3D inkjet printer that deposits droplets of plastic, layer by layer, gradually building up an object of any shape. Fabbers have been around for two decades, but they've always been the pricey playthings of high-tech labs — and could only use a single material. A Fab at Home kit costs around $2400 and allows users to print anything from Hors d'Oeuvres to flashlights."

3D Visualization

This document below discusses the application of 3D printers to cartographic data visualization


Example of 3D Printing Technology For Data Display

This is an example of a 3D printing product and its application to the display of geo-spatial data. It is from http://www.directionsmag.com/article.php?article_id=2034&trv=1

Thursday, October 16, 2008

Free Web Authoring Tool

NVU is a complete Web Authoring Tool for Linux Desktop, Microsoft Windows and Macintosh. Find it @ http://net2.com/nvu/

Wednesday, October 15, 2008

Gartner 2009 Prediction


NSA (No Such Agency) & Writing Secure Code

The National Security Agency has released a case study showing how to cost-effectively develop code with zero defects.

The case study is the write-up of an NSA-funded project carried out by the U.K.-based Praxis High Integrity Systems and Spre Inc. NSA commissioned the project, which involved writing code for an access control system, to demonstrate high-assurance software engineering.
With NSA's approval, Praxis has posted the project materials, such as requirements, security target, specifications, designs and proofs.

The code itself, called Tokeneer, has also been made freely available.

For this project, three Praxis engineers wrote 10,000 lines of code in 260 person-days, or about 38 lines of code per day.

After the project was finished, a subsequent survey of the code found zero defects.

Moreover, Tokeneer meets or exceeds the Common Criteria Evaluation Assurance Level (EAL) (an ISO-recognized set of software security requirements established by government agencies and private companies). The claim has been that it would be too expensive for commercial software companies to write software programs that would meet EAL 5 standards.

The engineering team used a number of different techniques for writing the code, all bundled into a methodology they call Correctness by Construction, which emphasizes precise documentation, incremental developmental phases, frequent verification and use of a semantically unambiguous language.

The developers wrote the code in a subset of the Ada programming language called SPARK, which allows for annotations that permit static analysis of the program. They used the GNAT Pro integrated developer environment software from AdaCore.

Sunday, October 12, 2008

Data Mining & Nostradamus

We read:

"Using cutting-edge data mining techniques, Dr. Michael Rathford sifted this complex word puzzle searching for significant patterns and relationships. Almost immediately, he came up with the predictive model known as The Nostradamus Code."

3 Useful New Features of SQL Server 2008

Data Compression
SQL Server 2008 gives us the ability to compress data and save on disk space. Without getting into many specifics, data in SQL Server can be compressed at the page level. This means that when you compress a table, it actually does it a page at a time. I'd advise you to tread lightly with data compression. You should make sure you do your research and testing before implementing compression in your environment. That said, when disk space is at a premium, you can use this feature to pack more data onto the platters.

Backup Benefits
SQL Server 2008 provides backup compression. With backup compression, you have the savings of file size built right into the native backup.

To use backup compression, you just need to add the WITH COMPRESSION option to a BACKUP DATABASE statement as shown below:

BACKUP DATABASE Adventureworks2008 TO DISK = 'D:\Backup\AdventureWorks.bak'

Here's an example of the compression ratio: a backed up 965MB database without compression resulted in a 636MB backup file. Using compression, the same database produced a 147MB backup file.

Learn to Merge
The new MERGE statement in SQL Server 2008 obviates the need for "IF-THEN" logic to decide whether a row needs to be inserted, updated or deleted. MERGE allows you to take care of the logic and the modification all in one shot. What's more, you can compare an entire record set all at once instead of going row by row. Here's a quick example of using MERGE:

MERGE tbl_address AS current_addresses
( SELECT customer_objid = ddress_label, addressline1, addressline2, city, region, country, zip code, is_deleted FROM @addresses)
AS source_addresses
(address_label, addressline1, addressline2, city, region, country, zipcode, is_deleted)
( current_addresses.address_label = source_address es.address_label )
(address_label, addressline1, addressline2, city, region, country, zipcode)
(source_addresses.address_label, source_addresses.addressline1, source_addresses.addressline2, source_addresses.city, source_addresses.region, source_addresses.country, source_addresses.zipcode)
WHEN MATCHED AND source_addresses.is_deleted = 1 THEN DELETE
address_label=source_addresses.address_label, addressline1=source_addresses.addressline1, addressline2=source_addresses.addressline2, city=source_addresses.city, region=source_address es.region, country=source_addresses.country,zip code=source_addresses.zipcode

The USING section defines the "new" data, in this case a table variable. The ON section defines the join between the new and existing data. Finally, you have a series of MATCHED statements that do things like insert WHEN NOT MATCHED, update WHEN MATCHED or delete WHEN MATCHED and some other value indicates delete.

Saturday, October 11, 2008

Amazon EC2 API

The Amazon Elastic Compute Cloud (Amazon EC2) web service API gives on the ability to execute arbitrary applications in the Amazon computing environment.

EC2 API has the momentum to become the x86 "chipset" of Cloud Computing.

Learn more about it @ http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/

Friday, October 10, 2008

Viz Designer

SPSS Viz Designer creates dynamic visualization based on the most appropriate chart or graph for that data set. Find it @ http://www.spss.com/VizDesigner/

The product is based on the "Grammar of Graphics" by Leland Wilkinson.


Stackoverflow.com is a free programmers Q&A site (it's only been out of private beta for about 3 weeks) where anyone can post programming questions and anyone can answer them.

Questions and answers are voted on by the community (free optional sign up via OpenId) and both questions and answers can be modified wiki-style (by users with sufficient reputation).

Good answers are voted "up" as in Reddit making high quality answers easy to find, and both questions and answers are tagged as in Delicious which makes searching effective.

The site is owned/created by Joel Spolsky and Jeff Atwood (of www.joelonsoftware.com/ and www.codinghorror.com/ fame respectively).


Checkout the Simple-Talk (www.simple-talk.com) site for information & insights regarding MS SQL Server.

Thursday, October 9, 2008

Eclipse As An End-to-End Platform

Please find below the URL for the Eclipse Foundation site and the Eclipse downloads.


Eclipse is the closest realization of the Model-View-Controller architectural pattern that I know.

One would almost wish to have Requirements and Test Cases be added as Eclipse perspectives and have the vendors deliver those perspectives through developing Plug-ins for Eclipse.

I am not a proponent of Eclipse (I dislike its "slowness" - courtesy of it being written in Java) but I think it is an example of a flexible platform that supports multiple views that inter-operate with one another.

Eclipse enables multiple views of the same underlying model (in the sense of MVC architecture).

For software development requirements engineering, inter-operability with Eclipse could be regarded as a requirement; i.e. one could ask the vendor “Is there an Eclipse Plug-in available for the product?”.

If so, then one could navigate from requirements to models to code to test cases seamlessly and within the same "integrated" environment. We already have rudiments of this; we can go back and forth between UML models and code and between CaliberRM (for requirements) and StarTeam (for configuration management).

Inexpensive PLM

If you have AuotCAD 2008 & SharePoint 2007 installed an deployed, then you have the basic ingredients for a relatively inexpensive PLM solution.

There is a piece of software called CADnection, currently priced at $6,995 for a bundle of 25 seats [plus a yearly maintenance fee of 18 percent of the purchase price to provide ongoing updates] that connects AutoCAD vaults to SharPoint.

Of course, one still needs to develop and deploy the related PLM workflows in SharePoint.

For details see: http://www.deskeng.com/articles/aaamak.htm

Tuesday, October 7, 2008


Numenta's approach to AI is based on the concept of hierarchical temporal memory system (HTM) patterned after the human neo-cortex.

There is an introduction available @ www.numenta.com/Numenta_HTM_Concepts.pdf

And a more detailed one @ www.numenta.com/for-developers/education/DileepThesis.pdf

Free Software Tools for RS-232

PortMon from Microsoft available @ http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx

NETCommOCX available @ http://hardandsoftware.com/

WinWedge from TAL Technologies available @ http://www.taltech.com/

Saturday, October 4, 2008

The Adventures of IP Man

The Adventures of IP Man is the new comic strip put out by Broadvox, a VoIP company. Designed, of course, to promote the benefits of Voice over Internet Protocol Technology, the strip is cutely drawn, but superficial & unimaginative.

Could "The Adventures of VAR Man" be that far behind?

Rock Star Programming

Valuable insights by Larry O'Brien on using highly skilled programmers to save projects that are in trouble:

"There are rare occasions, however, when it makes sense for a team to put its hopes on the shoulders of a single, skilled developer—an approach I call the "rock star gambit." The three critical components of using a rock star are having a very talented developer, a very short time frame and no domain discovery."

Record & Replay Debugging

TotalView Technologies has created a record and replay product that offers a back-and-forth debugging method. It is called ReplayEngine and you can learn more about it @ http://www.sdtimes.com/SearchResult/32823, There is also a white paper @ http://www.totalviewtech.com/pdf/whitepaper_replayengine.pdf

2 From Altova

Check out these 2 relatively inexpensive but very useful tools from Altova:

MapForce, a visual (and command-line) environment for file conversion. You can map input records (XML, CSV, EDI, OOXML and WSDL definitions, among others) to new layouts and indicate what transformations need to be performed as the fields are resequenced into the new data formats. The visual interface allows you to drag and drop transformations from a bundled library and test the output in a sandbox environment that supports output validation. And to avoid relying on XSLT transformations done quasi-interpretively, MapForce generates code in C++, C# and Java that can use standard libraries such as MSXML or Xerces and integrate with leading IDEs. MapForce starts at $299 and runs to $1,200, depending on the feature set.

UModel which supports all 13 UML 2.1 diagrams plus Business Process Modeling Notation. It enables code generation in Java, C# and Visual Basic, with full support for bidirectional (diagram to code, code to diagram) synchronization. It can export the diagrams in EMF and .png formats, and generate basic documentation using them. Pricing is similar to that for MapForce.

Thursday, October 2, 2008


I think it will be a good idea to consider using devices such as iRex 1000 family of digital reader/writer for JAD and requirements gathering activities.

Please see below:


About Me

My photo
I am a senior software developer working for General Motors Corporation.. I am interested in intelligent computing and scientific computing. I am passionate about computers as enablers for human imagination. The contents of this site are not in any way, shape, or form endorsed, approved, or otherwise authorized by HP, its subsidiaries, or its officers and shareholders.

Blog Archive