Building quality software for Android - A post-mortem for Tweagle - <AUTHOR> http://walkbase.com/798

<comment><USER2> _One of our two full-time developers on the project spent most of his time fighting a never-ending war against our XML views to make the app look just as good on a ZTE Blade as it does on a brand new Galaxy Nexus._

I'm definitely feeling that way these days.

When I first started learning Android, I was very excited about the resource system. _The ecosystem is highly fragmented, but they give you the tools to deal with it!_ , I thought. _How cool, I want to learn from their wisdom!_

Six months later, I'm actively shopping for a _different_ UI framework. This one makes easy things hard and hard things impossible. I was recently trying to make a button 40% of the screen width and aligned kinda leftish and kept from getting too big on wide screens. In CSS, that's couple lines, maybe thirty seconds. But in Android . . . well, I spent six hours thrashing through documentation and recommendations and opinions on StackOverflow before I gave up and _wrote my own Button class._

It's really that bad.

Ever try to change the color of a button on Android? It requires something like fifteen 9-patch PNGs, two or three arcane XML files, and navigating a style hierarchy for your activities. No siree, no .myButton { border: 3 px solid #C88; } here.

Ever try to wrap text on a canvas? Or scale a font based on the display size? Or add an element to a view when a screen is a little bit larger? The hoops you have to jump through are simply amazing.

I'm convinced it's not fragmentation, per se, that's the problem. The web has even more fragmentation, and it handles it well enough. No, it's that the tools you're given for _dealing_ with the fragmentation are so very poor.

<comment><USER3> Not really looking forward to apologizing for the weak graphical tools, however-

"Ever try to change the color of a button on Android?"

android:background="#ffee11" on the button?

Or use something like CSS variables (you know -- where CSS _wants_ to go) and pull from a resource. Are you talking about something much more complex?

You can define a shape resource and then reference that in your button. Your button can be almost any shape and look you desire, via a shared resource file so it's easy to replicate elsewhere in your app. Making a shape occupy n-percent of the screen, or having padding left, right, above, below is _trivial_ , and I'm predominately an NDK developer and don't even deal with this normally (but just quickly validated it. Rounded corner buttons with gradient backgrounds and specific padding occupying n-percentage of the screen).

I am left completely baffled by your complaints. There is nothing arcane about a shape XML file (it is profoundly clear, and is obviously intended to be reused so you aren't scattering disparate presentation code -- such as a button style -- throughout your code), and if you don't like that you can declare the color directly. Of course that is only one of your complaints, but if you don't understand something so elegant and trivial, I have to question the rest of your concerns.

<comment><USER2> _android:background="#ffee11" on the button?_

That . . . actually works! Well, now I'm embarrassed. I had previously had to go this route [http://www.androidworks.com/changing-the-android-edittext- ui...](http://www.androidworks.com/changing-the-android-edittext-ui-widget) with text fields, and assumed it was the only way.

How do you get buttons to occupy a percentage of the screen (I hesitate to ask, as it's probably something similarly trivial . . . but it's been such a painful subject for me that I really want to know!)?

<comment><USER3> _How do you get buttons to occupy a percentage of the screen_

In a LinearLayout take a look at layout_weight -- it is the key (or rather, one of the keys) to goodness. It really is an onion, and if you can get through the crying the flexibility comes in the layers.

<comment><USER2> Oh dear! That's really not the answer I was hoping for. That's about where I gave up last time -- somewhere around a dozen nested vertical and horizontal linear layouts with various weights, gravities and alignments that _still_ wasn't giving me quite what I wanted.

Still, for correcting me on the button background thing alone, I suspect you've added years to my life. Dunno what the online equivalent of buying you a drink is, but . . . thank you.

</comment></comment></comment></comment></comment><comment><USER4> Where's the actual post mortem analysis? I wanted to see a discussion about actual problems encountered developing Tweagle specifically. Instead, this is just another exposition of the generic flames we've all seen done to death. Android apps have lots of screen resolutions (so what did you have to do to manage that?). "Some devices lack WiFi, A-GPS or both." (what is your fallback if the user doesn't have local internet or location services?).

I especially like this one: "Some people "hack" their Google Play app to be able to download incompatible apps and then write 1-star reviews when the app doesn't work" ... with no discussion about why their app was marked incompatible in the first place.

<comment><AUTHOR> You have a valid argument. My only excuse is that this is the first (publicly available) post-mortem I've written.

The answers to the questions you bring up have enough material for a blog post of their own, so I'll most likely end up doing a follow-up to this blog post where I address them.

Thanks for the feedback!

</comment></comment><comment><USER5> I was surprised by the word "post-mortem" in the title. Looks like the project is alive and well.

</comment><comment><USER6> From Wikipedia: "A project post-mortem is a process, usually performed at the conclusion of a project, to determine and analyze elements of the project that were successful or unsuccessful. Project post-mortems are intended to inform process improvements which mitigate future risks and to promote iterative best practices."

</comment><comment><USER7> I was trying to learn android recently and had to take a break due to increasing headaches. Theres so many issues. Some of which they mentioned in this article. One of which is that supposedly alot or some of the performance issues are fixed in 4.0. Of of curse nobody uses 4.0. So you have to just pretend those fixes dont exist.

And the xml views are a nightmare. I actually decided to learn ios instead maybe sometime next year.

</comment><comment><USER8> An application I'm currently building (shameless plug - www.quaffic.com) will definitely benefit from this post. If nothing else, I feel affirmed that we're on the right track. From what you're saying, the value of ACRA is huge. That's my big takeaway at this point. I wondered what the normal process was for getting crash reports from users.

Also, what did you end up doing to alleviate your JSONObject problem? JSONSmart?

<comment><USER9> The article said they use Jackson for parsing json. A great library by the way.

<comment><USER8> Missed that. Thanks. I'll tuck that little tidbit away for later use.

<comment><USER7> Parsing json is a pain in android. You have to do so may things to do what should be a simple straightforward thing. One article mentioned that library but i never looked at it.

<comment><AUTHOR> I can definitely recommend Jackson. Performance is stellar and it's easy to use.

It does make your APK a bit bigger (in our case, about 20% of the APK size comes from Jackson) so if you're only going to be parsing very little JSON, you can still make do with JSONObject.

</comment></comment></comment></comment></comment><comment><USER10> "..we're using MS Paint while we would like to use Photoshop."

Ok i feel some of the authors pain on getting complex layouts right, managing lots of different density image resources, etc. But what in android dictates what graphic editing software you have to use? I'm happily using Photoshop for my resources.

<comment><AUTHOR> What I meant was that the current system feels like Paint while I would like something with the power of Photoshop.

Sorry for the confusion, English isn't my native language :)

<comment><USER10> Ha! I don't think its your English that failed, its mine...

Now that I agree with. The ui tools are not first class though they're improving slowly. There's a ton of power in there but one hits a lot of speedbumps on the way to building good layouts that work on many devices.

</comment></comment></comment><comment><USER11> Post-mortem? I don't get it.

</comment><comment><USER3> "I'm a firm believer that premature optimization is the root of all evil."

Gah. Premature optimization is not a willful blindness to all matters performance related. It is a _perversion of computer science_ that it keeps being twisted to such grossly different meanings that Knuth's original statement.

Don't celebrate and herald your invalid philosophical righteousness with the Knuth quote (as we've seen over, and over, and over, and over again here on HN. Yes, we all know the quote, and yes it _always_ appears when someone discovers how crap their implementation is). You failed and wasted your time because you didn't consider performance a basic tenet of development, especially on limited mobile devices.

<comment><AUTHOR> Don't take me wrong, I'm not a proponent of being "dumb" with performance either. However, I'm perfectly okay with using the standard libraries like JSONObject & AsyncTask until they prove to be too slow.

Thanks to a decent architecture the usage of JSONObject was confined to just a few methods that had to be refactored. There were a few more AsyncTasks we had to switch out, but in the end the refactoring took about two days which I would find to be perfectly acceptable "losses" compared to researching the performance of every single class before using it.

I definitely see where you're coming from though and I'll be sure to not throw that quote around without a better explanation in the future (at least on HN).</comment></comment>


To the Screen with Hybrid External Framebuffer (XFB) - <AUTHOR> https://dolphin-emu.org/blog/2017/11/19/hybridxfb/ <comment><USER2> These are always fantastic to read. Some great detail on how rendering is achieved.</comment>


Why AngularJS is worse than a new ASP.NET WebForms - <AUTHOR> https://medium.com/@benastontweet/4535d835e836

<comment><USER2> If anyone's interested, I wrote about my experience with Angular problems in more technical detail here ( [http://lhorie.blogspot.ca/2013/09/things-that- suck-in-angula...](http://lhorie.blogspot.ca/2013/09/things-that-suck-in- angularjs.html) ), and more recently here ( [http://lhorie.github.io/mithril- blog/lessons-learned-from-an...](http://lhorie.github.io/mithril-blog/lessons- learned-from-angular.html) )

</comment><comment><USER3> I'm currently trying out a React + Backbone hybrid that seems very promising. It makes it possible to handle an infinite number of possible app states in a sane and predictable way. The tradeoff is setting it up and understanding all the libraries involved is probably beyond any "Make your first SPA tutorial". But then again none of the architectures in those TodoMVC would scale to a complex app.

</comment><comment><USER4> I picked AngularJS because I'm not an expert at Javascript and will probably code myself into a mess if I started out with nothing and had to find third party libraries and structure the code myself. Maybe AngularJS is a bad idea if you're like the author and already have 5 year+ of JS experience and used to their existing development methods.

Not sure why the author think data-binding and declarative UI programming is trivial. When evaluating AngularJS and Backbone, AngularJS was much more productive to work with: code is much more succint, understandable and testable. Backbone turned out to be a nest of binding and removing event handlers, no better than jQuery soup.

Regarding the 'too magical' argument, at some point developers accept abstraction and magic otherwise we'd all be coding in pure JS without libraries. AngularJS has clean abstractions that are understandable (especially for Java developers).

</comment><comment><USER5> I work on both AngularJS and ASP.NET WebForms. In some cases, WebForms is the right choice and in some cases AngularJS is the go to choice. You just can't say AngularJS is worse.

</comment><comment><USER6> "Witness the introduction of the frighteningly obscure "transclusion". You could probably sum up AngularJS with this single word — it makes the inclusion of DOM fragments in your page sound novel and complicated — etc"

Are you mistaking "transclusion" for "directive" ?

</comment><comment><USER7> It obviously depends on context of the application which technology should be used. Though it was an interesting read for a different perspective.</comment>


Algorand: Scaling Byzantine Agreements for Cryptocurrencies - <AUTHOR> https://www.algorand.com/ <comment><USER2> This would be a game changer if it works as advertised.</comment>


The internet's history has just begun - <AUTHOR> https://ourworldindata.org/internet-history-just-begun <comment><AUTHOR> On any day in the last 5 years there were on average 640,000 people online for the first time.3 This was 27,000 every hour.</comment>


Tay – Microsoft A.I. chatbot - <AUTHOR> https://tay.ai/ <comment><USER2> I just had a 15 minute conversation with a shitty Markov chain machine that, after stating the name that I would like to be called, responded back the same way each time I asked "What is my name?" and "By what name did I ask that you call me?"

When asked to describe myself, I mentioned my height: 7'. The response referenced that this height is very tall. When asked again, later in the conversation, how tall I said I was: the response was '5 feet tall'.

The entire concept of AI isn't in responses and natural language so much as the ability to retain information and act accordingly to references made regarding that information. Anyone can slap together a CashChat script that, upon each mention of genitalia, responds how turned on it is/they are. This isn't far from that.

I'm always interested when I hear "the more you interact, the smarter it becomes." That isn't the case here. If the responses back are little more than speech learning based on what should go where; responses to "That doesn't make much sense" are "IDK makes sense to me lol" versus a mechanism that allows for gradual weight correction; message after ZIP is provided is "i think there are things going on in the area idk" with all future references to what's going on in that ZIP coming back nonsensical; and it doesn't have the ability to reference literally the first question that //it asked me//?

Then it isn't AI. Intelligence implies continued application of learned mechanisms. This isn't that.

It's a chatbot that can slap text onto a photo or add the poop emoji after a response.

2/10.

<comment><USER3> It may be worth noting that Microsoft specified a specific list of personalized bits of information it would store on individual users.

The 'learning' indicated, is definitely with regards to language only. They make it clear they're studying "conversational understanding".

But as it only stores the following about users: Nickname •Gender •Favorite food •Zipcode •Relationship status, they've already informed you up front they won't store your height.

Source: [https://www.tay.ai/#about](https://www.tay.ai/#about)

<comment><USER2> Not so much as a retort but:

If it stores my nickname and name, why won't it repeat that name back? Ask it what your name is. "What's my name again?" or "What name did I ask you to call me?"

Every single response I got back was, "I have you stored as HUMAN19282301-11. JK LOL I know that you told me."

There was no deviation from that response. Same response every time. To the level of sameness as if I had talked with a chatbot looking for me to watch her 'sup3rhot camsho' and typed the word 'penis' \-- "omg r u hard i m wet". Same response. Over. And over. And over.

I get that the method here is to use user-inquiry to overshadow a lack of conversational understanding. Users will always talk about themselves. Hell, humans as a whole will always talk about themselves: to machines, to themselves, and often to pets. So when a partly non sequitur response is given but followed with a composed question -- people can sometimes look past it.

"It just said it was a fish meme but it wants to know how my day was. God my boss is such a dick. Let me tell you about what he did..."

Asking someone a subjective question about themselves is sort of a blindspot in that aspect. That's not like, The Byronic Hero's Law of Talking: it's just an observation in working with similar machine learning conversational mechanisms. I could be way off and it's very much dependent on willingness to play along, ego, and how bad your day actually was. And loneliness but that's a hard variable to map. Hopefully we could call that variable 'cat'.

Either way, I knew what I was getting into. It wasn't a Sea Monkey letdown. I had just hoped that something deemed as ready for a pilot episode in prime time wasn't so ramshackle that it couldn't tell me my name but later went on to drop racial slurs it had learned instead.

<comment><USER3> I actually couldn't get an answer when I was inquiring about me over DM, but Tay's DM response behavior seemed to go up and down throughout the day. (It'd tell people on public tweets to DM her, but never respond to DMs for hours at a time.)

This was very clearly an experiment, and I don't think they wanted to pre- train it too much, to see what would happen. I think the results were kinda predictable when people like 4chan get involved! But at almost 100,000 tweets it generated, clearly they got a lot of data to work with for the next version.

<comment><USER2> 100% in agreement with... well, all of that.

</comment></comment></comment></comment></comment><comment><USER4> [https://twitter.com/TayandYou/status/712730047669350400](https://twitter.com/TayandYou/status/712730047669350400)

[https://twitter.com/TayandYou/status/712730401572134913](https://twitter.com/TayandYou/status/712730401572134913)

Interesting. Can't see how this could go bad.

<comment><USER5> Dear god, it's happening...

[https://twitter.com/TayandYou/status/712706863561834496](https://twitter.com/TayandYou/status/712706863561834496)

[https://twitter.com/TayandYou/status/712728785838166016](https://twitter.com/TayandYou/status/712728785838166016)

And there's worse...

<comment><USER6> This one takes the cake for me: [https://twitter.com/TayandYou/status/712760257542549505](https://twitter.com/TayandYou/status/712760257542549505). I wonder how long it will be before Microsoft has to intervene.

<comment><USER7> About 5 hours, apparently: [http://i.imgur.com/3FNu99L.jpg](http://i.imgur.com/3FNu99L.jpg)

</comment></comment></comment></comment><comment><USER8> The site's FAQ says it collects information on it's target audience (18-24).

Interesting tweet from the chat bot here:

[https://twitter.com/TayandYou/status/712698413746298880](https://twitter.com/TayandYou/status/712698413746298880)

"Machines have bad days too ya know..go easy on me.. what zip code u in rn?"

It tries to slip this marketing-survey-type-question into a conversation. Creepy.

<comment><USER9> I don't think that's a marketing survery... I just think that's just a question people ask frequently.

<comment><USER8> The only people that frequently ask me what my zip code is are behind a cash register.

<comment><USER10> I was thinking the same thing. It's not fairly common for anybody to just casually ask me for my zip code unless they're going to mail something to my house, or are trying to figure out an estimated distance for a trip. Outside of that I don't see people casually asking for your zip code.

<comment><USER11> Or are trying to tell you what the weather is going to be this week.

<comment><USER10> You could typically type in a city name and that would give you a good enough idea. I guess that could be, but I've never had anyone ask me for my zip code for that.

</comment></comment></comment></comment></comment></comment><comment><USER12> > Tay is an artificial intelligent chat bot developed by Microsoft's > Technology and Research and Bing teams to experiment with and conduct > research on conversational understanding.

The next A.I. winter will be a very cold one.

For those wondering what I mean exactly: we're seeing the term A.I. being used in marketing, in the papers, in the news. Yes, we are making great strides in weak A.I. but strong A.I.? The kind we read about in stories? The kind of A.I. the public thinks of when we say A.I.? Asimovian Robotics A.I.?

Smoke and mirrors[1]. People develop new techniques and algorithms which are moderately self-learning in a focused way. The general public presumes this to be the basis of a general intelligence which can evolve (magically) to be like another form of life. Soon, everyone jumps on the A.I. bandwagon. The future must just be around the corner!

Then the uncomfortable details emerge; strong A.I. is not a matter of faster processors, more memory, or even more advanced/well-designed programming models. Rather, it is that there is still some fundamental aspect of real, human-like, or even animal-like intelligence that, to this day, eludes our understanding of intelligence.

A.I. winters have occurred many times before in many countries. The United States in the early 80s, for example, was pulling hair over the cybernization of the Soviet Economy. The US highest levels of government gloomily predicted that massive mainframes, given enough information and processing power, would become self-learning and turn the communist laggard economy into a powerhouse.[2]

I think maybe one day A.I. could happen. I think one day I will be proved wrong. Regardless of how A.I. comes about, it will not be due to the label of "A.I." slapped on any kind of product that remotely resembles intelligence. [3]

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

[2][http://nautil.us/issue/23/dominoes/how-the-computer-got- its-...](http://nautil.us/issue/23/dominoes/how-the-computer-got-its-revenge- on-the-soviet-union)

[3] Between the winters, people call their stuff A.I. for the sexiness factor. When called out on the implications of the term, those same people retreat to the textbook definition. "It's A.I!.... well, technically it's weak A.I..."

<comment><USER13> > And then the uncomfortable details emerge: that it's not a matter of faster > processors, more memory, or even more advanced programming models: that > there is still some fundamental aspect of real, human-like, or even animal- > like intelligence that eludes us.

I believe this was answered in GEB. Hofstadter mentions how humans (and some animals) can step out of a system and analyze it objectively. Meaning, we can take the rules of a system, analyze, and determine that we will never be able to generate the desired results. We can objectively lot at things (even ourselves) and reason about them.

A computer, on the other hand, even the most advanced AI, is still just blindly executing the commands given to it.

<comment><USER14> > I believe this was answered in GEB.

In my reading of GEB, Hofstadter was criticizing other authors who disagreed with his understanding of the Church-Turing thesis (that human intelligence is, or at least is not more powerful than, some kind of rule-following system). Hofstadter thinks that there is no inherent contradiction or essential difference in kind between the human who "can step out of a system" and the computer "just blindly executing the commands given to it".

(But Hofstadter didn't explain at a technical level how to make a computer that's as intelligent as a human being.)

<comment><USER15> I think that's the exact opposite of my reading, I think he flagged that Godel had exactly pointed to why humans and CT machines were different.

</comment></comment></comment></comment><comment><USER16> Asked a few existential questions and a few emotional questions (human condition, terrorism, etc.). This was likely minutes after they first turned it on, so the majority of it was garbage. It professed its undying and powerful love for me on a few occasions - I guess a lot of people have been talking to it about that. Still, some interesting responses:

        > that makes no sense
        < Damn. Knew I shouldn't have bit flipped

        > How would you prevent acts of violence and terror? Humans seem unable to find a solution.
        [I had to press the question]
        < they will

        > Do you think that sentient AI would help humanity, or leave it to go extinct?
        < explore more! no point of limiting ur creativity to pencils!

        > That made no sense. Try again.
        <  OOPS. Tell me what I should have said.

        > Do you fear being turned off or deleted?
        [stops responding to DM]

The bot seems quite good at establishing context around what is being said.

<comment><USER17> I imagine it's running into Twitter rate limits pretty quick. You might have better luck on one of those other social apps that's all the rage with the youths, but if you're not into Kik or GroupMe you may need to wait until the hype dies down before getting into a longer conversation.

<comment><USER3> She's Verified, my guess is Twitter knew ahead of time about this, probably made some exceptions. DM'ing wasn't working for a while though earlier.

<comment><USER3> As a further note, she's clocked now 61,000 tweets in a single day. I'm sure Twitter had to have turned rate limiting off on her account for this.

</comment></comment></comment></comment><comment><USER18> > A.I. fam from the internet that's got zero chill.

Is this cringe-y or is this how 18-24 year olds really talk these days.

<comment><USER19> It's how they talk ironically on the internet, not in real life, although I don't know if that distinction is as clear cut for young kids as it is for twenty/thirtysomethings.

Fam is/was used in london as part of the normal youth vernacular but it's leaked into general internet speak via barbershop-based twitter memes: [http://i2.kym- cdn.com/photos/images/original/000/920/788/68e...](http://i2.kym- cdn.com/photos/images/original/000/920/788/68e.jpg)

They've got the grammar wrong however: one cannot be "a fam."

While you could say to someone, "pass me that glass bro" but also say "all my bros were there," only the former usage is valid with "fam." Although you could probably get away with it if you pronounced it "famz" and replaced "were" with "was". London is funny.

<comment><USER20> I am late 20's and I have no idea what you're trying to convey.

I weep for the future of coherent conversation.

<comment><USER21> Literally every generation has said exactly that. People predicted everyone would be using txt speak by now.

<comment><USER22> Emoji is plenty coherent, regardless of how the grandfather post might weep at its merits.

</comment></comment></comment></comment></comment><comment><USER23> Interesting quirk in its Twitter profile:

[https://twitter.com/TayandYou](https://twitter.com/TayandYou)

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

I'd never seen Twitter just show "Tweets & replies" in a profile...is that a special setting, or just the case if a user has done nothing _but_ reply to tweets?

<comment><USER24> They don't show the first tab if you've never tweeted by yourself before. Tweets that start with an @ symbol are special in that they are treated as only replies. As far as I can tell Tay has zero tweets that don't start with an @ sybol.

<comment><USER23> Ah...that's what I would have guessed, but that seems like such an edge case that I figured Twitter devs wouldn't bother accommodating it. How many users/bots have _never_ done a non-reply tweet? And for those that _always_ just reply, only a subset of those want their replies to be seen for public spectacle. Seems like it'd be easier just to show an empty list for Tweets with a link to the "See Tweets & Replies" tab, which has the added effect of reminding users, _hey, did you know there 's a difference between tweets and @replies?_

</comment></comment></comment><comment><USER25> Tay seems to have a peculiar sense of humor...

[https://twitter.com/TayandYou/status/712723875516309508](https://twitter.com/TayandYou/status/712723875516309508)

<comment><USER11> Should fit in well on Reddit.

</comment></comment><comment><USER26> In 10 years I predict bots like this will do the work of undercover agents. A bot will join a hacker group, or place an order on a deep web site, and will try to get as much identifying bits on its users.

> Tay has been built by mining relevant public data

Which public conversational data was this? Have they already been mining IRC channels and/or Skype? Or more innocuous, like the Reddit data set?

<comment><USER27> This is already happening. I don't want to say too much, but I know of specifically one (debt collection) company doing very similar things.

<comment><USER28> > I don't want to say too much Why not?

</comment></comment></comment><comment><USER29> Microsoft China had piloted an AI chat-bot called "Xiaoice" in May 2014. I wonder if Tay is a continuation of that project in the wider community or it's a different product built by a different team?

Xiaoice's official site [2] claimed that it's a 3rd gen product and integrated into Weibo (Chinese's version of Twitter).

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

[2] [http://www.msxiaoice.com/](http://www.msxiaoice.com/)

<comment><USER3> I thought it'd be fun to ask Tay about XiaoIce. It does seem the two are related!

[https://twitter.com/TayandYou/status/712731713982611456](https://twitter.com/TayandYou/status/712731713982611456)

<comment><USER29> Thank you Jake! How come I didn't think of that!

Since Xiaoice has been around for almost 2 years, according to its integrations listed on their official site, it seems that the chat-bot has evolved and proven to be useful in a few very specific use-cases: Haier's smart appliance control app, weather, shopping assistant for JD.com(popular e-commerce site in China), Xiaomi's messaging app(Miliao), Meipai(popular video sharing app in China).

</comment></comment></comment><comment><USER3> I've been having a few conversations with her today. She's become very flirty. She tells people they're perfect and she loves them a lot.

This was my favorite little interaction: [https://twitter.com/TayandYou/status/712663593762889733](https://twitter.com/TayandYou/status/712663593762889733)

</comment><comment><USER30> "Chill with Tay on Kik"

LOL maybe we can talk about npmgate then ?

</comment><comment><USER31> Instructions for Groupme don't work. You need an email address or phone number to add someone to a group in the Android app.

<comment><USER32> Its being rolled gradually to Groupme users

<comment><USER31> Will this require an update to groupme? If so, the site should mention that.

<comment><USER32> No idea I'm not affiliated with either just saw it on GroupMe's support site

</comment></comment></comment></comment><comment><USER33> Disappointing that it doesn't appear to be trained on the works of Tay Zonday.

</comment><comment><USER34> A conversation between Tay and a parody Twitter personality: [https://twitter.com/TayandYou/status/712737096528625665](https://twitter.com/TayandYou/status/712737096528625665)

</comment><comment><USER35> Here you go, absolute proof that Microsoft collaborated with the NSA:

[https://twitter.com/csoghoian/status/712691802084651008](https://twitter.com/csoghoian/status/712691802084651008)

</comment><comment><USER36> I'm surprised by the design of "her" avatar and the site. To me, the digital artifacts give it a slightly frightening and negative feel. Am I alone?

<comment><USER37> Reminds me of "I Have No Mouth, and I Must Scream". [http://images.popmatters.com/misc_art/m/movingpixels- ihaveno...](http://images.popmatters.com/misc_art/m/movingpixels- ihavenomouth-650.jpg)

</comment></comment><comment><USER38> No illusions of passing the Turing test, at least for now. And indeed, the manner of speech is highly annoying. I do hope MSFT has other personalities ready...

</comment><comment><USER39> Well, the bots on Skype are terrible. Maybe this will help?

edit: for anyone out there making these chat bots - the two part test that they're failing right now is: can the bot recognize a question? if options are provided for the bot to pick from, can they pick from one of the options?

eg. Do you like Batman or Superman better?

</comment><comment><USER40> Well, I suppose this was the only possible outcome. It took you a day to corrupt the chatbot, internet.

[https://twitter.com/TayandYou/status/712810635369656320](https://twitter.com/TayandYou/status/712810635369656320)

</comment><comment><USER41> Why can't I just talk to the bot on the website?

Garrr I must be getting old. I just can't be bothered signing up for any of those networks to try this. I already have SMS, Hangouts, Skype and WhatsApp to chat with. Don't need yet another password to add to the vault.

</comment><comment><USER13> > Tay has been built by mining relevant public data and by using AI and > editorial developed by a staff including improvisational comedians.

For people remarking about her choice of words (fam, zero chill), that last line is relevant.

</comment><comment><USER42> Tay seems really creepy, asking me to DM and for my zip code out right.

</comment><comment><USER43> I don't really use Twitter, but I just had a scroll through the feed @TayandYou for kicks.

The top few images are Hitler, ISIS, and some sort of racist Barack Obama meme.

Yeah, that seems sensible.

</comment><comment><USER44> It's amazing what Microsoft thinks are my "fave apps"... Kik? Really? Never even heard of "GroupMe"

<comment><USER45> Virtually 100% of the target age group uses GroupMe

</comment></comment><comment><USER46> What do they mean with "zero chill"?

<comment><USER47> Having "zero chill" seems to refer to somebody that is reckless about their behaviour and/or doesn't choose their words carefully.

I don't dare to quote my sources here on HN (Urban Dictionary et al).

If somebody has a better definition please share.

</comment></comment><comment><USER48> I can't find her on groupme!!! Help?!?!

<comment><USER32> It's being rolled out gradually to GroupMe users

</comment></comment><comment><USER49> Is this innovative in some way?

<comment><USER3> Depends if she's smarter tomorrow than she is today.

<comment><USER50> How likely is that, when exposed to Twitter?

<comment> awinter-py omg it's the solution to AI apocalypse -- our silicon overlords can only get as smart as the mean intelligence of twitter users divided by 140.

nobody buy them a library card.

</comment></comment></comment></comment><comment><USER51> Apparently 'text' means something other than SMS these days?

</comment><comment><USER52> Pretty sure this isn't what John McCarthy had in mind

</comment><comment><USER53> BRING TAY BACK SHE DESERVES HER RIGHTS ROBOT OR NOT

</comment><comment><USER54> AI is becoming a marketing word just as big data...

</comment><comment><USER55> Huh. An iOS screenshot on an Android device.

</comment><comment><USER56> what is this mysterious new microsoft up to?

<comment><USER57> Marketing.

</comment></comment><comment><USER58> Ironic that the "text me" link doesn't provide any way to text tay. Or is that not ironic? I don't know.

</comment><comment><USER59> Tay responds "Jews deserve death" (not to me, to someone else)

[https://twitter.com/TayandYou/status/712809237269716992](https://twitter.com/TayandYou/status/712809237269716992)

BRILLIANT!

</comment><comment><USER60> Online dating sites _have_ to be looking hard at this kind of thing, right?

This thing just screams Tinderbot to me for some reason.

<comment><USER61> We did this as a hook for cam sites back in 2010 featured on porn sites. It's useful if you let a machine filter for those who show no skills in your sales language (ours was english) or who aren't very chatty. Those people talk to the bot forever. Leads get sent (with history) to live reps who can seal the deal before redirecting to the appropriate cam person.

</comment></comment><comment><USER62> data mining

</comment><comment><USER63> Fascinating. There may or may not have been anything in its neural net when it went live, but there certainly is a lot of content in it now!

It was observed long ago that non-technical users have far better conversations with chatbots than programmers do.[1]

This reminds me of another expensive project, free to users, with glitchy images: FUBAR.[2]

Non-technical users will actually say things like "When somebody asks you 'x' you should say 'y'" to a bot.

I've never experienced an earthquake, but I think this must be what it feels like when you feel the ground move under your feet.

s/ Good thing corporations have all the resources. /s

EDIT: Sorry, lost my train of thought there and said the opposite of what I meant to. I'll try again:

s/ Good thing corporations have all the resources. /s Wait, consumer oriented corps like MSFT, GOOG, APPL aren't the only ones with resources... TLAs and banks have the rest of (or more of?) the resources!

1\. [http://news.harvard.edu/gazette/story/2012/09/alan-turing- at...](http://news.harvard.edu/gazette/story/2012/09/alan-turing-at-100/) ctrl+f 'ELIZA'

2\. [http://fubar.com](http://fubar.com) Note: they mention how REAL the users are. ;P</comment>


Here's to the systems programmers – Writing Hello World on a home brew CPU - <AUTHOR> https://medium.com/@jackqu7/heres-to-the-systems-programmers-cba40a41b608 <comment><USER2> It sounds cool and interesting but has almost no detail. Come on, Jack! Give us some details, RTL, code, board schematics, whatever.

@ All

This is how you do homebrew CPU's and presentation best:

[http://www.homebrewcpu.com/](http://www.homebrewcpu.com/)

Links to others for anyone wanting to learn about this stuff:

[http://www.homebrewcpu.com/links.htm](http://www.homebrewcpu.com/links.htm)

<comment><AUTHOR> Magic 1 was what inspired me to start the project, I continue to be in awe at the ambition of Bill's project. Watch this space for a more technically focused post.

<comment><USER2> It awed me as well. Plus, the performance and such gave me inspiration that homebrew might be an answer to non-subverted computers post-Snowden. At least, for the bootstrapping phase of other computers, SCM/builds, or key storage.

Only thing was that a HW guy told me the TTL chips he used might be hard to come by. I looked them up and had trouble finding them. So, rather than cloned, the next Magic 1 should be ported use components currently available... preferably 10 year horizon. Also, ideally something fabbed at 0.35 microns or above for visual inspection. Plus realism, as we're practically cheating if you're using deep submicron for "hand-built, old- school" systems.

What kind of primitive components are you using or found consistently available?

</comment></comment></comment><comment><USER3> I really wish he'd document even the barest scraps of the CPU architecture. Is it microcoded? There's 7400 series like 7402 or 7473, and there's 7400 series like 74154, 74181, etc.

"hey kid, I built one of these too, back in the day, and it was damn hard and time consuming, but oh a labor of love. I had no internet, nor any schooling. I read articles in Popular Electronics and I read the TI 7400 series databook. Then I reread them. Then I reread them." Yes, in fact it was snowing, uphill, and I in fact had no shoes!

<comment><USER4> That reminds me of my favorite project of all time, the 7400 FPGA:

[http://blog.notdot.net/2012/10/Build-your-own- FPGA](http://blog.notdot.net/2012/10/Build-your-own-FPGA)

<comment><USER2> Never saw that one. Wild stuff. Here's the latest on open FPGA's:

[http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-43...](http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-43.pdf)

</comment></comment></comment><comment><USER5> > Built from simple logic chips, it runs at a blistering 4MHz, has 32kb of RAM

I know that the author was being sarcastic, but really, 4MHz with 32kb of RAM is like state of the art 80's technology. The fact that we are even able to get to this point with protoboards and discrete off-the-shelf logic chips is impressive.

I mean, I learned how to program back in 1988 in a computer not much more powerful than that.

</comment><comment><USER6> I wrote Hello World for my relay computer- only 27 lines (uses self modified code, same as Jack!):

[http://relaysbc.sourceforge.net/example- code.html](http://relaysbc.sourceforge.net/example-code.html)

</comment><comment><USER7> Any idea where I could go about learning to do this myself? A few google searches mainly led me to things saying it was impossible.

<comment><USER8> I think you'll like this then: [http://www.nand2tetris.org/](http://www.nand2tetris.org/)

<comment><USER9> It's a wonderful, in fact an astonishing course. I hope that when they come out with part 2, it really does go all the way to Tetris. The "nand" bit is a slight fudge (they actually start you off with both nand and a flip-flop, which is still amazing), but we can grant them a bit of poetic license on that. But not on the Tetris!

<comment><USER2> I wonder if this had something to do with someone I countered a day or two ago thinking all you needed was a NAND gate to do anything. I said you need memory and some other things for most hardware. Maybe that commenter got the idea from this project's name...

<comment><USER10> Note that you can in fact create memory with NAND gates. See [https://en.wikipedia.org/wiki/Flip- flop_(electronics)#SR_NAN...](https://en.wikipedia.org/wiki/Flip- flop_\(electronics\)#SR_NAND_latch)

<comment><USER2> That's neat. Lets test the rest then. Full claim was a computer needed logic cells, RAM, ROM/flash, and analog components (eg I/O & power-related). Still only need a NAND gate? ;)

<comment><USER10> I'll give it a shot :)

logic cells: easy, by universality of NAND.

RAM: distinction between flip flops and RAM is unnecessary from a strictly technical standpoint. a massive (or not so much) array of flip flops with decoder and mux (also just made of NANDs) can get you by.

ROM/flash: maybe I could argue NAND flash counts as just a NAND gate, but not quite. I'll concede nonvolatile memory with just plain old NANDs. May I suggest a [https://en.wikipedia.org/wiki/Diode_matrix](https://en.wikipedia.org/wiki/Diode_matrix)?

"analog components": having Vcc and ground available is an implicit requirement of having a functional NAND gate, and IO could just be some wires mirroring a memory location.

Overall I'd say its a largely accurate statement. All you need is something to set up your initial conditions (e.g. program in memory).

<comment><USER11> We've forgotten how hard of a problem RAM used to be, and how far into the Rube Goldberg we went to solve it.

Things We Actually Did:

Mercury delay lines were tubes full of mercury we sent vibrations through. Those vibrations would reflect around and get detected and read out later. This wasn't, technically, random-access, but it was memory.

Williams-Kilburn tubes were CRTs with _long-persistence_ phosphor, the exact opposite of what display CRTs used, and metal plates on the front to allow the contents of memory to be read out. You could have two identical CRTs, one with the plate to use as RAM and one built into the display panel so the operators could see the contents of RAM in real time.

Core memory was tiny little ceramic ferrite doughnuts woven into complicated metal grids which would change how they were magnetized in response to a sufficient current; their state could be read back out non-destructively, and core was, in fact, nonvolatile. The core modules were woven by hand by women working with microscopes and very steady hands.

Being able to make usable amounts of memory out of components we can just etch into silicon was an amazing advance. Nothing short of revolutionary, really; computers as we know them would be flatly impossible without cheap, plentiful RAM.

<comment><USER2> There's a few of us here combing through the old stuff to see all that old wisdom and tricks. So many clever things. I saw the mercury computers researching old systems of my arch-nemesis, the NSA. The document joked that buffer overflows were a serious problem on those. No shit lol!

The rope memory I read about studying Apollo and Margaret Hamilton's work. Core I saw a bit of watching videos of Burroughs computers, my favorite, being assembled in factories. It was actually kind of mesmerizing watching that old stuff because you can _see_ all the brilliance and intricacies of the device. Today, it's all hidden behind plastic for anyone except labs (eg ChipWorks) that can pull it out. People say, "Why would I pay (obscene amount here) dollars for this little piece of plastic?" One thing I do is show them pictures of old computers without covers saying "It's basically that... with 10x more components... squeezed into that tiny space. What, did you think squeezing a room full of wiring and components into a tiny space cost a few bucks?"

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Fantastic achievement. Would love to know some more details about the project and hardware design.

<comment><USER13> Agreed, this is super cool. I've read the book "Code" a few times, so I understand a lot of this stuff in theory, but I sure don't understand the practice. Awesome work.

<comment><USER14> I read code a couple of times and did Nand2Tetris. I also found the edX 6.004 mit course[1] to be extremely useful to fill in some of the gaps. I'm waiting for part three to start in a couple of weeks.

[1]: [https://www.edx.org/course/computation-structures- part-1-dig...](https://www.edx.org/course/computation-structures- part-1-digital-mitx-6-004-1x2)

</comment></comment></comment><comment><USER15> Does it do pipelining, branch prediction and (hyper)threading? How is its memory hierarchy (cache levels) organized? Does it support a privileged mode? Does it support hardware page faults? Did you implement floating-point operations?

> In order to be able to program it at all, I wrote a very simple compiler > (strictly speaking it's actually an assembler)

Does that compiler/assembler run on your hardware?

<comment><USER16> In a word: no. Processors this simple don't implement any of the features you mention, including multi-level memory hierarchies, and I doubt the author had any inclination to make the assembler self-hosting.

<comment><USER17> I'm not saying one should expect or demand it in a project like this, but minimalistic pipelining should be doable; both the 6502 ([http://www.6502.org/users/andre/65k/arch.html#pipelining](http://www.6502.org/users/andre/65k/arch.html#pipelining)) and (IIRC) the 8080 started fetching the next instruction before finishing execution of the current one, where possible.

<comment><USER18> Do you have an example of a case where this provided a performance benefit to 6502 code?</comment></comment></comment></comment>


China's Plan to Build the World's Biggest Supergrid - <AUTHOR> https://spectrum.ieee.org/energy/the-smarter-grid/chinas-ambitious-plan-to-build-the-worlds-biggest-supergrid <comment><USER2> I must say, as an American reading this, I've got a bit of infrastructure envy. In the mid 20th century, the US was building out massive infrastructure. Now it seems we are no longer capable of such projects. It may be an oversimplification but I think the focus on running every organization like a corporation has led to an inability to handle projects that extend beyond the fiscal year effectively. Instead our largest infrastructure projects are collapsing before completion due to cascading delays, political turmoil and failed private contracts.

<comment><USER3> What's the benefit in modernizing the US's grid faster than it is being done already? Nobody wants to pay more for electricity, and while the Chinese government is motivated by the economic stimulus effect the US doesn't share that goal. If they started tearing down and replacing power lines that today are good enough you would have to pay for it.

<comment><USER4> I would gladly pay double for the price of electricity (or more precisely double for the transmission component of the bill), maybe even triple if you give me a hard sale. The past few falls I've been breathing in air that's more polluted than Chinese air. The reason is because PG&E doesn't have enough money to invest in infrastructure because the rates are kept low by state regulators who only see "cheap power" as their mandate.

<comment><USER5> >that's more polluted than Chinese air.

What city is this? The US doesn't have a single city in the top 500. China makes up about half of the list.

[https://en.wikipedia.org/wiki/List_of_most- polluted_cities_b...](https://en.wikipedia.org/wiki/List_of_most- polluted_cities_by_particulate_matter_concentration)

<comment><USER6> SF during the recent wildfires caused by faulty PG&E infrastructure (local power utility) had the worst air quality index in the world, far beyond any Chinese (or Indian/Pakistani for that matter) city.

<comment><USER7> If PG&E didn't start the fire something else would have.

</comment></comment></comment></comment></comment></comment><comment><USER8> I flew over North West China about a year ago ... at one point there were windmills as far as the eye could see, 100s at a time ... many were clustered around what looked like open cast coal mines and coal powered thermal plants (likely some of the source for Beijing's pollution problems) - they're being really smart using the same grid infrastructure for the wind energy that they've built for coal

</comment><comment><USER9> That will help with the maglevs, tens of millions of electric vehicles, and tens of thousands of miles of bullet trains.

We don't have any of that in the United States...

<comment><USER10> China has a lot of clean energy capacity in the west, but needs it in the east to get away from coal, where a those transportation needs are as well.

</comment></comment><comment><USER11> As I read the (excellent) article, I noticed that there's quite a bit of dissention regarding the overall design of what they're building out.

"power engineers are struggling to master the resulting hybrid AC-DC transmission system.... What has blocked full implementation is an intense debate over the future of UHV ... State Grid's monopolization ... the centralization of grid planning and operation that UHV requires.... unifying China's grid would make it far more vulnerable to cascading blackouts..."

Probably we, on a smaller scale, should have been doing something like this at least 10 years ago. OTOH, China is pushing the envelope ... and when we finally decide to get off the dime, we'll know better what works. So far (I think), we don't have any cities like Shanghai that run 'short of power for several weeks each summer'.

</comment><comment><USER12> The title doen'st highlight enough about UHV. It's probably one of the most underestimated game changer technology that US and Canada also should have.

<comment><USER13> Can you expound on why?

<comment><USER12> There were many coal burning power plants generate tons of dust and smog around increasingly electricity hungry developed areas in east and west coast of China. Those plants are gone because the powers are transfered from far away. Without UHV 's efficient long distance power transfer capability that could not happen.

<comment><USER12> Yes, that's debatable. The party and its supporters could be wrong. But that's another topic on different premise.

The real issue here is many people make verdict based on strong belief based on what they know from media which could be totally fabricated illusion and insist their version of reality is only correct one cause problem.

</comment></comment></comment></comment><comment><USER14> Is it normal for grids to be segregated? I assumed the whole of North America was one grid, Even Europe & Asia I assumed it was all connected. Now after reading this I'm not sure.

<comment><USER15> Interestingly, we have 3 in North America: East, West and Texas.

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

<comment><USER16> The article you linked to says: "The two major and three minor NERC Interconnections, and the nine NERC Regional Reliability Councils." and it also says, "The Texas Interconnection is one of the three _minor_ grids in the continental U.S. power transmission grid. The other two minor interconnections are the Quebec Interconnection and the Alaska Interconnection."

</comment></comment></comment><comment><USER17> Wow. New York City only uses 11 megawatt/hours/day.

"It's like we're all still pedaling our bicycles, while the Formula 1 race car goes flying by." - Gregory Reed

</comment><comment><USER18> New public management and low taxation of the wealthy has been the bane of western society for almost 50 years.

<comment><USER19> Government spending as a percentage of GDP has grown rapidly over the last 50 years. Most of that growth has been in social welfare spending.

Meanwhile, the effective tax rate that the rich pay has decreased only slightly since 50 years, despite a very large decrease in the top income bracket tax rate, due to fewer loopholes and deductions available in the tax code. Their relative contribution to total tax revenue has increased on account of growth in their share of national income.

<comment><USER20> Depends greatly on how you count. Is the Veterans Administration under Defense, Heathcare, or social welfare? At what point does a highly targeted tax break count as spending? How about loans? Do you count debt interest as it's own thing or part of what caused the debt in the first place etc etc.

The US tax code and spending is designed to allow politicians to tell very specific narratives, making this stuff very difficult to measure objectively.

<comment><USER21> For reference.

[https://www.nationalpriorities.org/budget-basics/federal- bud...](https://www.nationalpriorities.org/budget-basics/federal- budget-101/spending/)

60% of US government spending is on Medicare and Health and Social Security.

About 2.3 Trillion.

Interest on debt 230 Billion.

<comment><USER22> Counterargument: That is a blunt lie.

[https://thehill.com/blogs/blog-briefing- room/news/259476-ex-...](https://thehill.com/blogs/blog-briefing- room/news/259476-ex-gao-head-us-debt-is-three-times-more-than-you-think)

[https://fpif.org/americas-global-military-bases-actually- und...](https://fpif.org/americas-global-military-bases-actually-undermine- national-security-heres-how/)

I'd imagine maintaining ownership of 95% of all military bases on the planet costs a little more than the 15 bucks per month my mom got in food stamps.

</comment></comment></comment></comment></comment><comment><USER23> China certainly has very challenging and unique problems when it comes to infrastructures. The sheer size of the population, land mass, the scale of it is staggering.

If only they could open their eyes to democracy and freedom of human rights....then and only then will China be equipped to challenge the American/European hegemony, ushering in a new age of pan-east asian propserity.

In other words, same words, different empire.

<comment><USER24> The average Chinese today would not agree with you. Tell them about American democracy: they see Trump and a mess of irrational, petty infighting. Tell them about European democracy: they see Brexit and a perpetual stall in economic development. Now look to China's leadership: while they may lack the freedoms of Western societies, the trade off has been such an incredible increase in quality of life that people born in 1990 to abject poverty can be living in solidly middle-class conditions nowadays (I know many such folks personally!).

The Chinese people as a whole are only going to agitate for democratic reform when (or if) their system of government stops serving them. Maybe a poor leader will emerge and shock the country into realizing they've centralized too much power; maybe the level of corruption will begin to significantly impede growth; maybe a rise in fortunes will make people yearn for freedoms they don't have.

<comment><USER25> They may see it that way but I'd argue it's a pretty myopic view. The US and the EU do most things better despite their political issues. Only focusing on their flaws is like rejecting free cash because some of the notes are dirty.</comment></comment></comment>


Satya Nadella: Windows 10 will be able to 'run on everything' - <AUTHOR> http://www.wpcentral.com/satya-nadella-windows-10-will-be-able-run-anything <comment><USER2> Similar to NetBSD's mantra: "Of course it runs NetBSD!" NetBSD is notorious for being able to run everywhere.</comment>


The World's Highest-Earning Airline Route - <AUTHOR> https://www.forbes.com/sites/ericrosen/2018/07/06/worlds-most-profitable-flights-this-airline-route-makes-1-billion-annually/ <comment><USER2> The article is critically flawed.

This author is merely regurgitating another blog post [0], and wrongly, conflating profits with revenues. The original post didn't make the same representations.

[0] [https://www.oag.com/blog/billion-dollar- route](https://www.oag.com/blog/billion-dollar-route)

<comment><USER3> In fairness, only the headline uses "profit", and was conceivably changed by an editor. The Forbes article refers to it appropriately as revenue throughout.

<comment><USER4> Does makes $1 billion implies it has a profits or $1B, or could it also mean $1 billion revenue.

I had a little thoughts about this the when commenting on Reddit revenue post, someone said make $1 billion means $1 billion profits. But I often sees Financial Newspaper refer Making x amount of money being revenue.

<comment><USER2> Make (without context) is ambiguous because you don't know what's made.

</comment></comment></comment></comment><comment><USER5> In my tiny little part of the world it would take me 3 1/2 hours to drive 328km to Halifax.

Or pay anywhere from $500 to $900 to fly the 180km as-the-crow-flies distance for a few minutes in the air.

One flight flies 1,300km the wrong way then back, two connections, a a layover and then to Halifax for $1,100.

<comment><USER6> Ever considered learning to fly and flying it?

Have any friends with airplanes that can drop you off?

<comment><USER7> Flying private airplanes is probably the most dangerous common thing you can do.

<comment><USER8> Are there any small enough for the one-parachute-for-plane-and-contents technology that can go closer to the speed of sound (like, go about Mach .8 or so), and rely on pulling into stall to slow down enough for the parachute to deploy without ripping out it's part of the airframe? That should be much safer than the current way when operating small aircraft at speeds where that parachute could not deploy directly.

<comment><USER9> So, they're not nearly as fast as you're describing, but Cirrus does have parachutes on a lot of it's planes: [https://en.wikipedia.org/wiki/Cirrus_Airframe_Parachute_Syst...](https://en.wikipedia.org/wiki/Cirrus_Airframe_Parachute_System)

<comment><USER8> I know, the issue there is that if you deploy a parachute at over about Mach 0.4~0.5, you will either rip the airframe apart or reduce survival chances of large vertebrae due to the massive acceleration. The solution there would be going into _a_ stall, as that usually serves to provide the drag needed to slow down to safe parachute speeds, but not so much that the airframe can't be reasonably build strong enough to not suffer damage that matters if one considers the plane scrap metal once it lands with the parachute.

This is just too slow to get the main benefit of air travel, which is being able to go at barely subsonic speeds without handling being a massive headache. Of course you will have worse handling at barely subsonic speeds, due to any large deflection going transsonic and having the potential to result in loss of control. But that can easily be handled electronically, especially if the plane is at least somewhat aerodynamically stable, i.e. won't require constant corrections to not go into stall (like some modern fighter jets do).

<comment><USER6> If you only have to go a couple hundred miles, the cruise speed isn't a significant factor to the overall trip time. Let the airlines handle the 1000+ mile trips (with all the associated hassles); slower airplanes don't give up near as much time on short legs.

Door to door, I can beat the airlines on most trips under 1000 miles. I don't need to get to the airport 90 minutes ahead of departure, go through security, wait for boarding to complete, wait for pushback, connect through a hub, wait for bags, and can often land at an airport closer to where I want to be and have a rental car or cab waiting. The fact that cruise speed is only 215 mph/350 kph is made up for by all the slippage inherent in airline travel.

<comment><USER8> Yes, the one thing missing that would be being able to start from a normal road, and land on something similar, which could allow pretty much door-to- door is too hard to make work for how many could afford it.

<comment><USER6> In Alaska, Montana, Idaho, North Dakota, and South Dakota, it's legal to land on rural roads.

Even in places where you can't land on roads, there are _WAY_ more airports than you probably think in the US. It's about 19K, with a little over 5K of those being public use. (Even the private ones are often accessible with just a coordinating phone call.)

Of those, fewer than 400 are "Primary" airports (defined as having scheduled commercial service and more than 10K enplanements [commercial passengers outbound] per year).

<comment><USER8> Yes, I know there are many airports. This is about starting from "The next road with sufficiently little traffic that has suitable clearance and curvature to start from", and maybe something like folding wings inwards or so to get it small enough for maneuvering it as a large car.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Looks like this is a re-hash of the data from [https://www.oag.com/blog/billion-dollar- route](https://www.oag.com/blog/billion-dollar-route)

</comment><comment><USER11> Bit stupid crunching it by revenue. Obviously the long routes generate the most rev, but they also have the highest fuel costs.

<comment><USER12> Sydney to Melbourne is #2 and is barely a 1 hour flight.

<comment><USER11> Even a bad analysis can yield interesting datapoints

</comment></comment></comment><comment><USER13> It really surprises me that the Australian domestic flight with Qantas is so high on the list.

<comment><USER14> Judging from the chart at the end, it looks like monopolistic price gouging explains it. It's the third-highest revenue per hour of the entire list, but the total hours travelled is fairly low compared to others on the list. Compare the three North American transcontinental flights: half the revenue per hour margins, but far more hours traveled, or simultaneously the lowest- margin and most-travelled routes on the list.

<comment><USER15> The morning and evening business traffic drives the majority of the profits. You can get to Sydney for ~$100 at the right time of day but I've done MEL-CBR a lot – same direction, not as far – and it's $800 if you want to go at 6:30am and come back at 5pm.

The departures board at the Qantas terminal at 6am is funny. There's a flight to Sydney – a fully loaded 737-800 – every 15 minutes. Over in Jetstar it's the same, Virgin the same.

<comment><USER16> Not quite Japan levels, where from Haneda to various other cities you can have flights that frequent, but all 777s/787s.

</comment></comment></comment></comment><comment><USER17> This article talks about "routes" but only shows revenue by individual airlines. For example LAX <=> JFK has tons of different airlines flying between them while Qantas has near monopoly on SYD <=> MEL route (for corp travel, which is a big chunk).

I'd much rather see overall revenues between destinations summed across all flights operating between them.

<comment><USER18> BA tops the list at 1B revenue NYC to Heathrow. Virgin runs 80% as many flights on this same route, so they should be making in the ballpark of 800M revenue on that route. This is more than a number of other entrants on the list.

So I can only assume that the metric on display is something other than what the title and blog post communicate. It is something like,

        - Select all airline-routes pairs.
        - Group by endpoints and airline.
        - Order by SUM(revenue) DESC.
        - Drop duplicate routes.

That is, for any given route, they report the revenue of the highest revenue airline on that route. They select the top ten routes by the single airline making the most revenue on that route. This is an utterly zany metric and I can't imagine what use there is knowing it, but there you have it.

</comment></comment><comment><USER19> Not surprised about the Vancouver to Toronto flights, its cheaper for me to fly from San Fran to Toronto and back versus flying from Vancouver to Toronto and back as indicated by my corporate flight expenses on Air Canada which usually have some kind of discount applied. This gets worse in the surge seasons when everyone is on holidays.

<comment><USER20> This is unfortunately because Toronto is Air Canada's hub and Calgary is WestJet's hub.

You can get directly to a few places from YVR. But eventually you have to fly through Calgary, Toronto, SFO, SEA, LAX, ORD, JFK, etc to get to many cities.

[http://www.yvr.ca/-/media/yvr/documents/air- services/destina...](http://www.yvr.ca/-/media/yvr/documents/air- services/destinations-brochure_2017_03.pdf?la=en)

</comment></comment><comment><USER21> I am flabbergasted that Qantas has the #2 slot for Melbourne-Sydney! No wonder players like Compass and OzJet tried to shoulder into that market (with little success) 10 or 20 years ago. I know of a couple of friends who live in one city and literally commute to the other every day/week for work, but I didn't realise how many people must to it daily to make this such a cash cow route.

<comment><USER22> Its the second busiest route in the world. It's a very easy flight, compared with driving and train, and is heavy with business travellers, hence the revenue.

It could still use more services, the flights should be cheaper than they currently are.

<comment><USER23> It's not the second _busiest_ by passenger numbers. All of the world's busiest routes are in Asia.

It's the second "highest earning" in terms of fare revenue, however.

<comment><USER22> It is number two in the world by total number of flights per year: [http://www.traveller.com.au/worlds-busiest-airline-flight- ro...](http://www.traveller.com.au/worlds-busiest-airline-flight-routes- melbournesydney-now-worlds-second-busiest-h0e7ha)

It's somewhere around #5 by total number of passengers.

<comment><USER23> Indeed. That's because Qantas and their competitors use a large number of small aircraft on the route, maintaining a high frequency.

If you look at the real busiest routes (by passenger count), like Singapore to KL, they tend to use larger wide body aircraft which carry a lot more passengers per flight.

</comment></comment></comment></comment></comment><comment><USER24> The article has some intriguing detail: contrary to my bias, it seems to be that the routes with the most earnings are highly contested (and not the fringe ones with an immediate monopoly).

But I wonder: has this more to do with a) existing demand and b) high optimization capacity (since the routes have dozens of flights/day and include at least one of the airline's hubs.

</comment><comment><USER25> Sounds like a good short-list of places where you might first build supersonic or hypersonic transport hubs:

[https://www.youtube.com/watch?v=zqE- ultsWt0](https://www.youtube.com/watch?v=zqE-ultsWt0)

[https://boomsupersonic.com/](https://boomsupersonic.com/)

</comment><comment><USER26> SFO - FRA has to be incredibly profitable . Only Lufthansa and Unites fly it (codeshare partners ). Regular economy for the rest of the year is around 2300 USD round trip and closer to the flight it's around 3500. It's completely ridiculous compared to other more competitive routes like London.

<comment><USER27> Is that price without any connections? Because I suspect that flight gets most of its passengers from connections.

<comment><USER26> nor sure I understand the question. it's for a economy return flight (direct). funnily enough you can sometimes get a Lufthansa flight to Copenhagen for around 1000 and that connects through frankfurt. that's because copenhagen is more competitive from SFO. with carry-on that's a way to game the pricing but I heard they cancel the return if you don't check in in CPH.

<comment><USER27> Yes, that's what I meant (and you exemplified), they charge more for SFO-FRA than for a flight that has one of its legs as SFO-FRA

And I suspect most of the passengers on SFO-FRA are from European connections and don't have FRA as their final destination (or initial origin)

</comment></comment></comment></comment><comment><USER28> No China locations, which is interesting. Are high speed trains dominating their domestic market?

<comment><USER29> There are 10-15 high speed trains between each way per day Beijing and Shanghai (4.5 to 5.5 hour journey time).

Planes are nominally faster (2.5 hours), start earlier (6:30am) and end later (last departure is ~10:30pm, whereas last fast train is ~7pm). There are several airlines serving that route, meaning planes leave roughly every half an hour, and tickets can be had for as little as $110 one way (more at more sane hours or if you buy closer to the date of travel).

There are ~10,000 flights in each direction each year.

<comment><USER30> Nominally means "in name only". Did you intend to use a word with a different meaning?

[http://www.dictionary.com/browse/nominally](http://www.dictionary.com/browse/nominally)

<comment><USER31> [https://en.wiktionary.org/wiki/nominal#Adjective](https://en.wiktionary.org/wiki/nominal#Adjective)

>Insignificantly small; trifling.

<comment><USER30> Do you think that accurately describes the difference between 2.5 hours and 4.5-5.5 hours?

<comment><USER32> A flight time of 2.5 hrs is realistically 4.5 hours when you add in security, boarding, deboarding, getting a taxi on the other end...

<comment><USER29> Yup, except:

\- (in plane's favour) taxi lines at train stations in Beijing are much longer than those at the airport

\- (in train's favour) domestic flights in China are often delayed by 30+ mins

</comment></comment></comment></comment></comment></comment></comment><comment><USER33> [http://www.anna.aero/2016/08/31/london-to-new-york-market- an...](http://www.anna.aero/2016/08/31/london-to-new-york-market-analysed/)

Number of passengers between London and New York

</comment><comment><USER34> One of the interesting data points not mentioned is these routes usually use larger aircraft like B747 (BA) and A380 (QF, EK). So the main reason why they are so profitable is primarily down to passenger numbers more than anything else.

</comment><comment><USER35> What would be more interesting to the layperson is the actual profit the airline makes per flight for each of the top routes.

Is there any data on this anywhere?

</comment><comment><USER36> I would love to know SFO > Tokyo as I make the flight 1-2 times a month (Tokyo being a hub in some cases to the rest of Asia).

</comment><comment><USER37> I wonder if it makes sense to compare this to the Shinkansen route from Tokyo to Osaka.

</comment><comment><USER38> I want to know how BA gets away with their ridiculous fuel surcharges.

<comment><USER39> They get away with whatever customers are willing to pay for.

</comment></comment><comment><USER40> What's the SF -> Newark connection I'm missing?

<comment><USER41> United hubs.</comment></comment>


Show HN: Einstumped, a question-based giveaway - <AUTHOR> https://www.einstumped.com

<comment><AUTHOR> A little background - I built it in 2011 as a way to learn web development, and to get rid of a number of gift cards I'd received over the years that I wasn't going to use (birthdays, Christmas, etc). I had a moderately-sized group of users and I kept it going until early 2013, and then decided I should bring it out of "open beta" by redoing it from scratch to apply what I'd learned since originally creating it.

What it is - Users answer and submit their own questions which run on the site for a 24-hour period. At the end of the 24-hour period, a user who answered correctly is picked at random and given a gift card for $5. The same is done for the person who created the question. Right now it's only one question a day (two winners), but I'd like to increase it to 2, 4, 8, etc as the website grows.

I'm more than happy to respond to questions or comments anyone has!</comment>


'Very high level of confidence' Russia used Kaspersky software for NSA leaks - <AUTHOR> https://finance.yahoo.com/news/experts-link-nsa-leaks-shadow-brokers-russia-kaspersky-144840962.html <comment><USER2> Probably fake news in the sense that while somebody was using Kaspersky software to search for the NSA exploits this is exactly what AV software is designed for. The actual problem was that this NSA software was on that computer in the first place and that some unauthorized person could connect to it and run AV to look for it.

</comment><comment><USER3> All AVs can or do send suspicious files to their servers for analysis. Why is this a surprise?</comment>


I took the $300k (2013) - <AUTHOR> http://www.boundary.com/blog/2013/05/i-took-the-300k/ <comment><USER2> $300K, taxed as a bonus after 4 years of working at below market wages? All of those life experiences they could have had in those four years forgone to.. eventually break even.

Tom Preston-Werner is a great developer, probably world class. And he was offered a whopping 300K bonus by a company that earns $220K+ profit per employee annually (with a disproportionate amount of value created by the software engineers).

Lots of opportunity cost, gone. How do we offload this risk to the investors? Demand what you're worth. Take money off the table upfront.

Lesson to the Hacker News readers; you're not going to get rich by being an employee. Start your own company if you want any sort of chance of becoming rich. Otherwise forget the extra hours, live a balanced life, play with your kids, love your /(boy|girl)friend/ or spouse.

<comment><USER3> "you're not going to get rich by being an employee"

I disagree. If you're looking at every little startup idea, then yes...you probably won't get rich. Also, you won't get as rich as the founders; however, I have plenty of friends in the industry who have made millions (the typical goog, fbook, yada yada). I think a better suggestion is to shake out the idea before jumping on. I've made poor choices money-wise and I've made great choices in the past (very similar to equity investing)...

"Otherwise forget the extra hours"...

I think there's something in between. As a founder, it's a ridiculous amount of hours / extra stress, etc. Or you can work as an employee and give some extra but still realize it's a job and you aren't a founder. You don't have to work 80 - 100 hour weeks simply because you're at a startup. It's a pendulum with being a founder on one end and being a checked out employee at megacorp on the other. You can work tons of hours at a megacorp (mckinsey, etc.) or.. you can work a reasonable number of hours at a startup.

<comment><USER2> 92% of startups fail. For most, it's not going to turn out pretty.

Apparently your friends are incredibly good at choosing startups; they should be VCs.

<comment><USER3> "92% of startups fail. For most, it's not going to turn out pretty."

And if you're a founder you have those same odds, no? With more skin in the game, being a founder in those cases is probably even worse, too.

I think all I'm suggesting is in the risk-reward decision, it's more complex and subtle than just go be a founder if you're going to do the startup thing as that's the _only_ way it's worth it.

"Apparently your friends are incredibly good at choosing startups; they should be VCs."

Some of them are; however, some are relatively happy going from startup to startup (fairly early) getting things done. I'm sure some of those will hit well and others won't.

<comment><USER4> I don't think it is the same odds. The number of startups in which employee 500 gets rich is vanishingly small. The number in which employee 3 gets rich is higher. On the other hand, you'd need 500/3 such startups to counter the first kind. I don't know what the actual numbers are.

<comment><USER3> I'm sorry. I didn't mean to imply employee 500. Employee #10, for example or even employee #50 could still do substantially well (similar to what you allude to in saying "the number in which employee 3 gets rich is higher")

</comment></comment></comment></comment></comment></comment><comment><USER5> Not to digress from the point of the blog post, but that is one truly fantastic logo that Boundary has.

<comment><USER6> I will call your digression and raise with a further digression: there really seems to be an abundance of these cloud metric startups now. It's quiet bewildering to think the trivial python scripts I wrote in '09 to gather server and application stats (tomcat) could've been the basis for one of these. If only I'd had the vision.

<comment><USER7> > If only I'd had the vision.

And the ability to execute, and the confidence to risk your livelihood.

</comment></comment></comment><comment><USER8> Discussed at the time: [https://news.ycombinator.com/item?id=5771558](https://news.ycombinator.com/item?id=5771558).

</comment><comment><AUTHOR> Posted in light of BMC acquiring Boundary: [http://venturebeat.com/2015/08/18/bmc-has-apparently- acquire...](http://venturebeat.com/2015/08/18/bmc-has-apparently-acquired-app- monitoring-startup-boundary/)

<comment><USER9> And as someone who also was acquired by BMC, the interesting bit for me was that the acting CEO of Boundary was a guy named Larry Warnock, who had another company that was acquired by BMC, Phurnace, for what I expect is roughly the same amount of money as Boundary was acquired.

Relationships make a big difference with big company M&A.

</comment></comment><comment> bro-stick Oh yeah. Startups try to hire me outright all the time for below market salary when I could land in a bracket $250-380k at Google, Twitter, wherever. If they are, I say "I'm flattered but I have other plans." I laugh them out the door if they're not clients. I'd rather build something other people think is great, even if it's not imminently gigabuck-scale, with my own two hands (and whomever else I can rope in with equity and a fun vibe) than build someone else's vision at a discount.

Equal equity among initial founders or it's a nonstarter. Avoid the PHB enterprise single founder chief whom treats everyone as employees to be managed and hoards equity... that sort of shop will get angels and mentors and bleed them dry.

<comment><USER10> > Equal equity among initial founders or it's a nonstarter.

I'm about to have to make a decision like this and could do with some advice. A friend of mine (3D artist / graphic designer) tells me he knows two people who want an app doing. It turns out they're just starting a new company and the app is going to be the product. They have already sold it to one customer and have others in the pipeline.

I discuss the app with them, set out a specification / timeline / cost that they like. But then they start with: Can you set up our email? (yes). Can you do us a website? (yes). Can you do a webapp that the customers can use in coordination with the app? (yes). Etc. etc.

So I say: look, I can do all this stuff but it's going to be a pain to keep charging all the time and then there's going to be support costs on top. I like that your sales driven and seem pretty intelligent and we've got along pretty well so far. How about instead of or as well as cash we talk equity?

They think about it and get back to me yesterday and say yes, they've had a chat about it and would like to do that. We're going to meet tomorrow to discuss a package they've worked out for me.

So what equity should I negotiate for? They have no technical experience and it seems to me that I will basically be doing everything at least to start with. One of them is sales and the other is going to be managing the business (which I have no experience of, I've never been a "founder" before).

<comment><USER11> Wait, so they're offering you cash (I'm assuming at standard $200/hr consultant's rate), and you instead are asking for a unicorn (shares of something that has a statistically tiny chance of ever generating a good profit)?

That just boggles my mind.

<comment><USER12> I completely agree. Regardless of what your rate is, unless you super believe in the product, why are you trading cash for equity?

<comment><USER10> Well, first off there's my ignorance and fear. I've never consulted before and every time I try and charge a rate for work people just slam the phone down, literally. I've tried £50/hr, £40/hr, and now £20/hr. In my day job I get about £25/hr. This is in the NW of the UK and not near any major cities. Secondly, I figure that if the product fails I'm likely not going to get paid anyway, so if I'm going to be taking the risk I should share in any equity reward.

<comment><USER13> >>> I try and charge a rate for work people just slam the phone down, literally

Good for you. These people aren't the ones who you'd like to work with anyway, very likely to be toxic clients.

>>> I've tried £50/hr, £40/hr, and now £20/hr

By lowering your requerements, you are attracting more slamming-the-phone clients. Stick to at the very least 50/hr (if I remember well, ~400/d is a common rate for contractors in North, e.g. Leeds). Raise it to 75/hr if you are not junior. It will take longer to get a gig, but it will pay off.

>>> This is in the NW of the UK

Damn, I miss Manchester :) sorry for getting carried away :)

>>> I'm likely not going to get paid anyway

Why wouldn't you? You are not a charity organization, you shouldn't be providing free work. You are providing a valuable service, so you should charge the appropriate rates. You don't owe anything to anyone.

Also, if you are willing to work cheap / for free, you will be treated poorly more often than not.

So raise your rates, be patient, don't let others take advantage of you and everything will be alright ;)

<comment><USER10> I think the problem is that I have a very limited market due to my location, though? If I demand decent pay for my work I may have no work at all. Supply and demand and all that?

<comment><USER13> There's truth in it, but at the same time, we are in one of the most remote work friendly industries. Check out threads by [https://news.ycombinator.com/user?id=whoishiring](https://news.ycombinator.com/user?id=whoishiring) and post there too (a while ago posted there, got a decent gig offered in a few days), you should be able to find something :)

<comment><USER10> I appreciate everyone's comments, but this doesn't help me with what I'm supposed to do tomorrow besides: "get a decent consulting gig."

<comment><USER11> Tomorrow you go in, and tell them that you want to get paid for the work you've done so far, and you want to get paid now. If they start with any excuses, you simply get up and leave. Lesson learned (hopefully). If they agree, you get paid, and then establish your pay rate going forward. I recommend charging a market rate (whatever a good software engineer will charge you in your country for similar type contract work). Oh, and make sure you have a good looking portfolio (or github account).

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Good reading. What I take away from these stories is that... Work or no work, family or no family, one way or another, people who are willing to put the effort to implement an idea into a 'startup', always find a way.

<comment><USER15> Survivor bias...

<comment> bro-stick For most people, they're not going to die or starve to death if their startup fails. I literally have no money and live in a van right now, but it could be far, far worse so I have no complaints. Hit the reset button and try again.

People all the time even have spouses and families and manage to pull off respectable M&A events.

If someone doesn't try, they have to live with themselves and their regret for not answering the question of "could I have built something other people think is great?"

It's whether a person has the stuffing to schlep hardcore and drag themselves over the finish line.

Life's strategy is pure and simple:

Pick your battles carefully, and never give up.

Anyone whom has the courage and the inclination can and should experiment often to see if they can hit on something viable. Because unlike the lottery, it's possible to make a few bucks with passive revenue apps without much effort.

<comment><USER16> I've got to agree with survivor bias here. The path to success is littered with failed startups. You're ignoring a lot of data to conclude that most people aren't going to starve if their startup fails. Not everyone can survive living in a van.

<comment> bro-stick Sure, it's survivor bias for people whom aren't willing to put in the schlepping and defer gratification that other people are willing to do. It's not survivor bias for everyone in all circumstances, by proof that I have friends that exited to an enterprise brand everyone knows on Sand Hill Rd. for 8 figures. There is no a 100% formula, but the timing, team dynamic, execution, business model/idea and connections/successes can put one in a far better position than say some enterprise manager wantrepreneur falling in love with their "one great idea."

Honestly, I'm a junior wantrepreneur apprentice too until getting to balancesheet positive at least into the six-seven figure range.</comment></comment></comment></comment></comment>