Last week we had the final scheduled 64-bit Advantage event in Santiago, Chile. It was an incredible success. The people and organization were really happy with the results. It is a shame that there are very few events like it in Latin America
One of the things that really caught my attention was the fact that there was a well-known (not to us) Linux user/advocate in the audience. The good thing is that he gave us a very positive review for the event, and mentioned that he was surprised of the professionalism we displayed when confronted with cross-platform questions, and how we even address the availability of certain technologies on other platforms (such as POSIX Threads, polymorphic types, etc).
By the way, if you have a chance, go and visit Santiago. It is a beautiful city, the people are amazing, and I can't even start talking about the food, especially seafood. Just remeber to visit Costa Rica first, of course. :-)
Thanks to Christian, Wilson, José, Katina, and the rest of the organization for the hard work and dedication that went into making this event happen!!
In a couple of weeks I'll be teaching some of the lessons at the HP and Intel Developer Workshop in Seattle, WA. The workshop will take place on June 13-15. As with the previous workshop, in Dallas, this is a great oppotunity to port your code to 64-bit windows on the Itanium platform. You'll be surprised that it may be easier to port your source code than it looks - in Dallas we had a guy that ported his code in about an hour! Then again, we've been working with a company for about two years on the port - can't tell you who it is, but if you knew, you'll see why it is taking so long.
The Workshop has all sorts of nice perks. In addition to the quality training given by yours truly and my coworkers, you can also also take with you the Itanium server that you use during the class. You can read all the benefits about it on the Workshop's web page.
In the next few weeks I'll be doing several webcasts for Microsoft Latin America. They are about Visual Basic 6.0 to Visual Basic .NET migrations, and will be given in spanish.
The first presentation will be this Friday, and it is called Why consider a project to upgrade from Visual Basic 6.0 to Visual Basic .NET?. In this presentation, we'll talk about the business and technological factors that influence the decision to upgrade an application. The second one is about Understanding the Upgrade Wizard, in which we'll talk about the process of upgrading an application from Visual Basic 6.0 to Visual Basic .NET.
Some other webcasts are planned, but there's no date assigned yet. As soon as there is, I'll post all the information here.
We have been aware of that fact for a while, but we tried anyway - and it doesn't work. The main issue is that the components were implemented separately, and respond to different object hierarchies. Windows Forms receive components that extend the
System.Windows.Forms.Control class, while Java containers receive objects that extend from
javax.swing.JComponent. This causes an incompatibility, as the code will not even compile when you add an object from the "other" hierarchy, as shown in the following example. Trying to compile this code:
JFrame frame = new JFrame("HelloWorldSwing");
ComboBox cb = new ComboBox();
will give you this compilation error:
Cannot find method 'add(System.Windows.Forms.ComboBox)' in 'java.awt.Container'
The exact same thing happens when you try to add a J# Component to a Windows Form. There are of course technical reasons for this, like the fact that the J# runtime was developed independently, thus components expect a different environment when being drawn, and that it uses a different event handling mechanism (based on Java instead of .NET). But it is a bummer not being able to use a JTable and, for example, a DateTimePicker side-by-side.
A colleague of mine passed me this great link, which details the differences in API support between the different versions of Java, including J#. This is a great resource if you're considering moving your Java application to J# 2005, as it will tell you exactly which packages will give you a headache.
It is also worth mentioning that if you're working with Visual J#, the Supplemental UI Library is a must. This library includes an implementation of several Swing classes and packages, plus some support for additional classes added to the java.util.* package since JDK 1.2 (remember that J# supports the JDK up to 1.1.4). This Supplemental Library is already included in the Microsoft Visual J# Version 2.0 Redistributable Package.
And don't forget that there's a Visual J# 2005 Express Edition as well!!
Today Microsoft announced the release of Powershell RC1. This is a task-oriented shell, formerly known as Monad. I saw a very impressive demo a couple of weeks ago at the Longhorn Server SDR, and, as a UNIX shell geek, I have to admit that I am in love with it.
I definitely love the way you work with objects and properties, instead of having to parse a text entry to obtain some information. I always keep forgetting if it is cut -c 10-17 or 9-16 or some other variation.. I can now do a File.Name on a shell script - how cool is that!!
Another thing is that it really enforces the naming conventions when you create a new command, or CmdLet as they’re know in MonadSpeak. ALL cmdlets have to be named in the form verb-noun, so they are easy to remember and you can also figure out what they do very easily. For example, if you want you cmdlet to be called get-ewis, you create a .NET class and define it in the following way:
public class GetEWIsCommand: Cmdlet
By doing it this way, there is no possibility of creating strange-sounding names - you never name you cmdlet explicitly, you just describe the verb and noun that you'll use. You could still create a cmdlet with a weird combination of verb-noun, but it would require a deliberate effort to mislead your users.
And, finally, you are working with the complete .NET object model. This gives all the power of the .NET framework on the command line.
We were also told at the SDR that new servers coming out of Redmond will have their admin tools based on Powershell (can't get used to the name..), starting with Exchange 12. Servers that are currently close to release won’t support it because of scheduling issues, but we were assured future versions will. At last, Windows will be manageable from the command line - and with the Server Core capability coming out, that will become a big deal.
The press release for Mon..Powershell is here, and you can download RC1 here.
An version of the JLCA training is still available online from Microsoft's website here. It has a chapter on the JLCA Companion, and also includes a chapter on migrating BEA's technologies.
Check it out.
SWT is a commonly used Java GUI framework, brought to the masses by the Eclipse project. Every once in a while there is customer that wants to migrate from a SWT-based application to C# using the JLCA, but so far this conversion required a significant effort in order to build the necessary infrastructure.
Well, now there's hope. I just noticed that the good guys at ICSharpCode have a version of SWT for .NET, called the Sharp Widget Toolkit (SharpWT or #WT). With this library and the JLCA Companion, we should be able to automate the conversion of a significant portion of SWT-based application, and get them up and running on .NET very quickly. Based on their previous work, the SharpWT library should be very high quality - they also developed the #ziplib library, to which we've often converted the java.util.zip.* classes, and other projects you can check out on their website.
So, there you have it - there is hope for SWT to .NET migrations. ;o)
Today Microsoft released Sql Server 2005 SP1. Along with fixed issues, they added:
- Support for Database Mirroring
- SQL Server Management Studio Express
- Additional options for ISVs
You can check out the press release here, and download it here. The link takes you to the x86, x64 and IA64 editions of the update.
Microsoft announced today that all Visual Studio Express editions will be available at no extra cost. Up until today, you could download them for free, but they would be available for a price (around $50) later in the year. I recommend that you check them out - after all, they're free and almost fully featured.
There's also some interesting stuff being done with those editions. You can check out the press release here.