Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
The one benefit of being unemployed during the reign of terror by the "Beast From The East" (or "not that much out of the ordinary weather for winter in the AB31 postcode in Aberdeenshire, Scotland" as it's known around here) is that I am able to clear snow off of the drive and paths around our house each day, so that the snow doesn't build up to excessive depths, and allow my wife to not have to do it - which she'd have to do if I was working. However, I think fates may have been smirking at me this morning (Friday 2nd March 2018) as the track that I was listening to as I was finishing up shovelling the snow contained the lines

I pull my shirt off and pray
We're sacred and bound to suffer the heatwave
Pull my shirt off and pray
We're coming up on re-election day

I thought it was by Duran Duran with a guest spot by Grace Jones, but it was released by Arcadia (so I was only off by a band member or two). If I'd tried to pull my shirt off (after first pulling off my gloves and coat), I'd have been a wee bit chilly.

The second benefit ...

The second of the two benefits (see this if you don't get the reference) - nobody expects the SAP ASE Inquisition - of not working is that I don't have to worry about risking life and limb by having to go into work during this weather. Although, given how long it is taking me to find a new job, I'd maybe think about chancing it.

I'm by no means saying that my working full time from home was a factor of why I was made redundant by $firm-1 in 2016. However, not being able to get another position in a different team as I was unwilling to relocate to somewhere where I would be able to be in an office full time, despite the recognised working practice of having members of teams distributed in offices around the world, was probably something. If I'd still been working from home, they'd have had at least one technologist able to work during the Red Alert. (You know it is serious when Scotland's First Minister tells haulage companies off in Parliament for having their vehicles trying to move during the Red Alert.) I'm definitely not saying.

A downside of the snow arriving at this particular moment in time is that I had run out of computer and video editing projects to keep me busy. I'm trying to learn Java just now, but I'm having trouble finding a project to get my teeth into so that I can really get to grips with it. The book I'm using to learn it has small assignments that don't have enough meat on them to fire up the brain for long periods. What I'd like to do is convert my Korn shell script that copies data between a table in two different SAP Adaptive Server Enterprise (ASE) servers to Java. I've thought about using SAP's DDLGen for ASE Java utility as the start point, but how to get it to the start point is eluding me. However, I've thought of some extensions to some of the system procedures and scripts I have available on my ASE repository web page that will keep me busy for a bit.

Something I noticed whilst doing the Java assignments, and that caused me to recall something I encountered whilst at $firm-1, is that the modern day programmers seem to have a default mode of creating sub-modules (I know that's not the correct name for them) even when there isn't a need for them. My solution for one of the Java assignments had one sub-module that did everything. The assignment's answer used three sub-modules, it didn't do everything that my answer did, and it was harder to follow (to me) than my answer..

The memory that was recalled was making some changes to a Nix shell script that interacted with Sybase (at that time) ASE. It was written by an OO coding expert. The processing started at the top, did some stuff in the middle, and finished at the end. Except that it didn't. It had lots of sub-modules with bits of code between the calls to the sub-modules. I can't remember the exact layout but it was something like :-

do something basic at the start
call the initialisation sub-module
prepare to do something
call another sub-module
prepare to do something else
call yet another sub-module
etc.
exit (possibly in a sub-module)

Each sub-module was only called once. Trying to work out what was going on was made harder due to all of the jumping around in the single source file. And working out which bits needed to be changed for the modifications was interesting.

I'm not saying that sub-modules are bad, and that everything should be a single monolithic set of code with lots of repeating sections of code. I started programming in October 1978, when I began a computer science degree course – so I've been around computers for a while. After graduating, I worked primarily on DEC VAXs for many years. I had my own set of subroutines and functions that I took between jobs to make my coding in FORTRAN 77 on VAXs much easier. (I can't remember how I managed to reuse the code, but it was probably a matter of retying it all in from fanfold printouts at each new client site. Ah, the young programmers of today don't know how lucky they are with their USB drives.) But some thought on how the code is going to be used, and so designing it appropriately, is surely a sign that some thought has gone into the coding?

The Korn shell script mentioned above (which uses a FIFO pipe instead of a transient file to copy the data) is an example of designing with thought. It has sub-modules to perform tasks that are done more than once, but the flow is from the initialisation point to the bottom with no unnecessary jumping about, and it is easy to follow (at least if you understand Korn shell and T-SQL).

A third benefit ...

One of the ongoing "benefits" of not working is going out for a walk each day with my wife - or each day that I can be persuaded to go out. However, the snow has put paid to that for now - which I'm definitely not saying is a good thing.
3 Comments
Labels in this area