I'm looking for a job. I have 30 years of experience doing complex systems programming in many languages, most recently Typescript, Haskell, and Python. I learn quickly. I can do advanced mathematics.
In 2024 I helped a company migrate 15,000 customers from another company into their own systems.
In 2023 I helped develop a differential privacy database product written in Haskell.
Before that I helped develop a laboratory information management system that tracked up to 40,000 Covid-19 tests per day.
I live in Philadelphia, Pennsylvania, USA, but I have years of success working remotely, and I am also willing to consider relocation.
There's something about the stupidity of this dialog box that's so pure, but at the same time contains so many layers of stupidity, that it could only have been concocted by Microsoft.
Formerly, Philadelphia had a Taney Street, named for Roger Taney, former Chief Justice of the United States and author of the notorious "Dred Scott" decision.
There was agitation in recent years to change the name of the street. Apparently City Council agreed to do it back in November and I missed it.
The street will now be named after Caroline LeCount, the first Black woman to pass Philadelphia’s teaching exam. She was also the fiancée of voting rights activist Octavius Catto.
It appears that the first "LeCount St" signs have started to go up!
Here's my summary of the Dred Scott case, in case you don't know about that yet.
Dred Scott was a slave. His owner Sandford took Scott and his family to Ohio to help him with some business, then left him there for three years while Sandford returned to Missouri.
When Sandford wanted him to return to Missouri, Scott said no. He said that there was no slavery in Ohio, and therefore he was no longer a slave from the moment Sandford brought him there.
The case went to the Supreme Court. The decision, authored by Chief Justice Roger Taney, said essentially "No, fuck you, negroes are not citizens of the United States, and you have no rights whatsoever."
(Birthright citizenship is in the news lately. The 14th amendment contains a clause that says as briefly and plainly as possible that persons born in the United States are citizens. Dred Scott is the reason it is there.)
An argument can be made that that the Dred Scott decision made the U.S. Civil War inevitable. Previously, northern whites had been able to close their eyes to the existence of slavery, because it wasn't happening near where they were and they didn't have to see it every day.
But the Dred Scott decision destroyed that illusion. If a slaveowner from Missouri could bring his slaves to Ohio and set them to work, what could it even mean to say that Ohio was a free state? Even people in the north who didn't care about the moral issues had concerns about losing their jobs to slaves. What was there to stop a Missouri slaveowner from buying farms in Ohio and operating them entirely with slave labor?
“The decision of Scott v. Sandford, considered by many legal scholars to be the worst ever rendered by the Supreme Court, was overturned by the 13th and 14th amendments to the Constitution, which abolished slavery and declared all persons born in the United States to be citizens of the United States.”
@b0rk Have you seen `csh`'s "noclobber" feature? If you had `noclobber` set, then `cmd > file` would fail without erasing `file`, if it already existed. You would have to explicitly demand its clobbering with `cmd >! file`.
Hey, do you know about the `-o` option of `sort`? I guess it's about 90% likely that you do but if not I think you will find it tasty. I use it frequently.
My kids' schools never taught them short division, which seems to me a sad and odd omission.
The idea is that instead of doing the big hairy thing on the left you do the compact speedy thing on the right. The left-side technique should only be used when the divisor is bigger than the multiplication tables you have memorized.
The thing on the right is simple enough to do in your head, and particularly so if you only need the remainder and not the quotient. My kids were often mystified by my ability to divide in my head but it's just that I was taught a better algorithm than they were.
Interesting thought this morning. It started with: is 509 prime? So I started doing trial division. Dividing by 13 I found \(509 = 13\cdot 30 +119\) and 119 is not a multiple of 13, okay.
Now moving on to 17, I can quit immediately *without* dividing because I just saw that \(509 = 13\cdot 30 +119\) and 119 *is* a multiple of 17.
Another handy trick is, when checking if 509 is a multiple of 19, you do *not* start by dividing 509 by 19 getting 380 plus some yucky remainder. Instead you observe that 509 = 19 + 490 and 49 is not a multiple of 19 so you move on.
I only thought of this embarrassingly late in life.
An elaboration on this is that when factoring smallish numbers of the form \(n = 10k+1\) you will often need to test for divisibility by 7 and then by 13 in succession. But \( 7\cdot 13 = 91\) so instead of considering \( n\), consider \[𝑛−91=10k−90=10\cdot (k-9)\] and do both at once.
For example, instead of dividing \(5031\) by \(7\) and then by \(13\), consider \(503-9 = 494\) instead. This is evidently not divisible by \( 7\), but for \(13 \) you can see from \( 494 + 26 = 520 \) that it is a multiple of \(13\), and therefore so too was \(5031\).
The overarching trick here is (a) "short division" and (b) short division is usually taught left to right, but it works just as well right to left and you should use the one that seems easier.
To do \(5486\div 13\) it's easiest to go left to right: \[ 5486 \Rightarrow 286 \Rightarrow 26 \] aha we are done.
But to do \(4726\div 13\) it's much easier to to right to left \[ 4726 \Rightarrow 47\ne 39\] aha we are done.
@b0rk@simontatham It's a leftover from when video terminals were not universal. You would set `EDITOR=this VISUAL=that` to tell the system to use `that` if you were on a video terminal, and to fall back to `this` if you were on a hardcopy terminal.
I'm looking for a job. I have 30 years of experience doing complex systems programming in many languages, most recently Typescript, Haskell, and Python. I learn quickly. I can do advanced mathematics.
This year I helped a company migrate 15,000 customers from another company into their own systems.
Last year I helped develop a differential privacy database product written in Haskell.
Before that I helped develop a laboratory information management system that tracked up to 30,000 Covid-19 tests per day.
I live in Philadelphia, Pennsylvania, USA, but I have years of success working remotely. I can start January 1.