The Teachers' Unions' Last Stand - <AUTHOR> http://www.nytimes.com/2010/05/23/magazine/23Race-t.html?ref=magazine&pagewanted=all

<comment> alan-crowe I was a studious child and took the examinations that I sat very seriously. As an adult I follow the debate on education reform and I am frequently informed that there is something wrong with those examinations. If teachers took them seriously and modified their teaching with the aim of improving their pupils scores, this would be "teaching to the test" and educational outcomes would suffer.

As a child I took them seriously and modified my learning with the aim of improving my scores. Was I harming my education by taking the examinations seriously? Why do concerns about the quality of the examinations come out now, when teachers' pay is on the line? Why not earlier when children's qualifications were at issue?

The teacher's union party line, that "merit pay leads to teaching to the test and that would be bad" is a slap in the face to studious children who took their examinations seriously. It destroys the credibility of the profession.

Is it possible to construct good tests? <http://www.maths.qmul.ac.uk/~fv/books/em/EssentialMaths.pdf> is an interesting example of a test aimed at ensuring minimum standards at the start of a university mathematics course.

The usual technique for gaming an examination is to memorise answers to a core set of questions that keep coming up. For example one games a calculus examination by memorising cos 2x => -2 sin 2x and the examiners play along by providing enough easy questions that you can reach the pass mark with doing the hard questions that make the examination look tough.

In the article the examiner, Franco Vivaldi, is refusing to play the game. Instead of designing the test so that it can be broken and students can be passed even though they haven't learned the essential technique, Vivaldi takes the opposite tack and tries to design a test with enough variety that students have to learn the relevant mathematics.

Would teaching to this test do any harm? Drilling the techniques to get faster and more accurate in pursuit of a higher score would be harmful. Vivaldi needs his students to be competent because these techniques occur as basic techniques in the more advanced material that he aims to teach. He needs his students to be fluent enough that difficulties with the basics do not distract them in the course of advanced work, but beyond that their time is better spent on the advanced work, not on acquiring greater fluency with the basics. Knowing this he sets the test as pass/fail.

The success of merit pay will depend on improving the tests. It will be an interesting battle to watch.

</comment><comment><USER2> Parents need to take the leadership role in educating their children. Here's a more radical idea. Get rid of the school system and the teacher's union. Give the $19,358 back to the student's family. These families can pool the money to hire their own education facilitator. You get a market driven education system. The best "teachers" will always be in demand and the families can have more choices in their children's learning.

<comment><USER3> I fail to see how this will work the way you are presuming. Considering the median family income in the US is ~$50,000, roughly 3/5 of which is attributed to the father, what will the point be in a mother working 9-5 to make $20,000 and ship their child to school for $20,000 the government gives them. Rather than simply stay at home and pocket that $20,000.

Either way the family will be making $50,000, only one way their expenses are $20,000 more and the other involves the mother being at home 40 hours more a week, accomplishing more household tasks and essentially returning us to the 1940's.

It wouldn't necessarily be the wife however, as in my household I'm the one earning the 2/5ths and would have little problem being a stay at home daddy/teacher. In fact, being an uber-nerd I have a strong feeling I'll be teaching more math and science skills to my offspring than any educational facility anyway, and having worked as a writer I know I'm going to be teaching _far_ better English skills at an early age than any primary school education will give my kids at a 30:1 child:teacher ratio. So being paid $20,000 to stay at home and do what I'd be doing in my free time anyway, seems like a win-win.

<comment><USER2> I am assuming that it's the public school system we're talking about here. The $20,000 is from our taxes. You can very well choose to stay at home and educate your children yourself and pocket the $20k, if that works for you. In my opinion, we seldom learn everything from 1 or 2 sources. You can provide your offspring with math & science but what if your offspring is also interested in music, language, literature, drama etc.? Or any other subject that is not offered in the school system?

I am just advocating for the child. As parents we're in the best position(mostly) to judge what our children's needs are.

</comment></comment></comment><comment><USER4> Bottom line from the article, it's costing an estimated $19,358 per student per year to educate, or maybe we should say fail to educate, in the NYC public school system.

By comparison, average private school tuition is $6600 and Catholic school tuition is $4254.

Spending is probably not the problem.

<comment><USER5> I agree with the point you are making, but those numbers are not directly comparable. Catholic schools in NYC are heavily underwritten by their local parishes and secondarily by the archdiocese, and they also have non-trivial funding from a variety of government programs for providing social services.

<comment><USER6> Beyond that, there are fewer and fewer parish Catholic schools in NYC. (The parish schools have much lower rates. There are also independent Catholic schools (ones run by boards rather than the archdiocese directly) that charge tuitions in the 25,000-35,000 range. Those aren't closing down so quickly.)

</comment></comment></comment><comment><USER5> This is one of my hobbyhorses. I'm cautiously optimistic that this effort will not end up like the last seven times bold new centrist Democrats tried to take on the teacher's unions.

<comment><USER7> Why?

<comment><USER8> The economy is really pressuring the unions. As it becomes clear that public pensions are right up there with the unfunded Social Security and Medicare mandates in terms of "things that will destroy our economy in the next couple of decades", the unions that have obtained their public pensions are having to spend more and more of their political capital just on maintaining their economy-destroying gains. The teacher's unions are one such union. (Not the biggest, but definitely a player.) Teacher's unions have a lot less political capital left over to defend themselves against reforms that may weaken (or eliminate) tenure or create the sort of individual accountability they've been fighting for a while.

I think their ability to resist this is tied to whether the economy gets substantially better in the next two years; if so the pension problem may fall out of focus (even though it will actually only be getting worse, but such are the vicissitudes of democracy), if it doesn't, I suspect the teacher's unions will end up spending themselves politically bankrupt at which point who knows what will happen? There's a lot of "reformedness" that's built up over the years, everyone's going to want to take a crack at it.

There is a potential here that there hasn't been for a while.

FWIW, I mean most of the above as descriptively as possible, without endorsement of the desirability or lack thereof of anything mentioned. Personally I would like to see substantial "reform", but only certain ones, not others. (For instance, I would oppose increasing hours spent in school; I think they are already far more than are necessary to meet current goals and to the extent goals are not being met it is not for lack of hours. So simply slapping an initiative to increase school hours with the label "reform" does not make me approve of it.) I perceive no guarantee that even if reform happens, I will like it.

<comment><USER9> This is a pretty biased account.

"Things that will destroy our economy" is primarily the financial services sector taking up 30 or something percent of the entire profit of the economy for several years, and decreasing tax rates for the last 30 years until by now they're lower than they've been since the 40s, to the point that the federal government pays for things by taking loans instead, including sucking money out of the social security fund and using it as a general revenue source. Schools are less well funded now than they have been for decades, especially where I am in California where the public school system has been on a consistent tragic slide since Reagan was governor, from once being among the best in the nation.

Blaming _teachers_ (or blaming "scary teacher unions") for that is a tremendous distortion; teaching is only a reasonable profession because of a long history of hard fighting for decent wages. Most of the teachers work their asses off, for all of our children, and heaping scorn on them is one of the most reprehensible of the talking points of the right in America over the last 30 years.

(disclaimer: my mother is a teacher)

<comment><USER8> ""Things that will destroy our economy" is primarily the financial services sector taking up 30 or something percent of the entire profit of the economy, ..."

That's the past tense, what tanked our economy in the past few months. Looking forward, what will kill us is unfunded mandates. You know how I know this? Because even if we completely fixed the financials industry, completely and utterly tamed it and turned it entirely into a non-profit organization while still somehow retaining its efficiency, we _still_ choke on our unfunded mandates in 10 to 20 years, tops. They're growing faster than inflation, faster than the economy, and faster than any conceivable first-world economy could possibly grow even if $YOUR_FAVORITE_ECONOMIC_THEORY was perfectly instituted and it worked exactly as you expected.

 _All_ of the unfunded mandates are gloriously sweet and wonderful things. Money for teachers. Money for old people. Money for retired firefighters and police. Money for public servants. Money for sick people and especially money for sick old people. Our political inability to say no to the sweet and kind and needy people is what brought them to us in the first place. But it doesn't matter how gloriously wonderful they are. They are unaffordable. We physically lack the resources to fulfill the mandates. When I say "physically", I mean, physically. We lack the energy and materials and manpower they are. When I say "physically", I mean that one way or another we _will not_ pay those unfunded mandates, because we are actually, factually incapable of it. The only question is _how_ we will fail to meet those mandates.

Yeah, the teachers have had a role in that. Not much I can do to prevent that from being the outcome. I can point out there are hardly alone, though. There's a lot of people lined up at the trough of unsustainable mandates. Thanks to Social Security and Medicare, that list is "Pretty much every citizen of the United States and a fair number of non-citizens". Outrage changes nothing. Here we are.

("Defined benefit payouts" ought to be striken from our vocabulary. They are physically implausible. What happens when you build huge chunks of the economy on a physically-implausible primitive should hardly be a surprise.)

<comment><USER7> Unlike "sweet, wonderful, sick old people", money for teachers is potentially an investment, not a straight up social cost.

<comment><USER8> Hmmm, investing with money we don't actually have, has that been in the news at all lately?

Besides, I seriously question the marginal value we're getting out of the part of the investment that's killing us, which isn't salary, benefits, facilities, or management costs. We've been trained by various things that the answer to "Do schools need more money?" is simply "Yes", regardless of context, but that produces pathological economic policies. At some point the answer becomes "No", and personally I think we long passed that point.

See also: "Do we need more money for crime enforcement?" "Do we need more money to fight drugs?" "Do we need more centralized power to fight terrorism?"

I am totally willing to reconsider that question as circumstances change. Reform things, start outputting better graduates (according to my rather strict standards which involve actual training to think and such, not just better test scores), and demonstrate that under these new circumstances the bottleneck is money and I'll be happy and overjoyed to reconsider.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Making teachers' unions less powerful would be a good thing for sure. Standardized tests though, tend to be akin to measuring a programmer's ability through counting lines of code in my experience (my wife used to be a teacher).

<comment> rm-rf I used to be a teacher also, but in a college level trade school, in a state that consistently ranks near the top in high school scores, in a rural, white, midwestern middle class district that had sufficient funds to produce state champion football teams, where there were minimal poverty and social issues and minimal crime.

I _still_ had a steady stream of high school graduates showing up in my college program that could not read a paragraph, could not write a sentence, who could not add, subtract, multiply or divide fractions or decimals, yet they were proud gradates of the local school district.

What's broke? No idea, but I do know that if that district had done even the most trivial of standardized testing, those students would have been flagged for remedial work long before they started college. Instead the college, with about 40 full time faculty, dedicated 3 of those faculty to 4th through 8th grade remedial math and reading.

<comment><USER8> "No idea, but I do know that if that district had done even the most trivial of standardized testing, those students would have been flagged for remedial work long before they started college."

Unless you taught a _long_ time ago or are in a very strange state, odds are those children _were_ tested with standardized tests, probably multiple times. I live in Michigan, so I can guarantee that pretty much every child coming out of Detroit has been tested in a standardized manner by the state at least three times while in school (conservatively, I remember having more but I'm not sure what all they were), and they still come out with problems. You can't even get a real HS diploma without passing these tests. (At least when I graduated you would get a diploma from the school but it lacked some sort of state endorsement.)

I don't think total lack of standardized testing is the problem. The problem is they are either being cheated on or gamed, or nobody really knows how to solve the problems being identified.

<comment> rm-rf Having to pass tests prior to getting a diploma is a recent thing, at least to old dudes like me.

I stopped teaching twenty years ago. There were standardized tests in high school, but they were not used to determine progress or as graduation requirement. Social promotion was common - students were not held back under any circumstances, as it was assumed that the social stigma would be worse than the failure to actually learn anything.

We tested the students at the time they applied to college. Because were were publicly funded, open entry, we accepted all high school graduates regardless of how they scored. If they scored low, we moved them into remedial programs/courses.

</comment></comment></comment></comment><comment><USER11> To me this seems like a nice gesture but largely ineffective.

The fact is it takes effort to make changes that would earn this money and the school districts who are willing to make that effort are the ones that already care. So while it's great to reward teachers and school districts that excel those people were probably already doing good jobs (or at least competent ones). So giving them more money is nice but doesn't really solve the problem.

The problem is the lethargic ones. The ones who are so lazy and incompetent that they wouldn't even try for this money. The districts that are so pulled down by incompetent teachers who can't be fired that improvement is all but impossible for them. Fixing education means finding a way to deal with those people and this push doesn't seem to address them at all.

<comment><USER7> The grant money in this article is targeted at states, not at individual schools. Most of the states in the US applied. Applications involved legislative-level effort.

Moreover, the program was structured so that simply assembling an application kickstarted reform efforts.

My read is that the actual money being disbursed is kind of a red herring. The real benefit of the program is that it forces a bunch of states to start piloting teacher-tenure and seniority reforms, which, a few years from now, may serve as models for the rest of the states.

</comment></comment><comment><USER12> my favorite data point on the issue of education reform is that of Washington DC a year ago. The new district leader offered a renegotiation of the teacher's contract in which they would give up their tenure rights in exchange for raises of the average teachers salary so that the bottom would be 70000 and the top would be 120000. The union was flatly against this renegotiation plainly stating that they would rather have security to be mediocre than have the opportunity to earn up to 3 times what they were currently earning.

completely ridicules. to my mind a district that pays their top teachers 120000 solves the entire problem. Imagine the competition for teaching positions in a district in which you start at 70000 at after 7 year you can be making up to 120000. What young ambitious twenty something wouldn't want a job were you could make 120000 a year a have three months guaranteed vacation time in a field in which you can feel confident that you are making a difference and there is clear tangible progress from your work.

</comment><comment><USER13> Good teachers aren't motivated by money, so paying them more just attracts bad teachers. Good teachers want autonomy and to have an impact, and more testing is just going to drive them away. So both sides of this are advocating for things that will make the problem worse!

<comment><USER5> Substitute "programmer" for "teacher" and tell me if this sounds that compelling to you.

Compensation issues are never strictly rational.

What do you think it would do for morale at your favorite tech company if all salaries conformed _exactly_ to a published table, and advancement on that table was based solely on years of service and number of Microsoft certifications earned? Rockstar or plodding clockpuncher, makes no difference: you get paid what the scale says. The company gradually attracts folks for whom this makes sense, and the whole culture becomes worshiping that table. One of the most common topics of discussion is how many years you have to retirement (highlighted in bold at the top of the table), how much you'll make in retirement, and what you'll do after retirement.

Somebody in accounting felt up the receptionist three years ago and was placed on administrative leave, but he's still collecting paychecks exactly as the table mandates. He comes in at 9, checks into an office specially prepared for misfits, leaves at 2:57 and 30 seconds, and earns 240% of what you do due to his seniority.

A friend of mine -- a Democrat whose eyes burned with missionary zeal when he talked about the responsibility we have to educate the poor -- was very disappointed with me when I abandoned my career plans as an educator, and took up with Teach for America at one of the worst schools in NYC. They _broke_ him.

I don't say this lightly: there is a sickness of the soul in public education.

<comment><USER14> Wow, I'd love to hear about his experiences. Can you tell us more?

</comment></comment></comment><comment><USER15> The applications and review comments are pretty fascinating. You can see them at:

[http://www2.ed.gov/programs/racetothetop/phase1-applications...](http://www2.ed.gov/programs/racetothetop/phase1-applications/index.html)</comment>


Show HN: An Android Launcher to Help Tone Down Phone Use - <AUTHOR> https://play.google.com/store/apps/details?id=me.aswinmohan.nophone <comment><USER2> I've been thinking about this concept recently as well and I'm really happy to see it out there. I was inspired by the Light Phone II [1], but didn't want to buy a second phone, that seems to go against the ethos of minimalism a bit.

I currently use Essential Launcher [2] for those times when I need to focus (or save battery life).

At the moment the way I'm using 'No Phone' is to access sms/whatsapp through the Calls app, which has a contacts list. That leaves me with two slots, one I use for an email app and the other for a web browser. Camera can be accessed from my lock screen. Although I appreciate the simplicity of the task list, I would prefer to use my Google Keep notes for this, then it fulfils the role of task manager and a basic notepad.

[1]: [https://www.thelightphone.com/#lpii](https://www.thelightphone.com/#lpii)

[2]: [https://f-droid.org/en/packages/de.clemensbartz.android.laun...](https://f-droid.org/en/packages/de.clemensbartz.android.launcher/)

</comment><comment><USER3> I agree with some of the reviews that mention the need for calculator and camera. I would say that phone and SMS should be easily accessed as well.

Then, the 2 app limit would work. (I'd choose our app and our support app)</comment>


ASK HN: How do I determine if I should make my iPhone/Android App free vs. $1.99 - <AUTHOR>

Hey all,
So I'm in the process of scoping / hiring for an iPhone/Android app. The app in my opinion and based on the audience I see for similar apps is what I'd consider to be pretty Niche (under 250K users).
It's a media streaming app in a similar vein as Pandora / Last.fm with a bit of a twist. Now given this very vague description and a general idea of the maximum audience size I'm still not certain if I should go free and try to earn through in app advertising, or charge $1.99 (which seems to be the 'advised' price based on what I've read here on HN).
Any and all advice on how to go about determining what method to go with as well as any possible ideas on how to mix the two would be great. Thanks! <comment><USER2> Do you expect to make more money from advertisement or from entrance fees? In the former, make it free (more eyeballs, the better). In the latter, charge a few bucks.

</comment><comment><USER3> Do both, freemium. Cold sales are hard, especially for the market you're thinking. They're very price sensitive.

<comment><AUTHOR> I was strongly considering this but since I'm going to be outsourcing most of the development I was thinking about how difficult/feasible it would be to do more or less 4 versions of the app. (2 free but restricted/ad supported for each platform AND 2 full featured versions for each platform)....

</comment></comment><comment><USER4> For Android: Free app w/ ads. Paid version of the app has no ads.

For iPhone: Paid app.

<comment><AUTHOR> Thanks for the input. Any specific reason why you'd go free on android (with ads) but paid on iPhone?

<comment><USER4> It's a philosophy that's been repeated over and over again, both on HN and from those who have been successful in the mobile app markets.

Simply put, Android has an air about it that says "open" and "free". People have come to expect some of the best apps on Android to be free. Apple products, on the other hand, have always had a steep mark-up in terms of price compared to a competitor's product with identical hardware and/or features. Users of OSX, etc, have never had a problem in the past paying for features and programs that come for free elsewhere, and the trend continues with iOS.</comment></comment></comment>


Starfish Prime, outer space nuclear test - <AUTHOR> http://en.wikipedia.org/wiki/Starfish_Prime <comment><USER2> > These man-made radiation belts eventually crippled one-third of all > satellites in low earth orbit.

> Wilmot Hess reported in 1968 that some Starfish electrons remained for five > years

I guess that came unexpected.

<comment><USER3> "Seven satellites were destroyed as radiation knocked out their solar arrays or electronics, including the first commercial relay communication satellite ever, Telstar."

Such an explosion today would probably cripple global communications for a month. The device used in this test had a 1.4 Megaton yield, and present speculation paints Israel as the sole, non-NNPT signatory that may possess megaton devices, which is not to imply Israel has any obvious motivation for doing something like this in the near future.

However, as the number non-NNPT signatories grow in number and in yield stockpiled, so does the risk of someone (again) triggering such an explosion intentionally.

</comment></comment><comment><USER4> This is the scariest article I've ever read.

<comment><USER5> If you think that is bad then have a read of:

<http://en.wikipedia.org/wiki/Upshot-Knothole_Harry>

Not to mention some of the alarming Soviet tests, such as:

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

<comment><USER6> Not as scary as if the Tsar Bomb was detonated in space above North America. It would wipe out the entire power grid of the continent.

<comment><USER7> At 27 tons, it would require a Delta IV-class vehicle to haul it there. That would be quite an impressive ICBM

Now that I said that, we need to place a couple of there in LEO for the time non-EMP-hardened machines take over the world ;-)

<comment><USER8>
      > Now that I said that, we need to place a couple of
      > there in LEO for the time non-EMP-hardened machines
      > take over the world ;-)

Just need to make sure that SkyNet doesn't know about/have control over them...

<comment><USER9> When I was in the Air Force, our equipment was archaic by the standards of contemporary consumer electronics, lots of electro-mechanical stuff. But with its shielding, it was nearly bulletproof. No worries about EMP, or "Wargames" silliness.

</comment></comment></comment></comment></comment></comment><comment><USER10> Maybe I am a total inconsiderate jerk, but I think this is cool. Using nuclear power as weapons is bad, but the technology is just... cool.

<comment><USER11> Sometimes I wish wee born earlier just to be able to safely witness one of those experiments.

</comment></comment><comment><USER12> From my readings many years ago we were pretty sure the Soviets had discovered the EMP effect that Starfish Prime revealed to us. Imagine the possible consequences if we'd remained innocent of the phenomena.

I also wonder how much of what we "know" is based on simulations based off the inadequate data we captured in this one test.

</comment><comment><USER13> > Seven satellites were destroyed as radiation knocked out their solar arrays > or electronics.

Jerks.

<comment><USER14> funny, but I bet given the time period the sats were mostly US or Soviet and the folks running the op may not have minded losing some US sats if it meant learning what would happen to the Ruskie sats -- by total accident, of course!

</comment></comment><comment><USER15> this is going to be on all things considered today.

</comment><comment><USER16> And the reason is ...

</comment><comment><USER14> When I was younger and learned about all the bat shit crazy stuff like this the US military was doing with nuclear weapons, I assumed that it would cause long term insidious effects on human health, even if it happened only in indirect ways via the ecosystem and atmosphere. Today, I'm not convinced either way. But when there are reports saying cancer incidence has increased over the last half of this century, and you add to that picture all the crazy nuclear testing that went on plus all the new chemicals put into agricultural soil, food, water, etc. and the rise of plastic containers, all without _any_ valid long term health testing done beforehand, you can't help but think there's going to be a connection.

"Hey lets's have a naked roof party and _watch the nuclear bomb explode in the sky_ because it'll be groovy, baby!!!"

<comment><USER12> Please, you'd expect cancer incidence to go up if for no other reason than that we're dieing less from other causes.

<comment><USER17> Because detonating nuclear weapons on the earth, in the earth, in the oceans, in the air, and in space near the earth, could not possibly cause cancer.

<comment><USER18> How?

Remember, the radiation changes from this stuff is lost in the background noise you get from materials released when burning coal, or from the minute amounts of radioactive material in bananas, or the radioactive materials in smoke alarms.

</comment></comment></comment></comment><comment><USER14> This sort of seemingly naive Disney-like way of dealing with and communicating about nuclear weapons -- esp in material produced for the public by the US defense/energy depts from the 50's to the 70's -- is what directly inspired the style and sense of humor shown in the Wasteland/Fallout games.

</comment><comment><USER19> _Others reported that radioactive particles from Starfish Prime descended to earth seasonally and accumulated in terrestrial organisms such as fungi and lichens.[citation needed]_

Major citation needed there.

<comment><USER14> it's what caused The Day of the Triffids, duh! :)</comment></comment>


Notty – a new kind of terminal written in Rust - <AUTHOR> https://github.com/withoutboats/notty <comment><USER2> Nice idea! Might I suggest using HTML for the escape codes? The terminal would be basically unlimited if there was a built-in HTML renderer. Maybe you would need some high level "EnterHtml" and "ExitHtml" functions to simplify your scripting. But if it was HTML5 compatible, then you could generate canvases and draw on them, change your font colors, etc.

<comment><USER3> Hey, author of notty here. :-) This suggestion has been made many times, but unfortunately I think its not very viable. HTML/CSS simply weren't designed for the attributes which I think are fundamental to what makes a terminal a terminal: a character grid with a cursor, controlled over a streaming protocol.

There is one narrow sense in which its viable - you could have a terminal with a browser engine and javascript VM embedded inside it, and a command to open up a browser window and perform HTTP exchanges (either over the tty or through a TCP connection). This isn't really a new terminal, though, this is just a new way to open a web browser.

</comment></comment><comment><USER3> Hey, I am the author of notty. :-) I didn't see this post until I noticed the project's star count had jumped up again, but if anyone sees it now and has any questions please feel free to hit me up.

<comment><USER4>
        img  = Base64.strict_encode64(IO.binread('guernica.jpg'))
        mime = Base64.strict_encode64('image/jpeg')
        puts "\x1b_[14;80;16;4##{mime}##{img}\u{9c}"

[https://github.com/withoutboats/notty/blob/master/scaffoldin...](https://github.com/withoutboats/notty/blob/master/scaffolding/imagetest.rb)

base64 is a very cool idea!

I hope notty will succeed to define a new text protocol for terminals. We need that a lot!

</comment></comment><comment><USER5> This looks quite interesting. I wonder, though, if it might be a good idea to cut back the scope of the project (at least initially). Replacing the ANSI escape sequences with something sane is a hard enough problem, I think, even if you were just going for feature parity. Fixing the colour palette problems would be amazing.

<comment><USER3> Indeed!

The first step of this project was implementing an ANSI terminal, but with an eye toward abstracting ANSI commands into more fundamental building blocks, so that the analogous set of notty commands are already more powerful than ANSI commands (in the sense that actions that would require multiple ANSI commands can be performed in 1 notty command). This is done, excepting for bugs (there are many).

I narrowed down the immediate term goals for radical new features to three: images, a minimal internal line discipline, and dividing the screen into multiple grids. I chose these because the first is a clear differentiator and the other two are very fundamental. Simultaneously, we're working on getting a reasonable terminal off the ground for dogfooding. Once we have that, the next step is writing a curses-like library that takes advantage of notty's features, as well as a shim to run programs written against that library in non-notty terminals. Then we'll have a solid base for adding more features.

As of right now, it is already an ANSI terminal which accepts a cleaner escape sequence and supports 24-bit color, barring bugs.

</comment></comment><comment><USER6> Terminals are such a mess. All the options on linux are lacking in some way or have legacy problems......

I hope someone actually finishes one of these 'next gen' terminals that keep getting abandoned.

<comment><USER3> > I hope someone actually finishes one of these 'next gen' terminals that keep > getting abandoned.

I think one thing that hurts other next gen terminals (and indeed, there have been many!) is that they've tended to change the nature of the terminal in totally backward incompatible way. They end up being totally new platforms that are 'terminal inspired,' which means they also need totally new ecosystems. notty is a much less ambitious pivot. Its just an escape protocol that, in theory, any terminal could be extended to accept.

</comment></comment><comment><USER7> The big question is whether you can run vim and emacs under this terminal. Anyone know?

<comment><USER8> Since it aims to be backwards compatible, you should be able to.

</comment></comment><comment><USER9> > Dropdown menus, tooltips, and other features which do not strictly reside in > the character grid

If it does this then it is heading into GUI application territory. I wonder if an existing GUI application could be extended to add command-line features to end up at the same place. Or does such a thing already exist? This might even be a faster way to get to this goal.

<comment><USER3> An important distinction the README doesn't really express is that any features like this are tied to the position of the text cursor inside the character grid, not to the position of the mouse (though of course they may accept mouse commands similar to how xterm does). They are GUI-like, but they are the sort of GUI-like things that programs like vim and emacs already emulate all the time.

</comment></comment><comment><USER10> What is loseless keyboard input?

<comment><USER3> Current terminals do not transmit key releases or presses of modifier keys to the controlling process.</comment></comment>


The Groceries That No One Wants to Panic-Buy - <AUTHOR> https://slate.com/business/2020/03/coronavirus-groceries-supermarket.html <comment><USER2> There was a thread on Reddit earlier explaining why there's still so much Dasani water on the shelves: [https://www.reddit.com/r/OutOfTheLoop/comments/fji87t/what_i...](https://www.reddit.com/r/OutOfTheLoop/comments/fji87t/what_is_going_on_with_the_hatred_for_dasani_water/)

Spoiler: it's because Coca-Cola (which owns the Dasani brand) restocks the shelves themselves.

<comment><USER3> A little anecdote here. I remember when I was suffering from malnutrition issues (due to certain health problems) back in the day, I used to prefer Dasani to any other water as nothing felt as satisfying. Other water felt like tasteless distilled substance. At the time, someone told me Dasani's somewhat harsh taste/texture is due to trace amount of minerals added to it. If true, it does make some sense (at least to me) why some prefer it and others find it repulsive (plenty of anecdotes).

</comment></comment><comment><USER4> That last photo is from hurricane Harvey, it seems slate didn't even bother doing the basic fact checking of reading the top tweet responses (where I found this: [https://avocadbro.com/fact-check/vegan-food-photo- misleading...](https://avocadbro.com/fact-check/vegan-food-photo-misleading/) )

<comment><USER5> i'm sure that argument is very reliable, from a pro-vegan blog.

easy counterpoints: assuming it is shelf-stable, it would seem like an excellent option to buy it if you had no power? and if they are shelf-stable, why not store them - you know - on a shelf, and not in the perishable rack? seems cheaper, i don't quite follow. you don't store spam in a refrigerator. also, if the power did go off, and caused the refrigeration to fail, and supply chains were down, how did some ostensibly perishable items remain in the rack? (i guess it's possible staff checked them, or something else.)

but fair enough, neither of us are journalists. and they definitely should be doing some kind of fact checking.

<comment><USER4> I wasn't linking that blog because of anything it has to say about veganism and that picture, but rather because it's proof the picture is from hurricane Harvey.

</comment></comment></comment><comment><USER6> From a sample size of two (my local supermarket, and a friend's local supermarket) people in Denmark have followed the government's appeal and stopped panic buying. I'm very impressed.

The only sold-out item in both shops is alcohol gel.

Toilet paper was _on offer_ at the larger supermarket yesterday.

(I was also pleased to learn the Danish word for hoard: "hamstrer".)

<comment><USER7> Same here in Norway. Grocery stores are feeling pretty normal these days (didn't check for alcohol gel but toilet paper is bountiful).

<comment><USER8> Who wants to drink 4% hansa anyways.

</comment></comment></comment><comment><USER9> To me stocking up means less trips out. What's the point of quarantine if you're still doing a weekly shopping trip?

<comment> blaser-waffle Reducing how often you're around people you're in close, on-going contact with (e.g. office mates). You can't reasonably expect people to just stay put and never leave unless you start bringing them supplies.

</comment></comment><comment><USER10> This panic buying is so ridiculous. If there's one thing the U.S. still does better than any country in the world, it's produce mass quantities of food. There'd need to be an apocalypse before we had trouble stocking grocery shelves over any sustained period of time. Plus, the buying patterns are totally illogical. All I see are people snapping up perishables; nobody's baskets are full of canned foods. How are people going to eat more perishables than they normally do? Are they all using this opportunity to improve their diet?

 _sigh_

I told my wife three weeks ago that if she was worried she should start stocking up at the grocery store. But, alas, she didn't start caring until everybody else did, and then fought it out with people at Costco.

 _double_ _sigh_

<comment><USER11> It's the opposite in the UK, with the exception of oranges fresh produce is fine and things like pasta, rice, baked beans and frozen fish fingers are long gone

<comment><USER10> Interesting.

I should qualify: I'm in San Francisco and have been to two different grocery and several convenience stories over the past few days.

I was in one convenience store today and I noticed the owner had stocked some shelves normally filled with cookies and snacks with different kinds of canned beans. My first thought was, "smart". My second thought was, " _sigh_ but they're the only completely full shelves in the store".

</comment></comment></comment><comment><USER3> My local grocery store was unusually busy yesterday. People were stacking up their baskets and running around worried. Amazingly, the only shelves that were cleaned out were those that carried sliced bread, toilet paper and something else I didn't stop to check. Amazing because I don't like slice bread and prefer bidet to toilet paper. There was plenty of what I actually wanted. A lady who was checking out right behind me had only two cases of soda. I was thoroughly impressed with her bravery :)

In times like this being a weirdo who likes shit nobody wants actually pays because you can afford to come to the store the next day when everything (but the "repulsive shit") is swept off the shelves. You get to pick up what you need in peace. Of cousrse, then, you're called a bottom feeder who likes leftovers, but that's a hole another story.

</comment><comment><USER12> The vegan food being left at the end is an old photo from a previous disaster.

<comment><USER13> It's also not like "vegan food" is some magic compound beyond the capabilities of us mere mortals... You don't need to buy overpriced ready-to-eat/processed dishes to keep eating vegan. Everything can be made with the same basic ingredients than any other food: canned beans, pasta, tomato sauce, vegetables, soy sauce, spices... All stuff that everyone buys, including vegetarians/vegans.

</comment></comment><comment><USER14> Please upvote [https://news.ycombinator.com/item?id=22654623](https://news.ycombinator.com/item?id=22654623) to give IT a useful task in this crisis (yes, this a blog of mine)

</comment><comment><USER15> Canned salmon and pickles seem to be unpopular too. Sure, pickles aren't a necessity, but if people are buying up canned tuna, sardines, mackerel, clams, and mussels, what gives with canned salmon? More for me, I guess.

</comment><comment><USER16> At my local grocery store, every frozen vegetable package is sold out except for a tall, untouched stack of mashed cauliflower packages. My wife and I laughed so hard about the poor person who is in charge of getting those sold

</comment><comment><USER17> First thought: "more chickpea pasta for me! Yum."

<comment><USER18> I don't remember when I've bought it by choice, but I certainly would be fine with it if it was the last thing left and I wanted spaghetti. On the other hand, I tend to avoid linguini of any kind.

</comment></comment><comment><USER19> Yesterday I bought the next to last loaf of any type of sliced bread at my local Lidl with the exception of the low carb bread which was fully stocked.</comment>


CoreOS's rkt and Docker's containerd jointly donated to CNCF - <AUTHOR> https://coreos.com/blog/rkt-container-runtime-to-the-cncf.html <comment><USER2> This is great news. It's great that the bigger players in container runtimes are working together more, it makes me hopeful for the future. This is great for users and developers.

</comment><comment><USER3> so there is no money in either technology, is that what it means?

<comment><USER4> There definitely was never any money in basic container runtimes, but this move is more like Docker playing nice after Red Hat & Google threatened to burn it down. And I guess rkt got thrown in for FOMO.

<comment><USER5> >"this move is more like Docker playing nice after Red Hat & Google threatened to burn it down."

Can you elaborate on this particular incident?

<comment><USER4> [https://thenewstack.io/docker-fork-talk-split-now- table/](https://thenewstack.io/docker-fork-talk-split-now-table/)

<comment><USER5> Oh right I forgot about this, thanks.

<comment><USER6> Containerd was introduced in January 2016.

<comment><USER5> Sure containerd was 1.10 right? How does that relate to the OPs link above?

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> What is up with the use of the term "donated" when in comes to transfering control of open source code to a standards body? There is no legal transfer taking place, and politically, there if there is a power transfer, the power transfer happens in the form of the "doner" gaining more power over the "receiver". In the real world of serious standard bodies, the standard body does not "receive a donation of a standard" but works on choosing and developing the best standard possible based on technical merits.

<comment><USER8> There absolutely is a legal transfer. the donation assigns copyright, and normally includes the intellectual property rights of the trademark and logo.

In theory, the recipient could choose to relicense.

<comment><USER9> In these particular cases I would expect there would be no assignment of copyright (however I would assume you're right about trademarks).

Despite the fact that there most likely is some transfer of intellectual property contemplated here, I do think the term "donation" is a little odd when describing stewardship transfer of open source projects to nonprofits -- though it's fairly well established (I associate it mainly with the Apache Software Foundation).

To me "donation", based on its ordinary usage in English, suggests "here's something I don't need anymore; you can have it, I won't have any further involvement in it." That does fit certain situations (an example that comes to mind is Oracle's transfer of OpenOffice to the ASF).

<comment><USER10> Hi, Richard. You're correct that CNCF requires projects to provide the trademark, but we don't need copyright, because the ASLv2 license the code is already under is sufficient. "Contribute" might be better word than "donate".

But it all a very open-source-oriented, metaphysical concept, in that by giving up some control over a project, the company that originated it is hopefully going to bring in many more contributors and ultimately increase both the total value of the project and the value to them. A core CNCF value proposition to projects [0] is that: "A neutral home for your project increases the willingness of developers from other companies and independent developers to collaborate, contribute, and become committers."

Solomon made a useful analogy [1] that "rough comparison: Docker EE=RHEL, CE=Fedora, containerd=Linux".

[0] [https://www.cncf.io/projects/](https://www.cncf.io/projects/) [1] [https://twitter.com/solomonstre/status/837313258252091393](https://twitter.com/solomonstre/status/837313258252091393)

Disclosure: I'm the executive director of CNCF and have been working with Docker on their contribution of containerd and with CoreOS on their contribution of rkt.</comment></comment></comment></comment>


Like Twitter, Chatterous offers instant chat - <AUTHOR> http://blog.seattlepi.nwsource.com/venture/archives/133956.asp

<comment><USER2> I think sites like this would work better if everyone chose one and stuck with it.

<comment><USER3> There's a key difference between Chatterous and Twitter/Pownce/etc.: Chatterous works even if your friends aren't part of the service.

<comment><USER2> can twitter be added as a method of chatting on chatterous then? I haven't used it at all yet, so i'm not entirely sure if that even makes sense though.

<comment><AUTHOR> Yes it can, potentially.</comment></comment></comment></comment>


The Coolest College Start-ups - <AUTHOR> http://www.inc.com/college/

<comment><USER2> Do they say where they found these from? Because these don't seem very impressive

<comment><AUTHOR> "As these profiles (written by campus journalists) reveal" is all I got from the reading. Like you said, there are probably better stories out there.</comment></comment>


Pix2code: Generating Code from a GUI Screenshot - <AUTHOR> https://github.com/tonybeltramelli/pix2code <comment> Black-Plaid Oh, man, _if only_ the designs I got were this simplistic and only used standard controls with the standard look and feel.

This is a very interesting start, but it's a long long way from being able to even represent in a simple layout what I am asked to do on a regular basis as an iOS dev.

Maybe combine this with a PaintCode back-end and add markup for layout behaviors?

<comment><USER2> "Design hubris" is such a common problem for mobile/front end developers and the source of so much wasted time I'm surprised it's not talked about more commonly. Shit's expensive, man!

I am thankful that these days I get to work with talented designers who know what a UITableView is and understand the limitations of the medium.

<comment><USER3> It's also funny when the design has some short placeholder text somewhere. Then the actual real text ends up being longer and won't fit there, or will look like crap.

<comment><USER4> [http://berzniz.com/post/14669116083/dont-be-a-liar- and-4-oth...](http://berzniz.com/post/14669116083/dont-be-a-liar-and-4-other- tips-for-ios-graphic)

</comment></comment></comment></comment><comment><USER5> I wrote a system with this concept back in the early 00s, to let designers drag/drop a design on-screen and then read the positioning of the dropped elements to compute the HTML that would produce their design... it was a dismal failure. What I found was that designers who wanted to work with the web didn't want an easy-to-use tool. They either wanted to dig in and learn HTML themselves, or just keep using Photoshop. And end users building personal sites didn't want to innovate on their designs, they wanted to use pre-made templates and just fill in their own text, change colors and images, etc.

Maybe the pervasiveness of computing has increased to where there now would be a market for such things... it has been 15 years since I failed to find an audience after all. And I wouldn't hold back on developing the technology, but I'd put a decent amount of effort into a product fit before getting too excited.

</comment><comment><USER6> As an engineer, I'd be interested in the quality of the code generated by this tool. I have too many nightmares from the early days of web dev where generated code was a mess because FrontPage.

<comment><USER7> It can be done, but it's rare. I actually really enjoyed working with Expression Blend (Microsoft's front end xaml wysiwyg design program). The code that it outputted was usable, which after seeing the things that dreamweaver made was a breath of fresh air.

<comment><USER6> Agreed. Dreamweaver and FrontPage committed acts of mass monstrosity with the code generated.

</comment></comment></comment><comment><USER8> I submitted this to some subreddits and a couple of people made some quite similar questions that I'd like to see a video for in case OP here is the author or in case the author sees this.

>What would happen if I put something other than a clear mockup as input? Replications?

>What happens if you try to scan console output [1] or this mess [2]?

1: [http://i.imgur.com/LJqJUnF.png](http://i.imgur.com/LJqJUnF.png)

2: [http://i.imgur.com/OMbZsgd.png](http://i.imgur.com/OMbZsgd.png)

</comment><comment><USER9> Side rant: the page has a bibtex entry for arxiv. Look, it's all well and good to publish early and often, but I find I still have some reservations.. I mean, if I use this as a basis for some future work, obviously I will cite it, but I don't particularly feel good about citing an arxiv publication. It completely side-steps the peer review process, and I feel that in the long run, that is bad.

You might say, well working code is working code, and sure I've cited _software_ in the past, and having an article to go with it is even better, but it's getting to the point that people are using arxiv not as a preprint service but as a publishing platform. I find this frustrating for two reasons: 1) like I said, it skips peer review and even allows people to cite rejected papers (for better or for worse), and 2) it makes the race to publish that much more severe -- now if I wait until a conference or journal publishes my work, I'm 6 months behind the guy who just uploads it to arxiv and is already getting dozens of citations in current work.

So, perhaps this is not the place for this debate, but putting aside the fact that preprint does seem like a useful way to "pre-publish", do you think it's appropriate to _cite_ preprint papers and work? What are the implications for computer science as a research field down the road, since "free for all" seems to be taking over as a publication medium?

I know this will come off as being old fashioned, but I'm really worried about where research publication is going in this field. It feels like a knee-jerk reaction to first-to-publish pressure, rather than something that is a well thought-out solution.

<comment><USER10> In reality, the competition isn't between "posting to arXiv" and "getting peer-reviewed". The competition is between "posting to arXiv" and "posting to your blog". If you succed in manufacturing a stigma against arXiv papers, then you're just going to encourage people to make blog posts instead, which can and do go down at any time.

<comment><USER9> > If you succed in manufacturing a stigma against arXiv papers

That's not exactly my intention, and your statement goes in line with what I said..

> sure I've cited software in the past, and having an article to go with it is > even better

where "software" could also include blog posts. It's just that, yeah, when it comes to it if I have to choose between citing something some guy wrote on a blog or citing Arxiv, I'll choose the latter every time.

But my question was not about whether arxiv is an appropriate medium for publishing ideas, I'm certainly not arguing that it should go away, but rather whether it's an appropriate thing to be citing in a scientific context. i.e. in derived work.. should it be "okay" for people to publish to arxiv and just.. leave it there and not put it in a conference or journal? Should such work be validated by citation?

It's a legitimate question that I don't know the answer to. If you get an idea from there, you can't just.. not cite it.. and yet, I feel like arxiv should be used only as long as the work will eventually get a proper publication. Which more and more it seems is not a given.

I'm really just responding to the statement on the posted link, which is just a header, "Citation", and an Arxiv-bibtex entry. No "submitted to X..", "in press", etc., or anything.

Again, it's not that I'm totally against the idea, but I think there must be some happy medium between "peer reviewed work" and "well-written but unreviewed article". Typically this used to be conferences, but conferences are expensive, and with people uploading their pre-conference unaccepted publications and _those_ getting citations, I mean.. where will this end?

I was a bit shocked recently while writing an ML article to find that the "official" original reference, that you see cited everywhere, for the whole concept of "style transfer" appears to be an arxiv paper [1]. My reservation doesn't so much come from the fact that the authors put their work there, but more that this is what people are actively choosing to cite over their peer- reviewed conference publication [2]. When does "pre-print" become just "print"?

(Currently Google Scholar reports 216 citations for the former and 74 citations for the latter. Of course they were published a few months apart so it's not a great comparison but still, just an example..)

[1]: [https://arxiv.org/abs/1508.06576](https://arxiv.org/abs/1508.06576) [2]: [http://www.cv- foundation.org/openaccess/content_cvpr_2016/ht...](http://www.cv- foundation.org/openaccess/content_cvpr_2016/html/Gatys_Image_Style_Transfer_CVPR_2016_paper.html)

<comment><USER11> I think the reason for this might be because a lot of machine learning research and practice takes place outside of academia. Maybe there isn't the same pressure to publish in official sounding places.

And people outside of academia often don't have access to journal publications. Who wants to spend $30 per paper? That's just obscene. The arxiv link is accessible everywhere, will never go away (probably), and can be updated as the authors revise the paper. Why not cite it?

</comment></comment></comment></comment><comment><USER12> I wrote a similar system and plan to release the source for mine over the next few weeks. it produces working code that can be run on linux,mac,windows.

</comment><comment><USER13> Did we collectively give up on building UI building/organization tools that are easy enough for designers to use?

I understand that you can't control what tools designers use (whether sketch or photoshop or MS paint), but it seems like building a tool they don't hate using that builds UIs is the way simpler solution? There are already mockup apps that include even basic functionality that designers use...

<comment><USER14> Microsoft Expression Blend is very good.

</comment></comment><comment><USER15> It's best to make it so easy for a designer to make responsive (and even adaptive) layouts (for both native mobile and web) that this AI-based contraption that is guaranteed to produce wrong outcomes some of the time becomes unnecessary, at least for any practical purpose (unless the goal is the automated copying of web pages which is a lot bigger problem than guessing the markup, given how much complex dynamic behavior is built into pages these days)

I've taken an attempt at simplifying the task of building responsive and adaptive React Native apps with the following little library.

[https://github.com/idibidiart/react-native-responsive- grid](https://github.com/idibidiart/react-native-responsive-grid)

</comment><comment><USER16> Looking forward to when the code actually becomes available.. until then, it is a cool demo video :)

</comment><comment><USER17> Awesome before I got into web design and became a "full stack developer" I wanted this same thing... asked about it on a forum. I'll have to read the article/check it out to see if you literally do something like pixel mapping or "Open CV" throw that in there to be safe. "Bit mapping?"

edit: I didn't ask if this was for web or app, it looked like it was for applications... wouldn't know how to do layout on that but can do it with HTML/CSS, maybe with Electron you could do that for Desktop apps, not sure about Android/iOS though.

<comment><USER18> The demo video shows two examples and iOS UI and a web UI, it looks like it's using Bootstrap for the web UIs

<comment><USER17> Ahh thanks for the clarification, I probably should have watched it full screen.

I suppose once you know how layout works with XML (Android) it wouldn't be hard to translate... assuming you've got the layout down... interesting to see their decisions whether to decide if thing are grouped together or work separately/positioned independently like a menu icon. Unless it's absolutely positioned and not responsive/dynamic.

At any case thanks

</comment></comment></comment><comment><USER19> Neat concept, but it wouldn't work for creating modern GUIs, where half the controls are invisible until moused over (desktop), or hidden behind hamburger menus and swipe gestures (mobile).

<comment><USER20> Not only that, all those magical solutions are doing is solving the easy part of development, which is laying down the widget-based layout. The actual hard parts (different behavior based on context such as viewport size/orientation, actual UI business logic) are an afterthought.

Impressive work, yet misguided in many ways in my opinion.

</comment></comment><comment><USER21> Interesting, wonder how it handles much more complex setups. I find a big part of taking a design from Photoshop and getting it running on iOS/Android is often more about thinking about what the constraints are, i.e. does an element sit at an absolute distance from a screen edge, does it sit a specific distance from another element, does it expand to fit an area, you obviously have to do this to ensure it works at different screen resolutions. These would certainly be hard decisions for AI to get right on a relatively complex screen, but then again, maybe with enough training it could actually do really well and solve these problems in a completely different way to how a human would. There is also stuff like considering whether any of the information is dynamic (text being received from a server) in which case elements needs to be able to adapt to different sizes etc. again hard for AI to have any clue from this from a photoshop image only.

</comment><comment><USER22> I think this is just creating the layout files, all the work of wiring it up still has to be done by the programmer. This is really cool and probably a glimpse of the future, but honestly it would probably be easier to train the designer on how to use the drag and drop UI builders that already come with these platforms.

<comment><USER23> Why train someone to do grunt work when the machine can do it?

Translating picture designs into html files is not really that much fun.

Now the next step (probably more difficult) is you need a way to let the programmers "hook" into the generated output in order to further tweak it or customize it, but _without_ having to modify the generated files.

_That_ would make this technology really viable.

<comment><USER18> It looks like a very good first step. I wonder how structured/semantic the generated HTML would be for engeniers to "hook' the generated code with a backend

</comment></comment></comment><comment><AUTHOR> Video here: [https://www.youtube.com/watch?v=pqKeXkhFA3I](https://www.youtube.com/watch?v=pqKeXkhFA3I)

<comment><USER24> Very cool, I wonder if the web one ends up responsive given a bootstrap-y model.

</comment></comment><comment><USER25> A tool like this might produce a UI that looks right on the surface. But what about things like accessibility (e.g. for blind users with screen readers) that even many human developers don't get right?

</comment><comment><USER26> This is just image to layout. The code here is really some nested tree structure. Even though it is still very interesting result, says it is pix2code might be a little misleading.

</comment><comment><USER27> This reminds me of a tool AutoHotkey had that let you rip existing UIs. It would read the window and rebuild the UI with the exact layout.

SmartGUI I think.

</comment><comment><USER28> this would address a huge need in mobile UI if we could upload different screenshots for different screen sizes e.g. iPad and iPhone or different iPhone orientations and it would autogenerate an efficient set of dynamic autolayout constraints, content hugging etc to achieve both UIs.

</comment><comment><USER29> What about PSDs? PSD to html is a big market and a product like this could be a good fit.

<comment><USER30> PSDs are layered, and a correctly organized PSD file with some layer naming conventions should contain enough information to generate layout code without needing to use machine learning.

</comment></comment><comment><USER31> By generating the "code" are you merely inferring / representing UI layout as some kind of a tree. E.g. each button/panel/textbox gets detected, and an "RNN/LSTM" generate a tree structure using attention.

<comment><USER32> "merely" is not the word I would use.

<comment><USER26> If you somewhat familiar with DL literature, you will see this paper, while having a very interesting angle, the underlying architecture is a standard, enc-dec network, with encoder being CNN and decoding being LSTM. Such application, has been studied before:

[https://arxiv.org/pdf/1609.04938.pdf](https://arxiv.org/pdf/1609.04938.pdf)

The above paper shows nice result that turns image to latex expression, and image to html.

</comment></comment></comment><comment><USER33> How does this compared to WYSIWYG editors?

</comment><comment><USER23> I seriously hope that AI can soon take over the majority of work (usually mundane) involved in create CRUD applications. Leaving the programmer with simply customizing certain parts or writing very specific business or validation logic.

It might drive down the wages of _some_ programmers but it will at the same time free us to work on more interesting problems.

<comment><USER34> I'm hoping that it would just free us from work entirely ;-)

<comment><USER23> Maybe OT but "free from work" is kind of an oxymoron.

You can't be free if you don't produce. You will be a slave to people who do produce.

<comment><USER35> If you lack the imagination to consider such a future, learn from the best and read the Culture series of novels.

<comment><USER23> Imagination is easy. Doesn't mean it's viable (or desirable).

You cannot imagine your way out of human nature.

You'd need at minimum the entire population to be of sufficiently high IQ and high agreeableness (and low aggressiveness). This kind of population does not exist, and probably will not exist in the foreseeable future. If it did exist, it will probably be run over by another population of high aggressiveness. So unless the population of the entire planet is as such, this will continue to be mere imagination.

<comment><USER36> Mate, my grapes need attentions that I cannot give cause I'm working.

My home made spumante takes time that I have to take from other tasks, such as laying at the beach

My craft beers won't make themselves

I have tomatoes, potatoes, beans and fruit to grow

And of course programming as an hobby

I would have so much to do, if I didn't have to work…

<comment><USER23> AI will take care of your grapes and your craft beers will indeed make themselves, as will your tomatoes, potatoes, and beans.

Laying at the beach will get boring after two weeks probably.

<comment><USER37> I think there was a comment on HN yesterday relevant now: _oh the wonderous things we could do with Haskell if we neither had nor needed jobs_.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER38> The video says the datasets will be available on the Github repository, but I don't see anything...

<comment><USER39> Github repo contain that it will be available on this repository later this year.

`To foster future research, our datasets consisting of both GUI screenshots and associated source code for three different platforms (ios, android, web- based) will be made freely available on this repository later this year. Stay tuned!`

</comment></comment><comment><USER40> Mapping screenshots to code is not hard. By having the model simply memorize the screenshots to code mappings of the training data can give you almost 100% accuracy (for some demo). What is hard is if given a new screenshot, how would this model generalize. To have something work for mobiles is a much easier task than having something work for other more complex UI though. Looking forward to seeing more updates on this!

<comment><USER41> Yep, for example, more dynamic UI such as tables, list of components (for example kanban swim lanes), etc...</comment></comment>


BitUndo – Double Spending as a service - <AUTHOR> http://www.bitundo.com/ <comment><USER2> Previously, processors and merchants accepting bitcoin payments would wait until a large fraction of bitcoin nodes listed a 0-conf txn as "valid-but- unconfirmed," the so-called memory pool or mempool (because it is a collection of transactions in RAM). This works well, because we empirically know how nodes operate: they accept these valid-but-unconfirmed txns into the blockchain and reject (both discard and fail to relay) any competing txns ("doublespends"). Doublespend attacks worked by filling the global mempool with the doublespends before the original txn fills the mempool. Naïve software wouldn't check the global mempool. So really, there were two types of 0-confs: txns which were agreed upon by >90% of the global mempool and those which it was unknown (but sometimes assumed).

Now, BitUndo changes how people perceive mining nodes! No longer is the mempool immutable, but rather mutable for a price. This price, as it stands, is 10% per successful undo and 0% per failure. So if BitUndo (and federated pools) controls 1% of the network, then 99% of 0-confs will confirm, 1% will be undone, and 0.1% of the total transferred will be paid in fees to BitUndo. It throws more of a wrench into the system as the BitUndo federation varies from 0% to 100%. Empirically, it will be trivial to see what percentage of the network is engaged in BitUndos. If that percentage becomes materially large, then it will have a material effect on how the system treats 0-confs, for better or worse.

Interesting, this service is definitely available privately (or should be assumed to be). As U.S. Supreme Court Justice Louis Brandeis once said: Sunlight Is the Best Disinfectant

<comment><USER3> > processors and merchants accepting bitcoin payments

Citation needed. The existing behavior is very easy to rip off: You write two transactions, the one paying yourself, one paying the merchant. Simultaneously you hand a big miner the first while handing every other node you can reach the second. It's very likely that the first doesn't propagate at all, but you'll have a decent successrate at reversing.

Blockchain.info even had a handy tool before to author double spends but they've removed it.

In any case; there is some real subtly here. Both the case where miners are alturistic and don't help doublespends even if bribed and where miners always just take the highest bidder are consistent models which can enable safe zero conf transactions. But the transaction styles you use to get safe zeroconf are very different, and inconsistent behavior in the network is basically pessimal. There has been some debate in the past if the greedy behavior shouldn't already be the default: most people believe that it will eventually be in that state, and so there is a tradeoff between setting the right expectations for the long term but requiring more advanced handling of zero- conf vs having the best security for the simplest possible ways of using Bitcoin. I don't think there is a clear answer to the tradeoff, but because the inconsistency is bad I think if non-trivial hashpower picks this up the network will need to change the default behavior.

(Since I expect someone will ask: To get safe-zero-conf in the greedy miner world, you have the party pay you (optionally with an additional security fee if they are really untrusted), and if you see them a doublespend you spend the entire payment to fees (so you'll win the auction very likely). If they've provided any security at all their expectation is negative, if you make them provide enough security (E.g. security = tx value plus ε) then you can give them negative expectation without losing money yourself.)

<comment><USER4> Come on Gregory. You don't need to provide citations for reality. Just go and spend some Bitcoins into the economy, then tell me how many sellers required 6 confirmations. I don't remember the last time anyone required me to wait except for exchanges.

<comment><USER2> Thank you Gregory Maxwell and Mike Hearn for your comments! Your bitcoin thoughts (in general) are truly insightful! And, Mike, your forum "outreach" to help people understand bitcoin better is also to be commended. As a general PSA, I recommend to everybody interested in bitcoin to read the comments of mike_hearn in this thread; he (and the other core devs) spend a lot of time explaining non-intuitive aspects of bitcoin. PS. Mike, do you have a centralized source for your comments? Between G+, medium, bitcointalk, ad-hoc videos, etc. it's hard to keep track.

Gregory, my only data point for a 'merchant' accepting txns which have zero conf WITH widespread network propagation (say, >70%) is blockchain.info's now- defunct laundry service. 0conf w/o net. prop. was never accepted, 0conf w/ net. prop. was accepted for 'small' amounts, 1 conf for med amounts, 2 conf for large amounts, and 3 conf for extra large amounts. Anyway, you knew all this better than I did, but you asked so here you go. Thank you for explaining the greedy-miner strategy for safe confirmations. The problem I see with that, is the merchant needs a fast connection to "destroy" the transaction in time.

</comment></comment></comment></comment><comment><USER5> Interesting product. It doesn't really look like this is meant to make any money for the developer yet (maybe the plan is to add fees to their mining pool at some point in the future?). I suspect the point is to drive policy so that companies and individuals don't trust transactions with zero confirmations, or at least start checking for double-spend attempts. The standard right now for many companies is to accept zero-confirmation transactions (e.g. bitpay does this). Because this is such a widespread practice, it's effectively a security vulnerability of the bitcoin network as a whole. If this site can change this standard, then maybe they'll make the bitcoin ecosystem more secure.

This is an interesting phenomenon of the bitcoin ecosystem. If someone owns a lot of bitcoins, they're incentivized to make something like this even if it doesn't directly make them any money.

By the way, the extended FAQ for the mining pool is still showing Lorem Ipsum text: [http://www.bitundo.com/pool/faq.html](http://www.bitundo.com/pool/faq.html)

<comment><USER6> > It doesn't really look like this is meant to make any money for the > developer yet

Incorrect.

> the new fee you will need to pay is 10% of the undo amount, plus the > original mining fee. Note: If you are sending a secret transaction, you must > then double this fee

[http://www.bitundo.com/developer.html](http://www.bitundo.com/developer.html)

<comment><USER7> If miners want to provide this service, can't they just resolve double-spends based on mining fee?

It doesn't seem like it there needs to be a middle-man here.

<comment><USER8> That was my thought; this system sounds a lot more complex than replace-by-fee and child-pays-for-parent rules that have been discussed for a while.

</comment></comment></comment></comment><comment><USER9> Doesn't this mean paying with bitcoin in the real world is now broken? Merchants will either have to make people wait for up to 10 minutes for the transaction to confirm or risk that person reversing the transaction after walking out the door.

<comment><USER10> Now broken? It was always broken in this manner. Merchants have always had to account for the risk of unconfirmed transactions in one way or another (and if they were ignoring that they were negligent).

With online shopping it's relatively easier in that you can wait until the payment posts to the network before you complete the transaction, but this definitely would interfere with brick-and-mortar types of activities, ATMs, etc.

</comment></comment><comment><USER11> Wild. So, if this takes off (ie, enjoys miner adoption) and if the incentive structure works as advertised (ie, miners stand to make more by accepting the invalidating transactions), then this pretty much destroys the credibility of 0-confirms except with trusted parties, yes?

<comment><USER12> There never was any credibility behind an unconfirmed transaction.

<comment><USER13> You can't pretend like zero-confirmation transactions have never been useful. They have been used _in practice_ for small amounts, many times, with no issues, and this system obviously changes things.

<comment><USER14> They are useful in customer-merchant contexts because the merchant can cancel the order after anyway in case of a double spend, and in in-person contexts because you're in person so the risk of trying to cheat is too high. That's the main reason why zero-confs are fine; you only really need the preliminary notification to be instant, not total security.

</comment></comment></comment></comment><comment><USER15> Right now nodes do not accept double spending transactions, no matter how much they pay in mining fees. This makes simple security promise for 0-conf transactions: the most relayed version is the one that most probably will be included in the block. So merchants can accept such transactions because they know that reversing it would cost much more than 100% of the transaction value.

If enough nodes on the network replace transactions when the mining fee is, say, 10% higher than the previous version (or 10% of the total amount, or whatever), then for the user it is much cheaper to "take money back". You will send $5 for your coffee and get back $4 with no sweat. Merchant will lose all $5. You can say goodbye to 0-confirmation transactions.

So what do we have:

1) Users get some sort of "undo" function which is nobody was asking for. In my view, if there's a problem with accidental button clicking in the UI, it's simpler to fix right there, not by changing the entire network.

2) No one can rely on 0-confirmation transactions anymore. Even today they are not safe, but for small purchases the risks are pretty low, so they work for many people to everyone's satisfaction. But with network-wide "replace with higher-fee transaction" the risk will go up significantly to make this feature unusable.

However, in the long run, 0-conf transactions won't be the future of instant micropayments (we'll have some sort of distributed clearing network instead), so we might not care that much. But the value of "undo" is still very questionable to throw away usefulness of 0-conf transactions today.

Final note: Bitundo can't be useful when it's small. It's either working more than 90% of the time for legitimate "undos" (which makes 0-conf txs useless) or it's used marginally only by those who wish to rob merchants who accept 0-conf transactions. In which case they still may render 0-conf transactions useless.

</comment><comment><USER16> Well, this throws a real wrench into services like BitPay that rely on verifying _only_ that a transaction has been broadcast, instead of making you wait until 1 or more confirmations (which can take 10 minutes, or 30, who knows). This always seemed like a hack to me anyway. Bitcoin is just not really set up well for quick transactions, which is just about the only kind of transaction you actually want on the internet.

</comment><comment><USER17> I think it's a good thing for this sort of service to come out now while Bitcoin is fairly young. Accepting zero-confirmation transactions has always been bad practice, making double spending more likely in this case means that people will be far less likely to accept them.

</comment><comment><USER18> So, in practice, what is the probability that a transaction would really be cancelled if the issuer of the payment uses this service approximately two minutes after initiating the transaction? (I assume that two minutes are a realistic estimate of the time it takes to realise that one has made a mistake, remember this service, search for it online, and fill out the necessary info.)

<comment><USER19> Easy back of the envelop calculation: If a block is generated every two minutes in average, you have a 80% probability that the new block is not generated in that two minutes. So if _everyone_ is in this service then the probability of success is 80%.

The same idea can be used with a rogue client. Just generate a conflicting transaction.

I'm not sure, but if there are conflicting transactions, then most of the miners just pick the first transaction they received. But let's be optimistic and suppose that they pick at random, so you have a 80%/2=40% that the new conflicting transaction is picked and the original dropped.

IIRC some miners are filtering the transactions to process the transactions with bigger fees, even in the case of not conflicting transactions. So perhaps a bigger fee can be used as an incentive to choose the "right" transaction.

</comment></comment><comment><USER20> I think people should stick to n-of-m checking versus this scheme.

When people try to undermine a system, two negative things may happen: 1) The system that is being undermined will be pushed too far and it won't be see as reliable and/or 2) The system that is perpetrating the undermining will get patched out of existence.

Both scenarios end poorly for the bitcoin ecosystem.

If you want to send a bitcoin but aren't sure you'll be receiving what was intended to be your half of the transaction, stick to n-of-m signature transactions.

[https://en.bitcoin.it/wiki/Contracts](https://en.bitcoin.it/wiki/Contracts)

EDIT: With that being said, I believe it's time for the BTC community to figure out how to patch this problem before it ruins zero-confirm for bitcoin.

<comment><USER4> There are no patches for it.

Bitcoin is a system that is woefully misunderstood by many people. It is not a honey badger. It is at heart a system that takes a positive view on humanity. It's a system built on the assumption that the majority of players are honest and stick to the rules. In a world in which most people think long term and don't spend all their time trying to stab each other in the back, this works.

But is humanity really that way? Or does society require a small number of rulers keeping the ruled in line? Every day that Bitcoin works well, the answer shifts towards "no, decentralisation of power can work". And if BitUndo gathers significant hash power, the answer shifts more towards "yes, decentralised solutions can't work if they rely on an honest majority".

If you read the literature, distributed systems very commonly require some kind of honest majority, if only because the definition of "honest" needs to be set by something. There isn't really a way to make Bitcoin work in a world where most other players are colluding against you.

<comment><USER21> >But is humanity really that way? Or does society require a small number of rulers keeping the ruled in line?

IMO it depends on the specific ecosystem, and there is no definitive answer for this question. Some systems bring out the worst in people, some don't. However, as bitcoin is a financial system, greed is a major force that it must contend with. As the value of BTC grows, the incentive for bad behavior will grow with the rewards. For that reason, I personally cannot imagine that bitcoin can continue indefinitely without some sort of regulation. I'd love to be wrong about that, however.

It remains to be seen if BitUndo can realize their goal under the current framework. It's quite possible that the costs coupled with the initially low success rate and the desire for miners to protect the value of their holdings might prevent it from ever gaining traction. However, their efforts highlight an attack vector and there may be ways to disincentivize their scheme early on.

</comment></comment></comment><comment><USER22> This link was also posted to reddit.com/r/bitcoin about an hour ago and was making its way up the front page. Now ... gone.

I wonder if it's a scam or it got reported and deleted out of fear of causing a stir or similar.

<comment><USER23> No fraud or scam. Bitcoin users have acted very aggressively to the idea -- and felt best to censor it.

What they seem to not realize, is that double spend attacks were very viable previously (putting conflicting transactions in different part of the network), submitting double-spends directly to pools, finley attack etc.

The thing bitundo brings to the table is legitimacy. People can undo a transaction without foreknowledge they will need to. This is nothing but a good thing for the bitcoin network, and it reminds people that 0-confirmation transaction never were, and never will be safe.

Edit: it's back!

<comment><USER4> You're the guy who created it, aren't you?

Double spends are not currently "very viable", as indicated by the fact that they were not happening and accepting instant payment is the standard. This is objective reality, not something you can argue away. A different world being theoretically possible does not translate into it magically happening with no effort. You are making an effort to change our happy situation for your own profit, in other words, to make Bitcoin less useful over the long run to benefit yourself in the short run. I can't tell if you're motivated by greed or a particularly poorly thought out world view.

Also, why are you claiming this is somehow specific to unconfirmed transactions? Corrupt miners can also rewrite the block chain. If you get paid enough and have enough hash power, why not see if you can overtake the chain head? So don't claim it's somehow specific to unconfirmed transactions. It isn't.

Bitcoin fundamentally assumes that the majority of mining power is "honest", defined to mean following the rules laid down by Satoshi in the core software. You can see this by simply reading the white paper:

"The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes."

(last sentence, first page)

You are attempting to bribe miners to become "dishonest" and "attack the network" in Satoshi's language. If enough people did what you suggest, the system's fundamental assumption would be invalidated and the entire network would break. If merely a small number of people do it, it just makes the system unreliable, untrustworthy and pushes people towards centralised fixes like payment processors that levy higher fees, trusted third parties that prevent double spending, secure hardware, etc. All things that increase Bitcoin's costs and reduce its competitiveness vs regular banking. Doing this doesn't help anyone or prove any point, it just adds sand into an otherwise useful system by increasing transaction costs.

tl;dr you are like a kid kicking down someone's sandcastle on a beach, then saying "they should have been guarding it better, anyone could have done what i did!".

<comment><USER24> To be fair, if comparing Bitcoin to a sandcastle is a fair comparison, then it's better for this to be made obvious to everybody before it reaches critical mass.

Perhaps more importantly, this feature doesn't actually rely on miners being dishonest. There is no rewriting of the blockchain going on. All that is required is that miners are greedy. That is, when two conflicting transactions are in the mempool, it requires that miners prefer the transaction that comes with a higher fee.

<comment><USER4> I think people involved with it over the long term have always said that it's a risky experiment that might fail. Bitcoin resembles a sandcastle far more than a honey badger, that's for sure.

"Honesty" is defined to mean "following the rules". The first seen rule is a part of that set. BitUndo isn't attempting to fork the chain today, but they certainly could - it's a simple extension of their model. Double spending for a fee doesn't really care whether a tx is unconfirmed or not, it simply alters the price charged.

</comment></comment></comment></comment></comment><comment><USER25> I'm not 100% sure I understand why miner would prefer BU pools as opposed to other pools. Is it because the miners receive 100% of the mining fees? (as opposed to having to pay admin fee to the pool manager) BU's income is the fee payed by successful customers.

That means that there should be an equilibrium point between "miners for hire" (that try and target specific transactions) and regular miners.

</comment><comment><USER26> So basically it's a 0-10 minute buffer on transactions that if you pay them enough to cancel your mistaken one... they'll do their best to get the secondary transaction mined first?

Cool!</comment>