Scaling to millions of simultaneous connections (2012) [pdf] - <AUTHOR> http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf <comment><USER2> Video of talk [http://vimeo.com/44312354](http://vimeo.com/44312354)

<comment><USER3> Thanks for sharing this.

</comment></comment><comment><USER4> Given the same problem, I'd look at a reactor pattern MQTT mosquitto like pubsub protocol in Go, Erlang or something JVM/CLR. The beauty of publish subscribe of many low bandwidth clients is that they need tiny bits low latency work in a sizable bandwidth app. Could run BINC/CBOR RFC 7409 over zeromq on lower-end infiniband between boxen. Millions of IM users are just similar enough to tons of smart meters that the solution overlap is enough, but obviously people are more bursty with jagged sinewave daily traffic loads.

Let the clients handle end-to-end encryption with something zk DH/OTR/SMP.

I'm curious how they later monitored this and did other common SRE stuff. Also deployments.

<comment><USER5> You could use also Apollo, ActiveMQ's successor, which comes with an MQTT adapter and runs on the JVM. Has the added benefit of supporting other messaging protocols as well. I'm not sure how well mosquitto would hold up, do you have any experience with it?

As an aside, MQTT has a constrained device optimized sibling MQTT-SN, which works over UDP and supports sleepy nodes, etc. Unfortunately that one's stuck in licensing hell and does not yet have good tooling, at least last time I checked.

<comment><USER6> My company selling Telecom-grade distributed MQTT broker and MQTT-SN gateway. Both written in Erlang/OTP and come with 1M concurrent clients SLA (was tested with even more).

I gave a talk about MQTT-SN Gateway at Erlang User Conference 2013:

[http://www.erlang- factory.com/conference/ErlangUserConferenc...](http://www.erlang- factory.com/conference/ErlangUserConference2013/speakers/ZviAvraham)

[http://www.erlang- factory.com/upload/presentations/807/ZviMQ...](http://www.erlang- factory.com/upload/presentations/807/ZviMQTTS_for_EUC2013.pdf)

</comment></comment></comment><comment><USER7> Truly impressive scaling and efficiency. This presentation is two years old. I'd love to hear how far they've come since. My limited experience dealing with many many orders of magnitude fewer users has found the same thing this presentation stresses, though: today's hardware is outrageously fast and powerful. The slowdowns are all contention contention contention.

</comment><comment><USER8> An interesting historical note is that Facebook's chat system was originally written in Erlang ([https://www.facebook.com/note.php?note_id=14218138919](https://www.facebook.com/note.php?note_id=14218138919)), before being replaced with a C++/Java system.

<comment><USER9> I am more interested in why they switched away from Erlang, that is the opposite of the usual story.

<comment><USER2> They had trouble finding/training enough Erlang engineers.

<comment><USER10> It's hard to believe Facebook can't find Erlang engineers. May be their interview process got in the way. If you use standard algorithm/datastructures interview questions to hire Erlang devs you will have a hard time. All normal data structures in Erlang are immutable and algorithm complexity is a controversial topic there. Using Mnesia/ETS is a bit of a taboo for interviews (like using SQL on your coding task in a C/Java interview). Many Erlang devs would dismiss such questions as irrelevant and try to move on asap which is a big no-no in interviewing.

<comment><USER11> Sorry, but any good programmer will know the conventional data structures and algorithms, regardless of whether they write programs in Erlang, C or some other language.

<comment><USER12> That is a bad bias. "Data structures & algorithms" could be a footnote in the history of a developer, plus, which "data structures and algorithms" will you use to hire one? The ones relevant to a erlang dev are not the same to a C/embeded one.

</comment></comment></comment></comment></comment></comment><comment><USER13> From [http://sequoiacapital.tumblr.com/post/77211282835/four- numbe...](http://sequoiacapital.tumblr.com/post/77211282835/four-numbers-that- explain-why-facebook-acquired)

32\. Even by the standards of the world's best technology companies, WhatsApp runs lean. With only 32 engineers, one WhatsApp developer supports 14 million active users, a ratio unheard of in the industry. (WhatsApp's support team is even smaller.) This L E G E N D A R Y crew has built a reliable, low-latency service that processes 50 billion messages every day across seven platforms using Erlang, an unusual but particularly well-suited choice. All that, while maintaining greater than 99.9% uptime, so users can rely on WhatsApp the way they depend on a dial-tone.

<comment><USER14> Is it really that unheard of ratio for the backend? Some of those developers must be client engineers, so their ratio is probably a wee bit better than 14 million to 1, but really the backend service is rather simple and shouldn't change much whether you have 5 million or 50 million users. Further when you control the client and the server, hiding downtime is stupidly easy.

The same is true of client engineers too I suppose. One developer putting out an app to 1 person is identical to putting one out for 100 million. The work is related to the number of clients, not the number of installs.

<comment><USER13> When the guy from Sequoia, who has the inside numbers on the top companies, says it is unheard of, its probably unheard of.

The backend service is rather simple for 50 billion messages a day? hmmm not so much, I'm thinking.

<comment><USER14> With the right architecture, it is largely a horizontal scaling problem.

I ran and scaled the Napster server to 80 million users. We pushed about 70 billion "index file" commands an hour alone at peak. We had a chat and messaging system that also pushed millions of messages an hour.

There were some pieces of data that had to live on all the servers (what user was connected to what server) which would have caused some problems eventually (though with how much memory you scan stick in today's machines, not for a _very_ long time), but from experience, 10k really was the same as 80 million.

The code to do this was a relatively small amount of C++ code. Most of our problems with scaling had to do with bugs in Linux when it was younger and "line-speed" Cisco switches that would blow up just because you pushed a few million packets per second through them.

<comment><USER15> Wow, you worked on Napster? You mention the server was written in C++. Out of curiosity, do you know what the client was written in? I found a random forum post by an anonymous user that said it was written in Delphi.

<comment><USER14> The Windows client was written in C++ (MFC iirc).

</comment></comment></comment></comment></comment></comment><comment><USER16> Would something like golang even need lock-counting like BEAM ? I think the idiomatic way to work with golang is goroutines rather than mutex, etc. However, I'm not sure if any goroutine mailbox profiling tools are available.

<comment><USER17> > Would something like golang even need lock-counting like BEAM ?

BEAM locks are within the VM's implementation[0]: [http://www.erlang.org/doc/apps/tools/lcnt_chapter.html](http://www.erlang.org/doc/apps/tools/lcnt_chapter.html). BEAM lock counting is about introspecting runtime state and capabilities.

I doubt Go's runtime is lockfree. The answer would thus be "yes, most likely".

> I think the idiomatic way to work with golang is goroutines rather than > mutex

1\. depends: [http://stackoverflow.com/questions/10728863/how-to-lock- sync...](http://stackoverflow.com/questions/10728863/how-to-lock-synchronize- access-to-a-variable-in-go-during-concurrent-goroutines) [https://code.google.com/p/go- wiki/wiki/MutexOrChannel](https://code.google.com/p/go- wiki/wiki/MutexOrChannel)

2\. I doubt channels implementation is lock-free, though I could well be wrong

[0] and maybe in NIF[1] as well

[1] [http://www.erlang.org/doc/tutorial/nif.html](http://www.erlang.org/doc/tutorial/nif.html)

<comment><USER18> You're right and they're not currently a goal:

"Non-goals: make channels completely lock-free (this would significantly complicate implementation and make it slower for common cases)"

[http://talks.golang.org/2014/go1.3.slide#8](http://talks.golang.org/2014/go1.3.slide#8)

</comment></comment></comment><comment><USER19> 571k pkts/s is pretty respectable, probably nearing or at the bandwidth limits of their network interface. but i'd like to know how many new connections per second can they do (avg), and how long does it take to reach 2.8M connections? (if it takes a long time to open a connection, it could take a while to establish all those open connections, and a reset of all conns could create a long wait for new users to connect)

</comment><comment><USER20> Could similar scaling be achieved with Scala & Akka or did I just make Erlang devs snicker.

</comment><comment><USER21> If you want evidence that HN has a fetish for money, it's that the technical details of Whatsapp's success are only closely inspected now that gratuitous cash has been thrown around.

You may view this comment as too cynical for this _particular_ topic, but the ridiculous surge in Whatsapp stories doesn't lie. And of _course_ we should inspect the action of successful companies.

I am merely pointing at the crude vulgarity of the Valley's barometer for success.

<comment><USER22> Is it really vulgar to desire money and take it as indicator of success, or are you holding people here to rather high standards?

<comment><USER21> >Is it really vulgar to desire money and take it as indicator of success

Yes? It is not only vulgar, it is utterly clueless.

<comment><USER23> Money is certainly not an indicator of true success, other than, of course, success of acquiring money. However, why is money vulgar. Sure, there are many vulgar things one can purchase with money. But money in and of it self isn't vulgar.

Many people here want to understand how WhatsApp managed to convince someone to pay so much money for it, perhaps so they can replicate this success and also become rich. What's so wrong with that?

<comment><USER24> > perhaps so they can replicate this success and also become rich. What's so > wrong with that?

My theory: Perhaps because an ever growing population of tech professionals are disgusted with the race for more wealth?

I will be the first to admit, I'm an Elon Musk fanboy, although I think its justified. Instagram. Whatsapp. Messaging apps! Billions of dollars! For messaging! With that same amount of cash, Musk has delivered goods to an orbiting space station and has succeeded in changing the direction of transportation, something an entire auto industry wouldn't (not couldn't, wouldn't) do.

I could be wrong. Perhaps money is still the end goal for everyone. If its just to have money for money's sake, I feel sad for you. If its to pursue your passion, I think we can all empathize with that.

<comment><USER9> Musk had to make his fortune first...

<comment><USER24> I get making your fortune. My point was: Use the opportunity you get from it wisely.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Are there 3-month business bootcamps for programmers? - <AUTHOR> Just a thought:
There are 3-month coding bootcamps for non-technical people. Learn coding, find a job as a software engineer.
Are there any 3-month business bootcamps for programmers? Learn business skills, quit your job and work for yourself :) <comment><USER2> business skills? [https://www.udemy.com/business- bootcamp/](https://www.udemy.com/business-bootcamp/)

That is the easy of easiest parts... You need a 3-month bootcamp on Luck Creation and Peddling™

Get an idea that sustains itself to build a business rather than building yourself another job, that is Luck Factor.</comment>


Let's Talk About Coding Outside of Work - <AUTHOR> https://www.freecodecamp.org/news/lets-talk-about-coding-outside-of-work/ <comment><USER2> _A person coming to development with an existing family and responsibilities may be content with just working their 9-5 job and shutting it off for the day._

I don't have a family yet I still don't want to code more than 9-5. There's so much fun stuff to do both outdoors and indoor than sitting even more hours in front of the computer. All this sedentarism feels super unhealthy.

And that's coming from an introvert.</comment>


_why's Bloopsaphone - Make Atari-like bloopy sounds - <AUTHOR> http://github.com/why/bloopsaphone/tree/master <comment><USER2> This is a great project in order to bring in new programmers. It's so simple, but so entertaining. If fun little "toys" such as these keep popping up, it's sure to create more interest for the rest of the population. :)

</comment><comment><USER3> I hope this will be included in future Shoes versions. Shoes is already awesome for making (portable!) retro-games. This will add another great deal of retro-ness. ;)

<comment><USER4> He wrote it for Hackety Hack, which will be built on Shoes for its next version. Whether or not it's included in Shoes itself or just HH will remain to be seen, but I'd love to see it in the former.

</comment></comment><comment><USER5> for python loving folks, who don't want to miss out on the fun...

you can do this easily with pygame.org too... Or with pyaudio(a good wrapper of portaudio).

Also the latest pygame pre-releases include a wrapper for portmidi... so you can do midi sounds easily.

</comment><comment><USER6> can't get it to run on OS X. It complains about an initialization error with portaudio :(. Maybe the MacPorts version of PA does not work with it?

<comment><USER4>
      curl -LO http://www.portaudio.com/archives/pa_stable_v19_20071207.tar.gz
      tar xzf pa_stable_v19_20071207.tar.gz
      cd portaudios
      ./configure && make && sudo make install
      cd ..
      curl -LO http://www.complang.org/ragel/ragel-6.3.tar.gz
      tar xzf ragel-6.3.tar.gz
      cd ragel-6.3
      ./configure && make && sudo make install

Now go back to bloopsaphone and

      make clean
      make ruby

(Make sure "/usr/local/bin" is in your $PATH.)

<comment><USER7> I also had to modify the portaudio Makefile to remove the -arch flags, and it worked then.</comment></comment></comment>


Eidophor - <AUTHOR> https://en.wikipedia.org/wiki/Eidophor <comment><USER2> Mike Harrison of mikeselectricstuff gave a talk at the 2016 Hackaday Belgrade conference on how insanely complex these things were.

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

<comment><USER3> He mentions the Eidophor's only competitor, the GE Talaria, which is also interesting:

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

</comment></comment><comment><USER4> I am quite impressed by the image quality and the sharpness for something that was used in the 60s. Of course, digital screens are better now but whoever invented the Eidophor at that time did extremely well.

</comment><comment><USER5> I remember "live" projections of a TV video signal used in BBC programmes in late seventies, where you see on the stage a huge screen and seemed that it's not a film projection, and at that time I just couldn't imagine how they managed to do that, knowing only how the CRTs worked -- and big projections simply "didn't fit" that model. I considered that a pure magic.

And now searching the internet, they really did have this technology (see the comments):

[https://hackaday.com/2016/03/15/retrotechtacular-eidophor- an...](https://hackaday.com/2016/03/15/retrotechtacular-eidophor-an-unknown- widely-used-projector/)

"When I worked at the BBC West London studios in the 70's we regularly used Eidophors for back projection"

</comment><comment><USER6> Fascinating. I always wondered what was used in the 1960s to project the huge screens in NASA Mission Control.

</comment><comment><USER7> Since it uses a "slowly rotating disk" for the projection, what was the latency of the technology?

<comment><USER8> The rotating disk is only there to replenish and renew the oil surface on which the electron beam is drawing the image. The speed of disk rotation has no effect on the latency.

It does have an effect on persistence of the image, but my understanding is that the disk was slow enough that movement was negligible compared to how fast the oil deformations faded.

Eidophor has practically zero latency, same as a CRT - whatever the electron beam draws is immediately visible.

</comment></comment><comment><USER9> I wonder if you could do digital holography with this?

<comment><USER10> not sure about holography, i think one can imagine how an electron beam modulated surface (or may be volume) can say change laser direction thus providing kind of non-mechanical scanning in a lidar for example. Though it sounds like a last century approach. These days i'd bet on something like nanotube channeling the beam and say flexing in response to the field.

</comment></comment><comment><USER11> I wonder what the advantages / disadvantages were compared to CRT projectors that came out in the 1950s.

<comment><USER12> From the article: the Eidophor was 80 times brighter than CRT projectors of the time.

Presumably because it was a modulator of an independent light source, rather than the source itself.

</comment></comment><comment><USER13> Doug Engelbart's famous 1968 demo used an Eidophor.</comment>


Indie Developers and Crossing the App Store Chasm   - <AUTHOR> http://dangrover.com/2010/05/29/indie-developers-and-crossing-the-app-store-chasm/

<comment><USER2> Again, what is the iPhone app store doing that Palm didn't do before? There was a thriving app market. While it was web based (as opposed to device based), normal every day people bought millions of dollars in apps every year. I cut my teeth in that market at Quickoffice (who has translated that experience onto the iPhone today). While Palm was at its peak we would do 7 figures in sales.

What Apple did that other cell phone competitors (particularly Symbian) absolutely failed to do was make the app buying process seamless. For Palm users it was drop dead simple. Download the file, double click, and sync the device. On Symbian devices it was a mess of menus, disclaimers, and other crap that made installing stuff generally suck. It looked and felt like installing a big software package on Windows. The iPhone certainly deserves credit for fixing that.

Still, so much of what the iPhone has done was improve on what the folks at Palm did years ago. You can find examples of touch based interfaces (snappermail springs to mind) on the old Palm devices. Palm sported app- centric data with no exposed file system. Many of the design conceits of the iPhone first resided on Palm devices. It's part of the reason that I chuckle every time Jobs rants about how everyone is trying to steal from 'him'.

That said, there is one thing that I think is truly revolutionary about the iPhone app market. The advent of truly useful (and effective) mobile ad networks changes the game quite a bit. Being able to monetize free apps is huge. One of our app developers here in Colorado has actually seen their ad- supported titles surpass their app-store purchases which is interesting (and they sell a LOT of product). We didn't have that in the old days... it would have been really nice:) Both Google and Apple are bringing interactive ads to their respective platforms, so they clearly 'get it'.

In todays marketplace Apple clearly doesn't have a monopoly on the app market. The Android app store is a worthy competitor. It's easy to find apps (although I wish the 'top *' categories would rotate MUCH faster). They install seamlessly. You can find all the information you need in store. I really am not sure how it's really any different than the iPhone experience...

<comment><USER3> > I really am not sure how it's really any different than the iPhone > experience...

A few opinions:

* The iPhone UI looks so much better than the Android one. Yes, users care about such details. It's all part of their overall experience.

* The responsiveness of the iPhone is unparalleled. This has an impact on the experience users have when they run apps.

* iPhone users can generally count on a certain level of quality from approved apps. Android users don't have the same luxury. As a result, Android users may feel less inclined to explore and install new commercial apps (if the risk of wasting money is greater). This issue may be partially resolved by their refund policy, but still, no one likes having to deal with refunds.

* The online Android Market only lists a few apps. Sure, you can browse all of them from your handset, but it's an annoying limitation. I can't even see the price of these top applications showcased online.

* People from many countries cannot purchase applications from the Android Market. Only developers from a handful of countries can publish applications on the Android Market. As a Canadian developer, I'm not able to. So much for the open device (yeah, I could sell them outside of the Android Market but that's a pretty huge disadvantage).

<comment><USER2> My experience with Android is purely in the form of my HTC incredible. I get that we're talking about pretty subjective things here:)

* UI appearance: I think the new HTC sense looks and feels on par with my iPhone 3GS. It's attractive and intuitive. My wife actually finds it be far superior for her tastes.

* Responsiveness: This is less subjective. Android running on the snapdragon is VERY responsive, certainly on par with the iPhone. I have played with a buddies original Droid. It definitely has some general lag to it. The difference between my phone and his is night and day.

* Quality of apps: Seriously?:) The app store is filled with 180,000 apps. 179,000 of them are complete crap. I've owned an iPhone since day 1... fart apps, picture of the day apps. I bought a fitness tracker a couple of months ago that crashed constantly and barely worked. Apple is not hand auditing applications. It's random at best. The auditing process is a content-control not quality-control. Among the apps that I actually use, I find the quality to be quite high on Android as well. There are bad apps and there are very good ones (weatherbug on Android is actually much nicer in my opinion).

* Android market: I guess I've never considered this. I've actually never even looked at apps using desktop iTunes. 100% of my app purchases have been on-device. I think this really comes down to the philosophy of the platforms. Google is building a self-contained pone-in-the-cloud. Apple still sees the iPhone as a bit more of a computer satellite (like Palm, but far less tethered I imagine).

* Countries: Ya.. that's definitely lame. I assume it's going to change soon. I would hope at least. You definitely have a fair gripe here (and I'm sure it colors some of your opinions a bit?;> )

</comment></comment></comment><comment><USER4> Coming from outside the App Store, two things always stick out at me:

1) They have totally nailed the purchasing experience. I think that probably increases sales system-wide by well in excess of a factor of ten, and it powers factor #2.

2) The use of iPhones is social in nature. Not fake social, like Facebook apps. Real social: hey, look, my cool phone can fart. Folks I know with iPhones pull them out at dinner and show me how much fun they're having slinging birds around. And darn it, I want to sling birds, too. That is why Apple loves the apps: because each one is a recurring opportunity for you to explain to your friends "Here's what you could do on your iPhone, if you were cool, but you can't do it because your phone is lame", why Apple is trying its darndest to kill cross-platform development ("Big deal, I have that game on my Droid"), and why some developers are sort of falling into accidental virality through quality of experience. (Some others, of course, are intentionally engineering the virality.)

<comment><USER5> What do you mean when you say Facebook apps are "fake social"?

<comment><USER4> I mean that use of them is about as solitary as games get, and the prevailing reason they're known as "social" is because of artificially engineered spam- your-friends-to-advance mechanics. I play a particular RPG on Facebook -- beating some monsters requires getting 100+ folks to click on a viral link for you. We've got our own little social norms and lingo for dealing with that: I click on your link and tell you "PRTF <http://example.com/12345> \-- for "please return the favor", because since I'm telling that to several dozen people I don't know and don't care about every day I'll be darned if I actually type it out.

None of my friends have ever come over in real life and told me "Patrick Patrick guess what guess what _I got a new FarmVille cow_." That would be really, truly social for me. (And I say this as somebody who regularly hears stories about WoW loot or D&D games from days gone by.)

<comment><USER6> To keep with the anecdotes - I have friends who when they meet up normally pull their laptops out for some farmville (and to plan how to get the next level/cow/whatever). It does happen.

But great observation on the iPhone games thing - one of the discussions at our extended family dinner every couple of weeks is the new iPhone/iTouch apps we have.. "Hey check this out" is really effective marketing (as of course it is in every industry)

</comment></comment></comment></comment><comment><USER7> Great post. The hidden gem I got out of it is the reason why we will always have developers and hackers and programmers. And it will always be a cool job.

We need to adapt to the times, the culture, the technology, the platform, the needs and wants of the people. There always has been, and always will be, demand for that.

To the naysayers worried that hackers will die out, I point you to the people who say barely anyone can program with any proficiency and everyone sucks. Meet me in between, where I'll be building my business.

</comment><comment><USER8> The remark about most people being afraid of computers is dead on. Lots of people, even people growing up around computers see them as big baroque systems of buttons and menus that they don't really understand. My mom uses an iMac, and for the most part, I don't think she realizes that there are other programs you might want to put on it aside from MS Office. With her iPhone, she has not only found and installed apps, but she actually _uses_ them. I it's think that one of the biggest successes of it all has been what Dan describes: regular people understanding what software is, and how it can make their lives better.

</comment><comment><USER3> Excellent article. So far computers have been aimed towards technical users. To most people computers are rocket science. The iPhone OS is the first serious attempt at challenging that, and it's working. It's an exciting and profitable time to be a developer, so long as we focus on creating apps that solve actual problems and create valuable experiences for the user.

</comment><comment><USER9> Nice article, Dan.

The key insight I found was that the whole mystical, complex concept of "software" has been distilled to something that ordinary people can understand as atomic elements, "apps."

That's a fairly profound shift in software marketing, for sure.</comment>


Show HN: Bit of News - <AUTHOR> http://www.bitofnews.com/news/ <comment><USER2> Awesome!

Hi guys, I'm the creator of TextTeaser API that was used by Bit of News. :) I first thought that bitofnews is just a bot in Reddit. I'm really surprised that this is now a full blown website/app.

Thanks for Bit of News for using the TextTeaser API.

<comment><USER3> Hi, congrats on quality results. Will you open source the algorithm and the implementation, as you were mentioning on HN few months ago? What are your startup plans?

<comment><USER2> Yes, I will open source it soon. Here's a teaser: [https://github.com/MojoJolo/textteaser](https://github.com/MojoJolo/textteaser)

</comment></comment></comment><comment><USER4> Really impressive automatically generated summaries.

Of course, there are some funny parts as well. One of the bullet points for "Russia halts adoptions to Sweden over gay nuptials" is just

        • "It's terrible.

Very frank :D.

I certainly agree, but I imagine a person summarizing the article would not have used this phrasing.

<comment><USER5> Hey creator of bitofnews here. Thanks for the compliments. If you liked the summary, please checkout TextTeaser on Mashape, the supporting API.

As of right now, u/bitofnewsbot is banned from r/worldnews :( I'm getting in touch with the mods to see what's up.

</comment></comment><comment><USER6> auto-generated? if so, that's pretty impressive. [edit] huh, so that's TextTeaser? [https://www.mashape.com/mojojolo/textteaser#!documentation](https://www.mashape.com/mojojolo/textteaser#!documentation) \- i had no idea that summaries of that quality were now commodity apis.

<comment><USER2> Well, why not try the TextTeaser API yourself ([http://www.textteaser.com/](http://www.textteaser.com/))?

I'm the creator of the said API and thanks if you think it's impressive. Also thanks for bitofnews for using the API.

<comment><USER5> Great API, and thank you!

</comment></comment></comment><comment><USER7> Very cool!

Minor nitpick, though: "news" is most commonly singular, so your tagline should probably read "news that matters."

<comment><USER5> Creator here. I can't believe I overlooked that. Fixed :)

Sorry for being late, I didn't know this was posted here.

<comment><USER7> Cool, and btw, I really love your service! It's so simple and useful. I have been telling people about it and wish you the best of luck with it.

</comment></comment></comment><comment><USER8> Nice. I kind of like "news that matters" better than "news that matter," though.

</comment><comment><USER9> This is great. I'm trying to make [http://thetechblock.com](http://thetechblock.com) a destination for tech articles and news that matter. Would love any feedback.

</comment><comment><USER10> I'd love to see a site like this specifically focused on business news. Keeping up with the latest news in business is important, but I've found most business papers are so full of useless fluff stories that it drowns out the ones that are most important.

<comment><USER5> Hey creator of bitofnews here. I plan on adding different news sections (business, technology) soon. In the mean while, check out Wall Street Breakfast. It gives summary of today's market performance: [http://seekingalpha.com/article/1728342-wall-street- breakfas...](http://seekingalpha.com/article/1728342-wall-street-breakfast- must-know-news)

And sorry for being late to the thread! I didn't know this was posted here.

</comment></comment><comment><USER11> It sucks that that first article right now is about that woman who got shot at the capital building. Will this news ultimately matter? Probably not. The other articles seem to be about more impactful things so other wise good job

<comment><USER12> It's funny that what we see as not eventful is usually seeds for something big. I remember this with egypt both times and syria. I am not saying that this is going to lead to something big but you never know, there could be an uprising over the police moving towards kill at any cost vs kill only if necessary. If you look at the video, at one point there was six cops surrounding the vehicle, one cop had his forehead on the front passenger window yet they could not see a little kid in there, also they could have shot out the tires, someone that has no gun training could have done that as it was at point blank range. In the 80s polics had better judgement and less police injuries, today a guy can have a knife be 10 metres away and a group of cops will go for the kill shot, amazing.

</comment></comment><comment><USER13> I like the simplicity, but how can it deliver it every morning without asking for your time zone? The confirmation says it'll deliver at 9am. UTC?

<comment><USER14> Maybe it uses your IP to guess at a location?

</comment></comment><comment><USER15> What does this have to do with Ivy League schools? Is that just total fluff or is there any sort of meat behind those words?

Does the author attend an Ivy league school? If so, why does he/she feel that he/she can or should speak for all the other Ivies? What am I missing?

<comment><USER16> This is exactly what I thought when I looked at it... Is there any relationship to the schools?

</comment></comment><comment><USER17> Very well done!

Now trying to get over the horrifying news that someone poured gasoline on themselves and tried to burn themselves to death in self-immolation near the white house. What the heck is going on in DC

</comment><comment><USER18> This is pretty cool, but does it have some feature to select the sources? or at least what type of news you are interested in? That would make things so much better!

</comment><comment><USER19> Bit of feedback: It seems quite US centric. I'm not sure how the selection is done, but maybe you could add a 'Rest of the world' section?

</comment><comment><USER20> Nicely presented application of textteaser. A little put off by the focus on the "ivy experience" though. Is that some sort of marketing play?

</comment><comment> olog-hai The stories at [http://evening-edition.com/](http://evening-edition.com/) are much more meaningful.

</comment><comment><USER21> Nice but I was wondering why would you develop anything on top of a deprecated (Google news) API ?

</comment><comment><USER22> Awesome but did you need to blatantly rip the Medium design?

<comment><USER23> Exactly what I was thinking, it's pretty much a direct clone.

<comment><USER24> The typefaces are completely different as is the whitespace.

</comment></comment></comment><comment><USER25> This is great. Could there be an RSS or Atom feed?

</comment><comment><USER26> Is it legal?

</comment><comment><USER27> Most useful and relevant new summary I've never read. Sold.

</comment><comment><USER28> The first story of the woman driver shot to death is the rotten apple in the barrel. The rest of the stories are better, and with broader appeal.

Just so you know, I'll probably never visit this site again because of that godawful story. It didn't enhance my life or my understanding of the world. It did the opposite.

<comment><USER29> >female driver

Fixed that for you. Also I'm not sure why you're so mad over that story. Most news doesn't enhance your life or your understanding of the world, it's just news. You have to put it in context to extract any meaning from it.

<comment><USER28> Light attracts light, darkness attracts darkness. If you can think metaphorically, you'll understand what this means.

</comment></comment></comment><comment><USER30> Oh hey, I like this. Users++</comment>


Watching a Ridge Slide in Slow Motion, a Town Braces for Disaster - <AUTHOR> https://www.nytimes.com/2018/01/21/us/washington-rattlesnake-ridge-landslide.html <comment><USER2> This article has a LIDAR (I believe) image showing the movement... Scary stuff, especially when you see the date stamps between images. It's like watching geology on fast forward:

[https://www.seattletimes.com/seattle- news/science/dramatic-n...](https://www.seattletimes.com/seattle- news/science/dramatic-new-images-show-rattlesnake-ridge-slide-moving-over- time/)

<comment><USER3> If anyone else is confused: the dates there are MM.DD.YYYY not DD.MM.YYYY

<comment><USER4> Friends don't let friends use ambiguous date formats. [https://xkcd.com/1179/](https://xkcd.com/1179/)

</comment></comment></comment><comment><USER5> Drove through there last week. The state has 40ft containers at the bottom of the hill as barricades, plus there is a low spot below the area that is cracking. That stated, there isn't _that_ much room there for all the dirt that is likely to come down and even to a lay person it looks very reasonable to assume the highway will be unavailable for some time after it finally gives way.

<comment><USER6> Just to be clear, those containers are only a barricade against falling rocks while the road is still open. If the ridge does let go, those barricades are going to do exactly nothing.

[https://wsdotblog.blogspot.com/2018/01/crews-monitoring- land...](https://wsdotblog.blogspot.com/2018/01/crews-monitoring-land- movement-on.html)

<comment><USER5> Completely agreed. But it makes it easy to spot from the highway for the looky-loos that way ;-)

</comment></comment></comment><comment><USER7> From a video [0] of the area, it seems to me that mining activities between the ridge and the river may be partly responsible for the slide.

[0] [https://www.youtube.com/watch?v=7DATFoizswY&feature=youtu.be](https://www.youtube.com/watch?v=7DATFoizswY&feature=youtu.be)

<comment><USER2> Hence the "generosity" of the mining firm:

> The company that runs the quarry has stopped operations and has voluntarily > offered to put up evacuated residents in nearby hotels for five weeks at its > own expense, though the cause of the crack has yet to be formally > determined.

<comment><USER8> I wonder if they have to sign a form discharging the mining corporation of liability before they can have the "free" hotel room.

</comment></comment></comment><comment><USER9> Why don't they dynamite it so that it collapses while everyone's extremely prepared, instead of being semi prepared for months or longer?

<comment><USER10> From: [https://wsdotblog.blogspot.se/2018/01/crews-monitoring- land-...](https://wsdotblog.blogspot.se/2018/01/crews-monitoring-land- movement-on.html)

> If we start removing material or blasting it from the hillside, it will > actually make the area more unstable, creating fissures in other areas and > would likely release larger amounts of debris in an uncontrolled manner. For > some perspective, we've spent the past several years blasting rock from the > hillsides along I-90 as part of the project to stabilize rock slopes and add > more lanes. When we blast, it's in very small sections and then we excavate > any loose material after the blast. Over the past five years we've removed a > little more than one million cubic yards of material – or about 200,000 > cubic yards every construction season (April through October). The > Rattlesnake Ridge slide is made up of about four million cubic yards of > material.

> Also, blasting an unstable hillside simply isn't safe. In order to do a > controlled blast, crews need to drill into the hillside about 20 to 40 feet > to put live charges into the hole. With the hillside moving, being able to > drill accurately while also not causing more instability would be incredibly > challenging. Even if the holes were drilled accurately, there's the > possibility that the charges won't go off, meaning the crews would then have > to sort through millions of cubic yards of debris looking for live > explosives that could go off. It's just too dangerous of a situation to put > workers in.

<comment><USER11> >In order to do a controlled blast, crews need to drill into the hillside about 20 to 40 feet to put live charges into the hole. With the hillside moving, being able to drill accurately while also not causing more instability would be incredibly challenging. Even if the holes were drilled accurately, there's the possibility that the charges won't go off

with laser guidance and at $150K that would probably be more precise, safe and efficient tool for that job here - [https://en.wikipedia.org/wiki/GBU-28](https://en.wikipedia.org/wiki/GBU-28)

Btw, similar scale hillside slide in 2017 in Big Sur, Hwy 1 [https://www.npr.org/sections/thetwo- way/2017/05/25/530025850...](https://www.npr.org/sections/thetwo- way/2017/05/25/530025850/-mother-of-all-landslides-closes-section-of- california-s-highway-1)

</comment></comment></comment><comment><USER12> Really happy I don't have to drive past that anymore.</comment>


U.S. Accuses Goldman Sachs of Fraud - <AUTHOR> http://www.nytimes.com/2010/04/17/business/17goldman.html

<comment><USER2> In progress discussion of SEC charges:

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

</comment><comment><USER3> There was a really interesting This American Life about this very subject. It does a great job of explaining some of the issues surrounding what Goldman Sachs did, though not about Goldman Sachs in particular.It does mention how Magnetar was supposably attempting to influence CDO managers into taking on riskier investment in order to get the CDO's to fail in order to cash in. [http://www.thisamericanlife.org/radio- archives/episode/405/i...](http://www.thisamericanlife.org/radio- archives/episode/405/inside-job)</comment>


Bram Cohen on great programmers - <AUTHOR> http://bramcohen.livejournal.com/4563.html

<comment><USER2> Dec. 19th, 2004

Perhaps it's just me, but I find his more recent stuff a lot more interesting (especially the puzzles).

</comment><comment><USER3> > Another one is building one's protocol as a layer on top of webdav.

Sorry for being a noob, but where does this come from and why is it bad?

<comment><USER4> If you ever used/administered Subversion, it will help you understand.

<comment><USER5> Hehehe, I do use and administer a Subversion server, but to me the webdav choice was ugly.

Standalone svn:// server for the win.

<comment><USER2> Or svn+ssh://

<comment><USER6> I always use svn+ssh. I had it under HTTPS initially (first using Apache, then Lighttpd), but it had a strong tendency to corrupt the working copy. Like daily. So I had to go in and delete .wcprops after every substantive check-in, which got really old really fast.

No problems with svn+ssh; seems to work fine.</comment></comment></comment></comment></comment>


Cardpool (YC W10) Launches One Gift Card To Rule Them All - <AUTHOR> http://techcrunch.com/2011/03/02/cardpool-launches-one-gift-card-to-rule-them-all/

<comment><USER2> So this meta-giftcard has even more hassle than a normal gift card, but without the shred of thoughtfullness that buying a standard gift card has. It's just as thoughtless as cash, but super-inconvenient. I don't get it.

<comment><USER3> One place you'd use something like this is for corporate gifts. In such a situation the goal is not the "thoughtfulness" you might aim for if you were buying a present for a friend. The buyers want something asymptotically close to cash.

<comment><USER4> Something similar is extremely common in Israel.

I think they evolved from lunch vouchers issued by companies to their employees and accepted by local restaurants. At this point they are basically currency accepted at at restaurants, supermarkets, clothes shops and issued by issuing companies.

I think it's driven by a combination of tax reasons and differentiation from cash.

</comment></comment></comment><comment><USER5> I'm pretty sure the gift card to rule them all is called "cash".

<comment><USER6> This was the first thought that popped into my head too. Gift cards exist because they mitigate the risk of an unwanted gift while also mostly avoiding the paradox of choice and the taboo of giving cash as a gift. A universal gift card would force the recipient to go through the hassle of getting a gift card first, albeit at a discount. Gift cards already display some laziness on the part of the gift-giver. A gift card for gift cards sorta takes that to a whole new level. Instead of saying "I don't know what you want to buy at this store that you shop at a lot", it says "I don't know where you shop at all...here's some bastardized version of a prepaid debit card...knock yourself out"

<comment><USER7> Actually it displays intellectual understanding and rationality on the part of the gift giver:

I understand that you, and only you, knows best what you desire and that the best I can do to help you is to give you the most universally desired means of exchange.

Gift cards are a ripoff and if you give them you are (normally) doing a disservice.

<comment><USER8> Ah yes, "intellectual understanding and rationality", the two emotions I want most connected with my next birthday.

(FWIW, I actually agree with you, and I imagine there are a lot of others. The hardest part is interacting with those who don't view rationality as an appropriate filter for a celebration, especially celebrating things like 'your not dying in the time it took for the earth to complete a full rotation of the sun', or 'a family-centric federal holiday to mark an apocryphal historical event that has developed societal importance'.)

</comment></comment></comment></comment><comment><USER9> "It's similar in theory to buying an American Express gift card (though without the credit card fees). The Cardpool gift card makes a lot of sense for the startup and is sure to be a popular way to gift gift cards."

This sounds like you buy a Cardpool gift card and can then purchase specific gift cards FROM the Cardpool marketplace. How is that anything at all like an American Express gift card, where you can use the card _immediately_.

<comment><USER10> The American Express gift card doesn't get you a discount and (as you pointed out) skims some credit card fees from the top.

</comment></comment><comment><USER11> "As gift card companies vie for consumer dollars, Plastic Jungle, Cardpool have been consistently innovating around the gift card model." - Am I the only that had to re-read that sentence multiple times to work out they meant "Plastic Jungle AND Cardpool"?

After all that, they don't mention Plastic Jungle again in the article at all, so I'm not sure why it's even slipped in there.

Also, are TC taking the Demand Media approach now, and just doing as many articles as it takes until one popular one hits? There's a near identical article posted a couple of weeks ago. ([http://techcrunch.com/2010/02/18/cardpool-wants-to-buy- and-s...](http://techcrunch.com/2010/02/18/cardpool-wants-to-buy-and-sell- your-unused-gift-cards/))

There were also two articles about Cardpool's "reveal the online code before sending physical card" feature ([http://techcrunch.com/2010/09/07/gift-card- marketplace-cardp...](http://techcrunch.com/2010/09/07/gift-card-marketplace- cardpool-plasticjungle/)) ([http://techcrunch.com/2010/12/20/cardpool-speeds- up-gift-car...](http://techcrunch.com/2010/12/20/cardpool-speeds-up-gift-card- selling-by-removing-the-snail-mail-option/)).

It seems if anything, they're making a special effort to make sure Cardpool and Plastic Jungle are mentioned together as much as possible (including the SEO-style URL "gift-card-marketplace-cardpool-plasticjungle" instead of their usual article-relevant URLs).

</comment><comment><USER12> There's at least one very similar competitor in the business space: Premiere Choice Award gift certificates sold by Hallmark Business Connections at <http://www.premierechoiceaward.com>. Employers purchase gift certificates, which can then be redeemed for an equivalent value with various merchants, a PDF listing of which appears at <http://www.hallmarkbusinessconnections.com/merchant-list>

Hallmark also sells the certificates paired with greeting cards under the brands Valued Expressions and Memorable Expressions.

Unfortunately, the user experience for the certificates is pretty horrific. The site has a turn-of-the-century design, and you have to manually enter a 30-digit code for each card. I was especially pleased to discover this when I received a $250 award in the form of 10 individual cards. 300 digits later, I was able to convert that value into its most fungible form: Amazon credit.

I, for one, wouldn't mind seeing Cardpool steal some of their marketshare.

</comment><comment><USER13> I started writing on (defacing) cash I gave to friends for birthday's with the words "Gift Card". That works too.

</comment><comment><USER14> Did anyone else think it was going to be a single programmable gift card that could be used at any store?

</comment><comment><USER15> Brilliant.</comment>


Ebook on how to build a web with golang - <AUTHOR> https://github.com/astaxie/build-web-application-with-golang <comment><AUTHOR> I think this book should have been on gitbook than github atleast it would have given more downloading options and book friendly UI.I read a lot on my mobile.Is there any reason why someone should chose github over gitbook if the sole idea you use your git repo is for writing a book?</comment>


The 10 Most Edited Pages of Wikipedia in 2014 - <AUTHOR> https://blog.wikimedia.org/2014/12/30/top-10-most-edited-pages-in-2014/

<comment><USER2> It would also be interesting to have the "top X most corporate-spin control pretending to be content but got caught reverting and adding edits" pages.</comment>


How the Secret TPP Agreement Will Affect You (And Companies Like Us) - <AUTHOR> https://www.sherbit.io/how-the-tpp-will-affect-you/

<comment><USER2> So a secret net neutrality agreement is fine, but this is where the line is drawn? I should take all of the things people told me when I raised concerns about the net neutrality agreement and use it in discussions regarding this.</comment>


Dropbox 2048 - <AUTHOR> https://dropbox2048.site44.com

<comment><USER2> This is a great demonstration of a feature I didn't know existed—using Dropbox to save application-level data. I'm sure I'm just behind the curve, but there are probably a lot of us back here. Nice move, DB.

<comment><USER3> I'm not particularly informed on this, but what makes this different then just hosting a text file and reading the text file? I wouldn't imagine anything needs to be specialized for this.

<comment> rkuykendall-com Because when you do it this way, you don't have to host the text file. This doesn't seem like a big deal when we're talking about 2048 saves, but a imagine a book reader or image editor.

I actually tried to do something like this for a Comic Book reader, but the Dropbox API didn't allow for file requests to be made through JS: [http://rkuykendall.com/articles/web-slinger-comic- reader/](http://rkuykendall.com/articles/web-slinger-comic-reader/)

<comment><USER4> You should actually be able to use the full Dropbox API from JavaScript. See [https://github.com/dropbox/dropbox-js](https://github.com/dropbox/dropbox-js) and [https://www.dropbox.com/developers/datastore/docs/js](https://www.dropbox.com/developers/datastore/docs/js).

<comment> rkuykendall-com Ah, so it works for the full API but not the chooser? or have they fixed the content servers? This is what Dropbox Support originally told me when I contacted them about the problem:

> Thanks for writing in. It looks like the issue here is that our content > servers (dl.dropbox.com) don't currently allow arbitrary cross domain access > in JavaScript. (This doesn't apply to accessing the file directly in your > browser, or downloading to your server locally, which is generally what one > would do with the link returned by Chooser.) […] This is something that > would need to be enabled on our side, so I'll be sure to pass this on as > feedback.

<comment><USER4> I think I'm missing some context, but this probably isn't the right place to figure it out. Ping me on email (email@example.com) if you want, though!

</comment></comment></comment></comment></comment></comment><comment><USER5> keeping them coming, as I just started collecting all of these 2048 things here. [http://2048.nerdspace.co/](http://2048.nerdspace.co/) it would be completed in a day or two, few are already listed.

<comment><USER6> What software did you use to record your screen? It looks like you're using a Mac, and all the ones I find are only for Windows.

<comment><USER5> [http://www.cockos.com/licecap/](http://www.cockos.com/licecap/) (mac/win)

</comment></comment></comment><comment><USER7> Nice demonstration of a simple feature. 2048 could become the new TodoMVC ([http://todomvc.com/](http://todomvc.com/)).

</comment><comment><USER8> That's interesting, does anyone know from where in the Dropbox user interface such datastores and their contents can be accessed?

<comment><USER4> The blog post ([https://www.dropbox.com/developers/blog/82/dropbox-2048-save...](https://www.dropbox.com/developers/blog/82/dropbox-2048-saves- your-current-game-and-high-scores)) links to it. Here's the direct link to see your datastores: [https://www.dropbox.com/developers/apps/datastores](https://www.dropbox.com/developers/apps/datastores).

<comment><USER8> Thanks for the information.

Interesting to note that the datastore isn't really deleted when one revokes Dropbox access to the app, even though it's no longer listed on the datastores page - relinking the app to Dropbox resurrects the previous data.

</comment></comment></comment><comment><USER9> Somehow the blue is more soothing than the yellow/red that the original had.

</comment><comment><USER10> And so we have 2048 with a corporate touch to it. What next? Microsoft(R) 2048(TM)? Apple i2048?</comment>


Website Performance Optimization Course by Google - <AUTHOR>

<comment><USER2> This looks like the course: [https://www.udacity.com/course/ud884](https://www.udacity.com/course/ud884)

Blog post announcement: [http://blog.udacity.com/2014/06/new-mini-course- website-perf...](http://blog.udacity.com/2014/06/new-mini-course-website- performance.html)

But it looks like this was made available in June.</comment>


Visa program for 'best and brightest' also used to fill low-wage jobs - <AUTHOR> https://beta.cironline.org/reports/visa-program-for-best-and-brightest-also-used-to-fill-low-wage-jobs/ <comment><USER2> As someone who is currently going through the process of trying to get a working visa in the US as an Australian, I find this story appalling. They make it beyond difficult for someone like myself who is a self-taught developer with 8 years experience to get a temporary work visa in the USA to get experience working at a company like Twitter or startup, yet people who lack any kind of skill that would warrant obtaining a skilled-worker visa can easily get one? I don't get it.

Why is it so hard for someone like me who might not hold a bachelors degree nor have the experience to substitute, but I have the skills and experience to do my job well, yet it isn't good enough?

<comment><USER3> It's a tragedy.

The worst thing is that you're trying to do things legally within the US system but those who intentionally break the law have a much easier time of it.

Whether or not someone believes in more open or less open immigration, corruption of the system and disregard of the rule of law will lead to much larger problems down the road.

<comment><USER4> If by "have a much easier time of it" you mean live with terrible insecurity and none or limited social services, then sure :P.

<comment><USER3> I mean that once you are across the border, you can claim "persecution" without any evidence and won't be deported.

</comment></comment></comment></comment><comment><USER5> How about the H-1B employer petition form includes a check box:

"Upon penalty of perjury, and imprisonment of no less than 5 years, I certify that this petition is for a highly skilled worker"

<comment><USER6> You'd think it would be enforced just as much as it is on the other end of the wage scale. _La migra_ raids the meatpacking plant only when the illegals threaten to organize or when the owner fell out of favour with a local dignitary.

</comment></comment><comment><USER7> Simple solution: Unlimited visas for people being paid $125,000 or more (adjust for inflation over time), and people on such visas pay 2% extra income tax. That 2% goes to funding whatever department is looking into visa fraud.

Companies that are trying to fill low-wage jobs won't have access to these visas. Companies attempting to abuse the system have a well-funded group of people trying to find them and stop them.

There's also an incentive for people with such visas to work hard to try to get a green card, and eventually become citizens, to get rid of the 2% tax hike.

<comment><USER8> In other words, bias the process to the needs of Silicon Valley. SV gets all the great foreign engineers and screws over all of us in the Midwest, where $125,000/year in base salary is nearing executive-level compensation at many companies.</comment></comment>


Twitter discloses national security letters - <AUTHOR> https://blog.twitter.com/2017/transparency-update-twitter-discloses-national-security-letters <comment><USER2> This is a welcome message, especially seeing Twitter continue to fight for their freedom of speech in court (Twitter v. Lynch), along with the host of other Internet service companies.

While I understand government agencies' desires to investigate persons of interest, the checks and balances of the system were put in place to do just that – check and balance the power of the system. It's outrageous that agencies feel they can side-step these checks and leave out the need to get a judge's approval for these kinds of things.

A response from the Internet Archive (2016) also stated:

> The NSL we received includes incorrect and outdated information regarding > the options available to a recipient of an NSL to challenge its gag. > Specifically, the NSL states that such a challenge can only be issued once a > year. But in 2015, Congress did away with that annual limitation and made it > easier to challenge gag orders. The FBI has confirmed that the error was > part of a standard NSL template and other providers received NSLs with the > same significant error. We don't know how many, but it is possibly in the > thousands (according to the FBI, they sent out around 13,000 NSLs last > year).

I wonder what kind of legal action could even be taken against this kind of treatment (being given wrong / outdated information on legal options)?

<comment><USER3> I may be in the minority, but I still think these companies are being cowardly.

They disclose as soon as they're permitted to, but the trouble with that is that the permission is coming from the people who are the problem in the first place.

An approach that would care about customers and show some more guts would be simple refusal. In essence, civil disobedience in the face of someone who is violating the law. Let the government take them to court, and let it be disclosed in that way.

Before we applaud them too much, keep in mind they're also telegraphing that this behavior is continuing. It doesn't take much skill to read between the lines and see that this is an ongoing problem for them, there's just a lot more of it that's happened that they're not allowed to disclose yet.

<comment><USER4> > An approach that would care about customers and show some more guts would be > simple refusal. In essence, civil disobedience in the face of someone who is > violating the law. Let the government take them to court, and let it be > disclosed in that way.

Is that how it works? You can refuse anything the government tells you to do until they take you to court and the court orders you?

<comment><USER3> Perhaps. Perhaps not. Either way, you make it messy for them and you do probably defeat their primary objective, which is secrecy.

How do you think they'd respond? With SEAL Team 6 while keeping everything quiet?

When the government shows up to force you to turn over the information, no violence is required, but you can make sure the newspapers are there when it happens, and that the knowledge of it happening is not restricted to a few execs, keeping key technical people in the dark (as happened at Yahoo)

<comment><USER4> > How do you think they'd respond? With SEAL Team 6 while keeping everything > quiet?

Possibly by taking you to court and convicting you of breaking some law by refusing to provide the information the first time, perhaps even completely independently of whether or not the order was actually constitutional. I can imagine lots of bad outcomes that would land you in jail without giving you the chance to take the actual issue to court.

<comment><USER5> But when dealing with a corporate entity, who do you go after? Since this sort of coercion seems to only work on an individual level, going after the entire corporate entity won't invoke the same emotional response.

<comment><USER4> I don't know how the law works. But my completely-unfounded guess is that whoever is supposed to authorize this and who is refusing would be the one convicted.

<comment><USER6> So maybe they ought to be anonymous: [http://www.cryptohippie.net/AnonAdmin.html](http://www.cryptohippie.net/AnonAdmin.html)

<comment><USER7> You're giving system administrator status to an anonymous person on the internet. What could possibly go wrong?

<comment><USER6> You give them limited access and rights, to do what you want them to do. Here, they would have access to communications with government agencies, ability to tweet users or groups thereof, and perhaps responsibility for canary management.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is great Twitter is being open about these.

Do these releases get media coverage? Is anyone talking about the various lawsuits and blog posts about public releases of NSLs by tech companies?

I wish the NYTimes and WaPo spent as much time caring about this stuff as they did about being the non-critical mouthpiece for various "anonymous intelligence officials". There is definitely a story that could be made out of this plus the Cloudflare, Google, etc posts... so hopefully I'm proved wrong in this assessment.

> While the actual NSLs request a large amount of data, Twitter provides a > very limited set of data in response to NSL

I'm curious just how much they asked for here. I'm guessing it's the user plus 2 hops of anyone they talked to? Including:

\- DMs

\- t.co links clicked on

\- IP addresses when accessing twitter

\- device IDs, browser, OS, etc

\- phone numbers

\- visits to URLs of 3rd party web pages containing embedded tweets? (not sure if this is tracked via cookie)

That could turn out to be plenty of data but I don't believe a single users data would be referenced by Twitter as "a large amount of data", it's very likely at least one hop or more, but who knows.

<comment><USER9> If you read the actual letters, you'll see they ask for

"the name, address, length of service, and electronic communications transactional records for all services, as well as all accounts, provided to the individual(s) or identifier(s) listed below."

The letter explicitly says not to provide information "that would disclose the content of any electronic communication".

<comment><USER10> A clear endrun of the law, as 'transactional records' can easily be correlated to posts, and therefore content.

<comment><USER11> Not all user-generated content on Twitter is public. I couldn't possibly know what kinds of transactional records have been requested or the distribution therein, but DMs seem like plausible targets.

</comment></comment></comment></comment><comment><USER12> Although they could have just sent it onto the intended target and gone quietly about their day, I'm really glad that Twitter made this an announcement. Do they have any kind of warrant canary system?

<comment><USER13> I was just thinking about this - what kind of system could work in these circumstances? Say someone had to press a button every hour otherwise an automatic public release gets sent - the government could simply imprison the person for not pressing it. Say no-one knew who is supposed to press it because of some system of randomness and crypto, then you just threaten the CEO with imprisonment for not dismantling the whole thing. It seems only a fully decentralized organization could get away with it. Thoughts?

<comment><USER14> Warrant canaries are a thing [1]. For example, see Reddit's one which disappeared last year [2].

1\. [https://en.wikipedia.org/wiki/Warrant_canary](https://en.wikipedia.org/wiki/Warrant_canary) 2\. [https://www.reddit.com/r/worldnews/comments/4ct1kz/reddit_de...](https://www.reddit.com/r/worldnews/comments/4ct1kz/reddit_deletes_surveillance_warrant_canary_in/)

</comment></comment></comment><comment><USER15> Given the size of their user base, makes you wonder how many of these they are not allowed to talk about...

</comment><comment><USER4> I have a related question:

Is there some kind of database anyone is keeping that helps the public figure out what information companies have been ordered to produce in the past, and what they have actually produced? (I don't specifically mean NSLs here -- subpoenas and any other things would all be included in my question.)

This would be useful in several respects, because it would not only provide a check on the government, but it would also provide a check on the companies. For example, can I be sure that if I delete something, and a company with my data claims it is deleted in 60 days, can I rely on it to be true? If the company has been ordered to produce such information in the past, knowing whether or not it has done so would seem to be the most foolproof way to figure out how much data the company retains or discards. Is anyone keeping such records publicly (insofar as the information is available)?

</comment><comment><USER16> Like the internet archive letters, these are only released as a legal error on the part of the FBI made regarding the ability to challenge the order. This is not the government deciding to lift the order voluntarily, and is not a sign of more transparency from their end.

</comment><comment><USER17> Wait a minute, Do they still really use typewriters?

<comment><USER18> They stick to plain ASCII and the same font everywhere to reduce metadata leakage.

<comment><USER19> > They stick to plain ASCII and the same font everywhere to reduce metadata > leakage.

Could you please elaborate?

<comment><USER20> Knowing what fonts / styles any one author uses could be used to group together internal intelligence structures.

</comment></comment></comment></comment><comment><USER21> They disclosed what they were allowed to disclose... that doesn't tell you much...

</comment><comment><USER22> "The FBI recently informed us that the gag orders have been lifted and that we may notify the account holders"

How recently? Why?

</comment><comment><USER23> I wonder how many NSLs they're going to start getting because of all the rogue government agencies.

</comment><comment><USER24> And Americans think that they have freedom.

In general for anyone conscious about freedom of speech and press it should alarming how certain agencies breach people's data and then put gag orders in place. This isn't freedom, this is tyranny.

The citizens of North-Korea probably have more freedom that then the citizens of USA.

<comment><USER25> Comments like this are worse than useless, in that people see them and dismiss them as hysterical hyperbole-- because they are-- and thereby become inoculated against more credible warnings of real danger.

</comment></comment><comment><USER26> Is this the same Twitter that has allegedly shadowbanned Scott Adams multiple times for his political positions? If Twitter is interested in transparency, how about some transparency on that? Twitter's actions make me distrust any "transparency" talk, even if I disagree with Adams on certain things.

<comment><USER27> Is this the same Scott Adams that claims to have been shadowbanned, without any proof?

Might his lower Twitter engagement have something to do with people getting sick of hearing from him about Trump?

<comment><USER28> How would anyone actually _prove_ something like this, short of getting Twitter to admit it? What he _has_ seen is:

> _my tweets only go out to a subset of my followers. The rest don't know I > tweeted. My followers tell me this is the case. They have to visit my > timeline to see my tweets._

What other proof could anyone realistically provide?

<comment><USER29> That is how twitter works - it doesn't show every tweet from everyone you follow in your timeline, it shows a subset based on what it considers most relevant.

<comment><USER30> It's interesting to me that you probably don't care that this isn't true, nor is it true that Twitter ever decides to not show your tweets to a subset of your followers through a "shadowban". You just say whatever. Doesn't affect you whether it's true or not and if other people believe you, hey that's pretty funny that people just believe things you make up or misunderstood.

<comment><USER29> Pardon?

</comment></comment></comment></comment></comment></comment><comment><USER31> It's important to remember that these orders serve a real and necessary role in investigating serious criminals; these individuals are not named prior to trial or if the investigation does not lead to a trial. It should not be assumed that they were being unlawfully persecuted - rather that there was a serious reason for them to be under investigation.

<comment><USER32> > _these individuals are not named, but it should not be assumed that they > were being unlawfully persecuted - rather that there was a serious reason > for them to be under investigation._

If only there were some way of determining whether they were being unlawfully persecuted or validly investigated.

<comment><USER33> I know, right? Who could possibly judge one way or the other?

<comment><USER31> Do you think it might be a judge? Upon a completed investigation? One which is effective and protects the identities of the investigated prior to any criminal prosecution?

Do you think there should maybe be an oversight board and a congressional committee? Because these things exist. Do you propose something different?

These are the functions which these authorities serve in society.

<comment><USER34> Why all of these rhetorical questions? There have been hundreds of thousands of these, with only a handful released upon completed investigation. I think a transparent judge, a transparent oversight board, a transparent congressional committee, etc is what is proposed. This is how _we know_ these functions are even being served by authorities in society. Or not being served, such as up until recently where the gag was interminable making your "upon a completed investigation" comment misinformed at the least and your blind faith misplaced.</comment></comment></comment></comment></comment>


Tighter host OS integration for web apps [5:59] - <AUTHOR> https://vreplay.mozilla.com/replay/showRecordingExternal.html?key=NEmBR7joi0fUu21

<comment><AUTHOR> This is from a weekly public meeting we have every week 12:30 pm pacific every Friday at Mozilla. All are welcome to attend.

[https://wiki.mozilla.org/Apps/ShowAndTells](https://wiki.mozilla.org/Apps/ShowAndTells)

[https://wiki.mozilla.org/Apps/ShowAndTells/Recordings](https://wiki.mozilla.org/Apps/ShowAndTells/Recordings)</comment>


Gotify – a self-hosted push-notifications service - <AUTHOR> https://github.com/gotify <comment><USER2> It is worth noting that this will use a noticeable amount of power more than Google cloud messaging. The basic idea of how is works is about the same, but the devil is in the details. If you look at an idle connection over LTE, you will notice that after a while your carrier will close it. You need keepalives. If you look at the connection for Google cloud messaging, you might notice that it needs much fewer keep alives than YOU need to keep your connection alive. This means fewer wakes from sleep mode and lower power.

<comment><USER3> Is that because carriers have put GCM/FCM on some sort of white-list?

<comment><USER4> Probably because GCM/FCM has been very well optimized.

<comment><USER5> TCP connection can be open and idle for hours without keep alives. This can easily be configured with kernel parameters:

[https://www.tldp.org/HOWTO/TCP-Keepalive- HOWTO/usingkeepaliv...](https://www.tldp.org/HOWTO/TCP-Keepalive- HOWTO/usingkeepalive.html)

I suspect the hard bit for normal apps is keeping the app active on the device while it is in the background. Google has their FCM receiver running as a low level service so can make sure it is always running.

<comment><USER6> You can configure it locally in your kernel, but your ISP will most likely close your connections for you, especially if you're behind a CGNAT.

<comment><USER7> Even if you have native IPv6, some carriers do connection tracking anyway to prevent random port scans from the internet waking up your phone or trying various exploits.

</comment></comment></comment></comment></comment></comment><comment><USER8> Awesome! I've been working on a collection of news source parsers [1] (a combination of RSS and HTML scrapers) that this will work perfect with to replace my native news app. All I have to do is pipe the lines from my parser through a Python script issuing these message POST requests and it just works out of the box.

[1] [https://github.com/wybiral/stream- sources](https://github.com/wybiral/stream-sources)

</comment><comment><USER9> I gave it a quick try and "it just worked" with minimal configuration. Really easy to get started.

Unfortunately messages are only plaintext.

<comment><USER10> Same. I wasted more time this evening setting up octobercms behind a reverse proxy (hours, not working) than getting that server handling notifications from a VPS running many small services.

</comment></comment><comment><USER11> Although I've been using Pushover[0], a paid service, instead of Gotify, I found a really cool project to pair a push-notification service with is huginn[1], which allows you to program bots to do things on cron jobs, among other really powerful actions.

[0] [https://pushover.net/](https://pushover.net/) [1] [https://github.com/huginn/huginn](https://github.com/huginn/huginn)

<comment><USER12> Just to clarify, Pushover is not a "paid service" in that you need to pay for a subscription. You only have to pay once to use it past the 7-day free trial.

</comment></comment><comment><USER13> [https://gotify.net/](https://gotify.net/)

</comment><comment><USER14> I would like to point out that there exists solutions tested in the field in the last 20 years to solve the same problem.

In particular I would suggest to get to know MQTT an open protocol with several (open and close) implementation that is know for its flexibility and scalability (if nothing has changed it is used to power the Messager Facebook platform, but don't quote me on that).

verneMQ is the server implementation I would suggest if you are interested in such topic.

<comment><USER15> MQTT is just a protocol, not a service. I don't think it was the developer's intention to provide an alternative to MQTT, but to offer a solution for push- notifications, which just happens to be built on top of WebSocket without MQTT. Also keep in mind that MQTT will usually get wrapped by WebSocket to avoid issues with firewalls or to easily get TLS via a proxy server like NGINX, or simply to add web browser support. VerneMQ is not the only server implementation for MQTT.

</comment></comment><comment><USER16> Interesting project. Is this intended to replace Firebase Cloud Messaging on android or be a wrapper in front of it?

I only saw android support, anything for iOS in the works?

<comment><USER17> From what I can tell it appears to be a replacement FCM/APNS. The client subscribes directly via websocket to a self-hosted server (Go binary).

New messages in the queue are then notified (gotified) via the websocket. [https://gotify.net/api-docs#/message/streamMessages](https://gotify.net/api- docs#/message/streamMessages)

The payload can be picked up and managed via REST API as well.

I'm building a similar solution for a slightly different usecase, so wanted to have a look under the hood. There's nothing I can see that would stop you using this for iOS so maybe they just don't have a iOS dev on the project.

Edit: Ah, here's why. [https://github.com/gotify/server/issues/87](https://github.com/gotify/server/issues/87)

<comment><USER18> So, their conclusion in the end that it is technically impossible to build a self-hosted notification solution on iOS due to Apple's restrictions. Shame because I would love to be able to deploy something like this internally at work, but of course, half the business is walking around with iPhones. I'm kind of curious though why it doesn't ruin every single XMPP client out there - there seem to be a few on the App store.

<comment><USER19> Either the server is sending pushes through APNS or the client is simply not getting messages reliably when the screen is locked or the app backgrounded, as the network restrictions very much apply to those clients as well (and to everything, to save power by sleeping the NICs).

</comment></comment></comment></comment><comment><USER20> Funny, I was just looking for an alternative to pushover that doesn't use google services last week. Tested this and it worked quite well.

I actually wound up just using an SMS gateway provider with a simple API you can just fire a get request to.

<comment><USER21> Sending a text message uses the GET verb? Yuck.

<comment><USER22> I get why that's "yuck" but if I'd hedge a bet...it's probably done because it's easier to make a GET than it is a POST or PUT request and the length of a text message will never exceed the query string uri length limits.

Not saying I disagree, but i don't know it changes a whole lot in this case.

<comment><USER23> In this case maybe, but generally GET should be avoided for any creative/transactional action because many systems will replay/cache GET requests, assuming that they're idempotent.

<comment><USER22> Yeah the caching issue is a great reason not to use a GET, i was more just suggesting if you're being lazy and pasting a request into a browser v's using a command line (which obviously you should) then it's easy to get going quickly to kick the tires.

</comment></comment></comment></comment></comment><comment><USER24> [https://pushpin.org/](https://pushpin.org/) is another alternative that has some history, has support for more protocols and is used in production by its creators

</comment><comment><USER25> FCM is integrated in kernel, so it cannot be killed. And it starts a persistent TCP connection to Google server. If all apps uses FCM, then all notification would route through this connection, and this significantly reduce battery consumption than the alternative, where each app uses its own web socket server.

So, assume using a degoogled android, can this notification replaced FCM if more apps use this notification server? This server uses web socket, so what does FCM use for its connection? Does web socket battery efficient enough?

<comment><USER26> >FCM is integrated in kernel, so it cannot be killed.

What do you mean it's "integrated in kernel"? Are you saying google play services includes a kernel module?

<comment><USER7> It does not.

It's a plain-old TCP connection in GMSCore, but has special permissions to ignore various power save modes.

I personally wish Google would work with mobile networks to replace it with something lower level (eg. Based on the same thing used to initiate phone calls), because a hanging TCP connection open for many hours gets unreliable as NAT drops it and as the phone migrates from one mobile network to another (eg. Across country boundaries)

<comment><USER27> That was how BlackBerry worked wasn't it?

</comment></comment></comment></comment><comment><USER28> The documentation states that End2End tests are included. I didn't find them in the repository. I want to learn from the tests - Can somebody please help me and point me to the End2End tests?

<comment><USER29> You can find the ui end2end tests here: [https://github.com/gotify/server/tree/master/ui/src/tests](https://github.com/gotify/server/tree/master/ui/src/tests)

</comment></comment><comment><USER30> Is there a standard understanding of what are push notifications? Are they the same for android and iOS? I'm not sure what this project is about!

<comment><USER17> I think Push API is an industry standard but there is this W3 draft [https://www.w3.org/TR/push-api/](https://www.w3.org/TR/push-api/)

But yes, it's essentially implemented the same across iOS/Android and browsers like Chrome, FF, Edge etc. There are services such as Amazon SNS or Google Firebase that provide a single interface which can talk to all the slightly different implementations.

In a nutshell the device registers to the server and receives an identifier token. Then a server can send messages to that identifier and the message will be displayed on the screen. Some providers allow for Icon, Audio and some Actions to also be sent as part of the message payload.

<comment><USER30> Thank you! I've never actually implemented push notifications. Will soon so I was wondering...

</comment></comment></comment><comment><USER31> I like the idea of the project, but I'm curious.

Why would you need a self-hosted (or really, any other push-notif service) other than the official one from Apple/Goggle?

They're optimized (for each respective platform), no need to maintain a server, and free. If you need "cross-platform", you can use Firebase(?) that abstracts that away.

<comment><USER8> Privacy? Keep in mind that not everyone intends to build a user-supporting platform on this tech. I like the concept because it's an easy way for me to push notifications from my homebrew IoT stuff and news streams without it flowing through ad companies.

<comment><USER12> You can encrypt notifications that go through Google's FCM and Apple's APNS push notification servers. This is how Pushover works - each notification is encrypted with a device-specific key, sent through the notification servers as an encrypted blob, then the app on the device is woken up and receives the blob, decrypts it, and posts it as a normal notification.

<comment><USER8> You could. But if you don't need that kind of added complexity and scale (and I don't for personal news updates or IoT device alerts) then why jump through those hoops?

</comment></comment></comment></comment><comment><USER32> Bah... no linux 32 bit binary for my old home-automation server.

<comment><AUTHOR> just build it yourself :)

$ git clone [https://github.com/gotify/server](https://github.com/gotify/server)

$ cd server

$ env GOARCH=386 go build

</comment></comment><comment><USER33> This is what home assistant needs! The only really lacking thing about HA is the lack of native Android app, but the most important thing is notifications.

</comment><comment><USER34> Neat. I could definitely use this for some home infrastructure I'm playing around with at the moment - will definitely give it a shot!

</comment><comment><USER35> Have anyone used Nats as a push notification service? We are looking for alternatives to Google Play Services.

</comment><comment><USER36> Hmm, I didn't see anything about security while skimming the docs?

</comment><comment><USER37> Awesome! This opens the door to so many possibilities!

</comment><comment><USER10> Logo reminds me of traefik. Is it related ?

<comment><USER38> That's the Go Gopher: [https://blog.golang.org/gopher](https://blog.golang.org/gopher)

<comment><USER10> Thanks ! That mascot is super cool.

</comment></comment></comment><comment><USER39> Useless without iOS support. What's the point of an abstraction that has only a single implementation?

<comment><USER40> I'm not sure, but I don't think iOS lets apps auto-start and run in the background forever. This would be needed for any alternative push notification app, else it would be too easy to miss notifications.

<comment><USER41> It doesn't, but iOS will wake your app up when it receives push notifications.

</comment></comment></comment><comment><USER42> I'm not up to date with Android, but why does displaying notifications require an entire server or a paid service? Is it not just a matter of installing a client program and sending a curl to an endpoint?

<comment><USER43> It is not needed for displaying the notification but specifically targeting users. You would usually call an FCM function to get a token, which can be used to specifically target that user and is stored in the database. To send a notification to your customised target audience based on user-generated events, it becomes essential to use web-service that does it for you.

For example- Let's say you wish to send a notification to user A when user B sends him a message. In this scenario, you can call another FCM fn, using the token user A had generated. Of course you can use the web dashboard to send the notifications, but in this case, you would not be able to send event-based notification reliability and in real-time. Other services also work in a similar manner.

<comment><USER44> Of course FCM also has notion of channels where you can broadcast to certain topics (which apps listen to) without having to track tokens on application server side.

</comment></comment></comment><comment><USER45> Off-topic

I got so scared when I looked at the swagger. The authentication uses the exact same variables as mine and is somewhat similar. The name of the endpoints are also very similar and the project has resemblance to mine.

That was really really akward for a moment.

I'll use the project though ( different use-case), looks really interesting. Coincidentally it's for the same project as I mentioned.</comment>


Ask HN: What are some Amazon alternatives? - <AUTHOR> While I don't know that I'm ready to cancel my Prime account just yet, I do find it less and less used as time goes on. I know one area of struggle is that while I don't mind paying more off Amazon, paying more and then $10+ for shipping kinda sucks. With that in mind, what are some good (online) alternatives for books, household stuff, games, etc? <comment><AUTHOR> I'll go first and say Libro.fm[0] is a pretty compelling alternative to Audible.

[0] [https://www.libro.fm](https://www.libro.fm)

</comment><comment><USER2> Ebay seems like a great alternative. I think you can find almost anything there.

</comment><comment><USER3> ebay.com, walmart.com, target.com, abebooks.com</comment>