Did they just re-design their website and removed the login button? I cannot find it, and I'd like to access the eBooks I paid money for.
Are they running some A/B tests and I'm keep getting the same version?
One issue I have with CLRS is that array indices usually start at 1, but sometimes they use 0, because it works better in that particular case. Some functions I used in Erlang (lists:sublist/3, lists:nth/2) use 1-based indices, too. I thought that 0-based array indices (and exclusive upper bounds) were quite a done deal in computer science (https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E...).
> Python has some functional capabilities, but in my experiences with Python devs, those are little used and even shunned.
I like to use things like filter, map, reduce or list comprehensions, but I see very few of those in my coworkers' code bases.
When Python introduced pattern matching, it was rather a pattern-aware switch/case, which does not return a value, as such a construct in a functional programming would do.
> I went from Ruby to Elixir, and even with my basic Clojure experience, it was an effort.
I tried out Elixir twice so far, and since the last time, I worked through 300 pages of SICP. I still have to twist my mind when I'd like to process nested maps or the like in Elixir now.
> It was worth it, but I think the apparently similarity of Elixir to Ruby is actually a negative.
However, Ruby provides a lot of higher-order functions, such as group_by and the like. If you're used to functional-style Ruby code, the transition is easier.
One pattern I noticed in the workplace: People are mocking things like LISP, Haskell, or Erlang, but get a hard-on when their bread language (e.g. Python) introduces new syntax for, say, pattern matching (rather a pattern-aware switch/case, because it isn't an expression).
I hereby publicly announce that I use Arch Linux. I really do so for more than five years now, and I'm not thinking about switching. OK, maybe to OpenBSD for a change now and then.
PS: Did I mention, that I use Arch Linux?
PPS: Did I mention, that I'm thinking of switching to OpenBSD?
PPPS: OK, back to Arch Linux, I'm not tough enough for OpenBSD.
PPPPS: Did I mention that I'm back at running Arch Linux, by the way?
Brad Fitzpatrick stated in one of his talks, that a version of Go coming with generics will be called 2.0 eventually. Maybe they do the version jump if there are backward-incompatible changes done to the library in 1.19.
When I read Dostoevsky's "Crime and Punishment" in school, I mentioned to my teacher that the investigator reminds me of Columbo. I only remember my teacher answering me, that Columbo is one of the few crime series to be of good quality.
Almost fifteen years later I read this:
> “The Columbo character was based squarely on Porfiry Petrovich, the astute but meandering lead investigator in Dostoevsky’s Crime & Punishment.”
When you read the entire section of the book, Martin claims that those tests main purpose is to serve as a normative documentation. The developer can read the test case and then figure out what was meant to be programmed.
While it might be illuminating in some cases, it might be not helpful or either misleading in other cases.
It's like arguing that the main purpose of magazines is to lit a fire with them, because some of them are very flammable.
Tests are good to ensure that some property of the system that held true before still holds true after some modifications to the system has been made.
This (my) little rant is of course hyperbolic, but I tried to make two points:
1. The actual specification is sometimes better reflected by the implementation than by some test cases.
2. Some test cases don't help you understanding what's supposed to be computed.
Of course, counterexamples could be made. Imagine a board game with a test function testing specific moves. Those test cases will help you understand the implementation a lot.
Ironically, our company started using Codecov as a measure to improve security. I don't know how far a high code coverage correlates to a secure code base, but the security incident certainly had adverse effects.