“The Dog Ate My Homework” Does Not Work for VEC

By Dick Hall-Sizemore

The Virginia Employment Commission has been inundated with unemployment insurance claims. Virginians seeking to file claims have been frustrated at not being able to get through to the agency with their questions and by delays in receiving payments.

All of this was the subject of a meeting and presentation to a Senate Committee on Tuesday as reported by the Daily Press. As has been speculated by Steve Haner in his comments on this blog, the Unemployment Trust Fund is in the hole. According to a presentation by the VEC to the Senate Committee, the trust fund balance has gone from $1.5 billion at the beginning of FY 2020 to a projected -$500 million.

None of that is too surprising. What did intrigue me, however, was an excuse often made by agencies — antiquated technology. A VEC spokeswoman explained that it was put into place in 1985.  As far as the VEC is concerned, that excuse will not suffice.

The 2004 Appropriation Act provided VEC almost $21 million to “upgrade obsolete information technology systems.” Two years later, the 2006 Appropriation Act included language authorizing VEC to utilize $51 million in federal funds “to upgrade obsolete information technology systems.” That identical language was included in every Appropriation Act since then. In a 2020 budget decision package submitted to the Department of Planning and Budget, VEC said that the upgrade “is scheduled to be completed prior to the end of fiscal year ending June 30, 2021” and offered to return $3.2 million of the appropriation.

There may be good reasons why it has taken VEC more than 15 years to upgrade its information technology systems. At the very least, VEC owes the General Assembly an explanation. Going further, JLARC should investigate this delay. Unemployed Virginians deserve better than a shrug and the modern version of “the dog ate my homework.”

There are currently no comments highlighted.

35 responses to ““The Dog Ate My Homework” Does Not Work for VEC

  1. Excellent article Dick! You did get the goods on them and it sure looks like they did fail to fix their system even when they got funding and now the chickens have come home to roost at the worst possible time!

    Why .. this sounds as bad or worse than VDH. You beat Jim S to the punch!


    • An institutional memory combined with the searchable budget database is a dangerous combination for sputtering bureaucracies….yep, good story, and thanks for adding the history to the AP report. I got a good laugh a month or so ago when I saw that many states were scrambling to find retirees who remembered COBOL.

      • The difference between a brand new 2020 Chevrolet and a 1970 Chevrolet, and a brand new 2020 State Accounting App and a 1970 State Accounting System is… Some of the parts in the 2020 Chevrolet were designed in 1970s, but none of them are parts from the 1970s.

        COBOL schmobol. Some parts of “new” computer systems were written decades ago and exist now only in a form that can be read only by the computer. Virtually impossible for a person to change it.

        • The “form that can be read only by a computer” refers to object code. A typical compiler, interpreter or assembler converts source code written by a programmer to object code readable by a computer. The only way to have systems written in a form that can only be read by a computer is to have lost the source code that generated the object code. Amazingly, it happens. When it does you use a decompiler or disassembler to reverse the processes of compiling or assembling. These tools read the object code and produce source code. The resulting source code is ugly with a capital “U”. For example, comments don’t compile so they are lost when the object code is decompiled.

          • Thank you, that’s helpful to a non-computer-scientist.

          • and actually, the object code gets further converted to machine level code then executes… they are called “binaries”.

          • Nancy_Naive

            You both win a cookie! Of the 3 cases with which I had familiarity, 2 were lost source and objects, only the executable binary remained. Those were run in virtual partitions. The third was an EPROM in a specialized piece of equipment (Navy). The contractor cleverly contracted to deliver only the hardware, no source. They went back to the company to upgrade and the company said, “Sure, but it’s gonna cost ya.”
            One of my cohorts, back engineered the code into Assembly for 1/100 of what the original contractor wanted and made the upgrades in half the time. They opted to leave it there rather than take it back to C or ForTran.

          • re: contractor gotcha – There is a role known as a Contracting Officer’s Technical Representative (COTR).

            His/her job is to write contract specs that specify the work products which should always include the source but the contractors are loath to do it for fear that the next contracting period – they’ll pick a different lower-bidding contractor.

            But even before then – good spec for the software – using style guides have to be specified or the contractor will write obtuse code only he/she understands…just as good as no source… 😉

            Then you have to hire someone else to look over the code and make sure it’s what it is supposed to be…

            Most organizations now have a Chief Technology Officer but back in the day, IT was a black art and management flew by the seat of their pants until something blew up then they would fire some IT folk and hire others just like them…. etc…

            Folks don’t realize that almost everything they touch nowadays from their phone to their car are all “software”.. Cars have multiple embedded systems in them…and each one is specific to that particular model configuration.

      • COBOL is not the worst of it. Often it means the hardware is something like an old IBM mainframe.

        I’ve watch our county assessment and tax and other offices come in fron of the BOS to get funding for “legacy” equipment then later come back for special “hires” of those that do COBOL.

        Many of the business processes themselves associated with “legacy” hardware and software are also obsolete and costly in terms of manpower and additional resources need because the core system can’t do it and replacement with new brings FUD and fear and loathing from the current staff who are just fine with job security

        • “Old IBM mainframes”. That’s a good one. IBM releases a massively updated mainframe design every three years. The last release (v15) came out in 3Q2019. You can buy either a Linux based mainframe or a zOS (IBM’s proprietary operating system) based machine. As has been the case since the migration from v1 to v2 your entire codebase will run without modification from one version to the next. Any government agencies running “old” mainframes are just another case of government not getting it.

          If all the IBM mainframes in the world stopped today we’d find out what a real sudden stop means for the economy. Banks, airlines, insurance companies, trains and much of the rest of the real high transaction, high performance world runs on brand new IBM mainframes.

          Where did scientists go when COVID19 first hit and they needs to crunch some very serious numbers?


          • If there is LINUX in it – it’s not an “old” IBM mainframe like the AS 400s.

            they look like this:

            Some still use tapes and floppies…

            IBM does build modern systems and it’s actually a testament to their expertise that some of their really old systems are still chugging along… but they no longer maintain them, it’s 3rd party folks… like you said – in India, etc..

      • As a person who once coded in COBOL (among other languages) I always laugh at this excuse. There is a huge embedded base of COBOL in production and lots of programmers maintaining that base. Unfortunately, they are almost all in India since legacy systems maintenance has been off-shored since the run up to the Y2K “crisis” in the late 90s.

        One of the startups where I worked used the Erlang programming language. It is very fault tolerant (the E in Erlang being for Ericsson who developed the language for use in its telecom devices). Erlang is also quite rare. I was convinced that we had a problem until I asked one of our top programmers how long it took him to learn Erlang. “5 days” was his response.

        Good programmers can learn new languages very quickly. The problem isn’t COBOL. It’s the years of mismanagement, piled up technical debt and spaghetti interfaces among the states’ legacy systems that make these dinosaurs hard to maintain. And there’s no quick fix for that problem.

        Any state that demotes its Secretary of Technology from the cabinet ought to just give up on doing ANY of its own systems development and maintenance. Virginia should outsource it all and pretend not to notice when the outsourcer takes the maintenance to India.

        • re: ” Good programmers can learn new languages very quickly. The problem isn’t COBOL. It’s the years of mismanagement, piled up technical debt and spaghetti interfaces among the states’ legacy systems that make these dinosaurs hard to maintain. And there’s no quick fix for that problem.”

          My language was FORTRAN. The business systems used COBOL. But we had what is known as embedded systems which actually run on a low level language – even what is known as machine code.

          So higher level languages run on separate systems but generate the actual code that runs on the embedded systems.

          Ok – so to cut to the chase – yes – there are connections between the HLL like COBOL and what machines it can run on and today, you’ll still find things like IBM AS 400 “mainframes” in some “legacy” shops that are that way because no one took any initiative to update them – it was too easy to leave them alone and IT folks were fine with that because it was job security and management was pretty ignorant of the systems, petrified of it –

          And to your point about sphagetti code – YEP – even though COBOL was specifically written to be “readable” it was easier to write obtuse code – if it had fewer lines in it and again, if it was your code, no one was going to fire you – and you knew better to train others “too good”!

          re: ” Any state that demotes its Secretary of Technology from the cabinet ought to just give up on doing ANY of its own systems development and maintenance. Virginia should outsource it all and pretend not to notice when the outsourcer takes the maintenance to India.”

          Even downstream of COBOL, it got worse when folks started putting computers on their desks and networked them.

          Managers and others did not understand that the configuration of the computer itself and it’s software were important to have standards.

          So you had folks using different word processors and sending to someone else whose word processor could not convert it – i.e. the word/wordperfect condundrum.

          The Navy and other DOD have taken runs at this over the years and one called NMCI ( similar in concept to Virginias effort) attempted to standardize hardware and sofware – as well as network and security configurations, etc.

          It was a long and arduous process with a lot of different little fiefdoms getting different kinds of waivers – but over time they eventually were forced to standardize because computing disasters would occur and heads would roll and the no-change types were sent away.

          We still have legacy systems in the country where I live – and it costs a bunch of money to maintain them but the BOS -half of which are retired military are not the right guys to fmake changes either so they just go along with it.

          Virginia/VITA has had a long and tortured run at moving to a standardized system – it’s a constant battle between the agencies who do not want to lose control of their systems to a separate agency.

          Of note is this: ” Top technology official out at Fairfax Schools, as fallout continues from online learning disaster”

          The longtime information technology chief for Fairfax County Public Schools is out of a job days after the district’s disastrous debut of online learning, according to a letter sent to staffers..

          Luftglass, who previously directed information technology for the American Red Cross, was at the center of the sprawling school system’s botched preparations for online learning over the past month. After two failed attempts, the district this week temporarily canceled face-to-face virtual instruction, announced it was moving away from its technology platform, Blackboard, and retained a law firm to conduct an independent review of the rollout.”

          No huge surprise – the Red Cross is NOT a school system – just totally different critters…

          • Nancy_Naive

            This is an example of the program flow that can be achieved by ForTran. It is almost literally a “come from” statement. DJ would love this. Hope he sees it.

            It’s called “return star”. It allows the subprogram to return operation to someplace in the calling program other than the calling line.

            When combined with the ForTran “Entry” statement, you can write incredibly efficient unreadable code.

          • Conditional branch statements based on some value or set of values… etc… but the bane of error conditions and leads to
            hours/days of pouring over data dumps.

            present in most all programming – and one of the reasons that Apple and Android try to put apps in sandboxes and prevent them from whacking the core OS.

            It’s not fun when your laptop or phone goes bonkers – but when a weapon system (or airplane or auto or xray/MRI) does it – fear and loathing…

            Much stricter style guide rules for these kinds of systems.

            almost everything we touch these days has embedded software…

        • Regarding your comment about removing the Secretary of Technology from the cabinet: that position was never needed. It had only one agency reporting to it: VITA . The VITA director was the real point person on technology; the Secretary was extraneous. So the state moved VITA under the Secretary of Administration and created a deputy secretary of admin position with a focus on technology. Makes a lot more sense.

          • so if Virginia has a cabinet level technology – what happened to the unemployment commission?

            VITA – like a lot of efforts like that is a constant battle to standardize systems and many agencies fight tooth and nail against it and heads roll.. sometimes on the IT side.

          • Old line and discredited management thinking holds that the only way to have a position of importance is to build a mountain of people working for you. This gave rise to the empire building of the 1950s and 1960s. Given that we’re discussing Virginia it is no surprise that this is still the philosophy in the 2020s. In a world where technology does more and more of the work it makes no sense to measure a position’s value by the number of people (or agencies) reporting to it.

            Burying technology under administration demonstrates a mindset that would be a red flag to any competent investor.

            Virginia’s inability to process unemployment benefits is a case in point. Years ago almost all computing was done on old style integrated hardware stacks using first and second generation languages. Time and well run private enterprises moved on into the modern world. Government largely did not. Why? Because well run private enterprises realized the growing importance of technology while governments did not. Of course private enterprises can’t send out armed agents to confiscate private property to make up for their incompetence. Government can and does.

            Northam and his ilk are members of the plantation elite. Like a real world version of Gone with the Wind they live in a pseudo-reality that existed decades ago. That’s how you get a grown man wearing blackface with a date in klan robes photographed in 1984. For Virginia’s plantation elite 1984 was 1944 when (sadly) wearing blackface and klan robes in public was considered acceptable humor. Now it’s 2020 and Virginia’s plantation elite thinks it’s 1980 (at best).

          • I thought DJ might enjoy this:

            ” Virginia Gov. Ralph Northam issued an executive order Tuesday requiring the state government’s agencies to shift their information technology services to cloud-based platforms. Under the order, commonwealth offices will be tasked with developing plans to identify locally hosted IT systems that can be migrated to a cloud provider over the next few years.” SEP 18, 2018

        • Erlang? My first language was APL. In 192 keystrokes of APL you could write a program of several hundred lines of COBOL. Of course, a week later you couldn’t understand what you’d done. What was the machine? PDP8. Oh wow, what a rush.
          First paying gig was on WANG 2200B in BASIC.
          Next was on an IBM 360 doing JCL. User’s manual? Hell better to take two tabs of acid and try to talk to god himself.
          Then, on to THE one and only CDC Star 100, and Cray-1. Fun.

          When I really wrote code, it was ForTran. Learned vi with caps lock on.

          Thank god for MatLab. I could stop programming for good, only writing proof of concept stuff, prototypes, and no one expected me to give it to them.

          • lots of familiar words..!!! 😉

            Code for general purpose computers is different than code for embedded computers especially if the computer is dealing with real-time sensors….like control systems for vehicles… etc..

            the computer and code have to be faster than the real time events!

          • JCL wasn’t that bad. But you had to understand the underlying infrastructure or what was the point? Most application programmers had no idea what it meant to allocate a file.

            COBOL’s verbosity was touted as a feature not a flaw. It was supposedly self-documenting.

            I never wrote in APL but did spend some time with RPGII. Everything was fine as long as “Report Program Generator” was used to … well …. generate reporting programs. Then came online capabilities with the S/34 and S/36. Using a report generation language to write online systems was great fun. I still sometimes wake up in a cold sweat wondering what indicators are on.

            But my all-time favorite was TPF – IBM’s Transaction Processing Facility. At the time (v2.3, 1980s) it was all S/370 BAL with no database support and fixed block object code and data – a glorious 4K for each. You want to store data? Write your own stinkin’ database! You want to debug? Get Step-by-Step Trace and walk through the execution one assembler instruction at a time while watching the contents of the registers. It was like being handed an axe in a forest and told to build a cruise ship. But a very fast transaction processor. I understand it is still widely used for airline reservations, train schedules and rent a car reservations. Of course, the OS now supports higher level languages, third party databases, etc.

            Only used ForTran (never saw it written like that but I get why) in college. Mostly for simulations before we were taught Simula.

          • Nancy_Naive

            Formula Translation. Taught Pascal for 3 years and never wrote a single line of code in it. First week was always spent teaching ForTran I/O to link in as an external so no one would commit suicide using putchar/getchar.
            Remember Ada? That was Pascal on bourbon.
            Ouch my head hurts.

          • FORTRAN is a mathematical programming language that is fundamental to many scientific fields. (developed by IBM)

            A LOT of modelling is done in FORTRAN

            For high levels of accuracy – it required 60 and 64 bit words that IBM did with the 7030 and Cray with it’s variants.


          • Nancy_Naive

            I always said, “I don’t know what the language of 2000 will look like, but it will be called ‘ForTran’.” I was wrong. ForTran-D killed it.

          • ” The original Aegis Combat System ran on proprietary UYK computers designed by the military, running proprietary software written in a combination of the Ada 95 and proprietary CMS-2 programming languages”

            “The TRIDENT Higher Level Language THLL is a procedure-oriented, block-structured programming language used for writing operational software for the TRIDENT Digital Control Computer and the MC68000 as well as support software for the VAX 11780.”

            There is no single programming language used in all missile or rocket guidance systems. Some development teams use Ada. Some development teams use C. Some development teams use C++.

            big difference between commercial software and military… error 404s are disappointing … errant missiles dead sailors, more so…

            modelling is a religion… and awards given for good.

            fun fun fun! 😉

          • Nancy_Naive

            Yeah, but trident software only has to run for 30 minutes.

          • sort of:




  2. So a couple of takeaways from the short set of slides. They say they’ve paid out $2 billion in just a few weeks. And for many of these people, thanks to that extra federal payment of $600 per week, disposable income is actually higher than when working. Expenses might be, too, but that money is what is keeping the stores full and the delivery trucks rolling. Normally unemployment is about helping individuals, but this massive transfer is macro economic stimulus.

    There is much not addressed in the slides that a real accounting should include. This was a “tell them as little as we must” presentation. How are the fed funds flowing in and out? Has Virginia applied for a loan for its main fund, and if not when will it? (Inevitable.) There is a gap between claims and payments – are those people still in process or people who were denied? (Probably some of both.) And when do employer taxes hike in response to this outflow, and how much?

    But I really like Dick’s question, too – why haven’t you done the promised upgrades with the money already provided?

    • Yes, Dick, I too agree, excellent reporting on important subject. Steve’s elaboration is right on target too. Such as this:

      “This was a “tell them as little as we must” presentation. How are the fed funds flowing in and out? Has Virginia applied for a loan for its main fund, and if not when will it? (Inevitable.) There is a gap between claims and payments – are those people still in process or people who were denied? (Probably some of both.) And when do employer taxes hike in response to this outflow, and how much?”

      All of this subject is pregnant with insights, and questions, concerns, and suspicions.

      For example:

      I’ve been surprised to learn how much Federal money now appears necessary to grease the wheels of State government’s functions. And now suddenly even to keep the State and its people financially afloat, even if doing so requires financial shell games, trickery, diversion, double accounting and the secrecy to do it. Like where did the biggest Federal Tax relief for Virginia taxpayers go? How much of this is now a chronic game in Virginia?

      This growing reliance on Federal dollars has been going on for a very long time. In my memory, Ike’s massive funding of the Interstate Highway System started in 1950s. This changed everything in Virginia, and I mean everything, from who got rich, who got poor, to massive corruption on many levels, land use being only one. Its been growing ever since, this increasing reliance on federal monies for ever more traditional state functions.

      Like state secondary and higher education.

      Like ever more key state roads (now interstates).

      Like hospitals, nursing homes, and all health care.

      Like scientific research done in States.

      Like environmental laws, and their enforcement.

      Now even criminal law enforcement is infected, and spreading jurisdiction of federal courts.

      Now too, as a direct result, there is growing evidence that, over time, this growing state reliance on Federal Funding and Federal enforcement of former state functions have in some cases eviscerated, and in many others have at least significantly, undermined the state’s capacity to govern, its infrastructure, its competence, and its initiative to solve state problems on its own, including the pressing problems of their citizens.

      Surely this is the case in Virginia. Witness VDOT’s well earned reputation for high competence that lasted for generations until recently.

      Now too we have a nursing home debacle, a Coved-19 testing debacle, a growing potential lock down debacle, a looming education debacle. Perhaps too an unemployment check debacle. To prove, this one need only look at the unemployment maps found here. The state is on fire, with the pain of its citizens flaring around the entire state from north to south, east to west: Look


      A collateral subject touched on here by Steve is the growing sense of corruption in state government. Like where are all these vast sums of Federal Dollars going? But the problem is now far deeper, as the same question must be answered by Virginia’s Colleges and universities, its health and nursing home care providers, its array of federally funded nonprofits and researchers, not mention its defense contractors. Suddenly we have a entire state seemingly at the beck and call of the Federal Government, a trend suddenly deepened greatly by this Coved 19 “crisis” that is wiping out much of Virginia’s small and mid sized private sector, that serves so many communities.

      No wonder Virginia’s Senators are under such suspicion as well, if only because the essence of their job is now primarily a money exchange game.

    • re: “… but that money is what is keeping the stores full and the delivery trucks rolling. Normally unemployment is about helping individuals, but this massive transfer is macro economic stimulus.”

      yep – all the recipients are , are “conduits”… some would rather get the higher amount of unemployment than return to work , perhaps – but the entire point of the money was for them to quickly spend it – to keep the rest of the economy from collapsing.

      Is it enough to last several more months? Nope.

  3. Yep, Dick, good post. By chance I was talking with a friend and colleague who somehow managed state payment when was furloughed from his regular job.

  4. VEC was advertising for COBOL-skilled help. Let that wash over you for a moment.

  5. COBOL?
    That’s like the old IBM selectrics we issued at The Pilot when I was a summer intern in 1973.

Leave a Reply