The Art of Punctuation - <AUTHOR> https://www.nationalreview.com/magazine/2019/09/30/the-art-of-punctuation/ <comment><USER2> "Hopefully, the professor will be able to seriously take the work on which I am presently engaged, which is, I believe, rather unique."

"Hopefully" modifies "be" and is relocated to reflect colloquial speech patterns. Banning split infinitives is a legacy of trying to bend English to Latin grammar rules. "Presently" _is_ a synonym of "Currently".

Looks like a perfectly cromulent sentence to me.

<comment><USER3> To me, "to seriously take" sounds strange not because it's split infinitive (there's nothing wrong with that), but "seriously" is not just an ordinary adverb here: it's a _complement_ of the verb _take_. "To take the work seriously" is a very different thing from "to take the work," while "to engage the work seriously" is basically the same as "to engage the work," except more seriously.

And I don't think "seriously" (or a similar adverb), when used as a complement of "take," could just move around freely. Just like you can't say "I away chased the dog."

* And, while we're at it, it's a bad idea to take seriously (haha) anyone who thinks split infinitives are wrong. You can find tons of amusing writings by actual linguists here: [https://languagelog.ldc.upenn.edu/nll/index.php?s=Split+infi...](https://languagelog.ldc.upenn.edu/nll/index.php?s=Split+infinitive)

(Spoiler alert: they think the rule is BS.)

</comment></comment><comment><USER4> > But if the meaning is clear, I would ask students, why bother eliminating > these mistakes? The answer is because not to do so is to risk offending > people who know better, the educated, a small group, to be sure, some would > even say an endangered species, but one that tends to be touchy about such > matters.

I think you should "follow the rules," not out of fear of offending someone but because following these guidlines results in writing that is easier to understand. Even when the "meaning is clear," it can be made more clear (and have a greater result).

Compare

> Hopefully, the professor will be able to seriously take the work on which I > am presently engaged, which is, I believe, rather unique.

with

> I hope the professor will take my unique work seriously.

<comment><USER5> There's a common argument that the purpose of language is communication, that mistakes don't matter if the desired information is communicated, and that prescriptive rules for punctuation and grammar are merely pedantry.

However, that argument is self-defeating. The purpose of language is obviously communication, yes. Mistakes might not hinder communication in some cases, sure. The rules of grammar have changed throughout history and are somewhat arbitrary, granted.

However, as the ideas one wishes to communicate become more complex, abandoning the greater set of grammatical tools makes ones sentences more difficult to read. I see this all the time in _professional environments_ of all places. I frequently have to reread communications because someone was too lazy to proofread.

And as for language changing through time? It does. But that's not carte blanche for making whatever changes one wishes. Language change has to come about by collective agreement, not by some cowboy who doesn't like grammatical rules.

<comment><USER6> I try to operate under the principle of taking care to be clear with what I say or write and to take care to understand what I hear or read. (It's the human version of internet protocols or combinational logic levels.)

This is a very strong position if you care about trying to transfer thoughts from one person to another, but there are two problems. The first is that the people you are interacting with might not share the same protocol, which can be frustrating (even with just slight variations in levels of effort), and the other is that not all communication is about transferring thoughts.

Normative statements about how communication ought to occur, like whether one needs to follow prescriptive rules, are akin to the way engineers debate an API design. In the end, it is about setting a boundary that determines who has to do what work. The more clear you are (and clarity can take quite a lot of effort!) means less work for the recipient (which, if it is something you think they must know, then it might be worth it). The more effort you put into understanding someone means less work for the speaker/writer (which, if it is something you want to know, then it might be worth it). Conflict arises when there are different expectations, here like anywhere else -- for example, two housemates with different expectations for cleanliness.

Many people believe at some level that if they say something, then the utterance has exactly the meaning they intended it to have. This is despite the fact that symbols have no inherent meaning, but rather they are constructed to trigger something in the mind of the recipient. Such people might actively resist answering any questions for clarification since they believe they were clear enough and don't need to do any more work. They might think the question comes from a place of pedantry since _they_ know what they meant.

There are some people who don't care to be clear and don't care to figure out what you are trying to say. Some people even add a bit of noise into their interpreter if it's something they know they don't want to understand, for whatever reason that might be.

When one person corrects or questions the speech of another, this is sort of a side channel, communicating either "I want you to be clearer" or "I am taking care to understand you." Unfortunately, there is not a good way to distinguish between the two without knowing the person well enough. Lots of talking is just to maintain a relationship of some kind, and highly precise language can be inappropriate since sometimes all someone wants is to be heard, even if not 100% understood.

It's nice when two people know the channel model well enough, so to speak, to be able to have high-bandwidth low-effort interactions.

<comment><USER5> The high-bandwidth, low-effort interactions you're talking about might only work with quick, two-way exchanges, as in a spoken conversation. In that regard, I definitely have a weird English variant among friends. I enjoy the broken English of so many memes.

There's an additional layer of language where you can switch to a different variant of the rules as part of communication. Speaking in another register defines the tone of the interaction.

But I'd still like to defend standard English as the default even in informal groups, because the standard makes it readily accessible to many people and ensures as much permanence as one can get from language.

All that said, I have one more flip-flopping disclaimer. I think some of the rules agreed upon before are really dumb. Putting punctuation in quotation marks if the punctuation is not from the quote is monstrous. I will not follow that rule in any context.

</comment></comment></comment></comment><comment><USER7> Relevant ([https://www.stilldrinking.org/nobody-understands- punctuation](https://www.stilldrinking.org/nobody-understands-punctuation))

<comment><USER8> Unrelevant, but still great:

[https://www.stilldrinking.org/programming- sucks](https://www.stilldrinking.org/programming-sucks)

<comment><USER9> Hilarious, and remarkably close to reality too, sadly.

</comment></comment></comment><comment><USER10> > _In 1927 in New Jersey, a man named Salvatore Merra was wrongly executed > because of the want of a semicolon in a jury's sentencing_

Here are the actual words that led to his execution:

"In the Merra case the dissenting justices pointed out that the jury's verdict was originally recorded as follows:"

 _We find the defendant Salvatore Merra guilty of murder in the first degree and the defendant Salvatore Rannelli guilty of murder in the first degree, and recommend life imprisonment at hard labor._

"which was amended by the trial judge to read:"

 _We find Salvatore Merra guilty of murder in the first degree. We find Salvatore Rannelli guilty of murder in the first degree and recommend life imprisonment._ [1][2]

It does seem like an injustice happened here. The jury's verdict as originally recorded is a little ambiguous, but to my mind, the recommendation of life imprisonment would seem to apply to both. Although this doesn't seem like a comma vs semicolon issue so much as a judge taking liberty to change the wording and not clarifying the intention with the jury. The straightforward thing to do during the appeal would've been to find the jurors and ask them what they meant; I guess that wasn't (legally) allowed.

[1] [https://law.justia.com/cases/new-jersey/appellate- division-p...](https://law.justia.com/cases/new-jersey/appellate-division- published/1953/27-n-j-super-101-0.html)

[2] [https://www.courtlistener.com/opinion/3586846/state-v- merra/](https://www.courtlistener.com/opinion/3586846/state-v-merra/) [from the Supreme Court of New Jersey]

</comment><comment><USER11> Despite decades of training, it still rankles me to use a bare apostrophe for the possessive of a proper noun ("Moses'.") I've never pronounced it that way, and neither has anyone else, that I've noticed.

</comment><comment><USER12> Relevant book: Eats, shoots and leaves

Amazon: [https://www.amazon.co.uk/Eats-Shoots-Leaves-Lynne- Truss/dp/0...](https://www.amazon.co.uk/Eats-Shoots-Leaves-Lynne- Truss/dp/0007329067)

Wikipedia: [https://en.wikipedia.org/wiki/Eats,_Shoots_%26_Leaves](https://en.wikipedia.org/wiki/Eats,_Shoots_%26_Leaves)

</comment><comment><USER13> > "Hopefully, the professor will be able to seriously take the work on which I > am presently engaged, which is, I believe, rather unique." The meaning of > the sentence is clear enough, though it contains four mistakes.

I don't mean to brag, but I got 0 of 4 on both the first, initial reading _and_ the second reading. :)

<comment><USER14> Only 2 of those are valid. The battle against "hopefully" as a sentence adverb was lost decades ago, and there was never a strong argument against split infinitives.

</comment></comment><comment><USER15> This remind me of the excellent read 'Dreyer's English: An Utterly Correct Guide to Clarity and Style', if you are interested in stuff like this. I cannot recommend it enough. But, be warned, your friends and family might think you have turned bonkers reading a "grammar book" voluntarily.</comment>


Run your SaaS Product in Enterprise Mode - <AUTHOR> http://blog.shazino.com/articles/dev/run-your-saas-product-in-enterprise-mode/

<comment><USER2> This looks like excellent advice! I'm just in the process of automating my set up into a set of canonical ansible playbooks, and this is just another reason to do so.

Perhaps this will be even easier with the rise of docker: You ship your customer a VM that's also a docker host, you have a private index where you push new versions of your app containers , and the customers pull the new versions. Would this be workable do you think?

<comment><AUTHOR> I haven't really looked into docker yet. So I can't guarantee anything, but it should be feasible yes.</comment></comment>


Show HN: Where SF public transit breaks rules - <AUTHOR> http://oddball.eskibars.com/#speed-heatmap <comment><AUTHOR> I've been collecting SF MUNI's GPS info (including speed, current position) for the past 2 months and comparing it to what should be happening (speed limit, route). This is a heatmap of where MUNI speeds most often.

Full source available at [https://github.com/eskibars/Oddball](https://github.com/eskibars/Oddball)

</comment><comment><USER2> This is cool--could be interesting to show choke points as well (e.g. high traffic areas, which bus lines to avoid), and maybe some time context so you can see how the buses are on average at, say, 9AM.</comment>


Programming 'language': Brain scans reveal coding uses same regions as speech - <AUTHOR> https://medicalxpress.com/news/2020-06-language-brain-scans-reveal-coding.html <comment><USER2> I often wonder how much human languages, math, music, programming, and other symbolic endeavors overlap...</comment>


DOS on Dope: The last MVC web framework you'll ever need - <AUTHOR> http://www.secretgeek.net/dod_intro.asp <comment><USER2> _In DoD we embrace the NoSQL movement and jump straight to the data-store of the future: a CSV file._

I can't wait for COBOL on Crank. Or Assembly on Acid.

(Sorry. I just had to do that. Don't know what's wrong with me today.)

Good stuff. Many times you can say more with satire than you can with diplomacy. Other times you're just being snarky. Tough call.

<comment><USER3> There's already Cobol on Cogs: <http://www.coboloncogs.org/INDEX.HTM>

<comment><USER4> But COBOL on Crank just sounds better. Add Jason Statham typing away and well...you have something (not sure what exactly).

<comment><USER5> Definitely not the feel-good movie of the summer, that's for sure.

</comment></comment></comment></comment><comment><USER6> _If you can't trust public visitors from the internet, who can you trust? Executing user input as commands inside the operating system is the most direct way to get things done, and that's what matters most. Isn't it?_

<comment><USER7> _Whenever I've opened up a DoD website to several users, my hard drive tends to get wiped long before I discover performance issues._

</comment></comment><comment><USER8> Does this work on DOSBOX? because I'm really interested in the project and want to deploy it on my linux boxes.

<comment><USER9> Nope.

It's not really using DOS, just the Batch interpreter of Windows shell (cmd.exe in NT). Some core source files are written in C# and VB, and there are referneces to VS 2003 in an XML config file.

[http://dod.codeplex.com/SourceControl/changeset/view/9785ed4...](http://dod.codeplex.com/SourceControl/changeset/view/9785ed4d623a)

Furthermore, AFAIK, DOSBox has no TCP/IP capabilities, but it emulates IPX and null/modem connections on top of the host's network stack.

Edit, from the tutorial:

        /snip/ All the files you need for a modern MVC
        application. Built on batch files.

        IIS is a little hard to control from the console,
        so you'll need to open IIS manager and register
        your site manually. Read the sidebar about how
        to do that.
        (If we were using apache, tomcat or webrick we'd
        be able to do this from the command-line with
        ease. If I took this project more seriously, I
        would have written a custom DOS-based web-server.
        But then I guess I would've been an even more
        depraved individual, so for now we're stuck with
        IIS.)

<http://dod.codeplex.com/wikipage?title=GettingStarted>

</comment></comment><comment><USER10> finally someone that brings the joy of batch scripts to the web

</comment><comment><USER11> Bonus: CSV supports sharding.

</comment><comment><USER12> The company I am working at actually does something like this. Cgi with bash, awk and sed. Painful to code and at times limiting, but blazing fast.

</comment><comment><USER13> Wow! Just wow! I guess I need a windows box to use it.

<comment><AUTHOR> lol, yes! You need Windows box. I don't know about the usability, but the concept is just awesome. :)

</comment></comment><comment><USER14> I love it. So subtle irony towards the MVC...

</comment><comment><USER15> I feel a little bit sick.

</comment><comment><USER16> Its like Back to the Future! I feel like I'm in 1985!

This is very cool.

</comment><comment><USER17> This almost made me gag and weep at the same time.

</comment><comment><USER18> Wait ... when did _we_ start bashing MVC?

</comment><comment><USER19> Now I realized why PHP developers selected '\' as a namespace character!</comment>


Cool It, Krugman - <AUTHOR> https://www.theatlantic.com/magazine/archive/2020/01/review-paul-krugman-arguing-with-zombies/603052/ <comment><USER2> I knew nothing about Krugman before reading this piece, which I enjoyed, but in general I'd rather hear perspectives from people who are in the action, rather than just studying things from the outside. Plus, ranting and moralizing aren't good looks.

View my comment on Readup: [https://readup.com/comments/the-atlantic/cool-it- krugman/zjv...](https://readup.com/comments/the-atlantic/cool-it- krugman/zjvLMz)

</comment><comment><USER3> You can listen to opposite opinions and critique of Krugman by Robert Murphy and Tom Woods at [https://contrakrugman.com/](https://contrakrugman.com/)

</comment><comment><USER4> Krugman is a brilliant and articulate man. If he lumps all conservatives together in order to demonize them, it's small potatoes compared to the barrage of insults and disinformation directed by conservatives towards liberals. Is this article a case of "it's only bad when Democrats do it?"</comment>


Does Tire Rotation Include Tightening Lug Nuts? Michigan Court Concludes 'No' - <AUTHOR> https://jalopnik.com/does-tire-rotation-include-tightening-lug-nuts-michiga-1839270921?mc_cid=b9320225f2&mc_eid=6b1c632b65 <comment><USER2> Sensationalist title and article but even from the article's description the ruling seems much more reasonable that claimed.

If I understand correctly:

Garage was sued in part for violating a consumer protection law that protects against unfair and deceptive practices like " _charging for repairs that are in fact not performed_ ".

The court ruled that the garage has not violated that law because they had in fact performed the tyre rotation. The issue was rather that the rotation was performed _incorrectly_. Presumably if the rotation had not been performed the customer would not have lost a wheel in the first place...

Sounds reasonable to me.

If the issue is one of recovering legal costs then that should be addressed specifically in law.</comment>


Apple sues Qualcomm in China - <AUTHOR> http://www.wsj.com/articles/apple-sues-qualcomm-in-china-1485377565 <comment><AUTHOR> Apple also filed suit against Qualcomm in the US last week tanking their stock

[http://www.forbes.com/sites/aarontilley/2017/01/24/apples-1-...](http://www.forbes.com/sites/aarontilley/2017/01/24/apples-1-billion- lawsuit-against-qualcomm-is-direct-assault-on-chipmakers-business- model/#139673b43ecb)</comment>


Show HN: User Testing for the Lean Startup - <AUTHOR>

http://www.betapunch.com:
Sign up / Submit startup, get a unique URL to launch our screen recorder, share the link with your beta sign ups or anybody you want to test your site, they record and upload their video which sends the feedback directly to your startup page.
Each startup gets a unique URL to share with testers. Send the URL to them via email or place the URL on your website. For the screen recorder I am tapping into the Screenr.com API.
Would love to hear the HN community opinion and if it is something you would use to get usability testing for your own startup.
Currently our free trial only allows for 3 user tests and then your URL will be disabled from receiving future recordings. But I would happy to dish out more free tests for people who provide me with feedback for BetaPunch.
Keep in mind you source your own testers, we only provide you with guaranteed testers from our community if you choose the paid plan.
Our paid option is $39 which allows for unlimited user tests via the URL we provide you and we also guarantee 3 user tests from members of our community.
Look forward to your feedback =) <comment><USER2> I like the idea and service you've built! Congratulations

I do think, though, that the video explanation is a bit long and convoluted. It took me a while (almost 2 minutes into the video) to understand what exactly you where offering.

The explanation could be simpler, like:

Embed code in your site -> Your users can send you videos of their experience with it</comment>


A Node.js opensource lib to send transactional notifications, what next? - <AUTHOR> https://github.com/notifme/notifme-sdk? <comment><AUTHOR> Hi, I developed this SDK to help save time when integrating transactional notifications. I'm looking for other ideas to work on as opensource projects.

What else do you think would be useful for your projects?

\- Perfect deliverability?

\- Cost reduction?

\- Template definition?

\- Devtools?

\- Other?</comment>


Apple posts details about Snow Leopard - <AUTHOR> http://www.tuaw.com/2008/06/09/apple-posts-details-about-snow-leopard/ <comment><USER2> It's a little misleading to say bug fixes only--they're introducing a bunch of new core technologies (can't say anything else, since it's all under NDA).

And focussing on performance is a great idea--when has any company ever had the backbone to do that before, in a major software release?

</comment><comment><USER3> Is anyone else quite disappointed in this announcement? I was not happy with my Tiger->Leopard upgrade, and Snow Leopard is simply... Apple _fixing_ Leopard. Making OS X a stable OS (again)... Snow Leopard is going to be what Leopard should have been in the first place.

<comment><USER4> I'm pretty excited, actually. There are a lot of rough edges on the operating system that affect me, one of which is the support for FireWire audio interfaces using the standard built-in Core Audio driver.

It's not a new feature, it's an existing feature, but for me the experience is painful. It's not sexy but it's smart and it's not like they were going to release a new feature-filled OS by next year anyway. Better to have a solid base on which to innovate even further later down the road.

</comment></comment><comment><USER5> I think they said it'll be the first 64-bit Mac OS. So, hey, good on 'em.

<comment><USER6> no. leopard is already 64-bit, today.</comment></comment>


Show HN: Noted Code - <AUTHOR> https://notedcode.com

<comment><AUTHOR> The course is also asking us to create a kickstarter-style page, which I've got at [http://notedcode-bitstarter.herokuapp.com](http://notedcode- bitstarter.herokuapp.com)

</comment><comment><AUTHOR> I'm building this as a project for the Coursera Startup Engineering Course, and thought that you might find it interesting here too.</comment>


A 1970s Essay Predicted Silicon Valley's High-Minded Tyranny - <AUTHOR> https://www.wired.com/story/silicon-valley-tyranny-of-structurelessness/ <comment><USER2> Of all tyrannies, a tyranny sincerely exercised for the good of its victims may be the most oppressive. It would be better to live under robber barons than under omnipotent moral busybodies. The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for our own good will torment us without end for they do so with the approval of their own conscience.

\-- C. S. Lewis

</comment><comment><USER3> Readers of this article might be interested in the various discussions of Jo Freeman's essay on HN:

[https://hn.algolia.com/?query=THE%20TYRANNY%20of%20STRUCTURE...](https://hn.algolia.com/?query=THE%20TYRANNY%20of%20STRUCTURELESSNESS&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

The most recent was this one, four months ago:

[https://news.ycombinator.com/item?id=17585104](https://news.ycombinator.com/item?id=17585104)

</comment><comment><USER4> Exactly the reason why Communism/Socialism fails.

In these political/social systems, The Powers That Be are informal and no one can challenge them, leading to all sorts of distortion of the socioeconomic system.</comment>


What's new in Padrino 0.11 and 1.0 - <AUTHOR> https://speakerdeck.com/daddye/padrino-framework-0-dot-11-and-1-dot-0

<comment><USER2> Best feature of Padrino: multiple apps! [https://speakerdeck.com/daddye/padrino- framework-0-dot-11-an...](https://speakerdeck.com/daddye/padrino- framework-0-dot-11-and-1-dot-0?slide=25)

Having to deal with the jankiness of Rails engines on a daily basis (on a client project), this feature would have been a life saver.

<comment><USER3> So, you might either rejoice or be angry that we have a similar feature in the works. Currently, its for code-sharing only, not assets. See the discussion on how we address our personal pains with engines.

<https://github.com/padrino/padrino-framework/pull/1007>

<comment><USER2> Rejoice of course! Would be really nice to still have the option of not wrapping of course, but distributing some apps via Gems is a nice feature too.

<comment><USER3> No existing functionality was harmed in the making of this feature :).

Multiple apps are not going anywhere, especially because they are a very nice way of seperating things without the overhead of having a gem somewhere else that is hard to keep track of.

Actually, the initial commit didn't even touch any existing methods.

</comment></comment></comment></comment><comment><USER4> One more question; Could you name me some more reasons why I should use padrino 1.0/sinatra instead of rails for my next startup or client project? (I may reuse them with my team and clients). I am aware from your presentation of speed, non-opinionated aproach etc, but appreciate some more technical advantages/disadvantages for an HN discussion..

<comment><USER3> As someone who has multiple Padrino apps running at customer sites:

\- Almost nothing is activated without explicit choice (except security- related things and really default things, like sessions, mind you). This mitigates the risk of attacks that hit a component that you didn't implement without knowledge. See the XML-parsing attack on Rails (CVE-156) for that hit everyone, even if they were not conciously accepting XML. Padrino users using MiniXML would be affected, but those are only the ones that actually know that they are using it.

\- You can learn the whole stack in just a few days. And by learning, I mean: including reading and understanding most of the source. This makes it much easier to get new people on board that didn't learn this specific framework for a few month already.

\- Everything that can be changed can be changed via an API. (Almost) no need for monkey-patching.

\- Very Rack-friendly. Programming Padrino well means that you leverage a lot of technologies that are standard in the Ruby anyways.

\- No unneccessary magic for saving a few lines. The whole bootstrap-process is very straight-forward. If you want to know why something happens, its very easy to figure out the series of events from your code.

\- Very low on stack frames. I hadn't figured that out before, but that makes debugging that much easier.

\- Theres another thing that I call "load to memory", for lack of a better word: the mental overhead to understand and remember how that part of the framework that you are currently working with really works is low, so its easy to get it into your head once you need it.

\- Its _very_ flexible. Everything that Padrino _doesn't_ do also means that you are free to implement things and it won't break during releases. For example, it doesn't really expect a fixed application layout - its just a very well chosen set of default load paths. If you want to change that: go ahead - organize your project in a fashion that makes sense.

\- The best convenience parts of Rails (I18n and active_support) are available to you.

And finally: a completely different philosphical approach. We don't serve omakase, we provide you with fresh ingredients, pots and pans, because we believe that _you_ are the best chef.

<comment><AUTHOR> I wouldn't able to explain better!

</comment></comment></comment><comment><USER4> I use Sinatra a lot, and like the convergence of Padrino towards node and other javascript stuff. After reading the presentation few questions in my mind?

1) Is the routing an extended version of Sinatra's? 2) Is the throughput boost already there in padrino or sinatra?

<comment><AUTHOR> Actually the our router is totally different, is http_router, which is something very complex and full featured, the new version of Padrino 1.0 will use instead an extended version of sinatra.

2) Yep and will be more and more in 1.0

</comment></comment><comment><USER5> The slides are awesome! Great work. I also like speakerdeck a lot.

<comment><USER6> thanks!!! :) we put loads of hard work to make them happen! :) the next batch will be definitely more interactive! ;)

</comment></comment><comment><USER7> Beautiful slides with so many information about Padrino. They helped me a lot!

</comment><comment><USER8> I really like padrino except one thing. The lack of automatic HTML escaping in templates in the rails style. Is there any plan to implement that?

<comment><AUTHOR> Yep! We will do!

<comment><USER8> Awesome, Padrino is the nicest web framework I have worked with so far.</comment></comment></comment>


Magic Leap raising up to $1B in new round - <AUTHOR> https://techcrunch.com/2017/10/12/ar-mystery-startup-magic-leap-looking-to-raise-as-much-as-1b-in-new-round/ <comment><USER2> I'm guessing they will announce an immersive universe with a lot of pop references to the '80s where you can transact business, go to school, or just adventure :-).

More seriously, the last time a company spent this much money in a vacuum it did not turn out well for them. I'd love to believe they have an idea worth billions but struggle to come up with any plausible way to imagine such a value without major dependencies on a much bigger ecosystem. (see Occulus Rift and the computer gaming industry as an example of inter dependence issues)

<comment><USER3> > the last time a company spent this much money in a vacuum it did not turn > out well for them.

And the one before that, the iPhone, was the most successful product of all time.

<comment><USER4> The iPhone was not built with venture money. Your comparison does not hold at all.

<comment><USER5> While I agree the situation was very different, arguably the iPhone was built with venture money.

NeXT did receive venture funding (which obviously became the core os MacOS and iOS). Fingerworks, was also a key acquisition. I can't find any information about the funding Fingerworks received, but being a university spin out it seems likely that they received at least seed funding.

<comment><USER4> Oh geez, if you want to play the linear game, you can even trace the Android development to the Roman empire.

To put the conversation back in a grounded and reasonable list of arguments, let's start with the premise that technology != business.

So even if the tech that Magic Leap is creating is so great, by the time they go to market, they will be competing with an ecosystem already in place. Apple will have all the apps that have been built with their ARKit (not to mention their App Store monetization strategy). Sony, FB/Oculus, HTC and MS are already at the infancy of developing something serious there. If Magic Leap came out with a product _today_ , they are already starting behind.

If we take in consideration price point, it even becomes a more challenging scenario.

</comment></comment></comment></comment></comment><comment><USER6> You guys remember when Color raised $50m with no product and the valley went ape and started screaming bubble?

Talk about quaint compared to today.

ML has a very serious risk of spending hundreds of millions of dollars over a decade with no customer input building something that will land like Google Glass or a Segway. Then what? Someone like Google has other products and can retreat and regroup, but ML will lose whatever credibility they had and not be likely to recover. It could be very ugly.

<comment><USER7> And wreck Florida's startup credibility.

<comment><USER8> Florida has startup credibility?

</comment></comment></comment><comment><USER9> How is this possible? Unless they invented literal world changing technology (they haven't) how are they able to do this? No product, no public demos, what exactly have they done?

<comment><USER10> No revenues is exactly why it's possible.

<comment><USER11> It's a perfect play!

<comment><USER10> This guy funds.

</comment></comment></comment></comment><comment><USER12> I cannot think of a similar trajectory for a company that is today a large platform. The big companies of our, and previous, eras began with small products, targeting markets and grew organically and gradually. Stealth had a purpose, but there was a technology serving a market at a relatively early point. Even in semiconductors. There's no precedent for this degree of fundraising, lack of product release and opacity. I can't think of reasons that this is justified when product/market fit is so unproven.

Even if the experience is fantastic, the product flawless, the content engaging -- none of that means that there'll be product/market fit. Iterations will likely be needed. I'll be delighted if it's a big success, and hey it's not my money. But, the systemic signaling (and actual) risk posed by a potential Magic Leap failure on the larger AR/VR community is being sorely underestimated by everyone. And that is worrisome.

<comment><USER13> By the same token, some of the great failures, frauds, and cons in history _did_ look a lot like this.

</comment></comment><comment><USER14> Based on the job listings they've had for the past few months I think they're actually building a computing platform. I expect the first iteration to not be as visually immersive as their old homepage lead people to believe (think more like a traditional heads up display, less like a Black Mirror-style AR device), but none-the-less they have the ability to reimagine and transform computing in the way that the original iPhone did. That said there's a large risk they're lost in the dustbin of technology if they can't convince consumers to wear a computer on their face. But potentially getting in on the next iPhone for only a billion dollars is a bet a lot are willing to make.

<comment><USER15> Yup, pretty sure it is AR headset with a 1-1 virtual earth.

</comment></comment><comment><USER16> [https://alwaystrend.in/articles/magic-leap- raises-80-billion...](https://alwaystrend.in/articles/magic-leap- raises-80-billion-to-ramp-up-production-of-enticing-tease-videos)

<comment><USER17> Funny!

</comment></comment><comment><USER18> I hear they've found a way to make dollar signs appear in people's eyes, like in cartoons.

</comment><comment><USER19> Well, if a company can sell an explosive detector to states and make a ton of money out of a tin can with an antenna attached, why not Magic Leap? Always remember the power of the :ADE651

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

</comment><comment><USER20> For reference, by the time Uber had raised this kind of money, they already had >$1bn in revenue. How they can keep this thing going on is beyond my comprehension.

Either the technology is _so_ mind-blowing that we'll all be compelled to use it the moment we see it (in a year? two? a decade? what kind of runway are they building with this money?), or this will be the next Theranos.

</comment><comment><USER21> Why? A company with no products that no one has really seen building something people are living without, sure its worth another Billion. Maybe we will all die in a nuclear holocaust and then it won't matter. In meantime you can have nice parties.

</comment><comment><USER22> Wow, I didn't know that the company was launched in 2010. 7 years and not a public product? I don't know man. I really hope that it's not just vaporware, would be awesome if they could make something cool.

<comment><USER23> Most likely this will end like Color or Cuil who had great PR until they actually got to market and immediately faded away. I don't think in computing you can build anything for 7 years without market input.

<comment><USER24> Cuil had great PR? When?

Color had marketing hype but as far as I could tell _no-one_ outside of VC circles took it seriously.

<comment><USER23> I remember Cuil when it launched. Ex-Google people starting a next-gen engine. They had the right credentials and everything.

<comment><USER24> Yeah, I remember it too - it was a joke that had quite possibly the most awful name in the Web 2.0 era (and that was a high bar).

Both Cuil and Color are great examples of people utterly bamboozling VCs into dumping money into an _incredibly_ dumb idea... but I don't know of any good PR that was related to them outside of that (I mean, ffs, Cuil won a "most success startup" award based on _it 's fundraising_. How inane is that?)

</comment></comment></comment></comment></comment><comment><USER25> The cynical part of me: it's just vaporware... until it isn't.

<comment><USER26> I think they have something that works, it's just difficult to make it into a product etc..

<comment><USER25> It doesn't "work" until it's in user hands.

</comment></comment></comment><comment><USER27> I don't get it.

</comment><comment><USER28> >This substantial amount of funding has placed Magic Leap firmly in the public eye

pun intended?

</comment><comment><USER29> Lmfao I just don't understand it. Who is going to buy into this with, as another commenter said, "No product, no public demos, what exactly have they done?" Especially after Juicero and everything else that's been dumb lately?

<comment><USER30> To be fair, Juicero had the exact opposite problem.</comment></comment>


Fast tests are useless - <AUTHOR> http://www.obeythetestinggoat.com/fast-tests-useless-hot-lava-be-damned.html

<comment><USER2> > Arg! That's not a unit test at all! It touches the database, which is hot > lava! Worse still, it touches the filesystem! It'll be really slow! And it > has too many dependencies!

The reason these things are bad is because something outside of your tests can break them. You can have odd failures when you're running two sets of tests in parallel, for one.

It is _not_ because it's just slow.</comment>


API Gateway Identity Crisis – are they replaced by service mesh? - <AUTHOR> https://medium.com/solo-io/api-gateways-are-going-through-an-identity-crisis-d1d833a313d7 <comment><USER2> This is an interesting article but there's a dichotomy here that isn't discussed that I think is important. Part of the appeal of an API gateway is that it facilitates bolting on solutions to a ton of common crosscutting concerns that show up between external-to-internal callers. Purely internal- internal system communication isn't quite the same and the set of concerns that affects each is different. Authentication and authorization are not necessarily concerns for system internal calls, for instance, neither is endpoint stability (at least, not in the same way). This article blurs the line between the two.

<comment><USER3> I'm not so sure we won't be talking about endpoint stability in five to eight years. Once we've figured out how to get high abailability at the ingress, why not extend that down the stack?

Why do I need circuit breakers but the guy calling my service doesn't?

<comment><USER4> High availability, sure.

By "stability" I think the parent meant interface stability.

For external access I may need to support the same data formats and schemes for years, but it hardly makes sense for you to have that same burden of API stability on internal systems that you could refactor with less effort.

</comment></comment></comment><comment><USER5> I love this article [https://twitter.com/sytses/status/1163503057444855808](https://twitter.com/sytses/status/1163503057444855808)

An API gateway can mean API Management, Cluster ingress, an API Gateway pattern, or a Service mesh.

API Management will still be needed, even with a service mesh. And I don't think the article author thinks they will be replaced.

<comment><AUTHOR> It's the same article. I think there is a misconception that mesh will replace gateways but as mentioned in earlier comments...it's really two different types of traffic patterns with north/south and east/west so we'll need both.

</comment></comment><comment><USER6> The answer is no.

The service mesh still has ingress needs. North / South.

Internally the service mesh has interconnectivity communication needs. East / West.

You will still need a gateway / load balancer.

<comment><USER7> So what about istio Gateway?

<comment><USER6> What would you like to know about it specifically?

</comment></comment></comment><comment><USER8> A feature not mentioned is translating between HTTP/REST to other protocols. GCP Endpoints ([https://cloud.google.com/endpoints/](https://cloud.google.com/endpoints/)) has this functionality for gRPC and gRPC-web (additional proxy on top of gRPC). I'd love to learn about similar features on AWS's API Gateway.

<comment><USER9> Of open source tools, Envoy Proxy also does this.

<comment><AUTHOR> Envoy is the data plane and lots of the newer API gateways and service meshes are built on it but it still needs a control plane (aka gateway)

</comment></comment></comment><comment><USER10> You should think more about: api management (as selling API to someone) and as a security enforcement point to make sure some rules are applied, always!

Those simple api gateways are replaced or will be replaced, that's probably true.

<comment><USER3> I'm trying to convince my team to move some stats to the ingress server to reduce duplicate effort going forward, and also just to have apples to apples comparison for some metrics.

We spend a lot of time trying to remove choke points from our code but the fact is is that when you need to enforce policy, the checkpoint is the only place you can safely put it.

It's a tradeoff, to be sure.

</comment></comment><comment><USER11> I wonder who pays for all the handwringing about Api gateways on medium...

<comment><USER12> haha, isn't it obvious? They gotta have something for the product marketing teams to do throughout the year, after all!

</comment></comment><comment><USER13> There also seems to be significant overlap with load balancers, as they add API gateway type features.

That all 3 spaces converge seems inevitable.

<comment><USER14> I've only recently begun my Kubernetes voyage of self study and knowledge acquisition (as it's becoming more of a demand in job requirements so I've begun studying) so pardon the ignorance, though that's what motivates the question:

Is k8s an indicator of that convergence happening or do I misunderstand this tooling?

<comment><USER15> The rise of microservices and k8s (or other container orchestration) has brought about the need for more advanced API management.

It used to be that most people got by with physical servers, or maybe EC2 instances. Everything was relatively static and so configuring the networking was doable by hand. You also could handle things like authentication at the application layer just fine.

As you introduce more services and make things less static by using k8s, you introduce the need for more configuration, more service discovery, etc. Things like authentication and documentation need to be moved up to the API Gateway layer for consistency across the myriad of services people are now running.

I think the convergence is more of a sign of of the ecosystem around containers maturing and realizing that really these things are related and we need all of them so let's put them all together.

</comment></comment></comment><comment><USER3> > One thing to note: we want to be careful not to allow any business logic > into this layer.

I can't agree. But I also include operational concerns under the umbrella of "business logic", and the only examples I can think of where I would break that rule with relish relate to ops. From audit trails to security.</comment>


Ask HN: If you were to switch career, what would you do? - <AUTHOR> If you were to quit your developer job today and move away from the tech world for a little while, what job would you do? <comment><USER3> Something that's a switch of gears from "deep, isolated knowledge work" to more action, people, managerial oriented work. Project management, realtor, small business owner, recruiter.

If I'm tasked with something, it may take me a day or it may take me a week depending on how well I can _think_ my way to a solution. Maybe it never comes, maybe I'm spending days searching the same SO answers for a morsel of insight or inspiration from poorly written documentation to solve a problem. Drinking coffee, staying up late, maybe it bleeds into personal life, that urge to keep looking into it to finally put an end to the task and deep dizsatisfaction.

I'm often jealous of people in other jobs that aren't this way, that are more "just hustle and do it," where at the end if the day, you either _did the work_ to progress your position/project/whatever, or you didn't. And if you just got up in the morning and physically and metaphorically "showed up" for the job, there was a far lesser chance you'd just stare a screen to no discernable result for 8 hours and feel a sense that no progress was made.

<comment><USER4> Dude good point. The worst is when I'm stuck on an insignificant issue that is blocking the entire thing I'm working on.

</comment></comment><comment><USER5> Years ago, the best software engineer I've ever known took a break from programming and became a long-haul truck driver.

He found it a fantastic experience. He claimed that there is more overlap between the skills needed between the two than you'd think (and that he met a surprising number of other truckers who used to be software engineers).

If I decided to change careers, I'd seriously investigate that.

<comment><USER6> This sounds like a blatant "grass is greener" mirage. Guys drive trucks because it's all they can do to support themselves, not for any other reason. When I fall asleep at my terminal, I get fired. When I fall asleep at the wheel, I die.

<comment><USER5> Nope. "The grass is greener" refers to falsely thinking that something you don't have is better than what you do have.

This guy drove trucks for three years. I think his assessment of his experience is not based on an illusion.

He also wasn't saying it was better than software development. He was burnt out in the software world and drove trucks simply to do something that wasn't that. After a few years of truck driving, he returned to the software world, which is what he is still doing today, and speaks positively of both that and truck driving.

</comment></comment></comment><comment><USER7> I would love to be a fiction writer.

I am not good at fiction writing at all. But this is something I always romanticize about. Something about sitting in cafes or home and typing away seems like a perfect day to me. No need to debug, troubleshoot production issues, attend meetings, submit TPS reports, etc. Just you and your writing.

<comment><USER8> I spent four years in college for English literature. You can do that or you can just read the book 'Self-editing for Fiction Writers' and do the same thing in a tenth of the time.

The other thing you could do is to join a writers workshop, in person is always good but there's no reason why you couldn't join some remote thing. The caveat is that however big the workshop is you need to read everyone else's work and comment on it as well, which means if you have a workshop with four people you typically will need to read something for 4x for every one of your submissions.

The other thing to consider is whether you want to write fiction that is necessarily entertaining or literature that is compelling. Those are two entirely different disciplines.

Then simply write a single page every single day no matter what.

<comment><USER3> What material do you recommend that is on the subject of writing compelling fiction?

<comment><USER8> Generally you need to understand the concept of showing vs. telling which is described in the very first chapter of that book.

The other thing you just need to do is read the masters. Hemingway, Gabriel Garcia Marquez. Try to find an example of some compelling fiction for yourself, something that moves you. then try to find some cliff notes or a summary regarding that's story's plot. The information is there, but the emotional reaction, the thing that moves you is missing from the summary.

There is a story called "Litost" by Milan Kindera, that in my opinion does a very good job of explaining this without breaking the mood of the story through boring exposition. At its heart the story is simply about a youth in an affair with an older woman and unrequited love. But real compelling fiction is not just the story.

It comes from a word without English equivalent. Litost is a state of torment created by the sudden sight of one's own misery"

Try to find a copy of the story and read it. I looked for a link but couldn't find anything. Try to avoid reading literary criticism initially.

</comment></comment></comment></comment><comment><USER9> I tend to get jealous when I see people working with their hands, prefferably outside. Sometimes I even observe the guys cleaning the street and thinks, maybe its not that bad after all?

The times I have done such work (like construction) resulted in a much greater satisfaction and feeling in my body than after a day in front of the screen (even though I have been productive). Doing lots of running and gym but it does not generate the same feeling.

Have lately started to do something about it, maybe switch career totally.

<comment><USER3> Cal Newport mentioned in his last book Digital Minimalsim about the benefits of learning and accomplishing something with your hands in the real world, and how it's argued to further energize whatever else you do it, be it digital.

</comment></comment><comment><USER10> \- Psychologist / Counselor / Professor: Huge impact opportunity. Society is so career and status focused nobody pays attention to emotional needs.

There is opportunity help others understand and express the feelings of _why_ they suffer, instead of acting out in indirect/critical, dysfunctional ways, which compounds the problems. That is just benefits that can be attained at ground floor.

Please check out Attachment Theory and Schema Therapy: [http://www.psychology.sunysb.edu/attachment/online/inge_orig...](http://www.psychology.sunysb.edu/attachment/online/inge_origins.pdf), [https://www.guilford.com/excerpts/young.pdf](https://www.guilford.com/excerpts/young.pdf)

\- History professor: Because history rocks.

Aside: Montemayor, an independent history documentary maker, has a documentary on The Battle of Midway at [https://www.youtube.com/watch?v=Bd8_vO5zrjo](https://www.youtube.com/watch?v=Bd8_vO5zrjo). If you would like to support his work he has a Paypal on his channel page!

\- Flipping houses: Upgrade carpentry from tech level 0 to tech level 3 and get property + credit line

</comment><comment><USER11> I'm currently a sys admin/sys engineer.

I'd become a farmer.

I love growing plants. I love being outside. I love being away from electronics. It's perfect for me. If only it paid more... (but I'm working on that, in 2-3 years I hope to be able to make the transition to full-time farmer)

</comment><comment><USER12> Anything but programming. What I would not give to go back and do something else.

<comment><USER13> That's my daily phrase lol.

You cannot imagine how much I hate myself for dealing with technology...

<comment><USER14> I'm honestly curious, why do it then? Money isn't worth dealing with something you hate every day.

<comment><USER13> I'm not currently doing it as I'm unemployed and at my age (near 40) cannot find something else without previous experience.

edit: obviously my impostor syndrome kicks in lately due to countless factors and I self-sabotage with every interview out there lol. I just want to go back in time and slap me in the face for choosing this career -_- I don't want to spend the rest of my life in front of a screen.

</comment></comment></comment></comment><comment><USER13> I can't find the proper words right now, because many folks here share so many traits with me, which leaves me speechless.

I too want to switch career and do something else, completely different than technology and as many of you mentioned, I want to deal with handcrafting, anything that falls under the "art" category, really.

In my opinion, my mind and body tells me that 80% physical activity and 20% mental / intellectual is the best combination.

That's my ideal concept I believe.

<comment><USER15> Yes! I feel that too.

Recently, I moved from the Bay Area to midwest city where family and some friends live, and have a 3 week old.

I plan to build a homestead in the coming years, transitioning from an office job to working on the land -- building/developing land, growing food and living a simpler, if perhaps more strenuous lifestyle.

<comment><USER13> Very nice. Get your hands dirty man and enjoy the process!

</comment></comment></comment><comment><USER16> Carpentry, probably anything that required manual labor with some creativity needed.

</comment><comment><USER17> I've though about being a tradie. Doing some home improvements has been fun and I can stay focused more easily than on screen work.

Also considering doing some freelance work which although still coding will involve some sales/contract negotiation type stuff and the chance to charge more (I'll keep my job so it's easy to say no to low ballers!)

You North American coders would say 150/h is meh for freelance work but if I could get that in my spare time it'd be pretty cool.

</comment><comment><USER18> Painter, sculpture, architect (residential homes), musician...

I love being a software engineer but I would love it more if I didn't have to rely on it for paying living expenses.

</comment><comment><USER19> Sport medicine and diet: I would like to help people get fit, healthier. Plus, I like learning these topics.

Also, it would be great to have flexibility in work, and ability to be more outside. I find it so unnatural and sad that we have to sit on our arses and look at monitors locked within 4 walls for our best healthiest years. I slightly suffer internally every time, when the weather is great outside.

</comment><comment><USER20> I've thought about starting a financial planning charity to help middle class and up people get out of debt (low hanging fruit), but I think I'm more likely to try to become a fireman or something else physical. I just feel so much more satisfied by doing a bunch of physical work or charitable work than technical work, so once I don't need income, I'll switch it up.

</comment><comment><USER21> I would have a SurfShop that is connected to a Restaurant & Bar in Hawaii - <USER2> close proximity to the beach. My life would be complete.

</comment><comment><USER22> There would be various paths for me to travel. In my student days I did a lot of bartending (in smaller pubs), loved that work. I found that it's very cool to treat guests like small projects. As in, keep them happy. The project always finishes within the same day :-)

</comment><comment><USER23> Some years ago I read a book about a banker who took a summer off to work an Alpine pasture (ie. a summer farm) without electricity and company. Just him and 50 cows. I've been dreaming about that ever since.

</comment><comment><USER14> Academia or launching a startup (which is why I quit my job for a research position in academia - eventually... it took me a couple of years though - studying high growth startups)

</comment><comment><USER24> I'd be a machinist. I love watching machinists on youtube turn a hunk of metal into a useful part. It looks like it has the right mix of problem solving, thinking and labor.

</comment><comment><USER25> If money is not a concern, being an artist is exciting.

Being a good hacker really helps with creative processes.

</comment><comment><USER26> I try not to limit myself to having a career.

</comment><comment><USER27> Coach a soccer team. Takeover a coffee farm in Ethiopia and run some experiments. Create a small internet holding company.

</comment><comment><USER28> Sailing and working in company that makes sail boats.

Have been learning a lot of sailing and boats from YouTube. Want to give it a try.

</comment><comment><USER29> Be a full time stay at home parent. Possibly including being a foster parent.

</comment><comment><USER30> Run a skydiving dropzone. If done well, it can break even money-wise, and you meet some pretty awesome people.

</comment><comment><USER31> Lately, the idea of building and operating a solar farm sounds interesting.

</comment><comment><USER32> Something done out in the fresh air, still not sure what exactly

</comment><comment><USER33> Become a carpenter or apiculturist.

I feel like I'm too unplugged from nature.

</comment><comment><USER34> Working in garage like "gas monkey"

</comment><comment><USER35> Blacksmith / Expert Sword Maker.

</comment><comment><USER36> trekking guide. I really want to be the trekking guide

</comment><comment><USER37> Lay concrete

</comment><comment><USER38> Voice actor

</comment><comment><USER39> painter, artist, cartoonist

</comment><comment><USER40> research

</comment><comment><USER41> gigolo</comment>


Emoji and Deep Learning - <AUTHOR> http://getdango.com/emoji-and-deep-learning.html <comment><USER2> I have to say this was one of the more "fun" ML articles I have read lately. Excellent visualizations as well. Great job!

<comment><AUTHOR> Thanks! I was tempted to go _way_ more technical but we decided it would be fun to let more people get some intuitive grasp of these kinds of algorithms.

<comment><USER3> It was really effective! It was great to be able to visually "walk" through the state space. If you do another, more technical post digging into the details then I would definitely be interested.

</comment></comment></comment><comment><USER4> This is cool, even if it seems kind of frivolous. Word embeddings work for emoji just like they do for actual words, and it's neat to see an idea for how to commercialize that directly.

I wish they had explained details, such as what two-dimensional non-linear projection they're using for their map.

I also don't see it fully explained how they're getting representations of sequences of emoji. They explain how their RNN handles sequences of _input_ words, but the result of that is a vector that they're comparing to their emoji-embedding space. Does the emoji-embedding space contain embeddings of specific sequences as well?

<comment><AUTHOR> We use t-SNE for the projection! We do mention it somewhere in there. Could maybe be more clear

The sequences of emoji we ended up glossing over here (difficult balance making these concepts as accessible as possible). In the app we can beam search to predict combos, just as you would in sequence to sequence learning. That's not demo'd on the live website though.

</comment></comment><comment><USER5> It's also a little... racist. If you feed it with emojis it spits out other emojis (I was testing if it could spit out text from emoji input) But what happens if you change the skintone of the emojis?

White arm: [http://i.imgur.com/KTNky0O.png](http://i.imgur.com/KTNky0O.png) Obvious connection to sports, sunglasses(like saying "cool" in this context)

Black arm: [http://i.imgur.com/uXtSRfc.png](http://i.imgur.com/uXtSRfc.png) Policeman searching something, a location marker(search location?)

<comment><USER6> (I am also a dev for Dango)

This is definitely a concern and something we've though about but not yet fully solved. The neural net is trained on real world data which unfortunately includes various types of questionable, racist, sexist, etc content. We already blacklisted emoji combination that are too often triggered in racist ways. However such a system is very difficult to audit completely.

Your example comparing different skin tone modifiers is a good one that we hadn't thought of. I've made a note of it so we can try and improve.

</comment></comment><comment><USER7> Reading this was somewhat bothersome in that my browser (Chrome on Linux) doesn't render emoji. Is there a standard font that supports emoji that could be installed?

<comment><USER8> You could try this: [http://emojione.com/chrome/](http://emojione.com/chrome/)

</comment></comment><comment><USER9> Extremely neat, but I really don't understand the point of the app (Dango) that all this engineering is for the sake of. If I'm using an emoji, it's either _instead_ of words, or to clarify words that could be taken multiple ways (e.g. sarcasm.)

Who are these people that type a sentence (with a single meaning, clear-cut enough for Dango to detect), and then want to add a redundant pictorial representation of the same words they just typed?

<comment><AUTHOR> Yeah so this is a legitimate concern. Of course sometimes it's fun to say "let's eat pizza :pizza_emoji:", but that's not hugely valuable.

However, Dango's training data _includes_ people using Emoji to augment rather than repeat their sentence. So if there are two different interpretations and an emoji could disambiguate, the ideal is that Dango has seen people use that phrase both ways and, and that it suggests both possibilities and you can pick the one that you meant. In many cases this works now, in many cases we still have work to do.

It also suggests based on messages sent _to_ you, so if there are a couple different replies it can show you them all (although this feature still needs work).

</comment></comment><comment><USER10> This is really cool. But half the fun for me is to pick the emojis at the end of the message. And they "add" to the mood of my message, they don't "amplify" it. Hence this wouldn't work for me most of the time o_0 ;(

<comment><AUTHOR> Well you _can_ search in Dango, too ;)

But yeah our main focus is suggestions. You can use Dango concurrently with the normal emoji keyboard, of course! It can just sit there showing you emoji you might not know about "ambiently"

<comment><USER11> It seems like you're so close to having a full predictive virtual keyboard (with nothing but dynamically-generated keys).

Have you given any thought on integrating this with some sort of bluetooth thimble-like button (makey makey?) on each finger for untethered typing?

I've written more about this line of reasoning here[1] if you're interested. Feel free to ping me on twitter if there's any way I can help. Congrats on this awesome project!

[1]: [https://news.ycombinator.com/item?id=11223697](https://news.ycombinator.com/item?id=11223697)

<comment><AUTHOR> The possibilities for how language will work in the future are really exciting and interesting! We made the Minuum keyboard, too, which also explores how machine learning assistance can open up new ways of communicating.

One reason we're interested in visual communication with Dango, though, is that regular text input is pretty good already. Chorded keyboards exist and are way faster, but people mostly can't be bothered to use them. QWERTY is just good enough. But the field is wide open for rich communication with images, nothing out there is particularly good yet.

</comment></comment></comment></comment><comment><USER12> This is pretty cool. Emoji's seem trivial, but they're becoming more and more important in communications (whether that is good or bad is a separate discussion), and this is a pretty impressive bit of ML.

</comment><comment><USER13> >IBM uses them for operationalizing business unit synergies

What does this mean?

<comment><USER14> I'm inclined towards thinking that it might be a joke.

<comment><AUTHOR> ;)

</comment></comment></comment><comment><USER15> Why not train the RNN to directly predict emojis, instead of projecting everything to semantic space and picking the closest emoji? Seems like that would help with the problem of emojis with multiple meanings in different contexts. With this model, they could only be in a single point in semantic space.

<comment><USER6> The RNN does in fact directly predict emoji. It outputs a vector of length 1624 (the number of emoji) containing the score associated with each emoji given the input text. This vector of probabilities is what can be though of as the point in semantic space.

The issue of multiple meanings is that if you strongly predict an ambiguous emoji (say the prayer emoji) how do you then extrapolate what concept is contained in the sentence (e.g. was the person saying "thanks" or "high five" or "please").

[I'm also a Dango dev]

<comment><AUTHOR> So yeah: we can focus on vectors at different levels of the net and these are in some sense _different_ semantic spaces. In the article I talk about a level _immediately before_ it projects onto the emoji vectors. If you look at the output _after_ the projection (and do a softmax) you get a probability distribution across all emoji. This would be a different space in which each _axis_ is an emoji, rather than the emoji being points distributed around the space.

<comment><USER15> Awesome, thanks for clarifying. So does the training optimize some property of the "semantic" layer immediately before the final emoji prediction layer? Or does it just optimize accuracy of emoji prediction directly?

And then the t-SNE projection shown in the article is based on this same layer (one before prediction)?

<comment><AUTHOR> Well those are sort of equivalent. But yeah, we use cross-entropy between the projected output and the target emoji distribution as our objective to minimize.

And yes, we do the t-SNE on that pre-projection space. That's why we can visualize the targets (emoji) in it. We can also t-SNE the word embeddings themselves — the input to the RNN — which is also kind of interesting. It automatically learns all kinds of structures there. Chris Olah has a good post on word embeddings if you're interested: [http://colah.github.io/posts/2014-07-NLP-RNNs- Representation...](http://colah.github.io/posts/2014-07-NLP-RNNs- Representations/)

</comment></comment></comment></comment></comment><comment><USER16> Pretty cool. Tried about 10 sentences and the suggested emojis were spot on. Nice write up.

</comment><comment><USER17> The real question is, where do you get this training data from?

<comment><AUTHOR> All over the web! For instance, over 20% of all tweets have emoji in them. Emoji are very popular in instagram comments, etc.

<comment><USER18> Another example is Venmo.

In fact I made a website that tracks the live count of emojis used on Venmo:

[http://venmoji.com/](http://venmoji.com/)

The source is here for anyone interested:

[https://github.com/milesokeefe/venmoji](https://github.com/milesokeefe/venmoji)

</comment></comment></comment><comment><USER19> Can it generate sequences of emoji that is has not seen before?

<comment><AUTHOR> Yes it can, language models can generate phrases that have not been seen before. Karpathy's RNN post is a pretty good intro to how that works [http://karpathy.github.io/2015/05/21/rnn- effectiveness/](http://karpathy.github.io/2015/05/21/rnn-effectiveness/)

</comment></comment><comment><USER20> This is cool. I hesitate to install it on my phone.. does it send everything I type to a webservice in order to suggest emoji?

</comment><comment><USER21> As a lover of Emoji and deep learning, this is awesome. Are you planning to support unicode 9.0 sometime soon (I know it isn't even technically out)?

<comment><AUTHOR> We start supporting them as soon as they're available! Obviously we have a lot less training data early on but we can lean on some heuristics early on until it builds up.

Unfortunately in the _app_ we can't give you emoji that your phone doesn't support so we don't always show all the results.

<comment><USER12> If you have (or build) a slack integration, would you be able to include custom emoji's? Or is that not enough input?

<comment><AUTHOR> Yeah we'd need to do some more work. But this is similar to stickers and GIFs: there are many fewer examples for any given sticker or GIF, which is why we do transfer-learning approaches as discussed in the article.

So there's a good chance we could get it to work! We've not focused on that possibility… yet.

<comment><USER12> I figured - even a Slack integration as is would be pretty cool though.

</comment></comment></comment></comment></comment><comment><USER22> Great article, fun service. Still a part of me feels sad that we spend brain power on things like this.

</comment><comment><USER23> How come I can't download the app from outside US?

</comment><comment><USER24> > This app is incompatible with all of your devices.

Well that's disappointing. Is it country-restricted ?

</comment><comment><USER25> Quick! Somebody make a slackbot!

</comment><comment><USER26> Do you guys have API?

<comment><AUTHOR> Not officially, although people have started reverse-engineering the website ;).

We can get an actually supported one up officially if there's interest. Email me at email@example.com!

<comment><USER26> Yeah, I saw that you guys take a query test and spit out json with emojis :). It would be nice to have official one so you guys don't cut IPs off :)

</comment></comment></comment><comment><USER27> Nice post</comment>


Ask HN: Why are new users highlighted in green? - <AUTHOR>

<comment><USER2> It's good to be able to spot noobs, but I don't think highlighting them in green is the way to go. My initial thought was that these accounts were in some way verified or premium. Maybe just appending " [Noob]" to the user name would be enough.

<comment><USER3> I agree, this will only make unscrupulous users create new accounts to get more attention to their links (if they don't care about karma).

</comment></comment><comment><USER4> Higher probability of a new user spamming the site I'd imagine. This allows users to notice spammers easier and flag them.

<comment><AUTHOR> Shouldn't their submissions get less noticed instead of getting more attention?

<comment><USER5> No, they should get more, and earlier, notice so that inappropriate submissions and comments can get flagged earlier to help teach them what this site is and should be about.

It's an experiment: <http://news.ycombinator.com/item?id=2434333>

It's testing out ways to try to halt the current perceived decline in civility and quality: <http://news.ycombinator.com/item?id=2403696>

It's been prompted by the departure of some long-standing, high-profile users:

<http://news.ycombinator.com/item?id=2402730>

<http://news.ycombinator.com/item?id=2161427>

</comment></comment></comment><comment><USER6> I thought the green might be trying to encourage engaging with those users. When I was new I never used my account because I felt like a nobody.

</comment><comment><USER7> Probably to make it easier to spot potential spammers

</comment><comment><USER8> cause we're noobs</comment>


I'm a dad - <AUTHOR> Hey HN, I just had my first child and am over the moon! Witnessing childbirth and the strength of my wife gave me a whole new perspective on humanity and life. My day to day for the last 5 years has been filled with code, so this event was a good reminder that I'm human. <comment><USER2> First, Congrats! Second, as you likely know by now, your child is basically a meat computer. It runs pretty well other than it needs routine debugging. It will feel a lot like working through a bit of code you only wrote half of at 3am having not had a full nights sleep in 5 months with 115 decibels melting your brain as you try to recall important subroutines. Enjoy it though, its over before you know it. =]

<comment><AUTHOR> Haha with a constantly changing ABI right? Thx :D

</comment></comment><comment><USER3> Great you now have a new kind of device to program! :P On a serious note, congrats! I have a 9 month old myself and its a crazy feeling, soon you'll be saying certain words at certain time of the day, talk about programming humans

<comment><AUTHOR> I think she triggered an interrupt in my brain and now I'm running a deep hidden subroutine..

<comment><USER3> Great mines a she too :D Don't forget to surround a try/catch and log the exceptions, you'll run into catch more often

</comment></comment></comment><comment><USER4> This should be tagged as Show HN ;) Just keep calm and carry on coding.

<comment><AUTHOR> Thx!

</comment></comment><comment><USER5> Glad to hear the seed round worked out. :P

<comment><AUTHOR> Took a few rounds but the Angels were in on this one.. ;)</comment></comment>


How GitHub (no longer) Works - <AUTHOR> https://speakerdeck.com/holman/how-github-no-longer-works

<comment><USER2> If anyone is interested, the video is also out: [http://www.infoq.com/presentations/github- evolution](http://www.infoq.com/presentations/github-evolution)

<comment><USER3> Thank you; good slides never make sense without the actual presentation.

</comment></comment><comment><USER4> Older discussion here: [https://news.ycombinator.com/item?id=6734277](https://news.ycombinator.com/item?id=6734277)

</comment><comment><USER5> I'd really like to hear some non-enginners perspective on how this is working. Everything I've heard about GitHub is really positive from engineers but less so from its other members.

</comment><comment><USER6> I read this article today: "How Google Sold Its Engineers on Management" 1), which seems to be a much bigger study of how managers affect work and performance. The general conclusion of Google's study is that management matters if it's empowering workers (and not micro managing them).

Github is definitely an interesting experiment in a totally flat structure. Google tried a similar flat structure in 2002, but concluded that it did not work that well. Will be interesting to see how it works for Github as they grow even bigger.

1) [http://hbr.org/2013/12/how-google-sold-its-engineers-on- mana...](http://hbr.org/2013/12/how-google-sold-its-engineers-on- management/ar/1)

</comment><comment><USER6> One of the problems I see with Github structure is firing people. One of the tips you see most successful companies follow is hire slow and fire fast. I think it's unrealistic that every hire you do will be the perfect match and a lot of times things just don't work out. The question is: how does Github handle this case?

</comment><comment><USER7> Already submitted multiple times, interesting talk but, already some discussions about it.</comment>


Orthographic wordplay for startup names. - <AUTHOR> http://bobstumpel.blogspot.com/2007/09/branding-20-3-phonetical-misspellings.html

<comment><USER2> I'm sorry, all of these blow. I'd prefer the nonsensical adjective + animal to having to explain to someone how it's "Browser with a z-a-r". Talk about negating word of mouth. I'm sure I'm not the only person who'd rather type 14 letters that I can remember than 6 letters I can't be sure about.

</comment><comment> daniel-cussen I'd just go with a pormanteau.

<comment><USER3> That's "portmanteau," although "poormanteau" gives some really interesting mental imagery.

poormanteau: getting stuck with spork.org or spork.net.

<comment><USER4> Or poormanatee to follow zach's adjective + animal line.</comment></comment></comment>


Mailchimp changes definition of "audience" to include unsubscribed emails - <AUTHOR> https://twitter.com/Evanish/status/1128377802988892160 <comment><USER2> I've been using Mailchimp for a while and I'm very confused with the software. Lists changed to "Audience", and it seems they want me to segment my audience using tags instead of having separate lists which just makes things more confusing for me. I guess they are moving away from "email" software to more general "marketing" software. Also the editor is surprisingly bad.

I'm planning on experimenting with [https://www.mailerlite.com](https://www.mailerlite.com) to see if it's more to-the-point.

<comment><USER3> Having a single contact list that is segmented by tags and other criteria is more standard in marketing platforms. I think you're right that this is part of their migration to being a more full featured marketing solution.

</comment></comment><comment><USER4> I've had unsubscribes go to the website within minutes, talk to a rep using Drift, then eventually buy.

An unsubscribe means "no more email" it doesn't necessarily mean no interest. It's important to track the whole funnel not just each campaign.

<comment> d-sc I unsubscribe anything that is not a person or relevant notification even if I pay for a service. [flight itinerary w/ confirmation number = ok, Spotify trending = not ok]. I suspect other people do as well.

<comment><USER5> In general you can turn off every notification option companies give you, without fear, because they are more or less required by law to send you the "transactional" (useful confirmations and notifications) emails.

At least that's my understanding.

<comment><USER6> Not worth the risk, because you never know their implementation.

I once opted out of all emails from a crowd funding startup.

Turns out that "all" emails really means all. I couldn't reset my password.

<comment><USER7> > Turns out that "all" emails really means all. I couldn't reset my password.

I can understand there being a gray area around what is important information and what is marketing, but not getting password reset emails is just a bug. That never makes any sense and I highly doubt it was intentional.

</comment></comment></comment></comment></comment><comment><USER8> I moved my newsletter[0] from Mailchimp to Buttondown[1] and have been very happy. The price is much cheaper, and Buttondown does exactly what I need it to do: manage my list of subscribers and send emails reliably.

As the cherries on top I can compose my emails in markdown and their public API is nice to use.

Highly recommended for personal newsletter needs!

[0]: [https://mxstbr.com/thoughts](https://mxstbr.com/thoughts)

[1]: [https://buttondown.email](https://buttondown.email)

</comment><comment><USER9> I understand the cynicism, but for now at least this is not affecting pricing (which is still based on subscribers [0]).

Seems like it's more about finding ways to target users who have unsubscribed from a mailing list. That has its own thorns, but a sly price hike doesn't appear to be one of them so far.

[0] [https://mailchimp.com/help/about-mailchimp-pricing- plans](https://mailchimp.com/help/about-mailchimp-pricing-plans)

<comment><USER10> I received an email to my free Mailchimp account explaining this change, which included this:

> As a current user of our Forever Free plan, you'll now be in the new Free > plan as long as your audience size is 2,000 contacts or less. The new > pricing structure is based upon the total number of contacts you can market > to, which now includes unsubscribes and customers who have simply not opted- > in yet. You can check your Mailchimp account to see how many contacts are in > your total audience. And keep in mind, you can always archive contacts you > aren't using. On June 15, 2019, the pricing change will go into effect if > you have more than 2,000 contacts.

So it sounds like it very much does change pricing on June 15th, at the least meaning previously Free users will now have to pay, unless they go in and manually archive unsubscribed emails.

<comment><USER11> I got this email from them today:

> If you are a current free user You can remain a free user so long as you > have 2,000 or fewer contacts in your audience, and you'll now have the new > free plan features. If the new way of counting contacts causes your audience > to exceed 2,000 contacts before June 15, 2019, we'll automatically archive > your unsubscribed and transactional contacts. After June 15, we'll begin > calculating your audience as described in Section 7B of our TOU, but you can > always manually archive contacts to keep your audience under 2,000 contacts.

So it sounds like they are actually automatically archiving unsubscribed emails if it puts you over the limit.

<comment><USER10> OK, that wasn't in the original "Exciting updates coming to your Mailchimp account" email. That appears to be from today in the "Updates to your Mailchimp account" email from Mailteam Legal. I'm guessing someone from legal saw that original email and puckered a bit, and drafted this clarification.

</comment></comment></comment></comment><comment><USER12> And billed this change as "exciting" for the user when they sent the announcement email, which struck me as...tone deaf. If you're doing something I won't like just tell me straight.

<comment><USER13> They announced a lot of things, and this was just one change in a slew of new product expansions. Seemed reasonable to me.

<comment><USER12> One paragraph of like six was about the new Marketing Platform they're offering (the rest were about this change), which for free users like myself, I'm pretty sure doesn't really warrant a lot of excitement. I realize I'm a free user, but I use it for a small list of people. I really have zero use for any of the new stuff they're offering. I'll probably just jump over to MadMimi or something else similar since it seems their focus is moving more towards multi-channel marketing and less on running a mailing list.

Speaking of: I'm confused by their push into "Marketing Software™" to be honest. There are a lot of people doing that already, and all the MC users I know (which, granted, is only a sample of say 20 people) don't use it in the way they're trying to pivot towards. I'm guessing they'll shed a ton of current users in this change up, but maybe they'll gain an equal or greater number of folks looking for what they're offering? I guess we'll see.

<comment><USER13> It's a pretty significant cost-calculation change, and thought the charge may not land yet, it'll probably land later on. Also, a lot of people manage MC accounts for clients, so this will be a head's up discussion in those engagement discussions ("That tool we use for audience segmentation..? The price calculation may be changing because they're now counting unsubscribes..").

That said, to your second point: a lot of people just want simple, email list management. And for that, MailChimp has gotten a little unwieldy. But in a more sophisticated digital marketing strategy, some of their other components make more sense. They're competing with the base CRMs out there, and they'd rather not be one half of an equation where they'll eventually lose out because customers need to move up the offering chain. And in remarketing and attribution oriented campaigns, the new MC features make more sense, in theory.

Lastly, many many many companies out there barely use their marketing tools. If you think in terms of analytics, tracking, audience targeting, remarketing, etc., a lot of people are just using the thinnest feature set to fake their marketing. If you tie a few tools together, it gets a bit harder, so those MC customers who are trying to level up a bit need to figure out an additional element of integration. It's detail oriented and prone to error. By bundling these together, they can help their customers level-up without confronting the integration burden.

</comment></comment></comment></comment><comment><USER14> Someone commented a good point, you could just export your unsubscribe email addresses and then delete them out, that's arguably a good practice.

<comment><USER15> Such a good practice that the software should do it for you.

<comment><USER14> Sure but they would charge you for that service, isn't that the point? Hubspot tells me which contacts I should avoid sending to, but I still have to pay to have those contacts so they can tell me that.

<comment><USER16> The difference being that you're not sending emails to unsubscribed addresses, so they don't really occupy the same conceptual space as subscribed addresses.

</comment></comment></comment></comment><comment><USER17> A couple of other things I've noticed while logging in today:

* Whatever the previous free tier limit was on mailing lists, I'm now getting a warning that "You can't add another Audience - If you're ready to build another audience, you'll need to upgrade your account." I currently have 3 lists/audiences that I think are grandfathered in, previously the limit seemed to be on total subscriber numbers across all lists, not the number of lists.

* I can't archive Cleaned addresses (ie email addresses that have been unsubscribed because they've been bouncing emails), so they're permanently in the Audience numbers even though you can't (and shouldn't!) market to them. I assume they need to be archived so the system knows "don't allow this email address to be resubscribed".

* Maybe this is a Firefox Windows bug, but if you've got only one person in your search/segment, and you try to select Actions -> Archive, on a standard Full HD monitor the Archive & Delete menu options are offscreen and you can't scroll the page down to click on them. Meanwhile options like "Resubscribe" (!) and Make VIP are visible. Zooming the page out to 80% works, but it just feels like one of those dark patterns, even if unintentional or a bug.

I'm definitely looking for alternatives now (recommendations welcome). Even if these are all things I can work around, I don't like their overall trend. I should have got the hint when Mailchimp started defaulting new lists to not require a confirmed opt-in from subscribers...

</comment><comment><USER18> I believe it's related to their recent-ish push into using Mailchimp as a source for Facebook custom audience advertising.

<comment><USER19> Yes, a common use case for a marketing platform is to retarget opted out users as they have demonstrated some affinity for your brand.

Most likely just don't need to receive 2-3 emails a day from you

</comment></comment><comment><USER20> Are there any newsletter or campaign mail service that automatically schedule amount of mails so that they will not blocked? Say I'll going to send the first volume of newsletter to 10K email address (not a cold mail, they are our users).</comment>


Common mistakes in resumes from developers and designers - <AUTHOR> http://sanzarilla.com/post/3310168102/5-common-mistakes-in-resumes-from-developers-and

<comment><USER2> I admittedly don't have a Hotmail address, but I don't understand the connection between using a Hotmail.com email address for one's contact info and "using the most efficient tools for each task". What are some of the inefficiencies of Hotmail that, say, Gmail addresses?</comment>


Lessons learned while studying Machine Learning - <AUTHOR> http://mytechbooks.blogspot.com/2016/09/lessons-learned-while-studying-machine.html <comment><USER2> This is exactly what I thought looking for a ML course: too many maths and no code or just code without maths.

<comment><AUTHOR> Author here. Yes, it took me well over an year to understand this. All books I read were all theory theory theory. I love maths, and I like reading, so I read them all! But that went nowhere as to bolster my understanding of how to do ML, after all, if I can't write a ML algorithm then what is the point in knowing the sum of squared errors?

I find this approach a bit satisfying, first reading the scikit-learn docs, they are incredible and then going ahead with the theory as you require it, not downplaying the role of theory because there are a lot of parameters to machine learning algorithms.

I was hoping that this would help anyone who is new to ML and is struggling to understand _what_ to study and how to study it.

Funny thing, I got downvoted on Reddit + a comment saying "seems like you studied ML didn't understand it and gave up, this sends a bad message to your audience"</comment></comment>


Raindrop.io 4.0 – All in one bookmark manager become even better - <AUTHOR> https://raindrop.io/4 <comment><AUTHOR> Last half of year we worked hard on next version of Raindrop.io. If you have not used Raindrop.io for awhile it's time to try again!

In this release, we have improved the app in all respects:

\- Import now supports nested folders

\- Parser has been improved, now more accurately parse articles and links

\- Web app, desktop app and extension has been redesigned and now more customizable: font size, ability to change the size of the card, cover, hide or show the description of bookmarks and more

\- Themes (including dark)

\- Search is even smarter. It suggest filters depend on already entered criteria and current collection

\- Nested collections now displayed as tree in sidebar

\- 3-panel interface to read, view and edit bookmarks without losing context

\- Favourite bookmarks

\- Improved batch functions including ability to transfer multiple bookmarks at once

\- Fixed many bugs of previous version

Web App, Chrome, Firefox, Opera extension and Mac app has been updated. Finally Windows users can also take advantage of our application.

</comment><comment><USER2> [https://raindrop.io/static/pro](https://raindrop.io/static/pro)

I see labels like "proTitle", "proTitleD", "proTitleDD", ect...

Edit: seems ok right now

</comment><comment><USER3> I bought the Pro Version last month. Haven't really got to test this a lot, but the interface is nice enough to make me shift from other really shitty bookmarking apps.

</comment><comment><USER4> The site breaks on safari for iPad. iOS 9.2

<comment><AUTHOR> Thank you! Fixed</comment></comment>


Google Removes Metamask from the Play Store, Appeal Rejected - <AUTHOR> https://twitter.com/metamask_io/status/1210299207820570624 <comment><USER2> YouTube also just removed a bunch of crypto-related channels, although they now claim it was in error: [https://www.forbes.com/sites/billybambrough/2019/12/26/googl...](https://www.forbes.com/sites/billybambrough/2019/12/26/googles- youtube-goes-to-war-with-bitcoin-and-crypto-update/)

That this happened over Christmas is unusual. Maybe there is an anti-crypto zealot at work inside of Google.

</comment><comment><USER3> Google hasn't had a major crypto announcement... look out for one coming up

<comment><USER4> This is what they usually say, but in this case, what would that be?

1\. joining one big name in cryptocurrencies and providing software for the chosen one exclusively?

2\. creating their own thing, like Facebook did?

3\. banning cryptocurrencies entirely from the Chrome ecosystem?

4\. ...?

</comment></comment><comment><USER5> Who cares? Android users are not dependent on the store. Google can ban whatever they like.

<comment> m-p-3 99% of users are not even aware there is something else beyond the Google Play Store.

<comment><USER5> Every time someone complains about Apple banning something, there is a huge chorus of people saying that a law mandating sideloading will solve the problem.

It seems like the Android case shows that users really don't care.</comment></comment></comment>


Migrating Messenger storage to optimize performance - <AUTHOR> https://code.facebook.com/posts/201318390519340 <comment><USER2> They say that they brought some new search features to mobile, though I would prefer if they fixed their search on desktop (or in general) first, as it only returns results from recent messages.

Until sometime in 2016/2017 it was possible to look for specific things at whatever time (e.g. 2011) and now even things from <3y ago don't return anything.

<comment><USER3> I don't see the ability to search within the app. Have they not rolled it out yet?

<comment><USER4> On iOS I see a search bar at the top of the home screen. Type in it and it searches contacts, but there's a "search in messages" item you can tap and it shows matching chats and messages.

</comment></comment></comment><comment><USER5> Whatever you may think of social networking, Facebook takes huge amount of pains to ensure reliability. They moved all the data from spinning disks to flash, also migrating to a new db. No downtime at all.

I'm a bit unclear as to how this process resulted in 90% decreased storage use.

<comment><USER6> "The simplified data schema directly reduced the size of data on disk. We saved additional space in MyRocks by applying Zstandard, a state-of-the-art lossless data compression algorithm developed by Facebook. We were able to reduce the replication factor from six to three, thanks to differences between the HBase and MyRocks architectures. In total, we reduced storage consumption by 90 percent without data loss, thereby making it practical to use flash storage."

</comment></comment><comment><USER7> Facebook has been using RocksDB more and more (now messenger, but also Instragram's flavor of Cassandra). I wonder if Google has a similar penetration of LevelDB (and we just don't hear about it because Google's infrastructure work isn't open source)

<comment><USER8> There seems to be a pattern with Google: they have internal infrastructure that every ex-Googler seem to miss when they leave the company, because it's so good that it felt like being 10 years in the future.

As far as I understand, Google doesn't have a bunch of tools that merely work together, they have one huge system with different bits that _live_ together, so much that separating and open-sourcing them is cool but won't give you the same thing as being from inside:

\- They use Blaze, a build system that integrates directly with the object store. They open-sourced Bazel as a kind of equivalent, but the build system won't shine unless you have an integrated object store and an integrated vcs client \- They have open-sourced Kubernetes, a successor of what they were using for they were using internally for cloud management \- They have open- sourced LevelDB, a successor of the fundamental brick they are using for BigTable

So in a way LevelDB isn't used as-is inside Google, but its spirit is in use at a fundamental level by pretty much everyone

</comment></comment><comment><USER9> During the dual-write phase, what happens if one request succeeds while the other doesn't?

<comment><AUTHOR> Iris retries the failed request

<comment><USER9> Can't you potentially land into an inconsistent state if the failed request keeps on failing while the other db request succeeds? Is the dual-write on the synchronous request path? I'm assuming there's a timeout or some fixed number of retries that occurs and once that is exhausted what would happen?

</comment></comment></comment><comment><USER10> What about giving me an easy option to export my messages while you are at it?

<comment><USER11> Unfortunately, the feature to export your messages is only available to Facebook's data partners.

<comment><USER12> your ignorance adds nothing of value to this conversation. facebook data partners do not have a download your data button. that's not how any of this works.

<comment><USER13> based on his previous submissions, he did not come here to discuss database technology or be factually correct.

</comment></comment></comment></comment><comment><USER14> TL;DR - Moved from HBase to MyRocks engine on MySQL sitting on top of NVMe storage via their Lightning Server [1], which is a JBOF (just a bunch of flash) setup using x16 PCIe.

[1] [https://code.facebook.com/posts/989638804458007/introducing-...](https://code.facebook.com/posts/989638804458007/introducing- lightning-a-flexible-nvme-jbof/)

<comment><USER15> Anyone know why Facebook moved off HBase? (article doesn't address this)

I get that MyRocks is truly amazing, but I'm wondering what issues they were facing with HBase. I heard HBase was picked over Cassandra (developed at FB) because it was strongly consistent vs Cassandra's eventual consistency.

<comment><USER16> at the time they picked HBase because it was easier to repair missing replicas. Hdfs namenode juat schedules block replication. Cassandra (at least the version they were considering) had to work a lot harder at replacing a missing replica. Remember they had a version that didn't have workable merkel trees.

I also heard they had an issue with network flaps causing unrepairable inconsistency. I never got the full scoop on this.

I had worked with the engineers directly responsible for the HBase choice back when. All water under the bridge now it seems.

</comment></comment></comment><comment><USER17> Great, now they can serve video ads in Messenger more easily.

<comment><USER18> This has nothing to do with video though.</comment></comment>


A completely broken link which I cannot delete - <AUTHOR> http://slatestarcodex.com/2017/11/27/a-completely-accurate-map-with-no-distortion-at-all/† <comment><USER2> That is an easy statement to make with a page not found.</comment>


Unlikely Group of Billionaires&Politicians Create Most Unbelievable Tax Break - <AUTHOR> https://www.forbes.com/sites/forbesdigitalcovers/2018/07/17/an-unlikely-group-of-billionaires-and-politicians-has-created-the-most-unbelievable-tax-break-ever/ <comment><USER2> The highest capital gains is 20%, so while reducing your tax rate by 20% is very significant, I am not sure the gains qualify as "unbelievable":

> For venture firms, which tend to make many small, risky bets with the hope > that a few will be blockbusters, backing O-zone startups can carry > unbelievable gains. Under the law, VCs can plow returns into opportunity > funds, deferring taxes and setting the stage for a future tax-free windfall

</comment><comment><USER3> This article didn't get to the point before I bailed, but enterprise zones were a gimmick back in the 80s. Jack Kemp was big on it.</comment>