Nest thermostat released in the UK - <AUTHOR> https://nest.com/blog/2014/04/02/the-uk-just-got-a-little-more-comfy/ <comment><USER2> Sorry but this product is horse shit. I have nothing but contempt for it.

1\. It's expensive at £250. I doubt it makes a saving on that scale over 10 years. In fact I suspect it costs more over time (i.e. when it goes wrong and when it gets your routine wrong).

2\. Most houses do have thermostats. In fact most of them have remotely programmable ones with week schedules at least and a precise user interface (mine is down to half a degree). Plus every radiator (apart from one) has a thermostat on it.

3\. Is this really a problem or a manufactured one? If I'm hot I turn the thermostat down. If I'm cold, I turn it up. If I go out, I get back to a cold house and make some tea until the heating warms up. I'll set a minimum temperature at most.

4\. I'm sure this will quite happily piss away your gas if you decide to go on holiday. I bet it didn't see that coming! Perhaps I've got the flu - does it know that?

5\. Based on the fact that it connects to the WiFi, I suggest that it quite happily reports your data away somewhere which is surely useful. And I bet it knows who you are. How long before you start getting junk mail from NPower saying "have you tried our new tariff"?

6\. There's even more shit to go wrong now which will require a CORGI engineer to come out and fix at great cost.

Sorry but it's an excessive product for a non-existent problem.

<comment><USER3> The average UK heating bill is about £650 a year (based on 2012 numbers with a ~10% increase). Assuming you have a reasonably stable routine I can imagine a better thermostat could save 15% on your energy bill - amounting to about £100 a year. It _could_ be worthwhile financially.

Of course though, that would need to be tested. Fortunately there's a big queue of early adopters just waiting to do that for us.

<comment><USER2> _could_ isn't enough to spend £250 on a 40% return in a year on such a low value.

If you have £250 floating around then £100 difference over a year on your heating bill isn't likely a major issue either.

It doesn't make sense, even as an early adopter.

It makes an interesting purchase for the shiny squad with a disposable income but that's about it.

<comment><USER4> As an early adopter, I would want it to have some kind of 'geofencing' logic.

Given that I currently use as my main mobile a Windows Phone and the announcements that they are doing something around this area come (should be detailed at Build), I'd like this.

I live alone, I have a gas and electric bill of £800 pa, often I'm not home, I'll work late, end up in another country that night etc. Having something that lets me switch off remotely the heating would be useful to a point. But I only have the heating on for maybe 5 months a year.

What would be useful, is some software that realised I was heading home, automatically turning it on. That realised there is no way I'd be home within 30 min, so delayed heating going on. Without me interacting with it.

As for control of the temp, well, as mentioned thermostatic valves do a great job of that.

I just want remote On / Off timer functionality. £250 is far beyond what I'd consider reasonable for that.

I'd sooner have an array of Zigbee sensors for the temp, a controller for the solenoid and something to bridge it to TCP/IP land.

This strikes me as not only ugly (you wouldn't notice the current thermostat) but pointlessly over engineered in one aspect, whilst ignoring the most important one. If you have to remember to interact with the app, it won't work. I could save the odd £2 or £3 if I remembered to flick a switch before leaving home on a morning.

</comment></comment></comment></comment><comment><USER5> "Most UK heating systems don't even have thermostats"[1]

I died laughing.

[1] Citation Needed.

Oh, but thank goodness this California-based company is here to save us with their £250 thermostat because we just don't have them and we've been dying for some way to control house temperature all this time.

Oh, wait, B&Q offers me a choice of "Wireless Thermostat | Room Thermostat | Heating Controls | Central Heating Controller | Thermostat | Digital Room Thermostat | Central Heating Programmer | Digital Thermostat (97 products)".

And every house I've ever lived in has had either a central thermostat or per radiator thermostat.

Please, Nest, I'm begging you. Come up with some way to keep the ever present rain from touching our heads. We don't even have umbrellas over here.

<comment><USER6> During the course of last 7 years I've rented 7 different flats / houses in the UK (all of them in London), 4 of them didn't have a thermostat, 3 had centrally controlled thermostats, only one of them from the 21st century. They were all fairly typical London dwellings. So there you go, anecdotal evidence supported by some data points.

<comment><USER5> Damn you and your data that doesn't support my outrage :-)

<comment><USER7> Data suggests that all properties outside London have thermostats, those within the M25 live cold and impoverished lives?

</comment></comment></comment></comment><comment><USER8> I'd love to see these British houses with "No thermostat and you can't control anything".

Every house i've ever lived in has has not just a main thermostat but most have thermostatic vales on the radiators too!

I'm 31 now and have lived in lots of houses both brand new and old victorian. They do realise it's customary to modernise older houses after a while don't they? Maybe not!

Talk about inventing a a problem that no one actually has!!!

<comment><USER9> I've been renting in London for the last 7 years, and in 7 different flats. Roughly half of those places had thermostats, and they were usually poorly placed. In all but one of the houses, the valves on the radiators had been removed (the handles at least), so it was pretty much impossible to control the temperature room-by-room. Have one flatmate who likes a cold room and another who likes a hot room? Tough luck.

</comment></comment><comment><USER10> "Most UK heating systems don't even have thermostats."

Is that true? It's a long time that I've owned a property that didn't have both a central thermostat and per-radiator thermostats.

<comment><USER11> In my experience, almost certainly not. I even find it kind of offensive that they would say that.

There is some old and poorly maintained housing stock here, so there are definitely _some_ homes that don't, but I would bet the majority of these are rentals and a lot of them student rentals. My instinct would put the upper bound at 20%.

I can assure them that people in these properties (old, poorly maintained and usually rentals, correlating to low income) are not going to be buying a nest thermostat. I would be amazed if more than 1% of UK nest sales are going to homes without a thermostat.

<comment><USER12> It's hard to even imagine a radiator-based central heating system (whether gas- or home heating oil-fired) that doesn't have one of those cheap little bimetallic-strip thermostats, at least. Now lots of UK homes don't have per- radiator thermostats, or don't have central-heating _timers_ : maybe that's what Nest meant to say.

</comment></comment></comment><comment><USER11> "Available Today", no mention whatsoever of price, or even a place to buy, just a link to find certified professionals to do the install for you.

The lowest _installation_ price I could find was £75, some were £100. Experience tells me that the $250 price in the US means a £250 price, a theory backed up by the conspicuous absence of any pricing. That brings total cost to £325-350, or at current exchanges, $540-580.

I think I'll wait for a cheaper alternative for what, although neat, is essentially little more than a pretty raspberry pi with a small display and temperature sensor. (Also it strikes me that the real savings will be made when this is done on a room-by-room basis rather than whole-home).

<comment><USER13> It's a bit hidden, but there is a UK store for Nest:

[https://store.nest.com/uk/product/thermostat/](https://store.nest.com/uk/product/thermostat/)

£179 for Nest and (slower) installation if you order this week, £250 after.

</comment></comment><comment><USER14> Well, that's hilarious. Many UK houses to get their hot water from a tank heated by the same boiler as the central heating system, with both turned on and off by a central timer plus individual thermostats. It sounds like the Nest can't handle that, meaning you still need a separate non-Nest timer for the hot water as well with its own user interface.[1]

[1] See the comments on [http://www.trustedreviews.com/news/nest-thermostat- officiall...](http://www.trustedreviews.com/news/nest-thermostat-officially- launches-in-the-uk-priced-at-179) \- I thought it was odd the Nest PR stuff didn't mention hot water anywhere.

</comment><comment><USER15> As others are pointing out, Nest don't seem to understand their target market if they think we don't have thermostats and timers already.

We also have other options that are already available. For example: [https://www.hivehome.com/](https://www.hivehome.com/) or [http://www.tado.com/gb/](http://www.tado.com/gb/) or [http://www.scottishpower.co.uk/connect/](http://www.scottishpower.co.uk/connect/) or [https://www.inspirehomeautomation.co.uk/](https://www.inspirehomeautomation.co.uk/)

</comment><comment><USER16> A solution the world has been waiting for...

<comment><USER17> I just hope i can pay for it with my Coin card!

<comment><USER16> Yea and the professional installer you need to call for this thing too.

</comment></comment></comment><comment><USER18> The design looks so good! I wonder has anybody tested it?</comment>


Seclusion and Isolation Rooms Misused in Illinois Schools - <AUTHOR> https://graphics.chicagotribune.com/illinois-seclusion/ <comment><USER2> " _For this investigation, ProPublica Illinois and the Tribune obtained and analyzed thousands of detailed records that state law requires schools to create whenever they use seclusion. The resulting database documents more than 20,000 incidents from the 2017-18 school year and through early December 2018._

" _Of those, about 12,000 included enough detail to determine what prompted the timeout. In more than a third of these incidents, school workers documented no safety reason for the seclusion._ "

Done. There's no need for any further discussion. 8000 without "enough detail" and 4000 with no documented safety reason.

<comment><USER3> I don't want to take away from the importance of this specific issue.

But documentation at public schools is often a complete disaster anyway. The sheer volume of documentation and even where it should "go" is a huge burden put on teachers who are busy with other things.

I know of a school asking teaches to begin all documentation with some "standard" documentation for every form. Among things like date of birth and etc standard sheet asks for the race of the child, they're explicitly told to not ask the child or family for that information (for a variety of reasons depending on who you ask). They of course have no access to any of the information the school already has about that child. So any documentation automatically becomes impossible to fill out, let alone deliver to the appropriate people.

<comment><USER4> Okay but the one time you might expect "teachers" to get the documentation right is when they're throwing their kids into solitary confinement.

</comment></comment></comment><comment><USER5> This is very deeply unsettling. Solitary confinement is torture, wherever it happens.

Doing this to children should be treated as a very serious crime. The psychological damage this must inflict is surely on par, or worse, with other types of assault.

Also, the fact that this happens to disabled children paints a very dark picture about who gets to be treated as a 'human'.

Establishment educational authorities of one kind or another round the world have a history of enabling and fostering child abuse (of one kind or another). That doesn't just stop by magic.

It can be a lot harder to work with special needs children, but torturing them is no solution.

<comment><USER6> It is easy to complain.

Propose a solution. Tell us what can be done to stop a crazy evil kid from destroying any hope that others can be educated. Make sure to propose something society can afford. To be affordable, it needs to work in a school of 1000 with 50 staff and 100 crazy evil kids. Remember also that the staff will quit if expected to just stand there while a kid bites them. Remember that the crazy evil kids must be protected from each other, even if you might think they don't deserve it. Remember that we've decided that even the most crazy and evil kid has the right to an education.

Society awaits your affordable non-abusive proposal.

<comment><USER5> No child is evil. End of. Maybe they are troubled because their needs have not been met. Maybe in the case of special needs children their extra demands are too much for the parents. But they are not evil.

Trying to treat traumatised children by inflicting more trauma is like admitting a child to a hospital and beating them until they somehow get better.

I'm not saying its easy. I don't have a better solution. But there is nothing wrong with saying how screwed up it is. If a society can't provide what is needed for it's children why not come out and say that it's failed, as a whole, on basically its most important job?

<comment><USER6> Do you believe that no people are evil? If it's just that no child is evil, does the evil pop into existence at age 18 exactly?

Unless you have a better solution, how can you justify saying that we screwed up or that our society has failed? Maybe you are asking for the impossible.

Other societies simply do not attempt to keep crazy evil kids in classrooms with normal kids. That works. Many societies manage to save a portion of the bad ones via various forms of discipline that the USA has mostly abandoned.

Schools in the USA are set up to fail. They have an impossible job. They have no authority to provide effective punishment, and they have no right to reject the crazy evil kids. Of course that doesn't work.

<comment><USER5> The question of 'evil' is getting a bit theological. I was taking it on face value for the sake of the debate. But no, IMHO evil, good, gods and so on are a social construct through which society finds meaning. Useful fictions like currency, nation states and laws. But fiction.

Certainly we have adults and children who hurt others. There are psychopaths. But they are still human, and they are caused by e.g. damaged attachment.

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

The brutality of these rooms is, of course, that they put the boot in the most vulnerable spot by forcibly detaching the child.

But I'm not here to argue about religion. My pricipal point is that by labelling someone evil you are magicking away the cause. And that means you obviate yourself from having to face up to it. Antisocial behaviour can come from all kids of causes but this misplaced vengeful retribution can surely only make it worse.

I won't convince you away from labelling children as "crazy evil kids" especially not on a HN thread. If you can't see this as a real psychological crime, regardless of the externalities, then that's that. I'm sure your viewpoint is shaped by experiences I don't share.

<comment><USER6> I'm a non-believer and I'm fine with the term "evil". There is no magicking here. Some people are unfit for society. We can cast them out, lock them up, exterminate them, or (in rare cases) force them to behave. Funding is not unlimited, no matter how high we raise taxes.

There is brutality in allowing a crazy evil kid to deny better people their education. We can't run society that way because an uneducated society is simply unable to sustain modern life.

The cause of anti-social behavior is mostly irrelevant to the issue of what schools can or should do about it. It's not the school's job to fix youthful versions of Ted Bundy, Adolf Hitler, Osama bin Laden, Yang Xinhai, or Luis Garavito. The school can't do that. The school is supposed to teach children so that we can have an educated society. The good kids deserve to learn, and this is only possible if we focus our funding (staff, materials, rooms, etc.) on them while excluding those who would disrupt.

I do not assume that vengeful retribution is misplaced, and I do not agree that retribution can only make things worse. Humans evolved the desire for retribution because it often works. Sometimes an actively bad person will shape up as a result, and many other people will be encouraged to continue resisting the urge to misbehave.

Never mind vengeful retribution though. The value of isolating crazy evil kids should be obvious even if we have zero desire for vengeful retribution. By removing lost causes, we make education of other kids possible. The good kids deserve an education.

</comment></comment></comment></comment></comment></comment><comment><USER7> Never even knew there even were isolation cells in schools, that sounds completely insane.

<comment><USER8> After the barb-wire, armed guards, and metal detectors, you almost expect "the hole" as part of the deal, no?

<comment><USER9> Actually, if you put kids in there you will probably need barb-wire, armed guards and metal detectors at some point. I mean, who seriously expects that NONE of these kids go mental? "Best" case this ends up with a trauma, worst case one of them will eventually grab a gun (at least the odds increase a lot).

</comment></comment></comment><comment><USER4> > Eli, 7, was secluded more than a dozen times in kindergarten and nearly 50 > times in first grade while attending The Center in East Moline, records show

What. the. fuck?

</comment><comment><USER10> They are just preparing the kids for their inevitable stint in prison isolation units later on in life that are guaranteed due to their being tortured as children. Of course torturing children doesn't need any supervision by the state. I mean come on, who would abuse children? That's never happened once in human history.

</comment><comment><USER11> Anything beyond suspension should be moved out of the schools into juvenile justice or social services. Throw these problems back to the parents. Of course, such parents are utterly unprepared to deal with this, so focus on helping them.

As others have said, we need to pay up. Figure it costs 3-6 times as much to educate a kid privately as it does publicly, and perhaps that's an indication out schools run too thin.

</comment><comment><USER12> Misused? They should not be allowed altogether. It's really sad to read about this, and equally frustrating to see that nothing is being done about it. This kind of behaviour is just sociopathic; it's child abuse.

<comment><USER13> I think it's a horrible misuse of something that can be a good tool for helping children with sensory issues. A safe room where an adult and a child who is overwhelmed can sit, isolated from the hustle and bustle and sounds of the rest of the school. I have a young relative with autism, and their behavior in school and many other situations improved amazingly when their parents got them a pair of sound dulling ear muffs so that they were no longer overwhelmed by noises.

</comment></comment><comment><USER14> I can see how this situation can come about due to penny wise pound stupid cost cutting. Surely one-to-one help for these kids inside the classroom would be better?

<comment><USER3> Potentially but it depends.

If you have a child who regularly hits other children, how much in classroom help do you need before you need to remove the child from the situation?

<comment><USER15> It may require to remove the kid from school, but it wouldn't require solitary confinement for the kid. An "isolation room" is something that may get used for adult prison inmates in case of serious infractions, or a psychiatric hospital might use in certain cases with an adequate medical supervision, but solitary confinement is definitely not something that schools should be able to impose at their discretion.

<comment><USER6> We pretty much banned teachers from removing kids from school. We decided that every kid has the right to be in school, mostly in the normal classrooms.

You can see the result.

Basically, every tool for controlling bad behavior gets labeled "abuse" and banned. We don't seem to notice that the resulting disaster of an environment is abusive to the good kids.

</comment></comment></comment></comment><comment><USER16> It's easy to imagine this is a perversion of the purpose that public schools are intended to serve, but it's not. This _is_ the purpose public schools are intended to serve: to create conformity, by whatever means are required, in order to render a society predictable and thus manageable. In service of that purpose, individual children are disposable.

<comment><USER17> Well, sure, that and Algebra II/Trig.

<comment><USER18> What % of high schoolers graduate knowing Algebra II and Trig?

edit: 76%? I'm suspicious.

[https://nces.ed.gov/fastfacts/display.asp?id=97](https://nces.ed.gov/fastfacts/display.asp?id=97)

<comment><USER17> Algebra II / Trig was a graduation requirement at my kids public high school.

<comment><USER18> What is a graduation requirement for high school and what high school students know (or can read, at all) at graduation are very different, regardless of whether they graduate.

<comment><USER19> The same can be asked about the claimed requirement that students graduate as docile cogs in a pliant social machine. Like, what are the stats for that so we can assess which one is the more accurate description of the purpose of schools?

</comment></comment></comment></comment></comment></comment><comment><USER20> clearly the rooms were designed for a reason. We could have used one when I was in school I remember a case where a kid flipped out and destroyed the nurses room. Can we now talk about why there are mentally ill people everywhere I look.

</comment><comment><USER21> But by all means, lets keep cutting taxes and letting rich people hide their money wherever. Its not at all possible that this kind of abuse is in part caused by understaffing and a general disregard in financial terms for the value of public education.

<comment><USER22> sorry, this is caused by government and buried by the same. it is the lack of accountability most government agencies have that abuses like this fester and only surface with people aghast. We pour billions into school systems but it is mostly aimed at the adults if not retirees of those systems.

I will give you my favorite link about Illinois, it describes the problem we face, we have let politicians reward themselves and their supporters to the point we spend too much sustaining golden retirements and not enough on the here and now[0]. This state is not alone in this problem.

[0] [https://www.forbes.com/sites/adamandrzejewski/2018/10/26/ill...](https://www.forbes.com/sites/adamandrzejewski/2018/10/26/illinois-100000-club-94000-six- figure-public-employees-and-retirees-cost-taxpayers-12b/#658f77f6481a)

</comment></comment><comment><USER23> Nurse Ratched incarnate, named the fifth top villain in movies [https://en.wikipedia.org/wiki/Nurse_Ratched](https://en.wikipedia.org/wiki/Nurse_Ratched).

I'm surprised the word "sexism" doesn't appear, or rather not surprised but disappointed. If the ratio were reversed I suspect we would change the system immediately.</comment>


REALM.io? - <AUTHOR>

Hi,
Any of you has already used REALM.io ?
Can you please if the program brings something for server & mobile app and if you think it is a good choice ? DO you know alternatives ? <comment><USER2> Tim from Realm here. We'll be publishing a few blogposts about our users this week or the next. Otherwise you can meet some & ask questions on [https://groups.google.com/forum/#!forum/realm- cocoa](https://groups.google.com/forum/#!forum/realm-cocoa) or [https://groups.google.com/forum/#!forum/realm- java](https://groups.google.com/forum/#!forum/realm-java)

<comment><AUTHOR> thanks</comment></comment>


LAMP performance tips: I've spent the last 6 months combing Google for 'slow mysql'. It was enlightening - <AUTHOR> http://www.ghastlyfop.com/blog/2008/01/lamp-performance-for-dummies.html

<comment><USER2> Two more tips:

1\. Use FreeBSD, not Linux; and if you must use Linux, benchmark the performance of new kernels before you upgrade to them: <http://people.freebsd.org/~kris/scaling/os-mysql.pdf>

2\. Use PostgreSQL, not MySQL: <http://people.freebsd.org/~kris/scaling/os- pgsql.pdf> (compare vs. the mysql graph -- pgsql maxes out at about 30% more transactions per second).

</comment><comment><USER3> If this is all you have to show for 6 months of "combing Google", then you've wasted a lot of time.

</comment><comment><USER4> The second one is not accurate. mysqldump has many options and locking the tables is optional.</comment>


Etcher: burn images to SD cards and USB drives, safe and easy - <AUTHOR> https://etcher.io/ <comment><USER2> I really the technical explanation about how to write to a device on different platforms inside an electron app.

Described here [https://github.com/resin- io/etcher/tree/master/lib/src/child...](https://github.com/resin- io/etcher/tree/master/lib/src/child-writer)</comment>


Parsing ought to be easier  - <AUTHOR> http://apenwarr.ca/log/?m=201103#16 <comment><USER3> As the parsing topic has been bouncing around the past couple of days and especially as it has turned to composability of grammars I've been waiting for someone to say "parser combinator", in the style of Parsec in Haskell. I'm not that experienced in parsing, but couldn't a parser combinator approach do this almost trivially? You might have to add a bit of a concept of an escaping layer in the general case (the specific case shown is OK because a bare } is never legal in SQL but you can't count on that in general) but that doesn't seem like a terrible addition. After all, the _entire purpose_ of parser combinators is by definition to build a grammar/parser up from atomic parsing elements and combine them into larger ones. In this case it would be something like this fragment:

      assignment = do
          varname <- legal_variable_name -- defined elsewhere
          _ <- char '='
          exp <- expression
          _ <- statementTerminator
          return $ Assignment varname exp -- returns the corresponding AST node

      -- a prioritized list of all possible expressions, each
      -- thing in the oneOf is itself a parser expression,
      -- obviously missing a lot
      expression = oneOf [number, string, queryExpression, ...]

      queryExpression = do
          _ <- char '{'
          sqlValue <- sqlLanguageSelectStatement -- defined elsewhere
          _ <- char '}'
          return $ QueryExpression sqlValue

although the details would vary wildly depending on the grammars in question, and as clean as this looks it's oversimplified, though parser combinators do seem to offer powerful tools for keeping your grammars clean if you use them properly and keep things well-factored just as you would any other code. (The use of the underscore is a clear way to express "I'm throwing away this value"; they are optional but I find they make my grammars more explicit. YMMV. Also if we were really going to do this there are some tweaks I'd at least consider, like explicitly terminating the sqlLanguageSelectStatement with a semicolon or something.)

This really should have come up before now, so I'm assuming there's some blinding flaw in this; could someone enlighten me? (One thing that leaps to mind is that they may not be powerful enough for many cases, I don't know. I've certainly used them to implement arithmetic precedence so I know that's not an intrinsic problem but I have not pushed them to their limits.)

<comment><USER4> Your grammar requires a special token '{', so the parser can recognize the start of the sql statement. Likewise '}' for the end. I'm not sure, whether you can drop that and what the consequence are. You're certainly not linear anymore. It might be that the introduction of such special tokens is the "hack" required for embedding grammars into each other.

Note that '{' '}' is a bad choice. For example, "x = {select * from ;};" is perfectly fine C code under the assumption that there is a type 'select'.

<comment><USER5> I don't believe that is valid C code; you can't assign a variable to a block.

<comment><USER4> Ok, i should have tried it. It does not work with a declaration. However, this code compiles just fine:

      int main(void) {
        int select = 6, from = 2;
        int x = {select * from};
        printf("%d\n",x); // prints 12
        return 0;
      }

gcc and clang only complain the missing include for printf. cparser (which i'm working on) prints "warning: extra curly braces around scalar initializer".

</comment></comment></comment></comment><comment><USER6> PEGs are one class of cleanly composable grammars. OMeta uses that attribute of theirs to great advantage. And PEGs are, formally speaking, parsable in worst-case linear time, although whether that linear time is fast enough to be practical is still unknown, and it also potentially uses large linear space. I hope it's not vulgar to post yet another link to my minimal PEG parser generator in one page of code: <https://github.com/kragen/peg- bootstrap/blob/master/peg.md>

In particular, the example here of embedding SQL in C would be pretty trivial to do as a PEG.

PEGs can parse some languages that are not context-free — the example from Bryan Ford's thesis is aₓbₓcₓ, where xᵢ means "i repetitions of x". I think there are also context-free languages they can't parse, but I'm not sure.

(Operator precedence parsing is particularly ugly in PEGs, since by default, they don't support left recursion. The OMeta folks figured out how to cleanly support left recursion in PEGs, but you lose the linear-time guarantee.)

One very appealing attribute of PEGs is that you can conveniently extend PEGs to support parameterized productions, which could be crucial in building up a library of general-purpose parsing productions that could reasonably be used to shorten the time to define new languages.

k4st claims in <http://news.ycombinator.com/item?id=2330672> that Pratt top- down operator-precedence parsers are also cleanly composable. I didn't know that, and it seems like a surprising claim, but I don't really understand Pratt parsers yet. Crock has written an excellent article on Pratt parsers as his Beautiful Code chapter, and his JSLint is written with one. I think this is the same text as his chapter: <http://javascript.crockford.com/tdop/tdop.html>

Earley parsers can parse any context-free sentence in worst-case O(N³) time. Context-free grammars can, of course, be easily composed. Quoting Earley's abstract, "It has a time bound proportional to n³ (where n is the length of the string being parsed) in general; it has an n² bound for unambiguous grammars; and it runs in linear time on a large class of grammars, which seems to include most practical context-free programming language grammars."

John Aycock has written an Earley parser generator called SPARK which is included with Python, and is reportedly pretty efficient. He's advocated using it specifically because of the composability concern. <http://pages.cpsc.ucalgary.ca/~aycock/spark/>

Laurie Tratt just posted this other thing about parsing that's currently on the front page of HN; it's really excellent, and duplicates much of what I've written above: [http://tratt.net/laurie/tech_articles/articles/parsing_the_s...](http://tratt.net/laurie/tech_articles/articles/parsing_the_solved_problem_that_isnt)

<comment><USER7> asking as a total noob, how does a PEG grammar compare to ANTLR's grammar? seems very similar

<comment><USER8> ANTLR is a parser generator for CFGs and allows for flexibility in regards to ambiguity and context-dependent grammar by means of predicates. But the generated parsers are LL(k) (with enhancements, LL(star) they call it) and this brings certain problems with it, like the rules cannot be left-recursive.

As Terrence Parr said "LL recognizers restrict the class of acceptable grammars somewhat".

PEG rules cannot be ambiguous, as rules are tried out in order until one matches. Also recognizing tokens is part of processing rules, rather than having a separate lexer (which ANTLR does - lexer rules are separate from parser rules, and the code generated reflects that) - which means it is easier to deal with certain kinds of ambiguities.

This can work to your disadvantaged however. For example languages where whitespace is significant, like in Python where blocks are delimited by indentation level, the lexer needs to be hacked by hand (i.e. you have to cheat somewhere, because that's context-dependent and a bitch to deal with).

In general, ANTLR generated parsers are more efficient and allow for certain hacks to be implemented easily, but PEG grammars are easier to write and allow for certain context-dependent rules that are very hard to implement in ANTLR. And PEG grammars need backtracking as an implementation detail and although memoization reduces the impact of that, the result will have less performance.

Basically for quick prototypes I would choose PEG grammars and for industrial strength something like ANTLR.

Btw, here's a cool Java/Scala library for creating PEG parsers, and it's much lighter and easier to setup than ANTLR: <https://github.com/sirthias/parboiled/wiki>

And the syntax is basically Java/Scala: [https://github.com/sirthias/parboiled/wiki/Simple-Java- Examp...](https://github.com/sirthias/parboiled/wiki/Simple-Java-Example)

AND the Scala way of defining grammars is so cool I can't even describe it - basically you can create new grammars by inheriting existing grammars - <USER2> you have a general SQL syntax that you want to specialize for MySQL / PostgreSQL. Works like a charm ;)

</comment></comment></comment><comment><USER9> Most of the time when someone talks about "easy recursive-descent parser" it is not even strictly speaking a real recursive descent parser. It is usually some kind of top-down parser with horrendous tricks thrown in.

Is it easier to write parsers like that? Definitely, I did my fair share of this exercise too. Is it a good thing to do? Not if you want a fast, reliable and maintainable parser. Yes, using LALR(0) (or LALR(k) or whatever) parser generator requires much more effort and disciplined thinking but in exchange you get time and memory constraint guarantees, error reporting and (sometimes) error recovery for free and may be even the tool-chain for subsequent stages (AST, attributed grammars, IR).

So if I see a phrase "let it be a hack" in the text about parsing, there is a good chance that parsers written with this mindset run in exponential time.

I am not saying that "recursive-descent" or any other ad hoc approach is bad. Sometimes you do have to resort to various hacks. Even original C is not, strictly speaking, a context-free language: parser has to consult a symbol table to recognize identifier class to parse source code properly. C++ (which is a textbook example of how NOT to design programming languages) made things 100x worse. But, for obvious reasons, you still need to parse those languages. So, at some point gcc developers just rewrote C++ frontend from scratch using recursive descent techniques, because it is so much easier to intervene and introduce hacks in this framework than in the rules for LALR parser generator like yacc or bison.

TL;DR version of my response: use recursive descent if you have to, but using it for everything is just a demonstration of ignorance and may significantly hurt performance and maintainability.

<comment><USER10> I would actually say recursive descent is better for more complicated projects. Good error reporting in something like Bison is difficult, and that style of parser is also not necessarily any faster. IIRC, GCC uses recursive descent for (at least partially) those reasons.

However, parser combinators make things even better. You get a program that looks like a grammar, just like with a parser generator, but error reporting is much easier and because you're really writing everything in the full programming language you can be much more expressive.

</comment></comment><comment><USER11> It's odd that he talks about hacking together precedence parsing, when the very nice algorithms for doing that are well known.

Check out <http://en.wikipedia.org/wiki/Shunting_yard_algorithm> at [http://en.wikipedia.org/wiki/Operator- precedence_parser#Exam...](http://en.wikipedia.org/wiki/Operator- precedence_parser#Example_algorithm_known_as_precedence_climbing_to_parse_infix_notation) makes that

<comment><USER4> Additionally, precendence climbing allows the programmer to define new operators. For example Haskell has that.

</comment></comment><comment><USER12> As for the practical construction of parsers, you don't have to make special case hacks for operator precedence, you only have to express operator precedence directly in grammar (using trick that seems obvious once you see it).

Recursive descent is often ideal in practice, but it is "unfashionable" mostly because it's trivial to write tools that convert grammar in "right" form to parsers, but almost impossible to write tools that converts random grammar into such "right" form. Most other subsets of CFG are significantly more complex to parse, but better suited to computer manipulation on the grammar level (typical LALR parser generator does the above mentioned trick internally and many similar transformations).

</comment><comment><USER13> My university taught LL and LR parsing as 'compilers'. But you actually don't need anything complicated. A lisp parser is very simple, and colorForth does away with parsing entirely.

Never the less, everyone pushes for yet more special case syntax in their compilers. But the more 'intelligent' parsers become, the less intelligible their own code becomes.

Personally, I don't think a useful 'composable grammer' language will materialize. But an alternative exists: simple syntax that let you define your own semantics.

</comment><comment><USER8> Doing operator precedence in Antlr, which is generating LL(wildcard) parsers:

        expr:  mult ('+' mult)* ;
        mult:  atom ('*' atom)* ;
        atom:  INT | '(' expr ')' ;

Not much hackery there, just some look-ahead and recursion.

The grammar itself is context-free and LL(k) and the implementation is trivial once you understand what pushdown automatons are (automata theory, right after finite-state machines).

</comment><comment><USER5> I've always thought of setting up a programming language using unicode for a couple extra tokens (that would really assist with things like this). Could simply assign keyboard macro's for « and », and maybe one or two other useful tokens and create a far more powerful syntax.

Obviously it would cause massive issues with sharing code and annoy tons of programmers; but a couple extra tokens used effectively would really really help.

</comment><comment><USER14> Parser composability is trivial with Pratt parsers. One need only introduce the idea of denotation groups/categories, and allow one to specify a specific category along with a precedence. Add to this the ability to do ordered choice on denotations based on the first token(s) of the led/nud and you've got yourself a nice system :D

</comment><comment><USER15> Isn't this what perl6 grammars set out to solve?

<comment><USER16> Good point, I forgot about those! They are a very exciting feature of the perl6 design, if only because someone is finally serious about making progress in the world of parsing.

Some interesting articles about perl6's parsing:

<http://dev.perl.org/perl6/doc/design/apo/A05.html> (Apocalypse 5)

and especially

[http://dev.perl.org/perl6/doc/design/exe/E05.html#A_cleaner_...](http://dev.perl.org/perl6/doc/design/exe/E05.html#A_cleaner_approach) (Exegesis 5)

The bad news is that the syntax is rather insane and perl-like. But the good news is it's some seriously powerful stuff.

</comment></comment><comment><USER17> I'm not sure I get the point about "hacking" around operator precedence. Isn't the normal way to get around this to define the grammar differently? For example:

      expression -> factor | factor + expression
      factor -> number | term * factor
      term -> number | (expression)
      number -> [0..9] | [1..9][0..9]+

Is this the hack the author is referring to? Why is it a hack?

<comment><USER6> That's one way to hack it. Another way to hack it is to write an ambiguous grammar, but annotate the productions with precedences to tell your LALR parser generator how to resolve the ambiguities. And of course you can do what apenwarr suggests — parse with a grammar that is unambiguous but assigns the wrong precedence, and then rewrite the parse tree once it's built.

</comment></comment><comment><USER18> I got to the "Booya!" and tittered.</comment>


Ways that startups are trying to attack Facebook. - <AUTHOR> http://sahillavingia.com/blog/ways-people-are-trying-to-attack-facebook/

<comment><USER2> Talk about a linkbait headline... this is just a list of a few startups that are doing social.

Besides, we already have a lot of the things he points out. Gmail contacts are synced wirelessly and embedded into the OS on android, and everyone has group chat now.

</comment><comment><USER3> This looks like an ad for a load of iPhone apps. So much for innovation.</comment>


How I made my first app in 3 weeks for $250 with no coding skills - <AUTHOR> http://benphilabaum.com/how-i-made-my-first-app-in-3-weeks-for-250-with-no-coding-skills/

<comment><USER2> Congratulations on this. In my experience, however, the initial cost to create is usually the cheapest part of development -- maintenance is expensive. If you have to update your app with a new developer in the future, I hope the initial developer followed good programming practices to make it easy to understand what's going on. I'd encourage you to pay another $50 next time and have the developer explain to you how the code works.

<comment><AUTHOR> Thanks Greg - very true. Since the goal of this project was just to get something out the door I didn't really think of or plan for maintenance. Now I know for next time! I don't have any ambitions or monetary goals for it which is why I did it super cheapo.

I was able to dig into the project in xCode and make a small update, package it up and re-submit which was a really fulfilling experience to be able to figure it out!

<comment><USER2> Great to hear! You'll be coding in no time. :)</comment></comment></comment>


ISPs to start policing copyright by July 12 - <AUTHOR> http://news.cnet.com/8301-31001_3-57397452-261/riaa-chief-isps-to-start-policing-copyright-by-july-12/?tag=mncol;topStories

<comment><USER2> Reasons why this is a waste of resources:

1) Detecting piracy is resource intensive. You have to design algorithms to detect infringement and you have to implement them in a way that can keep up with a respectable portion of your backbone bandwidth without significantly degrading performance for consumers.

2) File sharing protocols can adapt rapidly and will most likely make more and more extensive use of encryption. Distinguishing legal file sharing from illegal file sharing will only get more and more difficult. Even if there remain ways to detect infringement, this arms race with file-sharers will feed back into 1 in a big way.

3) As Neil Young famously put it, "Piracy is the new radio". Those who adapt to the "new radio" first will reap the rewards. Those who spend massive amounts of cash fighting the inevitable progress of technology will just fall behind.

What should these dinosaurs do if they want to stay competitive? Stop treating users of the "new radio" like criminals and win them over by providing a superior experience to what the pirates can deliver. e.g. Stop loading DVD's and bluray's up with annoying advertisements, anti-piracy messages, and warnings. Online stores shouldn't sell 720p videos or lossy music files when pirates are giving away 1080p videos and lossless audio for free. Above all, minimize the payment barrier. Make it cheap enough to feel like value is high and make it at least as easy and fast as pirating. In short, stop spending money to treat your customers like criminals and, instead, spend it to ensure that legal purchases are the path of least resistance to the highest quality experience.

<comment><USER3> > 1) Detecting piracy is resource intensive

People who torrent 24/7 just because they can are _also_ resource intensive. I think there might be a real incentive to kick Joe Leecher out of one's customer base and keep people who only check their email.

<comment><USER4> but no one would pay $120/mo for 328MBPS DSL⁕ only for checking email.

So there's still incentive to make P2P seems a possibility.

⁕ only 0.0001% guaranteed

<comment><USER5> Exactly this. I pay Comcast $200 / mo for 105mbit. In part because it's retardedly fast (I do get the advertised speed generally,) and in part because I don't ever want to think about bandwidth limits or any of the other measures they enforce on people who aren't shoveling over forkloads of cash. If either of those things change, I immediately downgrade.

<comment><USER6> Ouch, Charter only charges $82.99 a month (with modem rental) for 100Mbps. Around the same time they introduced 100Mbps service, they introduced bandwidth caps. (500 gb/month for 100mbit service). Bandwidth caps @charter are a 3 strike policy.

I can get charter business @~$200 a month which is 100mbit service (no download cap, guaranteed uptime). Are you on some sort of comcast business plan?

<comment><USER5> No, it's their highest bandwidth residential plan. Technically, I still have bandwidth caps (<http://imageshar.es/4f675654998b758611000b60>) but they don't enforce them.

</comment></comment></comment></comment></comment></comment><comment><USER7> I'd be really interested in seeing a list of ISPs that have chosen not to sign. Even though I don't pirate, I would jump in a heartbeat if its feasible (e.g. I can actually find a non-signed ISP) and my ISP isn't on the list.

<comment><USER8> I left Comcast in Jan because of SOPA. This is just another reason why these 'ISPs' are a bad choice.

I live in San Francisco and chose Sonic.net because they don't cap or do any kind of traffic shaping. I did take a hit in my speed (from 20mb to 10mb), but their service is top notch and I feel good about where I put my money every month. Sonic's also been doing a fiber rollout in some areas north of SF and in one section of the city.

I won't ever go back to Comcast. I'm interested to see how this will affect people. Will there be an exodus from these guys for other ISPs that don't cap or police the line?

<comment><USER9> +1 in support of sonic.net in the Bay Area. They are total pros on everything from installation to customer service. Plus, they're building a last-mile fiber network in SF!

</comment></comment></comment><comment><AUTHOR> This raises so many questions.

What kind of traffic inspection are these ISPs doing that would enable them to identify infringement as it's happening?

How do they know what rights the people involved have to say that a specific download is infringing or not?

Speaking of the general public, how does Joe Smith know that Hulu's stream of "The Office" is legal but some other site's is not?

<comment><USER10> I work in information security, and while my company doesn't have the sophistication necessary to know exactly what data is contained in each and every packet that goes through the network (that's not what we do), I could give a "this is how _I_ would decide" overview.

We've got pretty rudimentary tools at my job, but we can still see source and destination address (even through a NAT and proxy on our end), IP ports/protocol, time of day and speed of connection trends, and we can do small amounts of packet inspection (we grab the first 120 bytes of every packet).

With this data, I'm able to tell if someone is using BitTorrent vs Skype (they're both peer-to-peer UDP packets to random addresses, so finding the difference is key). I can tell where their information is being sent to. If the packet is not encrypted, I can see exactly what is being sent (the header data will show filenames being transferred). DNS data will tell me what site they've just visited, and packet capture will tell me what specific page they're on and what search terms they used on that site.) With an unencrypted session, it's as easy as piecing the domain name from DNS (thepiratebay.com) to the packet capture (http: 11:23pm March 15, "the office", /search/test/0/99/0) to the user (10.250.250.10) to the network flows (every few seconds there's another couple packets going out to or coming from a few dozen address across the world). Bam, we've got an infringing user.

Now granted, people will likely be using encryption. I don't know how the tools handle this, we don't do anything with it at my job. However, I would imagine the ISPs could do deeper packet inspection. I would imagine they simply don't care if your traffic is legal or not. They may assume it's all illegal and serve notice anyway. There may be an appeals process. As for the difference between Hulu and joe-streams-hollywood.com, I would imagine they have a whitelist of addresses.

 __TL;DR; I don't know, but I can make an educated guess. Best bet, encrypt your traffic but don't rely on that to save your ass. __

<comment><USER11> scary... if ISP's sniff packets, isn't that illegal wiretapping?

<comment><USER12> no, your ISP has very broad legal powers to inspect your traffic as long as it occurs while it's in motion.

</comment></comment></comment></comment><comment><USER13> I got hit with a dire legal warning in college from these anti-piracy-crusader guys. Apparently I had been heavily uploading Beyonce songs on Limewire. This was strange, as I have never used Limewire and don't much like Beyonce's songs. I had to go to some office and fill out papers to say that I was innocent, because someone made a completely spurious (and probably automated) accusation against me.

These people are scum.

</comment><comment><USER14> I believe this is the "6 strike" system. They agreed to do this last July, and it seems to go into effect a year later.

Also, I'm not so sure how "voluntary" this was, considering the Obama administration was involved to "mediate" the deal. My guess is the White House tried to pressure the ISP's into agreeing with this, though I wouldn't exactly call the ISP's _innocent_ considering pretty much all of them now have their own content services, and it would benefit them to cut down on piracy somehow.

<comment><USER15> You can only get a benefit if one is willing to pay for content. Piracy does not equal one lost sale.

<comment><USER16> The equation is different for cable companies than it is for content producers. Cable companies (I'm including phone companies that provide TV service) are competing with the internet itself, in aggregate. They're thinking much longer term. If they can get people to make a habit of watching TV through them instead of the internet, they win.

<comment><USER17> I'm wondering on which planet cable is going to beat the internet. Presumably it's a planet where the people prefer inconvenience, cost and poor usability.

<comment><USER16> Cable is more convenent if you don't care what you're watching and don't want to be made to choose. It's optimized for passive consumption. Most people want a morphine IV drip, not a wine cellar.

</comment></comment></comment></comment></comment><comment><USER18> We sure are turning chinese fast. In the end, does it really matter what ideology underpins the censorship? Users say to themselves, "I have to be really careful not to even appear like I'm doing something 'bad' on the internet or I could lose my access or worse."

It doesn't matter where you got on the train or why, once it pulls into that last station, you're done.

<comment><USER19> It seems to me that this whole endeavor is just a doorway for more control/censorship a couple of years from now.

Once the technology is set up and the practice is sanctioned, more and more 'bad practices' will start being policed and punished.

<comment><USER18> I don't believe that that's intentional. If if was that might be better because we might have a chance at stopping it. Its an emergent behavior. The tighter control, even enacted for "good" reasons now, attracts the type that use it for evil later. It sucks because you can't fight the evil up front. You sometimes have to fight the good intentions now to prevent the evil later. That's an impossible political sell.

<comment><USER19> >> _The tighter control, even enacted for "good" reasons now, attracts the type that use it for evil later._

Are you so sure that those _good_ reasons aren't conceived _by_ ill intented guys knowing what you have just described: _It sucks because you can't fight the evil up front._

More commonly refered to as _wolf in sheep's clothing_.

Big power players are not naive.

</comment></comment></comment></comment><comment><USER20> "There was of course no way of knowing whether you were being watched at any given moment. How often, or on what system, the Thought Police plugged in on any individual wire was guesswork. It was even conceivable that they watched everybody all the time. But at any rate they could plug in your wire whenever they wanted to. You had to live—did live, from habit that became instinct—in the assumption that every sound you made was overheard, and, except in darkness, every movement scrutinized."

</comment><comment><USER16> At what point will they lose their DMCA safe-harbor protection? Can we discourage them from actively policing copyright by suing them for copyright infringement?

<comment><USER21> Yes. And when they lose their common carrier status, they'll be responsible for trafficking in child pornography if any of their customers do.

I anticipate failure.

<comment><USER22> I don't believe ISPs are considered common carriers.

<comment><USER23> but by doing this they ARE giving up their safe-harbour provisions.

<comment><USER24> Why do you think so?

</comment></comment></comment></comment></comment><comment><USER25> If an ISP starts openly inspecting content like this will it become liable for all content that passes through it's network?

Edit: I'm surprised to see this downvoted. Care to comment why?

<comment><USER24> ISPs aren't common carriers.

</comment></comment><comment><USER26> This has already been going on as others have noted.

ISPs send email citing that X external organization representing Y media company says that you have been sharing Z content, then the ISP shuts off or redirects all web traffic from your location except that which is allowed to go to a webpage they specify in the email where you must acknowledge that you got their communication and will cease and desist. It is pretty Orwellian.

We all need to switch to mesh wifi internetworking as soon as possible. With some work, it could become a better solution than our current net, and there would be no monthly cost to an ISP, and no MPAA, RIAA, or government interference. Granted, there is value in rule of law and protection of adequate compensation for created works. But when Big Brother comes down on you and your neighbors, is that ok? These guys would have cuffed you for the cassette mixtape you made for your girlfriend in the 10th grade if they would have known about it. The longer you let the ISPs or the government rule the net, the less of a chance you will have to ever get it back.

<comment><USER12> I understand that you read about it on reddit, and they may have sounded quite confident and/or optimistic, but I assure you an internet based on wireless mesh and without ISPs would be completely unusable. Along with most ideas that sound anything like that. Whatever visions you have of a future pirate nirvana internet will have to include a bunch of pretty traditional looking fat pipes in the center of it all.

<comment><USER27> Actually, I didn't read about it on reddit, but thanks for thinking so highly of me. :) And there is no way it will ever get any significant traction as long as people dismiss it as lunacy immediately after it is mentioned.

People treated kids that programmed like socially disabled outcasts in the 1980s. Ten years later, many of those kids were making millions. Dialing into a BBS to communicate was a waste of time. Now almost every business has a Twitter account.

Mesh may seem stupid now, but when the current net gets locked down and turned into a "white" government-regulated net within the next 20 years, people are going to start connecting to the shadow "black" mesh net to share files. No, I'm not talking about mesh nets connected to our current net. I'm talking about a completely different internetwork. And if we wait too long, we won't be allowed to setup such a network, because it will be outlawed before it has a chance to flower.

I'm not saying there is a magic field of jellybeans that can replace our current net, although IPv6 may as well be that, as slow as it has been rolled out. But, to dismiss mesh as a crock is just plain lame.

<comment><USER12> It seems like you think wishful thinking is a replacement for actual engineering knowledge. The difference between your story and today is that in the 80's (and 70's) tons of real engineers were already using the internet, dialing plenty of BBS's, and already knew the Internet was going to be huge - and understood the science of how it would grow.

In contrast, the _only_ people willing to suggest that a decentralized wireless mesh has the possibility of replacing the internet are people that haven't used one and have no rf background.

<comment><USER27> What about Open Mesh Project, Open Source Mesh, B.A.T.M.A.N., Roofnet, GNUnet, Dot-P2P, SMesh, Coova, Babel, SolarMESH, WING, Daihinia, P2P DNS, Digitata.org, Netsukuku, Tonika, We Rebuild, Freifunk, Athens Wireless Metropolitan, wlan ljubljana, The Darknet Plan, the connective, Meraki, Open Mesh, firetide, guifi.net, OLPC, Iridium constellation, Commotion Wireless Project, Serval, and IEEE 802.11s?

[http://emergentbydesign.com/2011/02/11/16-projects- initiativ...](http://emergentbydesign.com/2011/02/11/16-projects-initiatives- building-ad-hoc-wireless-mesh-networks/)

<http://en.wikipedia.org/wiki/Wireless_mesh_network>

<comment><USER12> You do understand the difference between proving a technology exists and is suitable for localized high latency low bandwidth communication and suggesting that it's suitable to replace tier 1 isps that handle terrabits of data traffic per second, right? No one has ever suggested that you can't run a relatively small, localized, and centrally managed mesh network - those have been in use for all sorts of purposes for quite some time. What you're being told is that those technologies _don't scale_ to millions of users, long distances or high bandwidth/low latency applications.

It's perfectly fine that you don't know a lot about networking or network management. Just stop telling people how they can replace the internet when you really have no idea.

If you don't want your ISPs or others sniffing your traffic user encryption. If you don't want the RIAA telling your ISP that you're pirating music stop putting your computer on a global list of computers that are offering to serve popular.mp3. It's a pretty solved problem.

<comment><USER27> "It's perfectly fine that you don't know a lot about networking or network management."

I am not suggesting everyone can use mesh now and magically you no longer need an ISP. I am saying that is where we need to go. And I started off many years ago learning how to design and manage networks, getting certifications, wiring my business with cat3 then cat5, managing routers and switches, and then I moved onto something more interesting- now I just try to protect HN from morons.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> Are US ISPs being paid to do this by the entertainment industry? If so, is there any transparency on this?

Why would the ISPs choose to do this with no legal requirement for it and strong restrictions in how they can achieve this now or in future any infrastructure business around it due to net neutrality and other regulator issues? This would directly alienate their own broadband customers...

<comment><USER24> It looks like the ISPs are actually _paying_ half the cost of the system. The mind boggles.

Everybody in the thread please read the MOU; it's probably totally different than you think: [http://www.copyrightinformation.org/sites/default/files/Momo...](http://www.copyrightinformation.org/sites/default/files/Momorandum%20of%20Understanding.pdf)

<comment><USER29> Actually, the ISPs have incentive to play along! Under these rules, the ISPs will be able to throttle back peoples internet connections, which will save the ISPs money.

</comment></comment></comment><comment><USER30> How does this mix with major ISPs offering VOIP bundles – what happens if they cut off your internet access and you are no longer able to call 911? Is there any potential liability there?

<comment><USER12> They don't actually cut off your network connection, they just filter it so that you can only reach a subset of their own addresses like dhcp, dns, trouble resolution website etc. I'm sure they just include the voip servers on that list. That traffic is often provisioned totally separately (outside of your commit, possibly to a separate mac) so that it might not be an issue in the first place.

<comment><USER31> That would only work if you're using their bundled service. If you were using Vonage for instance it could easily interrupt that. They can whitelist all they want but they can never get all of them.

<comment><USER12> yeah, but the third party voip providers all tell you that they aren't a replacement for a landline providing E911 service because of the (many) problems that can occur with an unmanaged pipe.

</comment></comment></comment></comment><comment><USER32> Move to central Washington state, where you have a hcoice of a dozen or so high-speed ISP's across fiber......

This reminds me. I wonder if the change during Reagan/Clinton to pro- consolidation, anti-competition has anything to do with making an industry easier to control in this way.....

<comment><USER33> Dear god I hope you aren't suggesting moving to Ellensburg...

<comment><USER32> Chelan or Douglas counties would be best, so Chelan, Wenatchee, Waterville....

</comment></comment></comment><comment><USER21> Good news, everyone. Nobody told the ISPs about cryptography!

<comment><USER16> Unless everybody moves to freenet (or some other friend-to-friend network) you have to exchange keys at the beginning of every session with a peer. The ISP can see that, and MITM you. SSL/TLS gets around this with a central certificate authority that vouches for the public key of the other party. That's damn difficult if not impossible to pull off in a decentralized system.

</comment></comment><comment><USER29> It does not take a leap of the imagination to see how ordinary, law-abiding citizens might accidently be affected. Here is a hypothetical scenario of how things might play out.

People pirating music will be caught. These people will start encrypting their web-traffic to avoid getting caught in the future. Then coders like me who use SSH/SFTP heavily will be flagged as pirates too. Then my internet will be cut off.

<comment><USER34> > People pirating music will be caught. These people will start encrypting > their web-traffic to avoid getting caught in the future.

Which won't really help since they're being tracked by their peers, I don't think anyone is wiretapping random Internet users' connections to bust them for piracy.

<comment><USER35> I'm assuming he means hiding behind a VPN, which encrypts traffic and masks your IP. If enough people start using them, I suppose they'll be the next to feel the heat from the media-companies.

</comment></comment></comment><comment><USER36> Well, if web policing is enforced by ISPs, it may give birth to the next generation of internet. I'm not kidding. I'm serious.

Let me explain. Today everyone has a wifi router. Imagine, one wifi router sending request to the next wifi router, which routes to the next router towards the destination. It is theoretically possible to reach the destination and get back. It may be a million hops. But, it is possible.

Today's wifi routers are designed to talk to CABLE or DSL. But they can be made to talk to a nearby wifi router also. If we do that the entire world will become one giant network. That would be the real internet. At that time, we won't need ISPs.

Today majority of traffic goes through ISPs. If this type of wifi routers come to existence, even countries like Iran cannot control internet.

This may be a blessing in disguise.

<comment><USER37> Do you have any technical background in this area? The usability (latency) of such networks is ridiculously bad, and the whole idea is based on the assumption that the average guy will have a wifi router capable of supporting this new protocol. The bridge nodes to connect back to the global internet are also some easy points of failure. Not to mention that anyone stupid enough to not be using a VPN or HTTPS over such a connection will have their information leaked to a ton of cool hacker kids running a custom build of DD-WRT on their Linksys router.

I don't mean to be a buzzkill, but the way around the copyright cops isn't a janky 2.4 GHz "mesh network" using 802.11. It's going to require a lot more than that.

<comment><USER36> It is just an idea. You are right, the current wifi routers doesn't have capability. However, this is done by the backbone routers at present. If we go back to the 80s, the PCs of that time cannot handle the computing needs of a large website. However, today nearly all datacenters are run using PC hardware. In other words the business of big servers got commoditized in the early 2000s. In the same way, the big network backbone business will be commoditized at some point in time. The restrictions such as this, will only accelerate the commoditization.

</comment></comment></comment><comment><USER38> > Comcast, Cablevision, Verizon, Time Warner Cable and other bandwidth > providers

According to the official Copyright Alerts site[1], the only "other bandwidth provider" that has signed on is AT&T.

[1] <http://www.copyrightinformation.org/about>

</comment><comment><USER39> The moment a provider throttles my internet based on "piracy" is the moment I begin investing all of my free time into making a free and invincible p2p solution.

<comment><USER40> Given how things _currently_ are and the hypothetical tense of your comment, I can only conclude you're bluffing yourself.

</comment></comment><comment><USER20> What if you share an IP address with several other families? Does this imply that internet would be cut off to the IP address if it were found to be infringing?

<comment><USER41> who ever has the name on the bill seems to be the one responsible.

<comment><USER42> It'd be a great way to shut out schools and businesses from the internet.

Unless the way to opt-out of this is simply to get a business connection.

</comment></comment></comment><comment><USER43> > [...] notices to those customers who are accused of downloading copyrighted > content illegally. If the customer doesn't stop, [...]

Stop of being accused?

</comment><comment><USER44> They specifically used the words "web access," does that mean other ports are in the clear? I imagine port 563 may see increased usage.

Anyway, I've been considering a service to allow people to swap modems (i.e. cable -> DSL, or vice versa), to minimize switching costs. This move may make the idea more viable.

<comment><USER7> _They specifically used the words "web access," does that mean other ports are in the clear?_

That's engineer thinking, not lawyer thinking. Do you _really_ think, just because packets went over port 9999 and, let's go further and say it wasn't even HTTP, that any attorney, judge or jury will even understand, much less care that it's not the "web"?

<comment><USER45> Yes, because those protocols will never be bought to trial.

This is about targeting the lowest possible hanging fruit that your average joe random idiot can click a big blue button and pull down the last version of whatever schlock big content is pushing out.

Some guy using a bitcoin purchased usenet account over SSL from a VPN through tor to a remote data dump and then grabbing the booty is never going to get caught in this net.

<comment><USER46> Don't bet on it.

<comment><USER45> I'd absolutely bet on it. Short of outlawing encryption such a thing is flat out impossible, even then it's questionable due to steganography. And both of these ignore the fact that, and I want to repeat this for emphasis; These People Are Very Stupid (If You Want To Be Charitable You May Add "In-This- Area" Here).

<comment><USER46> Well, there had been laws treating encryption as weaponry, and forbidding it's export. So outlawing it for such uses, is not _that_ far fetched. We've regressed a lot in a lot of areas since the nineties.

OTOH, VPNs are needed by companies of course, so they can't outlaw this kind of use. But it's not like they cannot poison usenet/tor et al, and catch guys this way. If they have their way, one can imagine a future that you're only allowed to VPN to a whitelist of addresses that you have declared beforehand for business use --or something of that kind.

Also, how about any "odd" pattern, like repeated high volume traffic, giving them "probable cause" to bust into your house and check for illegal downloads?

<comment><USER45> Attacks to expose your identity via tor already exist and there are accepted methods to avoid them, no default route etc so even if something you are running does manage to try to initiate a remote connection it will not get anywhere anyway.

Usenet is already a haven of scum and villainy as the saying goes due to being commonly used as a vector to distribute malware, people that are accustomed to this environment once again take plenty of precautions to reduce their exposure to these attacks. Another agency joining in on the poison would just be par for the course for our theoretical target.

The idea that a person would go to this extent to avoid detection and then not use deniable encryption volumes to stow their black data is somewhat crazy, even if you grant that someone downloading high volumes of data for illicit purposes is distinguishable on a probable cause basis from someone who just really loves watching a lot of online video or uses a high volume update channel operating system or runs a bunch of computers behind a single ip etc.

This really is asymmetric warfare terrain highly favouring the policed rather than the policing entity if you assume infinitely competent actors on both sides

</comment></comment></comment></comment></comment></comment></comment><comment><USER47> Im from Mexico, and aparently these kind of things are already happening here. A friend of mine told me a few weeks ago that the cable company called him to say that he was downloading copyrighted material from warner and that he should stop or he would be cut off.

</comment><comment><USER33> I get the impression that a lot of people who are "heavy pirates" are the types that simply wouldn't listen to music otherwise. I was into pirating music simply because I could... then I realized I never listen to any of it. Since then I rarely download.

<comment><USER30> Well, if they are, they're also wasting their money: [http://arstechnica.com/media/news/2009/04/study-pirates- buy-...](http://arstechnica.com/media/news/2009/04/study-pirates-buy-tons- more-music-than-average-folks.ars) & [http://www.pcworld.com/article/236214/study_casts_pirate_sit...](http://www.pcworld.com/article/236214/study_casts_pirate_site_users_in_good_light.html)

Just say'n, is all...

</comment></comment><comment><USER48> Can anyone recommend a good VPN or other solution to encrypt all of my traffic?

<comment><USER49> get a free ec2 instance. How I got web in china.

</comment></comment><comment><USER50> I don't think its really that important for everyone to be able to get all movies, tv shows, music and stuff for free, but the fact that the internet is controlled by a fairly small number of companies does seem to be a problem.

To me its similar to general problems with over-centralization and/or monopolization in many areas. There is one water company, not very many large entertainment distributors, food production is handled by an increasingly small number of companies, electricity comes from one company, web search results mostly controlled by one company.

We should do a better job of using shared knowledge exchange formats to be able to get an accurate holistic picture, but at the same time I think things would be more robust and we would be more secure if production, distribution and control was generally much more localized.

I actually think that we should aim for producing water, electricity and food inside of individual homes/apartments or buildings, and also create alternative fiber, laser and wifi mesh networks for communications.

<comment><USER10> I don't agree with lumping the RIAA in with municipal water or electricity. Utilities can be much cheaper and more efficient with a local monopoly than if they were in competition. Imagine if water delivery was a free market: you'd have a half dozen or so companies pumping water to you, and unlike with rotatable Internet protocols, they wouldn't be able to use each others lines. You'd have to have the same amount of water lines run to your house as there were competing companies. Same with the choice of electricity: they can all use one line, but in the end it has to be traceable back to the one company who shilled out the watts for your benefit. Imagine if there were three or four competing power plants serving your neighborhood, all running at 1/3 capacity (plant efficiency doesn't scale down nicely).

No, utilities need to be monopolized for efficiency. With rotatable protocols though, you can trace who sent what to whom. That's where competition is a good thing. That's why local monopolies on ISPs are ridiculous, same with monopolies on content distribution.

<comment><USER50> I don't want companies competing to send me electricity or water. I want to produce my own electricity and water.

<comment><USER10> Well then you get into the difficulty of actually achieving this. Lets take a mid-size metropolitan area, with a population density of 500 people per square mile. How does everyone in the apartment buildings generate their own electricity or pump their own water? And if a 1000-person apartment complex begins pumping water from directly beneath themselves, what happens when the water is gone? And where does the water go when it has been used? Where does the runoff from the streets go? Is there a water treatment plant, and if so, who resells that water? Or do we just keep pumping water from the ground in one area and dumping it back in another, until the ground is dry under the city?

How many solar panels would be on a building if everyone had to generate their own power? How many wind turbines? How many generators? Where would this space come from, and who would pay for it? What if those panels or turbines could not generate enough on one specific day? Is there a contingency plan?

Even if you think the current market of ISPs and content distribution is bad, don't delude yourself into thinking the Internet would exist without cities. With cities comes a need for utility management. If everyone had enough land to generate their own power and water, your Internet bills would be worlds more expensive and your control over entertainment products would be far less (what local bands will you see when your nearest neighbor is three miles away and there's no centralized location to perform?)

Let me know if I've completely misunderstood your statement.

<comment><USER50> I think the technical realities might not be as impossible as you assume. I don't know to what degree those ideals might be achieved, but I think those should be the aims.

</comment></comment></comment></comment></comment><comment><USER51> I will raise holy hell for any ISP that blocks my transmission of avatar.MP4 across their ISP to my own device. If I own Avatar.mp4, the ISP's need to understand that I am sending it to my own device, or a device of someone who has "pair bought" avatar with me (we both split half the money to buy it).

If they get one thing wrong which they will, I'm going to piss and moan about it to no end. On the plus side, net neutrality will be gone, and ownership of the internet secured by the United States congress. I suppose it's better than falling into the hands of some other country, which will also lay claim to it. Let the Internet be divided into a million pieces with import duties for every bit and byte transmitted across an infinite number of versions of the internet.

This is how evolution works, a good idea grows too big, then it compartmentalizes and specializes. Most will suck, but some will be better, and the better ones will be on the receiving end of the goods and services of the enlightened masses. If we can promote freedom to choose which internet to live under, we should be ok to Stamp out the subnets that are used for enslavement of man in favor of the "more free" versions.

<comment><USER52> > a device of someone who has "pair bought" avatar with me (we both split half > the money to buy it)

Is this actually allowed though, or would the MPAA say you're breaking copyright despite the fact that this other person spent his or her money on it.

My understanding is that the license to view/use the file belongs to the account of the person who actually bought the thing, regardless of who else supplied cash for the undertaking. That could mean that while it seems obvious to you that the two of you share the ability to use the file, the reality might be much more gray (or you could just be outright wrong).

This is exactly the issue that keeps me from buying digital movies (other than DRM issues), and it's why I don't own a kindle. From a legal perspective, it seems like things that are easily and legally shareable with physical items, such as DVDs and dead tree books, aren't easily or legally shareable at all.

I can't download a book from Amazon to my Kindle and then, if she decides she also wants to read it, simply transfer the file it to my girlfriends Kindle as well. At least not strictly legally. We could share accounts, sure, but people break up, and even for married couples there is still a pretty high divorce rate. If we split, one of the two of us (legally) loses everything we've bought for ourselves on the shared account.

I wish that there were an easy way to manage multiple accounts on your devices, so that each person could have a shared, yet separate, account to maintain their own libraries. This is hard to do, I know, and it would require some form of DRM, which is unacceptable for well documented reasons, but we need to find some analog for the first sale doctrine and easy lending.

Even iTunes, with it's lack of DRM, bothers me. I could buy DRM-less music and load it onto both mine and my girlfriends MP3 players, but iTunes still adds a watermark of some kind to the file. That means that if something were to happen to the file, and it got shared, it's traceable back to me. That's fine, but I have no way to ensure that - if we were to break up - the traceable-to- me file gets destroyed from her device. It's a severely paranoid worst case scenario, and the odds against a negative result from a loose file like that are astronomical, but they're not zero, and that bothers me.

I'm a reasonably techie guy. I'm a programmer, I hang out on Hacker News, I keep up (more or less) with the latest trends, but the implementation details of digital media are so counter-intuitive to me that I still buy DVDs and dead tree books.

<comment><USER16> > Is this actually allowed though, or would the MPAA say you're breaking > copyright despite the fact that this other person spent his or her money on > it.

Yes, it looks like it is actually allowed.

      http://en.wikipedia.org/wiki/Cartoon_Network,_LP_v._CSC_Holdings,_Inc.

<comment><USER38> I don't see anything about "pair buying" in that article. I'm almost certain that if you and your friend split the cost of a DVD and then make a copy so that you can each have it, both the MPAA and the law see that as simple copyright infringement.

</comment></comment></comment></comment><comment><USER4> So, no ATT? or does one of those mentioned in the article is the consumer name for at&t and i'm clueless even though they get my money every month?

<comment><AUTHOR> AT&T is participating.

> During a panel discussion held for U.S. publishers today, RIAA chairman Cary > Sherman said his association and a number of ISPs—including AT&T, > Cablevision, Comcast, Time Warner Cable, and Verizon—will begin policing > traffic to crack down on piracy starting this summer.

[http://arstechnica.com/tech-policy/news/2012/03/riaa-and- isp...](http://arstechnica.com/tech-policy/news/2012/03/riaa-and-isps-to- police-your-traffic-starting-july-12.ars)

</comment></comment><comment><USER53> Interesting. I'm just waiting for the ISP's to get sued for breach of contract for throttling customers internet. If a neighbor (for example) logs onto router and starts downloading, I can imagine there'll be lots of false positives. And lawyers _love_ false positives.

</comment><comment><USER54> sounds like a bullshit article, thought up to scare people. go fuck yourself PR firms, i'll believe it when i see it

<comment><USER46> So, you'll believe it when it's too late. Nice attitude, bro.

Also, PR firms? This is cnet. And it's not it talking about something obscure, the program is common knowledge. How about doing your research?</comment></comment>


Show HN: Another HTML5 Pomodoro Timer - <AUTHOR> http://timer.red/

<comment><USER2> Hi, good and simple design. Liked it. But when I open the webpage, it is stopped at 25:00. But if I click to another link like "Short Break", it suddenly starts. And when I click Reset, it resets but starts again. I couldn't find how to stop it at 5:00 :)

</comment><comment><USER3> Pretty cool. You might add a counter to keep track of how many breaks you have taken, since you usually take a longer break after every four short ones.</comment>


Announcing Discovr Apps – discover new iOS apps - <AUTHOR> http://discovr.info/2011/06/announcing-discovr-apps-discover-new-ios-apps/

<comment><USER2> Not sure I want to pay for an app that helps me find more apps.

<comment><USER3> Browsing through the app store now is a lousy experience. If this is done well it will easily be worth my 99 cents.</comment></comment>