Most input is text, most output is text, commands are text. Vast majority of programming languages can process and produce text out-of-the-box. There are countless utilities for processing text. You can store, load, split and join text easily. Send and receive it through most channels.
When everything is text, text files become libraries. Text editors become macro processors.
I ended up writing a similar plugin[1] after searching in vain for a way to add temporary DNS entries.
The ability to add host entries via an environment variable turned out to be more useful than I'd expected, though mostly for MITM(proxy) and troubleshooting.
> Running it in another portion results in SIGSEGV with a bad/nil pointer defererence, which puts me in the camp of people questioning the choice of Go.
They would be still setting up the project, if it was Rust.
It's very early days (perhaps too early?); running into issues caused by what very well may be an automated conversion is to be expected, and not down to the language choice.
Why not find out what's going wrong and submit a bug report / merge request instead of immediately dismissing a choice made by one of the leading authorities in programming languages in the world?
If you are wondering why not Rust instead of Go, they outline why Rust was not chosen. This is a port not a reimplementation. Many of the data structures can not easily be ported to Rust, such as Nodes with cyclic dependencies. Check the longer interview here: https://www.youtube.com/watch?v=10qowKUW82U&ab_channel=Michi...
Also, I think the discussion on esbuild's choice of language applies here as well as it has a large similarity. You can find it here on hn
(Not directed at the parent comment but the thread in general)
I don't know why people are more interested in labeling it than explaining it. (Although admittedly, they go side by side.)
Every grammatical aspect of "past time with -miş" (which is how I learned it) is the same as the other one, "past time with -di". As in, I cannot think of a sentence where replacing one suffix with the other would result in a syntax error, or any semantic difference other than certainty.
A point of confusion might be verbs made into adjectives using -miş, although I'm having a hard time coming up with many examples where there's an ambiguity between the adjective and the "tense". Doesn't help that the assertive(?) case is without suffix, so "pişmiş" might mean "[it is] [a] cooked [one]" or "[Apparently it was] cooked".
Another point of parallelism between the two past "tenses" is that it's perfectly valid to answer a question in one with the other. (Or is this a general language or tense thing? Hmm.)
A pain point, for me, is having to explicitly type private functions.
I like refactoring independent blocks out into functions, to separate the scopes and have readable summaries a la self-documenting code. Having to fish out and then explicitly enter some library's useful but complex type makes it unpleasant.
I'm starting to see a pattern here... Hmm, maybe private functions should be treated differently?
Ahh, very nice. It was fun to rediscover/relearn some of these things through this game.
Very nice wording on the 5-color challenge! I think it was the perfect balance.
One thing I was missing was the ability to move the points already on canvas. I assume you already considered, though. (As well as right-click-to-remove?)
I tried using a PostgreSQL SKIP LOCKED queue once, turned out to be a mistake.
It was a queue for a distributed worker pool. The simpler alternatives I was used to at the time (RabbitMQ) did not support joining (i.e. run task Y when all of X1~X20 are complete) and therefore every task was stored in the database, anyway. I don't remember the exact numbers, but it was a light/moderate load--thousands, maybe tens of thousands of rows per day. It ran smoothly with an external message queue. I'd vacuum maybe every 4 months.
For one iteration, I decided to try using PostgreSQL as the queue system as well, to decrease the number of moving parts. It performed fine for a bit, then slowed to a crawl. I was sure I was doing something wrong--except every guide told me this was how to use a table as a queue. If I missed anything, it must've been PG-as-a-queue-specific.
When everything is text, text files become libraries. Text editors become macro processors.