Sunday, September 30, 2007

2007-09-30 Sunday

My current project team is evaluating Bugzilla and Mantis as possible candidates for adoption as their bug/issue tracking system. The vote was almost a clear choice of Mantis over Bugzilla - until I did a quick demo of the Eclipse plugin (Mylyn) integration with Bugzilla. We will probably spend another two weeks doing further evaluation testing. A couple of thoughts on our evaluation / decision criteria might be worth discussing.

The team is coming from a relatively low-level of automation in their development process / environment. Mantis is a simpler solution in terms of features / interface for the team members to learn - but it lacks some richness that Bugzilla offers that (in the longer term) may prove to create other problems down the road - as the team's comfort level grows with adopting greater Continuous Integration principles & process improvements. Tough call. Very tough.

Shane Duffy has a decent write-up on a discussion of the pros/cons: BugZilla Vs Mantis

I've run into a possible conflict / problem with the Mylyn plugin - and some of the other Eclipse plugins I'm trying to configure as a standard configuration for the team. A very strange thing happens: The Navigator view of other project folders appears to "drop" all but one of the projects when I attempt to click on specific project folder (?). This happens even though I don't have the Mylyn task view opened. A check of the Eclipse error log doesn't indicate any component failure or exceptions thrown. I need to spend some time searching the Eclipse discussion boards and bug lists to see if anyone else is reporting a similiar problem. (btw: I'm running Europa 3.3)

I ran into an SMTP integration problem with the Bugzilla install within the last two weeks. I burned a good number of hours trying to isolate any changes I might have made to configuration parameters before I isolated the problem to a change that was made by Network Operations personnel to the firewall connection to the SMTP server. Doh!

I've been very busy recently - and have a lot of observations and recommendations to make on a number of Open Source tools that I'm evaluating / adopting for the team's use. But there are only so many hours in the day...

Thursday, September 27, 2007

2007-09-27 Thursday

Wow. What a busy week it has been. The days have been flying by - and I've been working 10-12 hour days...

While at the No-Fluff-Just-Stuff conference in Redmond last weekend, I noticed that all of the presenters were using Apple laptops to do their presentations from - and that they were using a cool text editor: TextMate

It has some pretty cool features - and didn't require opening a Project (like Eclipse). One VERY COOL feature was the ability to zoom using a mouse control.

I did some searching - and came across a comparable tool: Notepad++. Some of its features include:

Syntax Highlighting and Syntax Folding
User Defined Syntax Highlighting
Auto-completion
Multi-Document
Multi-View
Regular Expression Search/Replace supported
search and replace - using the regular expression.
Drag ‘N' Drop
Dynamic position of Views
File Status Auto-detection
Reload notification
Zoom in and zoom out
Bookmark
Brace and Indent guideline Highlighting
Macro recording and playback


I spent some time reading a few papers on Peter Norvig's web site - very thought provoking...he's the Director of Research at Google. Some additional resources created by Peter:

There is a wealth of great content on this site: Artificial Intelligence: A Modern Approach

Paradigms of AI Programming Source Code - (This page is the index for the Lisp source code files for the book Paradigms of Artificial Intelligence Programming)

Peter Norvig's Keynote Address at the U.C. Berkeley Computer Science Commencement (School of Letters & Science) on 21 May 2006.



I also spent quite a few hours reading articles on Eric S. Raymond's web site. Of particular note was an article he wrote about a trip to Japan back in the late 1990's.

A 2005 essay by Paul Graham: Undergarduation

Friday, September 21, 2007

2007-09-21 Friday

I'm attending a 3-day conference today (Redmond, Washington): No Fluff Just Stuff - Pacific Northwest Software Symposium, Sept. 21-23

I have book concept in mind that I've been thinking about writing - and will try to submit a proposal to Pragmatic Bookshelf publishing by the end of the year.

I installed TestLink 1.7.0 yesterday - and spent a few hours working it. So far - I'm pleased with what I see.
"TestLink is a open source web based TEST MANAGEMENT and test EXECUTION system under the GPL license (i.e. free to use). The tool enables quality assurance teams to create and manage their test cases as well as organize them into test plans. These test plans allow team members to execute test cases and track test results dynamically, generate reports, trace software requirements, prioritize and assign. "

Thursday, September 20, 2007

2007-09-20 Thursday

Next week I will be working on the installation of CruiseControl at a client site - and integrating it with Subversion, the bug tracking system, as well as some automated testing tools.


This Continuous Integration Server Feature Matrix is worth reviewing for other possible choices.

IMPROVING SOFTWARE DEVELOPMENT PROCESS AND PROJECT MANAGEMENT WITH SOFTWARE PROJECT TELEMETRY
(A DISSERTATION SUBMITTED TO THE GRADUATE DIVISION OF THE UNIVERSITY OF HAWAI‘I IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY IN COMPUTER SCIENCE DECEMBER 2006 By Qin Zhang)


Driving On CruiseControl - Part 1, (Lasse Koskela, Accenture Technology Solutions)

The Deployment Production Line (Jez Humble, Chris Read, Dan North, ThoughtWorks Limited)

Agile Development in .NET (Neal Ford, Application Architect ThoughtWorks)

Using Open Source .NET Tools for Sophisticated Builds




Yesterday I was in the process of opening a 230MB XML file (a single record exported out of SQL Server 2005, from a client's customized project management system) - and trying to open it within Eclipse. As it was taking some time to open the file - I decided to fix a small annoying problem I had been experiencing with the behavior of a right-click feature I had enabled in Microsoft's File Explorer via a useful registry hack. [foreshadowing ominous music plays]...

Eclipse decided that it did not want to play any more - and choked on loading the file. I finished making my quick change to the registry - and discovered that every time I tried to open any program - Windows had somehow mapped Eclipse as the executable.

I couldn't open Regedit - couldn't open a DOS prompt - couldn't access the control panel or the Accessories / System Tools > System Restore.

After a few hours of investigation - I managed to trick the system into opening cmd.exe to a DOS promopt - and was agle to run c:\Windows\System32\reg.exe to export varous registry keys. A few more hours of investigation - and I isolated the problem to a loss of Windows mapping of the EXE file type to Application. Whew.

This link was very helpful: Broken EXE Association. The Microsoft


I've recently spent some time researching JSON for a client engagement:

POSSIBLE JSON PROS:
- messages [should be] are smaller than comparable XML XSD message structures.


POSSIBLE JSON CONS:
- Lack of support for complex data types
- One of the issues that is hotly debated about using JSON type data-exchanges revolves around JSON's relative weakness in doing complex data-type validation as compared to using an XML XSD.
- JSON doesn't support namespaces (???)



An introduction to JSON


Debate: JSON vs. XML as a data interchange format

The Case For JSON: What Is It and Why Use It?


XML vs JSON writer performance issues (- ? -)


The JSON vs XML debate begins in earnest

Speeding Up AJAX with JSON

Schema for JSON

Arguments against the Semantic Web


Tim Bray on XML v. JSON

Don Box on XML v. JSON



JSON REFERENCES:

json.org

Using JSON (JavaScript Object Notation) with Yahoo! Web Services

Intro to JSON, Frederic Jean

Yahoo JSON Discussion Group


JSON PDF presentation - Gopalarathnam Venkatesan, Yahoo! Inc

Some interesting white papers: Farallon Enterprise GIS Presentations

Generic e-Government GIS [using JSON]





I'm researching tools to help a client perform analysis of millions of lines of legacy mainframe code (COBOL, Natural, etc.) - some of my preliminary research has identified the following possible resources on the web:



CASE Vendor List - David Alex Lamb, Software Technology Laboratory, Department of Computing and Information Science, Queen's University, Kingston, Ontario, Canada


College of Staten Island - Comp-Sci Dept - CASE tools by category


Comp.software-eng FAQ (Part 4): CASE tool vendors

XTran

Code Generation Network

Code Generation Tools Discussion - (Sergey Dmitriev, the CEO of JetBrains, maker of the IntelliJ IDE for Java)


http://arxiv.org/ftp/cs/papers/0503/0503068.pdf

reengineer.org/

wikipedia: List of tools for static code analysis...more

sourcenav.sourceforge.net/

http://www.naspa.com/supercharge-your-mainframe-applications-ridding-them-unused-cobol-code

softwaremining.com
SoftwareMining offers some of the world’s most advanced Legacy Modernization Tools according to independent reports by leading analysts and Systems Integrators. Our mission is to help our clients extract value from their legacy investments. Our range of tools and services includes

COBOL to Java Translation, COBOL to C# Translation. SoftwareMining's Rapid Transformation Tools are designed to generate legible, maintainable systems, helping to lower the risk of modernisation and increase the project ROI through quick and efficient processes.


Business Rule Extraction (BRE) is the process of isolating and reporting of Business-Rules from the application code. With text, graphical and flowchart outputs, SoftwareMining’s easy-to-use, drag-and-drop BRE toolkit enables the user to carry out in-depth analysis and reporting on the COBOL application code.


Legacy Migration Consultancy - Our broad experience with COBOL legacy application transformation is available to assist our clients carry out transformation risk assessments, develop re-hosting, re-writing or migration project plans, build a business case, calculate ROI and more.




dmoz.org: COBOL products and services

raincode.com - COBOL Engine

http://www.semdesigns.com/Products/DMS/DMSToolkit.html

Visustin
Visustin is an automated diagramming tool for software developers and document writers. Visustin diagrams Ada, ASP, assembly language, BASIC, C/C++, C#, Clipper, COBOL, Fortran, Java, JSP, JavaScript, LotusScript, Pascal/Delphi, Perl, PHP, PL/SQL, PowerScript, PureBasic, Python, QuickBASIC, REALbasic, T-SQL, VB, VBA, VB.NET and Visual FoxPro code



http://search.techrepublic.com.com/search/Source+Code+and+flowchart.html


http://www.cobug.com/cobug/docs/documentation0035.html
http://www.cobug.com/cobug/docs/codeconver0031.html

http://www.fileflash.com/allfiles/draw_cobol_flow/

http://www.sharewareconnection.com/titles/flowchart-source-code-word.htm

http://www.owasp.org/index.php/Category:OWASP_Project

http://www.laatuk.com/tools/documentation_tools.html

http://www.microtool.de/case40/en/sp_cobol.asp

http://www.uni-koblenz.de/FB4/Contrib/GUPRO/Site/Home/index_html

http://www.iste.uni-stuttgart.de/ps/bauhaus/presentation.pdf

http://www.softscout.com/software/Website-and-Software-Development/Programming-Tools/Source-Code-Analyzers-and-Translators/all.html


http://www.source-recovery.com/srcn-examples.html
The ReSource™ technology determines which version of COBOL or Assembler your source code was originally written in. SRC recovers the source in the original "version" of that language.




Very-Large Scale Code Analysis and Visualization of Open Source Programs Using Distributed CCFinder: D-CCFinder (Department of Computer Science, Graduate School of Information Science and Technology, Osaka University)





Another area of recent research has been on the topic of online meeting / collaboration software. The following items are what look interesting so far:


Web Conferencing Tools And Technology: A Mini-Guide

Web-Conferencing Software Comparison Chart

Free web conferencing solutions for productive online meetings

An independent guide to software & services enabling real-time communication

OpenMeetings
a web conference tool...tha...includes Video, Audio, Whiteboard, Document Importing, Invitations, and Public and Private conference rooms.


TANGO - open source Java based system

http://data.webjunction.org/wj/documents/12479.pdf

Virtual Collaboratory - wikipedia entry
"The Virtual Collaboratory provides mechanisms for users to exchange information, data, on-line resources, and ideas. In a collaboratory, individuals from different locations are able to work together using VoIP, document exchange and other features"


WebHuddle - sourceforge

DimDim - sourceforge - screenshots
"Dimdim is an open source web meeting product with features like Application, Desktop and Presentation sharing with A/V streaming and chat. No attendee installation - all features are available through a web browser. Dimdim can be integrated with Moodle. "


Yugma
"Yugma is a free web collaboration service that enables people to instantly connect over the internet to communicate and share content and ideas using any application or software. Whether you are using Windows, Mac or Linux computer, you can connect on-demand and real-time with co-workers, clients, friends and family -- regardless of whether they are across the city, nation or even the globe."





Open source impossible to avoid, Gartner says

Monday, September 17, 2007

2007-09-17 Monday

I have really enjoyed the following book - and have found it very motivational: Make It Happen Before Lunch: 50 Cut-to-the-Chase Strategies for Getting the Business Results You Want, by Stephan Schiffman

Thursday, September 13, 2007

2007-09-13 Thursday

I came across a reference to Dozer today: "Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another".

How a quantum computer factorises numbers

Microsoft Installs New Software Without Permission - more details here. On XP SP2:


cdm.dll
wuapi.dll
wuauclt.exe
wuaucpl.cpl
wuaueng.dll
wucltui.dll
wups.dll
wups2.dll
wuweb.dll


Windows Update's Sneaky Updates
"The only altered files that have been reported to date are 18 small executables used by WU [Windows Update] itself."


How Windows Update Keeps Itself Up-to-Date (Nate Clinton, Program Manager, Windows Update)


Ever had end-users who had great ideas - but sometimes didn't quite connect the dots between what they wanted and whether they could afford to do something? Here's the critical question that a friend of mine always asks at the first scoping meeting: "Got Budget?"

Just for fun, I've launched a cafepress.com store called ITVTechShop - where you too can buy cool things like this:



Hat'tip to Noel for the idea.

Wednesday, September 12, 2007

2007-09-12 Wednesday

I've been heads-down for the last few days - making some good progress on several fronts:

  • Bugzilla


  • Mantis


  • I've recently installed Glassfish V2-b58:

  • I'm still researching some issues I've run into getting Roller 3.1 to run under Glassfish V2-b58.


  • A few people have run into some difficulty getting BIRT to run under Glassfish. A posting by Vince Kraemer discusses BIRT and GlassFish b41 integration.



  • I've also been somewhat puzzled by an apparent problem getting Subversion 1.4 integrated with Apache 2.0.59 - which is normally a straight-forward procedure - but I'm getting a failure on restarting Apache - with no error messages in the log files.

    Once I get Apache and Subversion integrated - I will be setting up Subversion authentication via Microsoft Active Directory.

    I was making modifications to the Mantis bug tracking system yesterday - and needed to locate a particular string that I knew was somewhere in a PHP file. I launched Windows File Explorer - and tried the usual "*.*" pattern for file name - and the search function reported no matching files found for the specified text string I provided. I've run into a similiar problem before (trying to locate text in files using Windows File Explorer Search before) - and was always puzzled - but usually was always pressed for time, and so never had the luxury of time to spend researching it further. Yesterday I came across this blog entry that describes the issue. Microsoft has a Knowledge Base article that discusses this as well.

    I'm looking forward to getting some time in the next week or so to integrating the team's MediaWiki site with Subversion and the team's final selection of a bug tracking system (either Mantis or Bugzilla). The following links may be helpful:


  • Mantis Integration with MediaWiki


  • Bugzilla/SVN/Wiki Integration



  • The client will also be evaluating Testopia's potential use (for test case management), if they decide to go with Bugzilla.

    Thursday, September 06, 2007

    2007-09-06 Thursday

    I downloaded a number of utilities today to perform some benchmark testing on my laptop hardware - and a new Western Digital MyBook 1 TB external hard drive (that I've configured for RAID 1):


    See [8. Benchmarks] discussion.

    3DMark®06

    EVEREST Free Edition 2.20
    "EVEREST Home Edition is a freeware system information, system diagnostics and benchmarking solution for home PC users"

    HD Tune (Hard Disk utility)


    I've been working today to get Sun's Glassfish J2EE server (V2-b58) up and running with the Apache Roller 3.1 blogging application - against a MySQL 5.0 Community Server configuration.

    I found this blog entry that may be useful for others: roller on glassfish

    Sunday, September 02, 2007

    2007-09-02 Sunday

    Wow. Amazon is now carrying a 2 terabyte external USB hard drive: 2.0TB My Book Pro II USB





    An interesting article over on IBM's DeveloperWorks: An introduction to Eclipse for Visual Studio users

    Saturday, September 01, 2007

    2007-09-01 Saturday

    What a busy week.

    I met with IBM to discuss their Z/OS Web Service integration options and strategies - and have some follow-up discussions to learn more about their Asset Transformation Workbench (AWT) - which provides faciliites for analyzing legacy mainframe code - and identifying potential business rules - as candidates for extraction into reusable components [re: potential Web Service candidates for the architecture analysis I'm doing for a current client].

    I had to do some reconfiguring of the development servers this week - to get MySQL, PHP, Apache 2.0.59, and Subversion re-installed. Before leaving Friday evening, I had Mantis 1.0.8 (PHP/MySQL based open source bug tracking software) up and running for evaluation by the rest of the project team.

    Next week I will install Bugzilla (and possibly Scmbug) for evaluation as well.

    This weekend I'm reading: "Producing Open Source Software How to Run a Successful Free Software Project" by Karl Fogel

    A friend (Thanks Terry!) suggested a web site recently for Visual Studio and .NET resources: The Code Project (tm). I haven't had time to do a lot of browsing through the web site - but after an initial glance, I decided to sign-up for their newsletter. Looks like lots of possibly interesting articles.

    I constantly search for new web resources - and have been saving the links in a somewhat haphazard manner. So I did some searching this last week, and came up with two possible candidate tools to improve the task of capturing and organizing growing library of web links:

  • PHP Bookin

  • Online-bookmarks


  • I hope to have my evaluation completed by next Friday.

    I've been wanting to setup my laptop to dual-boot Windows and a Linux distribution - but have kept putting it off due to the amount of effort it would require to reorganize my hard-disk. So today I'm downloading VMWare Player 2.0. There's a WIDE variety of "appliances" that can be loaded into the Player, see: Virtual Appliance Marketplace. TuxDistro is also a source for VMWare virtual appliance Linux distributions. For Linux distributions that are built to run on the VMWare Player - specifically for a Windows environment, checkout bagside.com

    On a related note, this article discusses running a Linux server farm using virutalization software: Run a Linux server farm for nix (they review VMWare, XenSource and Microsoft Virtual PC).

    I came across an interesting graphic tool today: terragen

    I'm planning an evaluation of some new open source message queue applications - and this article mentioned the recent release of RabbitMQ which is an implementation of the Advanced Message Queuing Protocol.