Microsoft Silverlight – Web 2 IDE – Event

Fergal Breen asked to blog about the Dublin Silverlight event, but Stephen Downey beat me to it. (Update: Ken McGuire is also writing about the event)
Microsoft silverlight logo

Microsoft Silverlight is a flash competitor; It looks good and is well worth checking out, but I’ve got my reservations if it is truely as portable as Flash (see comments on Tom Raftery’s Silverlight launch post). All the same, Silverlight is going to be big (it’s backed by Microsoft), and the IDE / Editor is setting a good standard.
Not sure? Go to the Event and make your own mind up.

How long could you go without Microsoft Office?

I’ve recently got a new laptop (more on that in another post) and have to install the usual selection of software to get productive with it.

As an experiment / not having enough time I’ve decided to go without installing Microsoft Office. I do , however have the excellent (and free) OpenOffice installed, and use Google Documents and Spreadsheets on a regular basis.

Why would I do this?

  • It’s not about the money (as I have a copy of the Office disks paid for).
  • It’s not about the money (2) as I’ll also happily pay for something that gives me value over the free version (e.g. my subscription to LinkedIn).
  • It’s not really about getting locked into one supplier who can manipulate me at will (see the Microsoft Word 2007 File Format Conversion post) however annoying that may be.

No, it’s more about the features; with OpenOffice, I can save Word documents as a PDF , which (in my option) looks far more professional when sending to a (prospective) client.

Another reason is that as an (IT) consultant, I tend to ‘deploy’ on client sites on a regular basis, often with a bare machine to start with. Open software means that I have a ‘toolbox’ I can use to get up and running quickly , no fuss needed to raise purchase orders to buy software.

OS as alternative Logo

If you’re interested in this approach, the Open Source Alternative site is worth checking out. It’s not dogmatic; in fact it’s pretty even handed, listing commercial and open software for pretty much everything that you might need to do with a PC or Mac (business ,communications, graphics, security etc). That’s on top of the alternatives to Word, Excel , Powerpoint and Outlook.

It’s all about choice. Some are better , some or worse ; It’s up to you to decide which one works best for you. You’re a mug if you don’t know what the choice is.

Update 26th August: I lasted just over two weeks without installing Microsoft Office. Nothing bad with Open Office, just Microsoft playing around with Office 2007 file format. I have an important client that sent me something in Word 2007. The sort of client that I can’t (yet) ask to save in a different format and resend. Open Office does not (yet) open Office 2007 files, so I had to drop back to the Microsoft version (and install some filters) to be able to read it.

Wanted : Microsoft Visual Basic .Net trainer

It may not be worth USD 135,000 per year, but a colleague asked me to post this requirement of a Microsoft Visual Basic .Net trainer. Experience in Visual Basic and VB.net required, even better if you’ve delivered training before. Location is Ireland (sorry to be deliberately vauge).
Drop me a line at Paul@Firstpartners.net and I’ll pass on your details. Even better, post me a link to your blog.
We’d do it ourselves, but we’ve the problem of being ‘nicely busy’ and everybody that I’d recommend is likewise.

Introduction to Visual Basic and the .Net Framework

Microsoft’s .NET

The .NET Framework and the Common Language Runtime

Test-Driving a Visual Basic Application

Introduction to Object Technology and the UML

Overview of the Visual Studio 2005 IDE

Menu Bar and Toolbar

Navigating the Visual Studio IDE

Using Help

Using Visual Programming to Create a Simple Program

Displaying a Line of Text

Creating Your First Console Application in Visual Basic

Displaying a Single Line of Text with Multiple Statements

Adding Integers

Memory Concepts

Arithmetic

Decision Making: Equality and Relational Operators

Using a Message Dialog to Display a Message

*Introduction to Classes and Objects *

Introduction

Classes, Objects, Methods and Instance Variables

Declaring a Class with a Method and Instantiating an Object of a Class

Declaring a Method with a Parameter

Instance Variables and Properties

Value Types and Reference Types

Initializing Objects with Constructors

Validating Data with Set Accessors in Properties

Control Statements: Part

Introduction

Algorithms

Pseudocode

Control Structures

If … Then Selection Statement

If … Then … Else Selection Statement

While Repetition Statement

Do While … Loop Repetition Statement

Do Until … Loop Repetition Statement

Visual Basic Programming in a Windows Application

Essentials of Counter-Controlled Repetition

For … Next Repetition Statement

Examples Using the For … Next Statement

Do … Loop While Repetition Statement

Do … Loop Until Repetition Statement

Using the Exit Statement in Repetition Statements

Using the Continue Statement in Repetition Statements

Logical Operators

Methods: A Deeper Look

Introduction

Modules, Classes and Methods

Subroutines: Methods That Do Not Return a Value

Functions: Methods That Return a Value

Shared Methods and Class Math

Notes on Declaring and Using Methods

Method Call Stack and Activation Records

Implicit Argument Conversions

Option Strict and Data-Type Conversions

Value Types and Reference Types

Framework Class Library Namespaces

Passing Arguments: Pass-by-Value vs. Pass-by-Reference

Scope of Declarations

Recursion

Arrays

Introduction

Arrays

Declaring and Allocating Arrays

Examples Using Arrays

Passing an Array to a Method

For Each … Next Repetition Statement

GradeBook Case Study: Using an Array to Store Grades

Sorting an Array with Method Sort of Class Array

Searching Arrays

8. Searching an Array with Linear Search

8. Searching a Sorted Array with Method BinarySearch of Class Array

Rectangular Arrays

Variable-Length Parameter Lists

Jagged Arrays

Using the ReDim Statement to Dynamically change array size

Passing Arrays: ByVal vs. ByRef

*Classes and Objects: A Deeper Look *

Introduction

Time Class Case Study

Class Scope

Default and Parameterless Constructors

Overloaded Constructors

Partial Classes

Composition

Using the Me Reference to Access the Current Object

Garbage Collection

Shared Class Members

Const and ReadOnly Members

Exception Handling

Introduction

Exception Handling Overview

Code in a Try and Catch Blocks

Catching Exceptions

Uncaught Exceptions

Termination Model of Exception Handling

Flow of Control When Exceptions Occur

.NET Exception Hierarchy

ApplicationException and SystemException

Determining Which Exceptions a Method Throws

Finally Block

Exception Properties

User-Defined Exception Classes

Graphical User Interface Concepts: Part 1

Introduction

Windows Forms

Event Handling

Control Properties and Layout

Labels, TextBoxes and Buttons

GroupBoxes and Panels

CheckBoxes and RadioButton s

PictureBoxes

ToolTips

NumericUpDown Control

Mouse-Event Handling

Keyboard-Event Handling

Menus

MonthCalendar Control

DateTimePicker Control

LinkLabel Control

ListBox Control

CheckedListBox Control

ComboBox Control

TreeView Control

ListView Control

TabControl Control

Multiple Document Interface (MDI) Windows

Visual Inheritance

User-Defined Controls

Multithreading

Introduction

Thread States: Life Cycle of a Thread

Thread Priorities and Thread Scheduling

Creating and Executing Threads

Thread Synchronization and Class Monitor

Multithreading with GUIs

Files and Streams

Introduction

Data Hierarchy

Files and Streams

My.Computer.FileSystem Object

Creating a Sequential-Access File

Reading Data from a Sequential-Access File

Random-Access Files

Creating a Random-Access File

Writing Data Randomly to a Random-Access File

Reading Data Sequentially from a Random-Access File

Creating a Sequential-Access File

Reading Data from a Sequential-Access File

Microsoft Word 2007 file format – the same bad old tricks

Here’s the good news – Microsoft is using a new file format for Office 2007 , which is due out shortly. It’s fairly simple – just text with tags (aka XML), zipped up to make it smaller. For example a 5Mb Word file shrinks down to 10% of it’s size in the old format.
Office Logo

Here’s the bad news – Microsoft is up to the same old tricks in the hope of forcing people to upgrade to a newer version of office. The new format cannot be read by the versions of Word, Excel or Powerpoint that most people have installed on their machines. By default , the new version of Office saves in the incompatible format, so eventually most people will be pestered into buying the new copy just to save them the embarassment of having to ask

Can you send that file again, but save it as the older version of Word?

Not a line that I’d want to say to important client. A friend of mine finds himself in that predicament. How do you convert Office 2007 files into ones that Word 2000 / Word 2003 can read. So far I’ve tried the following to help him out.

  1. Used Google’s online Documents and Spreadsheets. No joy – which is surprising , given that the new format is (techically) easier to read. Perhaps something to do with software patents?
  2. Tried the excellent (and free) Office clone – OpenOffice. No joy – even more surprising given that Microsoft seems to have ripped off the idea for the new format from OpenOffice in the first place.
  3. I’m now trying the ‘Microsoft Office Compatibility Pack‘ which promises to solve the problem for older versions of Word.

Watch this space.

Update:

Number 3 (the pack from Microsoft) works. Even more importantly , it allows you to save into the new format. However , not everybody is going to know / be bothered to install this large (27mb) download.For a change this important, why isn’t it installed automatically as part of windows update?

I’ve only tried this for Microsoft Word, but it should be able to convert from Excel 2007 into Excel 2003 and Excel 2000 as well.

I expect OpenOffice and Google docs to catch up with this fairly shortly. That is , if they can get around the legal tricks that Microsoft are playing with the new format.

Open Java changes everything

Now that the dust is beginning to settle on Sun’s Decision to open source Java , what does it actually mean for you? That’s you as in a Business user, you as in a Java Developer , and you as a member of the wider IT Community?

  • In the short run (i.e. next 6 months), once the buzz dies down , not much. Remember that it took several years after the Netscape code was open source for Firefox to emerge and change the dynamic of the browser market.
  • In the medium term (between 6 and 24 months) expect some interesting packagings of Java to emerge, similar to the way the various Linux Distros work today. Consider these ‘green shoots’ or prototypes with interesting ideas. A ‘small footprint’ version of Java targeted at Applet developers seems to be one popular opinion of what might emerge. However, unless you are ‘bleeding edge’ or in a niche area the chances are you won’t notice them at this stage.

It is in the longer term (2 years plus) that open source java really makes it’s mark. Some predictions that you can quote back to me later:

– In the same way as JBoss and Geronimo have commoditised the app server market programming languages and runtimes will become a commodity. Expect the .Net platform to be opened (not just standardized) in some limited form.

– Java will become more like .Net with multiple languages running in the standard JVM. We have JRuby and Groovy. It wouldn’t be too hard to add C# to this list. Visual Basic in the JVM (the Sun Semplice Project) is already on it’s way.

– Oracle , IBM , SAP and others already committed to the Java market will become focussed on Java as an even bigger part of the core strategy. Just like the app server market, each will seek to differentiate themselves, perhaps by Service (IBM), by a core database (Oracle) or by leading a niche (SAP). Expect tension between the desire to differentiate (and fragment) and the GPL which seeks to ‘bind them all’.

Apache Harmony , a clean room implementation of Java will continue to gain momentum. It will get picked up by a major vendor in a similar manner to Apple using BSD code.

– Microsoft .Net will end up in a ‘death march’ with Java trying to gain a lead in a feature set. Open source is very good a mimicing existing products (as it makes an easy spec for dispersed developers to write on – just look at Open Office), so (unless software patents get thrown into the mix), it’s hard to see .Net getting a fundamental and lasting edge over the Java Ecosystem.

Update: I’m not saying that .Net is going to go away (nor should it), just that both it and Java are going to be around for a long time to come. Joe and John also have more commentary.

The 2nd most useful Java-Oracle tool this year

The 2nd most useful Java-Oracle Tool that I’ve used this year is schema spy.

How often have you taken over a project without any documenation? Even worse , there is a database involved, and everybody just ‘knows’ (or pretends to know) where things are. What if all the orginal developers are gone and nobody is left to explain things? I can find my way around most legacy Java code , but databases leave me cold.

Still not convinced – take a look on the Schema Spy website. The level of information that this tool gives you takes you from knowing nothing about the database to knowing almost everything.

Interested in trying it out? Follow these simple steps
– Download it from http://schemaspy.sourceforge.net/
– Change the configuration to point to your database
– Install the Graphviz component (available here)
– Run the tool and await your fully documented database.

Just to shame the commercial competition , as well as Oracle , Schema Spy supports  DB2, hsqldb    ,    Microsoft SQL Server,     MySQL, PostgreSQL and Sybase. It’s written by John Currier and is well worth a donation.

In case you’re wondering, the most useful Java-Oracle tool for 2006 is Oracle’s project raptor. Schema spy runs it a very close second. Considering that it’s a Billion dollar company Vs one man , I’d chalk that up as a victory for the little guy!