A site devoted mostly to everything related to Information Technology under the sun - among other things.
Wednesday, January 9, 2008
Steps to Legacy Modernization
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
The conclusion: IntelliJ's IDEA is the superior product.
Check it out!
Interesting Weblogs
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
Learn more about it @ http://labs.live.com/volta/
Parallel Extensions for .Net
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?
Monday, January 7, 2008
Thursday, January 3, 2008
SharePoint 2007 Learning Path
http://www.windowsitpro.com/Articles/ArticleID/94914/94914.html
http://www.windowsitpro.com/Articles/ArticleID/94240/94240.html
http://www.windowsitpro.com/Articles/ArticleID/95480/95480.html
Microsoft Resources:
http://office.microsoft.com/en-us/sharepointtechnology/FX100503841033.aspx
http://msdn2.microsoft.com/en-us/library/ms550992.aspx
Monday, December 24, 2007
Engineering Education in India
And
http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=204802970
We further read:
The findings of an industry-sponsored report tend to confirm the committee’s belief that there is a mismatch between the skills students are graduating with and the skills required by the economy’s top revenue-generating sectors. ... the number of workers required by the information technology (IT) and “business process outsourcing” industry will increase from 700,000 to 2.3 million between 2005 and 2010. However, by current estimates, there will be a shortfall of almost 500,000 workers, as only 1.05 million suitably qualified students will have graduated in that timeframe.
The worker deficit will not be for a lack of graduates — only one in four engineering graduates and one in 10 graduates with generalist degrees are considered employable by multinational companies. According to the 2005 report, the remainder is thought to be lacking technical skills, English competency, communication and presentation skills and the ability to work as part of a team.
Tuesday, December 18, 2007
A Silly and Pleasant Game
http://www.bbc.co.uk/science/humanbody/sleep/sheep/reaction_version5.swf
Tuesday, December 11, 2007
Saturday, December 8, 2007
A Web Application Using Only Java
• 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(); signupButton.addClickListener(new ClickListener() public void onClick(Widget sender) |
SignupRemoteService.Util.getInstance().signup( { 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
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>
Mathematica & Sculpture
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
Friday, December 7, 2007
SAGE
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
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
Useful Links
Topics
- 3-D Printing (15)
- AI (422)
- Art (112)
- Article (157)
- books (103)
- Business Intelligence (18)
- Careers (104)
- Cloud Computing (22)
- Cognition (14)
- Complexity (8)
- Computer Science (22)
- COVID-19 (1)
- Cyber-security (99)
- Data Analysis (41)
- Data Management (21)
- Data Visualization (31)
- Design Thinking (1)
- Embedded Tools (34)
- Gadgets (77)
- Games (33)
- Google (9)
- Hardware (47)
- High Performance Computing (33)
- History of Mathematics (1)
- Humor (79)
- Inetrview (7)
- Intelligent Transportation (18)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (5)
- Microsoft Platforms (25)
- Microsoft Tools (66)
- Mobile Computing (3)
- Motto (3)
- Network Tools (12)
- News (243)
- Offshoring (6)
- Open-Source Sofware (9)
- Outsourcing (1)
- Philosophy (8)
- picture (1)
- Pictures (151)
- PLM (5)
- Programming Languages (77)
- Quantum Computing (5)
- Report (4)
- Reports (56)
- RFID (3)
- Robots (138)
- Science (75)
- Scientific Computing (18)
- Search Tools (7)
- Semantic Networks (11)
- Simulations (36)
- Social Computing (28)
- Software Architecture (28)
- Software Development (167)
- Software Testing (5)
- Software Tools (275)
- Some Thoughts (83)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (10)
- Web Site (239)
- Web Site for Science (57)
About Me
- Babak Makkinejad
- 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
- August (6)
- July (13)
- June (22)
- May (11)
- April (20)
- March (5)
- February (5)
- January (21)
- December (18)
- November (13)
- October (12)
- September (3)
- August (10)
- July (8)
- June (15)
- May (15)
- April (9)
- March (17)
- February (22)
- January (45)
- December (19)
- November (11)
- October (10)
- September (7)
- August (11)
- July (6)
- June (11)
- May (12)
- April (7)
- March (5)
- February (1)
- January (3)
- December (1)
- October (2)
- September (4)
- August (1)
- July (3)
- June (2)
- April (2)
- March (2)
- February (2)
- January (10)
- December (1)
- October (1)
- September (1)
- August (4)
- June (1)
- April (6)
- March (2)
- February (4)
- January (3)
- December (1)
- October (1)
- June (3)
- April (1)
- March (1)
- February (1)
- January (6)
- December (8)
- November (3)
- October (5)
- September (2)
- August (3)
- July (6)
- June (2)
- May (7)
- April (19)
- March (22)
- February (6)
- January (5)
- December (4)
- November (4)
- October (9)
- September (3)
- August (7)
- July (3)
- June (2)
- May (6)
- April (4)
- March (8)
- February (5)
- January (18)
- December (6)
- November (10)
- October (6)
- September (7)
- August (2)
- July (4)
- June (5)
- May (8)
- April (5)
- March (9)
- February (3)
- January (7)
- December (2)
- November (1)
- October (3)
- September (5)
- August (10)
- July (8)
- May (5)
- April (8)
- March (9)
- February (6)
- January (11)
- November (6)
- October (9)
- September (5)
- August (13)
- July (9)
- June (9)
- May (8)
- April (4)
- March (2)
- February (8)
- January (9)
- December (3)
- November (7)
- October (9)
- September (7)
- August (4)
- July (2)
- June (4)
- May (7)
- March (4)
- February (2)
- January (1)
- December (2)
- November (1)
- October (6)
- September (1)
- August (1)
- July (4)
- June (1)
- April (1)
- March (1)
- February (1)
- January (2)
- December (5)
- October (4)
- August (2)
- July (3)
- June (8)
- May (7)
- April (5)
- March (9)
- February (3)
- January (7)
- December (4)
- October (7)
- September (5)
- August (5)
- July (8)
- June (6)
- May (9)
- April (5)
- March (4)
- February (5)
- January (6)
- December (12)
- November (7)
- October (5)
- September (4)
- August (19)
- July (12)
- June (4)
- May (8)
- April (5)
- March (15)
- February (5)
- January (9)
- December (14)
- November (6)
- October (12)
- September (2)
- August (10)
- July (8)
- June (8)
- May (11)
- April (10)
- March (10)
- February (9)
- January (20)
- December (16)
- November (9)
- October (25)
- September (24)
- August (12)
- July (18)
- June (20)
- May (13)
- April (29)
- March (26)
- February (14)
- January (17)
- December (17)
- November (9)
- October (32)
- September (27)
- August (27)
- July (11)
- June (22)
- May (25)
- April (33)
- March (33)
- February (28)
- January (38)
- December (12)
- November (39)
- October (28)
- September (29)
- August (29)
- July (18)
- June (27)
- May (17)
- April (23)
- March (40)
- February (31)
- January (6)















