Lighten your day with some programming humor

March 5, 2021

There's a lot of great software-development humor out there, and we can all use a little more levity in our lives.

So we are collecting some of the best programming and software-industry humor posts we find and posting them here, along with the original sources.

Researchers earn distinguished paper award with Phase Change help

July 20, 2020

July 20, 2020

by Todd Erickson

A team of Oregon State University scientists partnered with Phase Change Research Scientist Rahul Pandita to study how cognitive biases affect software developers' everyday behavior. The resulting academic paper, "A Tale from the Trenches: Cognitive Biases and Software Development," was recently recognized by ICSE 2020 as an ACM SIGSOFT Distinguished Paper.

According to OpenResearch.org and ACM SIGSOFT, only 2% of all ICSE submissions earn Distinguished Paper Awards.

OSU researchers Nicholas Nelson and Anita Sarma enjoying time in Phase Change's offices.

"Bias is an essential tool for human cognition," said Rahul Pandita. "The presence of bias must not be automatically equated to something negative. In fact, some biases are extremely helpful in navigating the complexities of day to day life. The key is to understand how these biases operate. In the case of routine software development activities, such nuanced understanding allows us to develop effective intelligence augmentation (IA) technology to amplify the benefits of such biases and counter the detrimental effects."

The scientists conducted a two-part study from 2017-2018. Part one focused on observing Phase Change developers performing routine development tasks. They observed Phase Change developers at our offices for a week in March 2018.

“Getting to see the 'behind the scene' workings of this agile, innovative team was a great way of understanding how startups work," said Anita Sarma, an Associate Professor at Oregon State.

Part two involved triangulating their findings by interviewing developers from three other companies about how they perceive and deal with the observed biases found in Part One.

Research Scientists Anita Sarma, Nicholas Nelson, Souti Chattopadhyay, and Christopher Sanchez, along with research interns Audrey Au and Natalie Morales, co-wrote the paper with Pandita.

The research results were presented at ICSE 2020, the 42nd annual International Conference on Software Engineering, July 6-11 in Seoul, South Korea, and virtually from June 27-July 19. All of the Distinguished Papers were announced during a July 10 awards ceremony and appeared on other slides shown throughout the conference.

Todd Erickson is a Technology Writer at Phase Change Software. You can reach him at [email protected].

COBOL is dead! Long live COBOL!
A living collection of COBOL articles

October 30, 2018

updated March 16, 2021

by Todd Erickson

To stay up-to-date with the latest news and commentary surrounding COBOL-based applications, we track and archive COBOL-related online articles. Below is our current collection of stories, which we try to update frequently.

Despite its age and multiple reports of its impended death, the Common Business Oriented Language (COBOL) remains responsible for a large portion of the world’s daily financial transactions – credible estimates include as much as $3 trillion per day and roughly 90 percent of all ATM and in-person financial transactions.

COBOL was first published in January 1960 by the Conference on Data Systems Languages (CODASLY), who based it on the first compiler developed by Admiral Grace Hopper and her team at Remington Rand in 1952. It’s designed to develop portable business applications that could be run on systems developed by multiple manufacturers.

It remains vital to the world’s financial systems because of its simplicity and reliability.

One measure of its importance is the number of news and commentary articles published in reliable industry sources that repeat a common theme, namely that the programming language is ancient, nobody wants to use it, but it’s so vital to the financial and government sectors that it won’t go away – COBOL is dead! Long live COBOL!

Once or twice a year a new piece pops up and we typically pass it around the office, discuss new information or opinions it reveals, and archive it.

Recently, one of our shrewd colleagues suggested we post links to these articles here on our website so others in the small but influential COBOL community can reference them.

So we did. We’ll update this page when we discover new COBOL media pieces. If we’ve missed something important, email [email protected].

Long live COBOL!

Articles

2020
Title Date Author Snippet
The code that controls your money November 10, 2020 Clive Thompson
Tech Journalist
COBOL underpins the world's financial systems, and it's not going away soon.
Why the Government Is Desperate for Programmers Who Know This Old Language April 9, 2020 Caroline Delbert
Popular Mechanics
As the U.S. grapples with the economic fallout from the COVID-19 pandemic, government agencies with aging systems are clammering for COBOL developers.
A lazy fix 20 years ago means the Y2K bug is taking down computers now January 7, 2020 Chris Stokel-Walker
New Scientist.com
A quick but lazy fix to the Y2K bug is now putting the same systems in danger.
2019
Title Date Author Snippet
How COBOL still powers the global economy at 60 years old may 23, 2019 Paul Flahive
Texas Public radio
Financial institutions continue to rely on COBOL code, but will new training programs be enough to replace the retiring workforce?
SHARE: GAO’s Mainframe Risk Claims Debunked May 9, 2019 SHARE'D Intelligence The 2018 GAO Report that says government systems are at significant risk due to their reliance on legacy programming languages is nonsense. Evolving architecture is always bridging the gap between older and modern applications.
2018
Title Date Author Snippet
Quartz Obsession: COBOL June 28, 2018 Justin Sablich What's going to happen when all the Baby-Boomer COBOL developers retire?
In digital transformation top banks are leading April 3, 2018 Tom Groenfeldt Instead of ripping and replacing legacy systems and code, which can be prohibitively expensive and time consuming, some banks are maintaining these systems and wrapping customer engagement systems around them.
It’s Cobol all the way down April 2018 Glenn Fleishman COBOL-based systems continue to run much of the world’s financial systems. But its supporting workforce is retiring and efforts to convert these applications to modern programming languages are expensive and time-consuming.
2017
Title Pub Date Author Snippet
COBOL is everywhere. Who will maintain it? May 6, 2017 David Cassel Many of the world’s financial institutions and U.S. government agencies, such as Homeland Security, Department of Veterans Affairs, and Social Security, rely on COBOL-based systems, but a shortage of programming talent and education institutions that provide programming courses is on the horizon.
Trump said government has one 40-year-old IT system. It actually has at least 10. April 12, 2017 Frank Konkel A list of 10 U.S. government computer systems that are at least 40-years old. Three of the systems run on COBOL code.
Banks scramble to fix old systems as IT 'cowboys' ride into sunset April 9, 2017 Anna Irrera
Reuters.com
Organizations that rely on Cobol-based applications have a hard time replacing retiring programmers and support personnel, which has given veteran developers opportunities to continue working, even after retirement.
2016
Title Date Author Snippet
Why it’s time to learn COBOL April 1, 2016 Paul Rubens
CIO.com
Acquiring COBOL programming skills might be a wise career move. Hundreds-of-billions of lines of COBOL code are still in use and many universities have stopped offering classes in the 50+ year old language.
2015
Title Date Author Snippet
The inevitable return of COBOL July 6, 2015 Ritika Trikha
HackerRank
The looming shortage of COBOL programmers will inevitably lead to COBOL programming once again becoming an in-demand skill set.
2014
Title Date Author Snippet
CIOs should prepare for lack of Cobol (Yes, Cobol) developers October 2, 2014 Sharon Florentine
CIO.com
While the demand for talented and skilled Cobol programmers remains steady, the programming language’s lack of popularity has shrunk the available talent pool. As the existing Cobol support workforce ages and retires, companies are resorting to novel strategies to acquire and train staff.
Cobol is dead. Long live Cobol! October 2, 2014 Gary Beach
Wall Street Journal CIO Journal blogs
CIOs that rely on Cobol-based systems keep developer staff as long as possible while others prefer new hires with multi-language capabilities over Cobol-specific or Cobol-only skills.
All the rich kids are into COBOL – but why? September 17, 2014 Matt Asay
readwrite.com
COBOL isn’t sexy or even that popular. But the basic tenants of supply and demand remain true – if there are still a lot of COBOL applications running critical systems and not a lot of programmers interested in learning the 50-year-old programming language, then brushing up on your COBOL skills might make it easier to find a job earning more money.
The government’s COBOL conundrum June 2, 2014 Nicole Blake Johnson
FedTech magazine.com
The U.S. federal government’s Office of Personnel Management released its “Strategic Information Technology Plan” for revamping the agency’s IP operations. Part of the plan discusses the office’s plans for maintaining and eventually migrating away from the roughly 60-million-lines of production COBOL code that enable the agency to meet a number of its regulatory requirements.
2012
Title Date Author Snippet
Brain Drain: Where COBOL systems go from here May 21, 2012 Robert L. Mitchell
CIO.com
Not only does losing experienced COBOL programmers hurt many companies’ ability to maintain its mainframe systems, but it also means the loss of the programmers’ deep understanding of the business logic. A number of organizations are teaming with private businesses to educate younger programmers and team them with experienced developers before it’s too late.
Cobol brain drain: Survey results March 14, 2012 Compuworld Staff Results from the Compuworld survey on Cobol use in business and government, which showed that nearly 50 percent of respondents had operational Cobol-based systems and a large number continue to develop new business applications with Cobol.
The future of COBOL: Why it won’t go away soon – Part 2 January 11, 2012 Brian Bloom
IT World Canada
When thinking about maintaining or replacing their COBOL systems, companies must consider the employee angle. Can they continue to hire COBOL programmers when experts forecast that a major COBOL skills gap in on the horizon, and is that enough of a reason to rip and replace?
The future of COBOL: Why it won’t go away soon – Part 1 January 10, 2012 Brian Bloom
IT World Canada
COBOL-based systems will not be going away anytime soon because of the millions of invested man-hours and dollars already spent to develop these mainframe programs and the enormous predicted replacement costs. There’s also the fact that we don’t have anything better enough to make the change.
Fun

*All images are copyrighted by their respective owners

Todd Erickson is a tech writer with Phase Change. You can reach him at [email protected].

Hosting microservices: cost-effective hardware options – blog

March 29, 2017

April 29, 2017

by Rahul Pandita and Todd Erickson

When we moved from being primarily focused on innovation to also developing a demo platform, our developers began to work with very different frameworks and libraries. As our interactions with more libraries and frameworks grew, we faced dev-setup issues with our monolithic architecture, including:

  • Installing and supporting multiple IDE environments within the single framework. Our developers were installing and maintaining libraries and frameworks locally that they would never need for their current tasks.
  • Software versioning. It's a project manager's nightmare keeping everyone in different teams on the same software versions.

We began to consider moving to a microservices platform, which would allow us to isolate our developers' working environments and segregate libraries and software applications.

Industry literature and Rahul's personal experience at North Carolina State University pointed to a shift away from monolithic architecture to a microservices architecture because it's more nimble, increases developer productivity, and would address our scaling and operational frustrations.

However, moving to a microservices architecture made us address the platform's own issues, namely, how do we access these services – using in-house servers or through third-party hosted platforms?

We first considered moving straight to cloud services through well-known providers such as Google Cloud, Amazon S3, and Microsoft Azure. Cloud computing rates have dropped dramatically, making hosted virtual-computing attractive.

However, at the time, we were still exploring microservices as an option and were not fully committed. Also, we still have to do a lot of homework before transitioning to the cloud. When we added security and intellectual property (IP) concerns to the mix, we decided on an in-house solution for the time being.

This blog post is about our process of determining which servers we would use to host the microservices.

Here we go

To quickly get up-and-running, we repurposed four older and idle Apple Mac Pro towers that were initially purchased for departed summer interns. We reformatted the towers and installed Ubuntu Server 16 LTS to make the future transition to the cloud easier because most cloud platforms support some version of Linux (Ubuntu) out-of-the-box.

The towers featured:

  • Intel Xeon 5150 2.66 GHz dual-core processors with 4 MB cache
  • 4 GB PC2-5300 667 MHz DIMM
  • Nvidia GeForce 7300 GT 256 MB graphics cards
  • 256 GB Serial ATA 7200 RPM hard drives

These towers were fairly old – the Xeon 5150 processors were released in June 2006. We started with them to prove out the approach and quickly determine the benefits without investing a lot of money up front.

Moving to a microservices model immediately solved many of our issues. First and foremost, it allowed us to separate our development environments into individual services.

For example, our AI engine for logic queries could work independent of our program-analysis engine and our text-mining work. This was incredibly helpful because, for example, developers working on program analysis who did not directly dealt with the AI engine didn't have to install and maintain AI-specific libraries, and vice-versa for AI developers and program analysis tools.

Now, each team simply interacts with an endpoint, which immediately improved our productivity. More on this revelation in a future post.

As we continued to implement the microservices platform, we were pretty happy with the results. Then our servers started showing signs of their technological age – performance lags, reliability issues, limited upgradeability, and increasing power consumption. The limited amount of DIMM, limited cost-effective upgrade capabilities, and constant OS crashes hampered our efforts.

Next step

For the next "phase" of our microservices evolution, we decided to acquire performant hardware specifically geared for hosting microservices.

Phase Change is a small startup with limited funding, so we had to purchase equipment that would meet our needs within a budget. Like many ‘cool’ startups, we are a Mac shop, so we naturally gravitated towards using Mac mini servers. We were already using Mac minis for file hosting, and there are plenty of websites detailing how to use them.

After conducting random Google searches extensive online research, we decided our best option was not the Mac mini with OS X Server, but the original Mac mini model. The Mac mini with OS X Server features an Intel Core i7 processor and dual 1 TB Serial ATA drives, but Apple stopped offering the mini with OS X Server in October 2014.

So, we considered the next best thing, mid-level original Mac minis that included:

  • Intel i5 3230M 2.6-3.2 GHz processors with 3 MB cache
  • Intel Iris Pro 5100 HD graphics cards
  • 8 GB 1600 MHz LPDDR3 memory
  • 1 TB 5400 RPM hard drives
  • 1000 Base-T Gigabit Ethernet support

The Mac mini form factor – 7.7 inches width by 1.4 inches height and 7.7 inches depth – and power consumption – 85 W maximum continuous power – were also appealing. The retail base price is $699. The cost-effective modern processors and increased memory were the most important factors in our consideration, and the tiny little Macs would integrate well into our 'cool' Mac company environment.

We were all set to move on the Mac minis until we found Russell Ivanovic's blog post, "My next Mac mini," which revealed that the Mac mini product line hasn't been updated since October 2014 – over 2.4 years, but Apple is still selling them at new-computer pricing. So much for the minis. Aargh!

Luckily, we didn't have to start at square one this time around, because Ivanovic's blog post revealed what he bought instead of the mini – an Intel NUC Kit mini PC.

Intel NUC KitWe asked Siri to do the math crunched the numbers and found that the NUC was a reasonable Mac-mini replacement. The Intel NUC Kits are mini PCs engineered for video gaming and intensive workloads. The base models include processors, graphics cards, system memory, space for permanent storage devices, peripheral connectivity ports, and expansion capabilities, but we upgraded our NUC6i7KYKs to include:

  • Intel Core i7 6770HQ 4.0-4.65 GHz quad-core processors with 8 MB LC cache
  • Intel Iris Pro 580 graphics cards
  • Crucial 16 GB (8 GB x 2) DDR4 SODIMM 1066 MHz RAM
  • Samsung 850 EVO 250 GB SATA III internal SSDs
  • 1000 Base-T Gigabit Ethernet support

The following table presents technical comparisons between the old Mac towers, the Mac mini, and the Intel NUC Kit.

Mac Pro Tower Mac mini Intel NUC Kit NUC6i7KYK Comments
Base Price $200-$300 $699 $569 Mac tower has been discontinued but you can still buy preowned hardware. We chose the mid-level Mac mini ($699) for comparison fairness.
Processor Intel Xeon 5150
2.66 GHz dual-core
Intel Core i5 3230M
2.6-3.5 GHz
dual-core
Intel Core i7 6700K
4.0-4.65 GHz
quad core
Processor comparisons
Xeon 5150 v. i5 3230M
Xeon 5150 v. i7 6700K
i5 3230M v. i7 6700K
You can update the Mac mini to an i7 processor for $300.
Graphics card Nvidia GeForce
7300 GT
Intel Iris Pro
5100 HD
Intel Iris Pro 580 Graphics card comparisons
Nvidia GeForce 7300 GT v. Intel Iris Pro HD 5100
Nvidia GeForce 7300 GT v. Intel Iris Pro 580
Intel Iris Pro had 5100 v. Intel Iris Pro 580
Apple hasn't officially released info on the Mac mini's exact graphics chipset, so we used specs fromEveryMac.com for comparisons.
RAM 4 GB PC2-5300
667 MHz
8 GB LPDDR3
1600 MHz
Crucial 16 GB SODIMM DDR3L
1066 MHz
Out-of-the-box NUC Kits do not include RAM. We installed 16 GB DDRL3 SODIMMs in our NUC Kits for $108 each.
The Mac mini is upgradeable to 16 GB for $200.
Storage 256 GB
Serial ATA
7200 RPM
1 TB
Serial ATA
5400 RPM
Samsung 850 EVO
1 TB
SATA III
internal SSD
Out-of-the-box NUC Kits do not include internal storage. We installed 250 GB SSDs ($109 each) for a good performance/capacity mix, but use a 1 TB SSD here for comparison fairness.
You can upgrade the Mac mini to a 1 TB Mac Fusion Drive (1 TB Serial ATA 5400 RPM + 24 GB SSD) for $200.
Comparison Purchase Prices (per unit) $200-$300 $1,399 $997 Mac mini upgrades: Intel Core i7 processor ($300); 16 GB LPDDR memory ($200); 1 TB Fusion Drive ($200)
NUC Kit Config Upgrades: 16 GB DDR3L memory ($108); 1 TB SSDs ($320)

Download the table in PDF

Our NUC Kits total price ended up being $786 per unit with the 16 GB SODIMM DDR3L RAM and 256 GB SSDs. If we had opted for 1 TB SSDs to match the standard capacity in the mid-level Mac mini, our price would have jumped to $997 per unit.

We chose the Intel NUC Kits over the Mac minis because of the NUC Kits' updated technology and overall better performance for the price. Putting together and installing Ubuntu Server 16 LTS on the NUCs was very straightforward.

Both units are fully configured and have been in full production operation for a few weeks. We haven’t encountered any issues. I'll divulge more on how they perform over time with different microservices and workloads in future blog posts.

P.S. We still looooove Mac towers and we are currently using them as test beds. That will also be the subject of a future blog post.

Rahul Pandita is a senior research scientist at Phase Change. He earned his Ph.D. in computer science from North Carolina State University. You can reach him at [email protected].

Todd Erickson is a tech writer at Phase Change. His experience includes content marketing, technology journalism, and law. You can reach him at [email protected].

Contact

651 Corporate Circle
Suite 209A
Golden, Colorado 80401
Phone: +1.303.586.8900
Email: [email protected]

© 2024 Phase Change Software, LLC