

Just a basic programmer living in California
In typography there are three distinct lengths of dash-like symbols:
Traditionally em dashes are used for punctuation—such as to separate clauses where the second clause expands on the first.
En dashes are used for ranges, like 1–7, or to join words or phrases together.
Hyphens are used within words, such as to indicate compound-words.
I think people were more particular about these uses when using typewriters. Like you could type two hyphens, and that would get you the same length as an em dash, and would look like one continuous symbol.
Nowadays the hyphen is the only easy dash to type, and it doesn’t look like one continuous line when typed twice. So instead of using an em dash people often use a hyphen with spaces around it, and people tend to use hyphens for ranges too. But ChatGPT knows the typography rules, and it likes to be technically correct.
I’ll note that I’ve just found that on Android you can get em or en dashes pretty easily by showing symbols, and then doing a long-press on the hyphen symbol.
———
Not written by ChatGPT, I’m just like this
Strange New Worlds is great! Since you’ve already seen DS9 and TNG that’d be my next pick for most enjoyment.
Discovery and Lower Decks are good too! But Picard doesn’t get my recommendation.
Watch order isn’t important. There’s a little crossover between Discovery and Strange New Worlds, but you there are only two details from Disco that carry into SNW, and those are recapped thoroughly in SNW.
There is a little interaction between SNW and Lower Decks
There’s a great crossover episode in SNW season 2. It’s worth getting to know the Lower Decks characters first to get the most out of that episode.
There are three TOS episodes that are especially relevant to SNW from what I recall. The one I recommend watching is Balance of Terror.
SNW has lots of references to Pike’s “fate”, which you see in the TOS episode Glass Menagerie. It’s optional IMO. Btw Glass Menagerie includes a recut / retelling of the unaired pilot, which is my favorite episode of TOS. But the pilot doesn’t have the beep chair.
Season 1 has an homage to the TOS episode Balance of Terror. It will make more sense if you’ve seen that episode. And it’s one of the best TOS episodes.
Season 3 has an appearance from a character who first appeared in the TOS episode The Squire of Gothos. It might add some context. Also optional IMO.
Fugitive, the vim / neovim plugin. It does everything the CLI does, but uses vim interfaces very effectively to enhance the experience. For example it’s quite good for selectively staging changes from a file. I also like the option to open a buffer with the version of a file from any specified commit.
I also tried neogit which aims to port magit to neovim. I didn’t like it as much. Partly because as far as I could tell at the time it lacked features compared to fugitive. But also because it seemed to want me to do everything through UIs in its own custom windows. Fugitive is integrated more thoroughly into vim via command mode, and special buffers.
I usually use git add -p
to selectively stage hunks. But in git add -i
I think running the patch
command does the same thing to get into patch mode.
If patch mode shows you a hunk, and you only want some of the lines you can press s
to split into smaller hunks. Then you’ll be prompted whether to add each smaller hunk separately.
If you want to stage a change that is on the same line as a change you don’t want to stage, or on an adjacent line, then you need to use e
to edit the hunk. Git stages whatever changes are left when you’re done editing. The file in the working tree on disk is unchanged.
That makes sense. I didn’t find many surveys available, so I referenced the ones I could find.
It’s hard to predict the future, but I can point to a couple of indexes.
TIOBE measures language popularity according to a variety of factors. It has Java on a steady downward trend over the last couple of decades, but shows it as still very relevant. TIOBE does not show comparable growth for Golang. I don’t see much growth in the top 10 for languages that are especially suited to autoscaling. C# looks to be steady as a language in a similar niche as Java.
OTOH another survey from devjobsscanner that looks purely at job postings shows Java openings as very steady over the last couple of years. It also shows Java as more popular than Golang.
So I don’t know exactly what conclusion to draw from that. But learning a new language can be a helpful exercise regardless to broaden your perspective, and to keep your skills sharp.
Personally for the purpose of producing resource-efficient binaries for scaling I prefer Rust. It’s design incorporates some correct-by-construction strategies that promote high-quality code. And it’s well-suited for compiling to WASM so you can do stuff like deploy small services to Cloudflare workers for wild scaling. But I guess Rust isn’t making a big showing in the popularity charts. And Golang is popular for its lower learning curve.
Hmm, good point. The pig AI requires a lot more computations than wheat or pumpkins which are managed by random tick updates.
You have two options depending on how you set your Typescript config.
Option 1, the default:
declare const xs: number[]
const x = xs[4] // inferred type is `number`
Option 2, using the noUncheckedIndexedAccess
setting:
declare const xs: number[]
const x = xs[4] // inferred type is `number | undefined`
Your AI assistant appears to assume option 2. Maybe you have that option enabled in your project?
I’m sorry you had to spend a lot of time and frustration on this problem. But fundamentally Rust and Typescript have the same limitation: neither will catch out-of-bounds access errors on variable-length collections at type-checking time. They don’t have the necessary information to do that.
Rust can catch out-of-bounds access on a fixed-length array if you use a literal number for the index access. But Typescript can do the same thing if you use a fixed-length tuple type (e.g. [number, number]
instead of number[]
).
Removed by mod
I agree that The Visitor is a great choice! Although depending on OP’s goal I’d argue for Duet because,
So it might be a simpler introduction to the rest of the show.
Those factors aside, yeah The Visitor is probably the more compelling story.
Either way, DS9 has the best character writing, and is therefore the way to go!
If you’re getting started with programming the first resource I point people to is Scratch. It’s the easiest way to get started, and teaches programming concepts with guide-rails. I recommend looking at a game someone else has made on the Scratch website, and “remixing” it to tinker, and understand how it works.
When you hit the limitations of Scratch, and want more I agree with other commenters that Godot or LÖVE are good next steps.
You might be interested to learn some history of societies without state-issued currency. The book “Debt: The First 5000 years” by David Graeber has lots to say about pre-modern systems of account. I’m aware there are some criticisms of the book so I don’t want present it as absolute truth - but it is an interesting on read, and it cites lots of anthropological studies.
One of the points of the book - and I see there are also other anthropologists who take this view - is there is no evidence that there has ever been a barter economy. Economics curriculum typically talks about prehistoric barter as an introduction; but it looks like the barter story may have been made up by Adam Smith. Smith’s “Wealth of Nations” is highly insightful, and even predicts problems with capitalism that we currently face. But he probably didn’t have the anthropological background to write authoritatively about economies of prehistoric societies.
Graeber does claim that there have been times when barter has been a stop-gap when there is a problem with money supply. So that’s a case where something like your app might come in,
When barter has appeared, it wasn’t as part of a purely barter economy, and money didn’t emerge from it—rather, it emerged from money. After Rome fell, for instance, Europeans used barter as a substitute for the Roman currency people had gotten used to. “In most of the cases we know about, [barter] takes place between people who are familiar with the use of money, but for one reason or another, don’t have a lot of it around.
These were temporary situations. The fall of Rome probably seemed like the end of the world to some people at the time. But new societal structures and currencies filled the gaps.
When mine goes over 99 it just rounds up,
Hospitals are required to provide emergency treatment - what we call ED or ER visits - regardless of ability to pay. Patients are expected to pay for that treatment. It’s just that the hospital isn’t supposed to deny treatment based on whether they think patients will or won’t pay the bill. This is getting-stabilized treatment.
This is an important point in arguing for universal healthcare: if people can’t afford treatment, they’re more likely to go to the ED where they won’t be turned away. ED visits tend to cost more than non-emergency, so that drives costs up.