Can you have two of them?

7 PM July 26, 2005

Last Monday, after five or six years away from teaching, I helped out on a 1-day, introductory Websphere MQ course. The experience reminded me of the big difference between knowing enough to teach and knowing enough to do.

For instance, at one point, my colleague, Mark was explaining how to set up channels between two MQ Servers. From the back of the class, a network admin asked, “Can you have two channels connecting a pair of servers?”1 That’s a perfectly reasonable question, but not one that would have occured to me.

As a developer, I have gained a fairly deep knowledge of certain parts of MQ – those parts that are relevant to my project. As a teacher, however, a much broader knowledge is required to answer all the questions from all the students. The knowledge a teacher requires is so broad, that it would be rare to find a teacher who has actually done in-depth work with every topic discussed in a course like this, leading quickly to the aphorism, “Those who can do, do. Those who can’t do, teach.”

But the converse is also true. Just because you are good at doing something, doesn’t mean you are good at teaching it.


1 The answer is that you can have multiple channels, but only one (active) channel per transmission queue.2 Most systems require only a single transmission queue, and a single channel.

2 Except when running under CICS on z/OS, in which case you can have multiple active channels.

By alang | # | Comments (2)
(Posted to Software Development and javablogs)

ctypes code generator for cheapskates

6 AM July 14, 2005

Thomas Heller’s ctypes module is turning out to be very useful for calling strange Windows SDK APIs. Despite not having Visual Studio (marked as required by the documentation) I’ve just kind-of installed the custom gccxml used by ctypes, and am recording the steps I took to do it, before I forget how.

  1. First, download and install Microsoft’s Platform SDK, and Visual C++ Studio 2003
  1. Download the gccxml installer executable from SourceForge. Run it.
  1. Now we need to trick gccxml into thinking that you have Visual Studio. Start regedit, go to HKLM\SOFTWARE\Microsoft\VisualStudio\7.1, and add a new string value named “InstallDir”. Set its value to C:\Program Files\Microsoft Visual C++ Toolkit 2003 or wherever it was that you installed the C++ compiler.
  1. Make a directory named vc7 two directories above your Visual C++ installation. For me, this was C:\vc7.
  1. Copy the contents of the compiler’s include directory to C:\vc7\include.
  1. Copy the contents of the Platform SDK‘s include directory to C:\vc7\PlatforSDK\include.
  1. Open a command prompt in C:\Program Files\gccxml\install (assuming you installed gccxml to its default directory.)
  1. Run vcInstall . ”\Program Files\gccxml\bin”
  1. Watch as vcInstall runs “patch” twice.

Now to find out whether or not it works enough to be usable…

Update Yes, it is usable, but gccxml seems chokes on the definition of the __nothrow macro, so I have to add -D—nothrow to the h2xml.py command line.

Update 2 Or alternatively, use the h2xml.cfg file, just like the doco says :).

By alang | # | Comments (0)
(Posted to Software Development and Python)

OSDC 2005

3 AM July 12, 2005

The OSDC website has been updated, and OSDC is on again this year – 5th-7th December, 2005. Last year was a blast, and I’m definitely going this year, if at all possible.

By alang | # | Comments (4)
(Posted to Python, Software Development and javablogs)

Evil Call Centre Patent

12 AM July 8, 2005

I have an idea. If I worked for – say – a large, US-based manufacturer of enterprise telephony equipment, then I’d definitely take it to my manager and attempt to get a patent on it. However, since I work for a small consulting company that doesn’t have money to spend on IP lawyers, it’s probably better that I publish.

Bah. It’s probably already patented anyway.

OK. Here it is…

In call centers, an important statistic is the length of time customers are kept waiting in queue before somebody answers. One tactic already used by some call centers is to monitor the projected waiting time, and, if it exceeds a certain threshold, reject all incoming calls until the call length falls below another threshold. Rather than reject calls, I propose that newer callers be given Whitney Houston or Celine Dion for hold music.

The main advantage of this system is that callers desperate to speak to the call center will still be able to get through, while less persistent customers are encouraged to drop off.

By alang | # | Comments (4)
(Posted to Stuff, Rants and Tall Tales)

Finding your hostname from Java

6 AM July 6, 2005

How to find a hostname for your local machine, from DevX:


    private String findHostName() {

        try {

            return InetAddress.getLocalHost().getHostName();

        } catch (UnknownHostException e) {

            return "unknown";

        }

    }

By alang | # | Comments (4)
(Posted to javablogs and Java)

Building Online Communities

1 AM July 4, 2005

IT Conversations have a great presentation from Rob Curley, the man in charge of the Lawrence Journal’s web site, LJWorld.com.

This hour long talk is chock-a-block with interesting ideas for building websites that people want to use. I’m particularly impressed with the liberal use of “internology.” Highly recommended.

By alang | # | Comments (1)
(Posted to Software Development)
© 2003-2006 Alan Green