Thursday, April 13, 2023

Software Development Stories - Inventory Version

 This probably belongs in a Reddit post somewhere, but... Anyone that's undertaken a software development career has probably encountered what I'm about to describe. And it's too long for Reddit, so...

I spent more than a decade of my three decade stint in software development working in manufacturing, and invariably, the companies avoided buying certain commercial off-the-shelf solutions and using them as delivered because "we're different than everyone else". 

Sometimes, that claim is legitimate. Here's a candidate that supports that claim.

I joined a company that assembled large commercial ships, which required large steel plates for hulls, bulkheads, keels and the like. They had relatively limited space - imagine around 120 stacks of plates arrayed in a grid over 4-to-6 acres of floor space, with a big A-frame crane straddling it. There was a bunch of other piles of bar stock and forged I-beams beyond this grid, as well. 

The plate department's challenge was to have the plates in position to move into production every day throughout the year, even though they didn't have enough room to accommodate the year's material in 120 stacks. So, over the decades, they devised a process that would allow incoming steel to arrive (for example) at the upper left-hand corner of the grid, and leave at the lower right-hand corner. In between the time a plate arrived and the time it was required for production might be 6 to 9 months or more, so the workflow needed to accommodate that time span. During that period, each plate movement was intended to help make the stacks nearer the exit corner progressively more organized, so that when the required start date arrived, the steel was all in one stack as close to the exit corner as possible.

The enterprise inventory management system could keep track of which department had stewardship of the plates, and probably was suitable for tracking smaller components by warehouse area, row, rack and bin, but had no capability for helping the steel plate team decide where on the grid to move a giant plate to keep material converging towards a single stack for the planned production start date.

Enter Microsoft Access ... circa 2000 was my guess. One analyst - not a formally trained developer - created a little Access app that could keep track of the plates and print out move instructions to show the crane and forklift operators where to reposition plates each day. The intention was to help them take the chaos of the entry corner and transform it into a carefully organized sequence of stacks by the time start day arrived.

The innovative scheme they devised was to name rows of stacks, and individual stacks within each row, in accordance with the stack's purpose, but not a specific start date. It was logical to name the rows and stacks at the top of the grid nearest the entry corner more vaguely. Think "Quarter 1, "Quarter 2" and so on. Towards the middle, this scheme became more specific, such as "Two months out", "One month out" and "This month". Finally they reserved a couple of rows nearest the exit corner to dedicate for exact dates, so that 14 days before a production start date arrived, they'd have an empty stack that they could start piling plates on. Thus the material for that day was all in one place.

This all sounds simple enough - any competent software developer could write a few procedures to help them perform a "converge" operation on a stack that they wanted to clear out for re-purposing.

Here's the rub:  The plate department couldn't tell you all of the rules for plates that fell outside the simplistic process I outlined above. For instance, they might have special rules for departments X, Y or Z, and the rules might be different for each, but everything else would follow the general outline. Then there were rules for plates that were below a certain size or thickness, or above a certain size or thickness. You get the idea. 

What's a developer to do?  

AHA! Look at the existing code! Great idea, but, as I said, the innovative fella that created this app was not a developer by trade, so the code was crap.  

Wait! There's more! He had left the company 5 years before I arrived, so as that app started to behave in unexpected ways, the department considered it "broke" instead of acknowledging that something about their process had changed. 

My IT predecessors tried to maintain the app ... but our manager saw that it should be replaced, so he received approval to find a commercial replacement.

Two more years went by. The plate department could tell you about 60% of what the app did for them, but the "converge" operation was a mystery. And they didn't know exactly what all the tables in that application were used for. My predecessors then left, as well.

Enter your humble correspondent. Our department had spent about 2/3 of the replacement budget looking for a COTS solution. I walk in the door, 1000 hours already gone, and get handed this beauty on the 5th day I worked there. Oh, and can you complete this by Christmas? (We're in October when I find this out). Oh, and your prior responsibilities are a bunch of old desktop apps that need to be replaced. So I had about 20 hours a week to work on this.

Fast forward six months, most of the replacement is built, but the Converge operation is still a mystery to the clients, remember that it's THEIR process, so it's still a work in progress. And we still don't know what all of the tables in the app are for, so we start whacking them until something breaks.

Our department (IT) digs its heels in one day and drags the main analyst and his manager over for a User Acceptance review, and we are told that they want to be able to relabel all of the stacks whenever the need strikes. You can imagine that this was never in the requirements - and you'd be right. The main analyst had told us that they'd never changed the grid layout before - but the new manager wanted this feature. And the label text of the stacks was required by the Converge operation in order to execute the converge logic for repositioning the plates in the stack being converged out of. We put this request on the software development backlog, but I made a deal with the supervisor: You define the details of the Converge operation - put them into your plate management system docs, if you want - and I'll give you an estimate of what it would take to enhance the application to do this.

Three years go by ... no Converge documentation, ergo no grid re-labling enhancement. Problem solved.

There's kind of a happy ending to this, in that I, with the occasional help of a contractor or two, delivered this app about a year late. And an even happier part was that we never got a service ticket on it that wasn't related to the data coming from the external IMS system. Several years, and no legitimate application errors.

There's also an interesting challenge for me, if I ever get bored in my old age. That late requirement to re-label the stacks (and presumably rows) could actually be implemented while retaining the proper functioning of the Converge operation. It would take several hundred hours, and might even require a home-grown business rules language, but I can picture it.

But I'm looking forward to the release of Diablo 4, so I probably won't have time. Too bad!

Monday, October 31, 2022

A Physical Universe

As an complementary explanation of the atheism that I adopted between the late '70s and mid-90s, I offer the following.

Sometime in the last decade, my nightime-just-before-falling-asleep revery became imagining the conditions of the early universe. That, or Jennifer Lawrence. One of the two.

When a non-believer like me starts to outline their reasons for non-belief, in my case, at least, it centers on the apparent fact that this is a physical universe consisting of physical things. That notional ontology can take you from considering that a wood table is real; 

...back though the table's stages of manufacture;
...back through the wood's parent plant's stages of physical growth;
...back through the plant's evolution from a eukaryote;
...back through the eukaryote's evolution from archaea;
...back through the appearance of self-replicating molecules and metabolism and lipid vesicles that precede the appearance of "whole" living things;
...back through the creation of the chemical (multi-molecular) precursors of these, both on earth, and previously in the universe as some of the hundreds of molecules that form in clouds between the stars;
...back to the creation of the first heavier elements in the hearts of supernovas;
...back prior to the time of last scattering (recombination) where the CMB emerges;
...back through initial "big bang" nucleosynthesis that created hydrogen, helium and lithium in the very first few minutes.

Back and back and back and back ... almost ad infinitum.

And all of it is on extremely firm observational and experimental ground.

That's a lot of detail supporting the idea that this is a physical universe based on protons and neutrons and electrons - and their constituents.

When you compare the above to arguments for the various supernatural world views, one wonders where these supernatural components fit in the universe.

All of the physical bits can be verified in most elementary and secondary schools, and most colleges and universities. But Thor can't, and there's the problem. Where is Asgard? Where did Odin come from? Why does a universe need Asgard and the Norse Gods for earth to exist? And Yahweh? Yeah, right.

I should leave this piece as-is, except that what got me started today, was considering the formation of the solar system and the planets. So we turn the clock in the other direction and go forward from big bang and creation of the earliest stars to the pre-solar nebula; to the spinning presolar disk; to that first fusion of hydrogen in Sol; then on to the accretion of the planets. 

From CE (Current Era) to 4.6 GYA, to 13.8 GYA. And back again. Assuming that between the time of last scattering (370k years after the big bang) to the creation of the first stars (100M years???) to the earliest supernovas and creation of heavier elements (110M years???) ... it may have been a billion years before there was sufficient quantities of heavier elements for the widespread production of the precursors to life. But that still leaves 8.2 billion years between then and the creation of the solar system. It may be that self-replicators and metabolism arose quadrillions of times in the universe before our planet formed. And its conceivable that protobionts  arise anywhere in the universe where red and yellow dwarf stars have rock planets orbiting them stably. Several hundreds of million years appears to be what's required for the simplest organisms - bacteria and the like. If our world is any indication, it could take 1 or 2 billion years to go from bacteria to prokaryote to eukaryote, and then on to multicellular life, most places in the universe where worlds like ours exist.

Thought-provoking.

Monday, September 26, 2022

It just might be a one-shot deal

Part 2 of answering to answering these questions from Dr. Michael L. Brown

Dr. Brown's questions are:

  1. Is Your Atheism Based on Study or Experience?
  2. Do You Have Purpose and Destiny?
  3. Does God Exist?
  4. Can Science Explain the Origin of Life?
  5. Have You Questioned Your Atheism?
  6. Are You Materialistic?
  7. Would You Be Willing to Follow God?

This afternoon's offering is #1 - Is Your Atheism Based on Study or Experience?

Both.

I grew up in a nominally Christian household, but my father was Lutheran by family tradition, and a non-participant in practice. My mother was Episcopalian by choice, so we children assumed that the Episcopal church was our flavor of Christianity. I did not have a fervent belief in God or Jesus until around age 21, when I became Born Again and joined a Four Square Pentecostal church. I aspired to be the best Christian I could be, and started by reading the New Testament word-for-word. So far, so good ... Jesus was the man. 

The next step was to get the background that (I assumed) only the Old Testament could give me, so I read that word-for-word as well. This is where the trouble starts. To paraphrase Richard Dawkins (of whom I was not familiar until 25 years later), Yahweh was a reprehensible character, and his actions absolutely betrayed what fellow believers told me I should believe about him. How could Jesus represent this cosmic dick? It was time for a quick reassurance that Jesus was good, and that Yahweh was not that relevant to one's place in the world and potential salvation. So I reread the New Testament.

After reading NT, then OT, then NT again in fairly quick succession (8-12 months?), I stepped away to get perspective. Far away. It would be another ten years before I would reconsider my rapid conversion, then deconversion. 

In brief, Round 2 was circa 1985, and included another reading of OT, then NT in fairly crisp order. I may have had a little outside study - it would have been only about who wrote the Bible, and when, but it did not reaffirm my earlier faith that God exists and that Jesus would save my soul.

Round 3 was mid-1990's, and occurred after I had gotten married. Same result as mid-90's, added by more internetz to highlight some of the issues (problems) such as the Synoptic Problem. I don't know that my wife ever knew about any of this until the last 10 or 15 years. She, btw, was never a believer, but neither did she consider herself an atheist. She just saw no reason for belief.

Round 4 was circa 2011, OT then NT again, and included an on-line Bible study group of both atheists and believers. I also took on-line courses (Yale videos, Great Courses CDs) and still more independent roaming the internetz.

That is it for me. There will be no more agonizing re-appraisal of religious beliefs. The idea that this is a physical universe behaving in accordance with observed "laws", and contains nothing supernatural, does not trouble me. To quote the great philosopher Frank Zappa, "it just might be a one-shot deal".

I can be wrong about some or all of this, but I don't think so. I don't see a reason to waste time on worry.


Questions about atheism.

 I ran across a tweet in my Twitter "Thinkers" list that got me thinking. Darn the luck!

A response by @RealAtheology (here)  to some questions by @DrMichaelLBrown got my blood going, and serves as an excuse to continue the train of thought that I left at the station in 2016 (here)

Dr. Brown's questions are:

  1. Is Your Atheism Based on Study or Experience?
  2. Do You Have Purpose and Destiny?
  3. Does God Exist?
  4. Can Science Explain the Origin of Life?
  5. Have You Questioned Your Atheism?
  6. Are You Materialistic?
  7. Would You Be Willing to Follow God?

Although no one asked my opinion, I'll consider question 3 to be "Does God Exist?", and touch on the others in another post soon.

Since I can't say definitely that God does or does not exist, I'll consider it as a evaluation of my belief that the proposition "God Exists" is true.

First, I use the term "belief" as meaning "a state or habit of mind in which trust or confidence is placed in some person or thing". Specifically "a state of mind in which confidence is placed in some thing" ... the "thing" being the proposition that God exists.

Assuming that absolute knowledge is not possible, and that absolute certainty is thereby not possible, I end up establishing a credence value in the range 0.01 to 0.99, much as you might see a probability value expressed for some scientific topic. Mind you, I don't do this every day. Ninety-nine point nine-nine-nine percent of the time, "credence" and "probability" are just not things that pop into my head.

So, about that credence.

For this post, I presume God to be the omniscient, omnipresent, omnibenevolent, omnipotent creator of the universe and judge of all mankind. Let's examine only what the "creator of the universe" part means. First, if I accept that Genesis is notionally worthwhile as a starting point, God exists before the world does. That presents us with a puzzle, since we have to presume there is a realm occupied by God in order to perform the work of creating the heavens, the earth and all of creation. Taken literally, Genesis 1:1 through 1:31 doesn't reflect what humanity knows to be the case. What do we do?

It's here that I might estimate whether Genesis through verse 31 has a high likelihood of being true. It's helpful to have some other benchmark that can be used for comparison, so that, for example, claim A.1 can be said to be more or less likely than competing claim B.1.

Let A.1 be "In the beginning God created the heavens and the earth.". Then let B.1 be "The universe expanded from an initial state of high density and temperature."

Claim A.1 has as a prerequisite that there be a thing called God, while B.1 requires that there be space-time, matter and energy, and the physical laws that describe the interaction, structure and behavior of these. Right off the bat, we are presented with the bare assertion that God exists, in order to get to Genesis 1:1, the creation of the heavens and the earth. Likewise, the believer should ask, why is the pre-existence of "space-time, matter and energy...etc"  any more plausible? In both cases, you need a starting point.

At this point, you could make the claim that God is a simpler proposition than "space-time, matter and energy, and the physical laws that describe the interaction, structure and behavior of these" - thus Occam's Razor tells us God is a better starting point. But that's a gross over-simplification of God.

If we're being fair, claim B.1's prerequisites are also at question. Where did they come from? The main Big Bang models (the expansion of space; particle horizons; thermalization) do not make claims as to the provenance of the Big Bang prerequisites, but they can be observed and measured so that we can verify that they pertain in all cases. Can we put God on that same footing? Let's try.

Given that the prerequisites for claim B.1 are assumed to be real because they can always be verified under close examination, can we then make the claim that "God is assumed to be real because it can always be verified under close examination?"

This is where we run into a problem. For someone that conceives of reality as space-time, matter, energy and physical laws that describe them - no corresponding description of God - that I can find - is testable and would yield a confirmation. It sounds labored and dismissive to say, but proponents of God's existence never walk over to a window and point to God  directly. They never point to a flower and say God made that, and here's how. They never hop into a car and drive you to an institute of higher education and sho off the observations that could lead us to verify God's existence. Yet, you can go to a biologist and ask them to describe how the flower germinates and blooms, how it propagates for reproduction so that its species can persist. They can describe the chemistry that is required to perform these activities, or can defer to chemists who can explain the chemical activities in detail. The chemists can refer to the physics that describe how chemicals come to be, and cosmologists can then describe how the elements and molecules, monomers and polymers come to be so that chemical processes can take place. Cosmologists can also describe how the structures of the universe - stars, galaxies, planets, comets, asteroids etc. - come into existence. All of this can be traced back to a hot dense state in the universe some 13.8 billion years ago. 

So you can "net it out" by comparing the two claims and how well they explain the features and behavior of the universe. Claim A.1 relies on God, whose existence is more or less proposed in the Hebrew Bible, and assumed to be true by Hebrews, Christians and Muslims. God is assumed to be responsible for, or a participant in the narrative put forth in the Old and New Testaments and the Koran. You can somewhat infer what God is and what his leanings are by the writings in these books, but it is neither accurate, precise nor consistent in the way that a description of a chemical process (derived from claim B.1 and its results) is.

On this basis alone, I feel that God - as described in the Bible - very likely does not exist.

Hello World - 2022 version

I've spent more than six years not blogging. Is "not blogging" an activity that one can be said to spend time on?

One of the things I noticed this morning (Monday, 9/26/22) is how good it made me feel to consider a topic, draft an outline, and fill it out so that it says (what I hope is...) what I intended when I first conceived it. I'm a little rusty, but we'll see how it turns out.

Post #2 in this decade ... coming up shortly.

Sunday, July 24, 2016

Validating God - for Dummies

I, the believer, get to define God.

Not completely, but I take what I have heard from my parents, my siblings, the kids in the neighborhood, and my Sunday School teachers, and I fashion a mental picture of God that may - or may not - resemble other concepts of God that others may have. Does my God-Concept match the one in the Bible? Maybe a little, but I’ll discover decades later the problem with that. Does my GC match the God of classical theism? You must be kidding! I won’t know what that is for another 30 or 40 years.

If and when I try to validate my GC against reality, you can imagine what I’ll come up with. If there’s a "Standard", mine won’t be it. Regardless of how far my God-Concept deviates from some norm, if I want to be justifiably confident of my GC, I should frame it as a hypothesis that can be compared against the real world to assess its validity.

As a bonus, developing a justificatory argument that defends my view of the proposition “God exists” prepares me to win hearts and change minds should I ever bring it out into public to debate a dissenter, and also helps me to identify gaps, weaknesses and outright flaws. Who knows, I might have to modify or discard some or all of my GC and adopt a new one that provides a better explanatory framework!

Now, where do I start? How can I test my God hypothesis against the real world to verify its plausibility? I’ll start with something accessible to me, like how often God answers prayers. Granted, this ability is not explicitly embodied in a “classical” definition of God, but seeing as how I don’t expect to see her, him, it as a physical person, the answering of prayers is the closest the lay person can get to detecting God's existence.

So ... I pray. And sometimes my prayers are answered - HALLELUJAH! But if I’m honest with myself, is it an expected result? Should I expect that a prayer is answered on occasion? Could there be a simpler explanation? Of course, so let’s try something tougher - let’s try praying for an amputee’s limb to be restored. And - as we know - this never happens. It. Never. Happens. So we have a negative result on our test of the hypothesis that God answers prayers. But there’s a snappy rejoinder to this disconfirmstion of God’s existence, the ever-useful “But God works in mysterious ways”. And the counter to that inane bit of apologia is that you’ve just declared God to be an unreliable subject for observation. Which means we can’t know anything about her. Which means we don’t know if God has our best interests in mind. Or which means we don’t know whether God is interested in us at all. Or which means God could be a trickster, or evil, or not there at all, because when we declare “But God works in mysterious ways”, we’ve pretty much ruled out any hope of doing more than speculating. So maybe we should shut up a while.

While there is lots more to be said here, I’ve summarized my initial thoughts on validating my (hypothetical) God-Concept. Keeping in mind the problems of reliability in going from a real-world occurrence to a human perception, to a human interpretation and eventual rationalization, you can see how many hurdles we face when trying to justify that the God that you (or I) believe to be real actually exists

Saturday, February 20, 2016

A Natural Model of the Universe

I was reminded by SecularOutpost about a paper from Physicist Sean M. Carroll titled Why (Almost All) Cosmologists Are Atheists.

I’ve reread the entire paper twice in the last several days because I admire what Carroll says AND how he says it. One paragraph has always jumped out at me. Read it for yourself below, then I’ll explain why.

The essence of materialism is to model the world as a formal system, which is both unambiguous and complete as a description of reality. A materialist model may be said to consist of four elements. First, we model the world as some formal (mathematical) structure. (General relativity describes the world as a curved manifold with a Lorentzian metric, while quantum mechanics describes the world as a state in some Hilbert space. As a more trivial example, we could imagine a universe which consisted of nothing other that an infinitely long list of ”bits” taking on the values 0 or 1.) Second, this structure exhibits patterns (the ”laws of nature”), so that the amount of information needed to express the world is dramatically less than the structure would in principle allow. (In a world described by a string of bits, we might for example find that the bits were an infinitely repeated series of a single one followed by two zeroes: 100100100100…) Third, we need boundary conditions which specify the specific realization of the pattern. (The first bit in our list is a one.) Note that the distinction between the patterns and their boundary conditions is not perfectly well-defined; this is an issue which becomes relevant in cosmology, and we’ll discuss it more later. Finally, we need a way to relate this formal system to the world we see: an ”interpretation.”

Back when I stopped being Christian in the ’70’s, I still retained this slight suspicion that reality still contained some supernatural aspect. Years later, as I tried to assemble a somewhat accurate picture of reality, I backed in to the idea that the universe that I can observe consists of space and time (later, “spacetime”), matter and energy, and exhibits behaviors that could be observed, and could help me to validate my mental picture of it. Naturally, I tried to imagine where supernatural things might fit into this picture.

I once thought it obvious that there could be only a few ways to reconcile the supernatural with the natural. 1) the supernatural is the framework upon which the other things rest. 2) we exist wholly within some supernatural environment. 3) the supernatural is separate, but somehow meaningful in ways that are unclear. 4) we - and the universe - ARE wholly supernatural, and we just don’t recognize it (Or refuse to acknowledge it). Clearly some of these ideas overlap, but that’s what I can recall.

Once I had my framework for thinking about the universe to validate my (4) suspicions on what the supernatural might be, ideas of supernatural agency in the universe started to drop by the wayside. By the start of the new millenium, this informal process was complete - I was functionally - if not consciously - atheist. So what’s that have to do with Carroll’s paper?

When I read Why (Almost All) Cosmologists Are Atheists a few years ago, it validated the approach I had taken to arrive at a naturalistic world view. The specific paragraph that I quote above, although more eloquent and more complete than I was thinking, essentially turns into this for laypeople like me:
  1. describe what entities there are in your system
  2. describe how they behave
  3. define the extent of the system
  4. compare your model to reality and articulate it for review

Easy as pie!