How I Taught My Kid to Read - <AUTHOR> https://www.theatlantic.com/ideas/archive/2019/06/phonics-not-whole-word-best-teaching-reading/591127/ <comment><USER2> You teach Russian or Spanish with phonics. You teach Chinese with whole-word. English needs a bit of both, since it is mostly phonetic.

An on-demand approach to phonics works very well. The rules and exceptions are pointed out as mistakes are made. This avoids the boredom of drilling endless phonics rules and the long-term difficulty of whole-word.

A common mistake with phonics is the accidental association of specific vowels with consonants. For example, B is not buh. It is equally bye, boo, bah, and so on. When describing the sound B makes, it is best to always resist giving just a single example. Instead: babe, boob, Bob, bib, bub. That mistaken association causes trouble when sounding out words, because the extra vowel ends up in the resulting word. Something like "baby" turns into buh-ay-buh-ee with 4 syllables.

Untreated speech problems also interfere, no matter if you want to call them accents or dialects or whatever. It is common to fail to distinguish running from run-in, or pin from pen. It is common, particularly in New England, to drop or add an "R". This makes reading so much harder. Teaching a person to read can easily turn into speech therapy.

Late readers face the additional problem of not wanting to read books that parents would buy for 4-year-old kids. (the intersection of things 4-year-olds like and the things that won't offend or embarrass parents) There really isn't much adult fiction with the vocabulary at the level of The Cat in the Hat.

<comment> a-saleh I don't envy native english readers, as my teacher said, "I wouldn't be surprised if one day English write Manchester and read Liverpool".

I am not sure of all Slavic languages work best with phonics, but one I learned seems it does. Like if you just read the sound of each letter fast after the other, you are 80% saying the word :)

<comment><USER3> Serbian is a slavic language with 100% letter for letter pronunciation. You can probably learn to read in Serbian in 30 mins and impress your friends. Understanding it is another matter :)

<comment><USER4> No, you still actually need to properly _learn_ the language. Just reading the letters out loud will make you miss the word accents/stress, at the very least you'll sounds wrong, at worst you'll mix up words.

Russian is even harder, as accent can change the sound a letter makes - e.g. unstressed "o" is pronounced as "a".

<comment><USER5> That's regional accent. In Moscow it would be like that, but in other parts unstressed "a" would be pronounced more like "o" instead.

</comment></comment></comment></comment></comment><comment><USER6> I love McWhorter but this is a disappointing mishmash. While it does seem that a lot of new educational techniques seem to be based on skipping past the underlying fundamentals and trying to teach kids to immediately start reading by whole words before learning the sounds letters represent and giving the brain a few decades to recognize whole words at a go (as McWhorter describes here), or by doing math by estimation before learning how to add or multiply (and thereby developing an intuition for what estimate to even make) as my daughter faced in elementary school, or as my accounting professor partner struggles with as fundamental textbooks attempt to de-emphasize debits and credits and just skip to the financial report; even so the lesson we should probably take is not "just use phonics dummy!" But rather "maybe use multiple methods and find individual paths for each student to be successful".

We tried to teach my daughter to read using the exact book McWhorter praises when she was that same age. She hated the lessons and didn't progress, and in fact didn't learn to read until she was eight years old, and yet somehow she is now, at 17, an avid reader and writer, having completed multiple NaNoWriMo projects, an editor on her high school newspaper, and a star student in every writing class she can get enrolled in.

Ultimately she benefitted from patient teachers and a nurturing environment and a heavy dose of innate interest and the right disposition, not from a specific teaching method. The only right answer is that there is no one right answer for every kid.

<comment><USER7> > Ultimately she benefitted from patient teachers and a nurturing environment

All of the calls to alternate education methods fail to recognize the weakest link in the education system: teachers. Teaching methods are not designed just for kids but also for teachers.

Almost any method will work wonders with good teachers who know when to wait, when to push, who are competent and empathetic. Methods need to be tested and proved to work with below-average teachers to be considered a solution.

<comment> barry-cotter The great strength of child centred instead of teacher centred methods is in realising that it doesn't matter whether a child learns to read at four, or nine, or twelve. Once you really understand that Vygotsky's zone of proximal development means you can teach it to a four year old in 100s of hours, a six year old in tens of hours and that a nine year old has a decent chance of picking it up more or less by osmosis you wonder why we bother. The hard part of reading isn't sounding out words, it's understanding complex thoughts. Four year olds can't do that.

A good teacher can make a big difference to how a child experiences a year of their life but the long run effects on them are unlikely to be large. Children of normal intelligence learn to read easily once they're ready, just as you can cover grade school math in under 40 hours with a normal twelve year old.

<comment><USER8> I didn't know there was a term for this! My children are just starting to enter the education system and I constantly find myself thinking, "Why are we devoting so many hours to learning this (something like the alphabet) when we could just spend a few minutes on it here and there and in 6 months or a year they'll be able to pick it up with minimal effort?"

</comment></comment></comment></comment><comment><USER9> Phonics will always be unpopular with teachers for at least 3 reasons.

1\. Teachers are typically from good middle-class backgrounds, and will naturally assume children will just learn to read because their parents basically tutored them for hundreds or thousands of hours and they just magically taught themselves.

2\. It's hard for an individual practitioner to have any idea whether their methods are wonderful or absolute garbage. Look at how long it took doctors to figure out hand-washing - now think about how hard it is for a teacher with 20 students (all of various ability levels) to know whether their methods have any real impact. The kids grow up and are reading better after a year, it must be the teacher, their method must be good.

3\. Boring stuff is boring for teachers. How are they meant to be entertained in class if it's just mindless drill and kill routines?

So you've got "professionals" with no idea what actually works, some weird notion that reading is easy (because they're good at it) and a choice between boring methods that some researcher claims works, and interesting methods that some other (not so nerdy) researcher also claims works (and they use bigger words that are harder to understand when they explain their ideas).

<comment><USER10> Well, a good teacher could (and can) indeed see, what methods he use are effective or not. As he gets new data with new "fresh" kids who are individuals, but usual still average. So you could experiment. In real life you probably can't as (at least in germany) it is pretty strict and fixed what is about to be teached in class, when and how. That kills all creativity and creates boredom in the teacher and his class.

<comment><USER9> > Well, a good teacher could (and can) indeed see, what methods he use are > effective or not.

Any evidence?

Doctors could figure out that not washing hands was killing patients, but didn't.

> As he gets new data with new "fresh" kids who are individuals, but usual > still average. So you could experiment.

There will always be multiple things a teacher does differently so it will be, in practice, impossible to attribute success or failure to any particular practices. That's aside from random noise (which might be more systematic - what if some random good / bad kid happens to have a large influence on the whole class?).

Remember how Skinner proved pigeons could develop superstitions? Or look at any other profession that deals with a little bit of randomness (human factors / biology) and see the stupid stuff they used to believe.

</comment></comment></comment><comment><USER11> We do a free schooling approach. My daughter speaks 3 languages and learned to read all 3 simultaneously on her own* once she was ready (around 9). I felt a lot of pressure from everyone (family, friends, etc.) to teach her earlier, but now she reads just as well as her peers, and most of her peers/friends only speak/read one language.

*literally on her own in that one day she wanted to learn to read, so we got a stack of books and she started stumbling through each word and asking how to pronounce it. She already knew some words from the environment, which provided the foundation. I also guided her on the books to choose so that she wouldn't feel overwhelmed, which was in the beginning board books for babies, that way she could feel satisfaction without giving up.

<comment><USER12> I don't know much about home schooling (I assume that's what you mean by free schooling). It seems to me that it could work well for some cases. But most parents couldn't survive economically with one parent not working (and what about single parents). Also most parents don't know enough academically to be able to do it well, and most students are not as smart as I am guessing your daughter is. So if your goal is to have a well-educated society, free schooling is not the answer.

<comment><USER11> Check out the book I mentioned, Summerhill by AS Neill for how it could work at scale. We do it ourselves because there is no analogy to Summerhill where we live, so I agree with you in that regard

</comment></comment></comment><comment><USER13> I learned to read from "100 Easy Lessons" shortly after its publication, completing about 80 lessons before starting kindergarten. I never ended up finishing all 100, however, so perhaps there are some phonemes I have yet to learn.

One key element that the article misses is that a direct instruction approach to phonics means that the learner is not just learning to say phonemes fast and winding up with words, but is learning what it _feels like_ to construct new knowledge from smaller bits. As a four year old, this meta-lesson was known to me only as the incredible sense of joy and accomplishment in seeing my parent's face light up after successfully sounding out a difficult word. To be able to read a word _without anyone telling you the answer first_ is something truly formative for a budding intellect. I believe there is no way to progress through "100 Easy Lessons" without also learning to some degree that one can tackle the unknown.

</comment><comment><USER14> _Did my daughter, as the child of two hyper-literate people with doctorates, have some kind of leg up? I doubt it. Some kids pick up reading with minimal guidance as early as 3; she wasn't one of them, nor had she given indication of any impending breakthrough. Besides, Engelmann's book is designed for kids of average intelligence and has worked with legions of them over the decades._

In a word, yes, she likely had a leg up. The credit mostly goes to her, not you or the book you used.

As the father of a boy with an extremely strange developmental reading profile (couldn't read a thing at age seven even after much one on one tutoring, to reading at an eighth grade level at nine) I learned a few things talking to many other parents and professionals. The most important is that no one method works for all children, as they each learn to read in their own way. My boy was definitely a "whole word" learner, and phonetics was a complete disaster for him. Other kids are clearly the other way round, and many kids do a combination of both.

Secondly, intelligence has nothing to do with it. Dyslexia is caused by many factors, but general intelligence really isn't one of them.

<comment><USER15> > Secondly, intelligence has nothing to do with it. Dyslexia is caused by many > factors, but general intelligence really isn't one of them.

I'd say that's an overstatement and not congruent with existing research in developmental psychology.

To preface it's important to distinguish between two reading skills. "Decoding" is the ability to parse the symbols into words. "Comprehension" is the ability to understand the content after its decoded.

Among children aged 7-8, there's a 40% correlation between general intelligence and "decoding". With comprehension there's an astounding 62% correlation with intelligence. Those are about the highest correlations you'll see anywhere in social science.

Reading skills become progressively more loaded on comprehension relative to decoding, as students progress into higher grades. Therefore you see the general phenomenon that reading ability at younger ages is only moderately correlated with intelligence, whereas for teenagers and adults its extremely correlated.

[1] [https://pdfs.semanticscholar.org/1da5/7f319c9f6976b6b9501be1...](https://pdfs.semanticscholar.org/1da5/7f319c9f6976b6b9501be19d76b4ae66a256.pdf)

</comment></comment><comment><USER16> Well this is the first time I feel like my side "project" is worth mentioning on HN. Unitsofsound [1] is a course that teaches reading, writing & spelling using a syllabus based 100% on phonics.

At least that's my layman's understanding, we have a number of SME teachers that guide the actual product development, my dad and I just build it.

I thought I would share here just in case anyone is interested, and would love feedback for the new (non flash) version, so if you would like to try the home version for free get in touch and you can become a BEtA tester in the near future.

[1] [https://www.unitsofsound.com/](https://www.unitsofsound.com/)

<comment><USER17> I'd be interested to learn more and chat. I run a startup that, like Unitsofsound, is in the literacy/dyslexia space. Contact via my website if you want to chat! www.beelinereader.com

</comment></comment><comment><USER18> Siegfried Engelmann [0] (the author of _Teach Your Child to Read in 100 Easy Lessons_ , referenced in the story), developed a pedagogical model he named Direct Instruction [1] in the '60s as a direct result of being focused on at- risk, low-performing children. Here is a video [2] from the 60s of him working with one of his initial kindergarten classes (doing complex math, etc), and using many of the hallmarks of Direct Instruction. DI has become popular in many primary charter schools across the country (ex, Thales Academy [3]), although many schools transition to an inquiry-based model [4] after primary grades.

DI is similar to rote learning, which is used throughout much of the rest of the world. Lessons are heavily scripted, down to the minute, although there is an emphasis for only focusing on practicing skills that have not yet been mastered. One of the most controversial aspects of DI, and probably one of the main reasons it has not been used in US public schools despite having a strong history of effectiveness (here is a meta-analysis of over 300 studies over 50 years [5]), is that children are grouped according to skill, not age.

My kids are not quite yet old enough to learn to read, but I plan on using _Teach Your Child to Read in 100 Easy Lessons_. DI might not work for every child, but it has clearly been shown to be one of the most effective methods that helps the most children.

[0] - [http://www.zigsite.com](http://www.zigsite.com)

[1] - [https://www.nifdi.org/what-is-di/basic- philosophy.html](https://www.nifdi.org/what-is-di/basic-philosophy.html)

[2] - [http://www.zigsite.com/video/zig_math_video.html](http://www.zigsite.com/video/zig_math_video.html)

[3] - [https://www.thalesacademy.org/academics/what-is-direct- instr...](https://www.thalesacademy.org/academics/what-is-direct-instruction)

[4] - [https://en.wikipedia.org/wiki/Inquiry- based_learning](https://en.wikipedia.org/wiki/Inquiry-based_learning)

[5] - [https://journals.sagepub.com/doi/abs/10.3102/003465431775191...](https://journals.sagepub.com/doi/abs/10.3102/0034654317751919)

<comment><USER19> This is exactly what I used with my kids. Neither finished the entire course of 100, because they preferred to go to YA novels rather than the structured practice in the later lessons. Both have consistently tested at multiple grade-levels of reading ability above their public school age cohort.

I think I started them at 3 years old, though it took a while to get some traction. You might have to repeat some early lessons.

</comment></comment><comment><USER20> My wife and I (mainly my wife) used the book mentioned in the article [1] to teach both our kids (now 5 and 7) to read prior to their entry to kindergarten.

I cannot recommend it highly enough. It is so intelligently organized, each day building on the last. If you just read the intro chapter on amazon, you will see how clearly they thought it through

That said:

1\. While teaching kids to read is good, I think the real goal should be teaching them to _love_ reading. My son is now a voracious reader, and both kids love books. The techniques we used to make this book fun include:

A. Finding something the kid really loves (e.g. tickles for my son, 'squeeze hugs' for my daughter), and pairing it with each lesson. Every lesson ended with a giant tickle or a set of squeeze hugs. You would think the kids would get sick of this, but ours didn't.

B. Massive positive verbal reinforcement. Excitement, joy, at the reading, amazement, wonder, etc.

C. Regular rewards, including little ribbons every 10 lessons, dinners out, and a huge celebration when they hit 100. Every 20-30 lessons we would do something crazy/unexpected, like rolling out a cake for breakfast (That was just fun, kids love a surprise cake for breakfast).

2\. Our kids are very intelligent, but both hit a wall around 30 lessons. I think they were both about 4.5 years at the time. The book says any kid over 4 can run right through the lessons, but I don't know. For both kids, when we sensed they were hitting a wall, we decided to declare victory. We had a big celebration, and told them to book said we had reached a stopping point. Then we returned to it 6-12 months later and picked up where we left off. At that point, we sailed though the rest of the lessons.

All this said, having watched my son, I think the best thing you can do for your kid is make reading fun. The only way to develop a deep vocabulary is by reading massive amounts, and you cannot force a kid to do that.

So, as awesome as this book is, and as amazing as it was to participate in the process as a parent, the number one thing to do is not make reading stressful/negative. Kids will learn eventually, they don't need to learn early. The reason to take control of the process as a parent is to ensure that the experience is positive/filled with joy.

[1] [https://www.amazon.com/Teach-Your-Child-Read- Lessons/dp/0671...](https://www.amazon.com/Teach-Your-Child-Read- Lessons/dp/0671631985)

<comment><USER8> These are great points, and I'd take it even further and say the real goal of all education should be to get them to love learning.

The quantity of formal education 18 year olds receive is potentially dwarfed by the amount of stuff they can learn in their free time if they WANT to. On the flip side, if kids really hate participating in education, they pass out of the school system having learned astonishingly little.

</comment></comment><comment><USER21> I've been using the technique they describe with my daughter, but it often takes a long time for her to get from saying "pi" "ih" "gu", to "pig".

I have had more success with an experiment I'm doing, which is a side project of my bigger project, a music learning app. Since she loves to sing along with songs, I put words of some of her favorite songs displayed where they are highlighted syllable by syllable, synchronized with precision timing. This is displayed on top of the YouTube video of the song. It's more effective than reading aloud while pointing at the words (we do that too of course), and I think having it to music helps a lot.

Here's an example (she likes Taylor Swift of course) [https://www.youtube.com/watch?v=Ln9BenYpimQ](https://www.youtube.com/watch?v=Ln9BenYpimQ)

</comment><comment><USER22> I used this book to teach my daughter (and now my son) to read [https://welltrainedmind.com/p/the-ordinary-parents-guide- to-...](https://welltrainedmind.com/p/the-ordinary-parents-guide-to-teaching- reading/)

Worked really well.

</comment><comment><USER23> I've got school aged kids in the UK, and I've never seen anything other than phonics as the way to teach reading.

Seems to work just fine, never came across a kid who couldn't read quite soon after they started being taught.

But of course that may just be my particular environment.

<comment> m-i-l Yes, only ever seen phonics taught in the UK - wasn't aware there were alternative approaches, let alone any controversy on the topic. It might not be clear from the original article, but it isn't just single letters, there are also digraphs (i.e. two letters that make one sound, e.g. bee is read b-ee), split digraphs (i.e. where a digraph is split by a consonant, e.g. a-e for cake), and later on things like the magic e and suffixes with a-y for baby. There's some resources at [https://www.gov.uk/education/phonics](https://www.gov.uk/education/phonics) , and you can look on iPlayer or YouTube for [https://en.wikipedia.org/wiki/Alphablocks](https://en.wikipedia.org/wiki/Alphablocks) .

<comment><USER24> Alphablocks is excellent and is also now accompanied by Numberblocks, which was developed in conjunction with the National Centre for Excellence in Teaching Mathematics.

There was a big push by the Conservative government as soon as they got into power to get all primary schools to teach synthetic phonics. Before then, whole word teaching was quite common.

</comment></comment></comment><comment><USER25> I'll put this here since I learned of it from a Hacker News thread and taught both of my boys to read with it: Let's Read: A Linguistic Approach. My youngest still picks it up just to read it from time to time.

<comment><USER26> I'm using it with my eldest also after seeing it mentioned here. I can't recommend it enough, it has helped him enormously.

</comment></comment><comment><USER27> The problem with children is that we don't have an EEPROM erase function which works. So, every individual is an autonomous experiment of one, with no control and no repeatability: It is impossible to ever answer the question "if I had done this differently, how would things have changed"

I say this, because in matters of learning, the pedagogy, the mechanisms, especially when it comes to the learning of language and written language, is HUGE. Some of it is burned in (Chomsky) and some of it not. Some of it relates to age. Some of it relates to sound vs shapes. Its not simple to say "because I did this, it works for a vietnamese person" because the scripts and intonations and a whole bunch of stuff are different.

How well does it work to teach Chinese to people assuming left-to-right scanning when chinese ideograms can be read up to down? Or how about when its boudustrophon? How many written works assume left to right, and actually make little sense for a right-to-left reader?

In many economies, and I include my own (Queensland, Australia) the whole word vs phonics debate became hugely political. Its riven the early education community: It is now actually quite hard to have a rational conversation about teaching and learning in early childhood now.

Maths ability is similar. Start talking about rote learning and the "times table" and watch people foam at the mouth.

Kids have amazing models of abstraction in part wired in. This is why "I shutted the door" happens: its not because grammatical errors are in the child: its because rational abstractions Shut -> Shutted happen _in the model_

</comment><comment><USER28> We've used Teach Your Child to Read in 100 Lessons with 4 of our 5 children (the 5th is 2 years old). Starting at 3, they generally completed the book by 4-4.5, one took until he was 5. After they finish the book, the authors have a list of recommended books for the kids to read next. It's a good list, but one other source we added were travel brochures. Anytime we stopped somewhere on a family trip, we'd load up on all the brochures of things to do in the area. My 9 year old is the oldest of the group, she's completed the Chronicles of Narnia, Anne of Green Gables, and the Little House Series each multiple times. Our 8 year old just finished reading the "Boy Who Harnessed the Wind" and just asked me for 100 feet of copper wire....our 6 year old wants to go to Round Rock, TX - his favorite brochure and our 3 year old is on lesson 40... if it were just one kid, I'd say it was just luck. But the book really works. And each lesson takes between 10-15 minutes. If you figure over the course of a year, you're spending roughly 25-40 hours on developing an independent reader, it's a no-brainer.

</comment><comment><USER29> I'm always fascinated and curious about language learning. We seem to just pick up our native language so easily as we're growing up, but it seems difficult to pick up a new language with the same ease later on.

I don't have kids, and can't remember what my reading ability was at 4 years old, but I thought when I started reading that I started out by identifying individual characters and trying to sound them out piece by piece? I can't imagine that I built my native language using the whole-word system, but at the same time, that may explain all the spelling tests that I used to do.

I have been learning a completely new language (Polish) for a while now, but I started with learning the sounds of the language first (and how to pronounce the written language) which set up the framework for learning words and phrases later on. I couldn't imagine starting off with learning whole-words. That being said, I think once you have the basic framework start up, you naturally move on to whole words, sentences, and eventually become free with expressing ideas.

<comment><USER30> > _We seem to just pick up our native language so easily as we 're growing up, > but it seems difficult to pick up a new language with the same ease later > on._

Easily? It takes many thousands of hours to learn our native language in the first few years of life.

> _I started with learning the sounds of the language first (and how to > pronounce the written language) which set up the framework for learning > words and phrases later on._

That's not how language acquisition works. [https://www.youtube.com/watch?v=NiTsduRreug](https://www.youtube.com/watch?v=NiTsduRreug) [https://www.youtube.com/watch?v=_FRKBxLvKmw](https://www.youtube.com/watch?v=_FRKBxLvKmw)

</comment></comment><comment><USER31> On a side note: Please remember that teaching your kid to read should come from a place of curiosity from the kid itself. There is likely no advantage from learning how to read at an earlier age (than school) [1].

[1]: [https://www.otago.ac.nz/news/news/otago006408.html](https://www.otago.ac.nz/news/news/otago006408.html)

<comment><USER32> I'd like to use this opportunity to remind everyone that extrinsic rewards and punishment (withdrawal of rewards is also punishment) kills intrinsic motivation and poisons the relationship destroying trust.

In other words if you want you child to stop enjoying an activity, encourage or reward the activity.

For more, and a ton of research, see the work of www.alfiekohn.com and more specifically Punished by Rewards.

<comment><USER33> I mean, is this even true? I love programming for example but love it a lot more when I'm being paid a lot of money.

<comment><USER34> I _think_ the previous poster meant learning should be incentivised with rewards; rather than a behaviour forced because the alternative is punishment.

<comment><USER32> Incentivizing human beings means treating them like the rats and birds Skinner-ian techniques were derived from. But we're not rats nor birds and thus such attitude is not effective long term. Apart from being condescending, humiliating, degrading and destructive.

Rewarding a child for reading makes them read for the external reward (for someone else) and makes them hate reading even more because of the humiliation and having to go against their own internal compass in order to get something they want.

You may say this prepares them for the "real world" of exploitation but maybe 1, truly successful people find ways to include their internal compass in their daily flow career-wise and 2., a society where almost everyone tolls at the whims and pleasure of a very few ought to be questioned (reference the insane levels of inequality worldwide, having a king emperor is not sustainable).

<comment><USER34> > _Incentivizing human beings means treating them like the rats and birds_

Not at all. Incentivising means to motivate. How many people work because they want money rather than because they like to work?

> _Apart from being condescending, humiliating, degrading and destructive._

You're being a tad over dramatic :)

> _Rewarding a child for reading makes them read for the external reward (for > someone else) and makes them hate reading even more because of the > humiliation and having to go against their own internal compass in order to > get something they want._

The first part might be true in some cases. But the latter part certainly isn't. We might try to take the moral high ground but parents effectively bribe their children on an almost daily basis: "if you eat all your dinner you can have ice cream / chocolate for pudding"; "if you go in the bath now I'll pour extra bubble mixture in"; "if you're a good buy while we are shopping then I'll buy you a magazine / chocolate"; etc. Even just the process of potty training involves giving over-enthusiastic praise every time they use the potty / toilet instead of wetting themselves - effectively rewarding them with gratitude.

Children are wilful creatures and, as much as we promote independence, we still have lives we need to manage with chores and other stuff that isn't always fun. Even as adults we manage that by saying things like "if I tidy the kitchen now I'll chill with a glass of whisky and an episode of my favourite show" or "I'll go for a run 3 times a week then reward myself with an ice cream at the weekend"... etc. I used HN as a reward for some really dull work (eg I'll write 10 sprint tickets then read something interesting on HN).

Suggesting that the whole concept of a reward system is broken is a massive over-exaggeration. True, rewards _can_ be a broken way of encouragement when used inappropriately but lets not throw the baby out with the bath water (proverbially speaking).

> _You may say this prepares them for the "real world" of exploitation but > maybe 1, truly successful people find ways to include their internal compass > in their daily flow career-wise and 2., a society where almost everyone > tolls at the whims and pleasure of a very few ought to be questioned > (reference the insane levels of inequality worldwide, having a king emperor > is not sustainable)._

I think you're trailing off into a hugely philosophical tangent and one I don't really agree with. Capitalism is largely driven by financial reward - many of the greatest disrupters did so for financial gain (the whole "changing the world" meme is really a more dignified way of saying "we want this product to make us rich"). So you can work for personal rewards without being exploited.

<comment><USER32> I appreciate the conversation but don't have the bandwidth to engage your points. If you'd like to explore the research, check out the resources I mentioned. It's possible you'll arrive at a different opinions... different from mine but also maybe different from your current ones.

I dislike the dismissive + condescending label you try to attach to someone you haven't really met. Labeling while effective, is not clean argument.

<comment><USER34> > _I dislike the dismissive + condescending label you try to attach to someone > you haven't really met. Labeling while effective, is not clean argument._

You need to read back this discussion because I've been anything but dismissive and condescending while you have been using language like "condescending", "humiliating", "degrading" and "dismissive" throughout.

In fact if you do read it back you'd also realise that I'm not even disagreeing with the research _per se_ but rather disagreeing with the extreme tone and ideology you're applying to it. The rest of my post is just real world examples demonstrating that point.

<comment><USER32> > You're being a tad over dramatic :)

You don't know _me_ , and trying to frame me as something or other is a technique to dismiss my statements. Ad hominem is not an argument, although it works because human brains are vulnerable to fallacies.

If you are curious about why I used strong words you may ask :)

And, I appreciate the conversation and your clarification.

<comment><USER34> > _You don't know me, and trying to frame me as something or other is a > technique to dismiss my statements. Ad hominem is not an argument, although > it works because human brains are vulnerable to fallacies._

You're reading far to much into that statement. It was simply an expression stating "your wording is unnecessarily extreme". A point I stand by. The terms you used go far beyond reasonable judgement.

> _If you are curious about why I used strong words you may ask :)_

If you're using intentionally provocative wording which requires an explanation then you shouldn't be surprised if people take those comments on face value when you don't supply an explanation.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> I first heard of this book on McWhorter's podcast, in a fascinating episode titled Why We Stopped Teaching Children How To Read [1]. Highly recommended!

The book has been fairly useful for my child, who at times doesn't want to do more lessons but at times churns through a dozen lessons at once. Overall, we're very pleased with it!

1: [http://www.slate.com/articles/podcasts/lexicon_valley/2017/0...](http://www.slate.com/articles/podcasts/lexicon_valley/2017/01/mark_seidenberg_and_john_mcwhorter_on_reading_versus_literacy.html)

</comment><comment><USER35> My child learned to read using phonics. We didn't use this book though. At some point she asked us what the squiggly black "pictures" in her book were. Once she figured out that we weren't just making up the stories and that they were there for anyone to read she was motivated. Then reading time basically became sounding out words with her until she could read. We were lucky to have access to a lot of books very cheaply and some good libraries in walking distance which helped.

</comment><comment><USER36> My kid can read just fine. The problem is that he hasen't learned how to ENJOY reading... that is the hard part.

<comment><USER37> My sons, who are twins, were similar maybe. They learned all of the mechanics of reading. They could read. They just weren't super into it the way their older sister was. Until I let them log in to World of Warcraft with me when they were around seven. When they realized there was a story to the game that they needed to understand and details to the quests that they needed to follow they suddenly cared about reading, they realized that it was a key that unlocked a lot of really cool things. They because voracious readers from that moment. Obviously there are pitfalls to bringing kids into an online community, if I could have played it locally I would have. But it didn't start out as a plan, it was sort of a whim and when I saw the effect I started to use it judiciously, as another tool in our tool box.

</comment></comment><comment><USER38> Coincidentally, we started using this same book a week ago with my son. It is FANTASTIC! We've struggled with other methods but this one is working amazingly well. The best part is that my son's motivation to work on reading went from zero to off the charts. He's constantly on me to do more reading!

</comment><comment><USER39> My wife and I bought a 'Teach Your Kid to Read' book when the first one was a baby. We'd read to the kids every day, encouraging them to read.

It was a great decision. The kids all do well in school, and they all have benefited greatly from early reading. If you have a baby-- do this!

</comment><comment><USER40> For my daughter it was phonics at school (which seems to be quite common nowadays) combined with reading stories to her daily (about 20 minutes or so). Also took her to library and let her read/select her own books. Seems to be reading fine.

</comment><comment><USER41> For the child of average intelligence or higher, simply spending time reading aloud while the child looks and listens and eventuate tries to lead is sufficient to teach how to read. It takes hundreds of hours, but it's not rocket surgery.

<comment><USER30> Time spent listening to hard books is for most children also more marginally useful than time spent trying to learn to read very simple books independently, especially at the earliest ages.

Kids who grow up in supportive and highly literate households are going to learn to read sooner or later, without needing any excessive focus on drills. There's nothing inherently wrong with spending some amount of time on phonics, but as a minor addition to lots of conversation and reading aloud, not as the main focus.

If primary schools (some of the most extremely progressive ones partly excepted) replaced most of the time currently spent on regimented reading, spelling, and grammar instruction with the teacher just reading a variety of long, difficult (just within reach of the audience) books aloud, it would do wonders for student language skills.

<comment><USER42> "just within reach of the audience" is very hard when there are 20+ children in a class who have very little in common except age.

If the children were carefully separated by ability it might work.

<comment><USER30> It doesn't have to be perfect. If kids don't understand every word or every abstract theme of a book that's okay. If kids aren't maximally challenged by every sentence, or if the teacher interjects a definition of a word they already knew for the benefit of less prepared students, that's also okay. Kids who are a bit ahead or a bit behind will still generally stay engaged if the story is interesting.

<comment><USER42> The smarter students can just tune out, read ahead, and enjoy the book. That's not too bad.

The other way around is much worse. The slower students get frustrated as they fall further and further behind until they feel it's impossible to catch up and give up.

Unfortunately most teachers teach at the level of the more advanced students, not at the level of the slower students. I don't know if they mean to do this, it might be unconscious, but they definitely do it.

<comment><USER43> > Unfortunately most teachers teach at the level of the more advanced > students, not at the level of the slower students. I don't know if they mean > to do this, it might be unconscious, but they definitely do it.

This is almost universally false. They target the least advanced students and let them more advanced students fend for themselves. In the US it's even more pronounced because of teacher evaluation by test scores, etc. Teachers are incentivized to ignore the smarter kids because their test scores are high already, and they get more bang for their buck by raising the scores of the kids at the bottom of the range.

</comment></comment></comment></comment></comment></comment><comment><USER44> I distinctly remember that being how I learnt to read. By sounding out the words, I couldn't imagine any other way?

<comment><USER45> I think the level of "sounding out" can vary. I learned to read "on my own" when I was 3 or 4 by realizing that the story my dad kept reading to me each night had the same exact words spoken on the same page. I realized the words on the page were related, so I would scan ahead and see the symbol "by" coming up, and he would say "by"! I picked out other small words and linked them to symbols and then linked larger sections of words. This ended up like sounding it out, but by word-parts, not by letters. My parents were surprised to learn that I could read when I read aloud a long word on a road sign as we were driving. "Tippecanoe."

With my kids, they did not follow my path and were uninterested in relating words to their sounds as we read books together, so we went with hooked on phonics to solid success, where I first learned rules (as a college educated adult mind you) like the sound of "x" (I had never realized what it was, like "ks" in "ax" \- pronounced "ah-ks") and where I learned that a vowel typically says it's name if followed by a consonant and another vowel. I hadn't developed sounding out letters, I only sounded out parts of words in relation to other words I was aware of. I think this could be part of my issues with spelling in school.

</comment></comment><comment><USER46> I learned to read by watching Sesame Street and other PBS children shows.

</comment><comment><USER47> "Nothing happened, even though guidelines that govern behavior on the platform explicitly forbid mocking someone's physical appearance.

Today, Instagram says, the outcome would have been different. More sophisticated reporting tools and moderators would have quickly shut the account down."

\--> This is BS. Just two days ago, I came across an Instagram account, which had photos and videos of a friend & with captions making fun of my friend. I reported the account for bullying and got a reply from Instagram that the reported account doesn't violate it's community guideline.

When reporting an account, there is no way to provide a link of the actual account.(from where the bully copied the content)

<comment><USER48> you might be in the wrong thread</comment></comment>


Show HN: My Blogging Toolkit - <AUTHOR> https://pawelurbanek.com/best-blogging-tools <comment><USER2> Why do people use Grammarly? It's _literally_ a keylogger. Everything you type in to every website is sent to their servers. It's such a huge security issue I'm genuinely amazed it's apparently popular.

<comment><USER3> well, are there any other options for a spell-checker that convenient? I'm interested.

<comment><USER2> Write your content in an offline word processor like Word or Open Office and then copy-paste it in to your web form. If something is important then you're not really losing much (you only need to paste it in to the browser once after all) but you're gaining _a lot_ by not voluntarily installing a keylogger.

As bonus if you save what you've written then you get a backup.</comment></comment></comment>


Some Topics in Theoretical High-Energy Physics (Stephen Wolfram 1979 PhD Thesis) [pdf] - <AUTHOR> https://files.wolframcdn.com/pub/www.stephenwolfram.com/pdf/SomeTopicsInTheoreticalHighEnergyPhysics.pdf <comment><AUTHOR> Note: this is from 40y ago (November 1979)</comment>


Multi-Tenant Architectures - <AUTHOR> https://blog.codonomics.com/2020/08/multi-tenant-architectures.html <comment><USER2> I've found shared app, shared database completely workable by utilizing Postgres' row level security. Each row in any table is locked by a "tenant.id" value matching a tenant_id column. At the application level, make all requests set the appropriate tenant ID at request time. You get the data "isolation" while using the simplest infrastructure setup.

<comment><USER3> What about postgres' schema to isolate tenants?

[https://www.postgresql.org/docs/current/ddl- schemas.html](https://www.postgresql.org/docs/current/ddl-schemas.html)

<comment><USER4> These guys wrote the most popular Ruby on Rails multitenant gem and eventually moved away from it:

[https://influitive.io/our-multi-tenancy-journey-with- postgre...](https://influitive.io/our-multi-tenancy-journey-with-postgres- schemas-and-apartment-6ecda151a21f)

Some things were mistakes but others look like pretty fundamental flaws. Performance is a problem, database changes are a problem, and you aren't able to query across tenants.

</comment></comment></comment><comment><USER5> This is my favorite article on the topic: [http://ramblingsofraju.com/wp- content/uploads/2016/08/Multi-...](http://ramblingsofraju.com/wp- content/uploads/2016/08/Multi-Tenant-Data-Architecture.pdf)

Once it was available on MSDN site of Microsoft, but I can't find it on microsoft.com anymore.

<comment><USER6> This page on the Azure SQL docs site has lots of great info too: [https://docs.microsoft.com/en-us/azure/azure- sql/database/sa...](https://docs.microsoft.com/en-us/azure/azure- sql/database/saas-tenancy-app-design-patterns)

</comment></comment><comment><USER7> Pretty telling that the top two comments at the moment endorse the two most diametrically opposite approaches possible: single app and single set of tables with row level security, vs totally separate apps + separate dbs entirely.

I think it really depends on the kind of application and the kind of user / customer you're dealing with. I'd probably lean towards "single" database with horizontal sharding .

<comment><USER8> Yup, we use "single tenant" as a major upsell to enterprises, and just run a kubernetes cluster for each of these, with their own maintenance / release cycles.

But we can only do that because they pay a lot of money for this stuff. Our "shared, multi-tenant" environment is an order of magnitude cheaper.

<comment><USER9> Out of personal interest as someone who'll be offering pricier "single tenant" or "we'll deploy to your AWS account", how do you price this?

<comment><USER10> We charge about 10x for enterprise customers. The only difference between what they get and what a normal customer get is that we deploy the enterprise customers on their own servers/network.

Considering how long end exhausting the sales process are with enterprise customers I think the price is fair, even though the extra cost to operate that kind of customer is negligible.

<comment><USER11> I'd add that the minimum bill is $10000 for anything enterprise. That's a bare minimum to handle all the time and extra work they will incur (months of sales process, dedicated AWS instances, heavy support burden, single sign on integrations, etc...).

As soon as you hear any of these, it's the hint you're dealing with enterprise and you have to up the price tenfold.

</comment></comment></comment></comment></comment><comment><USER12> Why is the shared app & shared database the most complex beast? Technically it's the simplest and requires the least amount of work to set up and maintain. You can even run the app & db on the same server. The complexity of maintaining multiple app & db instances isn't worth it, at least when you're starting out.

<comment><USER13> Everything is simple when you're starting out. Over time, you'd see that users can have wildly different load patterns, which will affect how you scale and shard your database over time. It's a huge pain to manage and grow.

<comment><USER14> It's way easier to scale a shared app/db, anyone who tells you different hasn't had to do devops.

Rule No. 1, never shard by account_id, Pareto is just waiting you kick you in the ass. Always shard by whatever gives the best distribution of workload.

There are more rules of course.

<comment><USER15> I've always considered data isolation as the #1 priority when it comes to tenancy. Does that mean that the sharding should defacto be done on the tenant ID?

<comment><USER16> You shard for load distribution. If data isolation is #1 priority, use separate tables, schemas, database instances.

<comment><USER14> Separate disks, separate machines hell even separate networks, proper data isolation can be super expensive to do right.

</comment></comment></comment></comment></comment></comment><comment><USER17> Writing a shared app shared database tenant isolation database middleware for Django was one of the most interesting challenges I've had over the years. The library was 100% tested with Hypothesis to randomise the data, and used ULIDs to allow for better long term tenant sharding and since ULIDs are compatible with UUIDs they can be dumped/propagated into other systems for analysis/analytical queries. It was quite a lesson in what 100% test coverage does not actually prove since I still had bugs at 100% coverage that took work to chase down, side effects, false positive/negatives, etc.

<comment><AUTHOR> Thanks for sharing your experience. Mind sharing the details of the bugs and the middleware you were writing. IS that an open-source library that I can take a peak into?

<comment><USER17> I ran into so many interesting bugs, I've honestly forgotten most of them, but I do remember many of them were actually to do with extensive use of UUIDs and the interaction it had with more powerful Django ecosystem tools that did things like expose a complete JSON-API endpoint, stuff that did "query building" was generally not designed with accounting for. My favourite is having to selectively use thread locals to disable the query filtering layer for very specific internal queries that a few libraries used. I tried to get it working with context vars for future Django async support but never had the time to finish that work.

The code was written with open sourcing it in mind actually. The amount of effort involved pushed me to select License Zero effort and specifically the Prosperity Public License [https://prosperitylicense.com](https://prosperitylicense.com) (License legal TLDR is "open" but if you use it to make money you have to pay me something I agree to) I'm hoping to do a significant refactoring before I mark the 1.0 version. I have some ideas that may be vastly cleaner but really requires nailing the whole thread local / async context vars lifecycle so I've kind of tried to limit who might start relying on it based on how extensively tested it is.

</comment></comment></comment><comment><USER5> I read multiple articles on the topic years ago, dealt with and designed multi-tenant systems, and my approach is very simple for small developer teams: separate databases, separate app instances running on separate domains for every tenant. This is the least technically complex to implement and there are very few mistakes you can make (only deployment). There are a lot of tools nowadays which can help you automate and isolate the environment for these (Docker, Ansible, whatever). Also it can be the most secure architecture of all.

<comment><USER18> How is that multitenant? That's just running a separate instance of application for each tenant.

I agree that it is a completely valid approach, especially if you can afford it, but in my opinion it is just a single tenant application that can be easily spun up. For example, what if you want to manage all of your "tenants" within an admin interface. With a separate instance for all your tenants this is not really possible without additional development or a completely separate admin application.

<comment><USER19> I agree with you here. We typically only advocate for this if the budget/time is low and the likelihood of a next tenant is not soon. Then we learn all we can on the first couple clones and then move to a real multi tenant design while also handling some tech debt we created the first time around.

What tends to happen is a first immediate client is needed along with a couple of sales demo clients. This buys time for the business to see if it's viable before we bring on complexity.

But I agree clones of a core system isn't multi tenancy.

For what it's worth I tend to tell clients we won't be sustainable after 4-5 of these such clones.

For people considering the clone approach let me caution one issue that comes up about 90% of the time. A client will as for a custom feature and be willing to pay for it for that "one" clone. These divergences are allowed to happen because we aren't multi-tenant yet. You need to work hard to educate during this phase so you don't create too much work down the line when you finally consolidate and refactor.

</comment></comment></comment><comment><USER20> One aspect left out is upgrading: can you always distribute new features to all tenants at the same time? If a new feature requires some training or organizational change, then you need to deploy at the moment agreed on with the tenant. From this point if view, models 1. and 3. are viable.

If extensions are rare, you can keep a switch for each and separate upgrades on model 4. However, if you want changes on switch, then you have to keep old code in conditional branches of your code forever. High cost of ownership.

</comment><comment><USER18> A colleague implemented a hybrid system for a SaaS product he was leading. Normally the product is a single app, single database with column as a tenant ID discriminator, but for specific tenants he built in an option to specify a separate database. This allowed all tenants that wanted higher performance or data saved in a separate location to be able to buy in, while most of the tenants were in a multitenant database.

Solution I implemented on my project (IoT) was shared apps, shared database. When we were starting the project, we decided to use a column as a discriminator and designed the system so that developers for entities that need to be tenant specific, just need to extend an abstract class, the rest of the system detects when you are trying to save or load such an entity and in those cases it applies a filter or automatically assigns the tenant ID. This means that normal developer can work just like he would on a single tenant application. I feel this is pretty normal stuff.

</comment><comment><USER21> In practice, I've seen both shared app, shared DBs, and shared app, separate DBs. "Shared / separate DBs" is not actually so black and white. I recommend making your system configurable so you can dedicate DBs to a specific tenant (or group of tenants) if needed. Most of them probably won't need it...

</comment><comment> awinter-py such an interesting topic. Not faulting this article for staying focused, but other questions here are:

\- hybrid model where paid / larger clients get dedicated hardware for perf reasons

\- YAGNI -- will you even need multitenancy?

\- business + legal considerations; which industries have legal or regulatory requirements not to intermix

\- sharing and permissions -- what happens the first time someone needs to share a doc cross-account?

\- tools and codebase strategies for verifying permission model on shared arch

<comment><USER22> The business model can be the overriding factor. If you're selling to Fortune 500 firms, they will require you to allocate them their own database and application servers. But if you're selling to small/medium business you're in more of a volume business and you can't justify the expense at that price- point.

</comment></comment><comment><USER23> The author doesn't mention application updates, which can be important.

Shared application scenarios can bring headaches when different customers want different application behavior implemented in upgrades.

<comment><AUTHOR> Isn't that a different tangent? Does it matter, when the SaaS codebase is same for all tenants? If you are dealing with different codebase for different clients, then that is a flawed approach in that it is error prone and not scalable as tenants increase in number.

<comment><USER24> trying running a single SaaS codebase for enterprise clients. Maybe you can upgrade everyone with CI on a single commit, but no line of business solution wants that. We have to run a very strict and explicit upgrade cycle for our apps that allows them to test extensively before committing to newer versions.

Just because you're SaaS doesn't mean your clients are...

<comment> squeaky-clean It's not a 100% fail proof solution, but enforcing API versions in the the request helps. /latest/ is available in our preprod environment, but in production you can only call the API with an explicit version.

</comment></comment></comment></comment><comment><USER25> Perhaps I missed the point, but it seems strange and artificial to me that all this article considers when discussing multi-tenant architectures are the database and the app. There's so much more that goes into actually delivering multi-tenancy in production.

Long ago I was the product manager of a complex enterprise platform which had been heavily customized for one of our large banking customers. They hosted the database on SQL Server shared clusters and much of the application backend in VMware instances running on "mainframe-grade" servers (dozens of cores, exotic high-speed storage). The hardware outlay alone was many hundred thousand dollars, and we interfaced with no less than 5 FTE's who comprised part of the teams maintaining it. Ours was one of a few applications hosted on their stack.

Despite repeated assurances of dedicated resource provisioning committed to us, our users often reported intermittent performance issues resulting in timeouts in our app. I was the first to admit our code had lots of runway remaining for performance optimization and more elegant handling of network blips. We embarked on a concerted effort to clean it up and saw huge improvements (which happily amortized to all of our other customers), but some of the performance issues still lingered. Over and over again in meetings IT pointed their fingers at us.

Eventually we replicated the issue in their DEV environment using lots of scrubbed and sanitized data, and small armies of volunteer users. I had a quite powerful laptop for the time (several CPU cores, 32GB RAM, high-end SSD's in RAID) and during our internal testing I actually hosted an entire scaled-down version of their DEV environment on it. During a site visit, we migrated their scrubbed data to my machine and connected all their clients to it. That's right, my little laptop replaced their whole back-end. It ran a bit slower but after several hours the users reported zero timeouts. This cheeky little demonstration finally caught the attention of some higher-up VP's who pushed hard on their IT department. A week later they traced the issue to a completely unrelated application that somehow managed to monopolize a good chunk of their storage bandwidth at certain points in the day. Our application was one of their more-utilized ones, but I bet correcting this issue must also have brought some relief to their other "tenants".

I know this isn't a perfect example, but it demonstrates how architecture encompasses a whole lot more than just the DB and apps. There's underlying hardware, resource provisioning, trust boundaries, isolation and security guarantees, risk containment, management, performance, monitoring and alerting, backups, availability and redundancy, upgrade and rollback capabilities, billing, etc. When you scale up toward Heroku/AWS/Azure/Google Cloud size I imagine such concerns must be quite prominent.

<comment><USER26> We often have customers complaining that our applications run significantly slower after they receive an upgrade. Our usual procedure is always telling them that we have not seen any performance regression internally or at other customers, so we kindly ask them to look over what other changes they have made to their environment, be it hardware or software.'

If they insist that the problem is our software, we tell them that we will begin troubleshooting, but if the error is outside of our responsibility, we will bill for all the hours used. 19 out of 20 times we restore the old version and benchmark them against each other and the performance is comparable. At that point they go back and recheck something, and it turns out they allocated resources differently or another application was upgraded too.

</comment></comment><comment><USER27> Earlier we used to have multiple web apps with separate databases, now we are using a single web app that can connect to different databases and configuration based on the subdomain, so far it's worked great, having a single web app really makes development and deployment a lot easier. We often host multiple databases in a single rds instance to reduce costs. We get data isolation and don't have to deal with sharding, of course this works well for enterprise applications with just 50 - 100 tenants.

</comment><comment><USER28> It's really best to design everything for a shared app shared db model, and to have a user/tenant heirarchy in every app. You can start with each user belonging to their own tenant. You can in the future shard the db and/or app by tenant for scalability, you can provide a dedicated instance as required for data residency or whatever.

</comment><comment><USER6> I quite like the Wordpress Multisite model which deploys a separate set of tables for each blog in a single MySQL database. Then you can add on the HyperDB plugin which lets you create rules to split the sets of tables into different databases. This gives a lot of flexibility.

</comment><comment><USER29> previous related discussion [https://news.ycombinator.com/item?id=23305111](https://news.ycombinator.com/item?id=23305111) Ask HN: Has anybody shipped a web app at scale with 1 DB per account? 262 comments

</comment><comment><USER30> I design my products as multi-tenant (both code and database). This does not mean however that the result can not be used as if it was a bunch of single tenant instances. It is up to the client how they decide to deploy.

</comment><comment><USER31> No mention of sharding by usage pattern, which is the usual pattern at scale, eg partition potentially app and database differently for users with different fanout or scale or other properties that affect scaling.

</comment><comment><USER32> If you want to scale you share the apps and databases.

Nothing worse than having to spin up more and more instances and manage more and more hardware/virtual hardware/services as your customer base grows.

</comment><comment><USER33> Are there any strategies for migrating from a separate db per tenant to shared db with scoped tenant_id? In this case each tenant would have overlapping primary keys.

<comment><USER20> you add the tenantId to each table and you add it to the primary key of the table too. then you just merge.

<comment><USER34> "Just". Depends on the number of tenants and how divergent they are.

I would incrementally bring tenants together into a single DB.

<comment><USER33> There are also some limitations if using something like rails / activerecord which doesn't support composite primary keys natively

</comment></comment></comment></comment><comment><USER35> I worked on a system with the shared app + shared database model. At its core, we received events (5-10KB) from customers and did something with those events. In total, we were receiving 8K-10K events per second.

In terms of security and privacy, isolating an individual tenant from others wasn't so much of a concern as each tenant was a customer within the organization with the same data classification level. So from a security perspective, we were "okay".

Where this gets interesting is that one tenant would suddenly decide to push a massive volume of data. Now processing events within a specific SLA was a critical non-functional requirement with this system. So then our on-call engineers would get alerts because shared messaging queues were getting backed up since Mr. Bob had decided to give us 3-5x his typical volume.

The traffic spike from one customer, which could last from minutes to hours, would negatively impact our SLAs with the other customers. Now all the customers would be upset. ^_0

Being internal customers, they were willing to pay for the excess traffic, but we didn't really have the tooling to auto scale. Our customers also didn't want us to rate limit them. Their expectation was that when they have traffic spikes, we need to be able to deal with it.

Now – we didn't want to run extra machines that sat idle like 90% of the time. And when we had these traffic spikes, we'd see our metrics and find maxed out CPU, memory, and even worse, we'd consume all disk space from the log volume on the machines filling everything up. The hosts would become zombies until someone logged in and manually freed up disk.

There were a few lessons learned:

1\. Rate limit your customers (if your organization allows).

2\. If your customers are adamant that in some instances each month, they need to be able to send you 5x the traffic without any notice, then you can't just rate limit them and be done with it. We adopted a solution where we would let our queues back up while some monitors would detect the excessive CPU or memory usage and would start scaling out the infrastructure. Once our monitors saw the message queues were looking normal again, they'd wait a little while and then scale back down.

3\. When you're processing from a message queue, you need to capture metrics to track which customer is sending you what volume. Otherwise, you can have metrics on the message queues themselves and have one queue per customer.

4\. If it's a matter of life and death (it wasn't, but that's how one customer described it), something you can do is stop logging when disk space usage exceeds a specific amount.

5\. Also – when you have a high throughput system, think very carefully about every log statement you have. What is its purpose? Does it really add value?

<comment><USER11> I'd advise to set a classic rate limiting on the front load balancers, something like 6k requests per minute per IP.

This works really well to stop clients from doing this sort of things in the first place. Client devs get 429 errors for spamming the shit out of your server, they add some sleep to spread out the requests a bit. Everybody wins.

You will never hear any complaint about it, it's infinitely easier for the customer to add a sleep than to figure out how to contact your support.

</comment></comment><comment><USER36> >Separate Apps & Separate Databases

> Suitability: This is the best way to begin your SAAS platform, for product- > market fitment until stability and growth.

Uh what? How is this even feasible when you get to 1000s of clients?

<comment><USER37> I guess it depends on your customer model, but surely the keyword there is "begin"?

It all depends on your customer/business model. If you're expecting to get to 1000s of clients quickly (i.e. within 12 months), then this will be an ops nightmare, unless you have really good automation.</comment></comment>


13 and 17 year cicadas - the extended phenotype - <AUTHOR> http://camdp.com/blogs/my-favourite-part-extended-phenotype

<comment><USER2> The evolutionary prime-number theory is discussed in more depth here:

[http://arachnoid.com/prime_numbers/index.html#Mathematical_L...](http://arachnoid.com/prime_numbers/index.html#Mathematical_Locusts)</comment>


Namecheap: Recent Hosting Breach - <AUTHOR> https://www.namecheap.com/blog/update-recent-hosting-breach/ <comment><USER2> So, if I figured out that my competitor used Namecheap's hosting, I could have signed up for a hosting account, hijacked store.mycompetitor.com, and used it to sell my own products. Not ideal, Namecheap.</comment>


Show HN: My MVP - InformationCollector.com - <AUTHOR>

Could I please get some feedback on my MVP? https://InformationCollector.com
It's a simplified version of Microsoft Access for Android users.  Non-programmers can create a form online in about a minute.  Android owners can then use my app to submit information to a central server (where it can be viewed in real time or downloaded as an Excel file).
Possible use cases: Apartment hunting (submit pictures, sizes and rents), field research (no longer a need for typing up field notes / lugging around a laptop), recruiters evaluating candidates at networking events, etc.  I have tons of use cases that I am fleshing out on my website.
Even if you don't have an Android device, I'd still like your feedback!  I have a "quick tour" button on the bottom of the front page, so there are screenshots of every step from creating an account to viewing submitted data. <comment><USER2> I can see that the initial two step installation process can be confusing. Can it be reduced to a single step?

Otherwise, great idea!</comment>


Reddit: This company didn't pay their bill, so I changed their website. - <AUTHOR> http://www.reddit.com/r/WTF/comments/kdvt4/this_company_didnt_pay_their_bill_so_i_changed/

<comment><USER2> This juvenile behavior just degrades the profession. If a client isn't paying you, take it to court. Or, if there was no contract, as in this case (OP states so in the comments), then learn from your mistake and move on.

<comment><USER3> No, I think that attitude is why people feel like they can get away with not paying. An established norm of "pay or things get nasty" would more effectively enforce payments. If nothing happens, the defaulter gets free stuff until it's resolved in court; most likely, it will be settled at a rate which is, after accounting interest, sub-market.

If things get nasty, the defaulter loses. Simple. What's funny is that outside of professional services and real estate, this is how the world works: a quick bit of paperwork and people show up to take the stuff back (e.g., the car).

<comment><USER4> There's a line that was crossed. If he had put up an 'Account Suspended' page, that would have been fine. Saying they don't pay their bills and linking to a competitor is not cool and looks bad for the competitor, too.

<comment><USER3> I do think the competing link is a bridge too far, mostly because it involves a third party.

</comment></comment></comment></comment><comment><USER5> Legal issues aside, I feel like payment is more likely to be received if similar yet less hostile message is provided as they still have the option of getting the site build by someone else for a similar price out of spite. (Note the 'Cotton Hill' link on the page is a competitor's site -- that's a pretty nasty thing to link to)

<comment><USER6> I like to think that previous instances were already tried unsuccessfully, and there was no hope of getting paid.

Otherwise, this would be very stupid.

-edit- From Reddit's post, in the edit: > I'd also like to say that they've been ignoring my efforts to contact them as well. I wouldn't have done this if I hadn't been ignored for over a month.</comment></comment>


Show HN: Frame – A user system API for Node.js - <AUTHOR> https://github.com/jedireza/frame

<comment><AUTHOR> Hey HN. Developer here.

This is the second iteration of creating a user system boilerplate/kit. The first was Drywall which you can find on my GitHub page. I'd love to know what you like and what sucks.</comment>


WebVR Showroom - <AUTHOR> http://showroom.littleworkshop.fr <comment><USER2> Love it!

However, Chrome (IE 11 too) reports, "You browser does not support WebVR. Falling back to non-VR mode"? Perhaps I'm misunderstanding what I need for a client. I would like this demo to have WASD or arrow key support too.

It would be neat if this could be used to tour a home design online prior to building it for real. Maybe a type of Minecraft app to where I could assemble a space (from generic parts) then show my design to a real engineer who could fabricate it.

<comment><USER3> I think Chrome only supports Daydream headsets for now. If you've got an Android phone that supports Daydream you should be able to load the page on there in Chrome, pop the phone into your headset, and get VR that way.

Edit: Firefox Nightly seems to support it with desktop headsets as well. Here's a guide to current browser support for WebVR: [https://webvr.info/](https://webvr.info/)

</comment></comment><comment><USER4> Tap to walk (servo) is a bit too nauseating in VR; "blink"/instantaneous teleport is much easier on one's stomach.

<comment><AUTHOR> It does use instant teleport when you view the demo in a VR headset.

</comment></comment><comment><USER5> Safari in iOS 10.x could view WebVR smoothly is a surprising experience. I have thought it wasn't supported.

</comment><comment><USER6> Looks very nice, congratulations.

</comment><comment> King-Aaron This is awesome!</comment>


The Plot Against Trains - <AUTHOR> http://www.newyorker.com/news/daily-comment/the-plot-against-trains

<comment><USER2> This is what the author may _wish_ was what was stopping big public works projects, but look at what blocks the real, physical, approved public works projects in the real world: It's lawsuits, permits, studies, protests being made by people who are very much _not_ libertarians (environmentalists, rich NIMBYs, etc.) and government requirements made without regard to costs for things like unionization requirements, bid requirements, etc etc.

Proof: Look to the projects that are _already approved_ , like, say, the California train. Look at why they're running over budget and past schedule. It's not because libertarians are running around, yelling and scaring the poor, hard-working train workers, who then have to take unexpected hazard pay. It isn't for lack of money, which gets generously ladled over many of these projects.

When I vote against these sorts of sweeping projects, I'm not really doing it as a libertarian, I'm just doing it as a _pragmatist_. If the voting public is reluctant to fund more of these things, they're quite possibly just being _rational_. Michigan, for instance, just voted down a big bill to raise taxes and fix up the roads, and _believe_ me, Michiganders are almost uniformly of the opinion we need to do more for our roads... but we voted it down quite hard because really all it seemed to do was throw money at the problem, and _not even all that competently_. The sheer governmental incompetence at public works projects has reached a point where even Michigan, a state that is at least Blue- _ish_ , is _hardcore_ voting these things down because we simply do not think the projects are being done _well_.

Fix that, and I'll vote you money. Even me.

<comment><USER3> You have some good points but one thing is for sure, less money means less and less ability to do a good job. This attitude also makes it when we do something like that, people are very critical and hoping for it to fail rather than helping to fix it, further exacerbating the problem. We have groups of people that want anything that benefits all to fail, and can't wait until they do.

Looking back, even when they did large projects in the past there were companies involved that did most of the projects. The government just funds it across all because it is beneficial to many or all and it may not be a market investment now but will be long term. Many people got rich determining where the roads, rails and projects got made and fortunes were made. That is when people started caring, many projects in when there were economic benefits. We also built up after WWI/WWII because the entire world was in ruin and we had an opportunity to get far ahead. I am convinced that if that happened today, with our extreme views, that we would have just not built up after those wars and we would be living in a much different place, with much less business and economic opportunity. Rarely does a big project like this cause economic issues other than the initial cost but the long term it adds many times more worth. We now have some of the worst rickety infrastructure and we still aren't doing anything now so why would we have then with this outlook. We use public fees and funds to build stadiums but not much else.

I'd be fine with us giving Tesla or Elon Musk funds to make the US have electric highways. Maybe even giving Google and others funds to build the fiber network that will always be upgradeable and on a schedule. But that is the flipside, lots of people wouldn't be fine with that without some oversight, America is a big team that isn't playing for the better of the whole team but tribes within it. It seems to be just black or white to most people when these things take time to get right. We are like working at an office with a really demoralized team, so why do anything for the team at all then right?

We have forgotten how to build and fund things for the common good that elevates everyone's quality of life and provides a better platform for business and economic development. That American attitude of betterment for all and strong base was left in the former century.

</comment></comment><comment><USER3> In the US we have taken advantage of all the great infrastructure systems of the past, thinking that it just happens like that while neglecting it for decades. We are like a friend that takes advantage while expecting it to just continue. It is almost like a company that gets too much funding, then builds off of a non reality thinking it just lasts forever.

I wonder after all these wars when we will finally get back to infrastructure and projects like better roads, high speed rail, water projects like Hoover Dam, the interstate system, bridges/tunnels, and more. What are we going to do when we need drone infrastructure? What about high speed internet and fiber in a constant upgrading capacity? Is our solution to continually fall behind waiting for the market to be right?

Why don't we have the same grand efforts to build an electric highway (highways with electric charging stations), or better high speed rail not 50 year old Amtrak trains, or that killer fiber network. These are quality of life improvements, that directly increase economic power for all, that we cannot get funding for but we can go to war.

We need a War on Infrastructure Aging and somehow tie it to War on Terror funding or War on Drugs funding and scare people into doing it as that seems to be our modus operandi this millennia.

</comment><comment><USER4> Man, Gopnik beat the hell out of that straw man.

"What we have, uniquely in America, is a political class, and an entire political party, devoted to the idea that any money spent on public goods is money misplaced, not because the state goods might not be good but because they would distract us from the larger principle that no ultimate good can be found in the state."

This is a very strong statement, but it is simply not true, and cannot be substantiated by any reference to public statements of the people Gopnik is criticizing. The best case he could make is that this is what they "really mean", or that it is some logical conclusion of their statements. But that ignores a lot of what they do say. Republicans have voted for all kinds of public spending, on all kinds of things, since Reagan was elected. In fact there is all sorts of criticism of some of that spending within the party, going all the way back to Stockman. And almost all spending "cuts" championed by those evil Republicans turn out to be refusals to increase spending.

If you want to know why our country is so divided, and our debate is so sterile, just look at the massive mischaracterizations of pieces like this. When you don't even listen to what the other side has to say, and can't bring yourself to an honest account of the opinions you criticize -- yeah, there won't be much dialogue.

<comment><USER5> Oh come on. The Republicans are gutting NASA's earth science budget and asking the NOAA to study weather, not climate, for purely ideological reasons. The author's claim that this is ideological don't need speculation, just read George Wills columns on how trains represent European socialism and cars represent freedom.

We've come a long way from Dagny Taggart.

<comment><USER6> All you've done here is illustrate the GP's point.

</comment></comment></comment><comment><USER7> the american train system is particularly cronyist. It's an issue very well addressed in the (not libertarian) book "Free Lunch: How the Wealthiest Americans Enrich Themselves at Government Expense". Especially damning is how amtrak leases their right of way from freight carriers, who a) give freight trains the right of way - leading to frequent delays and b) lobby the NTSB to keep safety standards low.

The american train disaster is not a failure due to selfishness - it is a failure due to central planning in the worst fashion: corruption.

<comment><USER8> Wait, what right of way does Amtrak lease from freight carriers? They outright own the Northeast Corridor and tracks as far west as Harrisburg, PA. I think they lease some bits of track from various state department of transportation and they obviously have trackage rights with the various freight carriers.

The NTSB seems to have higher standards for railroads than elsewhere in the world, that's one reason why we can't just import high speed trainsets, pretty much every other passenger rail car is much lighter and less sturdy than ours. I think much of that is due to our rail system handling both freight and passenger traffic.

<comment><USER9> > Wait, what right of way does Amtrak lease from freight carriers?

Well, everywhere west of Harrisburg and south of DC, Amtrak runs on the right of way of freight railroads. That isn't "lease" exactly, but Amtrak pays to use those tracks, which is essentially the same thing.

<comment><USER8> Right, that's called trackage rights and are given priority time slots over freight trains. However when the slot is missed then the trains are treated as any other freight.

</comment></comment></comment></comment><comment><USER10> I disagree Americans have a Plot against Public works. They have the biggest army in the world, the CIA, the NSA, the NASA, the NOAA... totally public.

I have lived in cities like Boston, Berlin, London and I believed I had seen crowded places. But living in big cities in China or Japan is another world.

Asia has an enormous population density, so trains(and bikes) make sense there. Now I live in Europe(already crowded place) and I feel a void of all this people everywhere.

Places like the US or Australia just have such low population density. They already need cars for everything they do so they are car centric, and distances are so big between cities that it makes sense to use planes instead of trains.

<comment><USER11> Yes but I believe it makes quite a bit of sense for some select areas. The problem is that trains seem to be a cultural shift, so building for those niches where it makes sense is going to be hard.

</comment></comment><comment><USER12> The two essays of Tony Judt regarding trains mentioned in the OP are:

[http://www.nybooks.com/articles/archives/2010/dec/23/glory-r...](http://www.nybooks.com/articles/archives/2010/dec/23/glory- rails/)

[http://www.nybooks.com/articles/archives/2011/jan/13/bring-b...](http://www.nybooks.com/articles/archives/2011/jan/13/bring- back-rails/)

These were published a few months after his premature death in 2010. Judt was a prominent American/European historian and intellectual who wrote a series of serious, elegant, and spirited essays for the _NY Review_ , all of which can be recommended.

</comment><comment><USER13> What plot? The US transports more by rail percentage wise than Europe and the percent of people using trains while significant still isn't a percentage for anyone to point "see over there".

Now public transportation, ie mass transit, is a financial mess whereby the riders don't have to pay the full cost as its been acknowledged they would use the service if they did; oddly some studies have found the percentage increase if fares were removed didn't increase significantly.

Dollars spent on mass transit have increased from 1.6b in 1970 to over 20 billion today. The twenty plus billion of subsidies doesn't include nearly ten billion to maintain it or almost eight billion for improvments.

The problem is light rail is super expensive, you could get more bang for your buck with dedicated bus lanes and double decker buses. Consider cities like Portland were expansion of the light rail is costing nearly a hundred million a mile.

The only plot against trains for mass transport is there exceptional cost to build and maintain versus ridership which even subsidized doesn't pay for it

As for the article, attempting to capitalize on a tragedy and then completely ignoring already know facts is not journalism and its tasteless and unprofessional

<comment><USER14> What?

"American railroads accounted for just 17.2 billion passenger-kilometres in 2010, according to Amtrak, America's government-backed passenger rail corporation. In the European Union, railways accounted for nearly 400 billion ..."

([http://www.economist.com/blogs/economist- explains/2013/08/ec...](http://www.economist.com/blogs/economist- explains/2013/08/economist-explains-18))

</comment></comment><comment><USER15> I doubt very many Americans are "against trains", but very many of us are against the State subsidizing and propping up failing businesses that can't survive without public dollars. Some of us simply believe that subsidizing businesses is not a proper role for government.

Personally I think trains are awesome, and I've love to see high-speed bullet trains criss-crossing America. But I don't want the government involved in it, and if that means we go without the trains, that's an outcome I find acceptable.

<comment><USER16> "Personally I think cars are awesome, and I'd love to see some high-speed highways criss-crossing America, but I don't want the government involved in it, and if that means we go without highways, that's an outcome I find acceptable."

Can you imagine the US without the Interstate? That's the sort of opportunity you're missing out on here.

The subsidy the government has given American businesses a huge competitive advantage, you can ship almost anything cross-continent within a few days. This has enabled companies like UPS to exist.

High-speed trains have the potential to dramatically shrink distances between major hubs, giving people an alternative to aviation for their mid-range transportation needs, and could allow people to live in more affordable neighborhoods without an unbelievably long commute.

There are people that live in northern France and commute to London and it takes them about an hour. Meanwhile getting from Buffalo to New York City takes a full day.

<comment><USER17> I agree with astrodust, and would like to point out to the GP that arranging the real estate necessary, plus getting all the zoning/easements/whatever (I'm not in property development), would easily be prohibitively expensive for a company trying to join any two major cities.

I am currently of the opinion that major logistical infrastructure can't feasibly be done by any non-governmental entity since such company can't force land acquisition and usage approval by their own fiat. A company could propose a project to legislators, but would have to invest significantly before that stage with no guarantee of return. If a company could feasibly be granted such power plenipotentiarily, it would be a huge bill of rights issue (that eminent domain is controversial is another discussion). Other than government, I don't see a feasible solution here.

<comment><USER15> _I agree with astrodust, and would like to point out to the GP that arranging the real estate necessary, plus getting all the zoning /easements/whatever (I'm not in property development), would easily be prohibitively expensive for a company trying to join any two major cities._

I never said it would be easy.

<comment><USER18> Of course it would be easy. Private companies can easily take people's property - just point a gun at them. It worked well for the East India company.

If we can eliminate government, we can eliminate the people's protection racket. This will allow private companies to flourish, and the weak to be eliminated.

<comment><USER15> The East India Company was a "private company" in the loosest possible sense. It was operating with the explicit sanction of the British Empire and was effectively a government in its own right.

I find it amusing that you would cite that example as an argument FOR government, as I think it stands as a classic example of the worst of what government enables.

<comment><USER19> > The East India Company was a "private company" in the loosest possible > sense. It was operating with the explicit sanction of the British Empire and > was effectively a government in its own right.

Every company that exists as separate juridical entity (e.g., every corporation, for starters) does so with the explicit sanction of a government and is an exercise of government power.

The East India Company was a private company in exactly the same sense as any other "private" corporation.

<comment><USER15> _The East India Company was a private company in exactly the same sense as any other "private" corporation._

That's just being pedantic. It was a "private company" yes, but a private company that was granted powers far beyond those given to pretty much any other private company. They were allowed to maintain their own private army and effectively rule large parts of India as though they _were_ the government. That's a HUGE difference from the typical private company.

<comment><USER18> Not sure what you're getting at here.. are you saying, that, without government, the East India company wouldn't be stealing people's lands?

It seems like you didn't think your cunning plan all the way through, because you seem to be implying that you need more government regulation on what private corporations can do, correct?

Or are you saying that, without government regulation, the East India company wouldn't have formed their own private army?

Do you think private armed militias, that are legal today in the US, be allowed to exist?

You're going to have to reconcile your position of "less government" with "leads to more private armies".

<comment><USER15> _are you saying, that, without government, the East India company wouldn 't be stealing people's lands?_

Most likely. Of course it's all hypotheticals, but since we - for the most part - define government as that entity which has (mostly) a monopoly on the use of force, a private company would not generally be considered empowered to do that without the sanction of a government.

 _Or are you saying that, without government regulation, the East India company wouldn 't have formed their own private army?_

Correct.

 _Do you think private armed militias, that are legal today in the US, be allowed to exist?_

Of course they can _exist_. Now, of course, we're at the bottom of the stack, so to speak. What if one of these private militias "goes rogue" and commits unspeakable atrocities? Who's to stop that, right? And I guess your answer would be "the government"? I'd argue that the answer is "some other voluntarily assembled mutual defense entity, or no one". Anyway, all we've really shown here is that if you drill down deep enough, human conflict is inevitable and at some level we may never get away from "force vs force". But I argue against _institutionalizing_ the idea of using force to compel people to do things, and keep the use of force reserved for self defense.

 _You 're going to have to reconcile your position of "less government" with "leads to more private armies"._

I'm not opposed to private armies in general. I'm opposed to private armies, operating with the sanction of the State, and essentially becoming one more arm of the government, and being used to violate people's rights. Or, you could even omit the "with the sanction of the State" bit, and the rest would still stand. The problem is, when we accept the presence and authority of something like a State, and then it endorses or sanctions "evil" (for lack of a better term) acts, it's that much harder to muster opposition to those acts, since they're nominally "legal".

<comment><USER18> >Or are you saying that, without government regulation, the East India company wouldn't have formed their own private army?

>Correct.

This is why libertinism is often relegated to that of a sweet, innocent 12 year old idealists, because they do not know about the real world.

In the real world, what happens without government is that warlords form. This happens throughout history, such as colonial expansion into indian territory, or after the collapse of the Soviet Union, etc. And it's happening RIGHT NOW in places like Iraq, Afghanistan, and Sudan.

You don't need a state to sanction violence for violence to happen. Violence will happen when there isn't a state to sanction it.

This is why the correct solution that adults agree on is a strong, centralized government with power. The whole point of a strong, centralized powerful government is to limit the rights and freedoms of individuals, so people AREN'T allowed to do what they want.

Because, when people are allowed to do what they want, they form violent armies. Government limits peoples rights and freedoms to do that.

To stop this, you need a) a strong, powerful government, and b) that government to say "no violence."

Government is the social contract you offer to other people. And only though a social contract can you prevent violence.

<comment><USER20> Why are "warlords" worse than, say, the Stalinist USSR, Nazi Germany?

That's what you get with your "strong, powerful, centralized government".

If there's ever been a government that actually said "no violence" and followed through on it, I haven't heard of it.

Can you name a few?

<comment><USER18> Are you implying that "warlords" are better than the US government?

Which system is better? A libertarian warlord system? Or the US government?

What exactly makes a warlord system more favorable than the US government?

If you want an example of a government, you don't need to bring up Stalin's Russia or Nazi Germany.. you have an example of government right here in the US!

Clearly you thought through your cunning "less government" libertarian plan, and have concluded that such a system, which results in warlords, would be better than the US government, right? Let's hear that rationale then.

<comment><USER20> No, I'm stating (not implying) that the hazards of a too-strong central government (such as the Soviet Union under Stalin, or Germany under Hitler) are far worse than "warlords".

You're pretending that the only options are no central government at all, on the one hand, and an all-powerful central government on the other.

That's not actually the case.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Relevant: Amtrak - A National Hazard At Any Speed [http://www.zerohedge.com/news/2015-05-15/amtrak-national- haz...](http://www.zerohedge.com/news/2015-05-15/amtrak-national-hazard-any- speed)

\---

As it is, Amtrak's current fare on this route is about 15 cents per passenger mile and apparently it cannot go much higher if it wishes to remain competitive with air. Yet why in the world should bus drivers in Minneapolis pay Federal taxes in order to provide what amounts to a $600 subsidy per ticket on the 180,000 tickets that are sold annually on the Chicago-Los Angeles route? And the latter is only typical of most of the other routes outside the northeast corridor.

Obviously, there is no means test to get a $600 subsidy from Amtrak, or any other plausible criterion of public need. Like so much else which emanates from Washington, these Amtrak subsidies are distributed willy-nilly——in this case to retirees with enough time and money to see the country at leisure or to people with fear of flying who don't wish to drive.

<comment><USER6> He's way off on ridership numbers for the LA-Chicago route. It's around 350,000 per year.</comment></comment>


Show HN: Random Donald Trump gifs and quotes service for web and Slack - <AUTHOR> https://fresh.trumps.lol <comment><USER2> While this is quite entertaining, could anyone explain to a non-American why you hate this guy so much? Is Allah going to be the next democratic candidate or something?

<comment><AUTHOR> I'm a non-American as well. Hate is a strong word, but it is terrifying having someone so stupid in charge of a huge nuclear arsenal.</comment></comment>


The Tax Me More State - Potential new CA tax laws - <AUTHOR> http://online.wsj.com/article/SB10001424052702303362404575580253578522766.html

<comment><USER2> At what point will CA's abysmal tax environment stop Silicon Valley from being a sought-after destination for entrepreneurs and talented employees? Reinforcing the idea that CA is a great place to start a business while they're sucking businesses dry is like buying the school bully lavish gifts every time he sticks your head in a toilet.

If you opened the same company in Seattle instead of SF, you'd get to keep around 9% more of your income. That was enough margin for me to leave CA for WA five years ago. (Though the recall election didn't help my feelings toward the place.)

<comment><USER3> California has one overwhelming advantage that will keep it competitive until and unless it makes it impossible for a company to begin or profit: non- competes are unenforceable.

Also nice, but much newer, is a law that makes what you do with your own time, resources _and ideas_ your own.

So to reify this, if I can't open "the same company in Seattle" simply because I'm shackled by a ludicrous non-complete them I'm damn well going to open it somewhere in California or give up altogether (well, I suppose moving out of the country might be an option).

And this goes for subsequent startups; this is a critical part the SF/SV ecosystem.

Question: does your startup's employee contracts include non-competes?

<comment><USER2> IANAL, but based on many conversations on the topic and a few close friends' personal legal experiences, WA generally doesn't uphold non-competes unless they're very specific (in geographic area and in time).

If someone is encumbered a geographical non-compete and they're _leaving_ another state where they signed a non-compete, I'm willing to bet that the court battle will actually be in the original state, so CA law wouldn't apply. But again, IANAL.

I'm anti-non-competes unless a truly specific case warrants it (for commissioned sales teams, for example... I think it's reasonable that your new salesperson can't come in, print off your leads and go off on his own the next day).</comment></comment></comment>