Signal app downloads spike as US protesters seek message encryption - <AUTHOR> https://qz.com/1864846/signal-app-downloads-spike-as-us-protesters-seek-message-encryption/ <comment><USER2> What really hurts Signal are two things:

* sub-par user experience: WhatsApp is just nicer and smoother, and people tend to like that

* very few people understand that Signal DOES NOT get your full contact list, while Facebook (through WhatsApp) does

Especially the second point is very relevant with the current situation — you do not necessarily want to expose your entire social graph to Facebook. But so few people understand this, and even fewer grasp that Signal can still work without doing the same thing.

<comment><USER3> Telegram is a great alternative also, offers encrypted chat's also.

<comment><USER4> Not encrypted by default afaik.

<comment><USER5> They're all encrypted, but only specifically created Secret Chats are end-to- end encrypted.

<comment><USER6> Encrypted in transit... But stored plain-text accessible in Telegram's cloud. They store all your metadata, full contact list, all conversations, all media and attachments, etc. If you value your privacy, Telegram is the absolute worst and one of the most dangerous messengers out there. Telegram should never be recommended as a secure alternative. It's insecure right to their core. Heck, even their secret chat crypto is a joke. Telegram should be avoided at all costs for private and/or sensitive communication. Even WhatsApp is wayyy more secure.

</comment></comment></comment></comment></comment><comment><USER7> The biggest drawback with Signal for protesters is that it exposes the user's phone number to everyone else in groups (just like WhatsApp does). There is no way to even hide the fact that you have an account on Signal. I can add phone numbers by enumeration into my contacts and Signal will show who among my contacts is on it. If the authorities don't use tactics like they did in Hong Kong, the protesters may be safe from being spied on (or worse).

<comment><USER8> Signal is not only used by protesters[0][1] so discovering that a phone number is connected to a Signal account by no means implies that the phone is used by a protester.

[0]: [https://www.militarytimes.com/flashpoints/2020/01/23/deploye...](https://www.militarytimes.com/flashpoints/2020/01/23/deployed-82nd- airborne-unit-told-to-use-these-encrypted-messaging-apps-on-government- cellphones/)

[1]: [https://www.theguardian.com/politics/2019/dec/17/tories- swit...](https://www.theguardian.com/politics/2019/dec/17/tories-switch-to- messaging-app-signal-to-curb-whatsapp-leaks)

<comment><USER9> Yeah, if you're ever asked why you're on Signal, just say you wanted to stay in touch with a programmer friend who's not on Facebook/WhatsApp, and they suggested Signal (that is now literally true as well - I suggest you try Signal, friend)

<comment><USER10> If the law enforcement is talking to you in the U.S., the only right answer is "I'd prefer to have a laywer here."

Not a joke, for real.

They are experts at getting you to talk to them even if you know this. They are experts at getting you to say things that incriminate you or your friends -- that you or your friends have done nothing wrong (in your opinion/as far as you know) will not protect you.

The only answers you should be rehearsing or thinking of in advance are "I would like a lawyer" and "I would like to remain silent." They are rehearsing how to get you to say incriminating things, a lot. Rehearsing or thinking up any other answers only plays into their strengths. Even knowing this, I've been tricked into talking to them, to my detriment. They are really good at it.

<comment><USER11> I've heard this before but here's my practical problem: I don't know any lawyers. I have literally no idea who to call in such a situation. Do I have to go find and retain a lawyer beforehand just in case I might need one later?

<comment><USER12> There are services where you pay a monthly fee ($20 a month in my case), and you get a card with phone numbers for a law firm (actually it's a service that will connect you with a lawyer local to where you are). You get access to a lawyer for a certain amount of time without extra charge, the amount of time increasing the longer you pay for the service. If you get into serious legal trouble you will end up paying for a lawyer anyway, but a service like this will help in those circumstances where a cop wants to question you, and you want to say "I want a lawyer present."

I agree with some of the other commenters that you really should say the word "want", not "wish" or "would like". You need to be clear and emphatic about having a lawyer present.

<comment><USER11> That sounds like exactly what I need. What's the service called that you use?

<comment><USER12> It's called LegalShield. The website is here: [https://www.legalshield.com](https://www.legalshield.com)

There are others. Do a search for "prepaid legal services". Most of them have similar prices (~$20 a month) and provide similar services (wills, traffic tickets, document review, etc). Like I said, if you get into serious trouble, you will have to pay for a lawyer. This is like insurance. In my opinion, if it helps you avoid saying something stupid to a cop, it's probably worth it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I hope one day apps like Signal will be the default for _everyone_ , not just protesters in a time of crisis.

<comment><USER7> I don't think that's a great idea until Signal stops exposing the phone number of the user to everyone else (for all the bashing that Telegram gets on cryptography, it has mechanisms to hide one's phone number and even the fact that one has a Telegram account from others).

<comment><USER14> Absolutely agree. I really wish Telegram would get off the phone number system, especially after the embarrassing hack in Brazil. It's not explicitly Telegram's fault, but if your primary authentication method is insecure it's at least a little bit your fault.

Phone numbers are NOT safe. I don't know why SMS MFA is even a thing, they're worse than passwords.

When you use phone numbers or SMS for security, you are putting the fate of your entire company's security on an underpaid customer service rep at Verizon.

<comment><USER15> Telegram should maybe just use proper encryption first.

<comment><USER16> Can someone explain to me why MtProto is not considered proper encryption? Genuinely asking, not challenging.

At least since version 2.0 it seems it's using AES encryption: [https://core.telegram.org/mtproto/description](https://core.telegram.org/mtproto/description)

<comment><USER15> By default its not e2e encrypted and if you want to use e2e you lose lots of capability. That is simply not acceptable in a modern messenger.

<comment><USER14> Speaking as someone who regularly uses private chats, what capability?

<comment><USER7> Secret chats are tied to one single device, which may be ok for some people. The bigger disadvantage is that you cannot have group chats that are end to end encrypted. Only person to person chats are allowed as secret chats.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Honest question for those in the know: If I wanted to run my own personal "analysis" to verify the security of Signal, where would I start? Is it even possible? Just curious if there was a way to "know" rather than "trust".

<comment><USER18> The first step would probably involve getting a PhD in cryptography...

<comment><USER19> There's a lot more than just crypto. Its much more common for systems to fail in the supporting code then it is for the crypto to be wrong. So first step is probably learn reverse engineering and verify the crypto is being used correctly.

Then after that get a phd in cryptography.

<comment><USER20> The source code is available.

<comment><USER21> Unless the build is reproducible it would be smart for a paranoid person to use the published source code only as a comparison with the decompiled app.

<comment><USER22> The build is reproducible: [https://github.com/signalapp/Signal- Android/blob/master/Repr...](https://github.com/signalapp/Signal- Android/blob/master/ReproducibleBuilds.md)

</comment></comment></comment></comment></comment></comment><comment><USER23> I like signal, mainly because it's open source. One minor annoyance though, perhaps someone knows how to fix it: when I use Signal on either my phone or my laptop, going back to the other device makes it sync the messages. But it does this really slowly, making a notification noise for each message, sometimes for several minutes. How do you either coalesce them or just do it fast? Doesn't seem like it's really a speed issue.

</comment><comment><USER24> >Signal and other encrypted messaging apps offer limited protections. If police have access to an unlocked phone, they can still read any messages on it that haven't been deleted.

In general, forward secrecy can't work if you insist on keeping the messages. If you truly want the messages to be gone for others you have to have to make them gone for you as well.

</comment><comment><USER25> I actually like Signal, and would use it a lot more, but don't because of one feature - link previews. I understand the technical reasoning why are they so slow to adopt it, but I (and a group of people I communicate on a daily basis) would probably accept even a half-baked solution like the one on WhatsApp.

<comment><USER26> You want your encrypted chat application to emit DNS queries to your ISP. As another Signal user, I do not want that. Nor do I want the bloat of this and other features that will make the core functionality worse. Next we'll want Memoji's and animated drawings and fireworks.

My point is, there is already an app for that. Signal has a completely different purpose.

<comment><USER25> You can generate a preview on the sender side. I think WhatsApp does it like that. Since you're the one sending the link, you've already opened it/know what's behind it. The receiver would basically get a thumbnail, with no egress traffic.

As for the DNS, if you're concerned with the DNS of your ISP, you shouldn't be using it anyway (I don't).

Don't extrapolate what I said. I like link previews and don't like Memojis and bloatware. But more often than not I like to know what's behind the URL. Maybe I don't wan't to open the site, or already seen the article, or the preview is enough to get information (like weather?).

If we're on the road to proliferate privacy-conscious behaviour, we need to give something to "the masses", so they can enjoy the experience. And I want my mom and dad using products such as Signal, so I can use it with them. I have no use of it if my friends are not using it, and I'm all alone on the whole network. I don't support bloatware, but some sugar is needed.

</comment></comment></comment><comment><USER27> Has anyone here successfully convinced their non-techie friends to switch to Signal? How have you done it? I've been trying on and off with my closest friends, but no luck.

<comment><USER28> Yep (or at least, less techie friends). Strategy is to not have WhatsApp - which leaves plenty of other alternatives (SMS, email, calling, Twitter DMs, whatever) for people who do need to contact me, but Signal is just considered easier by some. I just made sure that I've got groups chats for all my social circles that I add everyone who joins Signal to.

Additionally, taking the initiative for fun activities (or always being eager to join), which -besides being fun- gives people without Signal FOMO, haha.

 _Edit:_ Well, "switching" is a big word. They've got it installed, use it to contact me, and some have started using it as the primary means of communication with others who also have it. Most of them will still use WhatsApp even for contacts who are also on Signal though.

</comment></comment><comment><USER29> The thing about using these kinds of tools (IMO) is that it is effectively a giant flag waving at the NSA saying "hey: over here, I'm doing something worth keeping a close eye on!"

And once they get sufficiently interested, they can crack pretty much anything the market can come up with.

So if you're trying to hide stuff - old school is probably best, innocuous code-word language stuff, keep communication to a minimum, leave phone at home, etc, etc.

<comment><USER30> > The thing about using these kinds of tools (IMO) is that it is effectively a > giant flag waving at the NSA saying "hey: over here, I'm doing something > worth keeping a close eye on!"

That's why I use Signal to chat with my wife and parents, and pretty much no one else. Secure apps need to become mundane so they don't draw attention, so I prioritize using them for mundane things.

</comment></comment><comment><USER31> Really hope E2EE on RCS isn't just Google blowing smoke.

[https://9to5google.com/2020/05/26/google-messages-end-to- end...](https://9to5google.com/2020/05/26/google-messages-end-to-end- encryption-rcs/)

Clearly not a solution to the current crisis but would be beneficial in future situations.

</comment><comment><USER32> The more people that adopt Signal, the better. I've been using it for years due to privacy concerns and usually ask everyone that I regularly communicate with to adopt it. I don't think it indicates any subversive or illegal behavior, but merely a desire to have private communications remain private.

</comment><comment><USER33> I use signal, but am a little bit at unease because it's free. What's in it for the developers? Whatsapp is e2e and all that but the reason it got bought by facebook for an obscene amount of money is what gave me pause

<comment><USER34> The Signal Foundation is a 501(c)(3) nonprofit. They're funded by Brian Acton (former co-founder of WhatsApp, net worth ~3 billion), donations, and the Freedom of the Press Foundation. They are not owned by Facebook not sure why you said that.

<comment><USER33> Was referring to WhatsApp owned by FB not Signal.

</comment></comment></comment><comment><USER35> Just an anecdote, I live close to the town I grew up in, which happens to have a large high-end mall. Over the weekend there have been large peaceful protests ("protest" perhaps isn't even the right word, more like a show of solidarity) in the town common, a 2-acre square at the center of town.

Police apparently got a tip on Monday night that a separate group was planning on looting the mall. They intercepted a convoy of cars many with out of state plates gathering in the empty parking lot and which fled when they saw the police.

I guess that's one thing that works in favor of suburban malls being only reachable via car, versus the destruction inflicted upon urban malls in my State.

Apparently there had been public social media posts calling for the looting which got passed along to local police which deployed ahead of time to close the mall and clear out the parking lots.

Op sec is particularly difficult I guess when these groups do not have pre- formed networks and are just sending out public recruitment posts to commit crimes.

Anecdote aside, I think that Signal isn't going to support the many-to-many broadcast messaging that large groups would need to organize effectively (whether peaceably or otherwise) and a system which allowed mass coordination is that much more likely to be infiltrated (see e.g. Project Veritas' latest work against Antifa).

<comment><USER36> Can you please cite a source for these claims?

<comment><USER35> Family members of mine were at the town center to show support for BLM. The town police spokesperson was interviewed on the local news and there is video of the police response at the mall.

[https://boston.cbslocal.com/2020/06/01/police-respond-to- nat...](https://boston.cbslocal.com/2020/06/01/police-respond-to-natick-mall- south-shore-plaza/)

</comment></comment></comment><comment><USER37> To paraphrase Lenin, there are years where no one has Signal, then weeks where everyone gets Signal.

[https://twitter.com/benlorber8/status/1268596748198596608?s=...](https://twitter.com/benlorber8/status/1268596748198596608?s=21)

</comment><comment> ian-g A couple friends of mine are professional organizers, and I know their orgs use signal for pretty much anything sensitive. I dunno how much they like it, but it's something they all use regularly

</comment><comment><USER38> One has to wonder about behind the scenes heuristics as it pertains to taking a chance distributing a backdoored version sideloaded into the App Stores. One also wonders about whether the encryption or app are possibly compromised generally (even if the source is vetted and distributions are verified)

Perhaps most of interest though would be how many phones are owned otherwise, to give access to the protester Signal comms anyway

And also metadata must still fly around anyway, no?

<comment><USER39> Signal does a pretty good job at minimizing the metadata it has access to. For example, the app can tell you who of your contacts has Signal installed but the Signal service itself never gets to see your contacts ([https://signal.org/blog/private-contact- discovery/](https://signal.org/blog/private-contact-discovery/)).

<comment><USER40> Signal absolutely could do better in minimizing metadata by simply not requiring a phone number. Despite this obvious, huge, and dangerous shortcoming, I have never seen a single explanation of why Signal needs a phone number for signup.

<comment><USER41> They give an explanation literally every single time this subject is brought up, but of course on the Internet there's someone who against all possible odds manages to completely ignore years and years of the reasoning being linked to or _given_ by a person at Signal in every single possible thread on Signal possible anywhere on the Internet, but what can you do?

<comment><USER40> I've asked many times and searched many times and never found a convincing answer. What's the reason?

<comment><USER42> The typical answer is that a secure app is useless if no one actually uses it, and the use of phone numbers is an unfortunate tradeoff that had to be made to allow the general public to easily sign up for Signal and find their friends automatically from their phone's contacts.

Often this answer is accompanied by pure sarcasm where if you are concerned about this feature, you are told that Signal is not for you and "you can go play at being a spy and sharing a secret decoder ring with your friends", as these people regard PGP to be. I wish those Signal advocates could lay off the sarcasm, it just makes the project look bad.

</comment></comment></comment></comment></comment></comment><comment><USER43> even after spike lower than already extremely obscure (in US) Telegram

</comment><comment><USER44> Jami, anyone?

Jami.net

It does not have Signals problems

</comment><comment><USER45> Cell tower association should be enough. Maybe not recording videos of yourself and others committing felonies would be a start.

</comment><comment><USER46> Signal exposes the user's phone number, better alternative is to use burner phones or Telegram.

<comment><USER47> Or an open standard like Matrix

<comment><USER48> First time hearing about Matrix standard. But in case the clients are maintained by some individuals - why should we trust them that there are no backdoors in their compiled binaries? Seems like a nice project! But probably it will take it's small niche, probably for now it is not wide spreaded, haven't heard any noise about the standard.

<comment><USER49> The signal server has 10 maintainers out of which 5 are signal employees.

Matrix is 100% open source, has a larger community maintaining it and is federated.

If you're worried about backdoors then you should have more eyes on the code.

</comment></comment></comment></comment><comment><USER50> Long-time Signal user but I'm on the verge of moving I think. There are several UX shortcomings but the new PIN nag is a bridge too far. What are my options for alternatives? I imagine Telegram is the next best bet but very open to suggestions.

<comment><USER51> Settings -> privacy -> Pin Reminders

You can disable them there.

<comment><USER50> I tried that but that just makes you set a PIN which I don't want to do! I appreciate the help though, thank you.

</comment></comment></comment><comment><USER52> While I assume Signal is very good at keeping your neighbors and the like out of your business, I feel like the NSA must have some ways of getting in to signal if they want. Like if they have backdoors to get in to iPhones I assume they can replace the binary and get at your info.

Idk after learning about the Snowden revelations I assume every computer is compromised. I mean didn't x86 have unpatched vulnerabilities for like two decades? It's really hard for me to imagine that apps like Signal running on iphone or android can offer enough security to keep out the NSA. But I'd be very curious what folks think about that. I've told my drug dealer friends "signal is fine for selling weed but if you commit a murder they will probably find a way to get your messages."

<comment><USER53> > While I assume Signal is very good at keeping your neighbors and the like > out of your business, I feel like the NSA must have some ways of getting in > to signal if they want.

'You have to go back in history, at least to the time when the devs dropped sms encryption and even earlier.

The main developer, in a matter of weeks, had turned from someone harassed by the TSA into a receipient of a major government grant ($13 mln). Then he received lucrative contracts with the "greatest" bastion of privacy, Facebook and affiliates. You don't get that by accident. You get that by providing your own significant part of the bargain.'

[https://forum.f-droid.org/t/we-can-include-signal-in-f- droid...](https://forum.f-droid.org/t/we-can-include-signal-in-f-droid/7373)

Just saying it's not the most unfounded theory out there.

</comment></comment><comment><USER54> I'm not seeing it. I've only had 1 of my friends convert to signal in the last week. The rest of them: they've always have been on signal.

<comment><USER55> So 100% of the people you know who were not on signal are now on signal?

<comment><USER54> Not sure I said that right. I have some friends on signal. Of the other platforms out there, I've only seen 1 sign up.

I'm saying anidotically, I'm not seeing a massive wave of people sign on to signal.</comment></comment></comment>


Siemens in dispute with Russia over diverted turbines - <AUTHOR> http://www.bbc.com/news/business-40556707 <comment><USER2> Talk about double standards, if seimens thinks a regime is untrustworthy they should not give them their technology to make money.</comment>


680k people are paying Zynga $1100 a year to play its games - <AUTHOR> http://www.businessinsider.com/analyst-680k-players-are-paying-around-1100-each-year-to-play-farmville-2012-1

<comment><USER2> There was a lot of hand waving in that article to arrive at that conclusion. The "80/20 rule" is a good estimate for some situations, but it may not apply in this case. For example, Netflix probably doesn't follow the 80/20 rule since most subscribers pay the same price for one of a couple different plans.

</comment><comment><USER3> This feels like psychological abuse. As with climate change, we know that people have a hard time noticing changes that happen slowly. Here is a business that is literally nickle & diming people, and quite mostly through their kids.</comment>


The No.1 job billionaires and multimillionaires held before they got filthy rich - <AUTHOR> https://www.marketwatch.com/story/the-no-1-job-billionaires-and-multi-millionaires-had-before-they-became-filthy-rich-2019-01-10 <comment><USER2> I think sales is just a common entry-level job. "Kanye West was a salesperson at the Gap; both Johnny Depp and Jennifer Aniston were telemarketers" None of these are the people we think of when we think about billionaires.</comment>


Rejected by Kickstarter, so my project now open sourced - <AUTHOR> http://chadwtaylor.github.io/launcher

<comment><USER2> Did you actually expect to raise funds for a kickstarter-competitor on Kickstarter?</comment>


Show HN: StartKit – Free Bootstrap Template for Startups and SaaS Apps - <AUTHOR> https://www.authenticpixels.com/product/startkit-responsive-startup-business-template <comment><AUTHOR> I have just launched a free Bootstrap theme specifically designed for Startups, small businesses & SaaS applications called StartKit.

It is responsive, fully-AJAX (with smooth page transitions) and has 25+ pages - pretty much everything you need to launch your startup/product website.

You can use the free version for your personal/commercial projects without any attribution. If you want to customize this template, you can take a look at the Premium version ($15) which will give you access to the following -

\- Complete, well-organized & modular SCSS code base

\- Nunjucks based templating (no need to copy changes across multiple HTML files)

\- Modern tooling & workflow (automatically concatenate and minify CSS, JS, HTML + Live preview of your changes)

\- Pre-built integrations with Ruby on Rails and Node.js

Again, you do not need to pay for this at all if you don't need the above features. Go ahead, download it for free and use it in your projects!

Also, Gumroad makes it necessary to give an email address before downloading. If you don't want that, you can download the release from my Github repo - [https://github.com/authentic-pixels/startkit](https://github.com/authentic- pixels/startkit)

Let me know if you guys find it useful!</comment>


Choosing Empathy - <AUTHOR> http://edge.org/conversation/jamil_zaki-choosing-empathy <comment><USER2> Empathy is a killer skill for any job, technical or not. The good news is that it can be trained. Many of the best tech leaders I know are very emphatic.

</comment><comment><USER3> Oh, this is not about IM clients.</comment>


Proofs of replicated storage without timing assumptions - <AUTHOR> https://eprint.iacr.org/2018/654 <comment><AUTHOR> > A proof of replicated storage guarantees that, unless the server is indeed > reserving the space necessary to store the n n copies of the file, the user > will not accept the proof.

> While some candidate proofs of replicated storage have already been > proposed, their soundness relies on timing assumptions i.e., the user must > reject the proof if the prover does not reply within a certain time-bound.

> In this paper we provide the first construction of a proof of replication > which does not rely on any timing assumptions.</comment>


Ask HN: Self-taught back end dev with little free time. What should I learn? - <AUTHOR> Riffing on the previous submission: I'm a primarily back end guy (Perl/Python/Linux admin/Database) and I want to learn web dev, but I don't have a lot of free time.  What's my best path to start working toward full stack web dev? <comment><USER2> Think of a project and start building it. One thing could be a Game of Thrones or Star Was API clone.</comment>


Do you believe that our startup can be the next hot trend?  - <AUTHOR>

I am CEO of Guchex.com , and we are building a social knowledge platform:
Our main idea is to provide a public space where a Guru can share knowledge by posting texts and tutorials of his authorship, like a personal blog, but in a network of Gurus that makes it easier to find something that you want to know, but maybe don't know how to search for.
The greatest thing about this is that users are guided to find useful content that helps them to improve themselves professionally and people who contribute a lot in some field or area of interest will be recognized in our community as a real Guru in that area.
Do you believe that our startup can be the next hot trend? Yes/no? why?
If you are intersted, please signup for early access @ www.guchex.com <comment><USER2> No I don't see this happening. Why would someone contribute to a closed garden when they have their own blog instead where they have more control?

</comment><comment><USER3> How is this different from Quora ?

<comment><USER4> It seems more like Branch. It's not question/answer based it's "conversation" based, pushing people answer more complex questions and have deeply involved discussion.

Again, Branch fills that space. But Branch is new, and it's an awesome space to be in because Yahoo Answers is currently the leader and boy is that a horrible service.</comment></comment>


Ask HN: I just sold the company… now what? - <AUTHOR>

Background, I started a B2B data backup company at the end of 2005/early 2006 worked on it for several years before realizing that I was missing something in my personal development that was limiting my success.
I love solving hard problems, building products, love hardware and building/maintaining bare metal servers. I did not like the sales/biz dev side of things. In an effort to continue my professional development, I decided to move to NYC and get a masters degree. Before the move I turned over the management of the business to others. While in NYC I was fortunate to work at two of the hottest startups in town, I learned a lot about myself and scaling businesses.
Fast forward six years, the business continued to grow even in the face of stiff competition and plunging prices for cloud storage/online backup. A month ago the business sold to a larger competitor.
Over the years we moved data centers (twice!) and completely rebuilt our infrastructure three times. We made mistakes and a few good decisions. The best decision we made was in our last data center move.
HN, here is where I need some help: I'm left with a few things… lots of hardware, storage, bandwidth, and rack space.
At this point I'm trying to figure out what do with all of this stuff. I don't want to shell out the cash for the data center space each month if I don't have a use for it, however I will never get a deal like this again and don't want to give it up… I really love not being a slave to Amazon/Linode and hosting with my own servers.
If someone has any ideas I'd love to hear em… or if you have servers that would be too expensive to host elsewhere because of bandwidth costs, I'd be happy to host them for you without any bandwidth fees. Just cover the costs of power. I've got a gigabit right now that is billed at a flat rate so bandwidth hogs and services like that are ideal. <comment><USER2> I apologize for the vague post but I saw an article earlier on about how some supposedly fantastic (wiggles?) widget company was unable to pay their hosting costs and was having to scale back and shut down, hopefully someone seeing this post can point you in the right direction but I'm sure that you guys could come to an amicable and affordable solution!

\----- EDIT -----

Just spent 15 minutes searching furiously and managed to find this: <http://forum.chumby.com/viewtopic.php?id=8457> \- that's the page which the HN link led to, here is the link to the HN page: <http://news.ycombinator.com/item?id=5058788>

Quite surprised I managed to remember and find that but hopefully I've helped to create something good today!

<comment><AUTHOR> That's exactly the kind of thing that makes sense! Hopefully this will get us connected.

<comment><AUTHOR> Just reached out to Duane on the Chumby boards. Hopefully he gets in touch.

<comment><USER2> Great! I'm off to bed now, so please, post here or email me, let me know how it goes!

</comment></comment></comment></comment><comment><USER3> Why not look at the numbers and come up with a specific "Offer HN?"

<comment><AUTHOR> Did not know such a thing existed?

<comment><USER3> There were a lot of them around the holidays in 2011. Not so common now, but from time to time they occur.

The unofficial purpose is to provide a mechanism for people to give something back to the community. So the value proposition should be heavily skewed away from the offering person - e.g. free goods or services is obviously consistent, market rate goods and services are obviously not. Anything in between may be seen one way or the other by the community.

</comment></comment></comment><comment><USER4> May you provide an email address?

<comment><AUTHOR> Just emailed the address in your profile so I don't get spambot'd.</comment></comment>


Boeing's Managerial Revolution Created the 737 Max Disaster - <AUTHOR> https://newrepublic.com/article/154944/boeing-737-max-investigation-indonesia-lion-air-ethiopian-airlines-managerial-revolution?src=longreads <comment><USER2> Discussion: [https://news.ycombinator.com/item?id=21035986](https://news.ycombinator.com/item?id=21035986)</comment>


Rustup 1.20.0 - <AUTHOR> https://blog.rust-lang.org/2019/10/15/Rustup-1.20.0.html <comment><USER2> I love the changes to the `rustup doc` command.

I first learned to program in Perl on a FreeBSD machine. (No GUI, mind you.) I had no way of browsing the internet, so my only source of documentation was via `perldoc`. Perl's documentation was so good I didn't ever need to go online.

Now, every time I encounter a new language, one of my favorite things is seeing the documentation available off-line, accessible via the command line. (Either directly from the terminal or opened in a browser.)

I've loved seeing the Rust community take documentation and error messages so seriously. It's nice to see this level of care.

<comment><USER3> That was one thing I liked about Go as well. I mention Go cause I remember how I felt when I realized I had all the docs available offline. That is a nice to have for Rust too. I wonder when if ever LangServ will support code documentation as part of autocomplete like C# does rather cleanly with Visual Studio. Or is that already the case? In any case I think its powerful to be able to see a summary of a method through the auto complete feature of editors.

I know Rust is working on their own LangServ as well. I hope LangServ matures enough to secretly turn supporting editors into lightweight IDEs.

<comment><USER4> The Rust Language Server definitely serves up documentation beside each item in the completion menu, however it seems to be the raw Markdown source for the documentation, rather than the nicely formatted version you'd see in a browser.

<comment><USER5> At least in VS Code it's formatted nicely (at least most of the time, there are some ugly edge cases). Might depend on your editor integration though.

</comment></comment></comment></comment><comment><USER6> That updating the nightly toolchain gets more convenient is fantastic. It was oftentimes a struggle, especially when there was no build with all required components listed as present in the toolchain status history[1].

[1]: [https://rust-lang.github.io/rustup-components-history/](https://rust- lang.github.io/rustup-components-history/)

</comment><comment><USER7> > Due to the large number of installed files

It sounds like the Rust distribution needs to use zip files more?

<comment><USER8>
        $ rustup component list | grep installed
        cargo-x86_64-unknown-linux-gnu (installed)
        rust-docs-x86_64-unknown-linux-gnu (installed)
        rust-std-x86_64-unknown-linux-gnu (installed)
        rustc-x86_64-unknown-linux-gnu (installed)
        rustfmt-x86_64-unknown-linux-gnu (installed)
        $ find ~/.cargo -type f | wc -l
        8699

8K files... So 1 to 2 orders of magnitude less than any given frontend node_modules folder. Pretty reasonable actually.

<comment><USER9> A big part of that is rust-docs; each page is its own file, so that you don't need a web server.</comment></comment></comment>


Why Christmas is coloured with Saturnalia - <AUTHOR> https://unherd.com/2018/12/why-christmas-is-coloured-with-saturnalia/ <comment><AUTHOR> The author, Helen Dale, also wrote a very interesting book called _Kingdom of the Wicked_ , in which the ancient Romans experience an Industrial Revolution and have approximately modern levels of technology when Jesus shows up: [https://jakeseliger.com/2017/12/28/kingdom-of-the-wicked- boo...](https://jakeseliger.com/2017/12/28/kingdom-of-the-wicked-book-one- rules-helen-dale).</comment>


Delete Facebook - A Reason to Hope - <AUTHOR> http://www.google.com/trends?q=delete+facebook&ctab=0&geo=all&date=all&sort=1

<comment><AUTHOR> Of course - the following shows what this trend is up against... but still... it's a start:

[http://www.google.com/trends?q=delete+facebook,+facebook&...](http://www.google.com/trends?q=delete+facebook,+facebook&ctab=0&geo=all&date=all&sort=0)

</comment><comment><USER2> Or maybe Facebook is just gaining more and more ground, resulting in more people wanting to delete their Facebooks? The numbers of Facebook users are growing.

<comment><AUTHOR> Well - I did say 'hope' - as opposed to 'cry victory'.</comment></comment>


No More Shampoo - <AUTHOR> https://jayriverlong.github.io/2020/07/04/shampoo.html <comment><USER2> I had a similar realization several years ago. We were sailing across the Atlantic. Water for 2-4 weeks with a crew of 5 is at a premium. Even our last stop in Cape Verde the yacht club showers charged per liter. So some habits dropped off out of necessity. 30 minute wash and shampoo one of them. By the time we got to the Caribbean not only were my tips blonde from the sun my scalp felt and roots felt different. Springy and wavy, not matted and oily.

It was an interesting transition as my scalp righted itself. It was greasy the first few weeks. My scalp compensating for the loss of natural oils during the habitual shampooing by producing more. And then it found a new normal producing just the right amount after a bath in the deep blue Atlantic waters.

Since I'm now in the hard I wash my hair weekly. Using organic soaps like a patchouli scented hippy. Like nature intended.</comment>


Mobile Deeplinks for Developers - <AUTHOR> http://urx.com/developers

<comment><USER2> Being able to link to and follow links to specific content is a defining feature of the web that has been disrupted by single-page JS and mobile apps that don't support it.

I always find it frustrating when I run into this, so I'm glad to see people are trying to fix it.

</comment><comment><USER3> I just wanted to point out that your (I'm referring to urx.com) landing page has this awful, misleading form input to collect your email address with a button next to it labeled "Contact Us."

Just call it what it really is please.

<comment><AUTHOR> pretty sure the cause and effect was pretty clear there.. thanks for the feedback, though - will launch an A/B test against grumpy HN posts to validate ;)

<comment><USER3> Just so I have this straight:

\- I type my email address into the input

\- I click "Contact Us"

\- Instead of seeing a form where I can enter details to contact you, my email address gets zipped off to you so you can contact me about why I want to contact you

Yep, seems broken.

<comment><AUTHOR> I see your point. Will discuss with the team in earnest.

</comment></comment></comment></comment><comment><USER4> I think Chrome for iOS has one of the best deeplink/url schemes out there. It even has callbacks to return to your app.

[https://developers.google.com/chrome/mobile/docs/ios- links](https://developers.google.com/chrome/mobile/docs/ios-links)

<comment><AUTHOR> totally agree- across the board, it's exciting to see how Google's implementing deeplinking across their properties.

see also: [https://developers.google.com/+/mobile/ios/share/deep- link](https://developers.google.com/+/mobile/ios/share/deep-link)

</comment></comment><comment><USER5> This isn't new technology, it's readily available for iOS. People haven't implemented it for broad use because it doesn't work as well on iOS as intents do on Android i.e. I can't link from an email and have the OS decide if I should send it to the app or to a web browser.

</comment><comment><USER6> I find it interesting that their site doesn't support deeplinking.

<comment><USER7> URX doesn't have a consumer app to deeplink to.

[http://urx.com/deeplinks](http://urx.com/deeplinks)

<comment><USER6> Before it meant a reference to a spot in a mobile app people used the term 'deep link' to describe web resources. The OP documentation has single-page app style navigation without support for deep links, which is just a little ironic.</comment></comment></comment>


Mozilla and KDDI Launch First Firefox OS Smartphone in Japan - <AUTHOR> https://blog.mozilla.org/blog/2014/12/22/mozilla-and-kddi-launch-first-firefox-os-smartphone-in-japan/ <comment><USER2> Super excited to see FFOS getting launched in Japan!

Also, glad that FFOS is on a higher spec phone, should deter some of the detractors.

People often scoff/don't understand when I explain it to them, but I run FFOS (I have the Flame) because I (want to) support Mozilla and everything they stand for.

<comment><USER3> This. I'm happy to put up with some mild inconvenience to move toward more open ecosystems. I have predominantly used Linux since 1995 (since long before Linux was nice on the desktop), and as Firefox OS devices make their way to the US, I'll likely migrate off of Android.

Also, Firefox, the browser, is really firing on all cylinders these days. The developer edition is awesome, syncing is awesome and works across all devices (I use Firefox on phone, tablet, and Linux and Windows). And, most importantly, I trust Mozilla more than any other browser provider. I store a lot of stuff with Google, Amazon, Facebook, and Flickr, but I'm not entirely happy about it (to varying degrees).

<comment><USER4> Is the sandboxing released into public builds yet? I've been sort of holding off on making the jump back to FF until that happens. Still champing at the bit a little for precisely the reasons you mention. Firefox is worthy of support simply by virtue of being both open, and supported by an organization whose motives aren't intrinsically suspect.

<comment><USER3> For what it's worth, Firefox has been somewhat more stable for me than Chrome on Linux lately (there are other reasons to want the sandboxing, but stability is one of them). Now that Flash is so much less common than it was a few years ago, the instances where my browser dies due to a misbehaving plugin have dropped to almost none. Also, the only reason I ever start Chrome is to watch Netflix or other sites that won't work in Firefox (I still had to tweak the user agent to claim to be something different to convince Netflix to work); so it's possibly not surprising that it crashes more than Firefox.

And, of course, it's anecdotal.

<comment><USER5> It should be noted that while Firefox doesn't have tab sandboxing, it does isolate Flash (by launching it in a separate process called plugin-container).

<comment><USER6> Here's how firefox describes plugin-container [0]: _Plugins are loaded separately from Firefox, allowing the main Firefox process to stay open if a plugin crashes._

This is different than a sandbox. A sandbox limits what the plugin is capable of doing to the system. The whole point of sandboxing flash is that it has had numerous security holes.

0\. [https://support.mozilla.org/en-US/kb/what-is-plugin- containe...](https://support.mozilla.org/en-US/kb/what-is-plugin-container)

</comment></comment></comment></comment></comment></comment><comment><USER7> This is exciting as hell. Not because I will use this device (I won't, but I will buy to play with like I do Android phones). But it excites me so much because:

1) mobile is an important space ( _free protip!_ ) — both in terms of software and business, and in terms of just living your life with your family and friends in the modern age

2) this is the _kind_ of competition that is needed in this space

I don't use the Firefox browser very often in modern times, but I witnessed it's whole evolution. If it didn't exist, I don't think Apple and Google would have made these awesome Firefox-killers. They would have made MSIE-killers and the world today wouldn't be as awesome as it is for desktop browsers.

The still-in-its-infancy world of mobile mostly sucks today, because you have only two significant players controlling it.

One of them is a monomaniacal control-freak that won't even _let_ you change your default browser, and demands that you pretend we live in a sparkling antiseptic world where there are no messy things like bittorrent or porn or (gasp!) programming software directly on your mobile device.

The other player is like this sort of Orwell-meets-Disney-City player, giving you free email (that it reads) and all sorts of free services (that let it track where you are, who you talk to, what you buy...). Not Big Brother, but more like Big Creepy Uncle, who seems nice but always wants to take pictures of you that make you feel uncomfortable afterwards.

Android is sort of open but the open/rooted version of it doesn't really compete with itself very much.

Competition between three players is always better than two. But when one of them is a legitimate free open source player, it is _much_ better.

Think about a computer user who has never used Linux once. Just Windows and Mac. Even that person has had their computing life massively enriched by the existence of Linux, and the influence that its existence has had on the platforms that person does use.

We don't have that third player on mobile yet, which is keeping us in the cave man era. It seems increasingly like Firefox OS is really going to become that player.

</comment><comment><USER8> I'm going to be in Japan next week and was excited enough by the IMO gorgeous industrial design and hopefully-fast-enough mid-range specs to want to get one, however, while the Fx0 has Band 1/18 LTE, KDDI's 3G network is CDMA, not GSM/UMTS. I'vealso been told by friends that all their phones are typically locked as well. Dropped an email and it'd be great if that weren't the case and proper antenna's/baseband support was built in, but I won't get my hopes up.

There's a dedicated site/product portal for the Fx0 and it looks like they kicked off the launch w/ some hackathons last month: [http://au- fx.kddi.com/](http://au-fx.kddi.com/)

<comment><USER9> The product info page says it supports global roaming (LTE/UMTS/GSM) at the very bottom[0]. au/kddi will not unlock their phones right now, but starting May 2015 all Japanese operators are required to unlock their phones, so you'll have to wait until then.

[0] [http://au-fx.kddi.com/products/#title07](http://au- fx.kddi.com/products/#title07)

<comment><USER8> Ah, good to know. I'll drop by the Tokyo store and see if they'll sell me one w/o a contract. Last time I dropped by a Japanese phone store they wouldn't sell me a phone w/o one, and of course, wouldn't sell me a SIM w/o an alien registration card.

</comment></comment></comment><comment><USER10> The article from the verge got more pictures and details: [http://www.theverge.com/2014/12/23/7440079/fx0-firefox-os- sm...](http://www.theverge.com/2014/12/23/7440079/fx0-firefox-os-smartphone- specs-release-date-photos)

</comment><comment><USER11> That phone looks awesome.

I really want a firefoxOS phone that is spec'd out like a nexus 5 to exist...

<comment><USER12> If it's any consolation, you can build and install FirefoxOS on a Nexus 5. Note, we are still working on Lollipop support.

[https://developer.mozilla.org/en- US/Firefox_OS/Preparing_for...](https://developer.mozilla.org/en- US/Firefox_OS/Preparing_for_your_first_B2G_build#Configuring_B2G_for_your_device)

<comment><USER13> You can even dual boot Android and Firefox OS:

[http://bluishcoder.co.nz/2014/06/11/dual-booting-android- and...](http://bluishcoder.co.nz/2014/06/11/dual-booting-android-and-firefox- os.html)

The main issue is lack of support for some Nexus 5 hardware, like the camera. Bugs raised for this are not dealt with as the Nexus 5 is not a supported platform.

<comment><USER14> Nexus 5 is our main Lollipop target so all these issues will be fixed.

</comment></comment></comment></comment><comment><USER15> I'm digging the translucent case. Brings back good memories of Nintendo 64.

<comment><USER16> And the first iMacs.

</comment></comment><comment><USER17> Surprisingly sexy looking thing, except for the home button.

Conspicuous lack of information about screen resolution, and a ridiculously high price given the specs relative to equivalent Androids and Windows devices.

I'm a (fairly loud) FF OS detractor, and this flailing around looking for a niche (apparently this time Japanese web dev geeks that will prize ideology over function) betrays a complete lack of market demand for it. Google's Android 5.0 screw up is causing there to be the biggest opportunity for a mobile OS land grab in years, but you're not going to progress with an even more extreme version of the ultra-thin-client model.

<comment><USER18> > Google's Android 5.0 screw up

Care to elaborate?

<comment><USER19> For inexplicable reasons, Lollipop removed silent mode. The new task switcher is an abomination and memory management is way too harsh (constant gc-ing)

<comment><USER20> And this would be the reason for a "landgrab" in mobile?

Most users hardly notice spyware hijacking their browser. I don't think they will be too concerned with _harsh memory management_.

<comment><USER19> I said nothing about landgrabing...Just pointing to some of the failings of lollipop.

</comment></comment></comment></comment></comment><comment><USER21> Has copy/paste support dropped? I'd love to use my flame as my daily driver, but I use Lastpass (and rely on) which is rendered useless without copy/paste.

Either way this is super exciting!! Well done to the FFOS/Mozilla team!

</comment><comment><USER22> Shame it's based on the fairly old 32-bit Snapdragon 400; it immediately looks obsolete next to the current wave of Chinese wunderphones.

The 400 is bargain-basement material on that sort of market, usually paired with a 720p screen around the $100 mark. The only phones cheaper than that use the MTK chipsets.

</comment><comment><USER23> It is still impressive to me by itself that Mozilla was able to enter the mobile OS market. That said, I wonder if and when Firefox OS will turn into a platform that it would be rational for you to target as a for-profit developer. Has anyone here on HN made any money off FxOS apps yet?

</comment><comment><USER24> "Fx0 is the first high-spec Firefox OS smartphone with the latest Firefox OS update inside"

So does this mean it has FxOS 1.4? or 2.1?

It's good that they have a mid-range phone now. Hopefully they'll someday have something here in the US that's competitive.

<comment><USER25> FxOS2.0 was mentioned in several articles.

<comment><USER24> So is that the latest release or is it still 1.4?

<comment><USER26> 2.0 is now the latest, as of the release of this phone.

</comment></comment></comment></comment><comment><USER27> Anyone has recommendations for a FF phone, in the U.S? I looked into them 6 months ago, couldn't find a good one for daily use - will gladly give up my iPhone for a decent FF phone

<comment><USER28> We're currently working on the next generation reference device. Until that comes out, my recommendation is to try out the OS on a Nexus 4 or Nexus 5. I use FirefoxOS on a Nexus 5 and it's quite nice, except not all of the hardware features work yet, including the camera. These are being actively worked on though and should be finished within a few months.

<comment><USER29> Does this mean that a device like Alcatel Fire S will be obsolete before release?

</comment></comment></comment><comment><USER30> Congratulations! Super-excited to have an open mobile OS making strides forward.</comment>


Show HN: What Search Plus Your World Should've been in the first place - <AUTHOR> http://techcrunch.com/2012/12/21/cloudmagic-launches-alternative-to-googles-search-plus-your-world-which-combines-data-from-all-your-online-services/

<comment><USER2> Why did Google search plus your world fail? Because facebook and twitter will never let Google to do that!</comment>


Facebook employees so paranoid they're using burner phones to talk to each other - <AUTHOR> http://nymag.com/intelligencer/2018/12/facebook-employees-unhappy-at-company-amid-scandal.html <comment><USER2> why not just use facebook, your privacy is safe</comment>


A week with a ChromeOS netbook - <AUTHOR> http://grack.com/blog/2011/02/05/a-week-with-a-chromeos-netbook/

<comment><USER2> Nice to see the progress. Chrome OS is clearly Google taking Apple's "it just works" playbook and applying it to their strengths.</comment>


Social assistance computer error sees millions paid out by mistake in Ontario - <AUTHOR> http://www.cbc.ca/news/canada/toronto/social-assistance-computer-error-sees-millions-paid-out-by-mistake-1.2854050

<comment><USER2> $240M cost over 4 years

thats $60M/year

assume that all went to cover cost of programmers or equiv profs

lets say fully loaded annual cost of said staff indiv is $150K each

$60M gets you 400 of those $150K programmers FT for a year

now do that for 4 years

for something that is essentially just a database-backed CRUD webapp with simple workflow and the hardest bits actually done by a pre-existing separate service anyway (messaging to banks to issue the DD; printing checks and envelopes then handing off to PO for delivery); and could have been orders-of- magnitude simpler (and cheaper overhead) if all replaced with a totally automated Basic Universal Income payout to every citizen

gov software: massively lucrative if weren't so massively inane

<comment><USER3> I suspect it was done in the usual manner with wiggling requirements and re- writes several times over. Plus the people you may be replacing with software may be the only ones knowing the ins and outs of the system, thus dragging their feet at every opportunity.

</comment></comment><comment><USER4> $240 million for a software project to do case by case management?

Basic income is sounding better and better each day now.

<comment><USER5> To play the devil's advocate, that amounts to a bit under $7 per Canadian citizen. UBI won't be going very with far that.

<comment><USER6> This only a single example. The more relevant issue is to what extent this is representative of other, similar bureaucratic costs imposed by means-testing and other targeting.

Also, you need to consider how many Canadian citizens are already receiving benefits and how much under the current system. If a very large percentage of Canadians are already receiving benefits, then the cost-savings of any system that prevents the remainder from claiming benefits is accordingly diminished.

<comment><USER7> Means-testing is not a difficult problem to solve with software. This project was grossly overprovisioned and mismanaged to a degree that probably indicates corruption, yes, but that happens in all kinds of software that has nothing to do with means-testing.

<comment><USER4> I know someone in Ontario who actually works with this software and I had her explain the requirements. Yes it is extremely hard problem to solve with software.

They are trying to quantify qualitative data, but each case is so varied that the software had thousands of options and checkboxes.

They needed the checkboxes to track metrics for specific trends in cases and detecting problem areas. So the state can detect say a rise in poverty in x neighbourhood do to y circumstances etc.

Data tracking at this level is incredibly complex. And I'm sure IBM, or any gov enterprise software team doesnt have many good designers leading the projects. Designed in comitee rooms.

UBI takes these people out of the equation and the software is simply, here is everyones address/bank -> pay them.

</comment></comment></comment></comment></comment><comment><USER8> Reminds me of this Australian (Qld) Govt project that cost $1.2bn - for a health payroll system, which failed ... [http://www.govtechreview.com.au/qld- health-payroll-report-sl...](http://www.govtechreview.com.au/qld-health- payroll-report-slams-worst-ever-it-project/)

</comment><comment><USER8> Its sounds from the limited info in the article that they didn't run the old and new systems side by side for a period of time ... which I thought would have been standard practice with this sort of thing?

</comment><comment><USER9> A quarter billion dollars on a provincial software project. This is absolutely mind boggling. Between this and the Presto boondoggle[1] we are probably closing in on a billion dollars being lit on fire in Ontario alone.

[1] [http://www.thepost.on.ca/2012/12/13/presto-yet-another- liber...](http://www.thepost.on.ca/2012/12/13/presto-yet-another-liberal- boondoggle-gone-wild)

</comment><comment><AUTHOR> I would love to hear the details of this project. Perhaps it can made into a lessons learned (yet another one) for high up government officials. There has to be something to learn here. Anyone have any info on this?

<comment><USER10> > Perhaps it can made into a lessons learned (yet another one) for high up > government officials.

I'd be much more interested in comparatively low level people, maybe a team lead or something? I feel the exact same way -- how could someone not be genuinely curious about this type of thing? But I'm a little weary of getting a 'series of tubes' style answer from someone (see the White House response to Healthcare.gov as perhaps a best-reasonably-likely-case scenario -- it didn't foul up the explanation completely but also didn't really speak to the details in any way that you or I would like).

<comment><AUTHOR> I'm thinking more and more about this and other questions have come up. The population of Ontario is about 13 million. This isn't even a national service. It's provincial only.

Besides what appears to be terrible software, you have to wonder about the procurement methods? i.e. How the contracts were awarded, measures to ensure that money is properly spent, protection clauses that ensure that the government gets value for dollar, etc.

To spend that much money on something that small is mind boggling.

<comment><USER11> This happens all the time, massive overpriced contracts to gov cronies of what is essentially just a glorified database [http://www.vancouversun.com/touch/story.html?id=9840193](http://www.vancouversun.com/touch/story.html?id=9840193)

[http://www.techvibes.com/blog/bc-government-scraps- scrap-89-...](http://www.techvibes.com/blog/bc-government-scraps- scrap-89-million-in-school-software-2011-09-19)

</comment></comment></comment></comment><comment><USER12> Not surprised. The Ontario government is probably one of the most inefficient government bodies in the world. Province debt size is twice the size of California, living there is like being in a communist state, can't really expect much from them.

<comment><USER13> If you actually think that and aren't just trolling, would you care to back up your statements?

While the Ontario debt is larger than the California debt, it's not really a fair comparison.[1][2]

And on the communist state bit, uh what?

[1]: [http://www.thestar.com/opinion/commentary/2014/03/21/ontario...](http://www.thestar.com/opinion/commentary/2014/03/21/ontario_is_no_california_when_it_comes_to_debt.html) [2]: [http://blogs.wsj.com/canadarealtime/2014/03/18/ontario- debt-...](http://blogs.wsj.com/canadarealtime/2014/03/18/ontario-debt-looks- much-worse-than-californias-at-first-glance/)</comment></comment>


Ask HN: What are the best Android forums or communities? - <AUTHOR> <comment><USER2> Reddit Android is a good one.

[https://www.reddit.com/r/Android/](https://www.reddit.com/r/Android/)

You can always start your own of course, if you are interested - [http://www.hellobox.co](http://www.hellobox.co)</comment>


50 Things I Did AND GOT ACQUIRED - <AUTHOR> http://www.builtinchicago.org/blog/50-things-i-didand-got-acquired

<comment><USER2> That's a whole lot of buzzwords.</comment>


Python is Slow, and I Don't Care - <AUTHOR> https://medium.com/@nhumrich/yes-python-is-slow-and-i-dont-care-13763980b5a1 <comment><USER2> If your reasoning is productivity above everything, therefore the only solution you can think of is Python, I call BS.

As a Googler, I could relate countless stories of systems that were cobbled together in Python and then scaled up with massive investment, then later rewritten in C++ or Go, and generally ran with 100x fewer resources. Hell, from what I can tell, almost all of YouTube was written in Python and has or is still being rewritten in C++, Java, and Go, saving XX millions of dollars per year of CPU time.

Sure, prototype with Python. But by the time you get to scaling out a huge service, it's probably time that you rearchitected the system anyway, and you should spend the engineering effort to make it efficient.

<comment><USER3> > then later rewritten in C++ or Go, and generally ran with 100x fewer > resources

This kind of story comes again all the time, but the most important detail is always missing: how much of that 100x can be attributed to the language, and how much can be attributed to _now I know the domain better, I know where the pitfalls are, how to model the problem, and when I need to optimize_ ? Because arguably the second one can bring a lot.

<comment><USER4> I've written 1 to 1 (algorithm) code from Python to Rust and seen orders of magnitude performance/ memory difference. This was not a 'rewrite it with lessons learned' this was 'rewrite it as similarly as possible'. It is the language (and runtime).

<comment><USER5> This is why C++ (and maybe Rust, damn I need to learn Rust) will keep existing forever. If cloud deployments make sense, then optimizing by rewriting into C++ also makes a lot of sense, as it provides a continuous direct savings: your bill goes down by a directly quantifiable amount.

</comment></comment></comment></comment><comment><USER6> Honestly the "[dynamically typed scripting language] is much more productive than [statically typed compiled language]" arguments sound like bullshit.

There's just too many things to take into account:

\- the developer's experience with a particular language

\- the developer's experience with the problem domain / understanding of the task / etc.

\- time spent writing the code but also time spent debugging it

\- time spent debugging a few weeks later when it suddenly breaks in production (dynamic typing often fails there)

Really, the most productive language is the one you're most familiar with.

I still use Python and Ruby for various tasks (mostly for scripting, command- line apps, simple services). Their main advantages are their library ecosystems and portability* . But they aren't very good for serious app development. Even when you feel like your business logic is extremely simple, you WILL get that weird null (sorry, None) or completely unexpected exception in production.

* I mean, you can easily run a Python script on, say, an iBook G4 running OpenBSD/macppc, or an old ReadyNAS with Debian/SPARC, or your MIPS home router. I like obscure hardware :)

</comment><comment><USER7> PyPy is mentioned in the article but omitted from the "Lets review some of the main points" summary.

> If Python is your bottleneck (you've already optimized algorithms/etc.), > then move the hot-spot to Cython/C

After "If Python is your bottleneck", I'd just add "then try PyPy because there's a decent chance everything will Just Work and Be Faster." Sometimes you run into portability bugs in your code, other people's code, and sometimes you run into compatibility problems. But most of the time it Just Works.

</comment><comment><USER8> "A company's most expensive resource is now its employee's time. Or in other words, you. It's more important to get stuff done then to make it go fast."

Now take this sentence and apply it to the end user of your software.

<comment><AUTHOR> Maybe I'm daft, but I don't quite understand what your getting at.

<comment><USER9> translated: We dont care if our software runs like crap for you because our time is more important than your user experience.

<comment><AUTHOR> I think your misunderstanding the tone of the article. I mention how the bottleneck is usually not the language. It IS important to optimize, but its important to understand where the real issue is. I later explain that things have to be only "good enough". And I also explain how you CAN optimize python when it IS to slow for your users.

<comment><USER10> From their viewpoint: The biggest cost for the company that implements something is their employees' time, and that's likely true of your customers, as well. Your costs are easily measured by you; the customers' costs aren't. Reading the article, it's a little grating that their costs aren't given the same weight as yours.

From your viewpoint: You've got a large constant X (representing time taken doing something un-optimizable like I/O), a small constant Y (representing the "language multiplier"), and a small constant Z (representing CPU-heavy work). So you've got something like Time=N(X+Y*Z), which for values of Y and Z in your work, means that X is by far the largest timesink.

From my viewpoint: You're talking past each other, imagining different constants. It's also interesting to me that a program is still considered written in "Python" if the interesting parts are actually in C, and called from Python. You make points that I agree with about premature optimization, but I think the way you wrote your article opens it to easy misinterpretation, since everyone will view it through their workloads (which may vary strongly from yours). I would've limited the discussion explicitly to the kinds of use- cases you're thinking of.

</comment></comment></comment></comment></comment><comment><USER11> I've read this exact article at least a dozen times over the last 25 years (replace Python with some other language).

More interesting than the actual content is the question why this topic is of such perennial interest, is it a feeling of inferiority of programmers working in higher-level but slower languages? Or frustration with coworkers wasting time on premature optimization? Probably a mixture of both.

</comment><comment><USER12> A counterexample is Celery when used for things such as network IO. You can't scale horizontally because each process creates a database connection, and you'd need a giant database server just to handle a bunch of network IO. The Celery code would probably have to get its parameters from a cache or somewhere that's not the database, but this breaks their suggested use case of accessing the database models when the task actually executes.

<comment><USER13> I guess you could use a connection pooler like pgpool-2?

</comment></comment><comment><USER14> Most of the comments here contrast python _or_ a faster language. I can't count the number of times I've prototyped a complex algorithm in Python, then, satisfied that the idea was sound, translated it into a faster language for release.

</comment><comment><USER15> You should care. PHP7 cared about speed and it was a success.

Python 3 cared pretty much everything else except for speed and now 10 years had passed it didn't go anywhere.

<comment><USER16> Python 3's long road to full adoption is much more about mishandling major breaking changes than it is about lack of performance optimizations.

<comment><USER17> If Python3 was 5x as fast i can tell you right now that people would be scrambling head over heels to migrate. Instead they are migrating because they no longer have support for their libraries, or because someone said they were a bad person for not keeping up with the latest cool thing.

<comment><USER18> There is a significant amount of people stuck on 2.7 due to platform restrictions; quite a few OSes still under support are using 2.7 as their system Python and there's no incentive to upgrade these systems.

Even if Python 3 was 10x as fast, sysadmins would hesitate to put what's effectively an unsupported version of Python on their systems.

Massive performance increases would help to sway those who have the freedom to move to a different Python without being locked to their system, I agree about that much.

</comment></comment></comment></comment><comment><USER19> Or you could use Common Lisp, and have productivity _and_ performance.

(I know -- the libraries aren't as good.)

</comment><comment><USER20> Speed and Concurrency Matters! Golang has outperformed python in both these areas. If it wasn't for the rich ecosystem for data analysis/ Devops libraries (Scikit, Numpy, Scipy, Ansible) in Python. I would have long moved to Golang.

</comment><comment><USER21> The relationship between the code and the programmer is more important & expensive than the relationship between the code and the computer.

</comment><comment><USER22> not caring about performance destroys faith in projects. if the things we write can't be as performant as we like, we'll use a different language and your project will fade.

pretty simple concept. surprised that people don't understand that.

(mind you, python is about as performant as I like for the tasks I use it for, so ymmv with the above.)

<comment><USER23> I think part of the issue is that Python has been the king scripting language on the desktop. It's been quite successful, and so all these people go "you see, performance doesn't really matter, since Python is succeeding without it".

What they fail to realize is that JS, for instance, can reach about 50% of the speed of C code nowadays. If Python could be that fast, you could use it to write videogames and all other kinds of software that you can't realistically write in Python today. It could displace a lot of C++ code. The poor performance of Python is actually limiting its adoption.

Python has poor performance, and a very poor handling of multithreading, at a time when single-core performance is stagnating. I think it's inevitable that people will start migrating away from it eventually. I mean, if you could have something like Python, but 20x better performance, would you take it?

</comment></comment><comment><USER24> Along these lines, the first major Python project I used I was amazed Python was used. It's a real-time 3D reconstruction system operating on a live video stream. That was ten years ago.

There was some assembly and C at the very core, but every point generated was a Python tulle at one point in processing.

</comment><comment><USER25> I see a lot of concern online about Python's performance, but at the same time I don't see a lot of people talking about things like Iron Python or Jython. Is there a reason these solutions aren't adopted more?

<comment><USER26> Probably in part because of the attitude that performance doesn't matter.

</comment></comment><comment><USER26> From my comment on the blog article:

Allow me to point out some important points of disagreement here.

"Speed no longer matters"

While computers are faster, the expectations of users are also higher. New monitors today have 14,745,600 pixels and that is still growing fast, that is 7 times more than 1920x1080 which was the norm just a couple of years ago. That means for any app involving UI or graphics, you have significantly more work to do. This same trend applies to processing data, as databases are also bigger, complexity and amount of features expected has also increased. To keep up with that you can't throw away cycles.

While computers are faster, many more people are doing computing on small devices like phones and tablets where battery power is a precious resource, and slow code wastes battery life faster.

The cost of scaling server side infrastructure can seem cheap with a naive analysis, but high performance code can not only mean fewer servers or cloud services to buy, but also a simpler architecture. As soon as you have to scale beyond 1 web server for instance, you now also need to worry about load balancing, and a host of other issues. High performing code can keep you on a single server for an amazingly huge workload.

Lower latency has been proven to make money [https://blog.gigaspaces.com/amazon-found-every-100ms-of- late...](https://blog.gigaspaces.com/amazon-found-every-100ms-of-latency-cost- them-1-in-sales/)

Another point of disagreement is the idea that this performance his we take with interpreted Python is completely unnecessary. Exactly the same language can exist in JITted form, and does, and it should be brought up to be the default and only way of executing python. There also exist plenty of similarly nice and expressive languages that perform better (OCaml, F#, etc)

Every day I am annoyed by slow software, and until that stops I will never accept the argument that performance doesn't matter.

<comment><AUTHOR> > Exactly the same language can exist in JITted form, and does, and it should > be brought up to be the default and only way of executing python

Yes, PyPy, Jypthon, etc. exist and they can be faster. If you want to use those, then great, do it! But a JIT is not faster in all cases, only some cases. Python is first and foremost a scripting languages, and for a lot of the simple script cases, CPython is faster than a JIT version. It doesnt make sense to make that the default.

<comment><USER26> Being first and foremost a scripting language doesn't _mean_ anything.

If the argument is that for really short programs the iteration time when building and running is faster with the interpreter, because you don't have to build, I can't see how this matters. It would be a sub microsecond difference for short scripts. If it isn't, make a better JIT. (or even better, native compile it, as all things should be in my fever dreams)</comment></comment></comment>


Ask HN:  Is there a spam filtering web service? - <AUTHOR>

After reading Resig's post about Google Groups, I was wondering if there exists a web service that specializes in filtering out spam.
I would imagine I could create a new filter, send training data to a filter, and send data to a filter and have it return the likelihood of it being spam.
Anybody have first hand experience using a web service like this?  If so, has it met your expectations? <comment><USER2> Well, Google's own Postini does spam-filtering.

I could imagine a setup where you have people send mail to an alias on your domain, route it into Postini, and then into Google Groups. The big problem would be getting users _not_ to send directly to Google Groups. And I'm not sure you'd even be able to tell them (direct vs. filtered) apart in Google Groups...

</comment><comment><USER2> Can someone outline for me the pros/cons of a mailing list vs. a forum?

Except for the registering-over-and-over-again issue, it seems like forums would be preferable generally... (Especially given that most will send you emails with new posts if you ask it to.)

</comment><comment><USER3> Akismet does just this for blog posts.

</comment><comment><USER4> Defensio?

<comment><AUTHOR> Ah, thanks. Any first hand experience using it?

<comment><USER4> Yup, I interface with it using this plugin: <http://github.com/mattapayne/rdefensio>

I've done the integration work, but haven't put it into production, so I can't speak to how well the actual service works.</comment></comment></comment>


Two Borders Execs (CIO & General Counsel) Resign - <AUTHOR> http://www.publishersweekly.com/pw/by-topic/industry-news/bookselling/article/45671-two-borders-execs-resign-b-n-issues-statement-on-special-terms-.html

<comment><AUTHOR> I couldn't fit it into the title, but B&N (major Borders Bookstore competitor) issued a statement as well, pointing out that if Borders is offered special terms, those same terms should be available to other bookstores as well.

</comment><comment><USER2> Does anyone know what it would cost to buy borders or how you would start to evaluate a private equity buyout?

<comment><AUTHOR> Looks like Bennet LeBow and his group beat you to it ...

<comment><USER3> Equity is worth $80 million (and dropping). A buyer would also have to deal with about $500 million in debt, probably repay it.

<comment><USER2> Equity is worth 80 Million. He was able to take control with $25 million when the share price was ~2.5x of what it is today. So for $10 million you could take control. Why couldn't you spend $10 million and then declare bankruptcy canceling all/most debts? Would you be better off letting them declare themselves and then going in and buying the the assets your self?

<comment><USER3> Problem is if borders declares BK, it will wipe out your equity and give control to creditors. If you thought BK likely, better strategy may be to buy debt if you can.</comment></comment></comment></comment></comment>


Why I wish C# never got async/await - <AUTHOR> http://mrange.wordpress.com/2014/05/29/why-i-wish-c-never-got-asyncawait/ <comment><USER2> Async/await makes a lot of asynchronous code easier to write, which is great, but it amplifies some of the mistakes people were already making. The two examples in the post are:

\- Developers won't anticipate that accessing a task's Result property can introduce a deadlock.

\- Developers won't anticipate race conditions due to a concurrent SynchronizationContext.

The problem from the first example actually does happen quite often. There are plenty of stackoverflow questions and blog posts about it. IMO there should be compiler warnings whenever you use Task.Result or Task.Wait. Actually I would prefer compile errors instead of just warnings, and for the implementations of Result and Wait to just be `throw new WHAT_IS_WRONG_WITH_YOU_DO_NOT_BLOCK_ON_TASKS_AAARGH_EXCEPTION()`, but that might be a bit harsh.

The problem from the second example is not really an issue with await/async as opposed to a deeper language issue. Any concurrency mechanism in C# will be vulnerable to the fact that you can define and access shared mutable variables (including the solution proposed in the post).

<comment><USER3> Yield, foreach, LINQ all have many similar problems, compared to a for loop, but nonetheless greatly increase productivity. Given a little time, the devs will learn to use async properly.

<comment><USER2> I agree (and am the person you replied to).

</comment></comment></comment><comment><USER4> Yes, I agree. All async/await seems to be is an abstraction around coroutines. Which is a little baffling, because coroutines are already a fairly standard way to solve this problem, so why introduce this weird async/await syntax and pretend that it's magic to solve "concurrency" in general.

I'm sure I just dont understand it, but hearing about leaky abstractions like he describes in the article just makes me that much more determined to never touch them. Too much magic, expertly hidden inside a closed .net runtime.

<comment><USER5> > so why introduce this weird async/await syntax and pretend that it's magic > to solve "concurrency" in general.

Putting cool technology in the hands of blue collar developers.

</comment></comment><comment><USER6> I really like Grand Central Dispatch on iOS and OS X. You specify a task to run on a background queue or a main queue by passing a block of code. This block of code gets executed while the rest of the program continues. You can have completion blocks so you can respond to the completed task. The syntax is a little weird at first, but it's pretty powerful and I find it to be very explicit. Async/Await always confused me a bit.

<comment><USER7> LibDispatch is actually FOSS, and it kind of works on Linux. Sadly, nobody seems to bother with supporting it in any way, shape, or form.

</comment></comment><comment><USER8> async/await is there to reduce the massive amount of boilerplate code you need to write when doing async. Of course there will be corner case bugs or weird behaviors sometimes, but that doesn't mean it's all bad. If async/await works for most cases, then it's something that's beneficial for a software developer like me.

<comment><USER9> I agree, mostly. I really like async/await but I didn't dare touch it until I read the articles that explain what kind of state machine the compiler constructs and how the synchronization context works. I doubt the average developer would go through that trouble.

I think it's great if you follow standard design patterns but it could be a real source of problems for inexperienced programmers once a race condition emerges.

</comment></comment><comment><USER10> Having recently learned Elixir, I really wonder why the C# people decided to add async/await rather than coroutines (like Erlang processes or Goroutines).

It feels to me like async/await is the malloc of concurrent programming, and coroutines are the garbage collection of concurrent programming. You hand in a little performance in exchange for a _lot_ less complexity. Go has shown you can also do this without only-immutable data.

Am I missing something?

<comment><USER11> Mainly because the CLR and Windows do not support segmented stacks, and supposedly supporting them would be almost impossible while preserving interop with native code.

Without segmented stacks you have to conserve threads, which basically leads to Task and async/await.

Edit: Almost forgot a important part: your COM thread is hugely important to how Windows UI pumping works. Async guarantees what thread you get to run on, where coroutines often just say, "you get the thread that you get."

</comment></comment><comment><USER12> "By studying the output of the TraceThreadId method we see that in ASP.NET/GUI it's the same thread that enters ReadTask and that exits ReadTask ie no problems. When we run it as a Console application we see that ReadTask is entered by one thread and exited by another ie readingFiles is accessed by two separate threads with no synchronization primitives which mean we have a race- condition."

This is not entirely true - the code as written does not have a race condition because the two accesses are run sequentially. Accessing the same variable by two separate threads with no synchronization primitives is actually okay if those two threads never run in parallel. Now, if you called many ReadTask()'s in a row and you had thread_pool > 1 (as in the GUI/ASP.NET application), then you _would_ have a race condition. But if you're accessing a shared variable from a multithreaded context that should be somewhat obvious. It would depend on the programmer's understanding of the async/await paradigm, which I think is the author's point. ;)

</comment><comment><USER13> I continue to find using explicit "Task<T>" types directly more intuitive. I've wedged in ASync/Await here and there to see if I felt good about it, but I never did. I would always find declaring a Task and attaching to it's ContinueWith (or whatever I needed ) to be more to my liking.

<comment><USER14> ContinueWith is fine for simple flows, but things fall apart when you need to perform multiple async operations with the same error handling. You either repeat yourself or you put the error handling code into a lambda and make sure you always pass it along.

Assuming you just want to propagate exceptions, you have to mess with TaskContinuationSource (I.e, promises) and be damn certain you have wired it into all the right places.

Async/await makes error handling much more uniform and "obviously correct" than stringing callbacks together.

<comment><USER13> Exception propagation is one area I have to agree. Still, there was no reason to invent whole new language semantics for that. As far as simple flows, I'll disagree. The Task Library allows for normal workflow operations and your decisions are much more (to me) explicit when you see "WaitAll", "WaitAny" chaining things together.

<comment><USER15> await isn't an alternative to TPL/Tasks, it's a feature that improves a certain common use case of TPL/Tasks. "await foo" means (roughly[1]) "yield and schedule the current continuation to be run on completion of foo". What really requires language support is the "current continuation" bit, which starts to become tricky/convoluted to express directly once control flow comes in.

For any use case other than this there are other tools, such as WaitAll/WaitAny as you say.

[1] [http://stackoverflow.com/questions/4070237/how-could-the- new...](http://stackoverflow.com/questions/4070237/how-could-the-new-async- feature-in-c-sharp-5-0-be-implemented-with-call-cc/4071015#4071015)

<comment><USER13> Noone suggested it was not built on top of Tasks.

I make it a rule never to question Eric Lippert, and I won't do so here. That said, right, the current continuation bit requires IL foo, but as the ones writing the code, there is always a way _besides_ needing the current continuation bit.

And if you're going between languages much at all, Tasks are a lot more like promises and other paradigms in other languages. Whereas the whole await business is just... weird.

</comment></comment></comment></comment></comment><comment><USER16> The solution to deadlocking is using async all the way down - i.e. don't use .Result. you can also tell C# not to resume on the same context after an async call by using .ConfigureAwait(false) on the tasks, thus preventing two locks on a context, and the deadlock.

The author states two threads accessing a single resource is a race-condition, but that's only true when the threads are competing for that resource - in the case outlined in the article, it would be sequential, and only one thread would be accessing the resource at one time. No race condition.

I think it's not too wise to think of async/await as a special coroutine which never uses multiple threads, but as an easy way to write synchronous code and have it execute asyncronously. If you need fine control over what threads are used, maybe you're better off controlling it manually.

</comment><comment><USER17> Is it really a problem that you have to be explicit in where you begin the top of the async/await operation? You can't just start the calls at a random point in code where you don't understand the threading situation and expect to get consistent results.

</comment><comment><USER18> How does F# or C# async compare to GCD on Objective-C / Swift ? Is it similar?

<comment><USER2> C#'s equivalent of GCD is, very roughly, Task. You can create tasks that compute results on the thread pool, give them continuations to run after, etc.

Async/await is an abstraction on top of tasks, where you write code with do- while loops and try-catch and it gets translated into GCD-esque continuation- using code. It lets you write the asynchronous code in an imperative style, so it looks more like the rest of the code you write in C#.

</comment></comment><comment><USER19> The analogy to COM apartments is completely to the point. In fact, if you look at the PPL header files for C++/CX you will notice that the PPL system explicitly refers to COM apartments. Since IAsyncAction and friends can be used from C++/CX and .NET alike they are actually sharing very much of the same principles.

</comment><comment><USER20> C# already has basic support for computation expressions which they implemented to support LINQ and later extended for DLR, but I cant see why they couldnt extend it further for async tasks.

</comment><comment><USER21> Just use F#</comment>


Ask HN: What do you do during the dead time while programming? - <AUTHOR> All those times, when you need to wait a couple of minutes to build / compile stuff, but starting to work on something in between is not worth it / impractical, but still - you don't want to get completely distracted, so you can jump right back quickly - what do you do? <comment><USER2> I typically use the time to write - my thoughts, ideas and notes of all sorts - which are directly or indirectly relevant to whatever it is I'm working on at the time. That's how I find problems worth solving. There are opportunities hiding in everything we do every day. All it takes is a portion of our time dedicated to thinking and synthesis of information from various sources.

</comment><comment><USER3> flip to an open HN tab, I used to flip to reddit, but I've blocked reddit now - wasted to much time.

<comment><AUTHOR> in fact, this thread was a product of dead time

</comment></comment><comment><USER4> I waste time by drawing, browsing HN or (more recently) dev.to.

<comment><AUTHOR> I have a hard time reading anything on dev.to TBH, I find it's way too pop- culture-unicorns-everywhere for how pragmatic programming is (should be?) in its essense

<comment><USER4> I like the community-driven development of forem, but aaaall those posts about only nodejs stuff are starting to be boring.

Like if webdev is nodejs only. I struggle to find anything good about django :/

<comment><USER5> Was in the same boat about Django online. The current community forum is pretty good, and I'm also subscribed to Django News for the regular updates. Really good resource. [https://django-news.com/](https://django-news.com/)

Edit: And the Django Chat podcast is really good too

<comment><USER4> In fact, I discovered Django News when they included a package I created ([https://django-news.com/issues/30](https://django-news.com/issues/30) − at the bottom of the page) :D

Now, I subscribed to their newsletter (and to their dev.to account too).</comment></comment></comment></comment></comment>


Ask HN: What were Stakeholders called in the '80s? - <AUTHOR> <comment><USER2> My memory is that idea of a stakeholder did not exist in its current form for most of the 80's. The meaning of the word stakeholder has been recommissioned to include people who have no direct financial stake in a policy, development or business, but find themselves affected by the action anyway.

I think it was fairly common to give little thought to ramifications of policy, development or business plans beyond the immediate financial concerns or desired policy outcome. For instance the pipeline in North Dakota might have included a single public hearing with only a few people in attendance, perhaps the local land owners in the pipeline's path, and very likely little to no indigenous people's input. Very likely it would not have occurred to anyone to contact them and they otherwise would not be aware of it. My father was on a town council of a small town in the Midwest and lots of development went on with little or no input from the town. Sometimes they had hearings where no one would be in attendance, sometimes they didn't even have a hearing. Lots of wetlands and marshes were plowed under and filled without any deliberation.

</comment><comment><USER3> They were called "stakeholders" then, too (at least in the late 80s). The concept is not new.

There were very serious discussions, especially after the crash of 87, about the ethical balance of looking out for the stockholders (often seen as focused on the near term and often contrary to stakeholder interests) and the stakeholders (often seen as focused on the long term and _perhaps_ not in the best interest of the stockholders).

Why do you ask?

</comment><comment><USER4> Why? Are you writing an episode of halt and catch fire?

</comment><comment><USER5> Maybe "interested parties"?</comment>


Suicide of an Uber engineer: Widow blames job stress - <AUTHOR> http://www.sfchronicle.com/business/article/Suicide-of-an-Uber-engineer-widow-blames-job-11095807.php#photo-12784362 <comment><USER2> There is a pervasive brain-washing in valley startups that hits employees the hardest sadly. In my experience, the more successful ventures tend to propagate fear, anxiety and aggression in their culture almost as an unspoken point of pride. I've seen organizations led by all sorts of alleged valley legends fall into this category, regardless of how enlightened HR is.

Some of this may come from people overly identifying with their work roles - and when those work roles come with a mild hero complex due to rising success and the promise of riches/prestige - egos thrash around at high speeds. Part of this phenomenon is the almost manic behavior you see in some entrepreneurs/investors/leaders as they buzz around like bees to the honey.

People need to take a step back from this capitalistic bubble and remember that we are here to do jobs and that employers must respect not just time boundaries but psychological boundaries as well. We can do great work and produce tools that have real impact on the social and economic welfare in the world, but never, never, never at the cost of our wellbeing.

Very sad what happened to this fellow.

<comment><USER3> Startups seem heavily incentivized to grind their employee's lives into dust while maintaining plausible deniability, though. (Plausible deniability in the form of free lunches, foosball, etc.)

<comment><USER4> So what do you do if your life got ground to dust and then you lose the job for performance? Asking for "a friend".

</comment></comment></comment><comment><USER3> That's terrible. In my experience, work stress is awful enough on its own, but the knowledge that you need to provide for a spouse and perhaps a family really compounds it. You can't just quit. It feels hopeless.

</comment><comment><USER5> previously: [https://news.ycombinator.com/item?id=14194112](https://news.ycombinator.com/item?id=14194112)</comment>


The Psychological Price of Entrepreneurship - <AUTHOR> http://www.inc.com/magazine/201309/jessica-bruder/psychological-price-of-entrepreneurship.html?utm_content=buffer956c5

<comment><USER2> Had a pretty nasty bout with this earlier this year (if anyone is interested, I could post more) when our runway ran out--it's fucking horrifying if it happens.

One of the biggest problems I had was that there simply is no useful roadmap for this region. If you're a doctor or engineer, schooling is hard, residency is brutal, but society knows what you're going through and almost anyone can provide moral support or at least have a frame of reference. Parents know how to help kids that grow up to be doctors.

Entrepreneurs, though, especially in tech and especially in cities without large communities with experience have a rough road to hoe: most people don't even understand what your business is (assuming, even, that _you_ understand your business), and furthermore don't get how much it sucks having the thing on your shoulders.

"You get to be your own boss? That's awesome!" but management can still be terrible, right? And there's no benefits, and no salaries, and mostly just work.

"When're you getting funded?" people ask, but they either don't know or pointedly ignore that it _just isn 't that simple_, especially if your local investing community is aloof and out-of-touch and useless.

So, you bootstrap, yay, but now you're burning through funds you and your cofounders may or may not have. That has a price too, and the only advice you get is "hey, maybe get a job or take on client work" but that also ignores the fact that that takes away time from your startup and can also lead to its own complications.

When you stop eating out, when you stop leaving the house, when you sleep during the day when you finally pass out and wake up in the afternoon to watch the sun set, when you do all the things that are the stigmata of being a young tech entrepreneur, nobody is there to tell you that it's okay or not okay, that what's happening is normal or not normal.

You lose your bearings, you lose the telltale signs that you aren't going mad, you become adrift as only someone obsessively focused on a single product can.

It gets harder to talk to normal people, too. They bitch about their jobs, and you wonder why they don't just quit, and they wonder why you'd try something as crazy as you are. You are either pitching and hyping your project, or trying to sell customers--you don't socialize as such anymore, because you don't have the time or resources to.

It can get pretty gnarly, pretty quickly. :(

<comment><AUTHOR> That definitely sucks... but being employed, unemotional and doing same stuff day to day sucks even more... it kills you from the inside. Hope everything goes well with your company now!

<comment><USER2> New company (farther along startup, funded, and doing great work) is a lot less stressful. I basically view it like a paid vacation where I can focus on engineering and tech instead of the howling vortex of crazy that is business and sales. :)</comment></comment></comment>


Dissecting WannaCry - <AUTHOR> http://gerbilnotes.blogspot.com/2017/05/dissecting-wannacry-blog-by-gerbil-wcry2.html <comment><USER2> Nice.

> _Something but probably nothing dumps:_

> ...

> _004074CB - function call with arg WNcry@2o17_

Ah, he got one of those binaries.

Almost every binary in the wild is using the above string as the default password.

</comment><comment><USER3> Interesting that Ruby was targeted (.rb), but not Python (.py).

Also odd that .m4a wasn't targeted, while .mp4 was.

</comment><comment><USER4> This is blocked by my work's security filter. Is there a mirror?

<comment><USER5> [https://web.archive.org/web/20170523150125/http://gerbilnote...](https://web.archive.org/web/20170523150125/http://gerbilnotes.blogspot.com/2017/05/dissecting- wannacry-blog-by-gerbil-wcry2.html)</comment></comment>