The mainframe isn’t going anywhere soon — except maybe to Mars

This great article emphases what I’ve believed for some time now; the mainframe (and midframe) systems are rock solid not as much because of their elegance but because they are so resilient and almost bullet proof. I have always emphasized durability over fragile development approaches. Make it work first, make it solid and resilient then make it beautiful.

Continue reading “The mainframe isn’t going anywhere soon — except maybe to Mars”

Non-Functional Requirements – Checklist


  • Login requirements – access levels, CRUD levels
  • Password requirements – length, special characters, expiry, recycling policies
  • Inactivity timeouts – durations, actions

Continue reading “Non-Functional Requirements – Checklist”

The Evolution of Modern Dev/Test Labs in the DevOps World

If you’re developing software of any kind, you inevitably need to test it somewhere before you deploy to production. “I’ll just spin up a VM,” you say. This might work initially in small shops – but even if you don’t have onerous red tape, you’re eventually going to run out of resources (like host machines, RAM or space). So you’ll have to have someone who can shut down or decommission unused test machines. And what about performance testing? What if you wanted to test your application with 100 machines for just 1 day? You’d have to get a lot of tin that would sit idle for most of the time, just so that you have some capacity when you need it. So what other options do you have? Continue reading “The Evolution of Modern Dev/Test Labs in the DevOps World”

How Database Administration Fits into DevOps

The Agile Consortium International and Unicom are organizing the DevOps Summit Brussels 2016 on February 4 in Brussels, Belgium. InfoQ will cover this event.

Dan North will talk about how database administration fits into the world of DevOps at the DevOps Summit Brussels. InfoQ interviewed him about the activities that are performed by database administrators and how they are related to those done by developers and by operations, how database administration is usually organized, how the database fits into DevOps or Continuous Delivery, and what he expects that the future will bring for database administration when organizations adopt DevOps. Continue reading “How Database Administration Fits into DevOps”

Locks, Blocks, and Deadlocks: Oracle Docs

Excerpt from Oracle Documentation

It is important to understand how locking works in a concurrent application before continuing with a description of the concurrency mechanisms JE makes available to you. Blocking and deadlocking have important performance implications for your application. Consequently, this section provides a fundamental description of these concepts, and how they affect JE operations. Continue reading “Locks, Blocks, and Deadlocks: Oracle Docs”

10 Java Regular Expression Examples You Should Know

By mkyong – November 18, 2009

Regular expression is an art of the programing, it’s hard to debug , learn and understand, but the powerful features are still attract many developers to code regular expression. Let’s explore the following 10 practical regular expression ~ enjoy 🙂

1. Username Regular Expression Pattern


^ # Start of the line

[az09_] # Match characters and symbols in the list, a-z, 0-9 , underscore , hyphen

{3,15} # Length at least 3 characters and maximum length of 15

$ # End of the line Continue reading “10 Java Regular Expression Examples You Should Know”

Make Your Program Slower With Threads

How much do context switches matter?

By Marc Brooker

Years ago, while taking a numerical methods course, I wrote some code to calculate the expected number of shared birthdays in a group. The code is very simple: each attempt constructs a vector of N birthdays, then counts the duplicates. The outer loop runs millions of attempts, and calculates the mean number of shared birthdays across all the samples. It’s little more than a tight loop around a pseudo-random number generator. Continue reading “Make Your Program Slower With Threads”

Useful JVM Flags – Java JVM Performance Tuning

05/08/12 by Patrick Peschlow

In this part of our series we focus on one of the major areas of the heap, the “young generation”. First of all, we discuss why an adequate configuration of the young generation is so important for the performance of our applications. Then we move on to learn about the relevant JVM flags.

From a purely functional perspective, a JVM does not need a young generation at all – it can do with a single heap area. The sole reason for having a young generation in the first place is to optimize the performance of garbage collection (GC). More specifically, the separation of the heap into a young generation and an old generation has two benefits: It simplifies the allocation of new objects (because allocation only affects the young generation) and it allows for a more efficient cleanup of objects not needed anymore (by using different GC algorithms in the two generations). Continue reading “Useful JVM Flags – Java JVM Performance Tuning”