• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

State of the Market

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by sadkingbilly View Post

    got wrong techs then, or windoze DCs
    What I see happening here is that 'we' are reduced to in-fighting, be it about technical skills, nationality or whatever. It's not nice and it's not helpful.

    Our challenge is that with no credible government willing to invest in the UK to rebalance and grow our economy it's becoming 'every man for himself'.

    We're being punished by successive governments' policies aimed at supporting their favoured skakeholders to the detriment of UK workers. Half a century ago it was manufacturing and heavy industry. Later is was utilities (read essential public services). Time moved on and it's been our turn for a while now. There's a pattern here ...

    Government policies set the basis for costs in the economy. They've driven out business and they're driving out people. Even if we had an election tomorrow, I don't see any party with the vision to make the levels of investment necessary, rather we'll probably just have more rent-seeking privatisation, driving up our costs (and taxes) in a spiral of decline.

    There are probably only two camps; those with the skills to survive and those with the funds to opt-out. Certainly there's no point holding out for better days; they're behind us.

    Comment


      Originally posted by sadkingbilly View Post

      i don't do applications.
      It's not about applications. It's about efficient use of COBOL. Or if that's too difficult, it's about lateral thinking.
      Blog? What blog...?

      Comment


        Originally posted by malvolio View Post

        Nor should you. We use the skills we have to their best effect. obviously. On occasion I'm tempted to dig out my old ANSI 74 COBOL skills and see how I get on*!

        Just acknowledge that all the other skills are no less critical. We're all here to service the business, after all.


        Nice challengefor us oldies. Write a COBOL subroutine to test for leap years up to year 9999. You can't use a DIVIDE statement. Or a number 4...
        Sorry, but I expect that when I propose a solution that doesn't use the DIVIDE statement nor a constant of 4 you'll say it's wrong and drip feed in some other requirement that fits only the answer you came up with.

        Not my first rodeo.

        Comment


          Originally posted by Dorkeaux View Post

          Sorry, but I expect that when I propose a solution that doesn't use the DIVIDE statement nor a constant of 4 you'll say it's wrong and drip feed in some other requirement that fits only the answer you came up with.

          Not my first rodeo.
          No, its a real problem i had to solve in the 90s - write a reusable subroutine to apply across a suite of complex real time applications to validate if any given 4 dhigit year was a leap year or not. The inout parameter was a four digit number, the output was a simple Yes/No flag.

          Other requirement was to be as memory efficient as possible while using COBOL features.

          There is more than one answer, but no need to code it, merely work out a high level solution.
          Blog? What blog...?

          Comment


            Originally posted by malvolio View Post

            No, its a real problem i had to solve in the 90s - write a reusable subroutine to apply across a suite of complex real time applications to validate if any given 4 dhigit year was a leap year or not. The inout parameter was a four digit number, the output was a simple Yes/No flag.

            Other requirement was to be as memory efficient as possible while using COBOL features.

            There is more than one answer, but no need to code it, merely work out a high level solution.
            Ah - and there in lies the problem faced by a number of banks when we were testing for Y2K problems. The year 2000 wasn't a leap year (every 400 years it skips) ...

            Would have cost a lot of money if we hadn't caught it.

            Comment


              Originally posted by malvolio View Post

              No, its a real problem i had to solve in the 90s - write a reusable subroutine to apply across a suite of complex real time applications to validate if any given 4 dhigit year was a leap year or not. The inout parameter was a four digit number, the output was a simple Yes/No flag.

              Other requirement was to be as memory efficient as possible while using COBOL features.

              There is more than one answer, but no need to code it, merely work out a high level solution.
              See, now there are more details being revealed.

              So input a 4-digit number and return a Y or N.
              How exactly do we measure memory efficiency? I don't run a mainframe, and different compilers/linkers/platforms have different ways of using memory.
              The DIVIDE statement is very inefficient of course, but avoid 4? Why?

              Were I to take a first crack, I might use the MOD function, and add 2 to a variable twice. See what I did there?

              Comment


                Originally posted by malvolio View Post

                It's not about applications. It's about efficient use of COBOL. Or if that's too difficult, it's about lateral thinking.
                don't do COBOL.
                (apart from installing and maintaining compilers)
                He who Hingeth aboot, Getteth Hee Haw. https://forums.contractoruk.com/core...ies/smokin.gif

                Comment


                  Originally posted by Dorkeaux View Post

                  See, now there are more details being revealed.

                  So input a 4-digit number and return a Y or N.
                  How exactly do we measure memory efficiency? I don't run a mainframe, and different compilers/linkers/platforms have different ways of using memory.
                  The DIVIDE statement is very inefficient of course, but avoid 4? Why?

                  Were I to take a first crack, I might use the MOD function, and add 2 to a variable twice. See what I did there?
                  It's an old solution to an old environment problem. The mainframe in question had 32Kb virtual memory to play with an roughly a fiftieth the CPU power of a modern PC. Lines of compiled code output and memory utilisation were quite important.

                  But it is actually an exercise in binary arithmetic... Not something that troubles modern coders.
                  Blog? What blog...?

                  Comment


                    Originally posted by malvolio View Post

                    It's an old solution to an old environment problem. The mainframe in question had 32Kb virtual memory to play with an roughly a fiftieth the CPU power of a modern PC. Lines of compiled code output and memory utilisation were quite important.

                    But it is actually an exercise in binary arithmetic... Not something that troubles modern coders.
                    In that case, I would probably use assembler language, not COBOL.

                    To avoid division (D is available in IBM 360 assembler, but not effiicient) I might:

                    a) Subtract 4 from the number repeatedly until either 0 or -ve
                    b) Subtract 100 from the number repeatedly until either 0 or -ve
                    c) Subtract 400 from the number repeatedly until either 0 or -ve

                    if a is 0
                    ..if b is 0
                    ....if c is 0
                    ......return Y
                    ....else
                    ......return N
                    ....endif
                    ..else
                    ....return Y
                    ..endif
                    else
                    ..return N
                    endif

                    .. and of course for efficiency you could delay calculations b and c by placing them within the nested if statements.
                    So only execute b if the first if statement passes, etc.
                    Last edited by Dorkeaux; 17 October 2025, 10:03.

                    Comment


                      Originally posted by Protagoras View Post

                      For those like me, "Service the business" is simply a means to an end.

                      The main objective is to extract maximum personal revenue for the minimum effort while hopefully enjoying it a bit.
                      I almost typed the same response but held back! I must be losing my greed factor in my old age!

                      Comment

                      Working...
                      X