Archive for the ‘General Stuff’ Category

A time for change…

January 17, 2014 2 comments

It’s been a lot a fun working at IBM and I’ve had the opportunity to work with some truly amazing people and software products over the years but there comes a time when you have to look beyond the ‘safe’ zone and to take that leap of faith. It’s been quite a while since I’ve taken this sort of leap but I have to announce that today, I have left IBM and will be starting a new adventure very soon.

I hope to continue to post to this blog but obviously the topics for the most part will change although they will continue to be mostly about mainframe topics. So I hope that you, my few readers, continue to find something of interest here that will lure you back from time to time.

Categories: General Stuff

Arduino project finished…

September 15, 2013 Leave a comment

The missing components turned up so I spent a day building the MIDI interface board. Figuring out where to place the various connectors and components on the prototyping board so that the connectors were not blocked by the sides of the box it would all live in was far harder than writing the code or designing the circuit. Once I had it all hooked up I tried it and…. nothing! Well, the switches worked as did the LEDs but I was not getting a MIDI signal out of the box, or if I was the other end was not detecting it. When I looked at the circuit for the commercial MIDI interface board I had it was a lot simpler than my over engineered effort so after some hesitation I ripped out the output circuit from my board and replaced it with a much simpler version based on the commercial units circuit (basically one wire and a couple of resistors, no transistors). Swapped over the output cables to account for the circuit changes and tried it…. nothing again!

Now  had been very careful about hooking up the output wires to the MIDI connector the right way around. Seems I was not careful enough! On a whim I swapped them and of course it worked. It was probably OK the first time, just the had the wires the wrong way round but at least it works now.

This is what the inside of the project looks like:


As you can see pretty cramped. The board you can see is the MIDI interface board I made. The Arduino is underneath that screwed to a piece of board that is then glues to the case to hold it in place and insulate it from the metal box.

I always think that it is a shame to hide all the electronics as so much effort goes into creating it. In some ways it’s like programming, you can put a lot of effort into making some code as elegant as possible but in the end, all people care about is ‘does it work’.

So with that in mind, this is what the completed project looks like:


The power switch is on the other side of the box but that’s it. The left button controls the bypass on the effects unit and the right button switches between two patches. The LEDs just indicate the current setting that is selected for each switch. All pretty simple.

Time to go play!

Categories: General Stuff Tags: ,

Perceptions of Consumability…

In my (mostly) mainframe life, when it comes to user interfaces I am used to pretty minimal interfaces. In the old days it was all 3270 and at 24 lines by 80 characters for a model 2 real estate was at a premium so the emphasis was on simplicity.

Even today when using graphical or web based interfaces I like to keep the data I am looking at to a minimum in order to enable me to concentrate on the task in hand.

Interestingly I was watching my son play World of Warcraft last night and this is typical of the screens he has up while playing:

You can see there’s a LOT going on on this screen. When I asked him about it he said that he’s pretty much scanning it all the time as well as  actually fighting (there seem to be lot of fighting in this game) one or more opponents.

I thought it was interesting how he (being a LOT younger than I am) consumed all that information while I was aghast at the information overload.

Categories: General Stuff

As technology marches on, what will be lost?

June 21, 2011 Leave a comment

From my internal work blog some time ago:-


When the issue of technological advancement comes up I always seem to think of wheel tappers. They were guys that walked along the sides of trains tapping the wheels to listen for a change in the sound that indicated a crack or impending failure (Maybe Southwest should  bring in fuselage tappers! (at the time of the original post, a Southwest Airlines aircraft had had a major failure of the fuselage of one of it’s planes). As technology moves on, jobs and actual technology becomes redundant and it got me to thinking about data storage.




We used to have reel tapes, 3420’s if I recall correctly. Not so much now.
Then we had 3480 cartridges (do we still? I have a couple somewhere).
Now we’ve got? Well it does not matter really. The point is, technology moved on.




First we had floppies, They don;t even put floppy drives in PCs any more unless you ask for it
Then CD’s
Then DVD’s


Then flash drives and blue ray.




And so it progresses.




My point is, what about the old stuff?


These days it is rare to find a good old fashioned record player


Soon CD players will go the same way.
VHS tape player anyone?
Super 8 film?

But there is still plenty of data (and music) around on these old media.


I wonder how much knowledge, data and examples of our culture (movies, music etc) will be lost due to no longer being able to access the media it is on.

Anyone got a wax cylinder player anymore?




Categories: General Stuff

Success and Failures. Not two sides of the same coin…

May 15, 2011 2 comments

A post on an internal blog at work recently referred to this post by Seth Godin where  success and failure are like two sides of the same coin. A quick Google search revealed many articles along the same vein. However after some thought, I have to disagree with this analogy.

The general consensus is that you can succeed or you can fail, that they are in some way opposites of each other. At first glance that would seem to be true but I choose to look at it this way…

Failure is where we find out how NOT to do something.  Failure in itself is a learning experience, it teaches us something about what we are trying to achieve and about ourselves. Failure is simply a step on the road towards success.

The difference between success and failure is the point at which you give up and accept the current outcome.  If you give up at any point before achieving your desired outcome (the successful one) then you have failed. Therefore the difference between success and failure is not that they are polar opposites but that you did not see that task through to the end and accepted an undesirable outcome over the preferred one.

You cannot have success without failure but you can have failure without success.

As for the coin analogy, my solution is simple. Change the shape of the coin. Make it a sphere (we ‘could’ have spherical coins, we just don’t). Only one side so only one outcome. Which it is is up to you. Where will you choose to end the journey?

360 degree photographs and 3D

April 12, 2011 Leave a comment

360 degree photographs have been around for quite a while. Here’s a hi res image of St Pauls Cathedral.

The problem is of course that you can only see everything from the position of the camera. I got to thinking how neat it would be if you could actually move around the image and see things from different points of view. This would of course require that you take millions of 360 degree pictures from pretty much every physical point within the area you are photographing. Not entirely practical.

But then I got to thinking about the sort of technology being used by numerous people in conjunction with the Microsoft Kinect to generate 3D images. Some cleaver mapping software lets the the viewer see things from points other than the Kinnct’s physical location.

So here’s my thought. Merge 360 degree photography with the 3d software being used by Kinect hackers to generate a virtual 3d environment. You would only need a limited number of actual 360 degree photographs in order to dynamically recreate a 3d space by dynamically generating the view for points between the actual photographs.

ISPF 3.4 Datset List in a web browser

April 12, 2010 Leave a comment

Building on my recent ISPF in a web browser work I knocked this up this morning using the ISPF LMDLIST service:

More fun with ISPF web server

March 19, 2010 Leave a comment

Well it turned out that adding support for javascript and images was not that hard. When I uploaded the files into the host files the file transfer simply used as many lines as it needed to hold the data within each PDS member so nothing got lost. When returning them to the browser I simply read all the lines in and concatenate them together to form one big line. Fortunately browsers don’t care about carriage return and line feeds in source code so everything still works as it should.

For the images I simply uploaded them as binary. I created three separate image libraries to hold the images, one each of JPG, PNG and GIFs so that you can tell which is which and also so that you could have duplicate names, provided the file type is different.

I have the web server TCP/IP sessions set to automatically translate between ASCII and EBCDIC so for the images I just send the response in two parts. I send the HTTP header response with the translation on then turned it off and send the image binary.

The JQuery UI plugin has a number of images that I needed to handle. Unfortunately the image file names are longer than 8 characters and it’s not really practical to rename them and modify the UI javascript so what I did is create an ‘index’ member in the image PDS that maps the original image name to a member name. If the requested name is not found directly in the image PDS then the code grabs the index member and searches it for a matching name, then uses the associated member name instead.

Here’s a screen shot of the app using the UI tabs function and some embedded images:

ISPF via the web

March 18, 2010 4 comments

Many (many) moons ago, way before I’d even heard of AJAX and JQuery and such tools, I wrote (as a proof of concept) a REXX based web server using REXX sockets and a ‘framework’ address space I’d developed some time previously that provided several facilities like multi-tasking and console access.

Recently I was looking at one of our ISPF based applications and wondering how the heck you could give it a web interface. There’s an ISPF GUI client but really, it just brings a 3270 interface onto the desktop and you still need a real 3270 session going (usually via an emulator) to use it. All pretty pointless in my opinion.

But then I thought (as you do), hang on, what if I could run my REXX web server INSIDE my ISPF session? Since it would be running under ISPF it would have access to all the ISPF facilities and yet it could do it’s own thing as far as the UI in the browser was concerned.

As it would be running inside my TSO/ISPF session, it would only need to be a single user server so I would not need the multi-tasking facilities of the framework address space I’d used before and as it was running inside my session, it would be subject exactly the same security rules as if I were on the ISPF session itself (since I am really).

It only took a couple of hours to merge the old client code with the main server code to give me a workable single user web server.

So far it only delivers simple fixed web pages and css style sheets. I’m still trying to figure out how best to support images and javascript (thinking JQuery and other tools minimized packages here which can have looooong lines) but so far it works really well.

The following image is taken from the web page served right out of my TSO/ISPF session:

See, I’ve even made it look like a 3270 screen!

Access Denied

February 18, 2010 Leave a comment

A little while ago I developed a vbscript based HTA application. Works fine! Well, it works fine on XP. I tried it on my wife’ Windows 7 PC and it just does not work. The application uses the dos based FTP command and as a result needs to create several work files on the PC. Since this is all vbscript I thought the easiest and safest place to put them would be in the root of the C drive. It cleans up after itself so there’s nothing left around.

This all worked fine on every XP system it has been tried on but after some experimentation (and a dose of plain old luck) I discovered that Windoes 7 does not seem to want to allow me to create anything in the root of the drive. Apparently it’s all down to the default permissions that are set for several folders on the system including of course, the root of the C drive!

It would appear that windows has been this way for a while, even in XP, it’s just that they are now finally enforcing the rules. I suspect Vista is similar although I no longer have a Vista machine to test on.

So my choices are:

  • Use the folder the app lives in. It’s just copied to the PC so the user ‘should’ have update authority, and even if not, it’s their folder, they should be able to give themselves update to it.
  • Find the ‘temp’ folder on the machine and use that. If there’s an environment var for it then it’s easy. Not sure otherwise.
  • Create a program to give the user access to  some folder, but that will probably cause a security pop up.
  • Give up. OK, not really, but I have no idea at this stage if none of the above work.

Sometimes I wonder if the role of software is to make our lives easier or to keep a lot of us in a job!

Categories: Coding, General Stuff