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

Saturday, September 29, 2007

2 Sites for Gadget Lovers

http://crave.cnet.com/8300-1_105-1.html&tag=blog

http://blog.sciam.com/index.php

Kannuu Text-entry

Kannuu is a new method of text entry that relies on a databse of words (possibly restricted) and a navigation wheel to enter text.

Learn about it @ http://crave.cnet.com/8301-1_105-9783298-1.html

C++0x

C++ is being updated. The update is called C++0x for now.

Find the details @ http://en.wikipedia.org/wiki/C%2B%2B0x

Worse Than Failure

Yes, Virginia, there are things worse than failure.

Check out Alex Papadimoulis Weblog @ http://worsethanfailure.com/

Why XAML Is Important

XAML was first announced publicly at the October 2003 Microsoft Professional Developers Conference (PDC) in Los Angeles as "Longhorn's X Technology." It is a declarative programming model based on a new XML vocabulary called Extensible Application Markup, code-named 'XAML' (pronounced 'zammel').

Writing an application starts with authoring a XAML file (typically through a designer) to define the layout of UI elements which can then be deployed either as a Windows Client UI or a Web UI.

But XAML's potential extends beyond graphical UI development. It is, in fact, a mechanism for instantiating .NET classes. Note that XAML is also a key technology element of the new Windows Workflow Foundation (WWF) and has many other potential uses as well. XAML is an extremely broad and versatile way to put a declarative front-end on .NET development of any sort whatsoever.

Just as there's nothing about object-oriented development that limits it to GUI objects, there's nothing about XAML that limits it to providing a declarative means of creating a richer GUI experience for users.

XAML is analogous to Language Integrated Query (LINQ) in that both are ways to evolve from a more domain-specific procedural approach of program development to a more declarative way of programming. XAML provides an adaptable declarative framework that can potentially be used in all sorts of specific application domains. It offers extensible means to build declarative front-ends over object-oriented programming, which is typically still quite procedural.

Check it out!

Insufficiency of Data Models

Malcolm Chisolm has 3 interesting articles on why data modeling alone is not sufficient for the design of databases.

They are:

"Data Models are Not Database Design" in October 2007 issue of DM Review.

"MetaThoughts:The Logical/Physical Challenge in Data Management"

"Is Data Modeling Sufficient for Database Design?"

I think they are worth reading. I specially enjoyed the first one since I had personal experience with reference data and could relate to the validity of his assertions.

BI & Gramm-Leach-Bliley Act

Please be advised that in building BI applications, as soon as you put customer account information into the analysis you trigger the Gramm-Leach-Bliley Act.

Misusing Materialized Views

Reporting and BI applications need to transform their data from raw database form into denormalized structures, dimensional model, or a cube. They also must also apply filtering, aggregation, and business transformations.

Materialized views are being misused in order to skip ETL step. This is a simplistic approach & it does not work since often the developers do not understand the data transformation needs of the business. The cost is paid in the form of a much more expansive and expensive reporting & BI development cycle.

The more cost-effective approach is to use an extended hub-and-spoke model in which the ETL step leads to further spokes in the form of data marts and cubes.

Thursday, September 27, 2007

Free Web Vulnerability Scanner Tool

The Web vulnerability scanner tool SXX from Acunetix is freely available @
http://www.acunetix.com/cross-site-scripting/scanner.htm

Wednesday, September 26, 2007

Michael Dell at CSIS

His topic is: "Simplification and Energy Efficiency: The Next Challenges for IT"

http://www.csis.org/component/option,com_csis_events/task,view/id,1385/

Tuesday, September 25, 2007

Web Usability

Interesting book on Web usability:

"Don't make me think" by Steve Krug.

Saturday, September 22, 2007

What is wrong with PowerPoint?

Peter Norvig has created a PowerPoint deck that highlights the poverty of the PowerPoint presentation style with devastating clarity. Find it @ http://www.norvig.com/Gettysburg/index.htm

Friday, September 21, 2007

Concurrency Models

None of today's popular programming language is inherently parallelizable. No compiler for Java, C# and Visual Basic - much less C or C++ - will suddenly distribute the application's computations across multiple processors.

The current model of threading used in mainstream programming languages—the model of programmer-controlled threads and locks—is fundamentally broken since this is a model where callbacks are inherently unsafe.

There are other concurrency models, however, worth considering.

There is “message passing” (“shared nothing”) based on the principle that data stored inside objects should always be thread-local and that access from another thread should always be mediated by a method call that can be made responsible for synchronization. .NET’s ThreadLocalAttribute is using this model. The downside is that it requires an appreciable amount of “everything is an object” overhead on exactly the type of large data set most amenable to data-parallel performance benefits (for example, multimedia data).

The “software transactional memory” (STM) is basically optimistic concurrency for RAM. Essentially, the programmer becomes responsible not for controlling threads and locks but for identifying sequences that require atomicity. STM systems have an external component (some combination of library and compiler-generated code) that checks the validity of an atomic sequence and retries invalidated transactions. While such checking introduces some amount of overhead, it’s less than that of “shared nothing.” The performance of STM varies with the number of collisions and retries that are triggered.

There are a few C# libraries for STM, including one from Microsoft Research @ research.microsoft.com/research/downloads/Details/6cfc842d-1c16-4739-afaf-edb35f544384/Details.aspx

and another by Ralf Sudelbücher @

weblogs.asp.net/ralfw/archive/tags/Software+Transactional+Memory/default.aspx

Another model is the pure-functional programming (look at .Net's F# or Haskell) in which all state is passed through function parameters.

And the less ascetic model in which variables are immutable after their initial assignment. Such (along with message-passing) is the model of Erlang.

Thursday, September 20, 2007

Free Software - Alice

Alice is a free, easy-to-use, interactive 3D graphics software tool for the WWW. Find it @ http://www.alice.org/

I would like to mention here that Randy Pausch, a Carnegie Mellon University computer-science professor who has been deeply involved in the development of Alice has been diagnosed with incurable pancreatic cancer.

In his last lecture on Tuesday 09/18/2007 to 400 students and colleagues, Professor Pauch stated:,

"Like Moses, I get to see the Promised Land, but I don't get to step foot in it. That's OK. I will live on in Alice."

Multimedia User Interface Design

An interesting take on GUI design :

http://www.portabledesign.com/article?article_id=75

Some of this could be accomplished on the Windows platform by using Shell Extensions but that approach was not a cohesive one like the one above.

Friday, September 7, 2007

Microsoft XNA Game Studio Express

Microsoft XNA Game Studio Express is a set of tools based on Microsoft Visual C# 2005 Express Edition that allow students and hobbyists to build games for both Microsoft Windows and Xbox 360. Find it @ http://msdn2.microsoft.com/en-us/library/bb200104.aspx

There is also this MSDN article @ http://msdn.microsoft.com/msdnmag/issues/07/05/XNA/default.aspx

Check it out!

Free Lite Programs

Here are some free less resource-hungry programs that I've found useful whcih perform the same tasks or at least the most commonly used tasks:

• Foxit Software's Foxit Reader 2.0 (http://www.foxitsoftware.com/): This PDF reader is 1.67MB, needs about 5MB of RAM, and starts up almost instantly. An .msi file is available for download, so you can deploy this program through Group Policy.

• PDFCreator (http://sourceforge.net/projects/pdfcreator): PDFCreator provides an easy way to create PDF files from any application. It creates a virtual printer named PDF creator. Whenever you want to create a PDF file from a document, you just send the document to this virtual printer. You can deploy this program through Group Policy.

• 7-Zip (http://www.7-zip.org/): This program opens all popular compressed files (e.g., .zip, .iso, .rar, .arj). Plus, it provides a new compression format (7z) that, according to the Web site, provides a compression ratio that's up to 10 percent better than the ratio provided by PKWARE's PKZip and WinZip Computing's WinZip. One of my favorite features is that you can compress and decompress files in the background. You can deploy this multilingual program through Group Policy.

• Media Player Classic (http://sourceforge.net/project/showfiles.php?group_id=82303&package_id=84358): Although Media Player Classic looks like Microsoft's Windows Media Player (WMP), Media Play Classic is faster and requires less memory than WMP. Media Player Classic is highly extensible.

About Me

My photo
I had been a senior software developer working for HP and GM. I am interested in intelligent 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