LightSpeed: Rewriting Messenger's codebase for a faster, smaller, simpler app - <AUTHOR> https://engineering.fb.com/data-infrastructure/messenger/ <comment><USER2> The loop of app building: 1\. Build app with native framework. 2\. Re-build app with some alternative framework which is slower, but let's you deploy single code on all platforms. 3\. Re-build app with native framework, because it is faster. 4\. GOTO 2

<comment><USER3> The best part about this cycle is that developers can always point to some metric which shows improvement to justify their actions, resulting in an Escher-like loop where they think they're always going up.

These cycles pop up all the time in development as priorities shift (or as developers find more excuses to "fix" what isn't broken). Real world coding always involves compromise - leadership is recognizing which compromises to make without continually backpedaling.

<comment><USER4> To be fair, small fast messenger 2020 _is_ "better" (aka more features / millisecond of cold start) than small fast messenger 2016. The cycle doesn't always go up monotonically, even if developers pretend it does. But it is possible to go "full-circle" through the loop and wind up in a better place than you started, and it's even possible for each stage of the loop to be truly justified given product needs.

<comment><USER5> How much of that is simply improvement in processing speed of the device and/or better OS APIs?

</comment></comment></comment></comment><comment><USER6> From [https://engineering.fb.com/data- infrastructure/messenger/](https://engineering.fb.com/data- infrastructure/messenger/):

 _Rather than reinventing the wheel, we used the UI framework available on the device's native OS to support a wider variety of application feature needs. This reduced not only size, by avoiding the need to cache /load large custom- built frameworks, but also complexity. The native frameworks don't have to be translated into sub-frameworks. We also used quite a few of the OS libraries, including the JSON processing library, rather than building and storing our own libraries in the codebase._

This is awesome. It shows the benefits of building an app leveraging the OS, instead of fighting or abstracting it.

<comment><USER7> They make it sound like the clouds parted and a ray of sunshine struck the programmers at Facebook and they realized that they didn't have to ride the framework-go-round to hell.

These are supposed to be the smartest people in SV, but from the outside, it strikes me more as a "No shit, Sherlock" moment.

<comment><USER8> Which, for example, gets you more sway with your employer, personal "branding" value, and future income / ease of switching jobs: "I was instrumental in inventing React" versus "I was instrumental in realizing we didn't need to invent React"?

<comment><USER9> "I was instrumental in making Messenger twice as fast?"

<comment><USER8> Well yeah, but first someone has to get the credit for creating some "high- productivity" hog of a framework to make it slow, _then_ someone else can come tear all that crap out and claim they made it fast.

<comment><USER10> Why not be both people? "I made React _and_ I made Messenger twice as fast [by ditching it]"

<comment><USER11> because that sentence can be read within the time span of human attention span and the problem with it easily identified.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Quite a few comments seem to imply Messenger was written in React Native, so I want to clarify this is not true. Messenger was a fully native app before the rewrite, too!

RN isn't the right tradeoff for Messenger — whose new core is written in plain C — but its use at FB in general is growing, with 750+ screens in RN. So the rumours of its death are greatly exaggerated.

I think it's great to have different options with different tradeoffs available to choose from. But hey, that's just me.

<comment><USER13> tweet thread by dan on the subject: [https://twitter.com/dan_abramov/status/1234801507805138945?s...](https://twitter.com/dan_abramov/status/1234801507805138945?s=21)

</comment></comment><comment><USER14> So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment:

\- NumPy is 360K lines mostly C

\- Postgres is around 2.1M of C

\- Go 1.13 is around 1.5M of Go code

\- Rust 1.37 is around 1.2M of Rust code iirc

\- core llvm is around 3M of C++ iirc

...

A chat app is 1.7M. A chat app...

Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've worked together on something truly awesome, big and useful. But we all know that doesn't pay the bills and so here we are.

<comment><USER15> Honestly, a chat app that 1 billion+ use per month that includes payments, camera effects, extensive social integrations, stories, GIFs, reactions, games, polls, voice recording, calling, video chat, and works across all mobile platforms, with nine years of technical debt, that thousands of developers build simultaneously seems WAY more complicated to me than any of your examples.

Messenger may not have "HN clout" but the devs who work on it are having some of the greatest software impact in the world.

<comment><USER16> > that includes payments, camera effects, extensive social integrations, > stories, GIFs, reactions, games, polls, voice recording, calling, video chat

To be fair, this is part of the problem ^

<comment><USER17> Just because there are features that you don't use doesn't make it a problem.

In fact people who like stories and camera effects likely way outnumber the people that don't.

<comment><USER18> I strongly doubt that. The number of people in my list of friends (400ish) that use stories is marginal.

The number of people that use camera effects as anything other than a gimmick is even smaller.

Maybe a different age group?

<comment><USER19> > my list of friends

I think that most of people of HN have friend groups which are wildly unrepresentative of world population at large. We're talking not even an average US or European citizen here - we're talking 1+ billion. People from developing countries who very often access internet only from a smartphone (they don't own a computer) and who almost don't visit plain http websites outside of the few social apps.

It's a completely different world out there.

</comment></comment></comment></comment></comment></comment><comment><USER20> From: [https://engineering.fb.com/data- infrastructure/messenger/](https://engineering.fb.com/data- infrastructure/messenger/)

> We accomplished this by using the native OS wherever possible

Does this mean this application does not use React Native?

<comment><USER21> Yeah, that's how I am reading that.

Given the headaches caused by Apple finally barring UIWebView (the basis of frameworks like Cordova) from new App Store submissions beginning in April, I'm not surprised FB would do this. There is plenty of rumor-mongering that Apple is going to make it increasingly difficult for apps based on hybrid frameworks through the submission process.

<comment><USER22> UIWebView was deprecated for years, everyone's had plenty of time to move to WKWebView, and it has nothing to do with React Native to boot.

Apple legitimately doesn't seem to care about hybrid frameworks, they've been there since day one. Any time it's seemed like it got difficult Apple has backed down. The lack of JIT in WKWebView is probably the only thing that you could stretch here.

<comment><USER9> WKWebView is out-of-process and has a JIT.

<comment><USER22> Ah, you're correct - not sure why I thought otherwise, especially when I touch WKWebView pretty often.

<comment><USER9> Perhaps you confused it with JavaScriptCore?

<comment><USER22> Hmmm, possibly. Either way thanks for the catch!

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> "We started with the premise that Messenger needed to be a simple, lightweight utility. Some apps are immersive (video streaming, gaming); people spend hours using them. Those apps take up a lot of storage space, battery time, etc., and the trade-off makes sense. But messages are just tiny snippets of text that take less than a second to send. Fundamentally, a messaging app should be one of the smallest, lightest-weight apps on your phone. With that principle in mind, we began looking at the right way to make our iOS app significantly smaller."

This paragraph just restored my faith in developer sanity.

</comment><comment><USER24> Old joke:

Every program can be (memory)optimized by at least one byte and has at least one bug in it.

It therefore follows that every program can be reduced to a single byte that doesn't work.

</comment><comment><USER25> > We extended SQLite with the capability of stored procedures, allowing > Messenger feature developers to write portable, database-oriented business > logic

I wish the article was a little more fleshed out, I'd be interested in finding out more about how and why they went down this path

<comment><USER26> I just listened to the Changelog's (a podcast) episode with Richard Hipp, the author of SQLite -- I wonder if he had any part on this extension. But in any case, great to see SQLite thrive.

<comment><USER27> I did not. This is the first I've heard of it.

<comment><USER28> I have to ask, did they pay the 6k license fee yet?

<comment><USER29> I suspect they paid for the 85k/year support package

</comment></comment></comment></comment></comment><comment><USER30> The architecture they have ended up with is similar to that described in Out of the Tar Pit, which describes how to remove as much complexity from software as possible.

By moving all state into SQLite they have implemented the "store state in relations" layer, and then written (as far as possible) functional code on top.

I've been thinking about how to make my software more like this so it's interesting to see Facebook are thinking along the same lines.

There's a lot of really good ideas in Out of the Tar Pit and I'd really recommend reading it.

<comment><USER31> I'll be reading this know. Thanks for the rec!

</comment></comment><comment><USER32> Keep seeing react native pop up in the comments, there has never been any indication that Messenger used any react native from fb feom all their presentations I have see . RN is used in the Marketplace tab on the Facebook App, the Ad manager app and a few other places.

<comment><USER12> This is correct. The old Messenger app is 100% native.

</comment></comment><comment><USER33> Considering that they were shipping 18,000 classes in their iOS app back in 2015, a quarter the size of their 2019 app has to be still unreasonably massive.

[https://gist.github.com/quellish/473f513fbd1310233a8e](https://gist.github.com/quellish/473f513fbd1310233a8e)

<comment><USER34> The number of classes isn't necessarily indicative of the size or complexity of an app.

<comment><USER33> > The number of classes isn't necessarily indicative of the size

Size, not necessarily, but yes it was in the case (the person was looking at why the binary itself, not any of the assets was above 100 meg).

> or complexity of an app

I'm not sure how 18,000 classes isn't a guaranteed extremely complex app.

</comment></comment></comment><comment><USER35> I don't know anyone who uses Messenger, yet, I've heard of people moving to specific countries where it's the de facto and you can't have a social life without it.

I'm also aware of how iMessages and SMS are used in the US, yet this is very US-specific, and I don't believe any other country uses SMS.

For Chinese people, WeChat is the standard, and what pretty much anyone uses.

In Argentina and the Netherlands (and I believe much of the EU), WhatsApp is ubiquitous.

Yet, I don't know a single person who uses either SMS or Messenger, or iMessages.

So what truly fascinates me, is how different companies put so much work into developing such sophisticated messaging apps, but they're all reinventing the wheel and each consumed in different regions -- I think nobody would have guesses years ago that we'd have so many different apps used in different countries, and not at all inter-operating with each other.

<comment><USER36> Did you ever use AIM, ICQ, MSN, Y! Messenger? I'm quite certain that in a decade, there will be another batch of dominant messengers "reinventing the wheel" (IG & TikTok I'm looking at you). Real-time Communication is just such a crucial part of people's lives that people will never stop working on it, even if it feels like it's been solved.

<comment><USER35> I get chat these things evolve, and change over time.

My fascination is that we've very equivalent things (eg: WhatsApp and Telegram aren't that far apart), duplicated even in the same generation.

I did use ICQ, MSN, IRC then WhatsApp, but they didn't belong to the same periods.

</comment></comment></comment><comment><USER37> I thought Messenger was ReasonML's flagship use-case inside Facebook. If so, it will be interesting to know what impact this has on its development.

<comment><USER38> Web only. However, there haven't been any updates on that for over two years [1]

[1] [https://reasonml.github.io/blog/2017/09/08/messenger-50-reas...](https://reasonml.github.io/blog/2017/09/08/messenger-50-reason)

</comment></comment><comment><USER39> This is an interesting business decision. To rewrite such a large app must have cost a fortune. Going full native is probably going to increase the cost of future development as well. Aside from the costs of writing/maintaining the code, pushing more work to the servers is an ongoing cost. Realtime, always- connected, apps are costly to run even when you push the majority of the state management to the client and just route packets around. They must really want eyeballs in their messenger app! There must be some future plans for this app that warranted such a major effort. Taking on Tik-Tok, perhaps?

<comment><USER40> > To rewrite such a large app must have cost a fortune. Going full native is > probably going to increase the cost of future development as well.

it's a freakin chat app, and it's freaking facebook ! come on, people were doing full rewrites in entirely different languages of software insanely more complex than fb messenger back in the 90s and with near-zero tooling, eg from cobol to pascal to C or similar horrors.

<comment><USER39> I've built a few "chat apps". I wouldn't discount the complexity. They carry with them a wide array of problem spaces. And of course anything at FB scale user counts is going to be a challenge.

<comment><USER41> While I have absolutely no doubt there are scalability problems, it seems to me that most of those problems are going to be (or should be) on the back end, not in the client. How is the _client_ 1.7 _million_ lines of code?

<comment><USER39> I can see it. It's pretty easy to hit that much code when you include your own code for things as trivial as a JSON parser rather than leveraging what the native SDK provides (which was alluded to in the article). It sounds like they had a bit of Not Invented Here syndrome going on and this rewrite addressed a lot of that. It also sounds like they had a bunch of systems (probably different teams even) doing similar tasks like synchronizing state. And they also had their own UI framework. All that stuff adds up to a lot of code. But, all that being said, it still has a ton of features. It's not your father's IRC client sending text around and failing to transfer files through NAT/firewalls.

<comment><USER41> > But, all that being said, it still has a ton of features. It's not your > father's IRC client sending text around and failing to transfer files > through NAT/firewalls.

Meh. It displays text, pictures, and videos. That's about it. This is just Messenger we're talking about here, not the full-blown Facebook app. The only state to keep track of is "Have you received message UUID?".

> And they also had their own UI framework.

This is where I suspect the bloat occurred.

Writing your own JSON parser and so on doesn't add up to any 1.7 million lines of code.

<comment><USER42> Dont underestimate complexity.

For android you have to ship basically ffmpeg for correct mp4 encoding, on all platforms you have to carry some library on top of classical ui framework to make it just not suck at performance, you have to get your own json parser, yes, since built-in one will be 10x slower, you may be want to carry even low level QUIC library for networking and websockets, etc, etc.

All this also not increasing complexity since built in one stuff makes your code much harder to read/write.

<comment><USER40> > For android you have to ship basically ffmpeg for correct mp4 encoding

hopefully they aren't counting ffmpeg in their LOC count, right ? else they may as well count the lines of code of the C and C++ standard library, V8, etc - this would be a very useless metric

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER43> Just downloaded the latest update on my iPhone XR. Does seem a lot more snappy and I'm loving the recent UI/UX changes too, especially the sending photos & GIF changes.

Good work Facebook!

</comment><comment><USER44> SQLite does it again! I love that they're using it for internal state management of the UI

</comment><comment><USER45> It's hard to be excited about anything FB do, when we know how poisonous it is.

</comment><comment><USER46> Not sure how much impact this will have, most of the people I know and have discussed this with fall into two camps: people who use FB a lot an will put up with a bad mobile client, and people who don't want FB on their phone, ever.

I have to go years back to think of someone who told me they just couldn't take the bad UX of the clients so they deleted it.

<comment><USER33> It's probably not meant for us, but instead the third world phones where they've gotten to the point that it might not even install on a large part of their user base.

Like I've heard from peace corps folk about how a large part of the third world thinks of messenger as "the internet", which is absolutely terrifying.

<comment><USER47> As someone with a modern smartphone I'm a huge fan of these lite apps.

Spotify lite, for example, has all the features, a better (!) UI (with material ripples) and everything loads about twice as fast.

Every app should be a lite app. Devs, please start giving a shit about performance.

<comment><USER48> I've tried FB lite, and found it to be slower than the real app. FB lite seems to act like a fancy web browser, so each interaction needs to download it's UI along with content.

</comment></comment></comment></comment><comment><USER49> Here's a way in which they can save 100% of the size: Stop stubbornly barring mobile clients from using the web interface. This is why I don't use Facebook Messenger at all.

<comment><USER33> But then they don't have permissions to slurp up all of your contacts, watch all of your SMS, and listen to your microphone...

<comment><USER50> I really wish iOS would allow you to select which contacts/photo album to give an app access to, instead of all hundreds/thousands of them.

<comment><USER51> For photos, I wish iOS would not require a permission at all in the case where I just want it to open an OS-controlled file picker and then give the app the one photo, akin to copy-pasting it. No reason to give access to every photo when only N are picked.

<comment><USER52> It's been a while since I worked with the photo library APIs in iOS, but as I recall there in fact _is_ an API that apps can use to request the user to pick individual photos from an OS picker without further permissions. Most apps just don't use it because they all want to do their own custom photo picker UIs (even privacy focused apps fall victim to this).

</comment></comment></comment></comment></comment><comment><USER53> Sounds neat, but I'll continue to use "request desktop website" on mobile safari in a vain attempt to prevent running whatever else this app does besides chat.

</comment><comment><USER54> This seems like an incredibly low bar to hurdle. FB Messenger on iOS is legendarily bloated. In the couple of weeks I had it installed it also managed to be the biggest battery drain on my phone, even more than some 3D games.

<comment><USER55> Is this incompetence or aggressive data mining? I fail to see how a texting client is that complicated...

<comment><USER54> Have you seen how much memory and CPU time Signal uses on the Desktop? Or Slack? The era of running a chat app for almost no resources is gone unless you're an IRC holdout.

<comment><USER56> > Have you seen how much memory and CPU time Signal uses on the Desktop? Or > Slack?

Aren't those using Electron?

<comment><USER9> I think that's the point.

<comment><USER56> Right, but if Messenger is not using Electron why is this related?

<comment><USER57> All of those are chat apps.

<comment><USER47> And bloated. And using web technology. Wonder whether those are related.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER58> Does having 40 contact screen designs seem normal?

</comment><comment><USER59> This is a bit cynical (and borderline paranoid) but what if the reason for the rewrite was to remove privacy-violating code that was becoming a greater and greater liability? Also, wonder if they needed to do this to make way for end- to-end encryption we've been hearing about?

</comment><comment><USER60> I wonder if this will break libpurple-facebook or the Matrix-facebook-bridge

</comment><comment><USER61> Too little and too late. I feel like they lost a whole generation of people.

<comment><USER62> I tried to use FB Messenger for a group thread for a ski trip, and I got a resounding "ok boomer".

<comment><USER63> off topic, but I absolutely hate the millennial put-down of 'ok boomer'. They use it for anyone who is older than them, regardless. I'm Gen-Z and being called a 'boomer' is offensive.

</comment></comment></comment><comment><USER47> To me a lot of the new architecture just seems obvious (don't keep the same view 40 times, don't invent your custom app specific everything ...) and I really wonder how the original project could derail that far. Too many resources? Institutional bloat?

That said I find it a bit heart warming that all the major apps are now between 1/2 and 1/4 the size of what they were just a few years ago. I didn't expect the tech companies to ever realize the problem with insane sizes. Is a similar debloating happening to Electron apps?

</comment><comment> tim-- I wonder what this means for older versions of Messenger? Facebook talks about rewriting their server logic to support all the removed code from the mobile interface, but does this mean that we will soon see support for < iOS 10 (which Messenger does not support for new versions, as far as I ma aware) be dropped?

It's pretty sad that a Messaging app can't be run on a perfectly fine nine year old device. Bring back IRC :)

</comment><comment><USER64> So it's basically MVVM with SQLite as the model?

</comment><comment><USER65> I feel like I had an aneurysm reading this. For 6 paragraphs the repeat that they shrunk the lines of code down, that the rewrote the whole thing and that it's a massive undertaking and that a message app should be small. 6 paragraphs of that slightly reworded and I just gave up. I honestly think this was written by a bot.

<comment><USER65> Also just LOOK at this empty state.

12 buttons. And that's apparently stripped down. Yikes.

[https://imgur.com/gallery/drOgDwF](https://imgur.com/gallery/drOgDwF)

<comment><USER66> That's not the new version. You haven't received the update yet.

</comment></comment></comment><comment><USER67> It'll suck for the SEO team at LightSpeed point of sale company.

FB named a open source project the same name as a company.

<comment><USER68> I don't know if it's clear it will suck? You just advertised their company, it's the first time I ever heard of them. It's not like LightSpeed is an unheard of name? It's a stock trader, web filter, data warehousing company, and probably a million other things. Novel names are hard to come by.

</comment></comment><comment><USER69> Wish they had gone into more details about the budgets. Unless a project is bug fix only for life, how can one set a binary size or lines of code upper limit? I've heard that the best developers delete more than they write, but in practice I don't think that happens very often.

</comment><comment><USER70> Security isn't mentioned once.

I really wonder if in their meetings they sold the speed and lighter weight as a bonus for the user or for the collection of data on the user. This must reduce their overhead and be kinder on their servers.

</comment><comment><USER71> I still aren't 100% sure what they're using Sqlite for? Are they storing templates as blobs? Are the storing template logic in the table? How did that make things faster? Anybody who has more detail care to explain?

<comment><USER72> It sounds like the entire client-side state of their app is in SQLite

</comment></comment><comment><USER73> Assuming one hates notifications, is there _any_ reason why anyone would want to use app over m(basic[1]).facebook.com?

[1] to access messenger because fb stubbornly thinks I want to install their crap/spyware on my phone

<comment><USER74> Nice UI and OS integration — that's precisely why native apps exist.

</comment></comment><comment><USER75> RIP React Native

<comment><USER76> Messenger was never in React Native [https://reactnative.dev/showcase](https://reactnative.dev/showcase)

</comment></comment><comment><USER77> Now if only they would rewrite the web application too, or release that desktop app they were talking about last year. The web app is much, much slower than the phone app.

</comment><comment><USER78> Facebook's video player experience is absolutely terrible.

</comment><comment><USER79> Once you are several years into a software project, everything feels like a weekend project, you somehow lost all sense of time-cost/benefit...

</comment><comment><USER80> Thank you! Eventhough I've removed Messenger from my habits, I checked it out, and it's really snappy and super fast with starting up.

</comment><comment><USER81> Do they still block use of the web UI for Messenger in mobile browsers, unless I check "show Desktop version" in my browser settings?

</comment><comment><USER82> They said they reduced code 84% but the numbers they gave are a 79% reduction. If they're using different metrics they should explain.

</comment><comment><USER83> > And yet, for the people using the app, it won't look or feel much different.

Yikes. Okay, I know I'm maybe being a bit unfair here, but I'm sorry to say that this is one of the weakest engineering blog posts I've ever read. This seems to be a massive "let's end the craziness and finally pay our tech debt" effort. Good for them, but not something that excites me about working at Facebook.

<comment><USER84> Really? I, for one, think it's very important to work somewhere that pays its tech debt on time.

</comment></comment><comment><USER16> Was the previous one React Native? Seeing the talk about UI abstraction layers and given that this is Facebook

</comment><comment><USER85> I'm truly shocked how many resources are dedicated to maintaining a chat app that essentially just talks to an api. Seems like you could easily build and maintain a simple chat system with <5 developers. You wouldn't have shiny new features, but it would by coincidence be faster and simpler. Networked chat is a standard project in university.

<comment><USER86> > Seems like you could easily build and maintain a simple chat system with <5 > developers

Yes you could. Note however 'simple chat system'.

To build a global messaging app used by hundreds of millions of people is a whole different ball game.

By comparison, before acquisition by Facebook, Whatsapp had a team of ~50 people, and that was considered lean. Based on that, it would seem you're about an order of magnitude off.

<comment><USER87> True but, be aware that those 50 people did everything including the servers, the operations, the BI, oh and also maintained clients for like 8 different mobile platforms including ultra constrained ones like j2me and blackberry. If you look just at the iOS client, 5 people at WhatsApp on it would probably be a bit too high.

The issue here is only partly inherent complexity of the feature set. The real problem Facebook had is one I don't see discussed in either the blog post or this thread, which was organizational. The way they structured their mobile apps was as a huge shared codebase with many disparate teams just checking code into it whenever they wanted. To the extent there was any architectural planning at all it came from some small shared library teams who were in no position, managerially, to enforce their will on the others. The blog post makes clear that a huge portion of their problem was multiple teams inventing their own ways of doing things and creating stuff that want necessary, along with a lot of pointless duplication because there was so little coordination and thus so little code reuse.

The new app doesn't sound like anything special design wise, and that's the point: for the first time they've done things more conventionally. They now have someone who can dictate to every feature team "thou shalt use sqlite with these schemas" and other rules.

</comment></comment></comment><comment><USER88> >from more than 1.7M lines to 360,000.

At first look, I thought it is 36k, that would be truly great.

</comment><comment><USER89> Does anyone know if FB dropped Messengers C code for WhatsApp Erlang based code?

</comment><comment><USER16> I'd be curious to see more details on how pub/sub works with SQLLite

</comment><comment><USER90> It looks like polls aren't yet implemented in the rewrite?

</comment><comment><USER91> Project lightspeed required 23.94 MB / 11.83 MB to download the webpage and made the browser crawl on a i7 32Gb PC. Oh the irony..

</comment><comment><USER92> So ... no more React? what did they use? swift?

</comment><comment><USER93> The technical meat of this post is below. It looks like they mostly eliminated functionality in their app code wherever it was redundant with either OS functionality, SQL Lite capabilities, or the Messenger backend servers at Facebook's datacenters.

 _> One of our main goals was to minimize code complexity and eliminate redundancies. ... To build this unified architecture, we established four principles: Use the OS, reuse the UI, leverage the SQLite database, and push to the server._

 _> We accomplished this by using the native OS wherever possible, reusing the UI with dynamic templates powered by SQLite, using SQLite as a universal system, and building a server broker to operate as a universal gateway between Messenger and its server features._

 _>... the existing OS often does much of what's needed. Actions like rendering, transcoding, threading, and logging [and JSON processing] can all be handled by the OS._

 _> To simplify and remove redundancies, we constrained the design to force the reuse of the same [UI] structure for different [UI] views. So we needed only a few categories of basic [UI] views, and those could be driven by different SQLite tables._

 _> Now, ... All the caching, filtering, transactions, and queries are all done in SQLite. The UI merely reflects the tables in the database._

 _> We developed a single integrated schema for all features. We extended SQLite with the capability of stored procedures, allowing Messenger feature developers to write portable, database-oriented business logic, and finally, we built a platform (MSYS) to orchestrate all access to the database, including queued changes, deferred or retriable tasks, and for data sync support._

 _> MSYS is a cross-platform library built in C that operates all the primitives we need. ... With MSYS, we have a global view. We're able to prioritize workloads. Say the task to load your message list should be a higher priority than the task to update whether somebody read a message in a thread from a few days ago; we can move the priority task up in the queue._

 _> With MSYS, it's easier to track performance, spot regressions, and fix bugs across all these features at once. In addition, we made this important part of the system exceptionally robust by investing in automated tests, resulting in a (very rare in the industry) 100 percent line code coverage of MSYS logic._

 _> For anything that doesn't fit into one of the categories above, we push it to the server instead. We had to build new server infrastructure to support the presence of MSYS's single integrated data and sync layer on the client._

 _> Coordinating logic between client and server is very complex and can be error-prone — even more so as the number of features grows. ... _

_> Similar to MSYS on the client, we built a server broker to support all these scenarios while the actual server back-end infrastructure supports the features._

 _> [To minimize code-base growth] We also built a system that allows us to understand how much binary weight each feature is bringing in. We hold engineers accountable for hitting their budgets as part of feature acceptance criteria. Completing features on time is important, but hitting quality targets (including but not limited to binary size budgets) is even more important._

</comment><comment><USER94> tracking you everywhere you go is easier than ever!

</comment><comment><USER95> how does one manage to make a _chat_ app bloated in 2020?

<comment><USER96> Abstraction craze. React Native etc etc.

</comment></comment><comment><USER97> A great way to speed up the pace to their next scandal. [https://www.quitfacebook.org](https://www.quitfacebook.org)

</comment><comment><USER98> Am I the only one who thinks 86mb for an app is about 86 times too much?

Windows Messenger was about 900k. Sure, it only did text, but Skype wasn't that big either. I'd accept 20mb for stickers, givs and stuff but 80? And 300k lines of code? For a messaging app? It just seems... unreasonable to me.

<comment><USER99> Most of that is likely retina-friendly images/icons.</comment></comment>


Event-driven, non-blocking I/O with PHP - <AUTHOR> http://reactphp.org/

<comment><USER2> What's new or interesting about this? It's a framework in which the latest version was released Apr 14, 2013.

<comment><AUTHOR> Nothing new, Thought would be good to Share with hn.</comment></comment>


Does Heroku add cookies to my hosted web app? - <AUTHOR>

I'm seeing cookies on several of my Heroku hosted web apps.<p>Why are they there? Do you see them too?<p>> document.cookie<p>"__qca=P0-655933652-1360396453625; __utma=164893738.812724335.1360396454.1360402233.1360424700.3; __utmc=164893738; __utmz=164893738.1360396454.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);" <comment><USER2> Those look like google analytics cookies. Atleast on my website. blog.malloc64.com, if I disable the google analytics (by disabling javascript), I did not get any cookies installed. I think you have the google analytics tracker installed on the page.</comment>


The Intelligent Plant - <AUTHOR> http://www.newyorker.com/reporting/2013/12/23/131223fa_fact_pollan?currentPage=all <comment><USER2> I love this. It makes perfect sense to me that intelligence need not be rooted in one physical object, the brain. Rather it is a property of certain kinds of system, regardless of any particular instantiation.

Why are people so conservative in their thoughts, so dismissive of new ideas? I adore new ideas, revel in them. What is wrong with these people, that they are so readily dismissive. How can they be so crudely obtuse? To argue that the same behavior in an animal as a plant should have different terminology is a non-sense. It is so obviously a non-sense that one must doubt their motivation.

<comment><USER3> I agree whole-heartedly ... but 90% of the researchers in any field only want to see studies that strengthen or extend their existing mental frameworks because it's a lot more work to fix the framework of knowledge they've built over the years.

I've seen behaviors that looked intelligent in some very simple algorithms ... why wouldn't biology be able to create chemical versions of those algorithms?

<comment><USER4> Is Conway's Game of Life form of intelligence in the same sense that a plant can be "intelligent" for making seemingly optimal "decisions"?

Whatever the answer is, it's almost certainly a different kind of "intelligence" what we as humans seem to have. But, what if we apply this same "algorithmic intelligence" to a sophisticated enough neural network (or similar algorithmic construct) which simulates a human brain which is something we consider "truly intelligent", is _this_ network intelligent, despite it being "merely" algorithmically intelligent like the Conway's Game of Life? And if not, _what_ is "intelligent", if the output of the network (akin to human brain) shows intelligence?

The bottom line is, that we need to be very rigorous with _what_ we mean by different forms of intelligence -- it seems to me that "intelligence" is merely an umbrella term for various kinds of optimal/meaningful behavior. (I've seen people argue that nature itself is "intelligent" because for example water finds the most optimal course over the shurface which it flows and so forth)

</comment></comment></comment><comment><USER3> As a former embedded systems engineer, robotist and active systems architect, I always look forward to good stories about factory automation. I think in many ways, factories were the prototype for the "Internet of Things".

This story, while interesting, is about flora and should have been much shorter for the amount of information conveyed.

<comment><USER5> In other words, you mis-parsed the "plant" in the title to mean "factory". I think you could have said that more succinctly, too. :)

<comment><USER3> Correct on both accounts ... and when I realized what the article was about, I still read it! Since I was already laughing at myself, I chose to phrase it in a way that shared some humor with you (I hope).

Papa Hemmingway would not approve of most of writing!

</comment></comment></comment><comment><USER6> To anyone who is actually interested in the subject, I highly recommend this excellent free class: [https://www.coursera.org/course/plantknows](https://www.coursera.org/course/plantknows)

</comment><comment><USER7> If you don't want to read the whole thing, do be sure to skip down to the bottom where they talk about cooperative networks of trees. IP over fungus, anyone?</comment>


Apple: where is your #AppleMoonshot? Open letter - <AUTHOR>

Dear Apple Leader(s),
As longtime users, fans and stakeholders of Apple and its products we continue to be drawn to every generation of upgrades, improvements and of course every 'one more thing'.
While that has worked steady and delivered great results, we believe the time is NOW to take your innovation to a whole other level and truly attempt to rock our world like nobody else can.
At almost 2/3rds of a Trillion Dollars (!) you are the worlds most valuable company, not to mention one of the most profitable companies in the world sitting on one of the biggest piles of cash any company has ever garnered (more than Canada, Norway and Sweden's cash reserves combined). As things stand your profit margins will allow you to grow this ever more.
So dear Apple Leader(s): GIVE US YOUR MOONSHOT project that dares to take on the risk and tackle a challenge that ONLY an institution of your financial resources and brain power can. Your Research & Development budget is a mere 3% of revenues, a fraction of what other companies spend (ie. Google is close to 13.5% of revenues). If you can drop $3bn on headphones & music streaming, why not take some reasonable portion of your resources and go for something that has the potential to, we'll say it, actually PARADIGM SHIFT HUMANITY. To give you a few hints we have a starter list and poll that will help you set the course:
- Cold Fusion - Global Equal Health & Care - Global Equal Education - Quantum Computing - Anti-Gravity - Teleportation - Holography
Go for the impossible, do the audacious and pursue a dream of mankind.
We appreciate you not only pursuing the great but also considering the Moonshots for the greater benefit of our species.
Yours truly, Elion, Lacy, Herve & Haydee SILICON BEACH, Playa Santa Teresa, Costa Rica September 16, 2014
#AppleMoonshot Poll:
1. Would you like to see Apple pursue a Moonshot Project? 2. If yes, what do you think the Moonshot project should be? <comment><USER2> 0: How do we know it isn't doing so already 8-O

1\. Seriously, yes.

2: Smart dust, for slow but wholly distributed computing. So that one day you will be able to say 'it's in the cloud' and mean it literally. That said, holography might be their best fit right now.

I was very surprised to see that the firm only spends 3% of revenue on R&D, and further surprised to discover that this is an increase from a previous long-standing sum of 2%.

</comment><comment><USER3> Companies have a LEGAL obligation to their shareholders to pursue profits, and to be fiscally responsible in that regard. Using a "real portion" of cash to attempt to do things not related to making money would result in a very large class action suit.

Its a nice thought, but its not how publicly held corporations work; they have a responsibility to shareholders.

<comment><USER2> Going for a 'moonshot' is not incompatible with pursuing the interests of shareholders, as long as the potential payout is commensurate with the elevated risk. I don't see IBM being hit with class action lawsuits despite the highly speculative nature of some IBM research.

A for 'a LEGAL obligation to their shareholders to pursue profits,' this is a myth, and putting the word 'legal' in capitals doesn't enhance your argument. Officers of a company have a fiduciary duty to the corporation, and shareholders have a claim on the profits of the corporation, but no law requires that a corporation devote itself to profit above all else - and for good reason, since otherwise activist shareholders might demand that Apple cease the relatively uncertain business of making pretty computers and offer financial services instead, since finance is the single most profitable sector of the US economy.

As a shareholder, you have the right to vote in the election of directors to the board (let's skip over all the differently nuanced varieties of stock or we'll be here all day), and _that 's it_. If you still don't like what the corporation is doing then you have a simple option: sell your shares and invest your money elsewhere.

The corporation's _purpose_ is stated in its articles of incorporation. In Apple's case (and most companies are similar in this respect) it is as follows:

 _The purpose of this corporation is to engage in any lawful act or activity for which a corporation may be organized under the General Corporation Law of California other than the banking business, the trust company business or the practice of a profession permitted to be incorporated by the California Corporations Code._

Now, the idea of the obligation to maximize shareholder value is often tied to an old legal case, _Dodge v. Ford Motor Company_ , but nowadays most courts look to _Shlensky v. Wrigley_ in which the court held that directors are obliged only to do whatever they consider to be in the best interests of 'the corporation which they serve.'

[http://en.wikipedia.org/wiki/Dodge_v._Ford_Motor_Company](http://en.wikipedia.org/wiki/Dodge_v._Ford_Motor_Company) [http://en.wikipedia.org/wiki/Shlensky_v_Wrigley](http://en.wikipedia.org/wiki/Shlensky_v_Wrigley)

You might like to read further on the topic from Professor Lynn Stout, who is professor of corporate law at Cornell University and has written a whole book on this topic - summarized at the link below, which also includes a link to the content in pdf form.

[https://blogs.law.harvard.edu/corpgov/2012/06/26/the- shareho...](https://blogs.law.harvard.edu/corpgov/2012/06/26/the-shareholder- value-myth/)

</comment></comment><comment><USER4> 1\. Yes of course, they should pursue at least one crazy good moonshot.

2\. Holography + 1

</comment><comment><USER5> 1\. YES! Definitely would love to see #AppleMoonshot</comment>


Reddit Is Down To One Developer - <AUTHOR> http://techcrunch.com/2011/03/18/reddit-is-down-to-one-developer/ <comment><USER3> I took a job some time ago (back around when the internet was morphing from uucp to ppp) as a consultant to an "independent agency of the United States government" which seems to enjoy placing big blue boxes all over the landscape.

It was my first real job outside of the university system, so it is safe to say that I was rather green. This job basically involved being an apprentice to someone who oversaw the code supplied by vendors that sorted a tremendous amount of non machine readable mail, i.e. it assisted humans using chord keyboards sorting mail with pneumatic arms and big chains and slots. Back then, a fair amount of mail traveled this way - stuff your grandmother wrote that couldn't be OCR'd, postcards, etc. The whole apparatus was similar in size to a semi trailer [1]. Each station dealt with a piece of mail every second (give or take), with two fifteen minute breaks and a half hour for lunch. This was around the time of the postal shootings [2].

Two weeks into the job, my boss quit. Just never showed up again. Not exactly sure what happened. Apparently, I had become the most knowledgeable person in the organization on this software which was currently being rolled out widely.

Unsurprisingly, there were some serious code quality issues. This was QNX real time sorta unix in C and ASM with RTOS daughter boards. The vendor's code jockeys, apparently, had become unavailable.

Main takeaways: _Systems seem to keep working despite everything looking very fragile. Read tons of code. If it's working, don't poke it._

A year later I was able to make some form of industrial dance music by coordinating the openings and closings of the mail slots and the chain with the software. Bad situations can sometimes lead to greater clarity and new opportunities.

[1] [http://www.usps.com/postalhistory/images/photogallery/equipm...](http://www.usps.com/postalhistory/images/photogallery/equipmentpix/APPP136_fuji280cropped.jpg)

[2] <https://secure.wikimedia.org/wikipedia/en/wiki/Going_postal>

<comment><USER4> It seems like a common situation in the tech world for those with a little capability to deal with some legacy system that you somehow get lumped with or become the "expert". Maybe it's inevitable, people do get bored with doing the same things all the time.

I'd love to hear some of the music that came out of your experience - <USER2> to listen to it?

</comment></comment><comment><USER5> I wish the TC article had done more than merely mention that keltranis is "joining Alexis". Hipmunk now has both reddit cofounders, their first hire in keysersosa, and their most senior programmer in keltranis. I wouldn't be surprised to see jedberg join them before too long, and then hipmunk would have almost all of the old reddit team on board.

<comment><USER6> Me too. It is a total dis-service to hipmunk to not mention Chris or Steve.

But for now I think their tech team is full, so they won't be needing my services. :)

<comment><USER5> Does that mean you'd consider joining them if they asked you to? Also, given the concerns expressed at [1], once you get a healthy dev team would you guys look into maintaining redditOSS a little more thoroughly? I imagine personnel shortage has made that impossible to date, but if you had a sizeable group is that something you'd do?

[1][http://www.deserettechnology.com/journal/reddit-the-open- sou...](http://www.deserettechnology.com/journal/reddit-the-open-source- software)

<comment><USER6> > once you get a healthy dev team would you guys look into maintaining > redditOSS a little more thoroughly? I imagine personnel shortage has made > that impossible to date, but if you had a sizeable group is that something > you'd do?

Yes, very much. We would like to make the open source software MUCH easier to run, so that it is easier for others to develop on. It will probably be one of the first projects for a new hire, because it will make it easier for THEM to develop too.

</comment></comment></comment></comment><comment><USER7> Unless they're working on new features which are needed tomorrow, one dev seems fine in the interim. The number of sysadmins is more important to keeping a site running, but of course that's not what's in TC's headline.

<comment><USER8> Reddit's sysadmins neither have to maintain DC racking (nor travel), maintain hardware lifecycles, nor maintain vendor relationships. They certainly appear up to their teeth in working around AWS (EBS) deficiencies. They're not going to control a lot of their hardware, and most "fixing" of AWS pitfalls are going to come in the form of software.

Now if we are talking devops, I can agree. Engineering teams this small need to wear many hats; I think jedberg has been said to have helped in development efforts, if my memory of past blogs serves right.

<comment><USER6> Yes, I do dev too. I just haven't done it in a long time.

A lot of our sysadmin time is spent tracking down bugs in the stuff we use (like Cassandra) and doing tuning and automation.

Also, I do a lot of the other business stuff, so at best I'm a part time sysadmin right now.

We do pretty much do "devops" though. A lot of the work of Neil, our programmer, is tracking down bugs due to data inconsistencies due to hardware problems.

</comment></comment></comment><comment><USER9> This makes me shiver in my boots. I couldn't imagine having to run that site myself. Neil is inline for a big pay raise.

<comment><USER10> That's a bit unfair to jedberg, who actually runs the site with his operations team of two (one of them a new hire). This article and the comments are putting far too much weight on the developer, as if Reddit is a site that's constantly iterating new features. That's not to downplay his contribution, but:

        * He was hired in November.

        * He works on code, and didn't get woken up during
          the last major downtime until the end (from their post
          mortem, presumably due to the DB eating itself). The
          word 'even' in "we *even* woke up spladug" is telling,
          that indicates to me that he doesn't wake up often.

        * Reddit is pretty much a done product, and the last
          features I can think of were meta (Gold comes to mind)

He has a positive outlook[1], anyway, which the TechCrunch piece didn't seem to notice.

Doing operations for a site the size of Reddit with a staff of 2, on AWS, is far more impressive to me. Keeping an operation like Reddit afloat in front of that many uniques must be a pretty significant challenge. There's not a lot of depth for on-call, so I feel for their sleep.

On top of that, jedberg is the sole voice actively fighting for Reddit's reputation in public, since (let's be honest) the exodus looks a little suspect. Watching his comments[2] in the face of a perceivably sinking ship -- not to mention former employees who are saying quite a bit in front of an impressionable user base[3] -- is interesting, to say the least.

They're definitely undergoing a challenge, and I'm interested to see how they come out of it. (Aside: Today has apparently been discuss-Reddit day, looking at my threads.)

[1]: [http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_d...](http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_down_for_6_of_the_last_24_hours/c1l7i4m?context=1)

[2]: [http://www.reddit.com/r/reddit.com/comments/g6d7i/three_form...](http://www.reddit.com/r/reddit.com/comments/g6d7i/three_former_reddit_employees_ketralnis/c1lagp0)

[3]: [http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_d...](http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_down_for_6_of_the_last_24_hours/c1l6ykx)

<comment><USER7> Sorry! I accidentally downvoted while intending to upvote. Tricksy fingers...

</comment></comment></comment><comment><USER11> This is the second TC article today I see where they claim news site like digg or reddit are in competition with twitter. I don't think they understand that it's two very different type of stuff that is complementary. Or they are paid to say twitter in every article.

<comment><USER12> Tech journalism has a hard on for Twitter and it's not so surprising why. Twitter is all about self promoters. I see people using reddit all the time...I have never seen Twitter in the wild.

</comment></comment><comment><USER13> What happens when the last one leaves?

Is Conde just going to run off to Elance or something?

I can't even find a jobs page on Reddit.

At least it's open source.

<comment><USER14> Ironically, a month ago they were looking for devs and asking them to invest considerable time writing demo apps (front end engineers, for example, were tasked with writing an Javascript Reddit clone using HTML5 storage to keep track of votes, etc.) to prove their worth:

[http://www.reddit.com/r/blog/comments/fjgit/reddit_is_doubli...](http://www.reddit.com/r/blog/comments/fjgit/reddit_is_doubling_the_size_of_its_programming/)

My guess is this may have repelled some experienced devs that, otherwise, might have applied.

<comment><USER15> That's how you reach out to inexperienced devs. And frankly, if they're posting on Reddit, they know what they're getting into. They have to set up a pretty serious mediocrity filter.

If your resume identifies you as a badass programmer, you just toss them a copy of your resume. You know how it works, and they know that insisting that you do a programming challenge before setting up an interview hurts their chances of landing you, so they'll give you an in-interview test instead.

It's the same with Facebook and all the other places that have programming challenges -- they're there to qualify leads.

<comment><USER14> >That's how you reach out to inexperienced devs.

Not sure why an org like Reddit, which maintains a small team, would be interested in hiring inexperienced devs.

<comment><USER5> Nobody from the original team had any experience before they started there, to my knowledge.

<comment><USER16> ...and now, one of the most popular sites on the internet has 6-hour outages.

Coincidence?

<comment><USER17> Outage, singular. You are talking about the 6 hour outage, not the 6 hour outages. Reddit is prone to go down more than some other high profile sites, but you are talking about a single occurrence of it going down due to a known issue that is explained in the article this thread links to.

No, it is not a coincidence. Please don't sensationalize a comment about an article that clearly explains what went wrong. Go to Reddit for that.

<comment><USER18> As someone who hangs around in the reddit dev and downtime IRC channels, several-hour outages do happen on a monthly basis, as well as loss of some features more e.g. commenting. Reading between the lines on each outage, it was due to building the site on shaky hardware foundations. It just wasn't explicitly mentioned until now.

[http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_d...](http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_down_for_6_of_the_last_24_hours/c1l6ykx)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> OT but I found this amusing: competitor Digg (which has 42 employees and has raised over _$40_ in funding)

<comment><USER20> That's as many as four tens!

</comment></comment><comment><USER21> This is what happens when your primary demographic is people with no jobs and no money -- no ad revenue because nobody clicks the ads, and no possibility of selling subscriptions. Compare Reddit's target demographic with Bloomberg's target demographic. I bet Bloomberg has more than one developer.

(Incidentally, what a scam. Bloomberg terminals cost some insane monthly fee, _and_ they have ads! And all I've ever seen anyone do with them is check sports scores and read celebrity gossip. Google should have put them out of business years ago.)

<comment><USER6> It's not a money problem. We've got plenty of money. We just weren't allowed to spend it on developers until recently. Now we have a bunch of open developer positions that we are in the middle of hiring for, and will probably have more soon.

<comment><USER22> I'm sorry, but if you have money and you're not allowed to spend it on what you do need the most, then actually you _don't_ have money and you've definitely got a money problem.

</comment></comment></comment><comment><AUTHOR> In theory, if they can get by temporarily with just one engineer then the site was engineered well to begin with. There's some good management lessons from "The Mythical Man-Month" being applied here: <http://en.wikipedia.org/wiki/The_Mythical_Man-Month>

</comment><comment><USER23> How many developers does hacker news have?

<comment><USER24> HN is a much, much simpler program, both in terms of features and internals. Internally, Reddit is a gigantic mess.

<comment><USER25> Isn't HN basically news.arc[1] plus some custom mods and caching with content/stories saved as flatfiles?

Reedit has many more sophisticated load issues to about. The two aren't really comparable it seems.

[1]: [https://github.com/nex3/arc/raw/042990a55d8c880a0a88476eb52b...](https://github.com/nex3/arc/raw/042990a55d8c880a0a88476eb52b169e47f35d32/news.arc)

<comment><USER24> Yeah, that was my point. Reddit is much more complex and much messier.

</comment></comment></comment></comment><comment><USER26> my bet is that there is some 'technical debt', so the devs leave when said 'business is over your tech details'! :)

</comment><comment><USER27> This is not good given that they just had a recent 6 hour downtime. Why would folks at Conde let this happen ?

<comment><USER24> Conde really doesn't know what to do with reddit. They probably acquired it "knowing" they had to have something in "the social media space" (the acquisition predates the salesman's current buzzword of the hour, "the cloud") so they could compete in the "digital age" and all of that, but since they've acquired it my understanding is they've basically starved it and reddit has been running on fumes until they implemented Reddit Gold last summer. They're keeping it because they think they need something on this new-fangled internet stuff, but they don't what to do with it, and it's not generating much revenue, so they're just trying to leave things alone until they figure out something.

Note that this is just speculation based on what I've read, I don't have any inside knowledge.

<comment><USER28> Apparently, they have enough money but internal politics prevent them from hiring more people (it's a different budget...) Hence AWS, which isn't that cheap but does reduce personnel costs.

See the big reddit thread on this topic, or HN's thread about that reddit thread.

</comment></comment></comment><comment><USER29> Wouldn't it be surreal if Kevin Rose went to Reddit?

</comment><comment><USER30> Interesting. This sure is boosting their pageviews/developer ratio.

<comment><USER5> Which is currently sitting at 1.1B : 1.

</comment></comment><comment><USER31> Hmm.. Would now be a good time to build a new reddit?

<comment><USER32> Building a new reddit is easy - building a community, and scaling to support 1.1 billion views a month is not.

</comment></comment><comment><USER33> Does this mean that the social new bubble has finaly burst with reddit down to one person and digg winding down?

</comment><comment><USER34> HN seems to be doing fine with just one awesome developer :-)

<comment><USER24> HN has been struggling to keep up with load recently. Remember the pagination of comments a few weeks back needed to keep the server from falling over? Yeah. I think news.arc/HN could really do with some extra scalability work; it still slows down significantly at peak times.

<comment><USER35> Server? There's one server?

<comment><USER36> Yes one server, but that isn't entirely fair because pg has Robert Morris to tweak it.

And he is a kick ass sysadmin.

</comment></comment></comment></comment><comment><USER37> Scrap it. Rewrite. It can't be that complicated and if it is, it needs to go.

<comment><USER38> Rarely a good answer. All of that complexity wasn't added for fun. Making a comment like this really shows ignorance in software development. While we all want to scrap and rewrite some projects, most of us know that it isn't as easy as it looks and you will be spending your time on the wrong thing.

Also, I don't have any idea what to make of your comment "...and if it is, it needs to go.". Are you just trolling or do you really suggest that they shut the site down because it's complex?

<comment><USER39> I think he's suggesting that if any part of the reddit codebase is too complex, then it needs to be ripped out.

</comment></comment></comment><comment><USER40> It appears that Reddit's days are numbered. Sure they may be able to get by with one developer for a while, the product is fairly mature and content is driven by the user base. But how long can a website remain stagnant, with no innovation until the user base starts to migrate to the next best thing? Also, being owned by a large, old media company doesn't necessarily give one much confidence that Reddit is backed by visionaries who are willing to push the envelope and take risks.

<comment><USER41> And what is the next best thing in your opinion? It's one of the few places that does nested comments properly and the lightweight up/down voting always keeps it interesting. The only thing I can see replacing it is an outright clone, but no one's stepped up and done it in all the years Reddit has been around.

<comment><USER16> >And what is the next best thing in your opinion?

I'll know it when I see it.

I was a daily user of Slashdot from 2001 to 2006 and then I found Reddit. I completely abandoned Slashdot less than a year later.

What could beat reddit? Well, if there was a facebook-y site which allowed me to associate with people who had my interests (rather than family, friends, and people I went to college/high school), I'd be down with that. (I love my mom, but I don't think she cares about Minecraft, old-school RPGs, French pop songs, Asa Akira, and Jules Verne novels.)

Twitter is close, but the character limit, url shorteners, and "twitter-speak" (intentional bad spelling/grammar in order to "get under the limit") just make my teeth itch.</comment></comment></comment>


Chinese man eats 300 free airport meals by rescheduling his flight over and over - <AUTHOR> https://medium.com/better-marketing/how-a-sheisty-traveler-ate-300-consecutive-meals-for-free-908228c921f1 <comment><USER2> Link or it didn't happen.

The article has too few details, like the name of the person. And 2013 is far enough to be verifiable. It would be nice to have a link to a reputable news source or a wikipedia article or something that can verify the story.</comment>


A warning to startups: remember the downsides of A/b testing - <AUTHOR> https://kolemcrae.com/testing-sucks-right/ <comment><USER2> Whenever I talk to people about downsides of A/B testing, I always try to talk to them about this slide:

< [https://www.chrisstucchio.com/pubs/slides/gilt_bayesian_ab_2...](https://www.chrisstucchio.com/pubs/slides/gilt_bayesian_ab_2015/slides.html#18) >

This one visual sums up the most ubiquitous naive use of A/B testing, which I've seen practiced everywhere I've worked.

The whole slide deck is very worthwhile.

<comment><AUTHOR> Wish more companies understood this - thanks for the chart, it will certainly be helpful to illustrate the point!</comment></comment>


Ask HN: Stick with Flask or Learn Ruby on Rails? - <AUTHOR> I have a hobby project I have been working on for years now. When I started it I had just learned some Python & was trying my hand at dynamic webdev with flask. I've jumped off it & onto other projects over the years but have recently decided it is a great idea that I want to focus on & bring to the mainstream.
There is way too much 'learning cruft' everywhere in my code and some functionality I want to changed so am starting fresh with some more recent boilerplate. My problem started when I went to update dependencies & found that several of the flask extensions I rely on have not been updated in a very long time (years). And adding salt to the wound is I have found several of them have been forked by someone saying like 'i had to fix this thing about the original extension so just made my own copy of it'. i honestly can't tell if flask & it's extensions are just so rock solid that they don't need to be touched or if half of it is just abandoned or in maintenance mode.
so, ruby on rails. I am a one-man shop and don't have time to be keeping up with my framework and I love the idea that there is a committed group out there making sure this framework stays updated and on top of any issues. i like that every thing I could need to do with my app has been well thought out and thorough documentation/tutorials provided for it. i can't help but think that investing a few weeks to convert my knowledge of python/flask to ruby/rails is going to save me months on the back-end. but i'm really afraid to let go of all the time i have invested in the flask-version of my app. all the query syntax and work-arounds and utility functions i have built up will all need to be converted over. it seems like a horribly daunting task. my gut tells me it would be worth it but my mind tells me to just move forward with what I have and deal with the consequences when/if they get here.
HN, what would you do? <comment><USER2> How do you like developing on Rails? You have the value of past experience with Flask - does the 'newer' approach of RoR work for you?

Can you try rewriting in RoR/Elixir/NewShiny to see if that feeling goes away? Would you lose clients because of the switch to RoR?

All good items to ponder - that would be my thought process.I hope it helped.

<comment><AUTHOR> I'll be honest, Rails has a lot of magic going on that makes me uncomfortable but at the same time i desire because it would save me alot of time not have to explicitly spell it all out myself. this is part of my dilemma is whether i should sacrifice absolute control for the timesaving of trusting others and learning to do things their way instead of me hacking it together however i see fit. again, gut vs brain pulling me in different directions.

i guess i do have the "benefit" of having no clients i would lose by switching. just my own time and the potential that i'd have a harder time tackling future issues involving magic i dont understand

</comment></comment><comment><USER3> Flask is awesome, the code is very readable and transparent. I'm not a fan of Rails because of all the "magical" things that happen. Of course, smarter people than I use Rails and have great results, but I'll stick with Flask. Side note, Flask has really great source code too. I learned a ton from reading it.

<comment><AUTHOR> i'm getting the sense that rails is just doing so much automatically for you that, without understanding, seems like magic but once you learned what/why/when/how it's really just saving you the effort of doing it all yourself.

i do love flask itself but something about tacking on all the extensions to build it up to be a full-size framework feels super hacky to me...

</comment></comment><comment><USER4> Stick with Flask. I don't think it is a good reason to change. To be fair, you'll have the same maintenance issue with any language/framework. Some are better maintained, but I think Flask/Django/RoR are in the same league.

I'm a huge Flask user, with projects with 50+ Flask extensions installed. Most of them I just plugged in and never had issues. Some issues I had were easy to patch and most of them were fixed upstream.

You have some complex extensions, but a lot of them are just small wrappers, so it is possible it's just good enough and feature complete.

<comment><AUTHOR> 50+ flask-specific extensions? can i see your requirements.txt? i must know what i am missing

</comment></comment><comment><USER5> The same issues seem to happen across the board, no matter which platform. I use a Ruby framework for most of my development (not Rails, but a Sinatra based one), and keep finding that gems my apps depend on can quickly become stale and abandoned all over the place.

Kind of disconcerting to go to Github to lodge a suspected bug report on a gem we use every day, and see that the last commit was 6 years ago!

<comment><AUTHOR> disconcerting is definitely a good word for it. i have this sense that if i just stick with the core rails framework than at least all the basic functionality i could need are very unlikely to be abandoned. with flask its like every tiny aspect of the functionality is relying on 20 different individuals whom may or may not have really known what they were doing in the first place and/or aren't around to keep up with it and keep it updated for whatever base dependancy they wrapped around. flask is just so much hacky wrapping and scabbing on. my gut doesn't trust it to grow big with

</comment></comment><comment><USER6> You'll will find the same problems in rails community(and I guess in nodejs community too)

Learn to program and do it yourself if you don't find a library/gem. THIS is the solution (anyway in any platform/framework you'll have the 'main' libraries/gems updated...)

Stuck with what you know better and hack a product.

</comment><comment><USER7> Well, Flask is still in the game. But ROR is much more popular so it is good way to go. Also for further projects. Check some stats: [https://jobsquery.it/stats/backend- frameworks/group](https://jobsquery.it/stats/backend-frameworks/group)

</comment><comment><USER8> Yes! Definitely! For all the reasons you stated. Dealing with neglected frameworks sucks.</comment>


The Single Sentence Email Project - <AUTHOR> http://www.deliberatism.com/blog/the-single-sentence-email-project/

<comment><USER2> We definitely need to spend less time on e-mail. I'm working on a tool which makes it easy to get through your e-mail and quickly reply without the formalities or spending too much time on it (helping you use GTD's two minute rule effectively). You should sign up at <http://inboxinstant.com/try>

<comment><AUTHOR> Nice! Good to see different approaches to addressing this problem.</comment></comment>


Ask HN: To where should I migrate my email? - <AUTHOR>

Given Google's trend towards ever greater intrusiveness, I find their new privacy policy the last straw.  I got burned by first attempt at social Web site, Wave, violating my email privacy rather badly.  I should have switched already; now its definitely time to move.   Google has several advantages, including uptime, handling large files and thousands of emails well, good search capabilities, and wide name recognition.  I don't care about the name recognition, but the rest matters. I want a reliable, long-term hosting solution that I don't have to re-analyze and move every year.  What solution have you found to be the best? <comment><USER2> Switching to another provider seems like postponing things. Yes, the other corporation/organization might not have the same range of products and thus not the incentive/benefit from cross-checking your content, but there's still room for abuse (employees), and even if your leave your mail underneath the wings of angels, they still might get hacked.

Sure, setting up your own mail server incurs that same risk, and the professionals at the corporation might know a bit more about security, but on the other hand you present a much smaller target, and the software tends to be pretty stable/secure.

So hosting your own seems to be a common option. I think that probably means a basic Linux/Postfix/Dovecot setup for IMAP access, and maybe some web frontend. I don't know anything really good for the latter (besides gmail, I don't know anything good commercially, either), and it probably means installing more software on the server, which adds security risks. (Is there a third party web-based IMAP client who doesn't store anything locally and basically does everything via JavaScript?)

If anyone got a good hosting recommendation, I think that would be helpful. Most VPS offers might run into storage limitations, so something as modular as AWS might be needed.

</comment><comment><USER3> Google has excellent tools for taking your data elsewhere; services like the Data Liberation Front (<http://www.dataliberation.org/>) are pretty progressive.

That said, hosting your own email is what someone like RMS would recommend as it gives you, by far, the most control and privacy. All major webmail providers are not going to provide the stability you are looking for, especially if you are bothered by the current trend towards integration.

</comment><comment><USER4> I am also on the look out for a decent alternative to gmail. So far I've come across the following:

Zoho Mail: <https://www.zoho.com/mail>

Rackspace: <http://www.rackspace.com/apps/email_hosting/rackspace_email>

Fastmail.fm: <http://fastmail.fm>

I'm still looking around, but would love to hear if anyone uses and recommends any of the above.

<comment><USER5> I've been using FastMail.fm for around 4 years now. It's absolutely worth the $40/yr. I manage a lot of email accounts, and FastMail lets me define rules to file emails from different accounts into different folders, and automatically set my from/reply-to address based on the folder I'm in. Their spam handling has been excellent and there are tons of other small features like one-time- passwords which are great.

That said, I do find GMail's interface "snappier" than FastMail's, and threaded conversations are definitely nice to have. I'm starting to see GMail's benefit in tagging messages instead of using a folder hierarchy, but for managing email from multiple accounts, FastMail is definitely easier.

<comment><USER6> Fastmail is a great service for a modest price. Definitely worth it unless you want (or need) to spring for MS Hosted Exchange in which case I'd Rackspace.

</comment></comment></comment><comment><USER7> I plan on hosting my own email with the help of CS friends. VPS's are getting cheaper. Other options include hosted email from a provider you trust.

As an aside- does anyone have a good guide for downloading all email from GMail to Thunderbird, including attachments? I won't use closed source tools and the guides/howto's out there contradict each other..

</comment><comment><USER8> You could buy your own server and domain name to host your own email service

\- OR -

You could maybe wait on jumping the gun to see what happens.

<comment><USER9> After being burned several times, I see no reason for OP to give Google the benefit of the doubt. While running a server yourself might seem ideal, keeping up with security flaws etc. in the packages you're using seems like a hassle. I would probably look into smallish hosted email services (not like yahoo or hotmail).</comment></comment>


9-year-old reporter breaks crime news, posts videos, fires back at critics - <AUTHOR> https://www.washingtonpost.com/news/true-crime/wp/2016/04/05/9-year-old-reporter-breaks-crime-news-posts-videos-fires-back-at-critics/?tid=ss_fb-bottom <comment><USER2> This is not a sign that "news organizations should try harder" (quoting another comment).

It's a sign that good local news is not profitable to produce — e.g. a failure of the free market to provide a critical public good. As a corollary, it's a sign that a prerequisite of functional democracy is failing.

One potential solution is directly government funded news, but then the government can control the news, which is a potentially worse scenario!

A more effective alternative might be a universal tax rebate of say $100, which can only be allocated to news organizations. (though of course there are lots fiddly details to make this actually work)

<comment><USER3> Ironically, I find government funded news - e.g., BBC and the PBS Newshour - some of my most reliable news sources. The advantage of publicly funded news organizations is that they don't have to chase ratings (and they obviously don't).

<comment><USER4> BBC is going downhill lately

<comment><USER5> BBC suffers increasingly from D-notices (secret bans) on stories.

e.g. Unaoil scandal is _glaringly absent_ from the BBC. [http://www.bbc.co.uk/search?q=unaoil](http://www.bbc.co.uk/search?q=unaoil)

<comment><USER6> The BBC and every other mainstream media source, it seems.

I had never heard of this, and the only "major" source I could find was a Reuters wire story (that seems to not have been picked up by other media): [https://finance.yahoo.com/news/iraq-probe-claims-unaoil- corr...](https://finance.yahoo.com/news/iraq-probe-claims-unaoil- corruption-122807385.html)

Honestly, from reading that, it's not clear why this would be a story worth covering. Corruption in Iraq is like rain in Seattle: Depressing, but barely newsworthy.

<comment><USER5> Yes D-notices are applied nationally in the UK.

Unaoil is not intersting for Iraqi corruption but the foriegn offshore multinatinational beneficiaries.

Deserving of a least a column inch - the obvious D-noting makes it a LOT more interesting from a UK perspective.

<comment><USER7> Here it is covered in The Guardian:

[http://www.theguardian.com/business/2016/apr/01/authorities-...](http://www.theguardian.com/business/2016/apr/01/authorities- monaco-raid-oil-firm-unaoil-hq-corruption-investigation)

Since D-notices are not legally binding, if The Guardian received one but chose to report anyway, I'd be very surprised if they didn't mention a D-notice - the times government have overstretched with respect to D-notices, it has usually caused a major stink.

<comment><USER5> Nice catch.

Isn't The Guardian is now based in the US, since GCHQ ground up some of their computers ?

[http://www.theguardian.com/uk-news/2014/jan/31/footage- relea...](http://www.theguardian.com/uk-news/2014/jan/31/footage-released- guardian-editors-snowden-hard-drives-gchq)

<comment><USER7> No.

The Guardian is wholly owned by a UK trust, and its head office remains in London.

The only thing that changed was that reporting _of the Snowden affair_ was shifted to their US office. The Guardian pointed out to GCHQ in advance that it made no difference as they already had copies of the data elsewhere.

Furthermore, it was The Guardian itself who "ground up" their computers, as they refuse flat out a request to let GCHQ inspect the computers and do the destruction. Instead they agreed to destroy them in the presence of GCHQ staff, exactly because it didn't matter, and let them avoid legal liabilities. And frankly being able to put the story in the paper probably didn't hurt. From the article you linked:

'"Three Guardian staff members – Johnson, executive director Sheila Fitzsimons and computer expert David Blishen – carried out the demolition of the Guardian's hard drives. It was hot, sweaty work. On the instructions of GCHQ, the trio bought angle-grinders, dremels – a drill with a revolving bit – and masks. The spy agency provided one piece of hi-tech equipment, a "degausser", which destroys magnetic fields, and erases data. It took three hours to smash up the computers. The journalists then fed the pieces into the degausser.

Two GCHQ technical experts – "Ian" and "Chris" – recorded the process on their iPhones. Afterwards they headed back to GCHQ's doughnut-shaped HQ in Cheltenham carrying presents for family members, bought on their rare visit to the capital.

"It was purely a symbolic act," Johnson said. "We knew that. GCHQ knew that. And the government knew that," He added: "It was the most surreal event I have witnessed in British journalism."'

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Her name is _Hilde_? The same as the heroine Hilde Johnson in the greatest movie about journalism (yes, that includes All The President's Men IMHO), _His Girl Friday_? You couldn't ask for better journalism parents :).

BTW _His Girl Friday_ , directed by Howard Hawks, is not only one of the best movies of its era, it is one of the few great movies that are truly in the public domain. You can watch it on Internet Archive:

[https://archive.org/details/his_girl_friday](https://archive.org/details/his_girl_friday)

<comment><USER9> Also a strong female figure from the seventh century: St Hilda of Whitby. [https://en.wikipedia.org/wiki/Hilda_of_Whitby](https://en.wikipedia.org/wiki/Hilda_of_Whitby)

<comment><USER10> >Hilda is considered one of the patron saints of learning and culture, including poetry.

Interesting detail. I always enjoy learning about who's the patron saint of this or that. Why did the tradition start, and how does each saint get assigned a domain? How offbeat it can get? And are "they" planning to update it occasionally to match how the world has changed?

<comment><USER11> I went to Catholic school and yes they do in fact update saints. There's a patron Saint for the internet (Isidore of Seville), movies (Genesius), and astronauts (Joseph of Cupertino). I would say the tradition combines derives from Greco-Roman theosymbolism where divine beings represent specific domains of contemporary life. Note that Protestant and Baptist denominations do not generally recognize patron saints.

You can see a list of all them here and the rationale for their patronage as well. Pretty interesting to see the swath of culture and technology they cover: [http://www.americancatholic.org/Features/Saints/patrons.aspx](http://www.americancatholic.org/Features/Saints/patrons.aspx)

</comment></comment></comment></comment><comment><USER12> These articles are all so clichéd aimed straight at the masses.

A child seems to be doing something only an adult could do and better even! Stupid adults, kids showed them.

There exists an adult who's mean about it! OMG get out the pitchforks we get to be self righteous, the world is beating on a child.

Why can't we take things as they are. It's very cool she's writing stories. It's an interesting slant for her readers that she's a child. Leave it at that.

<comment><USER13> These comments are all so clichéd aimed straight at the HN audience.

A reporter seems to be reporting about a child reporter who is doing something noteworthy. Sensationalist reporters, HN commenters showed them!

There exists a reporter who wrote about it. OMG, get out the sarcasm we get to be condescending, the world is reporting a story about a child reporter.

Why can't we take things as they are. It's very cool that Tom Jackman is writing stories. It's an interesting slant for his readers that he's writing about a child. Leave it at that.

:)

<comment><USER14> LOL

<comment><USER15> I bet even aaron is :)

</comment></comment></comment></comment><comment><USER16> When a 9 year old consistently does your job better and more thoroughly than you do purely out of enjoyment maybe it's a sign that you should try harder.

<comment><USER17> Granted, she's subsidized by her parents. Real reporters have to serve a business, even if they're not directly involved in discussions of revenue and strategy. Often journalists aren't given the time or resources to dig up stories and vet them thoroughly.

<comment><USER18> And thus, the sad decline of our media. Beholden to CPMs, CTRs, UPVs, CPAs, CPLs, CRs, and a dozen other acronyms that mean one thing - more eyeballs == more money. So they write in the fastest, most outrageous, most viral manner possible.

They're incentivized to do things like clickbait, and outrage/yellow journalism to keep people spreading it, whether they agree with the viewpoint, or dispute the facts, because it's better to get the eyeballs than have any kind of integrity or skill at the profession.

<comment><USER19> > And thus, the sad decline of our media.

Isn't Hilde's example exactly the opposite? That motivated individuals can do the basics as a hobby?

Two observations:

1\. The barriers to entry have been dramatically lowered. i.e. Cost of distribution is slightly about $0.

2\. For basic stories most people only care about the tldr: some drunk driver killed a man on ...; Or about aggregations of tldrs: i.e. 5 people we killed last week due to gun violence in ...

Regardless of the talents of Hilde or her more experienced competitors. When I'm only reading tldr, I really doubt I can tell a 9 year old, from a 90 year old, from some software.

Given the above: With enough motivated hobbyists, all we need is better software news summarizers/aggregators and you can have great aggregations at the local, regional, and global levels.

If your concern is the lack of substance, I would ask, what percentage of the time do you actually care? I'm willing to bet, its a small percentage of the time. I'd also be willing to bet that you only really care about substance for stories that hit the top of news aggregators (i.e. "viral" stories)!

Given that: It should be relatively easy for "real journalists" to pick and bring substance to this small number of stories deserving substance.

Actually, there could even be a BugBounty type exchange. How much do you care about this story? $10, $20? If we collectively reach $1000 a Bloomberg journalist will spend a day on it and so forth.

<comment><USER20> > "For basic stories most people only care about the tldr: some drunk driver > killed a man on ..."

Without wishing to be offensive... perhaps that's a sign that stories like that aren't really newsworthy. Lots of things happen on any given day, including thousands of deaths, isn't the purpose of news outlets to select stories that have significance to their audience rather than going for stories where the main substance can be found in the title?

</comment></comment></comment></comment></comment><comment><USER21> That's super neat! It's really unfortunate people are being so negative. Sometimes the anonymous aspect of the internet, while overall a good thing, can lead to people being critical of others for no reason at all.

<comment><USER22> They were being mean on Facebook, which means they were being mean under their real names and photographs to a nine year old child.

<comment><USER21> Interesting. I saw her video and they didn't list any names so I assumed they were anonymous comments.

<comment><USER22> Ah, the Facebook link is buried in the article.

> But her reporting did not impress some of the good people of Selinsgrove, > and they let Hilde have it on Facebook Saturday night. "I think this is > appalling that u would do a story like this when all the facts are not in > yet," wrote one commenter. Her parents were attacked too: "does no one > realize that this is a 9 year old reporting this type of graphic > information!" wrote a Facebook poster. "I mean, what parents are encouraging > this type of behavior!"

</comment></comment></comment></comment><comment><USER23> _"Because she's the only one doing community news, she's developed sources who trust her to cover the news. One of her sources contacted her, and she was able to confirm it with law enforcement. She knocked on every door, like she'd seen me do with the Daily News. There were no other reporters there."_

Old school journalism. Ask questions, check with sources, get independent confirmation, write it up. Woodward and Bernstein had to get confirmation for three different independent sources before the Washington Post would run their major story that took the President down.

</comment><comment><USER24> Reminds me of the Wonder Showzen segments called "Beat Kids" [https://youtu.be/IwvrGHsjD7g](https://youtu.be/IwvrGHsjD7g)

<comment><USER25> Wonder Showzen was so incredibly insulting to everything and everyone, I will forever be amazed that it aired at all.

<comment><USER26> I like the creators' take on this:

[http://www.avclub.com/article/wonder- showzen-13983](http://www.avclub.com/article/wonder-showzen-13983)

> Standards are such a weird thing at a network like MTV. What's your moral > standard when you're celebrating 16-year-old kids spending $2 million on a > party? That's always our argument—"You show this stuff that's actually > offensive!" There's not even any satire to it, just people yelling at > workers.

</comment></comment></comment><comment><USER27> I'm not sure whether being 9 makes her more vulnerable to manipulation by figures who want to make themselves look good in the news, or less. It's certainly _different_ , ie unlikely to have the same sorts of biases as other reporters, which can be quite valuable.

</comment><comment><USER28> Well, MY 9-yo can tell you how to beat lots of Pokemon gym leaders and Elite fours.

</comment><comment><USER29> Like: little girl already takes something that serious and works hard on it.

Not like: Hard to believe that a 9 year old kid gets these ideas really by herself. I worry a little that her father is pushing her too much. Also investigating murders is maybe not something a child should do.

Not understand: Why is it such a big deal that someone reported something first? Never really got behind why that's a deal. Maybe this way you can understand your "job" more as a "game"? I don't see people switching from newspaper/blog number one to newspaper/blog number two, because number two reported one story faster.

<comment><USER30> I'm not sure about her not getting ideas like that herself. I'm a step-parent to four kids, and one in particular has an imagination that most people would kill for. She takes it upon herself to get into all sorts of things, writes stories with real depth of imagination and concepts behind them, and has recently taught herself to do stop-motion animation to tell these stories. I'm sure if she'd taken to journalism it would have been a similar story, so here I see a kid who has real ability and has taken to the role model she has in her father. Maybe Dad is pushing her too much, but maybe she's really into it.

Reporting first seems a big deal to me as everyone else could well be copying what's already been reported. I would think that the first person to report it accurately is serving the most purpose (subject to being correct, etc).

</comment></comment><comment><USER31> The article available without a paywall on this news site:

[http://www.dailygazette.com/news/2016/apr/05/9-year-old- repo...](http://www.dailygazette.com/news/2016/apr/05/9-year-old-reporter- breaks-crime-news-posts-videos/)

</comment><comment><USER32> What a promising young woman, I'm sure her parents are very proud! Sadly, it's not very hard to beat the local paper anymore. Now that we consume most of our news online for free, media companies rely entirely on ad revenue and simply can't afford to provide good local coverage. Ad-supported professional journalism just does not work for local stories that can't attract a huge audience.

Some of you have suggested Government funded news - while I agree that quality local news is a critical public good, I believe that Government intervention in the industry is dangerous. I'm confident that the free market will eventually solve this problem with a creative new business model.

</comment><comment><USER33> Such a shame about all of the online trolls targeting a 9 year old girl. I'm so glad she has not let it faze her and stood up to the bullies!

</comment><comment><USER34> [Here's a link to the original response video which the article failed to include.]([https://www.youtube.com/watch?v=0ShfNQOUeAY](https://www.youtube.com/watch?v=0ShfNQOUeAY)) Probably to reduce bounce rates or something.

</comment><comment><USER35> I love this kid

</comment><comment><USER36> At one side I am happy to see this new kind of journalism where people would get news from genuine sources instead of some _madeup_ stories while on other hand I am sad for this kid who got into such things in the age where she should get involved in things that help her to enjoy life.

<comment><USER37> That's an odd statement to make. The whole article is about how she is doing exactly the thing that helps her enjoy life.

</comment></comment><comment><USER14> I remember hearing about a startup that tried to crowd fund the news. I don't think it worked but it's a cool idea.

</comment><comment><USER38> Probably better than the typical sensationalized crap, that's for sure.

</comment><comment><USER39> I am sure she has better content than Buzz Feed

</comment><comment><USER40> way to go!

</comment><comment><USER41> Cute

<comment><USER41> why the downvote? I actually meant it's cute, not the cynical 'cute'

<comment><USER42> I didn't downvote you (else I wouldn't be able to post a reply!) but the downvote comes from not adding anything substantial to the conversation: it's the +1 of github issues - any "thanks for posting!" kind of comments tend to get killed (again, it would be better to post something more substantial, like why you liked it etc etc). Your reply to yourself got downvoted, 'cause "no complaining about being downvoted" [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER43> > I didn't downvote you (else I wouldn't be able to post a reply!)

Eh? Yes you can. Why do you think you can't?

In fact if you downvote you are encouraged to post a reply to explain why.

It's actually the opposite: You can't downvote people who reply to you.

</comment></comment></comment></comment><comment><USER44> "Her father is an author and former New York Daily News reporter who took Hilde to his newsroom and to stories he covered around New York and hooked her on the rush of chasing news."

Welp.

<comment><USER45> Well, yeah, _someone_ had to teach her that flawless inverted-pyramid writing style.</comment></comment>


When TV Ads Go Subliminal with a Vengeance, We'll Be to Blame - <AUTHOR> http://www.nytimes.com/2016/05/16/business/media/when-tv-ads-go-subliminal-with-a-vengeance-well-be-to-blame.html?_r=0 <comment><USER2> Raises some very interesting points, and it is indeed possible advertisers will turn to more in-media advertising to make up for the losses, but this still leaves the (ever growing) section of the market like myself that haven't watched a second of commercial TV in the last 12 months and don't really consider going back. I get my media mainly from Netflix and some local players here like Stan and AnimeLab which have entirely replaced my need for Pay Tv and Free-to-air broadcasts. What happens when the younger audience doesn't have a TV tuner in the first place? How will the ads, subliminal or not, be served? Will it shift to public spaces or internet entirely, or something totally seperate again?</comment>


Saying Hi to Allo and Duo: new apps for smart messaging and video calling - <AUTHOR> https://googleblog.blogspot.com/2016/05/allo-duo-apps-messaging-video.html <comment><USER2> So here's what I don't understand. Hangouts has been the main message app from Google that supports text and video chat. One of the biggest complaints about hangouts was not being able to use a phone number with it so you could essentially replace SMS with another app that's closer to an iMessage competitor.

Now we have two apps, Allo and Duo. Allo somehow addresses the phone number piece...but is broken out into a separate app and is only available on Mobile (so no web or desktop clients). Duo is basically the video portion of Hangouts.

Am I missing something? I mean the assistant stuff in Allo is neat and all but integration has been the key for a while to providing better usability and this just not only ignores that but introduces two new apps that somewhat sorta compete with Hangouts, its own product.

Why isn't this just one, single, awesome thing?

<comment><USER3> I guess, they didn't go with Hangouts because it was basically built as extension of the web. May be they wanted to build a mobile focused messaging app from ground up which can compete with apps like WhatsApp and Telegram. It would have been if they integrated Allo and Duo into a single app though.</comment></comment>