HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pistoleer

no profile record

comments

pistoleer
·2 anni fa·discuss
Not technical/concrete (examples are missing!) enough for me to really understand what techniques the author is getting at. How would the author achieve all these exclusion mechanisms in a distributed system instead of letting the database engine handle that?
pistoleer
·2 anni fa·discuss
Those cat corridors are cool as shit. I love little doors and hidden hallways, it's almost victorian. I would only worry about "noise" leaking out of the bedrooms...
pistoleer
·2 anni fa·discuss
I don't understand how this is a relevant criticism of my system.

If you are already ignoring the actual chord "voicing" as written in the "classical" system, then just keep doing that in my system??

If you are already able to intuit that a note should go elsewhere, then keep doing that for your jazz sets? What's the issue again?

"Gsus4x5" is just as unreadable and ignorable and malleable as "G+5+4".
pistoleer
·2 anni fa·discuss
E-G is a 3 semitone interval and G-C is 5 semitones so it's an E+3+5 chord. If you wanna play it on piano, that means leave a gap of 2 keys and then a gap of 4 keys.

Known in western classical harmonization theory as "Em+" (E chord with minor third, augmented 5th). C first inv is actually Gsus4add6no5 or as I like to call it G+5+4. It has an incredibly warm and rich tone, nothing like C+4+3 (C major triad).

It works in C because all of its notes are also present in the C major scale, but that's just a coincidence. Calling it a C inverted chord is like making astrological or numerological conclusions.

And no, shifting up or down by octaves is not the same sound. It's close but not equal. You can probably get away with octave substitutions in a busy song but you can not say it sounds exactly the same. A 9th is not a 2nd. 11 not 4, 13 not 6. When you play La Campanella, is that your excuse for skipping those octave jumps? :)

As I said, unpopular opinion :)
pistoleer
·2 anni fa·discuss
Unpopular opinion: if it walks like a duck and quacks like a duck, then dude, it's a duck.

Inverted chords have, in my ears, never sounded anything like the chords they are supposedly an inversion of. It's like saying "10 is just really 3+7". It's true, and it's also useless. Let 10 be 10. Let 3 be 3. Etc.

Most composers don't even use this system as they compose, it's just for after the fact analysis. Composers hear a tune in their head and then transcribe it. Unless they're writing cookie cutter shit without inspiration, then they might synthesize some soulless crap that intentionally follows some well known chord progression as picked by a dart thrown at a poster of the circle of fifths.
pistoleer
·2 anni fa·discuss
Russia has plenty of meat for the grinder. Being embarrassed isn't gonna stop them.
pistoleer
·2 anni fa·discuss
After some thinking, the ternary conditional operator can be decomposed into 2 composing binary operators like such:

? takes a bool, a T, and returns option<T>

true?b == Result b

false?b == None

: takes an Option<T> and a T and returns T

Result x : y == x

None : y == y

However, in most languages (looking at you php) the ?: act as a type of parenthesis: in a?b:c, any expression goes into b, no matter it's precedence.
pistoleer
·2 anni fa·discuss
> Your answer makes me not like you in fact it incites hatred.

Why are you so aggrieved? What's the big deal?
pistoleer
·2 anni fa·discuss
The second way is the antiquated british english meaning of the phrase.

It's got a kind of "all but" deal going on: two ways to interpret it.

Really annoying how the English language can't get quantifying phrases right.
pistoleer
·2 anni fa·discuss
The VW Golf manual does 4.7L/100km
pistoleer
·2 anni fa·discuss
What makes for a good or bad virtual desktop implementation?
pistoleer
·2 anni fa·discuss
> In Go or Rust, returning an error is also a “color” that spreads out to the top of the call stack.

That's wrong... Suppose A calls B and B returns a Result<T> (so it's colored as you say). A can match both the Some() and the Err() variants of B and return something other than the error in the latter case. So A can shed the color. There is no way to "shed" async-ness like that in javascript.
pistoleer
·2 anni fa·discuss
Swift solves this by using witness tables. Witness table is a skeleton of the desired record shape. It records offsets of desired fields as found in the actual supplied record. Each function call the actual record is not passed, but its corresponding witness table instead.

For instance, if the "prototype" of the argument is {int foo, float bar}, and I supply {int foo, int baz, float bar}, the table will be {foo: base+0 bytes, bar: base+8 bytes}.
pistoleer
·2 anni fa·discuss
Use a generic function signature that takes in a `void*`. Inside the specialized function bodies, cast the void* to an `actual_type*`, then dereference.
pistoleer
·2 anni fa·discuss
For the same reason python is seen as easier: guardrails and checks are just an impediment right?
pistoleer
·2 anni fa·discuss
It's not well laid out. The examples are malformed/illegal and the ifdef thing is stupid.

The author admits to not being a C undefined behavior expert and yet acts like they might know better than a tool made by such experts.

Looking up the rules and verifying the shown snippets takes at most 30 minutes at a leisurely pace, the author could have saved themselves the embarrassment.

I'm not going to write a blog post about how I didn't expect a color spectrometer pointed at the sky to say "BLUE" because I thought it might have been purple, "although I'm not an expert in wave lengths".
pistoleer
·2 anni fa·discuss
It's worse than that. This guy takes a void* function and casts it to a char* function, then passes it a char**.

    void (*name)(char *ptr);
    typedef void (*name_func)(char *ptr);

    void target(void *ptr)
    {
       printf("Input %p\n", ptr);
    }


    char *data = "string";
    name = (name_func)target; // Illegal: casting fn that takes void* to a fn that takes char*
    name(&data); // Illegal: passing a char** into a function that takes char*
Before someone mentions qsort(): the comparator function really is supposed to take a void*, and inside the function, you re-cast the void* argument to a pointer type of your desire. If you don't do it in that order, you're using it wrong.
pistoleer
·2 anni fa·discuss
Man rants about not expecting weird type system abuse that works on his machine to be undefined behavior
pistoleer
·2 anni fa·discuss
> A government paying for a thing does not in any way imply that the thing is a good use of money.

Agreed, nor is the inverse implied of course. But what is your point?

> How many decades of fabric replacements could you get from the savings of bolting on a simple metal frame as compared to an elaborate electromechanically actuated arm mechanism?

That's what I'm saying, fabric doesn't really need to get replaced in 15 years and going from personal experience. The mechanism is simple enough to be reliable as well.

Ultimately, it's impossible to analyze the cost benefits of this. It's a matter of personal taste and what the harshness of the local climate allows. I don't doubt that fixed awnings are cheaper - but actuating awnings fix their drawbacks, and the maintenance they introduce is minimal in my experience. And frankly, for the price of giving up a single vacation in 15+ years, it's not that expensive. Again, cheap enough that those in social housing can make the choice to get them installed.

ETA: my point of mentioning social housing is to say that people with lower income can still get them. The government doesn't pay for it. I just wanted to paint a picture of the relative cost.
pistoleer
·2 anni fa·discuss
In the Netherlands it costs around a grand, as for maintenance... Haven't needed to do any in more than 15 years. The actual screen retracts into a weather proof metal casing, so there's not that much that goes wrong, whereas fixed awnings are exposed to the full weather gamut 24/7.

Let me put it this way: it's cheap enough that a lot of social housing and other cheap forms of housing inhabited by the "lower class" feature them.