Sunday, 14 August 2022

Mainframes, Git, and application development

Since 1964, when IBM unveiled its System/360 mainframe, most development work on applications has taken place on the mainframe. It makes sense that that’s how developers would work. But nowadays, that’s not so much the case. Now many people are finding the benefits of using Git when it comes to application development. So, let’s have a look at what Git is and how mainframers are using it.

Git has been around since 2005 and is frequently used by non-mainframe developers to develop new applications. Visual Studio Code (VS Code) has been around since 2015, and it is also very popular with non-mainframe developers. And, now it’s a popular application development environment on mainframes. In fact, it’s unusual, these days, for mainframes not to be able to make use of anything that seems successful on other platforms, which is why we’re discussing Git and VS Code.

Linus Torvald (the man who developed Linux) wanted a way to keep track of all the Linux kernel developments going on at the time. So, he wrote a software package for tracking changes in any set of files, and he called it Git. Programmers working collaboratively on source code use it, and every Git-managed directory is a full-functioning repository (often called a repo). A repository contains all the files needed to compile and link an application. For mainframe applications, this could include source programs, copybooks, JCL or Rexx execs. It also usually includes a README file containing project instructions, documentation and any other useful information.

All Git instances or clones are equal. Developers use pull operations to integrate code from another developer into their repository and working directory. A push operation sends their code to a remote repository. Developers can also branch, switch branches, stash work, and perform other operations.

You might wonder why, when I’m talking about Git, I also mentioned VS Code, which is a source-code editor made originally by Microsoft for Windows. The answer is that VS Code is probably the most popular editor these days, and it has built-in Git capabilities. Broadcom’s free Code4z extension pack makes VS Code and similar tools usable by mainframe developers,

The reason this appeals to mainframe developers is because Git acts as a parallel development environment for multiple programmers. Mainframers no longer need to wait for other developers to release a file that they have checked out and are working on. Developers can work on programs whenever they want. In addition, the developers don't need to worry about their changes affecting another developer’s work.

Before the use of Git, mainframe sites developed new applications using serial library managers, which resulted in no other development work being able to take place while a developer had the application checked out. Once it was checked in, another developer could start work on it. By using Git-hosted code, developers can all work on code at the same time without impacting each other's work. Git excels at version control. Using VS Code makes code scanning easy.

It’s also possible to develop cross-platform applications that include the mainframe and cloud, mobile, and Web by hosting the code on Git. This is possible through the use of application programming interfaces (APIs). I'm sure that the creation of new composite applications using existing code and APIs is definitely likely to increase, which will give customers applications that completely suit their needs.

Of course, it is possible to install Git on a mainframe. IBM recommends Rocket Software’s port of the Git client, which is usually installed in z/OS USS. It includes code page translation, which means that mainframe source code (in EBCDIC) can be stored and retrieved from Git (in ASCII). This allows developers to work on repositories stored on mainframes while working on a laptop. The .gitattributes file tells Git which files should be translated from ASCII to EBCDIC when working on z/OS.

Using Git and VS Code on mainframes allows applications to be built by people with lots of experience of those two products without necessarily having lots of mainframe experience. This may become important for mainframe sites moving forward as their highly-experienced mainframers retire. Having said that, there are plenty of mainframers who are keen to learn these new skills, and are already using them.

Sunday, 7 August 2022

Why firewalking is like mainframes


Charity Firewalk No-one really understands mainframes unless they’ve worked on them for any length of time. Cloud providers are always talking about modernizing mainframes when they really mean migrating data or applications off it. Distributed people don’t understand just how few people you need to run the equivalent of a hundred or more of their servers on one box. And non-IT people don’t really get what’s going on at all.

Firewalking is a lot like that because everyone thinks that if you walk on hot coals, you will burn your feet. Or they’ll feel confident in asserting that only through intense mind control can you walk on hot coals without feeling the pain. Or it may be that only an intense religious experience can preserve the integrity of the skin on your feet when you walk across coals that are over 500°C. Again, none of those ideas are correct.

In fact, firewalking is possible because of the laws of physics, in particular, what’s known as thermal effusivity. Thermal effusivity (also known as thermal inertia or thermal responsivity) is a measure of an object’s ability to exchange thermal energy (ie heat) with its surroundings. It is defined as the square root of the product of the material's thermal conductivity and its volumetric heat capacity.

Before we drill down into that, let’s just remind ourselves of the second law of thermodynamics. It states that in a natural thermodynamic process, the sum of the entropies of the interacting thermodynamic systems never decreases. An easier way to think of it is that when two bodies of different temperatures meet, the hotter body will cool down, and the cooler body will warm up – and never the other way round. Once they are both at the same temperature, no more changes occur.

So, that would seem to support the argument that the hot coals will heat up your very much cooler foot – which means firewalking is impossible without serious injury. And yet people seem to be doing it all the time! So that’s where thermal effusivity comes in. Let’s go back to the components of its definition.

The thermal conductivity of a material is a measure of its ability to conduct heat. Materials with low thermal conductivity have a much lower rate of heat transfer than materials – like metal – that have a high thermal conductivity and transfer heat very quickly.

The volumetric heat capacity of a material is the heat capacity of a sample of the substance divided by the volume of the sample. It can also be expressed as the specific heat capacity (heat capacity per unit of mass) times the density of the substance.

So, if the hot coals don’t conduct heat very well, the foot of the firewalker won’t burn – unless they stand still for a slightly longer period of time on the coals. That means the secret to successful firewalking is in the name – walking, and not standing still.

Other factors on the side of the firewalker rather than the hot coals are:

  • The blood supply to their foot carries away some of the heat.
  • Firewalkers keep moving, so they do not spend much time on one lot of embers before their foot moves off.

However, it’s not just if people stand still that they can get burned, it’s also if they run through the embers, their feet push deeper into those embers, which can lead to burning.

There are also two psychological issues to overcome. Firstly, your brain is reluctant to put your body in a dangerous situation, ie putting your feet on hot coals. The solution is to logically understand why it’s not as dangerous as it looks, and to just do it! Secondly, the prefrontal cortex of your brain will want to take control to make sure that you are not burning your feet. It will want to monitor information coming from the temperature sensing nerve cells in your feet. These thermoreceptors can be found all over your skin. While the prefrontal cortex is sensing what’s going on, it will slow down your walking pace – which as mentioned above can lead to burning of the feet. The solution is to sing a catchy tune to yourself, which keeps the prefrontal cortex occupied, or repeat a mantra like, “cool wet grass” as you walk along.

The reason that I am so interested in firewalking is because my younger daughter and I are walking through hot embers on 17 September for charity (homeless people and ex-service people). You can read more about it here. If you’d like to sponsor us to support the charity, you can find our Just Giving page here. Thank you.

Sunday, 31 July 2022

IBM second quarter figures

I don’t usually look at IBM financial quarters, I tend to be more focused on the tech and the wellbeing of the people using tech – and quite often on the choices facing decision-makers about which tech to buy – however, this quarter, the results are interesting in that they show just how much even major tech companies are affected by world events and the mood of the market.

Let’s look at the headlines. The figure for sales was $15.54 billion, which is up from $14.22 billion in the corresponding quarter last year. Although, bear in mind that the figures have been adjusted to allow for discontinued operations – in this case it’s mainly for Kyndryl, the managed infrastructure-service business, which was spun off.

As you’ll remember, IBM began selling its z16 mainframes during the quarter, which lead Z systems sales to jump 69%. In the previous quarter, sales had declined by 19%.

The figure for net income was $1.39 billion, or $1.54 a share. This figure is also up from the same period last year of $1.47 a share. The adjusted earnings per share, which exclude stock-based compensation expenses and other items, were $2.31. Again, this is up from $2.23 in the same quarter of the previous year.

And yet, on the day that the figures were announced, IBM’s stock dropped 6.4% on Wall Street.

IBM, which earns a lot of its revenue overseas, has been hit by the fact that the US currency has surged to its highest level in 20 years recently. The dollar is strong because the Federal Reserve was quick to raise interest rates in an effort to cool inflation. Higher interest rates typically attract foreign investors, driving up demand for the currency. The downside for companies like IBM is that it suffers in sales abroad because the strong dollar lowers the value of its international sales and makes them less competitive compared with potential local rivals, and, of course, companies offering alternatives to mainframes.

The war in the Ukraine is also having an impact. IBM management has called for $10 billion in free cash flow for all of 2022. This figure is down from the range of $10 billion to $10.5 billion that IBM provided in April. Part of the reason for this change was IBM suspending its business in Russia, which it did because of Russia’s invasion of the Ukraine. The business in Russia has been highly profitable for IBM.

Looking at some of the results in more details, we can see that hybrid-cloud revenues were up 18% to $5.9 billion in the quarter. Software unit revenue increased 6.4% to $6.2 billion, which wasn’t as much as people had estimated it would be. Whereas consulting sales beat the estimates increasing by 10% to $4.8 billion. Red Hat sales increased by a disappointing 12%. Disappointing because it was the lowest increase since IBM acquired Red Hat in 2019. A significant portion of IBM’s revenue came from sales to Kyndryl.

The gross margin was 53.4%, which was ahead of the 52.9% expected, but not as good as last year’s figure of 55.2%. The decline has been attributed to increasing labour costs and also the increase in the price of components. This a problem that businesses in many countries are facing following the pandemic and with the world situation as it is.

So, it’s clear that large corporations like IBM can be working their socks off to ensure that they have a good product to sell and that they are able to sell their products across the globe, however, they are still subject to all the same pressures as other companies – like inflation, high interest rates, high labour costs, high component costs, a post-pandemic world, and war in the Ukraine – a country usually referred to as the breadbasket of Europe. Each of those issues, or their immediate aftermath, will still be with us at the end of the next quarter. One can only wonder at impact those issues will have on small and some medium-sized companies, and whether they can successfully remain in business. And one must wonder what the fall out will be on the global economy if those companies do start to collapse.

Sunday, 24 July 2022

Password fatigue

Life was so much easier when the only password you needed to remember was 123456, or 123456789, or qwerty, or password, or 111111, or any other very simple to remember and easy to hack password. In fact, in those days, there were fewer websites that you needed to login to. But now, we need to remember more complex passwords, and, hopefully, more of them. And people are getting password fatigue. In fact, according to LogMein, the average business user keeps track of a whopping 191 passwords.

According to Wikipedia, “Password fatigue is the feeling experienced by many people who are required to remember an excessive number of passwords as part of their daily routine, such as to login to a computer at work, undo a bicycle lock, or conduct banking from an automated teller machine (ATM)”.

According to an Infographic from Yubico produced in 2019, on average, people spend 10.9 hours per year entering and/or resetting passwords. This, they estimate, costs organizations $5.2m per year.

The trouble with passwords is that unless they are secure, there is really no point in having them. So, most places that you need to login to enforce strict password rules. For example, your password can’t match your username, plus it must be a certain length (which seems to be increasing all the time), and it has to contain a variety of characters (upper/lowercase letters, numbers, special characters). And just when you think you’ve memorized the password, you find you need to change it every 60 days (or some other number). And you probably can’t re-use and old favourite password until a very long period of time has passed, or enough other passwords have been used.

For businesses, the need for passwords to be secure is critically important. They can’t have passwords stuck on the side of a computer. They can’t tolerate people sharing passwords. The big issue for businesses is hackers and ransomware. Too often, hackers are finding a password that someone uses for one account is also the password they use for a more secure and important account – for example their bank account. Using a known email and password combination gives them access to other sites.

In addition, the dark web is full of stolen userids and passwords that hackers share. Unless passwords are regularly changed, an old list of passwords can be as effective for hacking purposes as a more recent list. Once hackers gain access to your network, they can corrupt backups, encrypt databases, and demand payment in bitcoins to make those corporate files available again. And all because the organization wasn’t stricter with its password policy.

So, what can people do about the plethora of difficult passwords that they need to remember? The obvious solution is to write them down on a Post-It Note (or similar) and stick it to your computer screen. Hopefully, the days of people doing that have passed – but you may know different where you work! To make memorizing passwords easier, about half (51%) of the people in the Yubico survey simply rotate the same five passwords across their work and personal accounts.

Using three or four random words together is a great way to beat password-cracking software. You might choose ‘hatcarlaughing’ or something similar. The password is very hard to crack, however, people would still get password fatigue trying to remember 191 different passwords like that during the working day.

So, what can organizations do in order to help their employees overcome password fatigue and keep their network safe from hackers? There are a number of solutions available.

Biometrics solutions seem like the most obvious. You always have your eyes or fingerprints with you. However, the technology can be quite expensive and not always completely reliable.

To overcome the need to remember so many passwords, employees could use a password manager. Staff create a repository of the passwords they use, and the software presents the appropriate one when a login screen appears. Members of staff don’t need to remember the password, so those passwords can become even harder to crack. Using a password manager makes password fatigue a thing of the past. The problem arises when trying to login from a different device,

Multi-factor authentication (MFA) is another way to maintain security and reduce password fatigue. Obviously, it adds another step to the login process, but it does make things more secure, so the password used can be much shorter than might otherwise be the case, and therefore easier to remember.

Single sign-on allows members of staff to sign in only once to gain access to all the software and devices associated with that account. That makes things easier for the user.

As mentioned above, password fatigue can cost companies money and can make the life of employees difficult. It makes sense for an organization to look into ways that it can help staff avoid password fatigue, get on with their work, and keep the organization secure.