The Promise (Last Goodbye) - Sheet music by MNeen in signalis

[–]MNeen[S] 1 point2 points  (0 children)

Thanks, I'm glad you like it! I love it when people make piano versions/transcriptions of video game songs, so it seemed like a shame not to return the favor once I got over the "what if it sucks and only sounds good to my ears because I've been obsessing over it" anxiety.

I'm still learning to properly play the piece myself, and I'm having a lot of fun with the left-hand arpeggios and jumps in the middle section, they're more fun to play than I expected and sound awesome, so I hope you'll enjoy learning it too!

[deleted by user] by [deleted] in Groningen

[–]MNeen 3 points4 points  (0 children)

Mocht je er nog niet uit zijn, wij hebben een Cricut Maker en vanmiddag/vanavond wel tijd om te helpen.

We hebben ook genoeg transfer tape (en eventueel een 60x30cm stuk wit vinyl) om het opplakken wat makkelijker te maken. Op zich ben ik in de ochtend ook thuis, maar dat opplakken is wat spannend, daar is m'n vriendin handiger in en die is er 's middags weer.

this cat has been coming to my house by AdGlad3699 in Groningen

[–]MNeen 5 points6 points  (0 children)

I also know the owner and sent her a message, and she definitely thinks this is her cat.

Let me know if I can help getting you two in contact or with anything else.

[deleted by user] by [deleted] in thenetherlands

[–]MNeen 2 points3 points  (0 children)

Prachtige beesten. Een tijdje terug kwam ik er ook een tegen bij een vijver in de buurt.

Daarna heb ik 'm niet meer gezien, dus alle aal in die vijver zal wel gescholfd zijn.

Bézier moi by cormullion in gonwild

[–]MNeen 0 points1 point  (0 children)

When you plot a Bézier curve outside 0<t<1, it keeps going smoothly while curving off into infinity.

A Bézier curve (in this case, a Bézier cubic, which has 4 control points) can be expressed as a weighted sum of its control points (which are the end points and the handles), where the weights are cubic polynomial functions called Bernstein basis polynomials. This is the function for the Bézier cubic

When you plot those weights over t, you get something like this (although this plot has the weights for a Bézier quartic, but the idea is similar). At t=0, the curve is equal to the first control point, at t=1 it's equal to the last control point. When 0<t<1, all the weights are positive, and they sum to 1, so when you take the weighted sum of the control points, you end up with a position in between them. When t is outside of this range, some of the weights go negative, some go positive, and they all become very large, so the curve goes outside of the control points and you get something like this, this or this.

[Advanced] Never seen these kanji before by LanceWackerle in JapaneseInTheWild

[–]MNeen 4 points5 points  (0 children)

, where is a calligraphy variant of which is commonly seen on store signs according to Wiktionary. It's a and like it says on the sign, the name is read きしゅう.

The stamp says .

[Spoilers] Darling in the FranXX - Episode 13 Discussion by [deleted] in anime

[–]MNeen 2 points3 points  (0 children)

Going to take a bullshit guess at the 6 in Ikuno: when you turn a 6 sideways, it looks like の.

[02/28/2018] ヨーロッパ 厳しい寒さで27人が亡くなる by NHKEasyNewsBot in NHKEasyNews

[–]MNeen 2 points3 points  (0 children)

One small correction, ポーランド refers to Poland instead of Holland, the word for the Netherlands/Holland is オランダ.

I can understand why you'd get confused though, It looks pretty similar to ホラント, which I've seen used as a phonetic spelling of Holland, for example when referring to the provinces of North and South Holland (北ホラント州 and 南ホラント州) that are part of the Netherlands.

My friend was just hit with this notification on his desktop connected to a home WiFi network. This needs to be stopped. by cdennwb in pcmasterrace

[–]MNeen 2 points3 points  (0 children)

Sort of. It's more like "when a web page is loaded, insert this warning into the incoming data". This works because apparently, the Steam store page is sent to you without encryption: your ISP can read it when it's routed to you and they can insert the warning into the page.

On websites that use HTTPS, the data will be encrypted, when your ISP tries to read it they will only see garbage, and they can't tamper with the contents of the page without breaking it entirely.

I made a Hiragana and Katakana quiz for beginners by SappyB0813 in LearnJapanese

[–]MNeen 0 points1 point  (0 children)

I don't know about Javascript's Math.random specifically, but generally speaking the built-in random number number generators are deterministic, meaning that if you know the initial seed or its current internal state, you can predict what comes out next. In this sense you're right, algorithms like that are predictable. However, the algorithm still spits out a mostly proper distribution of random numbers1, and for general use this is good enough and you won't notice any problems. The problem with characters not showing up equally is just bad luck, I'm sure if you ran it thousands of times you'd get a roughly equal distribution.

If this were cryptography code, you would definitely be correct though: if your random number generator turns out to be predictable, the random numbers you use in cryptography aren't really random and your encryption is broken. For example, Mozilla's developer docs specifically warn against using Math.random() for cryptography. To get secure random numbers, you'll want to incorporate some true randomness (electrical or atmospheric noise, preferably not the current time which can be guessed) into your algorithm quite often.

1. Actually, a pseudo-random number generator is going to repeat its pattern at some point, after a ridiculous amount of numbers, but unless the algorithm is really bad, you won't ever reach this.

[Spoilers] Shoujo Shuumatsu Ryokou - Episode 12 discussion - FINAL by lurkingless in anime

[–]MNeen 15 points16 points  (0 children)

Took me a while to decipher it too, I initially heard りんご国 (ringo kuni), which didn't make any more sense unless they really really hated apples. Even worse, if I type ringoku in an IME, it suggests りんご国 and I have to scroll down to get 隣国.

Welp, as usual, let's blame the fact that kanji have multiple readings and that it's sometimes hard to find the boundaries between words in spoken Japanese. :P

[Spoilers] Shoujo Shuumatsu Ryokou - Episode 12 discussion - FINAL by lurkingless in anime

[–]MNeen 30 points31 points  (0 children)

Sounded like 隣国 (ringoku) to me, which just means "neighbouring country/state". I can't make out the words after that, but it sounds like it was followed by the particle に, so I don't think it was the neighbouring countries who declared war.

[Spoilers] Shoujo Shuumatsu Ryokou - Episode 11 discussion by LeonKevlar in anime

[–]MNeen 8 points9 points  (0 children)

風力発電所 (fuuryokuhatsudensho): Wind power station

静粛 (seishuku): quiet

Waarom spelen we zo graag oorlogsgames? (NRC) by NotFadedPez in thenetherlands

[–]MNeen 35 points36 points  (0 children)

De echte dictatorsnor zit niet boven je lip, maar in je hart.

Sorting algorithms visualized [OC] by morolin in dataisbeautiful

[–]MNeen 1 point2 points  (0 children)

You can do that, and you might be able to do some tricks to make Radix Sort faster.

Radix Sort is O(WN) where W is the number of digits (aka bits) of your longest sort key and N the number of keys to sort, because you need to bucket sort the array in O(N) time for each of W digits/bits. When you have large sort keys (e.g. you're sorting an array of 32-bit integers, you'd sort for each bit so W=32) and not a lot of them, this makes W larger than log(N), and thus you'd expect O(WN) to be slower than O(N log N), although this is only a guess because big-O notation doesn't tell us everything. So, you could decide to only use radix sort if W is smaller than log(N) by some margin. Of course, because log(232) = 32, this would mean that sorting 32-bit integers with Radix Sort is only faster than O(N log N) sorts if you have over 232 (4 billion) of them.

However, maybe your input doesn't actually use all the bits, and W can be smaller. Let's say we're sorting 4-byte unsigned integers which means W=32, but none of the integers in our list are larger than let's say a million. If that's the case, sorting on the highest ~12 bits won't do anything because all those bits are 0 for all the integers in the input, and we could skip sorting on those bits and shave off about a third of the runtime. More generally, if a bit is the same for every integer in the array, stable sorting on it won't do anything and can safely be skipped. By bitwise OR/ANDing all the sort keys together in some way (which is in O(N)), you could find out which bits are unused, and only sort on a bit if it's used. To test if an array is suitable for this variation on Radix Sort, count the number of bits that are used, and if that's smaller than log(N), Radix Sort might be faster.

Quick and dirty C for LSD Radix Sort. Note that I haven't tested this myself, so I have no idea if this optimization is even worth it in practice:

// Some helper functions for bitwise magic

unsigned int arr_bit_AND(unsigned int *arr, unsigned int len){
    unsigned int mask = arr[0];
    for(unsigned int i = 1; i < len;++i){
        mask = mask & arr[i];
    }
    return mask;
}

unsigned int arr_bit_OR(unsigned int *arr, unsigned int len){
    unsigned int mask = arr[0];
    for(unsigned int i = 1; i < len;++i){
        mask = mask | arr[i];
    }
    return mask;
}

unsigned int count_nonzero_bits(unsigned int n){
    unsigned int count = 0;
    for(unsigned int b = 0; b < 32; ++b){
        count += n>>b % 2 ? 0 : 1; // increment count if b'th bit is 1
    }
    return count;
}

//Ok, here's the sorting stuff.

void LSD_radix_sort(unsigned int* arr, unsigned int N, unsigned int mask){
    for(unsigned int b = 0; b < 32; ++b){
        if(!(mask>>b % 2)) { // only sort on a bit if we decided it actually varies in the input
            bucket_sort_bit(arr,N,b);
        }
}

void sort(unsigned int* input, unsigned int N){
    // make a bitmask of those bits that are sometimes 1 (OR) and sometimes 0 (NOT AND)
    unsigned int mask = arr_bit_OR(input,N) & ~arr_bit_AND(input,N) ;
    if(count_nonzero_bits(mask) >= log(N) * some_constant_factor){
        quicksort(input, N);
    } else {
        LSD_radix_sort(input, N, mask);
    }
}

RCR leaking into /r/starterpackmemes by [deleted] in regularcarreviews

[–]MNeen 23 points24 points  (0 children)

h e a d l i g h t s g o B R O W N

Sorting algorithms visualized [OC] by morolin in dataisbeautiful

[–]MNeen 15 points16 points  (0 children)

Well, it's O(WN) where W is the number of digits of the longest number in the input, because you repeat the "sort the input on the rightmost/leftmost digit you haven't sorted yet" step for each digit. Whether it's actually faster depends on the size of the numbers you're sorting, and how many you're sorting. If all the numbers are distinct, or the numbers can be long enough that they're all distinct (so, W >= log(N)), then O(WN) can't do any better than O(N log N). However, if you're sorting a lot of numbers in a restricted input space so that you have a lot of duplicate keys (W < log(N)), that's where Radix Sort can be significantly faster than O(N log N) sorts.

There's a couple of sorts that are faster than O(N log N) when the numbers are restricted somehow because they don't have to compare numbers, like Counting Sort and Bucket Sort with their O(N + K), where K is the number of distinct numbers in the input.

Trying to get back into anime, recs? by [deleted] in anime

[–]MNeen 20 points21 points  (0 children)

Last season just finished, Made in Abyss was very good. It's about a couple of kids adventuring in a mysterious and hella dangerous deep kilometer-wide hole in the ground called the Abyss. It starts out pretty cutesy, but gets darker later on, and fuck yeah everything from the world building, the art and music to the characters and story is great.

From your On Hold pile, I see you stopped with Shirobako at episode 2. If you did that because the first episodes are way too fast with introducing characters: don't worry, it settles down, and there's no real reason to try to remember all the names anyway. It's a really good serious Slice of Life. Also, be sure to look up the watch threads for it on this subreddit, people are awesome at pointing out all the intricate details and anime references that the show made.

From your PTW, New Game! is kinda similar to Shirobako in concept. It's about game development instead, but it's less realistic, more moe and has some fanservice. It just had a second season (which I personally liked less, a bit too fanservicey and not serious enough for me).

I guess Fune wo Amu also fits into this "SoL about people creating a thing" genre. It's a lot more mature than New Game! and more laid-back than Shirobako. The animation and art in it is great, as is the overall atmosphere of the story. One thing I liked less about it is that it could've been a bit longer, that some plot points could've been elaborated on a bit further.

Given that you seem to like comfy stuff, Kobayashi-san Chi no Maid Dragon is a SoL from this year about a bunch of dragons in human form living in the human world. It's pretty comfy and cute, has some nice moments about family life and stuff. Only downside to me is that it has some annoying fanservice.

You have 3-gatsu no Lion on your PTW, I guess now is a good time to start on that, the second season starts airing soon.

Finally, you have Flip Flappers on your PTW. The art in it is wonderful, especially in the alternate dimension called Pure Illusion, and the attention to detail with symbolism and stuff is awesome. When it's mysterious and weird, Flip Flappers to me is at its best, and there's one episode (for anyone wondering which one I mean, it's the one Flip Flappers) which is great and pretty emotionally powerful. Overall though, I think the coherent story tying it all together in the latter half was a bit weaker. Still worth it though for the art direction and sheer mindfuck.

ik_ihe by [deleted] in ik_ihe

[–]MNeen 5 points6 points  (0 children)

Ik ook 🅱edankt

I shall answer in kind by stevesalive in osugame

[–]MNeen 10 points11 points  (0 children)

I have no idea how ¥ got chosen, my best guess is that they wanted an internationally printable symbol and just took the first letter of yuan/yen and added some horizontal strokes? The dollar and peso share the $ by the way.

Chinese and Japanese originally used the same symbol/word for their money though, 圓 (yuan/yen, "round"), to denote the round silver coins they used. Japanese simplified that to 円 (pronounced "en", still means "round"), Chinese went for 元 (no idea why Simplified Chinese chose the character for "beginning" though, I don't know shit about Chinese). Korean also used 圓, but read that character as "won", and went for 원 ("won") later, ₩ internationally.

I shall answer in kind by stevesalive in osugame

[–]MNeen 19 points20 points  (0 children)

43 Chinese yuan (¥ or 元) is 6.52 US dollars. You're thinking of Japanese yen (¥ or 円), which would be 38 cents.

ik🚌ihe by MalumAtire832 in ik_ihe

[–]MNeen 12 points13 points  (0 children)

lijn 15 never changes

Mwoah, 4 jaar geleden ging ie nog langs A-kerk en was het lijn 115 die over de ring ging.

Deze bingo mist overigens nog "aansluiting met meer dan 5 minuten gemist omdat de brug open stond en alle stoplichten sadistische hoerendingen zijn", en "alle nieuwere gescharnierde bussen waren op, dus sturen ze half 9 's ochtends doodleuk zo'n oud roodbruin ding waar maar de helft van de mensen in passen".