My son's flashcard routine - <AUTHOR> http://bentilly.blogspot.com/2012/10/my-sons-flashcard-routine.html <comment><USER2> When I was a kid.. I was outside playing. Seriously.

And then when I got older and could read, I was often reading books. And I think the knowledge and information you can glean from just reading books is enormous. Language isn't about spelling stuff right [1]. It's about having a comfortably large set of words at your disposal and knowing what words can go together to express feelings, atmosphere or intent.

[1]: the fascination with spelling seems to know no end in the USA. Spelling competitions?!

<comment><USER3> _the fascination with spelling seems to know no end in the USA_

It's not unique to the USA - the French could tell you a thing or two about the Championnats d'Orthographe....

I agree with your point though. There is a telling moment in the OP, where it says that the son's reward for working the flashcards is the parent reading him books beyond his reading level. What is the point of spelling words ahead of your reading level? Spelling prowess comes from repeated exposure to written words[1]. It's called "reading" and I can't see any reason (aside from stupid standardised testing) that a kid's spelling ability needs to be ahead of their reading level.

[1] This is if why you are a perl programmer the word "pearl" starts looking wrong.

Edit, due to comments below:

The question is why are teachers asking for words to be spelled essentially out of context. I just can't think of a good reason _because_ the only way you can learn them is by flashcard games, and like the comment above, I just can't see how it is a good use of a kid's time. I certainly do not blame the parent for making sure their kid does well at school, I just don't see the sense of school being this way.

Take the word, oh I don't know. Serialization. Or hypervisor. Or encryption. Most people here can spell them (I assume!) even though you were never required to learn to do so at school - you have learned by sheer exposure. You also know that the opposite of encryption is not unencryption, but decryption, and a decrypted message is not the same as an unencrypted message. Now of course there are linguistic reasons for all this, but the point is that you know these things because you encountered these words in context.

A kid that reads a Star-Trek tie-in is sure to be able to spell "teleportation". Yes, you can also teach a kid to spell that out of context with a flash card. But why? I just don't get it.

[Disclosure: frustrated non-native English speaker who had to teach a first grader to spell "reduce, reuse, recycle" this week, gaaaaah].

<comment><AUTHOR> You have no idea how many times I've apologized to my son for the fact that English spelling makes no sense and he has to learn it. If I could wave a magic wand, we'd have a good phonetic spelling system. (And there is an example of a word that is not phonetically spelled...)

With that said, let me clarify a couple of potential misconceptions.

The words that I am teaching my son are not beyond his reading level. In fact they are taken from lists of words that he is expected to be able to read, and was asked to spell on tests in his classroom. His spelling winds up beyond his grade level simply because most kids his age don't know most of those words.

The only connection between the reward activity (reading) and the flashcards is that I use the first to make the second pleasurable. I'm not reading to him because it is good for him, I'm reading to him because he enjoys it. I'd be happy playing with marbles instead. I don't put words from the story into the flashcards - he has enough other stuff that he actually needs to learn which is higher priority.

</comment></comment></comment><comment><USER4> I use Anki[1] with my kids (grades 1 and 3) for spelling, reading, and math. It works really well, was relatively easy to set up (import csv files), and keeps track of the spacing for me so I never have to worry about unconsciously filtering the hardest cards to the bottom.

Even better, Anki v2.0 just came out with the ability to have multiple profiles. (No more including the child's name in the deck's name... yay)

The downsides are: The documentation is lacking in all but the most basic uses; The help forums are difficult to find [2]; You are tied to your computer (or smartphone).

[1] <http://ankisrs.net/>

[2] <https://groups.google.com/forum/?fromgroups#!forum/ankisrs>

<comment><USER5> I was unsure why the original poster had developer his own system instead of just using Anki...

<comment><AUTHOR> That is addressed in paragraph 2. At the start I needed to address problems with handwriting, which meant that the evaluation of whether he has done the flashcard correctly has to be done by me. Having flashcards on a computer, and then a manual evaluation, seemed like counterproductive complexity. I did not want a computer between me and my son for this activity.

But it turns out to be a good thing. Because the fact that I have been involved has let me track down issues, such as the need for a reward activity. Anki currently does not offer that as a feature.

However in a year or so I do want to move my son to something like Anki.

<comment><USER5> FWIW: I used Anki for learning a foreign language, with the help of a human, who would ask one side, and then rate my answer. This worked pretty well, in fact, and allowed the devolvement to Anki of spacing and scheduling, with the benefits you've mentioned.

</comment></comment></comment></comment><comment><USER6> English word construction seems like anarchy, but there really are rules—they're just rules for all the different languages that english draws from, respective to each word. I learned to recognize the origin of words (from Greek, Latin, German, French, etc.) pretty early on, and it drastically cleared up the seeming chaos of how a word was spelled. Is your son getting any context behind the words? Otherwise I could see these exercises being as frustrating as trying to learn a modern symphony by ear with no knowledge of music.

</comment><comment><USER7> The startup I'm working on is a flashcard mobile webapp that uses spaced repetition, but also uses multiple choice quizzes for new cards that get harder each time a card is shown again. This lets students transition from answer recognition to answer recollection without that anxious feeling that comes from trying to recall recently learned cards.

It was designed for adults learning vocabulary for second languages or professional certifications, but lately we've been trying to see what kinds of features we could add to make it more useful for kids as well. The recognize- to-recall transition could really be useful for students who otherwise would be overwhelmed from the anxious feelings of recalling recently new cards.

One feature we're looking at is the use of mini games and tiny (10-15 second) video clips to make the app more fun and help space out new cards a bit more.

If anyone has a child who could benefit from reduced-anxiety learning, I'd love to chat with you and get your thoughts. Check out my HN profile for my contact info and more about the webapp.

</comment><comment><USER8> I have developed a flashcards app for both iOS ( <http://christian- kienle.de/Flashcards-Pro/> ) and OS X ( <http://christian- kienle.de/Flashcards> ). For the development of these apps I tried several different learning systems and interviewed friends who are learning with flashcards how they do it. I found out that everyone learns a little bit differently so it was hard to find one system that everyone could work with. So I decided to make the system pretty flexible by introducing smart decks - something like smart playlists but for decks of cards. The drill mode described in the blog post cannot be emulated in a nice way by my apps. I may adopt it because it seems really good to get the information in your short term memory which is the first step. Thanks for sharing your experience.

</comment><comment><USER9> When I was kid, my flashcard routine was this:

Show the card. If it is right it goes to the done pile, if it is wrong, it goes to the back of the current pile. Repeat until there is nothing left in the current pile.

Then do the same thing the next day. We did this until I could get through the entire pile in one try.

This method seems overly complicated for both child and parent.

<comment><AUTHOR> I did something similar to that as a kid. I hated it. It worked, but much less efficiently.

The strategy that you describe causes you to spend most of your time looking at cards that you've already mastered. You don't have the ability to slowly add to the list. You don't have the ability to have as many flashcards. And, according to the research, long-term retention is worse.

He currently has 465 cards that he's shown some retention on. Of those, tonight he will do 14. Your system would have him spending 33x as much effort maintaining that knowledge as what we're currently doing. A factor of 33 is worth some bookkeeping on my part.

<comment><USER9> > Your system would have him spending 33x as much effort maintaining that > knowledge as what we're currently doing. A factor of 33 is worth some > bookkeeping on my part.

I will grant you that. We only used this strategy for the times tables up to 12x12, which has a finite set of cards (144 if I remember my facts correctly :) ).

If I wanted to do an ever growing set, I might consider this method.

> And, according to the research, long-term retention is worse.

Can you point me at some good research on this area? I believe you, I'd just like to read more, as someone who is interested in this sort of thing.

<comment><AUTHOR> In the blog post I point to <http://www.gwern.net/Spaced%20repetition> which includes lots of links to research on various aspects of this topic.

</comment></comment></comment></comment><comment><USER10> It seems in english speaking country there is a need for flashcard system too.

I want to share my view on "flashcard" app.

I am a chinese coder, who love learning and reading english. To help people learn english words in long term(for school Exam,SAT,GRE, or just for work), I have made two web app.

1\. jianbing.org (running for 2years, shutting down for bad UX, 20K users) 2\. <http://rollingword.com> ( alpha, Launching, without rollingAlgorithm shipped)

To make things simple, I have a simple philosophy : Our brain is a distribute network system just like DNS! so our memo brain have two parts 1\. Area like Local DNS (22.214.171.124) , which is fast(fast CPU) but memo unit have TTL (time to live). It just a cahce with small latency. 2\. Area like Authority DNS( Like Router53) , slow CPU, Big database hard drive.It like computing strategy, coding, Learning.

We can not remember a word because it is not in the Local DNS(maybe in the Authority DNS area but it is a so slow CPU), or it is expired.

So our algorithm(calling rollingAlgorithm,which make word/cards rolling ) is to copy a Local DNS ttl table by collecting user test feedback;

how to test?

first user can get a list of cards/words, , by rollingAlgorithm(based on Actuarial Science, which used to calculate people life time).

the learning and reviewing is in a row. we show user a "pile" of card ,if user hit his cache , user click "Learn",we say he remember the word , send back a high score to rollingAlgorithm;

if cache missed,user click "fail", he will relearn the word and the word is queued in the row and will come up again (if missed again,come up again),send back a low score to rollingAlgorithm;

we collect user memo performance while they are learning!

we make your memory rolling, at best performance.

</comment><comment><USER11> The Pimsleur language instruction CDs use a similar method of spaced repetition. At least for me, it was incredibly effective.

<comment><USER12> What language(s) did you learn, how long have you been learning (them) and what level of fluency have you reached?

I have been using the Pimsleur Spanish CDs for almost 6 months. I have made a lot of progress (especially with vocabulary) but am still at a beginner level (high beginner though, almost low intermediate).

<comment><USER13> I learned basic Mandarin Chinese by using those CD's (Pimsleur) on the way to work and back for a whole year.

I am still amazed of how "organic" was the learning.. I mean, after some time I just started "understanding" more advanced conversations to the point that even my chinese friends got startled.

Also, I have not used the CD's for over 3 years (or spend time in china) and I still recall most of what I learned.

<comment><USER11> I think that's what stunned me the most about this type of learning is how _deep_ the knowledge gets burned into your brain. It's not like cramming for an exam or reading the language dictionary on the flight over.

</comment></comment></comment></comment><comment><USER14> Flashcards didn't work for my daughter at all. She just can't learn that way.

What we did for spelling and math facts was just to have her write each word/fact in the list X number of times (usually 5) and then we would quiz her on them. If she got them right, she was done. If she missed any, she would do them another X times. The rest of the week, we would quiz her each day before she started and she would only have to write the ones she got wrong. Usually she had everything down by Tuesday or Wednesday and her motivation was the progressively smaller amount of time she had to spend studying instead of playing.

<comment><USER15> Did you something like what is described in the post, or did you just do "the usual" with flashcards? (I have to admit I'm not confident you read the linked post before commenting based on the word "flashcard".)

<comment><USER14> What we tried was a system very similar to what was described in the post that yes, I did in fact read.

</comment></comment></comment><comment><USER16> This made me think back to Wordsmith (<http://en.wikipedia.org/wiki/Wordsmith_%28TV_series%29>). It was the show that got me from a young age thinking about how you break up and form words, etc. To this day in my head from time to time I'll often play over words, breaking them up and similar (as though getting a 'taste' for the word).

I wonder if perhaps this show might be of benefit as well to the son of the submitter.

</comment><comment><USER17> Ben, I didn't realize you had a child of just that age. Please allow me to recommend to you and to other HN participants who surf by who are parents of children learning to read the best--bar none--approach to initial reading instruction in English for native speakers of English. It has worked for all four of my children, including the three who spent significant parts of their childhood in a mostly Chinese-speaking environment (reducing their exposure to English speech and English printed materials). The book Let's Read, a Linguistic Approach

<http://wsupress.wayne.edu/slp/bloomfieldlr.htm>

[http://www.amazon.com/Lets-Read-A-Linguistic- Approach/dp/081...](http://www.amazon.com/Lets-Read-A-Linguistic- Approach/dp/0814334555)

by Leonard Bloomfield (an eminent linguist and pioneer of new methods of teaching hard-to-learn languages) and Clarence L. Barnhart (a lexicographer) has now been revised by Cynthia A. Barnhart and Robert K. Barnhart (I presume they are the original co-author's children). I used the first edition, and can recommend it UNRESERVEDLY. The first edition appears to no longer be in print, and some Amazon reviewers say they prefer the first edition, but the second edition, currently available, surely is better than the great mass of school materials used for English reading instruction. How I used the book is to set a goal of somewhere between one lesson a day and six or seven pages a day, and then read each lesson out loud to my child, with my child then reading the lesson back to me, with adaptation earlier in the book to do the reading and reading back a sentence at a time, and near the end of the book for the child to read by himself or herself without me reading first. All my children are strong readers who love to read. You'll find that this book, under Bloomfield's pedagogical influence, makes good use of spaced repetition of the key sound-symbol correspondences in Engish. But this is reading connected text, rather than just looking at flash cards, and the stories are remarkably interesting for their carefully graded vocabulary.

More details if you like. My main online involvement in the early 1990s was discussion of optimal reading instruction approaches for United States schools, but now I've discovered that mathematics education needs at least as much help, and have shifted focus to that. But I could provide (old) links to rationale for this approach if you like, and anyway an ounce of inexpensive prevention is worth a pound of expensive cure when helping a child's initial reading instruction prevents future reading and spelling difficulties. And kudos to you for continuing to read aloud to your child as he learns to read. Not reading to children beyond school age is one of the big missed opportunities in many middle-class families.

Aside to other participants: I'm wondering how many people who have used flash cards for foreign language learning have put their languages to the test in a country where those languages are spoken. I have studied many languages (I think there is a partial list in my user profile), and what I have observed over and over is how each language maps reality in a different way, so that ones rarely correspond one-to-one in the manner expected by flashcards. I much preferred learning to read Chinese, for example, by using the excellent Chinese Reader series by John DeFrancis

[http://www.amazon.com/Beginning-Chinese-Reader- Part/dp/03000...](http://www.amazon.com/Beginning-Chinese-Reader- Part/dp/0300020600/)

through which I first learned about Bloomfield's approach to foreign language teaching. (DeFrancis was a student of Bloomfield's.)

<comment><USER18> I must add my experience with this wonderful book. My daughter is 5.3 years old. She started with this book when she was 4.6 years old. Before that she only knew the names of the letters. She is now at lesson 95 (out of more than 250) and she can read very well (she is reading books like Frog and Toad etc.) I intend to finish the whole book before her sixth birthday by which time I am sure she will be an excellent reader.

The way we work with the book is that I will read the first 2 or 3 words on the page and then she tries to read the rest. I help when help is needed. In a good day she can read about 95% of the text without any help. The reason for this is because the text is organized in an excellent way. There is only one new rule introduced in a lesson and the child can figure it out the from the first few words and can take it from there. In fact I have found that quite often when my daughter cannot read a word, it is because she has lost focus and forgot how she read the words that came before. We go back a few words and reread them and suddenly the new word that she could not read, now is easy.

One characteristic of this book that I haven't seen other people mention is that the book is great for non-native speaker teachers like myself. Before I started with this book I got another book that used the phonetics method. But I couldn't start teaching my daughter with that book because I couldn't make the phonetic sounds correctly myself. With Bloomfield's book there is no worry for me because I do not need to make any sounds, just read a few words when my daughter cannot read them.

</comment></comment><comment><USER19> I used to have the same problem... I was young, about 5th grade and all my essay where horrible full of grammar error and I always got very bad grades on those. Then I move in the Junior High / Middle school and I was still doing very bad error, but the content of my essays was great so I was able to get about 60-70% on my test even if, again, the content was above the average. It was bad especially in Italian (my first language), where how you say a word is exactly the same way in which you spell it, we don't even have idea of what a spelling competition is, it just doesn't make sense. Then I move to high school, in my first essay I didn't do any single grammar error, it was great, no error at all.

I probably do have some problem especially with pronunciation, my parents used to bring me to some kind of doctor who I remember I hated, in my mind words were (and are) fine, but they just come out wrong out of my mouth, I ramble a lot.

Some people say that my mind just work faster than my mouth so I can't keep up with words and some of them come out wrong, obviously I can simply talk right if I put a little of effort on it, but sometimes especially when I am talking just because and other person are not suppose to care of what I am saying I just ramble (yes, I talk with myself, ok ???)

People usually don't define me like a dumb person, and my ramble nowadays is a problem only when I want it to be a problem...

I know that it is very hard to say, especially at a father, but kids most of the time just need time, your son is not stupid I won't stress him with those card, if you really want him to make some exercise ask him to keep a diary it helps a LOT, and not only with spelling but also with construction of phrase and syntax that is what really shape the mind of a person.

(NB Keep a diary is WAY HARDER than play with some cards, not because the spelling or the syntax, but because is something hard to do, it takes more effort, more time and he must be very determined doing that (I am not able to as instance) but it will lead to better result, it will give your son a wonderful memories especially for when he would be a teen or an adult, and it will teach your son DETERMINATION that is the only thing can be teached in order to make a successful person)

</comment><comment><USER20> Not very relevant, but gee, wouldn't it be nice if spoken and written words were isomorphic? Think of all the frustration we could spare children if every time they heard a word, they could figure out exactly how to spell it. Once they master the individual letters, spelling becomes all but trivial.

One can dream... <http://www.lojban.org>

<comment><USER18> Albanian, my mother tongue, is such a language. In first grade it took me all of 4 months to learn how to read and write everything. But that didn't mean I was reading everything. In fact I read my first book when I was in second grade and was reading independently only in fourth grade. One needs to practice reading to be able to read. Spelling also is not trivial. There is a one to one correspondence between sounds and letters, yes, but before you can write the word you need to figure out all the sounds that make up that word and that is not trivial at all. Again from my experience, we were taking dictations until second year of high schools and we were still making mistakes. I think that grammar actually plays a more important role in writing ability, at least when comparing Albanian and English. A verb in Albanian can appear in more than 70 different forms depending on the tense and other grammatical categories that I can't even translate, while a verb in English can appear in a very limited number of forms. I think it is much easier in English to remember by heart how to write those few forms than in Albanian to figure out how to write each form by sounding it. Of course an Albanian can predict how a verb should be written from the context (there are rules) but that cannot be done before having studied Albanian grammar for a few years.

</comment></comment><comment><USER15> It seems to me that at grade two, by the time you had as much experience as you describe in this post you ought to be blowing the doors off what is actually expected for a grade 2 student in school already, so I was surprised when the teacher suggested other things to be doing. Is he getting ahead now, or just catching up?

<comment><AUTHOR> On the material that I've been covering, he is blowing the doors off of what is expected.

But that only applies to what I've been covering. For instance the word "because" has not appeared on his spelling tests since I began, so is not in the flashcard set. It turns out that he consistently misspells it and so there is some unlearning to do there.

That is issue #2 in the list at the bottom.

<comment><USER15> Yes, it wasn't entirely clear to me what the ratio was, but I think I get it now.

</comment></comment></comment><comment><USER21> Post has been removed. Privacy?

<comment><AUTHOR> I misclicked inside of blogger. Fixed. Sorry.

</comment></comment><comment><USER22> Would it make more sense to say that his son is ahead in letter reversals?

</comment><comment><USER23> With no disrespect to the great man, just think "Em, jeff Barr is an Ass." when you want to get embarrassed.

Have you tried breaking down words logically by linguistic origin to supplement rote memorization drills?

<comment><AUTHOR> The only two mnemonics that I've taught him are, _There are two too many ways to spell 'tu'_ and _I before e except after c, or when says "a" as in neighbor and weigh._ I know that lots of people use mnemonics, but I've personally tended to find them more trouble than they are worth.

Until this week we hadn't encountered any facts that were sufficiently hard that he had to break them down to successfully master them. It is clear that he uses tricks acquired from one card to do another card. But I've not had to tell him how to do that.

I should note that drills usually involve under 10 cards. We're not talking about endless work. (In fact most of the work is reading to him. Which stretches his vocabulary, and is also a learning exercise, but I won't tell him that if you don't tell him that.)

<comment><USER24> The i before e rule isn't much use. There are so many words that don't fit, and so the rule gets expanded.

I before E. I before E, except after C. I before E, except after C or when the sound is "a" as in neighbor and weigh.

It's a weird rule.

Off the top of my head: seize, eider, science, frequencies, vacancies, fallacies, either, feisty, society. Etc etc.

<comment><USER25> The form of the rule that I was told in school is: I before E, except after C, when the sound is "ee". This (1) is pretty simple, (2) has rather few exceptions, and (3) does correctly give the spelling of lots of words that some people would otherwise find tricky.

Note that "except after C" means "ignore the rule in this case" rather than "reverse the rule in this case". That is, it doesn't mean "E before I, after C".

Of the 9 words on your list: 5 (science, frequencies, vacancies, fallacies, society) are "after C" and therefore not covered by the rule; 2 (eider, feisty) are never pronounced with an "ee" sound and therefore not covered by the rule; 1 (either) is sometimes pronounced that way and sometimes not and therefore a kinda-half-exception; 1 (seize) is a definite genuine exception.

There are a few other exceptions, but the rule in this form correctly fixes the spelling of a whole lot of common words (a few examples: piece, frieze, grief, believe, retrieve) that would be easy to get wrong without it.</comment></comment></comment></comment>


Stop Sucking and Be Awesome Instead: A Three Step Process - <AUTHOR> http://lifehacker.com/5914848/stop-sucking-and-be-awesome-instead-a-three-step-process Nobody wants to suck, but the truth is, before you can be great at anything, you're going to suck. <comment><USER2> Blogspam of [http://www.codinghorror.com/blog/2012/05/how-to-stop- sucking...](http://www.codinghorror.com/blog/2012/05/how-to-stop-sucking-and- be-awesome-instead.html)</comment>


Mapping high apline lakes for archaeologic explorations - <AUTHOR> https://arc-team-open-research.blogspot.com/2017/08/mapping-high-apline-lakes-for.html <comment><USER2> It's _Alpine_ lakes (misspelled in the article's title, too).</comment>


Non-Recursive Make Considered Harmful [pdf] - <AUTHOR> http://research.microsoft.com/en-us/um/people/simonpj/papers/ghc-shake/ghc-shake.pdf <comment><USER2> Paper title is about yet another build system (this one written in Haskell), to replace Make. While make is awful, Most other build systems I've ever used have ended up being awful in their own way, and have the massive disadvantage that my users probably don't have the CMake 188.8.131.52 that I wrote my build script for.

Also, I find it amusing that they claim Make's language is horrible, when they admit their replacement isn't shorter, I have to learn Haskell to use their system, and it looks like this (random snippet). No better than Make (in my opinion), and further I have to write unicode arrows?

        "∗.o" %> \out → do
        let src = out -<.> "c"

<comment><USER3> I suggest to read more about Shake before dismissing it. The paper is short and easy to follow. Shake solves real world problems that go ignored in other systems. If needed, one could add a simple mode via an EDSL, but so far nobody using Shake has requested such a things from what I can tell, but Neil would be better equipped to answer that. I haven't written a single Shakefile with unicode, and no you don't have to, but apparently you can, if you prefer to.

As a start I'd suggest to read "Shake before building".

<comment><USER2> I did read all of that. To me, the system seems inferior to tup, which they discuss (tup doesn't require me to specify dependencies, which I consider a killer feature). Also, tup works on windows, while that paper suggests Shake doesn't.

<comment><USER3> I didn't try tup, but I found the way it's said to detect dependencies by monitoring stuff to be a bad idea, though this is probably my personal preference. Can't tell how many developers don't like that design aspect.

Shake should work on Windows, given that Neil wrote a Windows progress bar tool for Shake.

<comment><USER2> If you don't like auto-tracking dependencies, then tup certainly isn't for you.

For me, it is a killer feature -- any system where dependencies are maintained manually inevitably gets out of sync with the code. Some systems have special compiler hacks (like gcc's -MM flag), but you still have to find the magic option for each program you use, and link them into your compiler. That's also very hard to do in dynamic languages, where you don't know what libraries you have loaded until you've run the program.

<comment><USER3> > If you don't like auto-tracking dependencies, then tup certainly isn't for > you.

I do use auto-generated/-detected deps for build time dependency graphs, but I didn't like how tup implements it.

</comment></comment></comment></comment></comment></comment><comment><USER4> I knew Make was terrible when I was first introduced to it.

This is why I think everyone should learn programming first and linux second - since many linux tools are terrible.

As expressed in the SICP book - the programming language should allow you to build abstractions. Make doesn't at all allow that.

<comment><USER5> I think you were misinformed about the purpose of Make. It should not be used as a programming language. You can write a short makefile by hand, reasonably, which compiles a few source files, but anything larger should probably be automatically generated by CMake or your own scripts or whatever.

Abstractions are perfectly possible, you just do it in your own script (Python or whatever) and this way you don't have to learn a new language. Ninja is a better alternative to Make, and it is even less expressive (which is one of the reasons why it is better, IMO).

Or in other words, we build abstractions in Make by composing it with other tools, rather than creating a huge monolithic Makefile syntax which can do anything you want.

<comment><USER6> In which case why even use Make at all? CMake could generate _anything_.

<comment><USER5> CMake can't generate anything, it only generates a few different types of files. Make is the most well-tested output, and there is only one alternative generator for CMake for the Linux command line anyway (Ninja, which is even less expressive than Make).

It's like saying that "Why use assembly at all? GCC could generate anything." Well, yes. But you're on an x86 machine and there's an assembler _right there_ for GCC to use, and GCC has been using that assembler for decades.

<comment><USER4> All of these things sound complicated. What is CMake now ?

Manipulating files is trivial in any programming language expect maybe in something like C,C++,Java,etc.

Python/js/go make it really easy to deal with complex build systems or even just 1 liners.

So I have no idea why make has any advantage over those - only use-case is if you are writing C where its non-trival to do file-handling.

I moved to npm scripts once I asked the question "how do i make a multi- process build script in make ?"

and all the neck-beards in uni had no answer - so I just write small scripts which grow and shrink based on my needs.

<comment><USER5> Make is really fast, and it's good at doing parallel builds (you just have to specify -j). You could try making something better in Python, but it would take a long time to write and Make is already here. You apparently had the opposite experience from me. I hate NPM build systems like Grunt and Gulp because they're hard to debug. Make is easy—keep the files around and tweak the command line until it works.

No idea how you missed the -j option.

</comment></comment></comment></comment></comment></comment><comment><USER7> > To validate our claims, we have completely re-implemented GHC's build > system, for the fifth and final time.

Until they re-implement it again :)

> Unfortunately no cross-platform APIs are available to detect used > dependencies, so such tools are all limited in which platforms they support.

How about using libfuse? One could run the build inside a "virtual" folder served by libfuse, and thus detect all dependencies (they will show up as "read" operations in the libfuse API).

<comment><USER8> > Until they re-implement it again :)

As the paper says, every previous implementation started nicely and got horrible towards the end. This time, that hasn't happened, so _hopefully_ it's the final one. But, of course, never say never.

> How about using libfuse?

What about Windows? Certainly you could use something like libfuse, and we're trying other solutions - if we manage to build a cross-platform API Shake will be able to use it easily.

</comment></comment><comment><USER9> If your build reaches the point where you feel you need a wide variety of strange "make" constructs, you don't necessarily need a new build system; you need to be smarter about the setup. For example: _do everything in two phases_ , where the more "magical" version _generates_ a less magical, verbose, static makefile with more rules that are relatively easy to understand and debug.

And, besides: a huge impediment to improving the state of build systems is that new build mechanisms won't be installed on most platforms by default. If you _must_ explore new ways to build, be sure to implement that in terms of what is already there (Perl/Python/whatever) and make sure to _ship your new build system WITH your code_.

When I download some "neat-project-1.0.tar.gz", the last thing I want is to have to futz with setting up your special build system that Probably Nothing Else uses or will ever use. If it's not in the tarball, I will already lose a lot of interest; I know most things can "configure, make, make install" in minutes but I _don't_ know how much time will be wasted installing whizbang- build-0.1 first and I probably won't even try.

<comment><USER10> I was working on a CentOS 6 box not long back and it's shocking just how many big projects you pretty much can't build. Not because they didn't write portable C, but because they have requirements on a minimum version of autoconf, which is later than shipping under CentOS 6.

<comment><USER11> autoconf _shouldn't_ be relevant to building, rather than maintaining the project. (I know you can't always get a proper release in this day and age.)

In some cases you do need to re-autoconfiscate, which is why EPEL6 has autoconf268 (from RHEL7). Otherwise there's a software collection with up-to- date autotools, though you might expect them in the devtoolsets.

</comment></comment></comment><comment><USER5> Reading the article, I wonder if Shake could be used to generate Ninja files. It looks like it might be possible. The main "backend" improvements in Shake are things like concurrency reduction (pools in Ninja), hash-based rebuilding (available but undocumented in Ninja), and generated dependency rules. In such a setup, you'd use Shake for all your abstractions, and Ninja to execute the rules.

<comment><USER3> Shake can interpret Ninja files, actually.

But I can see the appeal of Ninja files of something that allows one to avoid the GHC requirement in a build environment.

Though I've found Ninja to be more like something that needs to be generated from something else and less something you'd write. So maybe Ninja can be exactly that, kinda like build script assembly.

</comment></comment><comment><USER12> Make is convenient for tiny programs, and annoying for larger ones. The system in GHC seems like a nightmare to maintain - I remember having trouble building GHC, mainly because it was hard to debug their system.

I use Docker for a similar purpose nowadays. It's inconvenient for development, since rebuilding the containers is slow. But it usually works without much trouble. I think there's a GHC Dockerfile somewhere that hvr maintains.

I haven't used Shake specifically much. The only thing that bugs me is that Haskell isn't nearly as portable as plain Make. If Shake didn't build the program but rather emitted a build-file that a small reference C program could interpret, I would feel much more comfortable about using it for just about everything. Because I'd know that if I was on some ancient CentOS 4 system, I could still build my software.

</comment><comment><USER13> Titles containing considered harmful considered harmful

<comment><USER14> I assume they are playing off the 1997 article "recursive make considered harmful"

<comment><USER15> It's from the 1968 letter "Go To Statement Considered Harmful" by Dijkstra</comment></comment></comment>


E3-1240 v5 3.50GHz single core perf worse than E5-2650 v2 2.60GHz PHP 5.X - <AUTHOR> E3-1240 v5 @ 3.50GHz performance is worse than E5-2650 v2 @ 2.60GHz for PHP 5.X. For PHP 7 (and everything else) the E3 is better.
The test setup is Xenserver 6.5 w/Centos 6.8 kernel 2.6.32-642.6.2.el6.x86_64 HVM guests. Each VM has 2 cores assigned. The test is using siege. PHP 5.4, 5.5, 5.6; are all nearly 50% slower for E3. PHP 7 is 200% faster for E3. Varnish is nearly 300% faster for E3. Sysbench tests are 150% - 300% faster for E3. Only PHP 5.X is faster for E5.
I've torn down and rebuilt the VM's several times and confirmed they are the same. I've even live migrated them across to the other host/proc and confirmed the same results.
I've tried strace, but it isn't going to work because it adds overhead to every call and the E3 executes that overhead faster. In a browser the E5 TTFB is 167ms; the E3 is 318ms. Stracing the call on the E5 is 548ms; E3 557ms. The E3 executes the overhead of strace faster and the execution times equalize.
What is different about PHP 5.X that it would run so much better on the older generation, slower clocked, E5? Is it the larger l1/l2 cache making the difference? Or something else, instruction set related maybe? What another tool could I use, that adds a little overhead, to see the php execution performance? <comment><USER2> You are comparing low end Xeon processors with high end Xeon processors ($250-$280 vs $1166-$1180 per processor). You would need to use the same series E3-1240 v2 vs E3-1240 v5 to have a more accurate test. [http://ark.intel.com/products/88176/Intel-Xeon- Processor-E3-...](http://ark.intel.com/products/88176/Intel-Xeon- Processor-E3-1240-v5-8M-Cache-3_50-GHz) [http://ark.intel.com/products/65730/Intel-Xeon- Processor-E3-...](http://ark.intel.com/products/65730/Intel-Xeon- Processor-E3-1240-v2-8M-Cache-3_40-GHz)

</comment><comment><USER3> Maybe

      perf stat -d php ./benchmark.php

would show some difference? It measures some kernel and CPU events like context switches, page faults, L1 and L3 cache misses.

<comment><AUTHOR> Unfortunately <not supported>

Performance counter stats for 'php56 index.php':

            394.588620      task-clock (msec)         #    0.983 CPUs utilized
                   226      context-switches          #    0.573 K/sec
                     2      cpu-migrations            #    0.005 K/sec
                17,447      page-faults               #    0.044 M/sec
       <not supported>      cycles
       <not supported>      stalled-cycles-frontend
       <not supported>      stalled-cycles-backend
       <not supported>      instructions
       <not supported>      branches
       <not supported>      branch-misses
       <not supported>      L1-dcache-loads
       <not supported>      L1-dcache-load-misses
       <not supported>      LLC-loads
       <not supported>      LLC-load-misses

           0.401580145 seconds time elapsed

Working on finding the event descriptors...

</comment></comment><comment><USER4> PHP 5 is allocating memory differently from PHP 7. That's why you see difference there and this is the biggest difference between E5 and E3 here (memory bandwidth,cache size). PHP 7 is making optimizations making less memory allocations because it allocates in chunks, PHP5 is allocating/reallocating all the time.

<comment><USER5> Yep: [http://www.slideshare.net/nikita_ppv/php-7-what-changed- inte...](http://www.slideshare.net/nikita_ppv/php-7-what-changed-internally- php-barcelona-2015)

<comment><AUTHOR> Memory seems likely.

On the E5 php 5.6 in top we see sys at 15%.

On the E3 php 5.6 in top we see sys at 7%.

On the E5 php 7 in top we see sys at 13%.

We are exploring memory perf more now.

</comment></comment></comment><comment><USER6> I'm just speculating here, but if I remember correctly, PHP5 uses significantly more memory than PHP7, and the E5 has a 2.5x larger L3 cache and almost twice the memory bandwidth of the E3. Perhaps that has something to do with it?

<comment><AUTHOR> We thought that as well. The E5 has 4 memory channels max bandwidth of 51.2 GB/s. The E3 has 2 memory channels max bandwidth of 34.1 GB/s.

But we see a dramatic difference in single core tests. Our virtual machines have 2 cores assigned and there's also a dramatic difference. I wouldn't think that 1-2 cores would saturate 2 memory channels nor 34.1 GB/s bandwidth. If we were testing all 8 cores on the E3 vs E5 8 core virtual machine, yeah maybe, but 1-2 cores?

The L3 cache is much larger on the E5 at 20MB Smartcache vs the E3 at 8MB Smartcache. That seems to be the more likely suspect but I don't know enough about how the cpu cache is used in relation to php to say for sure. Hopefully, someone else does :)

Ref: [http://ark.intel.com/products/88176/Intel-Xeon- Processor-E3-...](http://ark.intel.com/products/88176/Intel-Xeon- Processor-E3-1240-v5-8M-Cache-3_50-GHz) [http://ark.intel.com/products/64590/Intel-Xeon- Processor-E5-...](http://ark.intel.com/products/64590/Intel-Xeon- Processor-E5-2650-20M-Cache-2_00-GHz-8_00-GTs-Intel-QPI)

<comment><USER7> You have talked about everything but what the parent was mentioning- actual cache. As in, L1 and L2. Those vary sizably among the different price tiers, somewhat understably, for reasons related to this.

On recent IBM Power chips, there's a so called PowerCore option that turns off half the cores, and lets the remaining cores double their L2. On some workloads that's a net win. I also tend to think it's there for those people paying a pricey per-core or per-socket fee, where a modest 15% performance gain/core could be very rewarding in a way that scale-out/more-cores can't replicate, but that's in a different realm than anyone I know.

<comment><AUTHOR> See the other comment above re: perf stat. Working on the event descriptors to see and confirm the l1/l2 cache hits/misses.

</comment></comment></comment></comment><comment><USER8> Look at the cache miss counters, I suspect that's the explanation. Your other workloads are more cache friendly.

</comment><comment><USER9> > Varnish is nearly 300% faster for E3

That is the most worrying thing IMO. If the cache is hot (i.e. all loads are from RAM), then the E5 should be vastly more powerful, not vice versa...

Could you try the benchmarks with Gentoo, with optimised builds for each CPU?

</comment><comment><USER10> Just to make sure: You built all binaries and linked libraries yourself, from scratch, with the same optimization settings, right?

<comment><AUTHOR> The binaries are from remi repo. We have a template we provision from. I used the same template on each virtual machine.

PHP 5.4.45 (cli) (built: Sep 19 2016 15:31:07) PHP 5.5.38 (cli) (built: Nov 9 2016 17:32:11) PHP 5.6.28 (cli) (built: Nov 9 2016 07:04:38)

The binaries are the same on each virtual machine. Are there build optimizations for E3/V5 vs E5/V2 that could make such a difference?

<comment><USER11> >Are there build optimizations for E3/V5 vs E5/V2 that could make such a difference?

Potentially, yes.

Either way you're not comparing apples to apples using packages from a 3rd party repo built for a different system.

Newer processors have different instruction sets (AVX is a big one). You'd want to make sure you're not only compiling it on each different platform, but also using a new enough compiler to support the instruction sets.

<comment><AUTHOR> Correct. We are going to build using the correct -march flags: [https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html)

<comment><AUTHOR> >>gcc -march=native -Q --help=target

>>march=silvermont

gcc native thinks this e3 is silvermont, a low power SoC.

<comment><AUTHOR> We built 5.6 with -O2 -march=broadwell -mno=avx (had to remove, probably pecl ext issue).

There was about a 15% performance gain. Nothing that would explain the large difference between E3 and E5.

</comment></comment></comment></comment></comment></comment><comment><USER12> Have tried comparing on bare metal?

<comment><AUTHOR> We have not compared on bare metal.</comment></comment>


Why Telling People They Don't Need Masks Backfired - <AUTHOR> https://www.nytimes.com/2020/03/17/opinion/coronavirus-face-masks.html <comment><USER2> Masks while not 100% effective do in fact help for a lot of airborne viral infections in public places. Especially when paired with hand washing and staying home.

Then again if you are making an unavoidable trip to the store, there is not much point since the original chance of infection is so low from casual passing contact with few people. But it makes sense if you or a family member are immunocompromised, have COPD or some other critical condition. That reduced chance from wearing a mask is worth it due to your high chance of death. Not so much if you are a healthy 15-50 year old who lives alone with their cat.

</comment><comment><USER3> Meanwhile, Jeff Bezos and his Amazon stores are selling masks that were factory packaged as 20 packs as "loosies", ruining their sanitary packaging, for prices from 10x to 100x of the original list price. Many times the descriptions don't make it clear that you're getting a single mask from a 20-pack.

[https://pbs.twimg.com/media/ETU- _paU0AIjwnK?format=jpg&name=...](https://pbs.twimg.com/media/ETU- _paU0AIjwnK?format=jpg&name=large)</comment>


Ask HN: Keyboard Recommendations? - <AUTHOR>

Hi all-
I am currently in the market for a new keyboard.  I do a fair amount of hacking and am looking for suggestions for comfortable, reasonably priced options.
So, what say you? <comment><USER3> I am in love with my Microsoft Natural Ergonomic Keyboard 4000. Of course, if you don't like split keyboards, it is probably not for you. The two things like like about it most are the soft faux-leather palm wrest (very comfy), and the negative slope shim that it comes with. The shim makes the keyboard incline away from you slightly, which I find provides a more comfortable wrist angle.

There is, for me, one downside. I hate the F-Lock key with a passion. It turns the F keys into stupid M$ buttons when it is toggled on. For me, as a Linux developer, this means that my hotkeys start doing crazy stuff whenever I bump the F-Lock key. I really should get around to popping it off the keyboard.

Other than that, it is a good solid keyboard. I work on this thing for around 10-14 hours a day, and it has been pretty easy on my wrists.

<comment><USER4> I hate the Microsoft Natural 4000 so much - I have one here. Apart from the split layout there's not much for me to recommend.

Problems I've faced on it are: 1) Long spacebar with pressing mechanism in the centre. Pushing from the side (where my thumb is) creates a slight resistance in the centre plastic which then causes a louder clack when it gives way. This is noticeable when working in a silent room, and noticeable on my fingers.

2) Too much key travel on all keys - when I went back to typing on my mac after using my 4000 for 6 months, I couldn't believe how much more relaxed my fingers were after not having to press _so far down_ with the keys.

I think the MS Natural 4000 keyboard is designed for people who aren't aware of their fingers but think they're getting ergonomic benefits just from a split keyboard with a faux-leather palm rest. I tried many of these MS 4000 keyboards and they all had the same design that I consider to be a flaw.

<comment><USER3> I'm actually quite aware of my fingers. I have been playing piano, banjo, and several other instruments on a fairly regular basis for around 15 years now. If that doesn't make me "aware of my fingers," I'm not sure what would.

I don't see why having to press a key down slightly farther is necessarily a problem. If your forearms and wrists are in a comfortable position, it doesn't much matter how far your fingers have to move. In fact, I tend to think that a bit more movement is actually helpful with circulation.

You're entitled to your opinion of the keyboard, but I think it was just downright rude to say that the keyboard was designed for unaware sheeple like me.

</comment></comment></comment><comment><USER5> My Kinesis Advantage meets at least one of your criteria. ;)

<http://www.kinesis-ergo.com/advantage.htm>

And given that I spend so much of my life in front of a keyboard, I'd argue that the Kinesis _is_ reasonably priced, for me. But your mileage may vary.

<comment><USER6> I would purchase it in a heartbeat (despite its humongous pricetag) if it had dead keys. I live in the US, but speak other languages as well -- to put accents on certain letters, I need to use dead keys.

<comment><USER7> I've gotten around this by enforcing that kind of thing in software by using the US-International layout.

I speak English and German, so while I _can_ transliterate ä, ö, ü, and ß, I don't particularly want to. Instead, I just type AltGr+q, AltGr+p, AltGr+y, and AltGr+s. There are dead keys for other diacritics.

<comment><USER6> But there isn't an AltGr key on that keyboard! I actually have AltGr mapped to my right alt. There's only one alt keyboard in that key

</comment></comment></comment></comment><comment><USER8> Sorry, this isn't very helpful, but I thought I'd take this opportunity to show the world this keyboard:

<http://www.walyou.com/img/datahand-keyboard.jpg>

Actually, I did have a coworker who used this. He typed absurdly fast with it. However, whenever someone else wanted to use his computer, he went on a search for a regular keyboard.

<comment><USER9> I was a fan of this for ages, then I bought one from ebay.

Good things: It's a great design and it's easy to pick up since it's a lot like wrapping the top and bottom qwerty lines up around your fingers - <USER2> same fingers for many of the same keys, but no chance of misreaching and mashing two keys. The keys are magnetically held, and you push them out through an optical sensor - so there is a definite feel of breaking the magnetic grip, but you aren't whacking your fingers into a solid stop like a normal keyboard.

Bad things: The one I have is old and emulates a serial mouse, and Microsoft took serial mouse support out of Vista. The mouse emulation is serviceable but not brilliant. It's slightly awkward to extract your hand to reach for a mouse without pressing keys. You can't type one handed and hold a mouse/phone/mug of tea. No numeric keypad.

At work, the need for a mouse and phone made it awkward, at home I don't type enough solid blocks of text on a desktop computer (it's not much good for laptop use either).

I still like it and like the idea, but it's in a box, unused, because it's mildly inconvenient.

<comment><USER10> Another point of experience: out of the box it is pretty poor if you work on the macintosh; by default there's nothing mapped to "command" and there're not enough "keys" on it to remap anything to command without giving up something else you probably need (like shift or alt or control).

You can work around this with a footswitch but it's another point to keep in mind.

Mine suffered a similar fate to yours: in a box, awaiting some future period where I have enough downtime to ride out a month or two of reduced typing speed to train myself.

</comment></comment></comment><comment><USER11> IBM Model M. Noisy as hell, built like a tank, best tactile feedback around (due to the buckling spring technology). Currently made and sold by Unicomp (<http://pckeyboards.stores.yahoo.net>).

</comment><comment><USER12> I've really come to like Apple's default keyboard; the keys are extremely flat, spaced apart, and almost silent. Although, the function keys are half- sized for no good reason.

<comment><USER13> The apple keyboard is my preference too, but the wired one with the numpad! I have no idea why they didn't make a wireless one with a numpad :(

</comment></comment><comment><USER14> The kensington slim type is the best kb I ever had out of my 18 yrs or so of computer usage. It's tactical feel best even the Lenovo laptop keypad. It is one of few kbs that has 4.5 stars rating from 100+ users on amazon. It's also one of few kbs that is not a mile wide. I just wish they just drop the numpad all together, or at least make a version that did.

My only quest in finding a better kb is to find a relatively good kb that doesn't have the numpad (I dislike extra travel space to the mouse).

I don't think there are any good kb for < $60 that drops the numpad. I had some el cheapos from Fry's that didn't have the numpad, but they aren't as good and the key placements are not the normal settings. The apple kb is no where near as good as the slim type for me, and it doesn't have delete key and it's well over $60. The only ones I know are ones like logitech makes that comes with kb and numpad separated, but they are close to or over $100.

</comment><comment><USER15> I use a couple of small form-factor IBM keyboards I bought on sale for about $10 each a few years ago...looks like the Rapid Access III is the current model that looks pretty much the same, and they sell for ~$50. IBM historically makes really solid keyboards with a nice feel. The small form- factor brings Esc and Del/Home/PgUp/PgDn closer to the home row, without losing the number pad.

They're about five years old now, and probably due for replacement (they still work fine, but five years worth of heavy use tends to make keyboards kinda gross and key labels fade and such). I looked at the new Apple keyboards when I was at the Apple store with a friend, and for the first time in my life felt a pretty strong desire for an Apple product. They _look_ amazing. I'm not sure I'll actually like it better than the IBM for long term use, though. But I suspect that'll be my next keyboard, at least to give it a try.

</comment><comment><USER16> The microsoft internet keyboard has all the trappings of the perfect keyboard. (except it is not USB.) The arrow keys are in the preferred upside down tee, it has a huge delete button, the home and end keys are in the correct logical left to right order, the page up and page down are in the correct up and down configuration. Split keys are there for ergonomics and it is fairly cheap.

[http://www.google.com/products/catalog?hl=en&safe=off...](http://www.google.com/products/catalog?hl=en&safe=off&q=microsoft+natural+multimedia+keyboard&cid=16650197810230819705&sa=title#p)

I don't know about those sellers but that is the keyboard that I love.

</comment><comment><USER17> I've been really happy with my Das Keyboard Professional. I've been using it as my main keyboard since it was first released about 15 months ago.

[http://www.daskeyboard.com/daskeyboard_original_professional...](http://www.daskeyboard.com/daskeyboard_original_professional.php)

The only downside is the $129 USD price. You'll have to decide if it's "reasonably priced". I got nice discount on a pre-order, but at this point I would gladly pay more. This thing doesn't show any signs of ever dying on me though.

Update: I just checked and it's actually on sale right now for $109 USD.

<comment><USER18> I own a older version of "das Keyboard" which is actually a Cherry-G80 OEM (which I also own, and a unnamed clicky DEC Alpha Workstation PS/2 keyboard). They all give great feedback and I prefer them for typing larger amounts of text. Of course they are absurdly lound, and I'm happy that my coworkers don't complain (too much).

On the other hand, I detest keyboards that only use a soft rubbery membrane that feels like I'd dip my fingertips into honey (which is basically every keyboard that nowadays is shipped with cheap systems). While it may sound illogical, using those for anything larger than a simple blog-post and my hands begin to hurt. Maybe because the lack of feedback makes me assume a unhealthy hand-posture?

<comment><USER19> I love the old clicky keyboards. The ergonomic split keyboard feels like mush and these laptop keys are too slick. I do like the latest chicklet Apple keyboards. I went in with the expectation that it would be weird and unenjoyable, but I acclimated quickly and achieved incredible typing speed.

</comment></comment></comment><comment><USER20> "I know why you're here, d4ft. I know what you've been doing … why you hardly sleep, why you live alone, and why night after night, you sit by your computer. You're looking for it. I know because I was once looking for the same thing. And when it found me, I realized I wasn't really looking for it. I was looking for an answer. It's the question that drives us, d4ft. It's the question that brought you here. You know the question, just as I did."

"What is the ultimate keyboard?"

"The answer is out there, d4ft, and it's looking for you, and it will find you if you want it to"

</comment><comment><USER7> Kinesis Freestyle. I bought mine for $90 from an online retailer, and I turned around and bought the VIP kit for another $40.

In retrospect, I wish that I would've spent the extra bucks on the longer cable connecting the two pieces together. There're nuts on the underside of the thing that look like they'll accept screws for mounting it to half-assed hardware for attaching it to, e.g., a chair.

</comment><comment><USER21> I really like IBM/Lenovo ThinkPad keyboards, mainly for the trackpoint ("pencil eraser" mouse device), which requires less hand movement than a typical trackpad, mouse, or trackball.

They have an external USB version for desktop use: <http://lenovoblogs.com/designmatters/?p=2364>

<comment><USER22> Cool. I wish the trackpoint was available on any of the split keyboards...

</comment></comment><comment><USER23> I have an old SGI keyboard that I'm totally partial to. The previous one died about a year ago and I searched high and low for another, finally buying a complete indy just for the keyboard.

It's heavy, sturdy and doesn't move around on the desk when I type.

You'll have to pry it from my cold dead hands if you want it though :)

</comment><comment><USER24> I recommend the happy hacking keyboard professional 2. <http://en.wikipedia.org/wiki/Happy_Hacking_Keyboard>

</comment><comment><USER25> for anyone interested in getting the best keyboard possible, check http//:geekhack.org. Nowhere on the net will you find more keyboard knowledge.

I have + ~5 keyboards. Using a kinesis contour now.</comment>


Show HN: Hacker News Wisdom - <AUTHOR> https://hnwisdom.herokuapp.com

<comment><AUTHOR> OP here:

In the last 2h I hacked this together.

It's simple and maybe lacks some features. As I'm very short on time - <USER2> my bachelor thesis - some help would be great: [https://github.com/TimDaub/hnwisdom](https://github.com/TimDaub/hnwisdom)

:)</comment>


Why and How Capitalism Needs to Be Reformed [pdf] - <AUTHOR> https://www.economicprinciples.org/downloads/Why-and-How-Capitalism-Needs-To-Be-Reformed.pdf <comment><USER2> >Create private-public partnerships (including governments, philanthropists, and companies) that would jointly vet and invest in double bottom line projects that would be judged on the basis of their social and economic performance results relative to clear metrics.

I think someone like Anand Giridharadas could probably detail why this is A. the current status quo and B. probably not the best solution moving forward.

</comment><comment><USER3> Good to have a story to the original PDF, but you should also post this link on [https://news.ycombinator.com/item?id=19582562](https://news.ycombinator.com/item?id=19582562)

<comment><AUTHOR> Thanks for the pointer; didn't realize he had posted part 1 separately already. I have now posted links in the comments of that HN thread.

</comment></comment><comment><USER4> This appears to be two papers in one. The first one is the one we saw yesterday. The new content starts on page 15 (which is labeled "1").

</comment><comment><AUTHOR> Here is the same content in a new LinkedIn post -- [https://www.linkedin.com/pulse/why-how-capitalism-needs- refo...](https://www.linkedin.com/pulse/why-how-capitalism-needs-reformed- parts-1-2-ray-dalio/)

(Part 1 posted yesterday; thanks HN.)

</comment><comment><USER5> "Redistribution of resources that will improve both the well-beings and the productivities of the vast majority of people. " ... Um, has this guy ever had a conversation with an average Joe from China? Me thinks not, based on this statement.</comment>


If PHP Were British - <AUTHOR> http://www.addedbytes.com/blog/if-php-were-british/ <comment><USER3> If it were truly British then upon an exception it would apologise excessively and offer to dust you off.

Queues would also be ubiquitous. Data could not be accessed in order, but would have to be retrieved from an unordered queue, which would necessarily involve a long wait.

There would also be a congestion charge for drivers at certain hours of the day and interfacing with Rails would cause unexpected delays.

<comment><USER4> Hmm. Queuing might well be ubiquitous but data would be accessible only in meticulous order: from the head of a queue and from nowhere else.

</comment></comment><comment><USER5> Funny, but completely ignorant of the fact that Canadian English is distinct from Amrican English. We generally spell it 'colour' here, but draw the line at 'connexion', and have two spellings for 'seriali[sz]e', depending on the audience and style guide you follow. Joe Clark has a wonderful book about this, _Organizing Our Marvellous Neighbours_ (<http://en-ca.org/>).

<comment><USER6> Yeah, the opening paragraph to this one lost me. I have a Canadian passport and I was living in Canada at the time and we spell it "colour" there. But yes, I chose to go with American English over Canadian/Danish/Inuktituk simply because I was already used to that from other languages. Like others have mentioned, non-American programmers don't tend to think of the terms in programming languages as an extension of the language, but simply as tokens that do things. Having those tokens consistent across languages makes sense.

<comment><USER7> Yeah, it makes me wonder if we'll ever see a programming language that uses "colour." Are there any out there? We must do something to reverse this trend!!!

<comment><USER8> Wx uses "colour" everywhere:

<http://www.wxpython.org/docs/api/wx.Colour-class.html>

</comment></comment></comment></comment><comment><USER9> I'm amazed that no comment has yet mentioned my favo(u)rite take on the subject, the immortal Lingua::Romana::Perligata [http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata....](http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html) ;)

</comment><comment><USER10> I find myself getting genuinely annoyed when having to write things like "color" in CSS.

I wonder, though, as fun as it is to think about these jokes, what serious implications it had. Let's say, for example, it actually had been started with variables using a £ rather than $, would it have made any difference at all?

<comment><USER11> really? I'm British and I'm quite amazed at how I can (without ever thinking about it) switch between colour and color. I wonder if maybe some people approach programming as a _different_ language (eg: color isn't colour, it's color, it is a unique thing) and then some approach it as an extension of their own language.

<comment><USER12> Also a Brit here. I used to get annoyed, but eventually I think it seeped into my system as a different language as you put it. About 2 years ago I had a colleague get very angry with me for writing code analogous to:

Color colour = new Color();

To me, it makes perfect sense, and tbh didn't realise I was even doing it. I definitely endorse everyone standardising on American spelling though, now its been pointed out to me.

<comment><USER13> Strangely, I do that too. I tend to blame my education :)

Amusingly enough, (though not strange, if you consider its origins) Haskell uses the British spelling. Off the top of my head, the colour types are defined in the Data.Colo _u_ r module.

<comment><USER14> After seeing him give a talk, I've come to the conclusion that Simon Peyton- Jones is possibly the most British man alive.

<comment><USER15> If anyone is interested:

[http://ontwik.com/haskell/simon-peyton-jones-a-taste-of- hask...](http://ontwik.com/haskell/simon-peyton-jones-a-taste-of-haskell/)

I don't know if this is the one you meant, but I watched it a while ago and I think it's well worth the time: SPJ is great to listen to and you actually pick up a good amount Haskell and functional concepts.

</comment></comment></comment></comment></comment></comment><comment><USER16> Brilliant! Given my sadness today around HP destroying the mobile platform I love (webOS), this has really cheered me up ;-) I especially like the cheerio() function.

<comment><USER17> I too thought it was brill. Next, lets play "if PHP were cockney"

<comment><USER18> we could replace the semicolon with "innit!"

$oranges = "lemons" innit!

<comment><USER19> I prefer the Manc version of PHP (which syntactically has bugger all in common with PHP coz thats how we roll in Manc):

        alright ar kid?
          im not being funny but x = y
          z is like 10 * 10 int it

          you got a spare minute?
             can you just do this for us
                // codage
             while im sorting this out
                // conditionage
          ta son

          if /*function*/ is acting the goat
              bloody_nora (error)

          summat wrong? nah : damn fucking right flower

</comment></comment></comment></comment><comment><USER20> $ is superior though, simply for its ease of access using the left index finger.

£ would require the use of the middle finger.

To British sensibilities, it would mean swearing at PHP on every variable declaration! Actually, that said...

<comment><USER21> £ isn't even available on my keyboard, I would need specific software or IDE features just for this.

<comment><USER22> I agree that ease of accessibility of the key is very important in choosing a variable symbol.

The first time I ever stepped into ERB, typing <% was a chore, since it was just a bit further than I had been used to typing tag characters. For en_US Americans on OS X, the £ character is a simple Option+3 though. Can anyone tell me what the key combination for the character is on en_US Windows platforms?

<comment><USER23> I'm always amazed how hard it is to type a | pipe on an american keyboard. On British keyboards it's next to left shift so you can type it with just one keystroke.

<comment><USER24> Oh god, I had to use a British keyboard while working on a project this summer, and that damn backslash/pipe key next to the left shift was the bane of my existence. I don't know how many times I accidentally hit that when trying to hit the left shift. Why would you _ever_ put it there?

And the tall Enter key - uggh, why? Even if you need an extra key because of the pound symbol, you could just put it where the backslash/pipe key normally goes, instead of having a misshapen Enter key. And swapping " and @ - completely nonsensical. ' and " should be on the same key.

<comment><USER25> As I recall, the UK keyboard layout was designed to allow entry of every character in the ASCII and EBCDIC character-sets, which explains why it includes "¬" and both vertical bar ("|") and broken bar ("¦").

Putting double-quote above "2" makes perfect sense if you've ever looked at an ASCII table. A lot of 8-bit micro-computers did that, even in America - <USER2> example, the Apple II.

<comment><USER24> > As I recall, the UK keyboard layout was designed to allow entry of every > character in the ASCII and EBCDIC character-sets, which explains why it > includes "¬" and both vertical bar ("|") and broken bar ("¦").

Seems kind of pointless. If you're going to include some extra keys, how about a few Greek letters, or accented English letters (without AltGr)? Of course, that's not to say there aren't pointless keys on the US English keyboard (what the hell is "`" for?).

> Putting double-quote above "2" makes perfect sense if you've ever looked at > an ASCII table.

But there's no reason to base the keyboard layout on ASCII tables. The keyboard should be designed to be as intuitive as possible, rather than staying true to some obscure technical details.

<comment><USER25> Presumably they didn't include any Greek or other letters because they weren't in the basic ASCII or EBCDIC sets. I guess they wanted their keyboard to be standard across both kinds of computers: micros and mainframes.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> The only language I know which actually uses "colour" in its standard library, is Occam, designed in Bristol. Are there any others?

(Nitpick: "socialize" is the original spelling; "socialise" was a change in spelling on our side of the pond.)

<comment><USER10> There's actually many cases where we (Brits) hate on the American version without realising that actually theirs is the version we were using back when we sent people over to America, and it is us we have changed over the years not they. Still annoys me though :)

<comment><USER27> America is a preservation jar for per-Enlightenment Britain.

</comment></comment></comment><comment><USER28> Google cache link: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.addedbytes.com/blog/if- php-were-british/&hl=en&strip=1)

</comment><comment><USER29> And if PHP was Japanese it would commit Seppuku.

</comment><comment><USER30> If it were British there would be alcohol involved somehow.

<comment><USER31> We're talking about PHP, so I think we can take it as read that there was substance abuse involved somewhere.

<comment><USER30> lolz

</comment></comment></comment><comment><USER32> preg_match might actually be better expanded as practical_extraction_and_reporting_language_regular_expression_match. (I'd comment on the original but it's currently too overloaded for it, I gather.)

<comment><USER33> Actually, my understanding is that the p in preg actually stands for perl. php.net refers to PCRE (Perl Compatible Regular Expressions).

<comment><USER32> Yes, and "Perl" has often been expanded as "Practical Extraction and Reporting Language" (I don't recall whether this is a half-joke or not, but I think it is).

If you like you can add the "compatible" though, which would conveniently add to the length.

<comment><USER34> $ perldoc perl

      NAME
           perl − Practical Extraction and Report Language

...

<comment><USER35> From Wikipedia: "There is some contention about the all-caps spelling "PERL", which the documentation declares incorrect[28] and which some core community members consider a sign of outsiders.[29] The name is occasionally backronymed as Practical Extraction and Report Language, which appears at the top of the documentation[27] and in some printed literature.[30]"

<http://en.wikipedia.org/wiki/Perl#Name>

</comment></comment></comment></comment></comment><comment><USER36> He does have a point with the abbreviations.

The use of abbreviations and underscores in PHP is maddeningly inconsistent.

Example:

      pdf_stringwidth
      strlen
      str_replace

</comment><comment><USER37> How long until some bored hacker writes a british<->us PHP compiler and posts it here? I give it a week.

</comment><comment><USER38> A colleague once complained because I wrote 'initialize' with a z...

</comment><comment><USER39> If we change the sigils, can we refer to objects as "quiddities"?

</comment><comment><USER40> In Common Lisp, 'Fourth' is the fourth item in a list, rather than 'Forth'.

<comment><USER41> Why would one spell it 'forth'? [http://en.wikipedia.org/wiki/English_numerals#Ordinal_number...](http://en.wikipedia.org/wiki/English_numerals#Ordinal_numbers)

<comment><USER42> Presumably confusion with the river named after the progamming language.

</comment></comment></comment><comment><USER43> I always thought the dollar sign originated as a variable marker because it was used in BASIC to mark a string. Is there an earlier origin?

</comment><comment><USER44> Now if PHP were Japanese?

</comment><comment><USER45> Joke about php devs not being savvy enough to actually go and make these changes in 3... 2... 1...</comment>


I found a loophole to prevent those pesky cookie notices - <AUTHOR> https://ma.ttias.be/loophole-cookie-notices/ <comment><USER3> Unfortunately this is not what I anticipated based on the title (a user-based tool that circumvents pop-ups). It is a suggestion for website owners that they not use any tracking pixels or analytics on their websites.

I'm sure that works great for this guy's blog, but I'd guess that it would hobble a startup's ability to understand/optimize their customer funnel to abandon tracking entirely.

</comment><comment><USER4> While I agree with the sentiment the title is very clickbaity, can it be changed?

<comment><USER5> I mean, it's factually correct. It's just that we (HN readers? web users?) would assume that it's about preventing them as a web user, and the author is talking about preventing them as a creator/hoster.

</comment></comment><comment><USER6> Save yourself two minutes of reading:

> Want to know why I don't have a cookie notice on this site? It's because I > don't track you.

Obviously doesn't work for any website that requires creating an account and logging in.

Thanks everyone for upvoting a nothingburger to the top of front page.

Edit: Okay, I didn't know cookie notice isn't required for login cookies (apparently I never used a cookie banner on my sites anyway, cookie law be damned). Anyway, the nothingburger point still stands.

<comment><USER7> > Obviously doesn't work for any website that requires creating an account and > logging in.

You don't need explicit consent to provide functionality. When an user logs in, their consenting to storing cookies on their computer is implicit.

<comment><USER8> when a user logs in, it's consent

when a user sends a http request to a remote server with a client that saves cookies on their behalf, it's not consent?

not arguing with you, per se, I just don't understand how sending a request to someone else has somehow become "involuntary" under the law. the server didn't come looking for you, your program asked it to send you the cookie.

<comment><USER7> One cookie is required to provide the functionality I asked for, the other isn't.

When I say "GET /some-information-on-topic" I did not ask you to track me, I asked you for information on "topic".

When I say "POST /login", I want you to log me in.

<comment><USER8> right but the cookie request can just as easily be ignored if you'd like. there's no gun to your head to "take this cookie OR ELSE!"

if you walk into the local deli and there's a sign-up sheet to receive updates about the store, is that coercion?

</comment></comment></comment></comment></comment><comment><USER9> Could privacy based browsers implement a way of giving bad data to cookies? Poison the cookie jar, so to speak. An add-on would be nice but being able to point to a browser and say "this is attacking the issue" would be nice.

<comment><USER10> I saw this discussed before, and I think the conclusion was that this is just escalating an arms race. It just adds noise. Far better to just disengage if you can.

</comment></comment><comment><USER11> I find the way the article is written interesting. Indeed, the title is misleading and you will learn nothing on the technical part. However, the idea here is to be vocal about what society we want.

The goal is to say, as an individual:

      - I am not ok anymore that so much sensitive data are collected
      - I know data collection had negative impacts on individuals and society
      - I can, and we should live without collecting so much data
      - Individuals and society should come before companies

And I definitely relate...

</comment><comment><USER12> I'm not sure if the author is trolling or actually presenting this as some groundbreaking insight. I thought it was obvious to anyone that no cookies means no cookie notice (and there are plenty of static websites that do this). The point is that most websites try to make money, and making money means advertisements, and advertisement (often) means tracking.

<comment><USER13> Advertisement doesn't mean tracking. When someone buys a radio/TV Superbowl ad they don't track who heard/saw it. When you buy a newspaper/magazine ad you don't track who reads it. You can sometimes target a particular neighborhood, but that is all the more you get, and no tracking of who got it.

The ability to track doesn't really add that much value to most ads. The only time it is helpful is if you want to get a specific person across many different platforms. If you have a niche product that is useful, but niches generally have better ways to get their target (ie the forums frequented by their target). When someone advertises a car they don't need to track - <USER2> need to get everybody in the world because that is their potential customer base.

<comment><USER14> > The only time it is helpful is if you want to get a specific person across > many different platforms.

There are surely other uses. For instance, I might want to know if my ad is being shown again to a return visitor or for the first time to a new visitor.

</comment></comment></comment><comment><USER15> I do support this stance, but depending on your setup, there are gotchas website operators should be aware of. I see CDNs as a major hidden aspect: for the government, it looks like you're tracking people, even if you're not. So you'll need to host those JS and CSS frameworks on your own server, which I think is not that much of a problem, just something to be aware of.

However, the next issue is using Cloudflare or similar front ends. For example, I use their free tier on most of my websites. These reverse proxying services / DDOS mitigators / TLS terminators tend to set identifying cookies which website operators have little to no control over.

My point is that the web ecosystem contains lots of integration points that could lead to operators being liable in the eyes of the law, even if they're not _actively_ tracking their users themselves - the services they use, do.

<comment><USER10> are you liable for third party's using your site for tracking? If you're not using cookies yourself, but you accidentally or otherwise include resources from third parties that are used for tracking, do you still have to display the cookie notice?

<comment><USER15> I think so, yes. For example, if you're including a Facebook button, that counts. So including JS from a CDN would also have to count. And when you're using a reverse proxy, I think it's not distinguishable anymore whether it's you _personally_ collecting user behavior of whether it's Cloudflare doing it on your "behalf".

</comment></comment></comment><comment><USER16> Perfection is _not_ when there's nothing more to add, it's when there is nothing more to take away.

My website is also 'bare-bones'. What do we need all that extraneous crap for? People who want to look at it will. People who don't want to look at it won't.

Want more eyes on your site? Make it more interesting.

</comment><comment><USER17> There's obvious merit to this, and it harkens back to a 'purer' day of the internet.

But, big - huge - businesses exist (often exclusively) on the internet in 2020, and suggesting that nobody should worry about collecting metrics on traffic/usage is really not feasible when your bottom line depends on making sure those numbers are moving in the right direction.

Don't get me wrong: those companies collect _too much_. There's no need to do some of the deep, cross-site data sharing that most big web sites do. But analytics? Advertisements? Seems like fair game. Even if you run a boutique blog, you're going to want more real-world feedback than "hit me up on Twitter."

The larger complaint here (at least in the first half of the article) seems to be the lack of elegant ways to present this compliance. Nobody seems to do it in a way faithful to the law without ruining your browsing experience. Maybe that's the point.

<comment><USER18> > lack of elegant ways to present this compliance

Seems like moving it into the browser permissions model could be a good way - in a similar way to websites can ask for permission to show notifications or use your camera, and the browser handles prompting the user etc.

At the very least, it'd be more consistent across websites, you could see in your browser settings at any time which sites you have allowed to store cookies, probably set a global allow/reject etc.

I'm sure there are various reasons why this hasn't been done though

<comment><USER10> > I'm sure there are various reasons

... like requiring explicit consent :)

Really interesting human behaviour occurs when the subject isn't being watched. There's numerous headings for this in various fields: "hawthorne effect", "panopticon", "heisenberg effect" etc.

Of course, in principle the "cookie banner" should alert you to this, that's the point. But after a while people just get used to them. At least it's better than them not being there though ... can't say you weren't warned!

<comment><USER18> explicit consent... like what is obtained by browser before allowing notifications or camera access etc.?

I don't see how it's different?

<comment><USER10> Sorry I might have overcomplicated my response and missed the point which is that those doing the tracking prefer when you're not aware

<comment><USER18> Ah, well of course they do. Doesn't mean they should be allowed to :)

<comment><USER10> That's what I mean :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Great for your personal blog, but let's not assume this works for most businesses.

<comment><USER20> It works for DuckDuckGo: [https://duckduckgo.com/](https://duckduckgo.com/)

However it won't work for any site that uses client log in.

<comment><USER21> You only need to set a cookie when the user logs in. So as long as the user isn't logged in or in the process of logging in there's no need for a banner.

<comment><USER22> You only need a banner if you use cookies for tracking. If all your cookie does is enable the login form, you don't need the banner. That's the "one weird trick" TFA describes.

</comment></comment></comment></comment><comment><USER23> lost 2 min of my life reading this shit.

install the extension 'i don't care about cookies' if you don't care

[https://chrome.google.com/webstore/detail/i-dont-care- about-...](https://chrome.google.com/webstore/detail/i-dont-care-about- cookies/fihnjjcciajhdojfnbdddfaoknhalnja)

[https://addons.mozilla.org/fr/firefox/addon/i-dont-care- abou...](https://addons.mozilla.org/fr/firefox/addon/i-dont-care-about- cookies/)

</comment><comment><USER24> Ha. I see what the writer did here. I was expecting a legal or technical solution of a different kind lol.

Now if I were to send this article to the business team at my company in order to make a point about privacy I'm sure it would result in one way.

They'd be pissed I wasted their time telling them not to track based on the views of the author who clearly doesn't understand and hasn't fully articulated the business implications of not tracking which are numerous.

No track is like security regulations in healthcare. Yes it makes sense but when you think about the implications to the system as a whole there will be negative impact.

1\. Loss of jobs (lack of data collection in business)

2\. Loss of lives (greater security requirements in healthcare)

Why loss of jobs? Because guys like Jeff Bezos will lay-off staff before impacting his and his shareholders wealth in any significantly negative way.

Tell me why I'm wrong.

<comment><USER25> > Tell me why I'm wrong.

With pleasure. Not having one's fundamental human right to privacy¹ undermined trumps the wants and needs of the business team at a certain company.

¹ Art. 12 UDHR, also mentioned in over 150 national constitutions

</comment></comment><comment><USER26> Lets start with an analogy. Solving noisy fans via a specially designed radiator case is clever. Saying "just don't use fans" is useless smugness. This "article" is useless smugness.

Yes, not using cookies is a way to avoid it. To be useful for anything but personal satisfaction the function fulfilled needs to be solved as well. Even if it is a niche and highly qualified solution like "a low bandwidth largely plain HTML website with lower yielding non-tracking ads or a donation page can actually yield more money per hosting cost but results in far smaller websites" would still be infinitely better.

<comment><USER27> > Saying "just don't use fans" is useless smugness.

Is it? You can buy fanless computers of various kinds, and it may make sense to do so in certain scenarios. One shouldn't put a fan in a computer "because computers have to have fans", but that's the approach a lot of companies take to tracking. Data gets hoarded and never looked at.

</comment></comment><comment><USER28> What a lot of people don't know is that you're allowed to use cookies for analytics purposes with GDPR, as long as you're anonymizing and as long as they're not used for cross-site/device tracking and advertisement.

The Dutch personal data authority even published a guide for Google Analytics explaining exactly what to do: [https://www.autoriteitpersoonsgegevens.nl/sites/default/file...](https://www.autoriteitpersoonsgegevens.nl/sites/default/files/atoms/files/138._handleiding_privacyvriendelijk_instellen_google_analytics_aug_2018.pdf) and they ruled that you don't need permission to enable the cookies when you do. You do need to have a privacy policy however.

<comment><USER14> Do you know if there is a resource similar to your link that is written in English?

</comment></comment><comment><USER29> Notice that browsing without cookies nor javascript makes such notices invisible and most sites much faster and usable.

</comment><comment><USER30> I found a loophole to prevent corruption

Stop. Wanting. Money. All. The. Fucking. Time.

In case it's not obvious, the article is a publicity stunt.

</comment><comment><USER31> I've eliminated cookies from my systems too ... I just put my tracking information in local storage.

<comment><USER27> GDPR anticipated that trick. It doesn't work.

[https://law.stackexchange.com/questions/30739/do-the-gdpr- an...](https://law.stackexchange.com/questions/30739/do-the-gdpr-and-cookie- law-regulations-apply-to-localstorage)

</comment></comment><comment><USER32> I do wonder why so many big websites have chosen to present huge annoying cookie banners to people that are still, at first glance, a clear violation of GDPR. (Like having no explicit opt-in, often not offering an opt-out besides the notice to close the site etc.)

Why annoy your users if your are not compliant anyways?

</comment><comment><USER33> What happens if you use cookies but for non tracking purposes?

<comment><USER34> The rules are somewhat imprecise, but basically any functional cookies do not need to have consent as it is implied by the user using the service. This includes thinks like the user-identifier to know who is logged in for example.

<comment><USER33> That's good to know. I thought "any cookies" meant "need banner"

</comment></comment></comment><comment> tedk-42 Clickbait title as it's not a loophole.

</comment><comment><USER35> i hate tech blog clickbait so much

</comment><comment><USER36> Haha, I discovered this loophole too when GDPR was introduced. I also removed all tracking code especially from smaller sizes. I don't care about tracking users there.</comment>


OMN: Scripting the whole language of traditional staff notation - <AUTHOR> http://opusmodus.com/omn.html <comment><USER2> Also worth a look is Lilypond [http://www.lilypond.org/](http://www.lilypond.org/).

<comment><USER3> Do these really need a separate post? They're already in the existing one.

<comment><USER4> Where? I admit I haven't read the entire thing (as it got boring fast) but a search on a couple of the pages doesn't turn up the word Lilypond?

<comment><USER3> [https://news.ycombinator.com/item?id=10178644](https://news.ycombinator.com/item?id=10178644)

[https://news.ycombinator.com/item?id=10179371](https://news.ycombinator.com/item?id=10179371)

[https://news.ycombinator.com/item?id=10179313](https://news.ycombinator.com/item?id=10179313)

[https://news.ycombinator.com/item?id=10177996](https://news.ycombinator.com/item?id=10177996)

</comment></comment></comment></comment><comment> a-nikolaev Just a sidenote that the Opusmodus software is not open source, not free, and works only on Mac.

</comment><comment><USER5> What information does OMN contained that isn't preserved in sheet music already? I was looking at OCR tools a few months back and found OpenOMR which expresses the MIDI instruction with all of these properties.

</comment><comment><USER6> Looking at their score example at the bottom of the page, the right-hand score is defined as a separate entity from the left-hand score. As a result, to the OMN notation reader, it's hard to see the inherent synchrony between the two hands. This would be a bitch to debug and compose (i.e., code) without its display on a standard staff, which would show the time-ordered parallelism directly.

</comment><comment><USER7> There's a conceptual issue with the language and a missing example: what of chords where one part of the chord is pressed longer than another? Or when one part must be staccato and another not?

I can't seem to see how this is expressed with OMN.

</comment><comment><USER8> It would be easy enough to write a parser for this.

Interesting that they see it as a way to freeform new compositional ideas.

Over the years I've tried a huge selection of music composition software. I've yet to find something that's both easy and composable. It may be, just like the CLI/GUI discussion -- plain text may win out over a lot of mousing around and clicking.

</comment><comment><USER9> Very cool! Looking forward to experiment with it. In the same spirit but less advanced (my "language" has bugs, I know) I wrote this toy project: [http://sound-of-ascii.herokuapp.com/](http://sound-of-ascii.herokuapp.com/). There's a demo and you can play around with it.

</comment><comment><USER10> Does this have notation for quarter tones? I can't find that on their website.

That's always been a pain point for me. No quarter tone notation rules out a lot, including most of Arabic and Turkish, and much of Greek maqam music.

<comment><USER4> Dunno about OMN, but Lilypond seems to have quarter tone support: [http://www.lilypond.org/doc/v2.19/Documentation/notation- big...](http://www.lilypond.org/doc/v2.19/Documentation/notation-big- page.html#accidentals) (third staff down)</comment></comment>


Flymake for emacs - on the fly syntax checker - <AUTHOR> http://flymake.sourceforge.net/

<comment><USER2> is there anything like this for VIM?

<comment><USER3> Haven't used it, but: <https://github.com/kana/vim-flymake></comment></comment>


How-To: Resurrecting Google SMS Search Using Twilio - <AUTHOR> http://www.twilio.com/blog/2013/05/resurrecting-google-sms-search-using-twilio.html

<comment><USER2> Excellent, maybe all the commenters who complained that Google should leave the service up because it's so easy to do and costs nothing will run out and setup a replacement, since it's so easy to do and costs nothing.

</comment><comment><AUTHOR> Original thread that inspired this: <https://news.ycombinator.com/item?id=5695086></comment>


Ask HN: Where do I invest $100K cash? - <AUTHOR>

I normally invest in real estate and get around 20% of ROI (without much time spending) ... but wanted to explore other avenues with similar GUARANTEED return ?? <comment><USER2> Snake oil, its the future; and I can get you 100Ks worth easy.

Seriously though, this is a dumb question. There is no such thing as guaranteed returns, and anything with a 20% return probably has inherent risks that you don't appreciate, or is completely illiquid. If you want to invest money responsibly and you don't know how, then speak to a financial advisor -- that's what they're there for.

<comment><USER3> Not a dumb question at all. Many advisors are highly paid risk-takers with your money, that have their own bottom line as their main interest. Knowledge is always helpful to protect any investment.

That being said, are you thinking shorter term or longer?

<comment><AUTHOR> I mostly look for cash-flow kind of investment rather than future appreciation - so if I invest in real estate then in 5yrs I get my money back ... I dont expect with solid similar option but anything with 5yrs timeline should be good enough.

</comment></comment></comment><comment><USER4> If you're able to get 20% ROI in real estate without spending much time, stick with it. No need to look for anything else, if you ask me.

</comment><comment><USER5> "20% GUARANTEED return" is a phrase you only find in scams...

<comment><AUTHOR> I partially agree with you but the most important phrase here is "without much time spending" and not "20% GUARANTEED return"... after 12yrs of investing experience I know that there are many investments that can give that kind of return but then it ask you to invest some time as well to manage those investment - I'm at a point where I'm ready to invest money but not that much of a time ... so am looking for some intelligent investment (if any) , of course with some serious due-diligence.

</comment></comment><comment><USER6> What stage of life are you in? What portion of you savings is this?

I Ask because if you are young and have opportunity to earn / save more, I would say yourself. If you are older and this represents a significant portion of your nest egg I would have other suggestions.

<comment><AUTHOR> I'm in a phase where I dont have time but some money ... so pls suggest me those "other suggestions" - thanks in advance.</comment></comment>


A Lament for the Class of 2010 - <AUTHOR> http://online.wsj.com/article/SB10001424052748704250104575238692439240552.html?mod=WSJ_LifeStyle_Lifestyle_5

<comment><USER2> "He had attended an Ivy League school, studying drama and music, and was now back living at home."

There's plenty of professions in demand right now, even during this economic downturn. The reality, though, is that you can't skate by in fields like drama and music during a downturn like this.

"There are no jobs, and the jobs that do exist aren't the kinds anyone in his right mind would have spent $100,000 to $200,000 to land."

This is a ridiculous assertion. There may not be jobs out there for the field that he chose to study in, but that doesn't mean there aren't any jobs. Its nobody's fault that he chose to spend $200,000 for a degree in a field that nobody has a need to employ.

The economy and the jobs therein isn't based on what field he is interested in, it's based on what field there is a need for. My company has multiple developer positions open right now, but are we going to hire somebody with a drama degree? Of course not. We have lots of positions open for people that can actually generate economic output for the company: mechanical engineers, software developers, electrical engineers, etc. and even accountants.

Were degrees like drama and music ever that employable? I remember when I graduated (before the downturn) my friends in these majors were complaining then about finding jobs.

</comment><comment><USER3> I always find it annoying that every news article about the recession and lack of jobs focuses on people with degrees in drama, or communications, or what have you. Aren't there articles that focus on what the job situation is like for those with engineering degrees? physics/chemistry degrees? CS?

</comment><comment><USER4> I do internet marketing and found it really easy to get a full time job, honestly, and I don't have a degree. The article is sure to be popular, though.</comment>


The Worst Time Of Year To Raise A Seed Round - <AUTHOR> http://tomtunguz.com/seed-timing/?utm_content=buffera2e5f&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

<comment><USER2> This article is asserting that correlation implies causation.</comment>