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

Wednesday, January 9, 2008

Steps to Legacy Modernization

Involve senior management :
The stamp of approval from the senior management gives these efforts the authority and backing they require to succeed.

Allocate a budget specifically for the task:
Companies are far more successful at updating old applications when they have a budget specifically set aside for the task. Ideally, that budget can be gathered up from the cost savings initially realized through application portfolio management.

Apply portfolio management practices:
This means eliminating useless applications, and possibly moving old software into newer, cheaper hardware; perhaps through virtualization. Legacy modernization ought to begin with this process of identifying useless software and code within a company's application portfolio.

Next steps:
Identify the applications that will soon be without shepherds in the organization. Visiting human resources and getting a list of IT job titles and the corresponding time to retirement for the person in each position can start this process These dates must be commensurate to the time frame for the project to be completed.

There are also software tools that can help in the modernization effort such as those from SoftwareMining that translates old COBOL applications to "maintainable" java code.

Alternatives to Eclipse

Andrew Binstock has reviewed various alternative IDEs to Eclipse in his columns in the Software Development Times magazine. He has reviewed IntelliJ's IDEA, Oracle's JDeveloper, and SUN's NetBeans.

The conclusion: IntelliJ's IDEA is the superior product.

Check it out!

Interesting Weblogs

Istartedsomething
www.istartedsomething.com
Long Zheng has started something all right. It began when 19-year-old Zheng began uncovering snippets of information that Microsoft had kept under wraps about the Windows user experience during the development of Windows Vista. The blog, he says, was inspired by his professional interest in graphics and design. It now averages more than 400,000 hits per month.

Joel on Software
jkontherun.blogs.com
Joel Spolsky remains a trusted authority on software development due to his sagacious insights on the development and marketing of software.

jkOnTheRun
jkontherun.blogs.com
James Kendrick may be a man on the run, but he finds the time to dish on the latest in mobile technology. This blog features news and reviews about everything mobile. Kendrick claims to have been using mobile devices “since they weighed 30 pounds.” In our estimation, he is now a much faster runner since he got rid of the Compaq Portable.

Lambda the Ultimate
lambda-the-ultimate.org
Its creators call it “The Programming Languages Weblog” for the obvious reason: This blog exists to publish programming language research and to discuss bordering issues such as programmability.

LiveSide.net
www.liveside.net
Want the skinny on Microsoft’s Web 2.0 strategy? Look no further than LiveSide.net. LiveSide grew out of the Windows enthusiast community and doesn’t miss a beat about what is going on in the Redmond company.

Miguel de Icaza’s web log:
tirania.org/blog
GNOME project founder and Novell executive Miguel de Icaza is not one to shy away from controversy. The open source advocate started his year by defying convention and publishing a rigorous defense of Microsoft’s Office Open XML. de Icaza has been instrumental in explaining how to make Microsoft’s Silverlight runtime work with Linux.

ScottGu's Blog
weblogs.asp.net/scottgu/default.aspx
It is no accident that Scott Guthrie, general manager within Microsoft’s developer division, has cultivated a following among developers. Guthrie regularly shares helpful tips about Microsoft platforms and products and has become a respected thought leader at the Redmond company.That said, he claims that his experience has given him no “inspirational thoughts” to share other than, “It is a great way to connect with developers, help discuss good technical questions, provide road map transparency, and overall learn a lot in return from the feedback/questions it brings.”

techno.blog (“Dion”)
almaer.com/blog
Dion Almaer is a respected programmer working for Google on projects that include Google Code and Google Gears. Almaer uses his personal blog to discussing his take on the latest technology—with a heavy emphasis on bleeding-edge Web programming.

Widgify
www.widgify.com
On his blog, Hooman Radfar, founder of Clearspring Technologies, attempts to make sense of the fast-paced world of social applications, widgets and the distributed Web.
And last, but not least…

Z Trek: The Alan Zeichick Weblog
ztrek.blogspot.com
The “Z” in BZ Media, co-founder and SD Times editorial director Alan Zeichick has an entertaining blog and is authorized to sign year-end bonus checks. Zeichick offers “pithy observations and timely analysis” about information technology, software development, security and networking—and whatever else strikes his fancy at a given moment. You might learn something about his favorite music—or his thoughts on multi-core application design.

Microsoft Volta

The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.

Learn more about it @ http://labs.live.com/volta/

Parallel Extensions for .Net

Microsoft has released a Community Technology Preview of the Parallel Extensions to .Net Framework called ParallelFX. Learn more about it @

http://blogs.msdn.com/somasegar/archive/2007/11/29/parallel-extensions-to-the-net-fx-ctp.aspx

http://insidehpc.com/2007/09/17/parallelfx-high-level-net-libraries-for-data-parallel-computation/

Download is @

http://www.microsoft.com/downloads/details.aspx?FamilyID=e848dc1d-5be3-4941-8705-024bc7f180ba&displaylang=en

What's wrong with the US Mid-West?

In "Caught in the Middle: America's Heartland in the Age of Globalism," former Chicago Tribune reporter Richard C. Longworth tells heartland stories, lots of them, and compiles them in a passionate, probing and painfully honest book. There is little room for sentimentality here. Yes, the outsourcing of jobs and the export of industries has played a major role in recent years. But in Mr. Longworth's account, heartland workers are torpid, poorly trained and resistant to change. Politicians and bureaucrats are narrow-minded, territorial and selfish. Farmers are addicted to subsidies and beholden to mega-corporations.

Monday, January 7, 2008

Tuesday, December 18, 2007

A Silly and Pleasant Game

The automobile driving manual says the average driver's reaction time is:> .75 seconds or 1 car length for every 10 mph; try this:

http://www.bbc.co.uk/science/humanbody/sleep/sheep/reaction_version5.swf

Tuesday, December 11, 2007

Web-comic

A web-comic of romance, sarcasm, mathematics, and language @ http://xkcd.com

Saturday, December 8, 2007

A Web Application Using Only Java

There has always been an issue in J2EE Web development in that there are more than one way of skinning the cat when it comes to developing a Web application. One could do some, either, or all of the following in the same application:

• put the code right in the page.

• put the code in plain-text page libraries that are included in the main pages.

• use tag libraries.

• write the code inside a Servlet.

• use JSTL

One can instead use Google Web Toolkit (GWT) which is a Java to JavaScript compiler. You write code in Java, and GWT compiles it into JavaScript that works in a standard browser. One of Google’s biggest issues seems to have been to create a common way of writing code that would be browser agnostic. They’re not there yet, but I like to think that write-once-run-anywhere has been moved a couple of steps forward.

Consider coding the follwoing page:



Here is the code to build it using GWT - All Java, All of the Time!


signupButton = new Button();
flexTable.setWidget(6, 1, signupButton);
signupButton.setTabIndex(7);
signupButton.setText("Signup");



signupButton.addClickListener(new ClickListener()
{



public void onClick(Widget sender)
{
if (signupButton.isEnabled())
{
if (validating)
validateSignup();
else
beginSignup();
}
}
});

And

SignupRemoteService.Util.getInstance().signup(
signupInfo, new AsyncCallback()

{

public void onFailure(

Throwable caught)

{

showErrorMessage("There seems to be a problem" +

" with the data you entered." +

" Please check the information" +

" and try again.");

signupButton.setEnabled(true);

}

public void onSuccess(

Object result)

{

String errorMessage =

(String) result;

if (errorMessage != null)

{

showErrorMessage(errorMessage);

signupButton.setEnabled(true);

}

else

{

flexTable.getRowFormatter().setVisible(

5, true);

showInfoMessage("Almost there." +

" Please check your email" +

" and copy and past the " +

"Authentication Code into" +

" the box above.");

validating = true;

signupButton.setEnabled(true);

cancelButton.setEnabled(true);

}

}

});

Google supplies an emulator that allows you to run the code, set breakpoints and even do on-the-fly changes.

In addition to debugging, unit testing works like any other Java application. Since all of the code is standard Java, you can simply write unit tests against any of the code and run it using the standard Java Runtime Environment. If you need the ability for your unit tests to run against the hosted code, Google made that possible using the emulator and a special test case class from GWT.

GWT works with Eclipse. It ships with a tool to create an Eclipse GWT project and for less than $50 you can get GWT Designer, which among other things allows you to create Eclipse code using a WYSIWYG designer.

For server side code GWT ships with two solutions. You can either use standard JavaScript Notation Object (JSON) or use GWT Remote Procedure Calls (RPC), which works with Servlets. This means that you end up with two code bases--a client code base and a server code base. The client code base becomes JavaScript and the server code base is deployed as a Servlet. In practice, you simply wrap it all up in a Java Web Archive (WAR) and deploy it on Tomcat or another standard Servlet container.

Since the GWT server side is just standard Java deployed on a Servlet container, you can use all your favorite Java libraries like Hibernate with Annotations, Spring, Log4J, Jackcess (to import access files) and so many other mature Java libraries on the server side.

.mobi

.mobi is the Internet extension for Web sites that are designed for mobile devices such as cell phones from the ground up.

Suppose you are building a site with a number of options on it that are rendered as html links. On a regular Web page, you may need to scroll down to the link you are interested om and then to select it.

On a .mbi site, you will be using Access Keys which allow a user to quickly to navigate to a link on a page by assigning one of the mobile device's (say a smart phone) keypad keys to that link. The HTML code to execute this is a as follows:

[1]<a accesskey="1" href="link1.html">Link 1</a>


[2]<a accesskey="2" href="link2.html">Link 2</a>



And if you wish a phone call to be made (in an anlogous way to sending an email) by clicking on a hyperlink you would write:

<a href="tel:XXXXXXXXXX"> Call Us! </a>

Columnar Databases

As the name implies, columnar databases are organized by column rather than row: that is, all instances of a single data element (say, Customer Name) are stored together so they can be accessed as a unit. This makes them particularly efficient at analytical queries, such as list selections, which often read a few data elements but need to see all instances of these elements. In contrast, a conventional relational database stores data by rows, so all information for a particular record (row) is immediately accessible. This makes sense for transactional queries, which typically concern one record at a time.

Mathematica & Sculpture

Various artists have been using Mathematica to produce artistic structures:

http://www.georgehart.com/sculpture/sculpture.html

and

http://www.bathsheba.com/

I clicked on the http://www.bathsheba.com/gallery/interp.html link and I noticed that the structures created by Mathematica are pleasing if they are the size of ornamental jewelry or house-hold goods; i.e. much smaller than the size of a human being.

But they do not "work" when their scale is large (comparable or larger than the size of a human being). They do not look pleasing as "stand-alone" sculptures for the most part; there is too much regularity and therefore they look boring since there is nothing beyond structure.

I am intrigued by this dependence of the sense of beauty on the scale of the work of art and the typical size of a human being.

It reminds me of what Protagoras is purported to have said in 485 B.C., "Man is the measure of everything."

Hyperseeing

An interesting magazine published by the International Society of the Arts, Mathematics, and Architecture @ http://www.isama.org/hyperseeing/

Friday, December 7, 2007

SAGE

SAGE is an open-source mathematical software package developed at the University of Washington.

It won first prize in the scientific software division of Les Trophées du Libre, an international competition for free software.

It is available @ http://www.sagemath.org/

An Active Coder

Philip Nelson's Web log @ http://xcskiwinn.org/community/blogs/panmanphil/default.aspx

Why Python?

Fredrik Lundh's Python site: @ http://www.ferg.org/index.html

Wide Finder Project

Check out the Wide Finder Project @

http://www.tbray.org/ongoing/When/200x/2007/09/20/Wide-Finder

which presents a simple problem typical of administrator-level development - analyzing a Web log to find the most popular pages - and uses Regular Expressions to solve it.

And @ http://effbot.org/zone/wide-finder.htm

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