Log in | Sign up

  • 0 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: January 22nd, 2024

help-circle

  • Absolutely. It’s just that less fuss is being made about it on hacker news because the cool kids say you’ll be a better programmer in other languages if you learn rust when they used to say that you’ll be a better programmer in other languages if you learn haskell.

    With stack (consistent package version snapshot database based project starter and build tool) instead of cabal, you get the transferable and repeatable build benefits of docker with none of the hassle. Just stack new at the start and stack build or stack repl during development. Nothing gets bitrotten any more.











  • The side project is safe from managerial interference. At work though, nothing is functional. Well, boss always claims we’re combining the best of the functional programming world and the best of the object oriented world and the best of the agile world, but what he means is we can have as many buzzwords as he’s heard at conferences as long as we’re prepared to ignore the actual principles and do it the way we always did it. Give him is due, he is not an unreasonable man and will actually support you and listen to sense, but he’s absolutely not interested in fundamental change.


  • You reminded me of a guy who’s always banging on about how Elm combs the spaghetti in your source code for you and the meatballs and sauce are only mixed in at compile time. He says object oriented programming is like threading the pasta through the meatballs which is OK before anything’s cooked but after that it gets too soft and entangled and the spaghetti won’t thread through so you start again rather than refactor. It was a compelling image and got me curious.

    I used it for the second rewrite of a side project WebApp a couple of years ago, and I it felt like I had to do everything from scratch by hand all the time at first, but I have to admit that maintenance has been an absolute dream compared with the old codebase. New features, changed functionality, it’s always good and you don’t need to reunderstand everything because it’s all so separated and I told him he was right. It writes the css for you and I kid you not, I did not miss that flakey nonsense one bit.

    Our boss is shit scared of anything even a little bit different, though, so he noped out hard when he saw the syntax and got all shouty about all the whitespace and arrows on the big branching statements before launching into a sermon about how you can’t have a corporate look and feel unless you use css. I lost quite a lot of respect for him that day.

    Our code at work is so like the bottom picture. You have absolutely no idea whether you just filled someone’s underpass when you build another bridge over the top and sometimes you just have to kill the whole branch you’ve been working on because adding a f*ing overhead sign collapsed seven other things and no matter what you try, you can’t undo whatever it was that collapsed. I swear, one day we’re going to find that someone accidentally nuked twelve routes six months ago and there’s nothing anyone can do about it any more.








  • UTC exists as a historical compromise because the British felt that GMT was the bees knees and the French felt differently. The letter order is most definitely a compromise between French and English word order. You can call it Universal Time Coordinaire.

    Historically, GMT became the international time reference point because the Greenwich observatory used to be the leader in the field of accurately measuring time. It probably helped that the British navy had been dominant earlier and lots of countries around the world and across time zones had been colonised by the British.

    UTC is an international standard for measuring time, based on both satellite data about the position and orientation of the earth and atomic clocks, whereas GMT is a time zone. Nowadays, GMT is based on UTC not independent telescopic observation.

    What’s the difference? You can think of a time zone as an offset from UTC, in the same sense that a 24h clock time is an offset from midnight. GMT = UTC+0.

    Technically, UTC isn’t a valid time zone any more than “midnight” is a valid 24h clock time. UTC+0 is a time zone and UTC isn’t in a similar sense that 00:00 is a time in 24hr clock and “midnight” isn’t.

    Of course, and perfectly naturally, I can use midnight and 00:00 interchangeably and everyone will understand, and I can use UTC and UTC+0 interchangeably and few people care, but GMT = UTC+0 feels like the +0 is doing nothing to most eyes.

    Fun fact: satellite data is very accurate and can track the UTC meridian independently from the tectonic plate on which the Greenwich observatory stands. The UTC meridian will drift slowly across England as the plates shift. Also, the place in the stars that Greenwich was measuring was of by a bit, because they couldn’t have accounted for the effect of the terrain on the gravitational field, so the UTC meridian was placed several tens of metres (over 200’) away from the Greenwich prime meridian. I suspect that there was a lot more international politics than measurement in that decision, and also in making the technical distinction between UTC and GMT, but I’m British, so you should take that with a pinch of salt.