Blog

Most of these posts were originally posted somewhere else and link to the originals. While this blog is not set up for comments, the original locations generally are, and I welcome comments there. Sorry for the inconvenience.

Living Treasures Animal Park

We recently visited Living Treasures Animal Park, right off the PA Turnpike. It's nearby for us, but we'd never heard of it until we got a recommendation. It's a family-run cross between a small zoo and a petting zoo, with care for the animals being a top priority.

They have typical domesticated animals that kids (and others) can interact with. I call this first one "pet me!" and the second one "feed me!": Read more…

Does the God of Judaism accept prayer in any language?

A non-Jewish visitor asked: according to Judaism, can you pray in any language (and have it accepted), or must you pray in Hebrew?

My answer:

The general answer to your question is that Hebrew is preferable but you also need to understand what you're saying, so it's permitted to pray in other languages. (Ideally you are working to improve your Hebrew understanding along the way.)

More specifically: the talmud on Sotah 33a (and vicinity) says that the Amidah, the central prayer of the thrice-daily service, may be said in any language. Many rabbis (who I can't precisely cite, but Maimonides, the Rambam, is one of them) teach that intention in prayer is important; just saying words you don't understand does not fulfill the obligation. Whether you understand the Hebrew directly, have studied a translation and so know broadly what you are saying, or pray in a language you do understand, you need to mean the words you're saying.

Another core recitation -- not technically a prayer but a passage of biblical text, said morning and night -- is the Shema. There is some disagreement in the talmud about whether this biblical text must be recited in the biblical language (Hebrew); I don't know if it's settled there, but the Shulchan Aruch (Code of Jewish Law) in Orach Chayim 62:2 says that the Shema can be said in any language so long as you are precise in your pronunciation.

There are other fixed prayers; I would reason that if other languages are permitted for these "core" cases, then surely they must be for other cases too.

Everything I've said so far is about fixed prayers. Most of (modern) Jewish prayer is fixed texts, but people also pray from the heart, free-form prayer, both during the regular service and at other times. There is a discussion in the talmud (ibid.) about this; some say that the ministering angels (who are apparently involved in bringing your prayer to God) don't understand other languages, and others say that some angels do understand other languages and, anyway, God does. As a practical matter, I don't see how you could pour out your heart to God if you don't know the language, and I've never heard that one should abstain from these personal prayers for lack of language fluency. It is better to reach out to God than not.

As noted in a comment by dsr, what I've said here is the law for Jews. According to Judaism, non-Jews have a much smaller set of commandments, the seven Noachide laws, and they do not include a requirement to pray at all, let alone in a particular language. While there are parts of Jewish observance that are "reserved" for Jews (that is, Jewish law says non-Jews are forbidden to do them), prayer is not one of them. So non-Jews are not required to pray, may pray, and if so may pray in any language they understand, since even Jews can pray in any language they understand.

Survivors: new chapters

In the late 1970s there was a BBC series, created by Terry Nation, called Survivors. A devastating plague has ravaged the world, killing almost everybody; the show follows small groups of people who survived that only to have to cope with the new state of the world. I enjoyed the show (much later, when I came across it on Netflix), though it started to meander as time went on. (I later learned that Terry Nation had left the show after the first season -- probably related.) Later there was a remake of sorts, with some significantly different plot points. Both versions ended before being resolved.

Terry Nation wrote a novel, presumably the story he had intended to tell. I read the book during this current pandemic, and yes, it's a much tighter story than the TV show. I enjoyed it. It has an ending. I will not spoil it in this post (no promises about comments if you click through to the source).

A few months ago I learned that there was a sequel to that novel, not written by Terry Nation. Genesis of a Hero, by John Eyers, logically follows Survivors and shows other parts of this post-apocalyptic world. I thought some things in it happened too quickly and too tidily, that real people are more complex than some of the ones we saw in the novel, but it was worth reading -- I enjoyed spending time as an observer in the world it portrays. It ended in a good place.

Forty years passed. And then John Eyers wrote a sequel to that, called Salvation, published a few months ago. If you liked Survivors, and if you read Genesis of a Hero, then, I implore you in the strongest possible way, stop there.

I don't know what led the author to return to the series after such a long time. I don't know why he decided to, essentially, tell a related-seeming story in a different world -- a problem which did not become apparent until after the halfway point. Much of this latest book deviates far too much from the baseline, some key plot points just do not make sense, and the story, characters, and writing are nowhere near compelling enough for me to overcome those faults.

He should have stopped at one sequel. Since he didn't, I should have stopped reading this one at the first improbable left turn instead of reading on to see how he would resolve it because surely he would, right? Uh... if you do start reading this book (or if you already have), when you get to that left turn, I urge you to close the book and do something you'll find more rewarding, like scrubbing your kitchen floor.

For want of a nail, the kingdom was...delayed

I have an open-source project I am very enthusiastic about (Codidact). Mostly my role does not involve the code directly: I'm the community lead (i.e. primary talker-with-people-who-use-it and triager of feature requests), and I do some design of features, workflows, wireframes, internal documentation, and stuff like that. And I beat up on the test server a lot when there's work in progress to poke at. We have infrastructure to support all that.

But sometimes I'd like to get a little closer to the code, mostly for my own education and partly so I can maybe help do smaller things because our team is pretty small still. And there was that one time that I really wanted to fix a front-end bug that I admitted was limited in scope; it was bothering me, but not something to drag a developer off of something else for. And it was in the Javascript code, which I can bumble my way through, so ok, I figured, I can do this. (And there was that weird thing about dates in Javascript, but I digress.) But I didn't have a dev environment to test it with, and ended up putting it in a userscript to test and then asking somebody else to plug it in for real, which meant I needed help from one of the developers after all, and I shouldn't be that lame. Read more…

How it started / how it's going

Remember this tomato plant from the end of May, when I thought the cage was overkill but they didn't have the next size down? Read more…

New VP of community at Stack Exchange, prognosis unknown

Stack Exchange recently promoted someone to VP of Community, and he posted on Meta asking what to change and what is inviolate. It's too soon to tell if these are just empty words, as is the norm with Stack Exchange leaders in recent years, or if he intends to and will be allowed to work with the community. Someone pointed all this out to me, so I figured, hey, I'd log in for the first time in many months and accept his invitation (posted yesterday afternoon):


Today is Tisha b'Av, the date the ancient Jewish temple was destroyed. (I promise this is relevant.) According to our tradition, the second temple was destroyed because of baseless hatred, sinat chinam. Among all the problems of the time, one incident stood out as the precipitating event:

A wealthy man held a party and sent his servant to invite his friend Kamtza. The servant misunderstood and made the invitation to Bar Kamtza, whom the host hated. Bar Kamtza, thinking the man was offering an olive branch, attended. The host was furious and ordered him to leave. Bar Kamtza, trying to save face, repeatedly tried to make peace, offered to pay for his food, and even offered to pay for half the party. But the host expeled him in front of all his other guests, none of whom objected, setting in motion a chain of events that led to the destruction.

The host hated Bar Kamtza so much that he no longer saw him as a fellow human being deserving of basic decency and dignity. Presented with the results of a misunderstanding, the man in power escalated instead of de-escalating, harming everybody present (and, according to the account in the Talmud, the whole nation).

Philippe, your predecessors didn't destroy a whole people or a national treasure, but there has been a lot of baseless hatred and harm and pain to lots of people over the last few years. Some of that can never be repaired, but some still can be, even at this late date. What has been missing is not the ability to correct errors but the will.

What should you change as quickly as possible? This ongoing failure to make what amends and repairs can be made. It's the ethical thing to do, and -- to speak to the company's business-driven interests -- it would show the people who build Stack Overflow and the SE network that you're willing and able to correct mistakes. Everybody makes mistakes; we learn a lot about people and institutions by seeing how they handle their effects. Yes you have the power of the wealthy party host, but is that the kind of person you want to be?

What should you never touch? The community's goodwill. You have the potential for awesome partners in growth, people who still want to see Stack Overflow succeed despite it all, people who know a lot about how to do that on the community side. You've got lots of professional experience but you're new to SE and SE jettisoned decades of its CM expertise in January 2020. The previous people at upper levels not only didn't engage with the communities but shunned them. By coming to Meta and starting this conversation you've taken an important step. Keep that up and follow through: engage with the community, participate on some of the 170 communities, ask for feedback regularly, carefully listen to feedback (which is not the same as "do what we say"), don't spring disruptive changes on people -- treat the community as partners not enemies.

(I realize much of the previous paragraph belongs in the "what should I change" paragraph, because what needs to change is the corporate attitude, but the reason it needs to change is that somehow you still have a community here that cares, and you should work hard to maintain a good relationship with it.)


I was asked in a comment some time later if anybody from the company had contacted me. On 2021-09-27 I updated the post to say that I have not been contacted.

Considerations in remodeling

When choosing a floor tile, it's important to consider contrasts with key components:

light floor, dark cat

Hiring dark pattern

We're hiring, so I've had recent occasion to see a hiring "dark pattern". I don't know how widespread this is outside of the tech industry, but I see it a lot in tech and it needs to stop.

The pattern: asking for "number of years of experience in (insert tool, language, or skill here)".

Jobs are multi-faceted. I'm seeing people who don't know how to choose a number, and just as I see the ones that overshot, I know there must be ones who undershot and were filtered out. I saw a resume recently from someone with a broad role, who listed "N years experience" in something where N was the length of the job, even though the job involved many other things and wasn't primarily about that skill. That's "N years of experience" in the same way that I have "20 years of Java experience". Spoiler alert: I don't.

Recruiters and hiring managers put people in this position: we have this checklist, tell us how many years of each, and we need a number not an explanation. Maybe we're making you fill out a web form and you can't even add a comment or ask questions. In the absence of guidance about primary and secondary skills, people will apply different weighting factors. It's a mess.

I often don't know how to answer either. In the last four years I've gained four years of tech-writing experience, the focus of my job, and four years of git experience, meaning I have all the basics and can untangle a merge conflict (but I've never rebased successfully). Those "four"s don't mean the same thing; I don't spend all day using git. Tech writing is fundamental to my role and I'd have no qualms about fully claiming those four years, but for git I would want to say that I've used it as part of my job for four years. That's different. I don't have the same knowledge that an infrastructure person whose job revolves around maintaining git servers and stuff for the same amount of time has. "How many years of experience?" questions don't allow for that nuance.

People who are trying to be thoughtful and honest run the risk of getting filtered out, and people who count "everything" get filtered in. I wonder how the success rate (meaning "acceptable hire", since you'll never know if you got the "best hire") of this exercise compares to recruiters just not filtering on skill-specific numbers at all (just general experience) and having the hiring team evaluate more people. I'm fortunate enough to be sufficiently "long in the tooth" that I don't need to worry about this gatekeeping -- either you're looking for a top-notch tech writer with all that implies, or you aren't -- but this hurts early-career people where the difference between "2" and "4" can make or break a deal.

As for the Java: I spent years documenting and helping to design Java APIs, wrote some examples, but haven't written anything deep and complicated. Someone with a year or two of full-time actual Java development experience beats me. Would the recruiter be able to tell?


The source post on Dreamwidth has a number of thoughtful comments.

The future of Stack Overflow

Yesterday Stack Overflow was bought by Prosus, a tech company based in the Netherlands, for a jaw-dropping $1.8B (yes billion). In the world of recent tech acquisitions that might be small change, but it's about three times what I thought their current valuation was. It's kind of a mystery what Prosus (yeah, I'd never heard of them before either) is getting out of this.

I might have more to say about this later, but for now I'm going to post here what I wrote on Reddit (which I joined for other reasons a couple months ago but hadn't posted on before), in response to a comment referring to "SO’s bonkers relationship with its moderator community" and suggesting that getting bought by a mega-corp would make that even worse.


I don't know how the sale will affect their disastrous relationship with the people they rely on to donate and curate content for their financial gain. Often a new owner doesn't understand what it's bought and makes things worse by meddling. On the other hand, the claim is that Stack Overflow will still operate independently and make its own decisions. In the acquisition of a successful company that would be good news (they can keep doing what they're doing), but in a declining company that shouldn't keep doing what it's doing because it's not working, pressure from the new owner could help, if Prosus will actually apply that pressure.

Stack Overflow and the Stack Exchange network have been in decline for several years (since at least 2017 by my reckoning, some say longer). Some of that decline is due to outside factors and a lot is due to the company's actions. The good news is that most of the architects of those bad decisions are gone now, so the company could take the opportunity to say "y'know, we've been doing it wrong and we need to fix that" without anybody still there having to eat crow. The bad news is that, historically, this is not what Stack does; they double down on bad decisions, I assume because admitting mistakes is embarrassing. Several people still there who weren't part of those decisions now appear to be endorsing them -- whether due to internal pressure or because they drank the kool-aid I don't know.

Thus, the future is pretty unclear to me when it comes to how Stack Overflow treats its moderators and users. If Prosus allows them to operate independently, I expect they'll keep mistreating people even though they no longer have to placate departed leaders. If Prosus takes a closer look at what they've bought, they could make things either worse or better depending on what they decide and how well they execute it. On the current trajectory, I would expect the community, people's willingness to become moderators, and the quality of content to continue their current decline, and the invasiveness of ads and promotion of their Teams and Enterprise products to accelerate. SO is the gateway to the company's for-sale products; it doesn't matter to them independently. The company doesn't need quality and it does need to overcome SO's reputation of hostility, so they're willing to sacrifice the former to attempt the latter. The sad thing is that they could end up with neither even though it's actually possible to get both.

Oh, for crying out loud (thank you Javascript)

We have a widget on our site that displays the current Hebrew date. We're using HebCal's REST API to get the data, which comes back a month at a time -- JSON blob that has one entry for each day, with the secular date, the Hebrew date, and some other information. We use the Javascript Date class to get today's date, extract a string of the right format from that, and look up "today" in that returned collection. Easy, right? The API documentation for Date makes a point of saying that it uses local time, not UTC, which is what we want.

(Because the Hebrew day actually starts at sundown the previous day, we've got some "best effort" code in there that starts the day at 8PM. Not ideal, but we're not looking up local sunsets and suchlike... We also display something like "22 Sivan (Tuesday night and Wednesday)" to make it clear.)

Yeah ok, so we have the local date, and we need to look up an entry in the calendar data. Dates there use ISO format (YYYY-MM-DD). So we get our Date object, which is supposed to be local, and call toISOString() on it.

Guess what. Date.toISOString does not use the local time. FFS. I've been banging my head against a wall for two hours thinking it was something more esoteric, maybe having to do with that "start at 8PM" code (which I had actually commented out to eliminate that possibility). I finally went to an online Javascript tester, one of those sites where you can type in code and run it, and confirmed that right now today.toISOString() says it's June 2 but today.getDay() says it's June 1.

So now I have to write Google for code that constructs the proper format for the local time, which is down to padding numbers with leading zeros if the month or day number is less than 10 and string-munging and...ugh. (Found it easily enough, but sheesh!)