If you sacrifice your child for public education, you are a bad person. - <AUTHOR> http://jdbentley.com/if-you-sacrifice-your-child-to-prove-a-point-about-public-education/ <comment><USER2> If you look into actual research on education (it exists), private schools and charter schools are no better at educating than public schools.* It is just a matter of other pre-existing differences, like socioeconomic status (poverty), etc. As numerous people have pointed out - you want to fix education, you need to fix poverty and inequity. Sure, other things will help, too, like requiring all teachers have masters degrees and paying them like other professionals, as other countries like Finland do.

That said, the article that is the subject of the blog complaint states that it is morally wrong to send your kid to private school. I disagree with that - even people who send their kids to private schools pay taxes that go to support public schools. It is a little more of a shame when parents send their kids to (some) crappy charter schools, which DO take away money from public schools, but sometimes it is because the public school really is bad, or because the kid isn't doing well in the public school and the only other alternative is homeschooling.

* [http://www.edline.com/uploads/pdf/PrivateSchoolsReport.pdf](http://www.edline.com/uploads/pdf/PrivateSchoolsReport.pdf) [http://content.time.com/time/nation/article/0,8599,1670063,0...](http://content.time.com/time/nation/article/0,8599,1670063,00.html) [http://voices.washingtonpost.com/answer-sheet/are-private-sc...](http://voices.washingtonpost.com/answer-sheet/are-private-schools-better-tha.html) [http://www.nea.org/home/18142.htm](http://www.nea.org/home/18142.htm)

<comment><USER3> What actual research says is that cultural factors in the home and school effectiveness factors in the school matter even more than poverty as such in constraining educational outcomes. One thoughtful article on this point is mathematician Patricia Kenschaft's article from the _Notices of the American Mathematical Society,_ "Racial Equity Requires Teaching Elementary School Teachers More Mathematics"

[http://www.ams.org/notices/200502/fea- kenschaft.pdf](http://www.ams.org/notices/200502/fea-kenschaft.pdf)

Read the article, and see if you want any child from any neighborhood, rich or poor, to have elementary school teachers as poorly prepared to teach mathematics as the teachers Kenschaft found in New Jersey. Another interesting set of research articles are those by economist Roland Fryer, such as

"Getting Beneath the Veil of Effective Schools: Evidence from New York City"

[http://scholar.harvard.edu/fryer/publications/getting- beneat...](http://scholar.harvard.edu/fryer/publications/getting-beneath-veil- effective-schools-evidence-new-york-city)

or

"Achieving Escape Velocity: Neighborhood and School Interventions to Reduce Persistent Inequality"

[http://scholar.harvard.edu/fryer/publications/achieving- esca...](http://scholar.harvard.edu/fryer/publications/achieving-escape- velocity-neighborhood-and-school-interventions-reduce-persistent)

or

"Teacher Incentives and Student Achievement: Evidence from New York City Public Schools"

[http://scholar.harvard.edu/fryer/publications/teacher- incent...](http://scholar.harvard.edu/fryer/publications/teacher-incentives- and-student-achievement-evidence-new-york-city-public-schools)

Yet another good author on education policy is Caroline Hoxby, whose publications include

"Competition Among Public Schools: A Reply to Rothstein (2004)"

[http://ideas.repec.org/p/nbr/nberwo/11216.html](http://ideas.repec.org/p/nbr/nberwo/11216.html)

and

"Would School Choice Change the Teaching Profession?"

[http://ideas.repec.org/a/uwp/jhriss/v37y2002i4p846-891.html](http://ideas.repec.org/a/uwp/jhriss/v37y2002i4p846-891.html)

 _Sure, other things will help, too, like requiring all teachers have masters degrees_

Masters degrees in the subject taught, or masters degrees in "education"? There is no evidence in favor of the latter.

[http://www.nytimes.com/2010/11/19/us/19gates.html](http://www.nytimes.com/2010/11/19/us/19gates.html)

"He suggests they end teacher pay increases based on seniority and on master's degrees, which he says are unrelated to teachers' ability to raise student achievement."

[http://www.americanprogress.org/wp- content/uploads/issues/20...](http://www.americanprogress.org/wp- content/uploads/issues/2012/07/pdf/miller_masters.pdf)

<comment><USER2> You do know that article is an opinion piece that you're using to back your argument.

<comment><USER3> I reserve the right to add sources to my comment during its edit window, if I feel like that, and meanwhile I invite you to back up the statement that masters degrees add value to teachers, because there is definitely evidence to the contrary.

</comment></comment></comment></comment><comment><USER4> Funny how the author doesn't live on the streets in order to be invested in finding a solution to homelessness.

OR, she doesn't live in rural India to become invested in ending third-world malnutrition.

Seriously, how can anyone take this moron seriously. Her basic argument is that you should suffer the consequences of all world ills, so you will be motivated to solve them.

Some people take every opportunity to preach as much as possible, even though they are idiots.

<comment><USER5> Well, anecdotally, nothing like jumping off a cliff to see if you can fly right? It probably will motivate the average parent to work harder for the sake of their children and by extension others, but yes, you will end up sacrificing a child in the process...for the glorious peoples republic of america.

</comment></comment><comment><USER6> tl;dr Someone with no apparent expertise in education research/theory/policy/history debates someone else with no apparent knowledge of education research/theory/policy/history.

In a world where there are hundreds of high-quality research-based books on education, thousands of academic studies on education, dozens of books on the history of education, etc., these sorts of baseless opinion pieces get boring really quickly.

<comment><USER7> Can you recommend a good review article or similar that gives an overview of the state-of-the-art in terms of education research? I am somewhat interested.

<comment><USER6> Equality and Achievement: An Introduction to the Sociology of Education (2nd Edition) - Similar to the above, but focusing on equality-related differences (e.g. SES, class size, etc.) as mediating variables for achievement.

Visible Learning: A Synthesis of Over 800 Meta-Analyses Relating to Achievement - Research on variables effecting achievement. The only book in this list I haven't read yet, but it's slightly newer that the Riordan book above and it has good reviews so it's probably worth checking out. IIRC tokenadult recommends it also. The only caveat is I'm not sure how it deals with the research that Ravitch is critiquing, so maybe read it after that one.

Meaningful Differences in the Everyday Experience of Young American Children - Basically a book-length academic journal article on why the amount of language spoken to children is the most important variable effecting their later academic ability. A very good read.

Life and Death of the Great American School System by Diane Ravitch -- Exposing the fraudulent nature of the research behind Bill Gates' education reforms. The second half of the book is especially good, the first half is mostly about the history of failed school reforms by corporate leaders, which is interesting but kind of dry. Not only is it a must-read, but it's also very much worth going through all the footnotes and reading through the actual methodology of all the studies she's talking about. It's pretty ridiculous, and pretty much exposes Bill Gates as a complete mouth breather.

Anyway reading any of these books will be pretty much like dropping acid; you're going to come back a different person, probably for the better, but don't ask me to predict how.

<comment><USER3> Diane Ravitch is the person who thinks a high school diploma is credible even if the possessor of the diploma doesn't know beginning algebra. Her argument is that she, a professor of history, was not required to know algebra in her generation (I would hope she at least took a course in the subject as part of secondary education), so it's asking too much that young people in the United States ought to be able to pass test that includes algebra item content as part of graduating from high school. Having seen countries that do otherwise in secondary education from how the United States does things, I have to respectfully disagree with Ravitch on that point and on many other points.

</comment></comment></comment></comment><comment><USER8> My life turned around at a private school. I have on more than one occasion thought in response to accusations that Christine Gregoire is trying to collapse the public school system that it would likely be a positive event.

</comment><comment><USER9> Mulder, Bowles, et al. 2009 (Science) [http://www.hks.harvard.edu/inequality/Seminar/Papers/Bowles1...](http://www.hks.harvard.edu/inequality/Seminar/Papers/Bowles10.pdf) "We explain this variation in inequality using a dynamic model in which a population's long-run steady-state level of inequality depends on the extent to which its most important forms of wealth are transmitted within families across generations."

</comment><comment><USER10> In some Scandinavian countries private school is against the law. They perform very well because the people who call the shots actually have a dog in the race. How many governors, senators, mayors and business owners are putting their kids in private school and then undercutting public school in some way because they are disconnected from the consequences?

</comment><comment><USER11> This wasn't what I hoped it might be.

I could see a defense of not sacrificing the wellbeing of someone you're responsible for to appease your conscience and benefit some abstract common good. That you have a duty to your own children above and beyond what you have to other people is worth exploring, but the author focuses on whether public school, as it exists, is worthwhile, which is a boring question. The thrust of the original article was that the pressure valve of the private option meant that those most likely to actually change anything in public education are those most likely to have already abandoned the system. Of course public education is terrible - all the richest left.

I feel like the HN hivemind underestimates the value of institutions - it's the same concept as company culture. There is "a way things are done" that people buy into that isn't explicitly defined, and it s just as real as what's on paper. The rich sending their children to their own schools, and leaving the rest to fend for theirselves is very, very new (at least at the primary level) in the history of America.

</comment><comment><USER12> As someone who got an incredibly awesome public school education - seriously, I breezed through Honors Physics exams at the University of Chicago (no slouch of a school) because I had seen exam problems as _homework_ in my AP Physics class - I have to say, if I ever have children, they will either be co-opped or private schooled. The quality of public school education that I was afforded -will never- be available in the public sector, ever, ever again. I fear the system has become irreversibly captured by special interests which are not aligned with the children's best interest.

In America, the state has to treat everyone equally (this is not a bad thing). Yet, education is something where the ideal is not equal treatment. To launch a student's future, that student's teacher has to provide opportunities, identify the student's strengths, and play to them. This individualized attention can never be equal. And the problem is, no matter what 'system' is used, the outcomes will be different. As different outcomes get observed, a special interest group (not just the poor, who will generally fare the worst in attempts to capture special interest; but think of rich parents arranging for their kids to be diagnosed as ADHD or dyslexic and getting special test dispensation) will swoop in and demand changes to address their interest. Repeat, until the effectiveness of education gets whittled down to a minimum.

This is required by law, because the state is required to treat everyone equally, and the chosen metric is outcomes (this is maybe not a good measure for equal treatment in any case). The asymptotic result is zero.

Bottom line, if you really are interested in seeing education equality as an outcome, you should take the time to personally do research into where our society has failed its citizens, and pay out of your own pocket to provide for the education of people there. I've done it, I've made a marginal difference in the education of people who have less access to it. It feels great. You should do it, too.

There are other issues with public education as well, such as capture by other groups that seek entitlements that are not necessarily in line with the student's interests, conflation with municipal loans, which are backed (+interest!) by the forcibly appropriated income of the very people it's supposed to help, the questionable wisdom of letting municipal (or state or federal) elected and unelected officials be at the helm, but I won't get too deeply into those.

</comment><comment><USER13> > _As far as I can tell, based on what I experienced, public schools aren 't > teaching anything worthwhile._

OK, the writer holds idiotic ideas, and/or dellusions of what's worthwhile. Case closed.

<comment><USER14> Some are, no doubt, you haven't experienced a truly terrible idiotic public school... like soul crushing bad...

<comment><USER13> Well, I had my share of bad public school teachers. That said, tons of bad private school teachers too.

And I've heard stories of horrible homeschooling that would give one the chills (not to mentioning crushing any social skills the child could gain).

</comment></comment></comment><comment><USER15> Thank you. I posted the original article earlier today hoping it would get the treatment it deserved.

I've read the article quite a few times today and just can't fathom that there are still people who believe that we should stomach 7.9% success rates [1] for even another 5 years, much less multiple generations. I had the same visceral reaction to this article that I had to the head of the Chicago Teachers Union's celebratory declaration at the conclusion of their strike that, "Cities everywhere have been forced to accept performance pay. Not here in Chicago!"

People like Allison Benedikt are dangerous. The kind of intellectual laziness that spawns an article like the one to which OP responded is hard to read, but it's a nice reminder of why I'm working in EdTech and in all likelihood will make education my life's work.

[1] [http://online.wsj.com/article/SB1000142412788732465940457850...](http://online.wsj.com/article/SB10001424127887324659404578504761168566272.html)

</comment><comment><USER16> Is this some weird kind of alternate reality? I've never even heard of people claiming teachers and parents telling someone high school is the best time of their life before this article. It's always the reverse: students think high school is the end all be all, while adults let you know it's nothing in the grand scheme of things.

<comment><USER14> Adults who had their peak experiences in high school say that. If I can be judgemental for a moment, these people are usually very shallow, and were very attractive and or popular. Think Al Bundy. Their features that were everything in high school don't get them far in the real world, and their attractiveness declines rapidly post high school.

</comment></comment><comment><USER17> There ARE people who send their kids to private school because that's the best option for their individual kids - especially if their public schools suck - but still do all they can to improve the public schools, whether through money, time, political advocacy, etc.

If I could, I would homeschool my kids, with liberal use of supplemental outside resources.

</comment><comment><USER18> I'm on the school board of a small private school and I can (anecdotally) tell you the factors that determine a child's success there are the same as they'd be at the public school - engaged parent(s).

I can also tell you that the social environment at our school is dramatically different from that of public schools.

</comment><comment> at-fates-hands Great premise, if it weren't for open enrollment. Now whatever barriers a child has to get a good education are all but gone.

Can read about each state's open enrollment rules here:

[http://mb2.ecs.org/reports/Report.aspx?id=268](http://mb2.ecs.org/reports/Report.aspx?id=268)

Oh sure, the parent has to sacrifice a little by maybe driving little johnny across town to a better school, but if you value an education, these are the sacrifices parents make.

Although like the author points out, no reason to have your well educated kids going to a shitty school, just so they can help out a few kids who may or may not want help. Maybe little johhny wants to deal drugs and carry a gun instead of getting a high school diploma. No amount of smart suburban kids is going to change that.

<comment><USER19> The district 3 miles from my house in Texas believes in open enrollment, at $10,000 per child. Ha.

Look, it's all fine to buy into marketing materials and campaign promises but at a certain point in your life you need to recognize those for what they are...

<comment> at-fates-hands This is where the parents have to figure out how valuable a good education is. Some will make the sacrifices for their kids and some won't.

My parents weren't rich, but when we moved into a different school district in high school, they paid tuition to the school district we lived in so I could remain with my friends and finish at the same school I started. They drove me to and from school everyday so that I could attend the same school before we moved. They made sacrifices so I could still get a good education.

</comment></comment></comment><comment><USER20> Thank you.

I read Benedikt's article earlier this evening, and it infuriated me on a very primal level. Not because I'm a parent yet, but because I had my run ins with public education.

Especially him saying that 'gifted' children will be just fine. Let me tell you a personal story.

I was diagnosed as gifted in second grade by a local school psychologists. My teachers recommendation was to send me to a school expressively tailored to gifted children, which my parents at that point could not do, which is why I stayed in the public school system. As I went through the rest of primary school, I started to mark myself out as a troublemaker, and I was bullied, both things my school didn't have sufficient resources to care for. By the time I hit middle school, I was thoroughly disillusioned towards the prospect of school, and my meager grades went from acceptable (B+ level) to hopeless (D level). By 8th grade, going from one debacle to another, I fell into serious depression. Since my future seemed so bleak, I was considering suicide or getting back at everyone with a school shooting. To my defense, I was 13, isolated and depressive, not just crazy.

Since then, I've recovered. After grade 8th, I was offered by my family to leave for a private international school out of the country, and offer which I gladly took. Since I suddenly had a new slate to work from, things didn't seem quite as bleak, and I've become more resilient due to the stark contrast between these two poles.

But when I read an article like Benedikt's, it brings me back to sitting in my room with the blinds partially down, dreading going back to school the next morning, contemplating whether I should fill my bag with fertilizer instead of schoolbooks. And that article tells me "you should have stayed, for the good of many", should have perished for people that give half a damn about you if you don't blow up, and if you do, they blame it on the games you play, or on the specific school you went to, or on you being psychologically broken, or any number of factors.

It's never on the system, it's the people who are broken.

</comment><comment><USER21> I went to both private and public schools growing up, and I realized that they have different goals. One taught me new and challenging subjects, taught me to ask questions and think for myself. The other taught me how to deal with bureaucracy, how to be in the right part of the building at the right time and how to discern new information from reams of repetition. Public schools won't get better, but they will go away. The internet has created a place where you can go to learn whatever you want. Eventually the high cost of homes and the subsequent high taxes will cause schools to be closed to reduce the tax burden when all of the unnecessary programs have already been cut. We'll all be homeschooling then. We'll have no choice.

</comment><comment><USER22> A child who is homeschooled compared to attending a school meet so much fewer people in their lives - all else kept equal; This means they're more likely to be socially awkward when they grow up. How to compensate for that?

<comment><USER12> I would argue the opposite. A child who is homeschooled (typically homeschools operate like co-ops, these days) interacts with a few individuals across a broad spectrum of ages. This is a better model of adult social interaction than schools where you are jammed in with a firehose of your near-exact-age- peers.

<comment><USER23> I'm always amazed at how artificial the school environment is. In the real world, I interact with a diverse group of people of many different ages. I have a lot of control over who I deal with, such that I can usually avoid dickheads. If I can't avoid them and one of them causes trouble to the extent of physical threats or attacks, I can get them hauled off by the police.

In school, everyone around you is the same age, you can't avoid the dickheads no matter how much you might want to, and they can harass you with near impunity.

I realize that some allowances must be made for children (can't give a 10-year-old total control over their lives the way an adult has it, after all), but the massive differences in something that's _supposed_ to be preparing them for adulthood are a bit crazy.

</comment></comment></comment><comment><USER3> Hear. Hear. I saw the original article to which the author of the article submitted here responds,

[http://www.slate.com/articles/double_x/doublex/2013/08/priva...](http://www.slate.com/articles/double_x/doublex/2013/08/private_school_vs_public_school_only_bad_people_send_their_kids_to_private.html)

and I thought, "What a shallow analysis." I'm glad that there has already been a reply article, and I'm especially glad that it is gaining lots of karma here on Hacker News.

Readers who like deeper analysis of these issues may be interested in reading some of the books found in the online bibliography "Books on School and State,"

[http://learninfreedom.org/school_state.html](http://learninfreedom.org/school_state.html)

part of my personal website. For a long time, I have been studying education policy, and indeed it was reading Paul Graham's essays

[http://paulgraham.com/articles.html](http://paulgraham.com/articles.html)

on education policy that drew me to participating here on Hacker News. We can all come up with lots of ways to incrementally improve schools, and we can best do that by exposing any one kind of school to competition from competing providers.

I have seen some examples of helpful reforms where I live. Minnesota, where I now live and where I grew up, has had largely equal per-capita funding for public school pupils statewide since the 1970s. The state law change that made most school funding come from general state appropriations rather than from local property taxes was called the "Minnesota miracle."

[http://www.mnhs.org/library/tips/history_topics/18public.htm...](http://www.mnhs.org/library/tips/history_topics/18public.html)

Today most funding for schools is distributed by the state government on a per-pupil enrollment basis.

[http://www.house.leg.state.mn.us/hrd/pubs/mnschfin.pdf](http://www.house.leg.state.mn.us/hrd/pubs/mnschfin.pdf)

[http://education.state.mn.us/MDE/SchSup/SchFin/index.html](http://education.state.mn.us/MDE/SchSup/SchFin/index.html)

The funding reform in the 1970s was followed up by two further reforms in the 1980s. First, the former compulsory instruction statute in Minnesota was ruled unconstitutional in a court case involving a homeschooling family, and a new compulsory instruction statute explicitly allows more nonpublic school alternatives for families who seek those. Second, the Legislature, pushed by the then Governor, set up statewide open enrollment

[http://education.state.mn.us/MDE/StuSuc/EnrollChoice/index.h...](http://education.state.mn.us/MDE/StuSuc/EnrollChoice/index.html)

and the opportunity for advanced learners to attend up to two years of college while still high school students on the state's dime.

[http://education.state.mn.us/MDE/StuSuc/CollReadi/PSEO/index...](http://education.state.mn.us/MDE/StuSuc/CollReadi/PSEO/index.html)

And Minnesota also has the oldest charter school statute in the United States.

[http://www.amazon.com/Zero-Chance-Passage-Pioneering- Charter...](http://www.amazon.com/Zero-Chance-Passage-Pioneering- Charter/dp/1592984762/)

Parents in Minnesota now have more power to shop than parents in most states. That gets closer to the ideal of detecting the optimum education environment for each student (by parents observing what works for each of their differing children) and giving it to them by open-enrolling in another school district (my school district has inbound open-enrollment students from forty-one other school districts of residence) or by homeschooling, or by postsecondary study at high school age, or by exercising other choices.

The educational results of Minnesota schools are well above the meager results of most United States schools, and almost competitive (but not fully competitive) with the better schools in the newly industrialized countries of east Asia and southeast Asia. It's a start. More choices would be even better.

<comment><USER24> Not really a shallow analysis, but they don't make their point particularly well. I think bringing in "sacrificing your kids to make a point" is unnecessary linkbait.

The basic issue for me is that western democracies and the US are founded on principles of equality (qv. [http://en.wikipedia.org/wiki/All_men_are_created_equal](http://en.wikipedia.org/wiki/All_men_are_created_equal)).

If public education is left to rot (as well as transport and healthcare and everything else), but the rich are allowed to buy their way out, surely this is a subversion of the principles that your country is founded on?

Edit: wow, you've added a hundred links since I replied. Perhaps you could condense your point down into a couple of paragraphs?

<comment><USER25> The problem with public education is that it isn't typically shaped by free market principals and there's little effective competition. Competition drives innovation. Parents are generally the best arbiters of success because they care about their kids more than anyone else. Adam Smith, when applied to education can have dramatic results, yet public schools are typically about as efficient as a Pentagon procurement office.

<comment><USER24> principles, not principals.

Which, thinking about it, is an even more condensed version of my argument above.

Competition is all very well, but if you're talking about the education of a country, you can't very well just chuck out half the students and/or schools because they failed the competition, particularly when the competition is "rigged" from the start:

[http://www.nytimes.com/2007/12/09/nyregion/nyregionspecial2/...](http://www.nytimes.com/2007/12/09/nyregion/nyregionspecial2/09Rparenting.html?pagewanted=all&_r=0)

</comment></comment></comment></comment><comment><USER26> Another response, this one from Ken White at Popehat:

[http://www.popehat.com/2013/08/29/this-is-no-surprise-to- you...](http://www.popehat.com/2013/08/29/this-is-no-surprise-to-you-but-it- turns-out-im-a-bad-person/)

</comment><comment><USER27> If the good people who read the above article follow Allison Benedikt's prescription then we will end up with a society in which their children are poorly schooled in the name of egalitarianism, and only the children of bad people receive the quality education and critical thinking skills that the author so obviously lacks, thereby making society even less fair than it already is. Talk about evil genius. Was it Lex Luthor who put her up to writing this, or was it Senator Palpatine?</comment>


CloudFlare Now Supports WebSockets - <AUTHOR> http://blog.cloudflare.com/cloudflare-now-supports-websockets

<comment><USER2> I'm a super big fan of CloudFlare and I especially appreciate when a CEO / Co- founder of a successful company stays so close to it's customers by writing a detailed blog post about features/problems they achieved/solved.

<comment><USER3> Thanks, that's kind of you to say. One of my favorite parts of my job is I am surrounded by really smart engineers who I constantly learn new things from. In this case, Marek spent a bunch of time with me walking through the innards of how Linux sets up a socket. Was a lot of fun to learn about and write up. If you want an even more technical post on the subject, you should check out his blog:

[https://idea.popcount.org/2014-04-03-bind-before- connect/](https://idea.popcount.org/2014-04-03-bind-before-connect/)

<comment><USER4> You mean he didn't just tell you to go read Beej's guide [0]?

Joking aside, I really enjoy reading Cloudflare's blog posts. I know they don't just pop into existence without some serious effort. Thanks for taking them seriously.

[0] [http://beej.us/guide/bgnet/](http://beej.us/guide/bgnet/)

</comment></comment></comment><comment><USER5> Something seems off on the second code example under "Safely Reusing Ports". `s.connect()` is inside the try/except block, which is great, except that both cases in the `except` re-raise something, which means the loop will only ever execute once. Am I misreading that?

Not that that takes anything away from the functionality, of course. CloudFlare is great and I'm excited to see that they're offering web socket support.

<comment><AUTHOR> Thanks for pointing that out. It's a problem with the indentation of the pseudo-Python code in our blog editor. I've fixed it.

<comment><USER5> Thanks! Now it makes much more sense.

</comment></comment></comment><comment><USER6> Isnt't websocket used mainly for event based communication to clients ? That would seem like something absolutely impossible to cache or proxy, not because of the technology itself but because the content seems almost specific every time. What would the be the business case for using cloudflare with websockets ?

<comment><USER7> There could be a huge benefit for someone who wants to send websocket frames to say, 100,000 clients. You can't do that with a single server; you'd run out of ports (reuse aside). You'd also have a lot of load on one server. At the cost of a little latency to the true event, you can increase performance and scalability dramatically by sending the event to just a few intermediaries that then broadcast the event to a subset of clients.

<comment><USER8> > There could be a huge benefit for someone who wants to send websocket frames > to say, 100,000 clients. You can't do that with a single server; you'd run > out of ports (reuse aside).

You would not run out of ports, as long as your clients have some IP diversity. Connections must be unique with the key being the 5-tuple: {Protocol, SourceAddr, SourcePort, DestAddr, DestPort}. If you have one server listening on one port, each client address can theoretically have 65535 connections (in practice, you're unlikely to find a client that will allocate their ports well enough to use all the ports).

Assuming your websockets are mostly idle, handling 100k connections for one server doesn't really need that big of a server either, see WhatsApp blog post about 2.2 million connections on one server in 2012: [http://blog.whatsapp.com/196/1-million-is- so-2011](http://blog.whatsapp.com/196/1-million-is-so-2011) Caveats: dual 6-core westmere cpu, 100 G ram, normal connection count is lower per server; connections are mostly idle; some tuning required. See also 2.8 M connections documented on page 16 of Erlang Factory presentation: [http://www.erlang- factory.com/upload/presentations/558/efsf2...](http://www.erlang- factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf)

</comment></comment></comment><comment><USER9> Like Cloudflare alot. I've dropped web sockets in favor of SSE personally, but I've been very happy with their caching so far even on the free plan.

</comment><comment><USER10> If my vague memory is correct, using SO_REUSEADDR can (at least theoretically) cause (undetectable) TCP issues. If a connection on a particular (source address, source port, destination address, destination port) tuple is closed locally and then another connection is opened on the same tuple _before_ the TTL time has passed, the new connection may receive (sans error) data which was intended for the old connection (again, IIRC).

<comment><USER11> Wouldn't the sequence numbering differ?

<comment><USER10> Yea at least given modern ISN generation mechanisms I would think it would. Back when I was looking at it, the typical means of ISN generation may have been more naive?

I'm also hazy on the exact fail case...it may also have had something to do with a FIN message getting lost, though I would think that would also be handled by the sequence number.

</comment></comment></comment><comment><USER12> I skimmed the article looking for information regarding IPv6 support. Is it possible for a client to establish an IPv4 socket to CloudFlare and then CloudFlare talk to my server over IPv6?

<comment><AUTHOR> Yes, we support that.

<comment><USER12> That's awesome. Thank you!

I'm thinking of using something like this: [https://github.com/sstur/node- websocket-tunnel](https://github.com/sstur/node-websocket-tunnel) to allow access to StackMonkey instances by way of an IPv4 route if the customer doesn't have IPv6 enabled on their network.</comment></comment></comment>


PyQt5 Tutorial: Create a Python GUI in 2018 - <AUTHOR> https://build-system.fman.io/pyqt5-tutorial <comment><USER2> We use Qt heavily at Starsky Robotics. We initially used it because it has tight integration with ROS via RQT [1], but I'm pretty impressed with the framework in general. Lots of great tools out of the box, QtCreator is awesome and once you get the right signal/slot model in your head everything is a breeze. Plus getting to prototyping in python is always fast!

For our use case, relative speed of the GUI isn't a factor. We've considered moving to electron just for ease of development, but python is winning out.

[1] [http://wiki.ros.org/rqt](http://wiki.ros.org/rqt)

<comment><USER3> What's the memory consumption of pyQT compared to electron apps?

<comment><USER4> I can't comment for pyQt. But the regular C++ Qt app I'm tinkering with at the moment uses 11MB private and about 50MB in shared memory for displaying a simple window with some nested widgets and scrollable lists.

<comment><USER5> for reference, the app I'm working on ([https://ossia.io](https://ossia.io)), a multiple-hundred-LOC Qt-based DAW with support for many network protocols and which uses most Qt libraries as well as boost uses itself 41 megabytes of RAM (private working set) and 70 megabytes total (working set) with a small document loaded, according to the windows task manager.

<comment><USER6> /me cries in electron

</comment></comment></comment></comment></comment><comment><USER7> This is a case where the "in 2018" in the title is very helpful, as Googling information about Python and Qt usually returns something dreadfully out of date. (and as other comments note, there are lots of new companion tools/competitors like Electron)

<comment><USER8> The API still looks messy and unpythonic though, sadly. Look at the basic hello world example. Why do I need to pass QApplication an empty array? Why am I calling a method ending with _ to launch the program? And the fact the label magically attaches to the app through some side effect is also confusing.

Does anyone know if there's any good shim/wrapper around PyQt that has a better API?

<comment><USER9> Maybe it's not pythonic but I can assure you, after having passed 6 years working with it that it's extremely efficient and very well integrated with python. It just works, and a complaint about aesthetics won't change that :-)

<comment><USER10> I second that. Maybe the interface isn't very Pythonic, but it's very Qt-ic, if that's a word. The behavior of PyQt hews closely to the behavior described in Qt's excellent C++ documentation. Furthermore, PyQt lets you do things that you may take for granted, like connecting signals to Python functions and subclassing Qt Widgets. And not only can you subclass a Qt Widget, you can override its methods. Also, you can send a Python str to any method that accepts a QString. I could go on and on about how the boring stuff stays pleasantly boring.

Having used much worse Python bindings for other C++ libraries, the degree to which PyQt just works without blowing up in your face is itself pretty astonishing. Add to that the maturity and depth of the Qt Widget library, and the result is a real pleasure to use.

</comment></comment></comment></comment><comment><USER11> Just to note, there are official [1] Python bindings available for Qt and this can usually be installed with _`pip install pyside2`_.

[1] [https://www.qt.io/qt-for-python](https://www.qt.io/qt-for-python)

<comment><USER12> PySide2 is now out of beta?

<comment><USER13> It's still just a "technical preview", but I've been using it for a while and didn't have any problems that weren't caused by me not knowing how Qt works.

Some of the examples in the documentation are still in C++, but it's pretty easy to translate them to Python since the names are the same. (Sometimes painfully so, e.g _PySide2.QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff_.)

<comment><USER14> Agreed. I dabbled with Pyside2 recently and it was refreshingly well structured compared to PyQt4, which is what I last used when I built a GUI a few years ago. It looks like the community might finally get behind one, good, open library for Qt5.

</comment></comment></comment></comment><comment><USER15> I wish all the effort to make Qt available in Python was going in to exposing a C API. I of course know this is difficult due to Qt relying on OO extensibility in many cases and I am aware of many efforts in many languages that just use the C++ API directly by essentially building their own C API layer.

That I have to choose between C++ or Python makes it very difficult for many use cases in other languages. What essentially ends up happening is you create the UI in C++ then build a communication/bridge layer with your Go/Rust/JVM/etc app via C and the respective language's FFI features.

<comment><USER16> You can use rust [https://github.com/KDE/rust-qt-binding- generator](https://github.com/KDE/rust-qt-binding-generator) There are Go bindings floating around too

<comment><USER15> Sure, I am familiar with them all (there's another decent Rust cpp gen one too). That's what I was alluding to with "I am aware of many efforts in many languages that just use the C++ API directly by essentially building their own C API layer." Unfortunately each binding has to do this themselves because there's not a blessed C API.

</comment></comment></comment><comment><USER17> The hardest problem in this space is not writing the code, but packaging the app. All the freeze utilities have their quirks which ensure no one solution works for all three OS consistently.

Even Dropbox had to rewrite their packaging to ensure maximum system compatibility ([https://news.ycombinator.com/item?id=18067784](https://news.ycombinator.com/item?id=18067784))

<comment><AUTHOR> I created [https://build-system.fman.io](https://build-system.fman.io) to help with this exact (general) problem.

<comment><USER17> whoa... this is so cool. And its based on QT. What do you think of the Dropbox article ?

<comment><AUTHOR> I wish fbs had already existed when Drew Houston started Dropbox ;)

</comment></comment></comment></comment><comment><USER18> I've been using wxPython for many years, and it works very well. What are the advantages of PyQT over wxPython? Anyone experienced both 'worlds' in a non- trivial application?

<comment><USER19> 1\. wxPython has inconsistent looks and layouts between platforms and monitor resolutions (or DPI). For example, on PlayOnLinux GUI app I cannot click an "OK" button while using Surface Pro because the button is hidden outside of the window.

2\. QML is an amazing language. It is modern, declarative and reactive but still very simple to use. Personally I don't want to go back to the traditional GUI coding styles after experienced QML.

3\. Qt Designer is a great GUI tool that you can quickly prototype a GUI app.

4\. Qt has the best documentation among cross-platform GUI frameworks.

5\. Qt is a much bigger framework having more features. For example, you can easily embed WebKit or Chromium very easily.

<comment><USER20> The article doesn't mention QML at all. Is it possible to use it with Python?

<comment><USER21> Of course.

</comment></comment></comment></comment><comment><USER22> PyQt5 is really great. I wish I could convince some of my co-workers at SNC to use it instead of random solutions ranging from a full-blown WPF app, hand- rolled win32, heavily customized imgui, vt100 over telnet (apologies on behalf of *), to... 5000 lines of AutoIT for a simple gui... smh. I mean we already use python for some build steps. They seem to not be able to get over the python stigma, which I don't think needs to exist, or the pythonic paradigm "breaks their brains."

</comment><comment><USER23> In commercial settings, I wonder how hard it really is to package this up? I've been building/distributing fully cython'd installers for a while (to sort-of hide the source as well as make a convenient package)... I wonder if that would be harder with PyQt for some reason?

"In the Python world, the process of turning source code into a self-contained executable is called freezing. Although there are many libraries that address this issue – such as PyInstaller, py2exe, cx_Freeze, bbfreze, py2app, ... – freezing PyQt apps has traditionally been a surprisingly hard problem.

We will use a new library called fbs..."

click to fbs...

"You can use fbs for free in open source projects that are licensed under the GPL. If you don't want to open your code up to the public, you can purchase a commercial license for EUR 249 per developer"

I'd happily pay the 250 euros but I somehow doubt fbs will also convert my code to C and compile it.

<comment><USER24> [http://nuitka.net/](http://nuitka.net/) is what you are looking for.

It's robust, proven, does work well with C extensions (including numpy and QT) and produces stand alone binaries. You can produce binaries for Windows, Linux and Mac (but not cross compile). It works by turning the whole Python code into C before compiling the result. The additional benefit of that is that you gain a bit of execution speed.

The project is amazingly little known in the community while PyInstaller, py2exe, cx_Freeze, bbfreze, py2app are: nuikta works better, handle more edge cases, target more OSes and support recent versions of Python.

The best way to be convinced is to read the last entry of the blog on the home page: the guy is meticulous with this project.

<comment><USER25> Well, on my last project, I found PyInstaller to work best and Nuitka changed too many things about the environment.

PyInstaller felt quite close to an auto-unzipping python interpreter and your code, simple.

</comment></comment></comment><comment><USER26> I'm sometimes considering porting the UI of a relatively complex management app I wrote sometime ago for a small company, from Ext JS to a Python-flavored traditional GUI framework like PyQt (it would essentially become a desktop app powered by an already Python-based backend, which wouldn't be really a problem deployment-wise, as it's an internal-facing app). I think there would be some benefits, but what stops me is a relatively concrete consideration: the primary UI widget on which my app relies are complex data grids, which must support a lot of functionalities (sorting, filtering, etc; which is an area where Ext JS clearly shines), and I'm wondering which framework would offer the best support (in terms of both functionalities and abstractions) for this kind of needs. Any ideas about this?

<comment><USER27> You can do all those (sorting, filtering, etc) in Qt as well using the Model/View components. There is a bit of a learning curve to understand the "Qt way of doing MVC", but after that it works fine.

At work we use Qt5 with both C++ and Python (through PyQt) and I love it.

<comment><USER26> Thanks! What I'd like to know more specifically is if there are some ready- made components already packing a lot of these functionalities without needing too much custom logic, or you need to roll out your own from low-level ones?

<comment><USER21> QTableView supports pretty much everything. Model proxies like QSortFilterProxyModel give sorting and filtering on models not supporting it natively (at a performance cost, i.e. keeping sorting columns in memory).

The model/view components scale to ~infty items, if the model is correctly implemented. They also support lazy loading.

</comment></comment></comment></comment><comment><USER28> I'd like to take this time to introduce a project I have been working on. I'm using it in production currently.

[https://github.com/qmlnet/qmlnet](https://github.com/qmlnet/qmlnet)

It is a perfect balance between QML and .NET. The tech stack splits along the perfect line. QML for UI, .NET for business logic.

I'd be glad to answer any questions.

<comment><USER29> Do you know if it is working fine with F#? Will possibly try it as I learn F# (on Linux).

<comment><USER28> It does. Any .NET language.

</comment></comment></comment><comment><USER30> I'm using PyQt for a project right now, and overall it's a nice feeling as always. The model/view classes are great, once you get the hang of them. There are a lot of utilities for things like persistence and threading (but I wouldn't _cross the streams_ with python threads), and it's all crossplatform and very mature by now, the only issues are usually around packaging. QML is also very powerful, but I'm usually happy with Designer -- I guess I'm old- school.

If you need some help with PyQt development, call me up, I'm cheap ;)

<comment><USER21> > (but I wouldn't cross the streams with python threads)

You can't. Also keep in mind that Python's thread-local storage _only_ works with the threading module threads, _not_ Python threads created elsewhere (e.g. by the "outer" C++ application itself or by a QThread wrapper). It's really quite poorly implemented there IMHO.

<comment><USER31> The "threading" functionality in Python is a significant downside to the language. I don't know why they went with the idea that people don't need real threads like they can get in C/C++, Java, C#.

<comment><USER21> Python threads are real (operating system) threads.

Note that the "threading" and "_threading" _modules_ wrap thread creation and otherwise just use _interpreter_ C APIs. Their design flaw is that they assume that they are the _only_ ones using the interpreter API.

<comment><USER32> I assume parent is referring to the GIL, which limits the performance benefits you get from threads.

<comment><USER21> Oh I know, sometimes I just like being pedantic.

</comment></comment></comment></comment></comment></comment><comment><USER33> I recently went through almost the exact same exercise (use PyQt5 to write a desktop program that would wrap our warehouse management system's web interface with QtWebKit and - upon receiving a specific download - call out to the REST API for a separate shipping system to book a shipment and print the shipping label). I was developing on Linux (I use Slackware day-to-day), but the pack stations at our warehouses run Windows 10, so it needed to be cross- platform.

The Linux side was surprisingly painless, but getting the Windows side going was a nightmare; none of the traditional options for creating a standalone Windows executable actually worked, and I ended up resorting to installing MSYS2 on every machine, then packaging the app for MSYS2 (and pulling in all of Qt5 as a dependency, meaning that it takes up multiple gigabytes of space for what should be a pretty simple desktop app).

I didn't know about fbs. I'm gonna try it out tonight. The fact that it seems to require resulting apps to be under the GPL is unfortunate, but that's already the case for PyQt5, so whatever.

</comment><comment><USER34> How is the experience of other folks here? I have found QT as true nightmare. The UX created with QT just doesn't scale with 4K displays and framework is just pain to maintain on OS like Windows. I rather prefer UX frameworks that uses web technologies any day.

<comment><USER35> I run Linux without desktop environment on a 4K screen, so I ran into this stuff on all GUI kits. I set the respective scale detection/factor variable in my environment and be done, e.g., for QT5 it'd be:

export QT_AUTO_SCREEN_SCALE_FACTOR=1

for auto scaling. See: [https://blog.qt.io/blog/2016/01/26/high-dpi-support- in-qt-5-...](https://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/) and [https://wiki.archlinux.org/index.php/HiDPI#Qt_5](https://wiki.archlinux.org/index.php/HiDPI#Qt_5) for more options and other UI kits.

Normally, the desktop environment should do this for you, though. But yeah, this was quite horrible for me for a long time and only got better recently (~ 1 to 2 years), with an wider adoption of high DPI screens, I'd guess.

</comment></comment><comment><USER36> Still using tkinter here which is python's default GUI, what's the license for PyQt5? For me learning Qt in general is another big investment of limited time, so far I have been using tkinter with python and it works well.

<comment><USER30> PyQt is GPL or commercial.

Pyside/"Qt for Python" is LGPL.

You then need a license for QT, which is LGPL or commercial. You can use the LGPL version of Qt with commercial PyQt, but I never understood the hoops you might have to jump through in order to comply with the LGPL. Packaging python apps is painful enough without having to worry about that, might as well spend a little to avoid the aggravation. LGPL Qt also lacks a few advanced packages.

</comment></comment><comment><USER37> Thanks for sharing this! I'm close (hopefully) to finishing an app using PyQt5 and the fbs library will be super helpful :)

<comment><AUTHOR> Cool! Let me know if I can help :-)

</comment></comment><comment><USER38> I've been using a lot of Python GTK via gobject introspection lately. It works fine, or at least a well as GTK ever works. Why would I want to switch to Qt?

1) I like how GTK and Python object lifetime tracking are compatible (both are simply reference counted), where as Qt has this hierarchical model that feels weird in Python and that led to random segfaults when I tried using PyQt for a serious project last year.

2) gobject introspection works with a variety of different bindings and libraries and provides an object model extensible in any language. Last time I looked at Qt bindings, they looked more like pre-gobject-introspection Python GTK bindings, meaning they were fixed-function and frequently left out some functionality. With gobject, all language bindings are first-class citizens.

<comment><USER39> > Why would I want to switch to Qt?

Because GTK is awful outside of Linux.

<comment><USER12> I'd argue GTK is awful inside of Linux because of client-side decorations (removal of the standard title-bar) that you cannot disable, removal of the menu bar, and the mobile/tablet first design (some people do use desktops and I'm not allergic to text).

<comment><USER40> > that you cannot disable

I'm pretty sure you can. I like them in most cases, though, just wish they'd gone the Windows/MacOS way of slowly intruding/overlapping a bit occasionally instead of reinventing the whole bar.

</comment></comment></comment></comment><comment><USER5> > If you use the Windows style instead, then it looks as follows:

note that this theme is generally not used anymore, being superseded by the WindowsVista one which uses native theming info from windows to render the widgets.

</comment><comment><USER41> Also see PyOtherSide, a QML plugin that gives asynchronous access to a Python3 interpreter. It let's you use the Qt deployment tools and deploy it like any other Qt app.

[https://thp.io/2011/pyotherside/](https://thp.io/2011/pyotherside/)

</comment><comment><USER42> Why aren't more desktop apps written with Qt? [https://softwareengineering.stackexchange.com/questions/8868...](https://softwareengineering.stackexchange.com/questions/88685/why- arent-more-desktop-apps-written-with-qt)

</comment><comment><USER43> I like the tutorial, but I don't know why you would use PyQt these days. Tkinter is more permissive and has wrappers like appJar which make it disgustingly easy to put together a quick, ugly GUI. If you're building a desktop app that needs to really look good and be fast, why are you using Python?

<comment><USER44> I was recently surprised by how non-ugly a Python Tkinter app can look with some effort. Take a look at this:

[https://thonny.org/](https://thonny.org/)

<comment><USER5> that's an interesting definition of "non-ugly". I would hesitate a lot before making an app that looks like this screenshot public.

<comment><USER9> well it's a bit old school but it certainly looks functional. If the program under it is good, it's a very superficial comment. If only you'd see my emacs screen, it's unbelievably ugly and somehow, I work with it every day !

<comment><USER5> I was replying to a post that stated specifically that it was "non-ugly". In 2018, non-ugly means this :

* [https://assets.guitar-pro.com/1.3/images/www/guitar-pro-7/ca...](https://firstname.lastname@example.com)

* [https://www.awn.com/sites/default/files/styles/original/publ...](https://www.awn.com/sites/default/files/styles/original/public/image/featured/1025132-allegorithmic-integrates-nvidia-designworks-substance-designer.png?itok=t6GFDiwb)

* [http://www.comptoir-hardware.com/images/stories/_software/am...](http://www.comptoir-hardware.com/images/stories/_software/amd-radeon-crimson-oc-ventilation.jpg)

it's not what I use myself, being more of an i3/terminal guy, but it's absolutely what the clients want

<comment><USER44> For me, "non-ugly" means that it uses the standard UI controls and UI theme for the platform in a reasonable way. That's exactly what the screenshot shows. I would describe it as "neat". All your links are the exact opposite of that.

I'm sure _someone_ (and, in particular, their designers) think they look nice. But the thing about looks is that they're very subjective. However, if I'm using some OS/desktop combo, that means I find its UI, at the very least, acceptable. And thus any app that uses native UI look & feel on that platform is also acceptable. I can't say that for many custom-themed apps.

For example, out of your links, I would say that 2 are downright ugly, and the third is tolerable. And I'm not sure what "in 2018" has to do with that.

</comment></comment></comment></comment></comment></comment><comment><USER45> As someone who works with Windows forms, I'm wondering where the visual designer to place widgets is.

<comment><USER5> In addition to what the other said, if you use Qt Quick instead of Qt Widgets you get something which is an order of magnitude more powerful than most of the alternatives :

* [http://blog.qt.io/blog/2017/07/05/qt-quick-designer-coffee-m...](http://blog.qt.io/blog/2017/07/05/qt-quick-designer-coffee-machine/)

* [http://blog.qt.io/blog/2017/05/24/qt-quick-designer-qt-creat...](http://blog.qt.io/blog/2017/05/24/qt-quick-designer-qt-creator-4-3/)

<comment><USER46> Does Qt Quick integrate well with Python?

<comment><USER5> as much as the other parts of the API I guess ?

</comment></comment></comment></comment><comment><USER47> Anybody know if it's easy to reverse engineer or strip parts of the application when deploying PyQt5 apps? Or do you need extra measures to obfuscate the code to protect certain logic?

<comment><AUTHOR> I've never tried it but given Python's interpreted nature, it is likely pretty easy unless you use an obfuscator. Note that that's true for Java .class files as well. I was really surprised once when I tried to decompile one of my own that I had thought would be safe. You get near-perfect accuracy.

<comment><USER48> Yeap, it's pretty easy (see: [https://github.com/rocky/python- uncompyle6](https://github.com/rocky/python-uncompyle6)), although note that if you're worried about decompiling, instead of using an obfuscator, using something as Cython or Nuitka to compile your code should not be difficult -- and as a plus your code becomes faster too ;)

</comment></comment></comment><comment><USER49> Steve Yegge was a true visionary. In 2004 he predicted the massive popularity of (future) Electron:

> _web application programming is gradually going to become the most important > client-side programming out there. I think it will mostly obsolete all other > client-side toolkits: GTK, Java Swing /SWT, Qt, and of course all the > platform-specific ones like Cocoa and Win32/MFC_

[https://danluu.com/yegge-predictions/](https://danluu.com/yegge-predictions/)

<comment><USER30> I raise you a Joel Spolski, 5 months earlier: [https://www.joelonsoftware.com/2004/06/13/how-microsoft- lost...](https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost-the-api- war/)

"The new API is HTML, and the new winners in the application development marketplace will be the people who can make HTML sing."

</comment></comment><comment><USER50> Is there a GoQt5 being worked on anywhere?

<comment><USER51> I found two Go bindings for Qt:

[https://github.com/kitech/qt.go](https://github.com/kitech/qt.go)

[https://github.com/therecipe/qt](https://github.com/therecipe/qt)

Both seem to be in active development. Does anybody have experience with either?

</comment></comment><comment><USER52> I would kind of expect that "in 2018" we'd be using QML and not QtWidgets?

<comment><USER53> QML is declarative is fine for very simple UIs only. Once you need to start writing any amount of UI logic it gets inconvenient. If you need simply but flashy -> QML, if you need not so flashy but more functional and "standard desktop UI" -> QtWidgets

</comment></comment><comment><USER54> FWIW, conda is an easy way to get PyQt, too.

</comment><comment><USER55> Too bad it's only for Python3 and installing both 2 and 3 is complicated. Would be a good program if it supported python2.

<comment><USER56> There are several tools that make having both python 2 and 3 running trivial. Pipenv and conda are probably the two better ones. On the whole you should probably using one of them even if all your development is done with the same python version

<comment><USER57> pyenv

pipenv is dependency management on top of that

</comment></comment></comment><comment><USER58> I gave up on QT and decided instead to invest time learning javascript frameworks, which provide a lot more flexibility for creating apps.

<comment><USER19> Then try QML! You can create Qt apps using JavaScript (it's ES5 though).

<comment><USER59> ES6 in Qt 5.12

<comment><USER19> Wow, I just checked it, and it looks awesome! I'm very exited about the next Qt 5.12. Thank you for letting me know.</comment></comment></comment></comment>


The New Scene in NYC for Entrepreneurs - <AUTHOR> http://www.darrenherman.com/2007/04/05/an-entrepreneurs-dream-nyc/ <comment><USER2> There are actually quite a few startup tech incubators in New York, although the reality is that costs simply are not what they are in Ohio, or elsewhere in the 'real world'. They range from the completely not-for-profit ones such as Pace, to the completely for-profit ones (at rents that would give our colleague from Columbus an instant coronary) such as Eemerge. In between are the ones run by NYSIA, PowerSpace, Rose Tech Ventures, and others.

Darren's idea, while a very appealing concept, will I believe, turn out to be impractical in the long run for lots of reasons. But that's no reason not to try :-)

</comment><comment><USER3> I think it's an interesting idea, but here in Columbus, OH, I pay $240 a month to share the rent of an 8-room townhouse with one other person, so $200-250 for a _cubicle_ and Wifi sounds pretty insane.

Couldn't it be possible to find some reasonably central area like Columbus (I know FedEx and UPS both have major hubs here because of its centrality) where several potential founders could live in a big house and split the rent? I for one would be willing to move several hours (driving time) away and pay around $300-400 a month for rent and utilities, and I think that's thoroughly possible in a city that is not as big as a Boston, SF, or NYC.

<comment><USER4> the $250 for rent and wifi is determined by the market in NYC, and other major cities. It sounds like you could have even lower cost in Columbus, but the most important thing is setting up a high performance environment for startups to get together, work on their projects, and benefit from the input of others.

</comment></comment><comment><USER5> This is great for people _already living in NYC_ who want to leverage some of the great startup-environment benefits present in other cities.

$200-$250/month for a cubicle, wifi, and a bunch of like-minded people really isn't so bad, relative to most NYC living/working expenses.

If I end up getting angel funding and not YC, I will probably take him up on it.

</comment><comment><USER6> not a true new yorker here, but i find this idea rather odd.

why NYC? goog took the plunge but it was a gigantic investment, and they can leverage proximity with partners for better efficiency, but not so for startups. without a stronger plan, this reads like stuffing a bunch of brains into a jar, without proper nutrition, and hoping them to churn out something good.

while you can reduce cost of living space, you cannot reduce tax and other living costs. and the financial district teems with money people; the vibe is completely different. back to goog; when you have a complex with 500 people working for largely the same goal, you can shape your own corporate culture and be relatively oblivious to the culture on the street, but again, not so for the startups. i bet the innovation center stays in googleplex west.

<comment><USER4> Why Not NYC? There are plenty of great startups forming in NYC, it is a truly global city. Like other great cities it has extremely high costs of living. So why not create a place where startups gain the benefits of working in a collaborative environment and can keep the costs low.

Not everyone can built a GooglePlex! or move to Mountain View. BTW - I live in the bay Area so I'm not biased on this one.

</comment></comment><comment><USER7> I run a startup in NYC with a distributed team (3 founders). My team is originally from the Bay Area so we do miss that community aspect of working around other techies. This sounds like a great idea but $250/month/pp would dig in a bit too deeply into the angel funding we've raised.

</comment><comment><USER8> i think this is fantastic,

i'm an israeli entrepenuer spending some time in NY now and would love to help.

a member of our group (www.garagegeeks.org), zvika netter, is thinking of doing the exact same thing in tel-aviv, building on the eco-system that will go on there, can be a great thing.

i'm at email@example.com if anyboy would like to chat and exchange ideas.

ohad 3D3R software studios

</comment><comment><USER9> My lease runs out in June... maybe i can sleep there?

</comment><comment><USER10> please see <http://news.ycombinator.com/comments?id=9704> for San Francisco area.</comment>


McDonald's is considering rent deferrals for franchisees - <AUTHOR> https://www.cnbc.com/2020/03/17/mcdonalds-cant-estimate-coronavirus-impact-to-its-business-and-is-considering-rent-deferrals.html <comment><USER2> This sort of action is what we need across the economy. Cancellation or deferral.

Rent deferral, interest deferral, mortgage deferral... etc.

At the individual level maybe limit it to the lower 50%-70% of income earners. Cancel interest and utility/rent/mortgage payments for lower income population. Do it for 2-3 months.

The upper half will just eat into their savings some but won't suffer like those living paycheck to paycheck.

I'm fine coming out of this with $15k less savings. Im not ok with my neighbor becoming homeless or permanently in debt because of it.

<comment><USER3> Why the divide? The middle class already pays most of the taxes and not getting the benefit as much as the lower income earner and now they are not getting help as well? If you want to make the divide why not just the really high upper income earner vs the rest of the population, since most people in middle class, though they have savings more than $15k are just regular people like you and me, with families and responsibilities.

I personally don't like it, and I think a lot of middle class won't like it. If you want to do something like this then do it like Andrew Yang, no questions asked to all.

I'm not a lower income earner, but I don't have big ticket items as well (not even a car or house).

<comment><USER4> Those poor middle classes, haven't they been through enough? They can't even lift themselves up through their bootstraps like those deplorable "low income earners".

<comment><USER5> One social program for me, but not for thee.

</comment></comment></comment></comment><comment><USER6> If a company like McDonalds can pull it off, that will most likely give them quite an advantage. Once things go back to normal, that would mean McDonalds franchise network is likely to be in omaprativley good shape. When competitor don't implement solutios like this, McDonalds would have quite a head start! Not to speak about the franchise owners, and their employees to a certain extent.

<comment><USER7> As far as I know, most fast food franchises don't own the land under the restaurants in the way that McDonald's does. I'm not familiar with the numbers, but I've seen quips to the effect that McDonald's is a real estate investment firm that does fast food as a side hustle.

<comment><USER8> That quip was actually documented quite lucidly in The Founder (where Michael Keaton plays Ray Kroc). I really enjoyed that film.

</comment></comment></comment><comment><USER9> This is a good move on their part (assuming they go through with it). People tend to think of restaurant owners like this as "the rich", but if you look at the numbers there's actually not that much profit in a single restaurant. The only ones who make good money own a bunch of them. Even then, the profit margins are pretty low, and they're going to struggle to remain profitable.

<comment><USER10> You have to have a lot of money and a track record of success before McDonald's will consider taking you on as a franchisee. McDonald's franchisees are wealthy before they open their first restaurant.

<comment><USER9> It depends. A lot of them start out with a couple of restaurants and then work their way up. At least that was the way it worked years ago. But you're somewhat correct at least, they're picky about who they give franchises too. They're also somewhat unique amongst the big restaurant franchises in that they limit the number of restaurants you can own. They want hands-on owners, and they actually require the owners to be trained on every function in the restaurant.

Source: I worked for a local franchisee about 30 years ago, and still know them casually.

<comment><USER10> It doesn't depend. You need a lot of cash to open one, otherwise McDonald's will not consider you.

<comment><USER9> I'm not disagreeing with you, I'm just saying there's a difference between the capital needed to buy a two store franchise, and a ten store franchise. But yes, neither is pocket change.

</comment></comment></comment></comment></comment><comment><USER11> Next, it would be good if they would also cover the 90% of McDonalds workers who aren't their direct employees. Pretty weak to say they can't tell franchisees to follow their policy, and help cover the costs, when they can dictate how to run most other aspects of the business. Critical especially since these 500K workers are likely to need the income, and become a vector for the spread of the virus.

[https://www.eater.com/2020/3/16/21181862/are-mcdonalds- starb...](https://www.eater.com/2020/3/16/21181862/are-mcdonalds-starbucks- and-other-chains-offering-paid-sick-leave-for-coronavirus)

</comment><comment><USER12> I suspect basically all commercial landlords are going to have to consider rent deferrals or outright eating 3-6 months of rent. The alternative very likely could be the majority of their properties simply becoming vacant, which isn't a good business stance for coming out of all this.

<comment><USER13> This kind of thinking astounds me.

What kind of margins do you think landlords are making so that they can afford to 'eat' 3-6 months of rent?

<comment><USER14> He's saying if they don't, they will have to eat those rents permanently.

<comment><USER12> Well said.

</comment></comment></comment></comment><comment><USER15> Without voluntary deferrals, we'll see cascading defaults.

</comment><comment><USER16> For context, McDonald's Corp buys the land (and building?) for each location. Franchisees then rent those from the McDonald's Corp in addition to their other franchise costs. Not all restaurant franchises work this way, as far as I know.

</comment><comment><USER17> The actual title is:

"McDonald's says it can't estimate coronavirus impact to its business, it will consider rent deferrals for franchisees"

</comment><comment><USER18> Now would be a good time for a general rent strike until the government steps in to help small businesses

<comment><USER19> > Now would be a good time for a general rent strike until the government > steps in to help small businesses

If we're talking about the US here, 'until' seems to be an optimistic presumption that our government has any intentional of helping small businesses.

<comment><USER20> >If we're talking about the US here, 'until' seems to be an optimistic presumption that our government has any intentional of helping small businesses.

There are dozens of articles of Trump taking something to congress today apparently to do just this

[https://www.chicagotribune.com/coronavirus/ct-nw- coronavirus...](https://www.chicagotribune.com/coronavirus/ct-nw-coronavirus- trump-economic-stimulus-20200317-zpsv5weei5gexphfrbog6g2eyq-story.html)

>Mnuchin planned to outline that roughly $850 billion package to Senate Republicans at a private lunch, with officials aiming to have Congress approve it this week.

and

>"The Senate will not adjourn until we have passed significant and bold new steps above and beyond what the House has passed to help our strong nation and our strong underlying economy weather this storm," McConnell said.

<comment><USER19> Ah, good point. Pandemics make even ISPs and Trump seek to be seen to be acting in the public good. (But not Charter, and not hoarders.)

<comment><USER20> Yeah, politicians need voters to not completely hate them so they can get re- elected. Imagine if instead politicians were selected by lottery, served shorter terms, and had their appointments staggered.

I wonder if any authors have given this a shot in fiction, I'd read it.

<comment><USER19> Well, there's [https://en.wikipedia.org/wiki/The_Lottery_in_Babylon](https://en.wikipedia.org/wiki/The_Lottery_in_Babylon) , but not in the realistic spirit that you probably intended. (There's also HHGttG's [https://hitchhikers.fandom.com/wiki/Ruler_of_the_Universe](https://hitchhikers.fandom.com/wiki/Ruler_of_the_Universe) , again in a different spirit.)

<comment><USER20> The Lottery in Babylon sounds worth a read, thanks!

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> The least they can do. I was thinking of all of the strip mall style mom and pop places, and how rent and such would affect that. I cannot imagine a landlord evicting tenants any time soon, because who the hell is going to then rent the space?!

</comment><comment><USER22> Title has blatant typo for past 2 hrs.

</comment><comment><USER23> FORE!</comment>


Show HN: ThreadTone – Halftone images made of thread - <AUTHOR> http://www.thevelop.nl/blog/2016-12-25/ThreadTone/ <comment><USER2> A couple thoughts:

Unless your image library is way fancier than I imagine, you would get a much less biased result if you convert to a linear color space. This code:

      # Invert grayscale image
      def invertImage(image):
          return (255-image)

doesn't accurately compute amount of thread cover desired because "image" isn't linear in brightness.

For this particular use case, though, you probably want to further transform the output. Suppose that one thread locally reduces light transmission by a factor of k. Then two reduce by k^2 (assuming there's enough blurring, everything is purely backlit, no reflections etc), and so on. So n reduces the log of the brightness by n*log(k). I would try calculating -log(luminosity) and fitting threads to that.

Finally, this sounds like a wonderful application of compressed sensing. I bet you could get an asymptotically fast algorithm that is reasonably close to optimal.

<comment><AUTHOR> I like the assumption you make on the transmission factor. One can implement it fairly easily by replacing:

        imgMasked = np.subtract(imgMasked, lineMask)

By the following lines:

        lineMask = np.subtract(np.ones((height, width)), lineMask)
        imgMasked = np.multiply(imgMasked, lineMask)

lineWeight is now equal to the k you propose.

</comment></comment><comment><USER3> I would look at tomographic reconstruction ([https://en.wikipedia.org/wiki/Tomographic_reconstruction](https://en.wikipedia.org/wiki/Tomographic_reconstruction)) algorithms for this for inspiration. This is a very similar problem: what projections best approximate a given image?

<comment><USER4> This is a good idea, each thread is basically a single point in the 2D fourier transform of the image so an approximate image would sample that space accurately. Not sure what accurately means exactly since the fourier space isn't 1 or 0 (thread or no thread). Maybe include dithering to approximate?

<comment><USER5> I think you're thinking of the Hough transform, not the Fourier transform. [https://en.wikipedia.org/wiki/Hough_transform](https://en.wikipedia.org/wiki/Hough_transform)

<comment><USER4> No, I am not [https://en.wikipedia.org/wiki/Projection- slice_theorem](https://en.wikipedia.org/wiki/Projection-slice_theorem)

</comment></comment></comment></comment><comment><USER6> This is so weird, I just decided to make one of these thread images last night and came up with the same algorithm which runs in about 10 minutes. But I think the loom robot is the real piece of work here. It takes me about an hour to string up 3000 passes manually, but on the other hand, I like my design of nails on a painted piece of plywood better. :) Nice work!

</comment><comment><USER7> Very interesting! The inspiration behind this post, artist Petros Vrellis, uses computer algorithm too: [http://artof01.com/vrellis/works/knit.html](http://artof01.com/vrellis/works/knit.html)

</comment><comment><USER8> I did something like this with a pen plotter and CMYK pens. I biased the random walk to follow/bounce off edges.

[http://imgur.com/a/n7OOd](http://imgur.com/a/n7OOd)

</comment><comment><USER9> OMG, thank you! I am the creator of [https://comments.network/](https://comments.network/) which you are using on the bottom of the article, and it's the first time I spot it in the wild! If you have any problem/suggestion/anything just write me: email@example.com

BTW I love what you made, have you considered selling those? It looks like it could have a similar business model as instapainting: [http://instapainting.com/](http://instapainting.com/)

<comment><USER10>
        I am the creator of https://comments.network/ which
        you are using on the bottom of the article, and it's
        the first time I spot it in the wild!

That's pretty cool! I made my own version of this a few years ago, and if anyone is interested it's open source: [https://github.com/jeffkaufman/webscripts/blob/master/commen...](https://github.com/jeffkaufman/webscripts/blob/master/comment_requester_wsgi.py)

(Mine can also do facebook and google plus, though to do facebook it needs an API key.)

</comment></comment><comment><USER11> Very cool. I wonder if there could be an improvement in image quality if you added some form of lookahead, and chose the path that gives the best results. The branching factor would be horrendous, but I suspect that it could be pruned significantly using some A*-ish cost/ordering criterion.

<comment><AUTHOR> You most definitely could! While experimenting with it it turned out however that the quality of the image is far more sensitive to the number of pins on the loom. And it is this that quickly escalates your branching factor.

Increasing the amount of pins thus resulted in a far better result for the same amount of computational power than the improved algorithm you propose.

<comment><USER11> True, but an increased number of pins is slower on the plotter and making the scaffolding is also harder. Plus it is easier to rewrap the loom better than to make a finer loom.

I suspect that a forward-look of 2 or 3 will give a noticeably better result, particularly if you combine it with the length-normalised score like was suggested by another commenter. Using a Dykstra algorithm and taking the first path that reaches length N should also keep the branching reasonable.

If you haven't seen it, there was something similar (algorithmically) for the FaceBull problem, which should still be kicking around online somewhere.

</comment></comment></comment><comment><USER12> There seems to be one potential improvement: it seems the original artist algorithm privileges detail in more detailed areas than an overall correctness of line positioning

(Might be that it tries to optimize for edge contours)

<comment><AUTHOR> Agreed! I think there should be quite some improvement possible for the fine details. I'm playing with some ideas although any help is welcome!

</comment></comment><comment><USER13> Tobias I think it's extremely cool, nice work.

I am curious, how would the final quality of the result be affected by:

\- Changing the shape to say, a square. Or maybe a circle is optimal given a limited number of points.

\- Inreasing the number of endpoints. There must be some limit to this. For example, even giving an infinite number of endpoints would not look like a photo, but how much better could it look?

<comment><AUTHOR> Thanks!

\- For now I have only looked at circular looms although various shapes would indeed give some interesting result. A circle however gives an great even distribution of possible lines and thus resolution.

\- The number of endpoints greatly improves the resolution of the final image. The smaller the number of endpoints the more prominent the actual spacial patterns of the loom become.

</comment></comment><comment><USER14> As a physicist my first approach would be using Radon transform [1]. Should be tweaked a little, as overlapping threads are not additive in color (for black threads it's multiplicative though).

[1] [https://en.m.wikipedia.org/wiki/Radon_transform](https://en.m.wikipedia.org/wiki/Radon_transform)

<comment><USER15> Additive and multiplicative can be moved between through exponentiation or logarithms. After that, yeah, using the Radon transform seems like a great idea.

</comment></comment><comment><USER16> See also [https://github.com/fogleman/primitive](https://github.com/fogleman/primitive)

</comment><comment><USER17> Very cool! How much is it affected by the method of new pin selection after each time we add a line? I.e. currently you are doing oldPin = bestPin, and the first pin is selected at random... wouldn't it be better to just add lines based on a Hough transform (with rounding to the nearest pins) - starting from the line which covers the maximum number of points, and going down?

<comment><AUTHOR> The current implementation is very similar to a hough transform limited to 1 dimension (the angle). Your approach would allow a little more variation and thus a better image. In practice this would however mean one would have to retie the thread at both the start and the end of every line.

<comment><USER17> You are right, I didn't really think about the practical implications. oldPin = bestPin makes a lot more sense now :) Thanks.

</comment></comment></comment><comment><USER18> really nice! in your fitness function - wouldn't you prefer to normalize somehow for the the line's length? i.e. - longer lines (going between two far away pins) will cover more dark pixels, and are more likely to be picked, even though they might also cover many bright pixels. I wonder if the average darkness of pixels along the line will work better?

<comment><AUTHOR> Normalizing would most likely only change the order of chosen paths. I do feel there would be something to be gained from penalizing the crossing of light areas. I there say this would increase the quality of finer details.

</comment></comment><comment> i-make-robots [https://www.youtube.com/watch?v=orPiPpaeN3E](https://www.youtube.com/watch?v=orPiPpaeN3E)

</comment><comment><USER19> Dis you make the 200 pin loom or buy it? I can't seem to find such a product online.

<comment><AUTHOR> The loom was lasercut using the facilities at my uni. I believe however the original artist used a bicycle rim as a base.

</comment></comment><comment><USER20> I did something like this myself:

[https://github.com/danielvarga/string- art](https://github.com/danielvarga/string-art)

My algorithm uses a bit fancier math: I reformulate the approximation problem as a sparse least squares problem over positive integers, solve the relaxation, and truncate and quantize the solution. It works quite well in practice, check out the images.

</comment><comment><USER21> That's awesome, nice work!

Personally, can't say I understand image pre-processing well but did you notice that original Petros Vrellis images have deeper black color in some parts like face edges or hair and much lighter parts in cheeks and foreheads which creates a more detailed portrait?

Also, this name reminds me Jason Bourne movies as they have Operation Treadstone there.

</comment><comment><USER22> I wonder if anyone still has some automated wire wrap equipment that could be programmed to do this kind of thing.

</comment><comment><USER23> An interesting modification could be to have a small straight wall instead of each pin. A ball, whose trail remained visible, could bounce off each wall and create the image. The orientation of all the walls would determine what image was produced.

</comment><comment><USER24> I worked on a script to make a similar effect for my avatar picture, but never got it working, so my hat off to the author!

</comment><comment><USER25> This is very, very cool. Thanks for sharing!

</comment><comment><USER26> we're could I get irl versions of this (actually spun, but printed is ok)

<comment><AUTHOR> If you are looking for an actual spun portrait I would contact Petros Vrellis the artist behind the original idea. A printed version could be made yourself using the script on GitHub [https://github.com/theveloped/ThreadTone](https://github.com/theveloped/ThreadTone).

</comment></comment><comment><USER27> Like what you made here.</comment>


Ask HN: What about having a free pool of business ideas? - <AUTHOR>

What about if you get business ideas for free, that you could implement if you think there are some opportunities?
In return you only need to give credit where the idea came from. Is this something you will use? <comment><USER2> Yes, we are planning in publishing a "doable" business idea once every two weeks. With a lot of details like Business Model, Distribution, Technical recommendations, etc.

Also we are deciding if we do a blog or a video podcast where we explain the idea and also post the details in a document

What you think?

<comment><USER3> I would love to subscribe to that, regardless of format, heck, i'd even subscribe to an old school mailing list :) how can I learn more?</comment></comment>


Zenith – fork of the 64-bit TempleOS - <AUTHOR> https://github.com/VoidNV/ZenithOS <comment><USER2> "440Hz 'A' tuning changed to 432Hz."

Was this really necessary?</comment>


The Other Mile-High Club - <AUTHOR> http://motherboard.vice.com/read/the-other-mile-high-club <comment><USER3> If I run a computer system that commits a crime because of a bug, I will be held accountable for my system's actions.

For example, I might misconfigure my FTP server to include my music collection, facilitating piracy. Or I might write a shopping cart that takes everyone's money and doesn't deliver their product. An "honest mistake" defense won't get you off the hook for these.

Since the law applies to everyone equally, airlines should also be responsible for their mistakes. We have laws against false advertising for good reason and if we stop enforcing them, companies will take advantage.

<comment><USER4> I really don't like this vulture culture. The main defence seems to be "the airlines are bad too". My six year-old now knows this doesn't cut any ice.

This vulture behaviour even extends to ruining small companies. In the UK recently I read of a company on amazon with a far lower price on a product than intended and the twitter crowd were all out demanding the company "honour" the price even though everyone knew it was an error. Amazon were of course siding with the customer but the company was saying it would put them out of business.

<comment><USER5> This class of mistake is a cost of doing business when airlines have computers and people playing these ridiculous revenue optimization games.

Unlike virtually any other business, it's really difficult to accept the excuse of fare "misprints" when in many cases airlines reprice routes several times per day, or even multiple times per hour. I'm sure that if they were able to say "oops", the number of "mistakes" would spike whenever unexpected demand was encountered.

If they have issues with employees fat fingering fares, perhaps they should review the internal controls.

</comment></comment></comment><comment><USER6> I've flown from SEA-NYC for $1.86. I flew from YYV to Romania, and onto Turkey, for $200. I flew with my family of 5 in first class from SEA-YTO (Toronto) for $0, on Air Canada. Too many others to count. All from flyertalk. It's not as good as it used to be but there were times I've taken whole flights full of flyertalkers headed somewhere basically for free.

Key to success: Find some friends who also like to do this and who will wake you up in the middle of the night if they find a great deal (and won't complain if you reciprocate). It's hard to watch flyertalk all the time and the deals go quickly.

<comment><USER7> Just curious did you actually want to fly to new york? Or was it a case of "wow it is only 1.86 to go to nyc, i guess i am going".

<comment><USER8> nah, you have to be up for random trips or have a list of places that you would be willing to go if free. It's much less likely that one will pop up conveniently for a trip you need to make any time soon.

</comment></comment></comment><comment><USER9> I find it sad that there are people who think because someone makes a mistake you should be allowed, in fact a 'right', to take advantage of them.

I understand if you don't realise and their mistake sets you back you should get some sort of resolution.

But come off it, everyone in these groups knows when it's a pricing error.

These groups are fun, I do like them, but when some members think they are entitled to something because mistakes happen I have issue.

<comment><USER10> Airlines have taken advantage of me for making a mistake so many times. Once I booked I accidentally booked a flight for February 12, when the conference I was going to was actually March 12. I didn't realize until the day of my actually purchased flight. There was no sympathy for me, I simply had to buy another ticket.

<comment><USER8> That's different because it's not obvious to them, especially since you waited so long. Your parent comment is referring to situations where it's obvious some sort of mistake was made and yet you jump on it and exploit it knowing that something wasn't right.

<comment><USER10> How do I know what fares are obviously mistakes? Fare prices are all over the place. They quite often charge less for a round-trip than a one-way to the same destination, which is not a mistake at all, that fact makes it clear that it's not obvious which fares are mistakes and which aren't, or I'd think all of those were!

<comment><USER11> It may not always be obvious, but as an example, the $1.86 flight that another poster mentioned should certainly trip your "this isn't right" sensor.

<comment><USER5> Why?

Companies do all sorts of bizarro price offers. Megabus offers $1 fares to encourage pre-booking. Target sells $6 shampoo for 90% off when it sits for awhile. $1.86 may be preferable to an empty chair for some reason.

Pretending to be in Denmark to score a deal is acting in bad faith... But if you offer something for sale at a bad price, that's your problem.

<comment><USER12> Well, If I had an account with a billing address in Denmark while I lived in the US, would that suddenly change the morality of the situation?

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> In Canada an offer to trade is legally binding. At least for the first sale of a erronous advertisement.

Legally speaking if a company posts a screaming good deal in a flyer or advertisement they have to honour the first sale, but after that may make corrections.

This has been tested in court.

Also, if you make an offer and accept a response by mail, the second the response hits the mailbox (NOT the postmark) it's considered accepted.

So if you offer to sell something, to person A who who responds via mail but sell to person B before the letter gets to you you're legally bound to make person A whole.

This too has been tested in court.

This is why you now see legalize at the bottom of flyers now which says the in store price is the valid price if disagreements pop up.

<comment><USER14> Couldn't airlines put some fineprint into any offer, that they are not actually selling you a straight up flight ticket, but a flight ticket that comes with the option for the company / obligation for the customer of a buyback at the price paid (or, say, 110% of the price paid)?

</comment></comment><comment><USER15> I started a community for this exact purpose. It's called Oyster Chat and it's free to join We've got about 400 travelers on Oyster Chat right now and membership is growing at 10-15% per week. We collectively share the best flight deals, but unlike FlyerTalk it encourages real-time discussion and you receive city-specific notifications. It's hosted on Slack right now.

Over fifty flights have been booked so far based on the discussion in there. Oyster Chat is an extension of my flight hacking business Yore Oyster.

Happy to answer any questions about it, and anyone interested in flying cheaply is encouraged to join and contribute to make our community even more valuable.

-Jordan

<comment><USER16> How do you join? Got a link to the slack room?

<comment><USER15> oysterchat.com. You'll get an email invitation within 30 minutes of signing up.

<comment><USER16> Thanks, signed up! :-)

</comment></comment></comment></comment><comment><USER17> Claiming you're from Denmark when you're not to receive an advantage is fraud. I wouldn't expect a company or a prosecutor to press charges over it, but demanding that your fraudulent transaction be honoured certainly seems like pushing your luck.

<comment><USER18> "Oh, no, I must have put Denmark by mistake."

</comment></comment><comment><USER19> The crux of the article:

      "People absolutely have no qualms screwing
       airlines," he said, "because they just
       hate them."

It is probably true. I think the pricing mechanisms make this true - <USER2> time I get on a plane I am annoyed that there will be others on board that have paid significantly less than me, and I suspect that, Lake Woebegone style, _so does everyone else on the plane_.

I don't know if the maths will support it, but an airline that actually charges flat fares may win enormous amounts of good will.

</comment><comment><USER20> I don't see why this is even an issue. You publish a bad price due to your own incompetence. You should have to honor the fare.

If the airline overcharged someone due to an error, do they give refunds?

If you accidentally buy 100000 shares of a stock when you meant to type 1000, you don't get a redo. Why should airlines be any different?

I once saw replacement electric shaver heads on sale in Rite-Aid. The price should have been $30 but they charged me $1. When I saw how it rang up, I bought another two. Can Rite-Aid demand $58 from me? How is this different?

<comment><USER21> This is an issue, and United is allowed to deny the tickets, because the non- Danish citizens that tried to enter a purchase contract with United did it under false pretenses (i.e. putting down their country of citizenship as Denmark to trigger the pricing error when they were not Danish citizens). Contract law gets pretty precise under these situations.

Airlines have been held to task when people found legitimate fares and honestly purchased a ticket. This was not one of those situations.

More generous airlines and other large corporations have been known to honor the price anyway to avoid a P/R fiasco and generate goodwill. From my experience, UAL is not one of those companies. =)

<comment><USER12> Were they putting Denmark as the citizenship for ticket details or putting Denmark as the billing country for a creditcard to trigger the correct billing currency?

I read it as a simple billing currency issue.

</comment></comment></comment><comment><USER22> Anyone got any links to places where stuff like this gets posted ;)

<comment><USER23> I just did a trip like this to Seychelles for $400.

Wrote about it here --> [http://impossiblehq.com/say-yes- adventure](http://impossiblehq.com/say-yes-adventure)

There's a good round of links that I follow for good deals near the bottom.

Hope that helps!

<comment><USER24> Was the ticket mispriced or do you think Etihad was just running an aggressive promotion?

<comment><USER23> It was mis-priced, but Etihad did a standup job, got extra press & honored the tickets.

United did the opposite, which is one of many reasons why no one likes flying United.</comment></comment></comment></comment>