339 karma · joined July 4, 2012
When working in a short-lived branch, I like to rebase. I usually get no or simply easy-to-solve conflicts. I like my small and numerous commits stacked on top of the current develop. Regardless or whether we squash or not.
For long-lived branches (and technically for hard merges, though I've been using rerere more and more) merge is a better option.
What kills bisect, IMO, is large commits or commits with multiple subjects/goals. That's the reason I don't like squashed PRs.
The "how to modify an environment variable" bit and the bin-dec-hex table made me feel the same way. Then I saw the part explaining how to check for duplicates in a row... I'm struggling to understand the point of the article. Testing a text generator?
mkcd() {
mkdir -p -- "$1" &&
cd -- "$1"
}When everything is text, text files become libraries. Text editors become macro processors.
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.
../../../tmp/typescript-go/built/local/lib.dom.d.ts:27982:6 - error TS2300: Duplicate identifier 'KeyType'.
27982 type KeyType = "private" | "public" | "secret";
~~~~~~~
../../../tmp/typescript-go/built/local/lib.webworker.d.ts:9370:6 - 'KeyType' was also declared here.
9370 type KeyType = "private" | "public" | "secret";
~~~~~~~
Probably an easy fix.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.
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.)
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?
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?)
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.
How anyone can think pointer arithmetic is elegant is beyond me. Especially when the title mentions a language with algebraic data types and higher order functions. Or even just RAII.
I'm also not sure C is the lingua franca of programming anymore. From my personal experience (and language is strongly tied to geography and culture) people tend to talk about strings and booleans, JSON and other custom types, stacks and heaps. ints and longs have fixed sizes and representations in their minds. (In fact, many C concepts are used erroneously from a strictly-C-language point of view.)
This is not to insult C, however, which is elegant in its simplicity (and perhaps The Mother of Modern Programming Languages, if you fancy a majestic title), nor the project, which has a noble goal.
echo -n "Indeed. This is how I managed to do it. 2^28 is around 300 million. With only a handful options, it's possible. Although, I must say that it turned out to be more difficult than I'd initially thought. Perhaps it's better to think of it as 28 different alternatives." | sha256sumSimilarly, the product of an empty list should be 1.
I think it is a text book example of the main difference in DNA between Google and Apple:
Google is all about crowdsourcing.
Apple is all about curation.
What's in their DNA is being corporate entities answerable to shareholders. Anything else is their culture, which, unfortunately, is too amenable to change.
Oh, and in this analogy, their blood is money.Google Maps provides a small fraction of the functions of a real map. And this fraction does not even cover the fundamentals: Street names, landmarks/points of interest, being able to draw or create marks on the map, and perhaps making basic measurements. Its main view has marginally more information than the "share location" screen of a messenger app.
It's a car-driving always-online consumer's guide to spending money. Extremely useful, but not a map.
Investing in (checked) exception safety is not as valuable when anything can throw an NPE.
Nice summary at https://knowyourmeme.com/memes/enshittification (TL;DR: Cory Doctorow)