Usually when I go away on holiday I bring something back with me. Often in the form of fresh ideas. This year it's been such a hectic one that all I did was to flake out. So no new ideas this time. Perhaps that's a good thing, perhaps not. But I think I did achieve something: Mental decluttering. So I can, for example, look at stuff I was working on with a fresh take. And the timing is... [More]
Tags: 
residency
batch
redbook
|
Here's another neat piece of algebra: A technique for summing series. You know what b - a + c - b + d - c is. Right? Suppose I were to write the same sum as: (b - a) + (c - b) + (d - c) The answer is still d - a. Right? Now, suppose I re-label with s 0 = a, s 1 = b, s 2 = c and s 3 = d. We end up with: (s 1 - s 0 ) + (s 2 - s 1 ) + (s 3 - s 2 ) This is actually pretty scalable terminology as you... [More]
Tags: 
mathematics
algebra
summation
series
maths
|
It may surprise you to know I hate asking questions to which I already know the answers. And I hate even more "leaving understanding on the table". Let me put it more positively: I love it when I can glean new insights into existing data. This post is about precisely that: An experiment in gleaning extra understanding... In Batch Architecture, Part Zero and follow-on posts I talked... [More]
Tags: 
regular_expressions
rexx
batch
architecture
smf
smf30
z/os
job
|
Frank Yaeger of DFSORT Development suggested I pass this tip along to y'all. It's his solution to a problem set by Brian Peterson of UnitedHealth Group... In z/OS Release 12 two new messages were introduced: IEF032I and IEF033I replace IEF374I and IEF376I. The older messages were single-line step- and job-end messages. The new ones are their multiple-line analogues: IEF032I is 3 lines and... [More]
Tags: 
messages
z/os
ief033i
pipeline
ief374i
outfil
ief376i
dfsort
ifthen
parse
ief032i
when=group
|
If you're sat next to me on a plane you'll probably notice at take off and landing I do algebra puzzles. You may not have heard of the term "algebra puzzles" before and perhaps think the juxtaposition of the two words to be odd, but I think it apt...
(You may also think this whole post to be showing off, but that's a risk I take in sharing a passion I have.)
A classic problem... [More]
Tags: 
maths
elegance
sudoku
futoshiki
kenken
puzzles
algebra
hashi
kakuro
|
It's a popular suggestion that what separates the truly exceptional
person from the rest of us is 10,000 hours of "practice". In book form
I've seen it twice - in Matthew Syed's "Bounce" and in Malcolm Gladwell's "Outliers" . Actually, to be fair, Matthew acknowledges his
original source so that's actually only one distinct source. (Life Lesson aside: Trace... [More]
Tags: 
bounce
outliers
gladwell
10000
syed
|
As you probably know Hardware Data Compression has been supported by MVS
and IBM mainframes for around 20 years. In several recent batch studies
I've conducted it's been evident in a widespread way. (In
this post I'm not talking about DB2 compression of either flavour or
VSAM compression - though some of the information here applies to these
functions as well.) It's not as
simple... [More]
Tags: 
smf
smf14
smf15
compression
z/os
qsam
vsam
dfsort
cpu
smf64
striping
pipes
dfsms/mvs
|
Following on from The Best Sort Is The One You Don't Do here's another reason for eliminating sorts. I think it's worth a post in its own right. (In this post, again, I'm talking about resequencing passes over data - not copying or merging.) With a sort it's possible the last record read in might be the first record written out. So you can never overlap input and output phases. (There might... [More]
Tags: 
batchpipes/mvs
sort
pipes
dfsort
dataflow
|
Have you ever had the suspicion a sort was unnecessary in your batch? I bet you have. In recent Batch Performance studies I've had the suspicion that many of the sorts are unnecessary: Either they should be merges or not done at all. But how do you prove it? But first, what do I mean by a sort not needing to be done at all? Clearly if the data is reformatted then something has to be done to... [More]
Tags: 
dfsort
merge
batchpipes/mvs
dataflow
pipes
|
This may be stating the obvious - but I wonder to whom it actually is obvious... I've been doing quite a lot of work with batch job timings and CPU recently. (Everything I'm about to say is equally true of steps.) It's interesting to think about the effects of faster engines versus more engines (a question I haven't been asked recently) and whether a customer needs more capacity or just faster... [More]
Tags: 
db2
smf101
accounting
trace
cpu
smf30
|
A couple of years ago I was chatting to Firefox developers on IRC about the need for a memory map in the browser. I won't claim any credit at all for it happening. (In fact I don't know when it did get implemented.) If you want to figure out where the memory's going use about:memory . Here's a nice post showing where it proved invaluable to the developers: You make what you measure by Nicholas... [More]
Tags: 
z/os
memory
firefox
|
A need has arisen for pretty printing XML. This post includes some Python code to do it.
I've been working with the OpenOffice.org ODP presentation file format recently: I want to generate presentations from application code.
An ODP file is a structured zip file. Among other items it contains an XML file - content.xml - which describes the pages in the presentation. content.xml... [More]
Tags: 
java
jython
formatting
ziip
z/os
zaap
jar
odp
xml
openoffice
minidom
python
|
Reading Now Your Embarrassing/Job-Threatening Facebook Photos Could Haunt You For Seven Years I think they've missed a point or two. Points which may be incidental to the thrust of the article but nonetheless are important ones: Who's to say what's embarrassing or job-threatening? Some things are obvious: In the post they talk about weapons ownership and racism as two things you wouldn't want... [More]
Tags: 
authentic_voice
social_networking
|
Here's the first-pass abstract slide for "I Know What You Did Last Summer". I'd be interested in your thoughts on it... What's The Point Of This Presentation? So, it's got a "tongue-in-cheek" title but what's it all about? I think one of the least appreciated aspects of z/OS and its middleware is the richness of instrumentation it gives you. Here I describe it and just some of... [More]
|
At one level Performance and Capacity Management and Systems Investigation are clearly linked: They share the same data. Or much of it at least. But I think they're linked in another way, too. Over the past few years I've gradually shifted emphasis towards Systems Investigation. But this has only been a slight shift, a "non modo sed etiam" and still only really mainframe. So I'm... [More]
Tags: 
rmf
memory
cics
systems_investigation
performance
wlm
ddf
cpu
capacity
|
When tuning DB2 batch it's important to know which SMF 101 Accounting Trace record corresponds to which job step. A few years ago I wrote code to do this. It works fine for all z/OS DB2 Batch except that originated by IMS. Here's how it works: Find all the Type 30 Step-End records for a given job name. Find the Type 101 Accounting Trace records for which the Correlation ID in the 101 record... [More]
Tags: 
trace
smf101
accounting
ims
smf30
batch
db2
|
While I was putting together the original three posts in this series a number of thoughts struck me, amongst which two really cried out for further investigation: I don't know how your XML data arrives on z/OS but quite a lot of scenarios don't have the data all as one document (file). XSLT looks complex - particularly if recursion does your head in. Thought 2 I'll deal with in a... [More]
Tags: 
xslt
dfsort
xml
document()
saxon
|
I've done a little analysis of hits on recent blog posts. I wonder what you make of it: Looking at this pie chart slices start at the top and go anticlockwise. Reading the legend is from latest to oldest, left to right, wrapping appropriately. While the blog is called "Mainframe Performance Topics" I have lots of other interests. It's interesting to see which posts have gained the most... [More]
Tags: 
blog
audience
|
Following on from this post and this one , this post discusses the DFSORT piece. The DFSORT code in this post parses the Comma-Separated Variable (CSV) file produced by XSLT processing. In this simple example it merely produces a flat file report, but the post has a few additional details you might find valuable. First, here's the SORTIN DD JCL statement. It's not like a regular sequential file... [More]
Tags: 
symbols
sff
saxon
parse
dfsort
csv
when=init
xalan
z/os
xslt
xml
icetool
|
This is the second part of a (currently) three-part series on processing XML data with DFSORT, given a little help from standard XML processing tools. The first part - which you should read before reading on - is here . To recap, getting XML data into DFSORT is a two stage process: Flatten the XML data so that it consists of records with fields in sensible places. Process this flattened data with... [More]
Tags: 
xpath
csv
xslt
saxon
rexx
dfsort
xml
|