Monday, September 11, 2023

C and C++ compilers and undefined behavior

The first article goes into how it's increasingly difficult to avoid triggering undefined behavior unless you're very careful, and how compilers are emitting "optimzed" code that has little to do with the original because it's undefined.

Lumping both non-portable and buggy code into the same category was a mistake. As time has gone on, the way compilers treat undefined behavior has led to more and more unexpectedly broken programs, to the point where it is becoming difficult to tell whether any program will compile to the meaning in the original source. This post looks at a few examples and then tries to make some general observations. In particular, today’s C and C++ prioritize performance to the clear detriment of correctness.


The second article mkaes a lot of the same points, but perhaps in more depth, going through some real world examples of serious bugs that came out of small programming errors.

Saturday, August 12, 2023

Galois Fields and 512-byte C Compilers

If you ever wanted to read the blog of a programmer into both abstract algebra and designing his own MIDI hardware, you're in luck. This is some top notch stuff.

Saturday, July 22, 2023

.Net entry points

A deep dive into the true entry point of a .Net program. A lot of this I knew from reading too much CLR via C# (another great book btw) but I learned a few neat tricks, which hopefully I will never need to use outside of a toy context.

Wednesday, May 24, 2023

Mortgages and Contract Innovation

In which Prof. Cochrane points out that the US mortgage market is an extremly artificial construct that exposes banks to trememdous risk, leading to the only entity being able to finance it being the US government. And of course, the effects on ever increasing housing prices and stunted innovation that comes from Fannie Mae and Freddy Mac.

Monday, May 8, 2023

IBM, Design a new System/360

What we need is everything in one box, all the latest technology, and easy to scale up. Can IBM deliver? Probably not but we can dream.
It is beyond time for IBM to not only create a converged platform for its customers, but also beyond time for the company to create datacenter-scale infrastructure that can represent the future of enterprise computing. That was what I was talking about last week when I was lamenting the departure of Jim Whitehurst, formerly chief executive officer of Red Hat and formerly president of IBM. As the title of that story implies – Historical, Functional, And Relevant – if I had a wish, it would be to create a system that was integrated (meaning it has everything that customers need) and scalable (meaning it could span from a single-core system for deskside use in the smallest of companies all the way up to a full-blown datacenter). And when I say system, I mean system: Compute, network, and storage, and as much offload and processing in the network as possible and only applications on the server processors.

Tuesday, April 11, 2023

Synchronize Across Time Zones

Been wondering what this meant in Windows Scheduler for a long time and someone explained it dead simple - it stores and runs the job time in UTC. Makes sense.

Tuesday, March 21, 2023

.Net system programming video

Good review (or first view) of how GCs, threading, etc work under the cover.

Sunday, March 19, 2023

Building Perl modules by hand

Two Perl posts in a row, but I was catching up on my Perl Advent calendar and realized I had never built a module by hand before, always relying on cpan or cpanm. It's not too hard and might save you one day.

Friday, March 17, 2023

Function signatures in Perl

I'm finally getting a chance to play with them and they seem great. Not the old prototypes, but brand new spiffy ones!
  sub some_function($a, $b) { 
  return $a + $b;
}
  
I think promises and futures are next on my Perl updating adventure

Monday, January 30, 2023

Regulations around government debt lead to crisis

Put briefly

By much favoring banks holding “safe” government debt and residential mortgages (demand-carbs) than loans to “risky” small businesses and entrepreneurs (supply-proteins), way too much debt has been generated against a weakly obese not muscular economy. Of course, in the process, bureaucracy autocracies were empowered, and houses transformed from home into valuable investment assets.

Sunday, January 22, 2023

IBM I cloud instances available

Neato!
With ezDev, developers will get access to the latest Power9 and Power10 systems, equipped with the latest IBM i 7.4 and IBM i 7.5 operating systems and development tools. These ezDev cloud partitions include modern IBM compilers as well as open source technologies that are increasingly used in IBM i shops. This will allow developers to access the latest development tools and have full systems control with QSECOFR authority. (It is important to be able to test applications for security vulnerabilities as they are being coded or refactored, and ezDev allows this to be done on a true developer system, not on a production environment and includes their custom ezSecurity SIP package to configure and manage system security.)

Friday, January 13, 2023