Hacker Newsnew | past | comments | ask | show | jobs | submit | gp7's commentslogin

Very good youtube channel, if anyone is wondering


A nice example of Japanese stroke order mattering are two of the katakana, ツ and シ. The difference is that the former starts at the top left and the strokes move right, then down and across to the left. The latter starts at the top left and moves down, then up and across to the right. It can be hard to tell what one you are looking at in practice if you don't know this.

I think cursive used to serve the same function, which I basically conjecture from the fact that older people tend to be significantly better at reading cursive than me.


Your oldies are better at reading cursive because cursive used to be read and written much more than it is today. It was the fastest way to write, and people had to use it a lot.

Typewriters first and computers later removed a massive amount of handwriting. Schools in some countries reacted by dropping cursive altogether, probably because they thought the effort to learn it was not worth it anymore.


Also, thick-inked ballpoint pens greatly increase the amount of pressure required to write. Cursive is faster if you use a fountain pen or a quill, but disjointed writing is faster with a regular Bic. If you've never tried one, a rollerball pen like the Pilot Precise V5 (regular or retractable) is much easier to write with because it uses fountain-pen-like ink.


I've taken a dive into the world of shorthand. Another thing near killed by computers. Surprisingly fun to get into, though. (The ridiculous sexism in many of the books is cringe inducing...)


I learned just the letter-forms (no shortcut / brief forms) from Teeline Fast, really helped me when taking sermon notes or wanting to write in my journals with a bit of obfuscation.


I had heard it was mostly to reduce ink blotting?


It helps with that if done right, but you can also reduce ink blotting in block if you learn the right strokes. I've seen a lot of people write block with a cursive a for example, and I think that reduces blot.


And yet on a screen like this there are no strokes, and thus no order. They're shaped differently, but there's no way to tell what order the lines were originally drawn in.


The problem is, if you write by hand and you start writing really fast, you will distort the image. As long as you use the common stroke order, that distorsion will stay readable as it is a distorsion that people are familiar with. Use the wrong stroke order, and your letters will become undreadable at high writing speed.

I'd assume this is the reason why japanese calligraphy [1] is still readible to the skilled reader albeit the images having no obvious resemblance to the original characters

[1] https://en.wikipedia.org/wiki/Japanese_calligraphy


Sort of funny that I read this and knew it was intentional, yet couldn't resist the urge to reach out and try to rub the 'smudges' off my screen.


Fun book.

"When mass produced, the cost of self-tuning options will be small compared to the price of a quality piano. You might think that this would put piano tuners out of work but that will not be the case because the number of pianos will increase (because of this book), ..."

That's confidence in the method, right there.


Steam only hosts the code incidentally. It manages your licenses. This is a big difference, and it's one publishers are free to work around if they wanted to.


When it comes to DRM and content hosting, the recent closure of the Microsoft ebook store comes to mind.

If a marketplace is underutilized it risks becoming obsolete. And, unfortunately, sometimes that means loosing access to content.

There are additional considerations, of course. Steam is also a social network of sorts, so fracturing gaming communities is also of concern. But it could also just be that gamers are accustomed to Steam; they like it. And they don't like platforms that don't play well with it.


Are you saying that Steam/Valve doesn't have any lock-in contracts? So, if my game is sold on Steam then I could let people 'port' it to another provider?

That would surprise me, but it would be great.


If by "port" you mean remove it from a steam accounts library and add it somewhere else on a different platform then no, I never heard about something like that. But you are free to give an extra copy to the other account, while accepting that some people will abuse this. Just like you can let people buy the game somewhere else and give them steam keys that can afaik be generated for free while missing out on some steam features like reviews being counted.

Or do you exclusivity contracts? There are certainly games that were sold on Steam and are now exclusively available on Epic's Store. Satisfactory is an example that comes to mind. Copies sold on steam are still honored there, so the contract probably doesn't allow you to force users off steam after the sale.

In general I'm quite amazed at how little abusive practices Valve has shown while having a quasi monopoly for such a long time. Stagnation is probably the one, if you want to count that. I hope they won't become worse under pressure. And I certainly have little trust in other companies trying to replace Steam to behave as well.


GOG Connect may be along the lines of what you're describing. The compatibly of games is on a temporary basis set by the publisher, but, yes, it does allow you to activate Steam purchases on GOG.


This is somewhat myopic -- there would be no incentive politically or monetarily for a publisher to a) track these licenses to the individual or b) give out new licenses to previous purchases.


When you write like this a lot, you end up talking like it, too.


The claim isn't never--it's for installing a small set of apps that you don't change for more or less the entire lifetime of your device.


Yes. Lurking around the app store of your device and installing random apps is a behavior for first-time users of the platform. Back during 2010 to 2015, almost everyone was a first-time user of the platform. From now on, downloading random apps is a job for ever younger audiences.


Crikey. I'm 48, a developer and I still install random apps.


Yes, I see and it's not binary like there's people who download random apps or not and there's people who are young or not, it's just that the numbers are clearly going in specific directions really fast.


I just bought a new iPad and one of the first things I looked for was apps that utilize the AR frameworks etc. if you are just gonna stick to the web it’s hard to take advantage the full power of your new device.


Yes because it's new and awesome and I'll probably do the same when I get an AR compatible device but it's not the reason we get the device. We get the device to install the apps we already like because we have stuff to do that we already started. Mostly. But especially for older audiences.


Older audiences tend to get replaced by younger ones.


The code is mostly equivalent to the recursive form found in the wikipedia article on the cooley-tukey algorithm. This is a good one to learn from, as its not only a simple formulation but it forms the basis of modern optimised FFTs such as FFTW (source[1], from the authors of FFTW).

As an aside, I also find the non-recursive, breadth-first, form easy to derive thru a process of code transformations of the depth-first form; explanations that start breadth-first are somewhat bewildering

[1] https://cnx.org/contents/ulXtQbN7@15/Implementing-FFTs-in-Pr...


Actually my quest is to write the FFT code at the lambda-calculus level. Why? First for the fun and also because I consider that lambda-calculus is for the mind what assembly language is for the computer. See http://lambdaway.free.fr/lambdaspeech/?view=PLR. In this page I would like to replace the inefficient unary numeration by a more efficient decimal position numeration and I guess that FFT, the Katsuba or any divide & conquer algorithm could be useful. It should be pleasant for the mind and could overcome limits of the JS numbers implementation.


"The code is mostly equivalent to the recursive form found in the wikipedia article on the cooley-tukey algorithm" I don't think so. A JS translation of the code shown in wikipedia can be seen in http://lambdaway.free.fr/lambdaspeech/?view=lispology.


You copy rather than use strided accesses. It's the same algorithm.


" You copy rather than use strided accesses. " I don't understand "strided accesses". « Plagiarism is stealing, copying is create. » I just translated the code in the lambdatalk language and added missing examples, something that I consider mandatory.


Sorry, I'm not accusing you of anything. By strided accesses I mean when you access elements of an array sequentially using some step size. Think loops with `i += stride` instead of `i++`. In the wikipedia pseudocode this is done implicitly using the 's' parameter. Notice that, in the version you implemented, you split the input into even and odd parts explicitly; you can achieve the same end by accessing the input array in a certain order as you are performing the mathematical operations. This is what the wikipedia pseudocode does. If you've seen other versions of the FFT with a bit reversal step, this is also where that comes in.

Check this out (javascript):

  function permute1(x) { 
      if (x.length == 1) return x;
      let even = [];
      let odd = []; 
      for (let i = 0; i < x.length; i += 2) { 
           even[i / 2] = x[i];
           odd[i / 2] = x[i + 1];
      }
      return [].concat(permute1(even), permute1(odd));
  }

  function permute2(x, offset, stride) {
      if (!offset) offset = 0;
      if (!stride) stride = 1;
      if (stride >= x.length) return [x[offset]];
      return [].concat(permute2(x, offset, stride * 2), permute2(x, offset + stride, stride * 2));
  }
  
  function permute3(x) {
      let result = [];
      for (let i = 0; i < x.length; i++) {
          let k = i;
          // pretend 32-bit ints
          k = ((k >> 1) & 0x55555555) | ((k & 0x55555555) << 1);
          k = ((k >> 2) & 0x33333333) | ((k & 0x33333333) << 2);
          k = ((k >> 4) & 0x0F0F0F0F) | ((k & 0x0F0F0F0F) << 4);
          k = ((k >> 8) & 0x00FF00FF) | ((k & 0x00FF00FF) << 8);
          k = ( k >> 16             ) | ( k               << 16); 
          k = k >> (64 - Math.log2(x.length));
          if (k < 0) k += x.length; // fix up due to signed ints
          result[i] = x[k];
      }
      return result;
  }
For arrays with power of two sizes, these perform the same permutation (but fail differently for non power of two sizes). Note that, with permute1, we effectively iterate over the entire input log2(n) times, so this is an O(nlogn) algorithm!

edit: also, i think i may have misunderstood the relationship between your js version and your lambdatalk version. They seem to be the same to me?


Thank you for your clever code. This morning I improved a little the JS code in http://lambdaway.free.fr/lambdaspeech/index.php?view=lispolo... and I plan to learn, understand and insert your code in the fft() function.

Yes there is a relationship between the JS version and its translation into lambdatalk. My project is to replace the array based version by a list based version so that I can replace in this page http://lambdaway.free.fr/lambdaspeech/?view=PLR the inefficient unary numeration based implementation of numbers (using standard Church numbers or just lists) by a decimal position numeration. Standard multiplication of words seen as polynoms being O(n^2) I need to go further and implement fast multiplication. So my interest in FFT.

As you could see in http://lambdaway.free.fr/lambdaspeech/meca/JS.js, the lambdatalk's interpreter is a regular expression window running on the code (not an AST) and replacing in situ expressions by their values. A kind of Turing machine. I like the idea of overcoming limits of JS numbers using nothing but words and simple substitutions on words.


Just a run of the mill human interest story about the checks notes CIA????


For people who are eager to think this is a don't-assume-gender charade: try misgendering a cis person next time you're out, and see how much they don't care. _You_ are who this is for


I get misgendered all the time due to the fact my first name is used almost exclusively for girls in the USA. It does not bother me very much.

I know this is annecdotal, but you did ask.

Edit:

In case, one is curious or unbelieving. Consider that my name is Nikita.


I don't follow. I get misgendered quite commonly. It doesn't bother me at all. Is it supposed to?


I've never been offended by getting misgendered, but hearing people get misgendered does, at times, bother me in the sense that it can make the sentence difficult to understand.


Mozart had extensive education and training????


Nope -- he was a prodigy from the earliest age. He was composing music at the age of 5.

Thats kindergarten. You might be thinking of other composers who are regarded as his equals -- Mozarts brain was just tuned for music in a way ours are not.


He was composing music at the age of 5.

I would have been composing at 5 had my father been a musician/composer/teacher! (I did start piano at 4, in a not-particularly-musical household) As it was, I remember hearing that when I was about 9, and thought "Oh well, it's too late for me" - which is a shame! But his first compositions weren't great. You write that like it's some super-human feat or something.

"he was a prodigy from the earliest age. ... Mozarts brain was just tuned for music in a way ours are not." I don't know why people talk like that. Maybe as an excuse for not achieving great things themselves, or even having to try.

There was a Hungarian guy who decided to train his 3 daughters to be chess players, to see just how good they could be given a proper training. The 2nd strongest sister became world champion. The strongest one never played in women-only events, she was too strong, and turned out to be the strongest woman chess player of all time, by a long way. (i.e. Susan and Judit Polgar) I don't think it was because their brains were 'tuned for it'. They just had the perfect environment.


Another example, this[1] music producer's kid developed perfect pitch despite the lack of any training. He was exposed to a rich variety of complex music right from the start. When the dad discovered his son's ability, he found out that the kid had his own names for the notes. IIRC, based on which song begins with that note. I think it's quite likely that if the dad had spent all his days composing music, the son would have been doing that from an early age as well.

[1] https://www.youtube.com/watch?v=t3Cb1qwCUvI


Heres another way to test your hypothesis that Mozarts genius can be credited to his training and advantage of a musically literate family.

If we applied the same training and familial advantage to many kids would any of them turn out like Mozart?

I'd argue they probably wouldn't because his brain was fundamentally different and that made the difference.

If he didn't have those advantages would he have been discovered as a prodigy as quickly and as early? Maybe not.


Your proposal can't actually test the hypothesis because it can't (reasonably) be done. We don't know how many children were similarly situated and did not turn out like Mozart.

It could be that many musicians with a similar background were/are similarly as good as Mozart, and Mozart's music is especially famous for its cultural appeal and his father's aggressive "marketing" to royalty. There are many reasons one particular musician's musicical legacy can succeed aside from raw skill and creativity, much like the success of a company has a nontrivial luck component.

It could also be that he really was extraordinary above and beyond his family's musical background. Like most discussions about the nature versus nurture of genius, we can't really assert one thing or another.


But again, many people have ideal environments and don't make it; others have environments far from ideal and do.


Is music composition difficult? Are most five-year-olds asked or encouraged to write music? Is this something that most adults have attempted and failed to do? Do you think that you could write a piece of music if you had time and inclination?

I'm asking honestly, because I'm pretty sure that I'm not having a typical life experience. Personally, I don't really bother to listen to music, because music is never further away than wanting to hear a melody. It's something to do on the bus, or when my mind is otherwise unoccupied. One starts with a note or a scale, finds a 'lick' in it, develops it into a theme or refrain, introduces a counterpoint or noodles around through the keys a bit, and eventually we work around to a restatement or finale (or get bored or forgetful in the middle). I suspect that this is easier for me than others, but I don't think that I'm any kind of musical genius. I'm at least hoping that creating music is more of a normal part of the human condition than not, at any rate.


Tbf, his compositions at 5 were and still are dreadful.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: