Haskell salesman: *slaps roof of
Traversable t => t a* the typeclass doesn’t give you any a priori guarantees of how many
a you can fit in this bad boy
Haskell salesman: *slaps roof of
The thing I like least about doing Python code reviews is feeling like I’m the static analyzer. Like, I have to make sure that variables aren’t used before they’re defined, because otherwise the code will be merged, deployed, and run before Python itself will complain.
The adoption curve for oppressive technology goes: refugee, immigrant, prisoner, mental patient, children, welfare recipient, blue collar worker, white collar worker (think, for example, of video surveillance cameras).
(Via Bruce Schneier, who says, “I don’t agree with the ordering, but the sentiment is correct.”)
I don’t have anything insightful to say about the children (and adults) we’ve locked in cages. I’ll just say this: it’s cruelty, plain and simple. It’s sadism without any possible justification or excuse. America is big enough for everyone who wants to be here.
“Circa 2016” is Latin for “I don’t actually know what ‘circa’ means.”
In his book The Shah, Abbas Milani writes about a lavish gala held in 1971 to celebrate the 2,500th anniversary of the Persian Empire:
Dinner was a six-course, five-hour extravaganza, created by the famed Max Blouet; much of it flown in from Maxim’s of Paris. It included fifty roast peacocks, “quail’s eggs stuffed with golden caviar, crayfish mousse, saddles of lamb.” The only thing Persian on the menu was the caviar. The Shah, allergic to caviar, was served a vegetable instead.
Imagine even knowing whether you’re allergic to caviar.
The two approaches to pet ownership in Game of Thrones:
“They are literally my children.”
I’ve been using Nix on my Linux machines for a few days now. One of the things I appreciate already is that it keeps dependencies “hidden” (i.e., not on your
I had a problem at work one time because the company infrastructure was calling
getent and it turned out that some package I’d installed with Linuxbrew depended on some other package that provided
getent. Linuxbrew’s version was incompatible somehow, but it came first in my
PATH so the company thing was failing. What is
getent? I don’t know. I didn’t ask for it to be installed; one of my packages did. I like how Nix lets you pretend that the only packages present are the ones you explicitly asked for.
How many times have you overheard this conversation?
“Well, static types are all well and good, but we use tests to get those kinds of guarantees.”
“I see. What’s your test coverage like?”
“Oh, I don’t know, sixty percent?”
Oh my God, Kubla, you can’t just decree a stately pleasure-dome.
Always the bridesmaid, never the APT with Super Cow Powers
I’m writing a Haskell program. I am the only person who will ever use this and yet I’m spending 60% of my time wringing my hands about when I should be permitted to do IO.
When I make a command-line utility I tend to leave the extension off of the filename: “copy_xattrs” instead of “copy_xattrs.zsh”, for example. That gives me the option later to swap a shell script for a Python script (or a Python script for an executable, or whatever) without renaming the file. Ideally, this also means that I wouldn’t need to change any of the programs that call the utility.
Congressional Democrats have introduced a bill, H.R. 51, to make Washington, D.C. a state.
Subject to the provisions of this Act, upon issuance of the proclamation required by section 103(b), the State of Washington, Douglass Commonwealth is declared to be a State of the United States of America, and is declared admitted into the Union on an equal footing with the other States in all respects whatever.
Statehood is long overdue for Washington, and I don’t want the perfect to stand in the way of the good, but is it really a great idea for the new state to have “Washington” in its name? That’s going to make the Washington–Washington ambiguity even worse. The city is still going to be called Washington, right? Why not give the new state a new name?
It bums me out to see warnings like this in the Python documentation:
The full set of format codes supported varies across platforms, because Python calls the platform C library’s
strftime()function, and platform variations are common. To see the full set of format codes supported on your platform, consult the strftime(3) documentation.
One of the benefits of a cross-platform high-level language like Python should be that it insulates you from these kinds of vagaries. Unless a function comes from the
os module it should work the same whether it’s running on macOS, BSD, or a 5 MB Alpine Linux Docker container.