What are you coding?

That Lotus/Excel oddity caused me no small amount of headaches during my PhD…

1 Like

Dates and times are a nightmare, yes!

That one is a relatively reasonable error.

I protest their definition of “programmer” at this point. After all, I can throw some paint at a canvas, but that doesn’t make me a painter.

2 Likes

I was expecting, after “a leap year happens every four years”, to see “except for years ending with 00”. (Yes, I did Y2K work.)

Every now and then I hear someone suggesting that, because nothing terrible happened, Y2K was just a lot of fuss over nothing. As if people hadn’t spent considerable effort to achieve that outcome.

2 Likes

Today I learned that some climate models assume that every month has 30 days (no I don’t know why). This is upsetting our Devs and amusing me enormously.

4 Likes

Perhaps. But I do remember my friend in college freaking out about Y2K just before New Year’s, thinking everything was going to come crashing down, seeming to completely ignore the fact that companies had been working to prevent anything bad from happening for quite some time. My friend, who was going through the IT program with me.

I’ll give you two guesses as to who was right about the issue. :wink:

1 Like

Top search result:

1 Like

There were a bunch of real failures a few years (okay, often 20) later, when the people who decieded that a window was the right thing ran out of window.

Too bad Bowie never did a song about that.

I am in a state of whoosh.

1 Like

laziness. (if we’re honest)

I used to work on a product that did resource scheduling. When I started, the test suite was littered with tests that made thèse kinds of assumptions. They worked 98% of the time, and would fail because the test started at 2:59:55, and rolled into 3:00. Or whatever the boundary was, hours and minutes, mostly. the day rollover bugs we didn’t see too much, because of when we ran tests. I spent a month cleaning up 500 or so of them . Some got fixed, some had to be run with fixed starting times.

2 Likes
  • I am writing Integrationtests this time. I keep forgetting that to test the “fixed” code, I need to redeploy. Duh.

  • when you don’t specify stuff before, you get a stack of “omg we should have thought of that” realizations that keep you reworking the same few statements over and over and over. So glad I suggested we use unit-tests as a kind of spec.

  • really grateful for modern IDEs having a “local history” after I messed up with git once again. Local history ftw! (obviously only needed by idiots who keep uncommitted changes somewhere on their harddrive or people who aren’t using version control properly. both → me)

2 Likes

Is that the beautiful sound of test-driven development I hear? :grin:

4 Likes

By necessity, because documentation is not structured enough in this project and due to the “agile” nature of the project, requirement tracking is a bit “fleeting”. It all works fine most of the time. But we had a major refactoring recently that changed a few substantial things that ripple through the supposedly “unchangeable” external interfaces (1) and now the easiest way to lock down the way things are supposed to be is to write a test. Or rather a bunch of tests.

(1) these are versioned interfaces I want to add and these are the legacy versions that really aren’t supposed to change. That’s why there is interface versioning in the first place so older versions can remain stable.

1 Like

Which is exactly what tests are for. I am currently dealing with a data thing that changed, did not get noticed in test, and broke a consumer of the data thing (or rather, a consumer of the archiver of the data thing). Annoying, and I’ll write a bunch of tests to keep it from happening again. (which it won’t, because it’s likely data thing will go away soon. Unless it doesn’t.) I also need to write some other tests, but the mocking there is so fucking awful I don’t want to.

3 Likes

Something hideous involving databases?

2 Likes

We get a stream of data from a bunch of entities, representing the states and transitions of those entities. We have filters that figure out what parts of that data are interesting. the filter passes it off to a data service, which keeps it in memory to represent the current state of the environment so various things can look at it instead of having to go query the entities (which are numerous and on six continents) to decide what they should do. Additionally, that data is stuck into a persistent database, so things can do things they do to databases. Someone add some fields to one of the entities we keep in memory. That broke putting them into the database, which broke some of the things that look at the database.

TL;DR: probably.

2 Likes

I had some spare time at work this week, and I saw email telling us that the staff directory has a new API… so now it has an Emacs interface too :‍)

It’s a bit rudimentary, but you can search for people and bring up their details, and follow links off to related URLs, so it’s definitely useful.

Quite satisfying.

3 Likes

org-mode made the rest of emacs worth putting up with. :slight_smile:

2 Likes