Sunday, February 28, 2010

The end of Windows 7 RC

Windows 7 gave me a message today: "This version of Windows expires in 1 days."

I'm using the release candidate of Windows 7, the free version that Microsoft distributed last year. I knew that it had an expiration date built into it; I thought it expired in June. Apparently, my memory is incorrect.

I won't say that I will miss Windows 7. It had a nice, shiny interface but it did little else above the old Windows XP.

This computer was the only computer with Windows. I have a MacBook and several PCs running Linux.

The question now is: Do I acquire a real copy of Windows 7? //syssiphus (the Windows 7 PC) came without an operating system, so the release candidate was a good match at the time.

The only thing that Windows 7 gives me is access to servers in the office. I have successfully set up the proper access accounts and tested access from //syssiphus. I tried access from Linux computers, but access is not complete. I can get so far but not to the virtual desktop.

I'm not sure that I want an operating system that uses the plural form when the singular form is required. The expiration warning message read " 1 days", not "1 day". Displaying the proper form is not hard, but does take some effort. Another shortcut by Microsoft, I suppose.


Tuesday, February 23, 2010

The possibility of web services

Yesterday, I spoke with other members of the team about the future of out applications. The agreement is that we want to move away from C++ and towards Java. We need to run on multiple platforms (Windows and Linux) and Java and C#/.NET/Mono are the two possibilities -- except that Mono is not allowed on our servers.

We also agree that web services are a good way to break the current application into smaller pieces. Instead of one PC-based app that reads a spreadsheet, performs calculations, and generates another spreadsheet, we can have three web services: read spreadsheet, perform calculations, create spreadsheet.

In other news, today I completed enough logic to convert a plain text file into a Lotus 1-2-3 WK3 file. (And have Lotus 1-2-3 read said file.) This is a big accomplishment, and helps us on our way to a redesigned system. Woo-hoo!


Saturday, February 20, 2010

Conferences

I'm plotting, once again, to attend some technical conferences this year.

First up is OSCON, the O'Reilly-run conference on open source software. It runs in late July, in Portland OR. Registration opens in April, but I will probably book hotel and air travel soon.

Also in Portland is Open Source Bridge, the volunteer-run conference on open source technologies. While there is a lot of overlap between the two conferences, there is also a fair amount of different content. I attended last year, even with short notice. This year, the conference starts immediately after Memorial Day, which makes it adjacent to the Balticon science fiction convention. I'm attending that one, and if I want to attend OSB I will be travelling on Memorial Day Monday.

Sadly, there seems to be no E-Tech (emerging technologies) conference this year. This was also run by O'Reilly, with a focus not on software but on tech in general.

A flyer for The Enterprise Software Development Conference (yeah, that's a mouthful!) arrived this week. It seems to cover a lot of the same ground as the now-defunct Software Development conferences of years past. It has a number of the same speakers and covers a variety of topics including C++, Java, security, requirements, web tech, and user interface design. I won't be attending this conference, since the notice arrived too late (for me and my planning). Those who register early get a discount... and the flyer arrived after the last possible discount. (Note to event planners: Sending out brochures that advertise the savings for early registration when it is too late to take advantage of the discount results in annoyed potential attendees.)

The Central PA Open Source Conference runs in October. The 2009 conference was a one-day event with some interesting sessions. It was in Harrisburg, almost within train-travel distance. (I drove, and it was a chore with rain and gray skies.)

Astute readers have observed that make no mention of the big cons: Microsoft's TechEd, Sun's Java One (will that become Oracle's Java One?), and such. I prefer the smaller conferences, and I also prefer open source. I've attended the vendor-run conferences, and I find the material a little too scripted and the people a little too devoted. The open source world has devoted people too, but they tend to be devoted to specific projects and accepting of other ideas. I'm much more comfortable at open source cons.


Wednesday, February 17, 2010

More than command files

I've been experimenting with polymorphic programming in MS-DOS batch files. (Some call them "DOS scripts", others call them "Windows CMD scripts", and others have names that are not so polite.)

It's not object-oriented programming, but it is polymorphic. The experiment is for a number of Microsoft Visual Studio projects; I have a set of command files that builds all of them. Each project has a set of project-specific files, called by a set of core scripts that are common to all of the projects. The core scripts perform common tasks such as compiling a project and creating a testbed directory with the project's executable. A project can have "override" files that perform project-specific tasks, so if the general "run the program and capture the output" script is not suitable the project can supply its own.

There are three levels of specificity: general (cross-project), project, and test-within-project. (Each project can have multiple tests, and sometimes a test needs a specific configuration.)

So far, the experiment is working. That is, it functions, and it also reduces the coding in scripts. (It also reduces redundant code, which is a win.)


Thursday, February 11, 2010

Mixing Ruby with C++

Today I mixed Ruby and C++. The description is perhaps a bit misleading, as I did not combine C++ code and Ruby code into a single program. Instead, I used Ruby to analyze C++ code. The issues under consideration: how often is "new" used, where is it used, and which classes are allocated?

With 'grep', I was able to identify the lines that invoke 'new'. 'grep' caught some false positives, and I hand-edited the files to remove obvious errors. Then I fed the results into some Ruby scripts to summarize the data. From there, I could paste the figures into a spreadsheet.

Ruby made the job easy. I could have used Perl, or even C# or C++. Ruby has good built-in support for string manipulation, and that's exactly what I needed for this job. (Perl's is *almost* as good. Perhaps I should say just as powerful but with a syntax I find harder to use.)

I spent a small amount of time (and effort) on tools to collect the data.That leaves more time to analyze the data and make decisions. This is the way it should be.


Wednesday, February 10, 2010

A little Samba

More snow today (all day, as it turned out) and a bit of a headache. Enough of a headache to keep me from doing anything meaningful. (Related to change in air pressure, I believe.)

Instead of evaluating Visual Studio 2010, I took a break and configured Samba on //delwood. It's not billable, but it has been on my to-do list for a while. And with the headache, I wasn't really up to working with the new IDE.

The Samba configuration went smoothly. There were a few bumps. I often forget to change the permissions on the exported directory, and forgot today. Until I tested the shared directory from a Windows PC, and could see it but not write to it.

Now //delwood exports NFS and SMB for Linux and Windows PCs.


Saturday, February 6, 2010

Microsoft Visual Studio, take two

After a difficult time with the CD install, I tried the web install. I had more success with this version.

My complaints with the CD install I think are with the WinRAR utility and not the Visual Studio package. So I will state here: I find the WinRAR package difficult to use. It's dialog with the user is technical and while accurate it is not understandable.

Installation of MS Visual Studio from the web works well. Its one flaw is the download time. The initial screens load quickly. Once loaded, I picked the options I needed and then the long download began. Microsoft does a fairly decent job of showing the status of the download, listing the different components and the status of each.

The download took roughly eight hours. I have a 80 KBps DSL connection, which isn't the fastest but also isn't the slowest. For a single PC, this solution is acceptable; I would not want to use this method on multiple PCs. (For multiple PCs, Microsoft would probably recommend the "download to CD and then install" method, which is how I got the (broken) install CDs.)

Part of the eight hours was a power-down from Windows 7. Windows 7, like Windows Vista, enhances the screen saver by powering off your PC after a period of inactivity. This occurred while I was downloading Visual Studio. (I had left for some lunch.) There is a way to adjust the power-down delays, and even turn them off. Windows 7 has a setting for it. I know, because I found it once! But I haven't seen it again.

Moving on to Visual Studio: Once installed, I loaded several VS2008 projects and converted them. I had about thirty projects, and found myself wanting a batch converter. (Is there one?) They all converted and loaded without difficulties.

I compiled my projects, first in the IDE one at a time. Visual Studio 2010 has a nice new skin for its controls but the core seems unchanged. The compiler has the same problem of generating precompiled header files that was in VS2008. (The message is different, though, and suggests that you re-compile. Re-compiling sometimes fixes the problem. Other times you must delete the old .PCH file.)

At this point, I cannot compare compiler performance, since I am using a different PC for VS2010. I need to do a little more work compiling projects, then adjust my batch files for running the compiler without the IDE (the batch file builds all of my projects and runs tests on them) and then I can dig into debugging and editing.

My current impression is that VS2010 is a re-warming of VS2008, with prettier dialogs and frames but not much more. But perhaps the improvements are in other areas, like connections to MS-Office applications or development of Silverlight applications. (Oh, yes, the Silverlight component installed but complained about running out of logfile space. I'm not sure if that is a problem or not.)


Friday, February 5, 2010

Visual Studio 2010 beta 2

With the impending snow, I'm working at home this morning. The folks in the office arranged for a test of Visual Studio 2010, and I can install it on my home Windows PC. (It runs Windows 7RC, not Windows XP, but the Visual Studio experience should be the same.)

I cannot comment on Visual Studio 2010, as I have been unable to complete the install. I'm a bit disappointed with it (the install program). The package is so large that it requires four CDs. That is not unusual with today's software. What I find disappointing is the user interface for the multi-CD unpacking operation.

Gone is the traditional SETUP.EXE program, or even the newer .MSI file. Instead the CDs contain .part1 and .rar files, and its not clear what I should do with them. Gone also is the "start on load" function; after inserting the first CD, Windows popped up a small dialog asking me what it should do with the new-found media and offering only the choice of opening Windows Explorer.

Double-clicking on the first CD's only file starts what appears to be a "combine and unpack" program. It asked me for a destination directory, but the messages are unclear as to the nature of this directory. Is it the permanent location of the program files, or is it a temporary holding place? I assume the latter and pick a convenient directory. (The program defaults to the CD-ROM drive, which seems a silly default.)

As the "combine and unpack" program needs another CD, it pops up a dialog and demands the CD. But the message is not the traditional "Please insert disk N"; it is a more cryptic "You need to have the following volume to continue" with the name of the file on CD 2, although you don't know that.

And there is no "Eject" button on the dialog. (A minor complaint, but a feature I have gotten used to on SuSE Linux install packages.)

Now, after two successful CDs, the install program complains about CD number 3. It reports that the wrong media has been installed. It gives me one choice: to close the program. There was a short time when Windows was "checking for a solution" but that process seems to have stopped with no results. A second attempt at the install yields identical results.

So far, my impression of the install program is that it has been hacked together with available utilities, not written as a professional program. I would expect this of a program for release within Microsoft, not to the public. (Not even for a beta 2 release, which should be pretty close to the "real deal".)