Florida Classifies Uber Driver as Employee, Says He Is Eligible for Unemployment - <AUTHOR> http://www.buzzfeed.com/johanabhuiyan/florida-agency-classifies-uber-driver-as-employee-says-he-is#.ppKMwvNmdb <comment><USER2> From the IRS: "You are not an independent contractor if you perform services that can be controlled by an employer (what will be done and how it will be done). This applies even if you are given freedom of action. What matters is that the employer has the legal right to control the details of how the services are performed."

<comment><USER3> > _What matters is that the employer has the legal right to control the > details of how the services are performed._

You can't just pick _one_ bullet point and imply it's an open & shut case. It's a _combination_ of factors.

If parents contract a painter to paint a mural in a child's bedroom and says specifically:

\- I know you prefer acrylic paints but I specifically want latex paint

\- I know your website portfolio had examples of light blue but I specifically want Pantone #2945 dark shade of blue

\- I know you prefer to work 9-5 but I need you to work onsite from 5pm to 9pm because that's when I'll be home from work and can give live feedback as to how it's done

\- I know that if I leave you to your own judgement, you'd prefer to paint Greek & Roman nudes but I need this room to be rated G so if you can paint a depiction of Mickey Mouse fighting Batman, that's what I'm looking for.

\- ... and so on...

The homeowner can be excruciatingly specific about how & when the work is exactly performed but most reasonable people will not insist that the painter is an "employee." It takes more factors than just control of the work method.

Maybe Uber's combination of _other_ factors _does_ ultimately mean drivers are employees but your extraction of one IRS guideline is not convincing.

<comment><USER4> Right - the parent / painter job is going to fail on the "ongoing relationship" part of being an employee - once the painter has painted the room they go off to another job.

Uber on the other hand, definitely has an ongoing relationship with their drivers, as well as specifying how they work in fairly detailed ways.

<comment><USER3> >Uber on the other hand, definitely has an ongoing relationship with their drivers,

But Uber drivers can also have _simultaneous_ business relationships with Lyft, _and_ be a NY taxicab driver, _and_ offer driving services on Craigslist, etc.

Employers such as Apple Inc or Microsoft would not tolerate an employee working simultaneously for Google Inc.

The folks contending Uber drivers are employees have valid points. However, Uber also has valid bullet points that the drivers are contractors. I don't know which way the scales tip. I guess all this dialogue in the media, the local governments, and maybe the IRS is trying to sort it out.

<comment><USER5> I can work at McDonalds in the mornings and Burger King at night.

<comment><USER3> And does the worker at McDonalds and/or Burger King bring his own grease fryer, bun warmers, and soda dispensers?

In contrast, Uber/Lyft drivers own/lease their own cars. Who provides the equipment to do the work is also another IRS factor.[1]

And btw, I don't think sniping with one liners that biases one viewpoint is quality discussion.

[1] see item #14: "FURNISHING OF TOOLS AND MATERIALS."

[https://www.mdc.edu/hr/Operations/AFS/IRSFactorTest.pdf](https://www.mdc.edu/hr/Operations/AFS/IRSFactorTest.pdf)

<comment><USER6> Pizza delivery drivers bring their own vehicles and are still considered employees.

<comment><USER3> The actual product is arguably the "pizza" much more so than the "driving" evidenced by the fact that customers themselves will sometimes drive to Papa John's or Dominoes to pick up their own pizzas. In that framework, the standard would be for the pizza driver to also provide his own pizza dough, pepperoni, and baking ovens. If the pizza companies eventually figure out how to use flying drones to drop off pizzas and eliminate drivers, I'm sure the customers would be fine with it. The customers weren't really "buying the driver"; they were buying the pizza with the convenience of delivery.

With Uber/Lift, the "driving" itself is 100% the product.

And why does the discussion continue to be "one bullet point" at a time instead of a _combination_ of factors?

If parents provide _all_ the equipment & materials for the babysitter (infant formula, diapers, toys, Walt Disney DVDs, etc) along with the premises to do the work (the parents' home), does that make babysitter an employee?

If a dog owner provides the leash, the pet treats, and the back yard for the pet sitter to walk and exercise the dog, should the pet sitter be classified as "employee"?

Is it one factor or a _combination_ of factors?

<comment><USER7> No I think you're wrong there.

The job description for a Pizza Hut driver is to drive no different to an Uber driver. Whether they are delivering pizza or people is irrelevant. It's all about the nature of the work.

<comment><USER3> >It's all about the nature of the work.

No, it's _not_ _all_ about the nature of the work. Again, that's just applying one-dimensional criteria. To re-emphasize: is the employee/contractor classification just one factor or a _combination of factors_?

The concept of "driving" does not automatically mean an "employee" relationship. Many (probably most) 18-wheel truck drivers are independent contractors. Many drivers of tour & charter buses are subcontractors as well. Those charter bus drivers transport people like Uber drivers too.

Likewise, the "nature of photography work" does not instantly categorize it as employee vs freelancer. Sports Illustrated had some staff/employee photographers. But National Geographic has freelance photographers.

Another most obvious example to HN would be the existence of both contract and employee programmers.

It isn't just about the "nature of work".

It isn't just about who provides the equipment.

It isn't just about who decides the hours of when the work is performed.

It's isn't just _one_ criteria.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> The elephant in the room is that the tech industry is FULL of companies who are using contractor status to shift tax burden and avoid paying benefits. Almost nobody ever calls this out and those who do are likely to get blackballed.

If Uber is hiring drivers and treating them as employees while classifying them as contractors, that isn't special to Uber, it's just the application of the tech industry's way of doing things to taxi drivers.

<comment> floody-berry Companies like Uber are much worse than that. They're a glorified web app profiting off of hundreds of thousands of people who do all the work and bear all the risk while the only people getting rich are the scum at the top and their reprehensible backers.

Uber, Airbnb, etc. should make their slogan "Loopholes 101: Exploitation on a global scale. You do the work, we make the money. Fuck you, we don't care!"

<comment><USER9> Your comment is filled with vitriol -- did you something happen to you? Why would Uber drivers be getting "rich" anyway? A decent living might be possible, but I don't think driving cars is valued as much in the economy as those creating jobs, nor should it be. And to say Uber bears no risk is completely false--people invested money into Uber without any guarantees. And I'm not saying that these companies are without criticism or that they don't exploit workers. I'm just more baffled that alternatives haven't come along to disrupt them -- say a completely open, peer to peer network of drivers using open source applications that get paid through Square, Stripe, etc.

<comment> floody-berry Why would something need to happen to me to point out exploitation? Uber and Airbnb make money off people breaking the law. They exploit hundreds of thousands of people wanting to make a little extra money so that they can make a lot. They and their investors deserve to be singled out and condemned. That this _doesn't_ happen regularly should be more shocking than pointing it out in less than diplomatic terms.

<comment><USER9> > They exploit hundreds of thousands of people wanting to make a little extra > money so that they can make a lot.

Turning a profit does not automatically equal exploitation. How do you think companies create new jobs or make capital investments? You must think that profits are direct-deposited into the CEO's bank account, and never re- invested into technology, new jobs, or into open source software that benefits the community.

And I don't think you should be using the word "exploit" so freely. Look at the sweat shops making designer clothes--that's exploitation. Taking a transactional fee off a house rented on Airbnb?--I don't think so. What was that house doing before Airbnb? It wasn't generating any revenue. Renters were not depending on that as a primary source of income. Save your outrage for real exploitation.

</comment></comment></comment></comment></comment><comment><USER10> In Canada a similar argument could be made [http://www.cra- arc.gc.ca/E/pub/tg/rc4110/rc4110-e.html#worke...](http://www.cra- arc.gc.ca/E/pub/tg/rc4110/rc4110-e.html#workers_employment_status)

</comment><comment><USER11> I never see anyone discussing whether the IRS should change its classifications based on the world be live in now, as opposed to when they created those rules.

</comment><comment><USER12> this is important. The law in the US as to whether one is an employee or an independent contractor is quite clear. Look up the "twenty factors"; sometimes they're referred to as the "twenty questions".

Among the factors is who shoulders the financial risk. If it's not possible for you to lose money, that's one of the factors that qualifies you as an employee.

Your title or contractual relationship have nothing to do with it.

<comment><USER13> Uber drivers buy a car, pay for insurance, gas, etc, and certainly run the risk of losing money. They also have total control over their time and work. They can switch on or switch off anytime they like, and choose whether to accept each ride request.

There are lots of reasons to criticize uber. Classifying the drivers as contractors isn't a reasonable one.

<comment><USER14> I agree that "classifying the drivers as contractors is not a reasonable _criticism_ " of Uber. But strictly in terms of the operation of classification, they are in a somewhat grey area. In my opinion, on balance, Uber drivers are more like ICs than they are employees (and by a very wide margin). The problem is the 20 point test is totally ridiculous and doesn't give clear guidelines as to how much to 'weight' each of the criteria and thus gives great leeway for anyone to make a 'strong' claim in either direction by selectively ignoring the points that don't fit their preconceived opinion.

<comment><USER15> The federal tax code has to work for literally hundreds of millions of people and billions of situations. The presence of grey areas is a design feature not a bug, IMO.

Yes, it can be annoying and frustrating to not know with a bright line test of executable English law code the outcome, but I can only imagine how much worse it would be if we tried to reduce every situation down to exhaustively testable 0/1 pure-white/pure-black codification.

The disambiguation is lazily evaluated (sometimes at significant expense) by the tax courts, or you can request an evaluation ahead of time in a private letter ruling (at very reasonable expense). I believe this is still better than eager/greedy evaluation of all situations.

Almost irrelevantly, I also think that Uber drivers are significantly more ICs than employees.</comment></comment></comment></comment>


Pushing Swift to the Server - <AUTHOR> https://www.skilled.io/u/swiftsummit/pushing-swift-to-the-server <comment><USER2> For Swift on the server you only need an editor like Sublime, Atom, or whatever suits your fancy. That's it, nothing else. Get one of the most popular frameworks like Kitura, Vapor, Perfect, Zewo or the dozens of smaller ones and be ready to deploy to Heroku, Bluemix, AWS, Google Cloud, Digital Ocean in no time.

It is that simple, tested, proven, it works, it simply works. In just a couple of weeks I developed a couple of apps in Swift and they're up and running unattended:

[http://swiftforums.herokuapp.com](http://swiftforums.herokuapp.com)

[http://pokerduel.herokuapp.com](http://pokerduel.herokuapp.com)

Repos here:

[https://github.com/kuyawa](https://github.com/kuyawa)

And the fact that you can also develop for the desktop, mobile, tablets, watch, TV and IoT in one language is a huge advantage.

Swift is here to stay.

<comment><USER3> you always need at least compiler/interpreter to execute your code... unless write bytecode in your editor

<comment><USER4> Yes, but you don't need a compiler/editor, you can separate those.

<comment><USER3> If your editor is your compiler, then something is seriously wrong.

</comment></comment></comment></comment><comment><USER5> Wow. That "same language connected by an interface schema would have prevented Mars mission loss" thing is a _really_ thin stretch.

<comment><USER6> This submission reminds me of "Satirical hacker news post"

""" The Muskonauts figured out why their shit exploded. Hackernews, literally all of whom are actual rocket scientists, wonders if unit tests could have helped. """

Also conveniently forgetting that Computer Scientists are yet to solve types <===> physical dimensions mapping in practical programming language.

[https://hackage.haskell.org/package/dimensional](https://hackage.haskell.org/package/dimensional)

<comment><USER7> F# units of measure are pretty cool - types for units!

</comment></comment></comment><comment><USER8> Is Swift on the server a good idea? I don't own (or plan to own) a Mac. Does Apple support cross-platform tooling? I honestly don't know, but given their history, my default assumption is to be skeptical.

Why would you choose this over Go or Rust? (Rust is totally sweet for server dev, and I've spun up a few Rust servers for things.)

<comment><USER9> While Swift will compile on different backends now, XCode is still the premiere Swift dev environment and will be for a good while. So a non Mac Swift dev won't be having a great time.

The target market is really iOS devs who want the same language on the back end.

That's a perfectly reasonable engineering goal for an iOS-first shop.

But they're a vocal group and like to hype up server Swift as the next big thing for everyone. That's just not going to happen.

<comment><USER10> [https://www.jetbrains.com/objc/](https://www.jetbrains.com/objc/)

<comment><USER11> AppCode only runs on macOS and requires Xcode to be installed. It's no help to people who aren't running macOS.

</comment></comment></comment></comment><comment><USER12> Swift is fast and the language is nice and all, but this feels more like propaganda. Let's not forget IBM and Apple have become friends recently.[1]

I really don't see Swift becoming a popular full stack solution outside of environments invested in iOS and macOS.

Swift can indeed _run_ on a multitude of systems but that doesn't mean it's a good option. For example it's not even close to being ready for Android. It can run, but that's it. Other than that you are on your own. No UI libs, nothing.

This leaves you with iOS if you need to run on mobile which is extremely restricted. Want to freely distribute an app among your colleagues on the lab? Fuck you. You have to do all sorts of acrobatics with testing devices, provisioning certificates, etc.

In Android you just compile an .apk and send the link to your colleagues to install it, like in any other platform on Earth except iOS. Even macOS.

[1] [http://www.apple.com/ipad/business/work-with- apple/ibm/](http://www.apple.com/ipad/business/work-with-apple/ibm/)

<comment><USER13> > _Swift is fast and the language is nice and all, but this feels more like > propaganda. Let 's not forget IBM and Apple have become friends recently._

Let's not forget it. How does that make presenting their product propaganda any more so than any other product presentation? Heck, they even use it themselves for their backend.

> _I really don 't see Swift becoming a popular full stack solution outside of > environments invested in iOS and macOS._

Doesn't Apple becoming friends with IBM ensure that it will be used at least by many IBM customers? Which is quite a large potential base (and not all are happy for how Oracle moves with Java).

I also don't see why a top notch, statically compiled, very fast language, with automatic memory management, and support from a huge vendor AND a huge community AND open source, wont catch up.

> _Swift can indeed run on a multitude of systems but that doesn 't mean it's > a good option. For example it's not even close to being ready for Android. > It can run, but that's it._

That's because the work for porting properly there hasn't been done yet. But it's more or less the same with Google's own Go, which is much older than Swift, Rust, D, etc.

<comment><USER12> > How does that make presenting their product propaganda any more so than any > other product presentation? Heck, they even use it themselves for their > backend.

There is that aspect, sure.

But what I wanted to point out is the irony of IBM promoting Swift since there isn't really any obvious advantage of using it full stack unless you are using iOS. Which happens to be the product of their new friend.

That is all.

<comment><USER10> IBM has already ported Java over to the z Systems platform. So why is them also supporting Swift a bad thing here?

<comment><USER12> I'm not saying that's a bad thing.

What I'm saying is that moving to swift full stack is only beneficial if you are using iOS or macOS on your clients.

</comment></comment></comment></comment></comment><comment><USER14> IBM, the purveyor of Rational/Websphere suite of Java tools and appservers talking about Java memory usage is sign of changing times. I hope they do better job this time with Swift tools and frameworks.

<comment><USER15> The times are changing, hence why Java 10 has better support for some form of value types, improved generics, JNI replacement and AOT compilation on its roadmap.

<comment><USER14> All good stuff. But I have heard JNI is already multiple times faster than Go's cgo stuff so I wonder what could be improved there.

<comment><USER15> According to Mark Reinhold, Sun designed JNI to be hard on purpose, to discourage developers to write native code.

He has repeated this a few times at his JavaONE presentations, a bit hard to track down which ones.

Thanks to the work of Charles Nutter on adding FFI to JRuby, and the pressure from FinTech to improve Java's mechanical sympathy, a new project was started, project Panama, where binding to native code from Java should be something like P/Invoke on the CLR. Similarly calling into Java APIs from native side should have less ceremony setting up what to call.

Additionally there should be a standard support for integrating GPGPU into Java.

As it was deemed too complex to be ready by Java 9 timeframe, it ended up being scheduled for 10+ roadmap.

For the latest status check "Going Native" at JVM Language Summit 2016.

[https://www.youtube.com/watch?v=JR1zI5gLhRM&index=13&list=PL...](https://www.youtube.com/watch?v=JR1zI5gLhRM&index=13&list=PLX8CzqL3ArzUY6rQAQTwI_jKvqJxrRrP_)

<comment><USER14> Interesting talk. Go folks also probably want cgo similarly difficult to use. Though for them I guess it will work, as they have already written compiler/GC/runtime/ssl etc in Go plus some asm.

<comment><USER15> I never understood why cgo was an option instead of doing what most languages do.

The only reason I see, was having an easier way to parse header files.

</comment></comment></comment></comment></comment></comment><comment><USER16> I recently rewrote a server that I had in Kotlin and really happy with the results. With this I am pleasantly surprised! I already liked the syntax, and now it gives me another reason to try it out. I am not sure though how would it compare with Go.

</comment><comment><USER17> I'd be interested to know if any developers are investing in swift outside of the Apple ecosystem. Given that the language still seems to be in flux (the v2 -> v3 transition didn't appear seamless), why would you pick it?

</comment><comment><USER18> Why? Why choose Swift over a language with an established framework ala python, ruby, ASP.NET, Node.js ?

<comment><USER19> Speed, types, etc.

<comment><USER20> Python, Ruby, maybe.

Node.JS with Typescript or ASP.NET with C#/F#... I doubt it :)

<comment><USER19> Compiled langs are usually somewhat faster than node also, see golang, etc.

</comment></comment></comment></comment><comment><USER21> No, I don't want to share models between the client and the server. I want an API dependency between them, a code dependency is actually worse.

Why should the frontend change when the backend changes it´s abstractions? I want to change them independently, because they have different constraints and dependencies.

If you are implementering your database schema in the frontend, you´re doing it wrong.

An API is a view against a domain, which in turn is an abstraction above the database. However the client is not aware of the entire domain and shouldn´t be.

Only thing that is a good idea to share is the domain language and the API interface, but can be solved easily by other means than share code base.

And as soon you throw in another client with an other programming platform, all the benefits is lost anyway.

<comment><USER22> I completely agree with the general point, however at the minimum this lets client and server share the same exchanged models ( what the server sends to the client is defined once, as well as the opposite).

There may be technologies like protobuf to define those structures in one place, but i can still imagine there are cases where it could be useful ( business rules and validation, etc).

<comment><USER23> Yeah, the most obvious benefit is being able to share validation logic across front-end and back-end. All validation is necessary on the back-end for security reasons, but it's convenient for users if it also happens on the front-end, because they don't have to send data to the server before finding out it's invalid.

</comment></comment></comment><comment><USER24> This repo demonstrates deployment of the Kitura web framework using Node.js and Now.

[https://github.com/aranajhonny/now-swift- example](https://github.com/aranajhonny/now-swift-example)

</comment><comment><USER25> How many projects really have just an ios client? If the argument is to have the client and server the same language then isn't that also an argument for a Java android & Java server?

</comment><comment><USER26> It looks like we're getting Swift EE before Go EE.

</comment><comment><USER27> Perfect team is writing an article for Native iOS and Android development using Swift. To be release soon.

</comment><comment><USER28> Ctrl-f for "So,". 24 results.

You can sound much more professional and less juvenile by dropping the "So," prefix when you speak or write.

<comment><USER29> Wow! I was shocked to see no matches for "also", et al.

</comment></comment><comment><USER30> Why. Seriously. Why. Whatever happened to _domain-specific_ languages.</comment>


Google: Changes Coming To G+ This Week - <AUTHOR> http://www.computerworld.com/s/article/9218303/Google_Changes_coming_to_Google_this_week

<comment><USER2> Changes I'm looking forward to:

* Integration with Google Reader.

* Group chat (why is Huddle a mobile-only function?).

* Photo/screen-sharing (like the youtube sharing) in Hangouts.

* More granular control (I'd like to see my stream minus the Following Circle, since that's all the people I actually know or have met IRL).

* Finer control over UI (I'd like to be able to see my Following Circle with the comments collapsed by default, so it's easier to scan for content).

* "Places" (blog post: [http://blog.byjoemoon.com/post/7072771434/a-new-metaphor-for...](http://blog.byjoemoon.com/post/7072771434/a-new-metaphor-for-social-networking))

Just off the top of my head.

<comment><USER3> It'd be awesome if they could integrate it with Calendar for events/RSVPs etc.

</comment></comment><comment><USER4> _"There should be a private messaging option in G+," said another user._

Love this. There is a private messaging option (it's email) but people are trying to replicate Facebook with a Google logo on it.

Will that help or hinder it's growth?

<comment><USER5> Not only that, but you can make a post that has only one recipient. Private messaging is a special case of "I can send this post to specific recipients." Facebook's private messages exist as a separate thing in part because of how hard it is to control the audience of your Facebook posts.

<comment><USER6> Except there's no good 'record' of private posts you've received. If someone sent me something a week ago that I want to refer to, it's a bitch to find it again. This is why I'd rather see some gmail integration, essentially Facebook messages backed by your real gmail account, but with a simpler, prettier frontend integrated into G+ when you just want to fire off quick messages without context switching out of G+.

<comment><USER5> Sounds like a search problem. A thousand +1s for adding search.

</comment></comment></comment></comment><comment><USER7> I'd like to see:

* filtering options for the main stream - at the very least be able to choose circles to include/exclude

* a "muted" stream (then I'll quickly mute the 90+% of the stream I find of little interest - but can still access or unmute if I want to)

* Something similar to facebook groups. I know this can be done elsewhere (Facebook Groups, Ning, reddit, etc.) but Google+ has the potential to integrate small groups into my daily workflow. More importantly, there are many people I know only because of a specific interest - and I'd like to only interact with them on that specific interest.

All 3 of these specific suggestions are under the same umbrella: reduce noise while engaging in more meaningful conversation and information sharing on topics I care about.

</comment><comment><USER8> I would love to be able to flag a post as public but also only make it appear in specific circles streams.

My Google+ followers are mostly migrated from Twitter and they are mostly technical users with a lot of JS background.

This means I don't want to spam them with "funny" pictures or one-off comments about strange stuff, maybe even local to where I live. I DO want to post that stuff to my coworkers though as they are at least moderately interested and posting it to Google+ is less annoying than email for all of us.

I can already limit these posts to the "Coworkers" circle, but that means that the post is now not public any more. People looking at my profile don't see it. I can't link it directly and when a recipient decides to reshare, they get a (otherwise well-meaning) warning, even though the post is totally non- private - I just didn't want to spam my JS followers with that.

This is a shame because with Google+, I finally found an outlet where I can post stuff for the various groups of people without spamming others.

</comment><comment><USER9> They aren't saying what changes, just that there will be changes? To a product that isn't launched yet?

Isn't that a bit of non-news?

<comment><USER10> Yes, but since sites like Hacker News have been dutifully advertising Google+ non-stop since it came out, Google can release non-news and have it covered like it's news.

</comment></comment><comment><USER11> Not sure how it would look, but lately I've been seeing blog-type posts on G+ pages, so it would be cool to see support for Markdown-like syntax.

</comment><comment><USER12> > "There should be a private messaging option in G+," said another user.

Isn't that what email is for?

<comment><USER13> Yes, I think you're right. Google just needs to integrate it better with gmail, possibly add a mail icon on the users' page and when clicked the user can be taken into the gmail interface.

</comment></comment><comment><USER14> "'It would also be great if I could put circles within circles,' wrote one user.

This would be pretty mega. Covers A LOT of bases.

</comment><comment><USER15> Welcome to All Changes.........</comment>


How to stay anonymous online - <AUTHOR> http://thejeshgn.com/2012/04/10/howto-stay-anonymous-online/ <comment><USER2> The article contains several oddities.

\- The author recommends Linux, and then suggests TrueCrypt. TrueCrypt is OK if you only use encrypted containers, but it can't do full-disk encryption on Linux. This makes TrueCrypt very limited as a tool for hiding your online activities.

\- Again, screenshots of Linux side-by-side with recommendations of Windows antiviruses. Either make up your mind, or please keep things organized by OS!

\- JavaScript is not a binary application (at least not yet), and unlike Flash, it always respects your browser's proxy settings. As for VBScript (shudder), just use any non-IE browser.

\- Recommend NoScript but not AdBlock? (I'd add Ghostery to the list.)

</comment><comment><USER3> Some of these don't make sense to me. I don't get how people use NoScript; how can you use a browser without JS by default? Also, why would someone blog and post pictures while trying to remain anonymous, that seems counter-intuitive. Finally, Chromium > Firefox for open source.

<comment><USER2> > _Chromium > Firefox for open source._

Why? Both are open source. Or did you mean to say that although both are open source, Chromium is a better browser overall?

As for why someone would want to blog while staying anonymous, think of political dissidents in oppressive regimes or people who are tying to hide from an abusive ex-partner. As long as you use a free service and don't post anything that identifies you, I don't see any reason why blogging can't be done anonymously. Pictures are trickier, and you definitely don't want to post picture of yourself. But something like pictures of flowers in your garden might not be traceable back to you.

</comment></comment><comment><USER4> I'm disappointed the article made no mention of ISPs. What are my options when looking for a privacy-friendly ISP?</comment>


Techniques for dealing with lack of motivation, malaise, depression [video] - <AUTHOR> https://www.twitch.tv/videos/179790723 <comment><USER2> Here's the YouTube mirror, since Twitch VODs often have janky buffering problems in my experience:

[https://www.youtube.com/watch?v=i7kh8pNRWOo](https://www.youtube.com/watch?v=i7kh8pNRWOo) \+ [https://www.youtube.com/watch?v=ECwHZlvvVH4](https://www.youtube.com/watch?v=ECwHZlvvVH4)

<comment><USER3> Do they still? I watch a fair bit of Twitch, but never live. It used to be pretty bad, but since Amazon the player quality has improved dramatically.

Only time I have issues now is when I pop into a VOD of a stream in progress, and have to keep refreshing as the video gets longer.

<comment><USER4> Ahh, the stream listings often don't load and the entire video infrastructure goes down from time to time. Any VPS provider could give you better reliability. IMO there's a code issue, likely due to their hipster web stack. Also the site is really heavy-weight, someone force these developers to use older hardware.

</comment></comment></comment><comment><USER5> For the ones interested in an actionable way of dealing with depression (albeit one that does not replace professional help), here is a course in cognitivo-behavioral therapy, a technique that yields good results: [https://www.getselfhelp.co.uk/step1.htm](https://www.getselfhelp.co.uk/step1.htm) It's free by the way.

</comment><comment><USER6> From the video: "The mouse keeps popping open the web browser to some stupid discussion site."

He's talking about you HN! :D

</comment><comment> d--b I haven't looked at the video, but it is funny that I spent most of last week procrastinating by playing (and finishing) The Witness... Great game, but really the best piece of advice I could have received was to not start playing it!

</comment><comment><USER7> This is mindfulness, but also classic NLP (Neuro-Linguistic Programming).

Your feelings are tiny and you can control them and use beneficial ones. This in essence is NLP strategy.

I like NLP and had excellent results with it, so it helps me think in these terms.

<comment><USER8> Any NLP resources you would recommend?

<comment><USER9> Bandler and Grinder were charlatans. Maybe Satir was serious, back in the day, but Bandler and Grinder didn't believe their own teachings in the end. Steer clear of NLP.

<comment><USER7> OK, so you clearly believe they are no longer charlatans :). So they should be good resource then.</comment></comment></comment></comment>


Death by design: If you could choose, what would make for a good death? - <AUTHOR> https://aeon.co/essays/if-you-could-choose-what-would-make-for-a-good-death <comment><USER2> I think this is a quite silly question. I have Brugada Syndrome, and have come to terms with death - it doesn't bother me. I guess at that's because I've done it more than most, and because I could die in the next 5 minutes, or tonight while asleep, or when out walking or whatever.

The fact is everyone dies. There's no point worrying about when or how, it's going to happen regardless.

</comment><comment><USER3> My wife interviewed friends about this years ago, and I edited it into a fun video. [https://m.youtube.com/watch?v=CJfj8wXgcJM](https://m.youtube.com/watch?v=CJfj8wXgcJM)</comment>


People who are sleep deprived have no sense of their limitations - <AUTHOR> http://www.cbsnews.com/stories/2008/03/14/60minutes/main3939721.shtml

<comment><USER2> Actually, when the article says:

> people who are chronically sleep deprived, like people who've had too much > to drink, often have no sense of their limitations.

What it means is that people don't realize _the degree to which_ they are being inhibited (although the studies did not test this, this is based on one piece of anecdote.) The article is not saying that people think that their limitations are greater than they otherwise would, as is the case with alcohol or testosterone.

</comment><comment><USER3> > It would be the biggest evolutionary mistake if sleep does not serve some > critical function," Walker says.

it's a minor quote from the whole article, but sentences like these always annoy me: Evolution does not make mistakes! It's not an It! it doesn't do!

Evolution's simply a term that describes change. You should treat it like the term "moving". As in "Creature a moved to B" <=> "Creature A evolved to B" how silly would it be to say that movement made a mistake.

And even if we forget syntax and focus on what the sentence implies the sentence is overly bold. If we sleep, then somewhere along our ancestry, creatures that slept survived. That's about all you can say. Maybe sleepers where unfit for life if strange virus X hadn't wiped out all non-sleeping superior lifeforms. Or whatever. Don't infer based on the fact that something is as it is, that it is therefore superior to all other possibilities.

<comment><USER4> I agree that the "mistake" phrasing is atrocious.

I don't exactly agree with this, though:

 _Don't infer based on the fact that something is as it is, that it is therefore superior to all other possibilities._

Actually, we _can_ conclude that there must be a good reason why the average human needs eight hours of sleep, as opposed to four hours or two hours or half an hour. It's not as if we can't get there from here: Some living humans really _do_ need only four hours of sleep. And other creatures, not so different from us, have much niftier tricks: Bears can sleep for four months straight, horses can sleep very lightly while standing up, my parrot wakes up at almost _any_ stimulus, some creatures sleep with half the brain at once, etc. If sleep were a big liability, there seem to be lots of genetic switches that could be thrown to reduce, alter, or eliminate it. The fact that those switches have not been thrown in us suggests that our sleep pattern is an equilibrium point in evolutionary space.

Now, maybe you're trying to say that, although there might be a way to design a brain that didn't need sleep -- perhaps scientists will use futuristic neuron-CAD software to figure that out, someday -- some accident in early evolution sent us down this particular branch, and now we can't get there from here. That's true, and it's really fascinating. It seems that creatures without sleep would have to evolve nearly from scratch -- because even _fruit flies_ sleep (a fact that I didn't know until today) which suggests that you have to go back past our common ancestor with the _insects_ to find a creature that wasn't designed around sleep. And if such a creature with a prototype sleep-free brain tried to start up shop today, odds are it or its descendents would all be eaten by fish before they got very far. It's hard to evict species from an ecological niche, particularly when you're going up against _nearly every animal species on earth_.

<comment><USER3> _Actually, we can conclude that there must be a good reason why the average human needs eight hours of sleep, as opposed to four hours or two hours or half an hour._

 _Now, maybe you're trying to say that some accident in early evolution sent us down this particular branch, and now we can't get there from here. That's true, and it's really fascinating._

That was indeed the idea behind my previous post. Rather the same thing happens with humans only changing teeth once a lifetime instead of continuously. There is some evidence that changing once doesn't give us an evolutionary advantage, but is simply a leftover from some ancestor's trait way back. (I'll see if I can find the reference).

I'm not saying that humans might not need their sleep (we die if we are sleep deprived), but that, based on the fact that we sleep, you can't claim that sleeping creatures have an advantage over hypothetical non-sleeping creatures. Maybe it's just something that stuck and doesn't do enough harm to kill us all out.</comment></comment></comment>


Ask HN: What's your cloud setup like?  - <AUTHOR>

Just curious especially about you Rails folks on EC2, what's your production setup like and what do you use for deployment? (Capistrano, Chef, PoolParty, Rubber,etc..?) <comment><USER2> I run some PHP/MySQL web apps on EC2. There are a few high-CPU medium instances running the web servers behind a simple load balancer, and a large instances running databases. I don't use any extra tools for deployment, just checkout/update from the subversion repo. Some rules in httpd.conf block web access to the .svn folders.</comment>


How does this work? - <AUTHOR> http://blinkofcode.com/55938c5bc57dd420029b7c01

<comment><USER2> there's an accepted answer here which i found straight away by googling "Fork Bomb"

[http://askubuntu.com/questions/159491/why-did-the-command- ma...](http://askubuntu.com/questions/159491/why-did-the-command-make-my- system-lag-so-badly-i-had-to-reboot)</comment>


Ask HN: Sued (UK) over alleged defamatory user generated content, what to do? - <AUTHOR>

I've just received an email with a scan of a legal letter (which has apparently been dispatched to me in physical form) basically stating that one of the websites I run has defamed and harassed a person, and that I'm to 1) apologise and retract, 2) supply a written declaration to say that it won't happen again, 3) pay his legal fees, 4) pay £10k damages.
My policies have always been to say that the users are liable for their content, but this doesn't sit well with me. I like my users.
Obviously I can do #1 and #2 (by promising a filter on content), but #3 may hurt, and #4 (damages) would actually destroy the website, and my startup. I'm a bootstrapped solo founder on a dry pasta existence, so that number seems astronomical to me.
The incident arose as a result of the WikiLeaks BNP publication a few years ago. At the time, web sites popped up that offered a search interface; type your own postcode in to see which members lived near you.
The results of these searches were posted on various forums (including this one that I run), and usually with comments by the people posting that content (not always positive as you might imagine).
That is in essence the issue, though this has been a slightly longer journey as the individual asked for content removal, and whilst I did respect that I run the forum with transparency and so I publish when I remove content and why, and this resulted in another member posting another comment elsewhere. The person in question then registered to call the member a paedophile, and so the original removed content was re-iterated in response by other members (Barbara Streisand effect). It is this which is the subject of the notice of pre-action.
I'd love advice on what my options are. They've timed it impeccably as it's a very long weekend here and the email arrived at 6pm.
If anyone on here knows a good UK lawyer for dispute resolution of this kind, especially one who might make a little time this weekend, I would love to be put in touch.
Otherwise, if anyone has their own experience from the trenches about what they've done in response to such pre-action notices in the past, I would love to be able to learn from them.
I realise that there is a difference between what they request and what any deal might eventually consist of, but as it stands their requests if delivered would be the end of my startup... so naturally I'm concerned about it.
Any other advice appreciated. Email is in my profile should it need to be non-public. <comment><USER2> I've worked with the one of the biggest and best known firms in the UK. They are very expensive and very good, but I would just advise that you take a step back for a second before you rush to the lawyers. They will break you financially, so here's some free love (UK only I'm afraid).

TL,DR; this threat is worthless. Don't fret about it.

In the UK such letters are no more than empty words, in all cases without exception, the onus is on the writers to bring something to court before they can be awarded any money and that requires you to have breached some specific point in law. So let's ask the question, "what exactly can they do?" what law did you break? What evidence do they have that you broke the law?

I'll put it bluntly, this is blackmail they can't do anything without it costing them first a huge amount of money and time, and their chances of success are very small.

Look, their laywers probably said, you haven't got anything. If you like I'll write a stiff letter. They haven't actually broken the law, but the letter may just work.

Let's deal with the first point. As far as defamation is concerned, the fact is you did not write the posts. You cannot be held liable for what was written. The fact that you host the forum is not a related issue, and it cannot be implied that because you own the site you are responsible for every word - they would have to establish a legal case that somehow you (and every other website in the world) is legally bound to police the content. That's basically it.

Your defence: You should always take a position that is removed from the issue so as to not directly link yourself to the issue.

As far as I can see, the posts are probably in breach of your terms, and as the owner of the site you have a perfect right to decide what stays on and what comes off your site. The best course of action here is to say that you have looked at the posts as soon as you were made aware of them following this letter and agree that they breach your terms, and have removed them. That's the very most that can be expected and their lawyers will have advised their clients so. They would also advise their clients that pursuing this further is a waste of money.

Do not apologise under any circumstances as that would be an admission that you are somewhat implicated.

Do not even address the point about "doing it again" - that's just bull. It's a trap - do they think you're stupid?

Damages? They have to provide cast iron proof that they have been financially damaged. This is almost impossible to do in cases of defamation, and they would have to prove it to the judge. The judge will likely award zero damages, so do not address this point.

In the UK you are only obliged to pay another person's legal fees if the judge orders it (meaning it has to go to court first which it won't) and the basis on which this order is made is if the other side can prove that you have acted unreasonably (a very very difficult thing to do in law, because it relies on legal precident of which there are very few examples). You will pretty much have quashed that (being unreasonable) argument if you just remove the comment. They could never claim that you had acted unreasonably, and even if they did try to claim, it would be very very very unlikely to succeed. Judges rarely award costs especially for something like this where the letter seems to be a kind of extortion.

But... even if a claim for costs did succeed it still doesn't mean you have to pay. Here's the crazy bit....

The costs award is open to negotiation, and further still if you refuse to pay the costs (which you are perfectly entitled to do even if you've been ordered to pay costs) the other party then has to take you to court _again_ (it's called the high court for costs) That's more money for them to spend and they can't get "costs for recovering costs" hahahahhaha

Even then they have to win at costs court, and you can force them to lose with a series of offers which will result in them having to pick up all their own costs anyway. Costs judges are very strict on what is allowable and it's always in your favour to have them look at costs because they throw out a whole load of stuff that can't be claimed - much to the annoyance of the people hoping to get their costs paid for!

So put yourself in their shoes - it's going to cost a whole heap of dough just to prove that you somehow influenced the writer, then a whole heap of dough to try to prove that you've been unreasonable in dealing with it. So what are the odds of their success?

Revert for fun. One last bonus for you. Lawyers are generally fair players - meaning that they won't act whilst the other side is in the process of replying, it's only fair. So if you send a reply, simply "ackowledge receipt of the letter and will revert in due course".

That's real fun because their lawyer will say to them that they can't do anything until you've replied, which could be .... NEVER ....

This all sounds like games, but it's not personal, just business, and this is the of stuff you can legimately do to get these sort of shisters off your back. And it costs nothing except a small bit of time.

</comment><comment><USER3> First off - don't panic - take the weekend off and enjoy it - even if you are a republican ;)

Solicitors send threatening letters - that's how they earn a good deal of their money. Relax - phone around next week (when and only if an actual letter arrives) and see if any of your local legal firms have experience of web stuff (might take a while as this sort of thing is pretty rare in the UK) and then go and see them.

Provided you have taken steps to take down possibly offending material when it is pointed out to you then I do not think there is likely to be a problem. But do take advice.

An email is just that - trying to scare you - you do not yet know if it is a real issue or just a try on from some jerk who wants to bully you - that's how some folks live their lives.

</comment><comment><USER4> I AM NOT A LAWYER, but you probably have a pretty sound defense on the grounds of being an innocent disseminator of the post. You are highly unlikely to be under any legal obligation to post a public apology for a statement that you did not make, nor for legal costs which the plaintiff incurred, nor for "damages" absent a legal judgement.

Keep in mind that the intent of a legal letter is often first and foremost to discombubulate you. Do take it seriously, but not _too_ seriously.

<https://en.wikipedia.org/wiki/Innocent_dissemination>

</comment><comment><AUTHOR> Oh, and I have 14 days in which to respond.

Nothing can happen in the next 4 days due to the long weekend (2 bank holidays for the Jubilee), but likewise I can't get legal advice during this time either. So until Wednesday, all I have is HN and the opinions of others to guide me.

<comment><USER3> Time deadlines from a solicitor - or anyone else other than a judge are meaningless. They are intended to get a rushed reaction - take plenty of time. It costs them money to start a case don't forget - so they wont rush in the normal course of events.

When I think about it - 18:00 on a Friday evening - sounds a bit late in the day for a UK solicitor.</comment></comment>


Free Website and Linux Server Monitoring - <AUTHOR> https://nixstats.com Website monitoring 1 minute interval notification via e-mail/pushover/pushbullet/SMS (free, fair use policy) Performance tracking (time to first byte, dns, connection and total time) Custom public status page, change the logo, custom cname (status.yourcompany.com), create multiple status pages. Example
Server monitoring Monitor linux based servers 1 minute interval (with average/high/lows) Notification via e-mail/pushover/pushbullet/SMS (free, fair use policy) Process level monitoring for the last 24 hours Custom public status page, change the logo, custom cname (status.yourcompany.com), create multiple status pages. Example
NIXStats is currently in beta status any feedback is much appreciated, reply to this topic or use the feedback tool on the site.
Sign up for a free beta account at https://nixstats.com and use the invite code WHT. <comment><USER2> Asks for invitation code

<comment><AUTHOR> You can use BETA as the invitation code

<comment><USER2> Thank you. Testing.</comment></comment></comment>


Revival of U.S. steel industry offers lessons for automakers - <AUTHOR> http://www.iht.com/articles/2008/11/23/business/steel.php <comment><USER2> The solution is to have the government take over their liabilities, while their bondholders keep the assets?

<comment><USER3> Yes that doesn't seem right. About the best thing for the taxpayer-voters the government could do would be to asset-strip the Big Three and any value extracted put into the public purse.

</comment></comment><comment><USER4> I think this article (if you read page 2) points to the obvious solution - government says to the big 3, declare bankruptcy, then we'll give you (or help you get) credit to avoid liquidation.</comment>


Ocean Data Collection at Scale - <AUTHOR> https://www.saildrone.com/ <comment><USER2> I am not into the topic(at least I thought I was not), but great quality forecast app and open data really looks attractive and worth exploring.</comment>


Want to Build a Side Business? Just Buy a Great Domain Name - <AUTHOR> https://www.deepsouthventures.com/build-a-side-business/ <comment><USER2> Previously discussed [https://news.ycombinator.com/item?id=13366216](https://news.ycombinator.com/item?id=13366216)

</comment><comment><USER3> (2017), by the guy who sells onions on the internet.</comment>


Instant Loading Web Apps with an Application Shell Architecture - <AUTHOR> https://medium.com/@addyosmani/instant-loading-web-apps-with-an-application-shell-architecture-7c0c2f10c73#.anv85ievd <comment><USER2> This process makes a _ton_ of sense, once you start thinking of websites as online applications (and not just a bunch of page content, but even then sometimes it's worth thinking about page content as an application). It's also surprisingly simple, given the tooling that's already provided by the browser and the sw-precache and sw-toolbox libraries.

I only wish there were some roadmap to see this on the iOS side. I get that android has a lot of market share, especially in developing (slow 3g / 2g network) countries, so this is still a great idea (and totally worth the effort, given the payoff). But if there was some word from apple that this was feasible in the near future, I wouldn't be worrying about writing a native iOS app, or figuring out how to use cordova to deploy a hybrid webview app.

And that's why I somehow doubt apple is in a hurry to get this working on iOS. Watching the service worker presentations at the recent chrome summit, I couldn't help but think, "wow, app-like behaviors, straight from a webpage, pinned to the home screen".

<comment><USER3> _I only wish there were some roadmap to see this on the iOS side._

Yep. Actually, I'd love to see Microsoft aggressively adopting this for Windows Phone - it has a real lack of apps, and this could help. For the rest (i.e. the vast majority) of us that don't use Windows Phone, it would still be great to have another major player adopting it, and highlighting that iOS is the only platform left that doesn't adopt it.

<comment><USER4> Mozilla has definitely been pushing these technologies, partially to support content development for Firefox OS.

</comment></comment></comment><comment><USER5> Perceived performance (showing something) is more important to users than the ultimate load time. So prioritizing your assets so the critical stuff loads first is a good strategy. Keep in mind that JavaScript blocks rendering, so you want to make sure that you're still delivering the CSS and primary HTML content first. I don't want to wait for your massive JavaScript library to load and execute before I can read the text on the page.

</comment><comment><USER6> Isn't this just reinventing webpages? You're supposed to cache the CSS and JS for a _long_ time and then deliver minimal content to style. Have a look at my blog:

[http://www.stavros.io/](http://www.stavros.io/)

The first load should be moderately slow (still, only about two seconds), and any subsequent load of one of the posts should be near-instantaneous.

<comment><USER7> It is basically reinventing caching but correctly, caching at the http layer does not handle updates properly, preloads very well at all and is entirely unreliable.

For example load [http://pouchdb.com/](http://pouchdb.com/), first page load may be a little slow but the rest will be very fast aside from the api page which has some slow JS (if the rest of the pages didnt load instantaneously we would probably never notice how JS slows that page). Turn your internet connection off while you browse, its all fine.

The above is using AppCache, but a big part of ServiceWorkers is learning from the AppCache mistakes and having a more flexible / powerful framework for them.

<comment><USER6> Why is caching at the HTTP layer unreliable? With cache-busting URLs I've had no problems at all.

<comment><USER7> Turn your internet connection off and try to reload this page, or even with your internet connection on look at how many pointless http requests are made that slow the page down on every reload.

HTTP Caching does not have explicit guarantees about the availability of things in its cache, ServiceWorkers and AppCache do.

<comment><USER8> Why is having the shell being able to load offline when the XHR'd content won't be able to load a plus? It makes sense for productivity apps like Google Docs, where you're writing the content, but not for a majority of apps.

I'm tired of web 2.0 ajax sites where you scroll through content, click a link, then you try to go back, and you have to scroll through the same things you didn't care about again. Or in Facebook newsfeed's case even reorders things.

It honestly feels like "Ooh look at this shiny new tech. Let's use it! Why? Because we need to improve 'usability'! _proceed to throw other usability concerns into the trashcan_ "

<comment><USER9> Imagine an RSS reader (which Facebook, Twitter, etc. basically are.) 99% of the time, an RSS reader doesn't _need_ internet connectivity; it just has a database of synced feed-items and you can peruse them. When you pull-to- refresh it, it goes online and actually retrieves updates for its feeds, then (crucially) _finishes_ and is now offline again.

There's no reason such an app can't be implemented as a plain-old-webapp pinned to your iOS springboard or whatever else. You open it, you get RSS items. You try to _refresh_ , it says "no internet, sorry", and the refresh is cancelled. Every other part of the functionality continues to work just fine.

There's actually something that does exactly this: visiting the Gmail _website_ on iOS will build a local database of your mail, and let you continue to interact with it, search through it, write emails and "send" them (they stay in your outbox) when you don't have internet connectivity.

</comment></comment></comment></comment></comment></comment><comment><USER10> It's really great to see that Android (and Firefox OS obviously) is going this way. Maybe soon we can forget the native apps (that remind me of the multimedia CD ROM era from 1995) for a lot of apps that do not need access to the system's API.

<comment><USER11> Let's get web apps' APIs up to par with native APIs first, then maybe we can talk. Oh, and let's get it up to par performance wise. Because right now, in both those categories, web apps are terrible.

Until then, I'll keep my native apps thank you very much.

(And I didn't even start on Javascript, because you can transpile. But the itch is present :^))

<comment><USER12> Especially stop Web/JS stuff from chewing through battery and shoving everything else on the device out of RAM. If you expect users to be in your "app" more than a couple minutes a day (and it is in fact an app, and not just information presentation), _please_ use native.

</comment></comment></comment><comment><USER13> Once again Apple is the holdout. They seem to be bent on making web apps a substandard type of app by dragging their feet on html 5 in general.

</comment><comment><USER7> I am pretty excited about the idea of having a web framework that works equally well in service workers and nodejs, so the first page load serves up nice full html and subsequent page loads are handled by service workers and render immediately on the client side. Its pretty much the dream since I started working on PouchDB since this whole idea is made vastly easier when your data api is identical local and remote.

</comment><comment><USER14> I think this would dovetail well with the strategy of keeping user data out of URLs by having generic pages and then xhr'ing to fill in the data reactively. (There is probably a nifty marketing name for that strategy but I don't know it.)</comment>


$20,000 Per Source Line of Code - <AUTHOR> http://stevekrenzel.com/20000-per-sloc <comment><USER2> _...right before I had graduated from my undergrad and was looking for something to do after graduation._

 _...at that point in my career. I had experience at Princeton's Plasma Physics Labs writing data analysis software for nucelar fusion experiments, experience working on artificial intelligence and natural language processing at Google, had worked at a defense startup, and had over 7 years at a lawfirm_

huh? All before graduating?

 _I had done a little over 30 interviews, and had always gotten an offer_

Who the hell does 30 interviews and rejects every last offer? WTF? And then he can't write a function he's already written "hundreds of times"? Am I reading this wrong?

<comment><USER3> I'm the author. Yes, all that happened during my undergrad (Except my experience at the lawfirm, which started in high school and continued through college. I handled all of their technology related stuff. I wound up doing a lot of consulting for various other firms too through recommendations).

The 30 interviews were all the interviews I've ever done, like jackowayed said.

As far as writing the function goes, yea I was just having an off day, which was the point of the post.

</comment></comment><comment><USER4> So...if he had gotten the code right, he would have taken this job _and_ his current job? Because that's the only way his five lines of code are worth $20,000 apiece.

<comment><USER5> Yes, and he'd have to hold the job for exactly one year, then quit. A better title would have been "Five lines of code cost me a job interview", which is so unremarkable as to not be worth reading.

The most surprising thing in the article, really, is that he managed to have thirty interviews _without_ having an experience like this.

</comment></comment><comment><USER6> This is a pretty good example of why asking people to write code in an interview is a pretty poor way to measure their fitness for the job...

<comment><USER7> I've always felt that writing code _on a whiteboard_ is a crap way to interview people, and I feel that way every time I'm interviewed that way. At least give me a text editor so my mental associations come back to me quick enough.

<comment><USER8> I don't understand this. What do you mean by mental associations?

<comment><USER7> I write all of my code with a keyboard, in a text editor. If I have a keyboard and a text editor my brain remembers how to write code better than if I have a whiteboard and a marker, because I don't write code on whiteboards.

The brain works this way, which is why you feel sleepy when you go to bed (unless you spend a lot of time in bed not sleeping). It's a type of compartmentalization, well known in psychology.

</comment></comment></comment></comment><comment><USER9> I wouldn't hire this guy, what good is a coder that has to have 3 RedBulls and can't do anything productive until the afternoon?

If you can't represent your abilities away from a computer on a whiteboard or in a conversation to a reasonable extent, you are not as good as you would like to think you are, and the guy who _can_ do it is better than you.

He didn't miss the job because he couldn't answer the questions, he missed the job because someone else could.

[edit: Okay, I might be a bit grumpy, but I think the gist of my comment is spot-on]

<comment><USER3> The point of my post was that coincidences happen. I had an off day (which we all have) that also happened to coincide with an interview. I usually don't need energy drinks or the afternoon (although many software engineers perform better in the evening).

I usually can represent my abilities, and execute on them just fine, in any context. This day was a statistical outlier compared to my average day. If this was routine for me, it wouldn't have seemed so unusual.... but screwing up really badly once after nailing it 30 other times seemed interesting to me.

<comment><USER9> Hmm, re-reading things, I seem to have been caught up in a thread here (<http://news.ycombinator.com/item?id=565038>) and in my mindless annoyance I mistakenly applied the thread logic to the post. Apologies.

<comment><USER3> None taken, we all have our off-moments ;)

<comment><USER9> Well played, Sir. Well played ;)</comment></comment></comment></comment></comment>


Cavity two-thirds the size of Manhattan discovered under Antarctic glacier - <AUTHOR> https://www.theguardian.com/environment/2019/feb/07/cavity-two-thirds-the-size-of-manhattan-discovered-under-antarctic-glacier <comment><AUTHOR> But the climate's always changing .. sky is falling in lol .. it's snowing here what global warming lol .. what about Al Gore .. it hasn't warmed since 1996 .. what about the promised ice age .. blah blah.

<comment><USER2> You resubmitted this (already submitted 6 times this week[0]) just to make this comment?

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

210+ points

<comment><AUTHOR> Why on earth would I do that? It's a pretty basic principle of charity to assume error before malevolent intent.</comment></comment></comment>


Single line commands manager for your projects - <AUTHOR> https://email@example.com/snip-single-line-snippet-manager-4a8a9db12848 <comment> barrow-rider Interesting. I've used a notepad++ "spellbook" of one-liners and useful commands (Cisco & Juniper especially).

What would this offer that a well-backed-up N++ doc doesn't? Sell me.</comment>


A/B Testing Scale Cheat Sheet - <AUTHOR> http://bentilly.blogspot.com/2012/10/ab-testing-scale-cheat-sheet.html <comment><USER2> Isn't cutting off at some confidence level on the 'do not do this' list for A/B testing? So far I understood that you test until you reach a predefined number of conversions, and then you check your significance to see if the result you obtained is valid. Not until you 'hit confidence'.

See for instance: <http://www.evanmiller.org/how-not-to-run-an-ab-test.html>

Is there anybody here that can shed some light on this?

<comment><AUTHOR> Yeah.

That's a blog post that I should get around to writing a rebuttal to some day. Because it is widely quoted and off base.

In theoretical frequentist math world, it is correct. If you peek repeatedly, eventually you'll come to confidence when there is no difference. Back in the real world, it is perfectly acceptable to use a strategy like, _"We'll set a really high confidence (eg 99.5%) for cut-off until we get to a couple of thousand successes, and then we'll drop our standards substantially (eg 95% cut-off). If we are forced to stop for business reasons, we'll choose whatever happens to be ahead at the moment."_

And yes, I can use Bayesian statistics to demonstrate that following the strategy that I describe creates acceptably low probabilities of making somewhat wrong business decisions, while allowing you to make good business decisions more quickly. And in practice people can follow it without needing a strong statistical background. (If I did enough work I could come up with a sophisticated optimal curve to use in making decisions. But I have not done that work, and in practice explaining it would be more work than it is worth.)

Why is this? Two reasons.

The first is that you only really get "independent peeks" at different orders of magnitude of data. Thus if you wait until you're past a small amount of data, you don't get a strong "repeated looks" effect.

Secondly coming to the wrong decision only matters to a business when the chosen option is substantially worse. If you follow a rule like what I gave, your odds of accidentally making up your mind in the wrong way if there is a business-significant difference are surprisingly low. For instance if you would detect a 2% difference as significant, and there is a real underlying difference of 1%, the odds that you're making the right decision right now deciding at a 95% confidence level is 99.2%. And if the real difference is a 0.5% win, your odds of making the right decision right now is 91.5%. (This despite the fact that you'd expect to need 16x as much data in order to even have a good chance of _detecting_ a 0.5% win!)

Thus the decisions that you're making are usually correct. And on the occasions where you make the wrong choice, the mistake is usually not materially worse.

</comment></comment><comment><USER3> Great list Ben! In my experience of analyzing and commenting on A/B test results of our (Visual Website Optimizer) customers, one of the most important effects I have observed is the newness effect of variations. Visitors are sometimes inclined to respond positively to a new variation just because it's a change from plain, old boring control. Even though the newness effect fades in after a couple of days, but it makes our customers prone to celebrating early the success of their test. That is why we always recommending calculating a preset number of days for which to run the test before even looking at the result (we have a setting for that). And as a general rule of thumb, we ask our customers to at least wait for 7 days before concluding anything from the results.

<comment><AUTHOR> The newness effect can be a really confusing PITA. Yet another strategy to use for it for long-running tests is cohort analysis - analyze what people's actions were starting x days after entering the test.

That said, if you turn it around, deliberately finding ways to use the newness effect to your advantage can be very rewarding.

<comment><USER3> >That said, if you turn it around, deliberately finding ways to use the newness effect to your advantage can be very rewarding.

I'm curious to hear more about this. How do you make use of the newness effect? Have you practiced this in the wild?

<comment><AUTHOR> As I suggested in [http://bentilly.blogspot.com/2012/09/ab-testing-vs-mab- algor...](http://bentilly.blogspot.com/2012/09/ab-testing-vs-mab-algorithms- its.html) you can use a MAB algorithm with a forgetting factor for this. I've actually done it with a more sophisticated system, but the idea is similar - boost whatever you have evidence is performing better right now. (You should put in logic to avoid time-based fluctuations in performance throwing you off.)

The one that I built had minor teething pains, but it is now working quite well. And it is convenient to be able to every so often drop in new versions, and remove ones which have proven unable to perform up to snuff even with a newness effect, and just trust that it will Do The Right Thing.

</comment></comment></comment></comment><comment><USER4> Good article. This G-test calculator, also by Ben, is my favorite tool to pick a/b test winners: [http://elem.com/~btilly/effective-ab-testing/g-test- calculat...](http://elem.com/~btilly/effective-ab-testing/g-test- calculator.html)

</comment><comment><USER5> Two additional points:

1) Be careful about what you're actually testing. More clicks or conversions is quite likely good, but over the long-term you want to track LTV. An effort that gets a lot of low-LTV customers will have great metrics at launch but will be disappointing down the road.

2) Consider segmenting your traffic on appropriate dimensions (campaign, referrer, previous behavior, platform, day of week, time of day), because it's common for a change to be amazingly effective (or ineffective), but only for one segment. Those opportunities can be lost if you treat your customer-base as a single segment.

<comment><AUTHOR> Good points, but those would be improvements for people who have more volume.

As I indicated, tests of revenue (including LTV) are significantly harder to do. Also segmenting data makes it more work to interpret, and means you need to collect more data to draw conclusions.

If you have the data, by all means do it. If not, then try not to be too unhappy that you can't do it yet.

<comment><USER5> I'd argue that if you have enough traffic to look for 1-2% improvements, you have enough traffic to do basic segmentation and to start measuring value.

That said, I agree with your greater point that you always need to make sure your tactics are aligned with your situation and strategy. For instance, if you're still seeking product/market fit, don't worry about micro- optimizations; just follow best practices for the big items and optimize them later.</comment></comment></comment>


Working Group Last Call: QUIC protocol drafts - <AUTHOR> https://mailarchive.ietf.org/arch/msg/quic/F7wvKGnA1FJasmaE35XIxsc2Tno/ <comment><USER2> I'm really happy to see QUIC pushed, not because I personally have a use for it but because it's a battering ram against network non-neutrality and what I've come to call "network nerfing."

Now all those ISPs, IT departments, and cloud providers that de-prioritize or outright block UDP will get "bug reports" about things being "slow" or not working.

Now all those traffic shaping middle-boxes are worthless, and your ISP can no longer spy on your requests to gather marketing data about you.

The Internet is an IP network, not a TCP/80 and TCP/443 network.

<comment><USER3> >Now all those ISPs, IT departments, and cloud providers that de-prioritize or outright block UDP will get "bug reports" about things being "slow" or not working.

Doubt it. I suspect that browsers have some sort of happy eyeballs algorithm for determining whether to use http/3 specifically because some networks don't handle it well. In those cases it'll fall back to http 1.1.

>Now all those traffic shaping middle-boxes are worthless

How so? how is TCP 80/443 and UDP 80/443 harder to traffic shape than TCP 80/443 alone?

> and your ISP can no longer spy on your requests to gather marketing data > about you.

That's more encryption (ie. https) than switching to http/3\. Also, encryption is already mandatory for http/2 (for most browsers).

<comment><USER4> Curious, why fallback to /1.1 over /2?

<comment><USER5> So far as I can see they won't. Because QUIC (and thus HTTP/3) is always encrypted your fallback is always a TLS connection.

Modern TLS agrees the sub-protocol to use (in this case h2 = HTTP/2) early with ALPN. If that ALPN sub-protocol isn't available that same connection just becomes HTTP/1.1 (over TLS) instead.

So there's no reason to fall all the way to HTTP/1.1 without asking if HTTP/2 is available.

</comment></comment></comment></comment><comment><USER6> How well does QUIC perform over networks with relatively high packet loss? It seems like Aspera ([https://www.ibm.com/products/aspera](https://www.ibm.com/products/aspera)) is the industry standard for high performance WAN transfers, but it's a proprietary protocol. I'm wondering if QUIC performs better than HTTP1/2 in this respect?

<comment><USER7> How does Aspera work?

How is it possible to be 1000x faster? Is it?

TCP works by slowing the data rate when data loss happens. On purpose, to be fair!

I think it's not that hard to write a program/protocl that blasts out a big file over UDP and just sends all the parts as packets, then waits for the receiver to assemble a big list of missing packets, send them back and have the sender blast out everything again at a high rate.

But this would be at the expense of all the other TCP connections.

Wasn't QUIC changed to be so called "TCP friendly", that means that it has the same back off behaviour as TCP so that if you are in a crowded hot spot every tcp stream has a fair chance?

(On the other site, google and some other companies have a huge initial TCP window size and try (or tried?) to send e.g. the whole google homepage with like 8 1500 byte packets at once, also trying to get a better ux than other, again on the expense of other TCP streams)

Looks like using Aspera is unfair and only works if a few people do it.

<comment><USER6> My understanding is that the protocol underlying Aspera (FASP) uses UDP for the main data transfer and a TCP connection for coordination. By using UDP for data transfer it's not restricted to the ACK ranges imposed by TCP which can hinder throughput on networks with relatively high packet loss. Its throughput is not necessarily achieved by being a "bad citizen" but by having full control over how and when it communicates lost packets.

Since QUIC is also over UDP, perhaps we now have more flexibility on ACK windows etc.

Btw. there are open protocols like Tsunami UDP ([https://en.wikipedia.org/wiki/Tsunami_UDP_Protocol](https://en.wikipedia.org/wiki/Tsunami_UDP_Protocol)) that try to fill the same niche

<comment><USER8> My understanding is that window scaling and SACKs enable TCP to detect losses within large segments too. The only limitation is that most congestion controllers throttle back when detecting packet loss. Newer latency-based controllers don't suffer from that problem.

<comment><USER6> This is interesting. I haven't seen much in regard to comparing TCP+BBR to FASP other than a masters thesis which suggests FASP outperforms on transferring large files over long distances (which is exactly its intended purpose). But, I wonder if splitting a file over multiple QUIC connections and re-assembling at the other side would come closer to the performance of FASP? Could be a fun experiment, I might try it!

<comment><USER8> An optimal CC should have high utilization with a single stream¹ and behave fairly to other connections on the network. Measuring multiple streams misses the point of the exercise.

> other than a masters thesis which suggests FASP outperforms on transferring > large files over long distances

I found that one too. I would take it with a grain of salt since it uses scp for data transfer (which has its own flow control and may be the limiting factor here) and doesn't list the values of some important tcp settings, e.g. tcp_wmem, which can be essential for transoceanic connections.

¹ ignoring the case where a single CPU core can't move bytes fast enough to saturate a link.

</comment></comment></comment></comment></comment></comment><comment><USER9> All I would like is an unencrypted version of QUIC for low overhead stuff where privacy/security isn't a concern such as experimental, CAN, or air- gapped networks. This has been staunchly rejected unfortunately :/

<comment><USER10> There are reasons for that beyond crypto-everywhere-goodness - in the main use case crypto helps prevent middleboxes from messing with things which is critical for its success.

<comment><USER11> Funny that - I thought the advantage of unencrypted HTTP was so that middleboxes could do things like caching (squid, etc) and outbound deep packet inspection to prevent information leaks in corporate environments.

<comment><USER12> Middleboxes can still do that, assuming they have a valid SSL certificate. But that obviously makes it a -trusted- middlebox, not say, your ISPs middlebox.

<comment><USER13> That almost sounds like security.

<comment><USER5> _If_ they actually do this correctly† then sure, you get security in the sense that you decided to trust My Corp Monkey Proxy to do whatever corporate monkeying, and nobody else can meddle with that.

†The correct way to proxy HTTPS is wire a client and server with your meddling code in between, your client negotiates a TLS connection to say [https://news.ycombinator.com/](https://news.ycombinator.com/) and it decides exactly what is sent and can see in plaintext exactly what's received. Users make TLS connections to your server and it presents them with a certificate it made, maybe claiming to be news.ycombinator.com and signed by My Corp Monkey Proxy then passes through some requests to the client we described.

But it's _much_ cheaper not to do this, and all of the other things you might do to achieve the same goal are insecure or break the protocol or both. So there's a big financial incentive to destroy security, while often ironically claiming to be improving security e.g. anti-phishing. For example choosing random number is hard yet at the same time essential for security - so several major vendors sold products that just didn't. When they turned A->B into A->M->B with their product as M, they'd just re-use the random numbers from the other conversation in the pair. This had been destroying security for all their customers for years, but we only found out they were doing it because it broke with TLS 1.3 final.

Specifically when a TLS 1.3 server (but not draft versions for important compatibility reasons) talks to a client that doesn't agree to TLS 1.3 it scribbles the letters "DOWNGRD" over part of the random number field. Since the client supposedly doesn't know TLS 1.3 it shouldn't care, DOWNGRD is a ludicrously unlikely "random" choice but so is "FCKTRMP" or "KICKASS" and those don't mean anything in older TLS versions either. _But_ if the client really does speak TLS 1.3 and has somehow been tricked into negotiating an old version, this weird choice of "random" number signals it's a trick and it will disconnect.

The affected "proxies" would tell a nice shiny new Chrome or Firefox (which can speak TLS 1.3 and thus are looking out for DOWNGRD) that they only knew TLS 1.2, fair enough. And they'd tell servers, say www.google.com, the same thing. But the TLS 1.3 capable servers would scribble DOWNGRD into their random number field, and then because these "proxies" weren't actually assembled from a separate client and server but just re-used all the numbers, the DOWNGRD gets copied into data received in Chrome, and it disconnects because it has seemingly detected an active attack.

<comment><USER12> This is all great information. FWIW, managing and automating anycasted 'middleboxes' for others is part of my work. The scary part, to me, is what paying customers demand. Largely, they don't want to fix broken or legacy systems, but just want an A+ on SSL-Labs. Of course, you can imagine the security implications of downgrading, or worse, terminating the TLS connection at the proxy. The end user has no idea their data is being sent in plaintext over the open web. I won't do such things, but I'm sure plenty of other companies are willing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> HTTP/3 spin bit: [https://news.ycombinator.com/item?id=20990754](https://news.ycombinator.com/item?id=20990754)

</comment><comment><USER15> My only problem is why force TLS when we have better protocols nowadays. We did some research on using noise (in addition to TLS) but I'm not sure anyone really pushed for this to be considered officially (cf nQUIC)

<comment><USER5> We have actual security proofs for TLS 1.3 (which is the only version offered in QUIC)

Of course such proofs come with caveats - in particular the proofs assume your cryptographic primitives work as intended (e.g. that AES isn't broken) and that you've implemented the specification and not something else - but our experience has been that it's valuable to get those proofs, and where proof turns out to be difficult it's a valuable pointer to weaknesses in your design.

As far as I know nobody has done such a proof for the Noise design, and so we only have our intuition that it looks safe.

<comment><USER16> AFAIK Noise has end-to-end proofs of correctness using CryptoVerif, the work having mostly been done by the Prosecco team at INRIA. You can explore Noise protocols on NoiseExplorer [0][1]

Also I may be wrong again, but it is for TLS, that even with all the simplifications and major changes on TLS 1.3, that we only have proofs of correctness for certain subsets of the spec, and specific modes of operation (theres a version of the protocol targeting IoT for which this work has been done, but I can't remember the name)

[0] [https://noiseexplorer.com/](https://noiseexplorer.com/)

[1] [https://rwc.iacr.org/2019/slides/NoiseExplorer.pdf](https://rwc.iacr.org/2019/slides/NoiseExplorer.pdf)

<comment><USER15> Not sure why you are getting downvoted because what you say is true.

</comment></comment></comment></comment><comment><USER17> I thought it would be some sort of last stand of QUIC drives.

</comment><comment><USER18> Is http/3 completely transparent to the current network and no network that is capable of handling http/1 and 2 would have any problem handling it?

<comment><USER19> Far from it. It's quite likely going to be over 5 years if not a decade before it would be possible to run a pure-HTTP3 service without risking connectivity problems

The problem is similar to the IPv6 transition, except thanks to the browser monopolies, it's possible at least for network providers to quickly feel significant pressure to fix their networks. But there will always be some networks that will never be fixed

edit: for those inexplicably downvoting this, please pay attention to the parent comment's question, and the Internet's long chequered history of adopting new protocols in _any_ setting. TCP port 443 isn't going to magically disappear overnight, or indeed any time soon. This is evidently true because it has been true for all prior transitions. Mail still flows to many places unencrypted despite the standardization of STARTTLS 21 years ago. The long tail has only gotten much longer in those intervening 21 years.

<comment><USER20> HTTP/2 and HTTP/3 do not change the semantics of HTTP. That means you can run reverse proxies to server HTTP/1 services as /2 and/or /3 and vice-versa. As a result the transition will be a lot easier than the transition to IPv6. I expect that the transition in corporate networks will be faster -- the opposite of the IPv6 case -- because there is a lot of appeal to HTTP/3.

<comment><USER21> You realize that HTTP/2 is still nowhere near to being adopted by corporations? It's really far fetched to plan HTTP/3 and expect any adoption.

<comment><USER20> The fact that UDP involves much smaller PCBs than TCP alone will drive adoption of HTTP/3 because it will free up a fair bit of memory.

More availability of HTTP version gateways in load balancers and other reverse proxies is all that's needed, and that's coming along.

<comment><USER22> More specifically _no PCB,_ for UDP itself.

<comment><USER20> It's not nil. For "connected" UDP sockets, it's smaller than TCP's, but not nil because, well, buffers. And for non-connected UDP sockets there's still buffers. The main thing is that you can have much less buffer space because you might always be willing to drop packets. Ultimately you can have much lower memory pressure from those buffers and the smaller PCBs.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> I wonder how much different would it be if HTTP/3 was based on SCTP instead of on UDP. [https://en.m.wikipedia.org/wiki/Stream_Control_Transmission_...](https://en.m.wikipedia.org/wiki/Stream_Control_Transmission_Protocol)

In a parallel universe: [https://tools.ietf.org/html/draft-natarajan-http- over-sctp-0...](https://tools.ietf.org/html/draft-natarajan-http-over-sctp-02) It might be that http 4 experiment this

<comment><USER10> It wouldn't be adopted due to middle boxes, so all the difference?

<comment><USER23> _Until middleboxes support SCTP, UDP encapsulation is a possible solution_ That would mean that HTTP3 enable HTTP4 towards STCP

</comment></comment></comment><comment><USER23> Where are the benchmarcks? HTTP 2 gave ~X2 faster performance. I believe that HTTP3 will give far less, especially against tcp fast open

<comment><USER22> "Faster" is a hard comparison to make. QUIC resolves issues that will be more important to some networks than others.

<comment><USER23> I'm talking about average browsing like to ALEXA

</comment></comment></comment><comment><USER24> Hm, I don't see any mention of ESNI (TLS ECH), is there a good reason it isn't recommended/mandated by the standards?

<comment><USER5> eSNI isn't finished and time resolutely insists on moving in one direction, so a document which says "Use this thing that will exist in the future" isn't useful today.

<comment><USER25> Hasn't it already been implemented in Firefox?

<comment><USER26> isn't finished => the standard of it isn't finished so implementations might not to change quite a bit over time and might not be compatible with each other

</comment></comment></comment></comment><comment><USER22> Hopefully the state of UDP will improve.</comment>


Notifications for Alexa - <AUTHOR> https://developer.amazon.com/blogs/alexa/post/8cc45487-d5fb-413b-b6c7-eeea4794d10c/amazon-announces-notifications-for-alexa-feature-is-coming-soon-sign-up-to-stay-tuned <comment><USER2> Oh no! More notifications. Its much easier to scroll through multiple notifications with your eyes than it is to go listen to them. Voice interfaces as they stand, are not a great place for notifications. Also notifications on voice should not be coming directly from developers to consumer. Instead it should lead to an AI that is able to understand contextual information about the user and the situation, then change the notification accordingly. All notifications are not the same. Missing a bus notification is way more important if you are actually planning to catch that particular bus. Otherwise it is just annoying. This will be a great feature to watch for.

</comment><comment><USER3> This is huge for the Alexa echo system. It will finally allow for skills and products to communicate with the users via updates rather than uses always having to initiate the request.

<comment><USER4> Agreed. And this is why I never tried to develop for it because this is a massively useful use case for our home that just wasn't available.

</comment></comment><comment><USER5> And the Google Home still can't do reminders.

I really don't understand how Google is dropping the ball so bad here.

</comment><comment><USER6> I hope it will be easier to disable notification on echo than for Kindle on Android.</comment>


Target's 'Annie' ads spark controversy, prompt petition over lack of diversity - <AUTHOR> http://davidseymouriii.blog.com/2015/01/01/target%e2%80%99s-%e2%80%98annie%e2%80%99-ads-spark-controversy-prompt-petition-over-lack-of-diversity/ <comment><USER2> Doesn't seem genuine; the TV ads show all kinds of girls. The in-store ads feature only a subset of the models, principally because the movie actress refused to be in the Target print ads.</comment>


Little Thumb Attack on SwissCovid - <AUTHOR> https://vimeo.com/453948863 <comment><AUTHOR> This probably affects all countries apps using GAEN (Google Apple Exposure Notification) apis.</comment>


Interview with Jacob, a Site Reliability Engineer who works remotely - <AUTHOR> https://remotehabits.com/interview/interview-with-jacob-a-site-reliability-engineer/ <comment><USER2> A few months ago I took some time off school to hack on a couple projects. Learnt a ton and even got to sell the end result for a decent amount of money. The overall experience is a net positive.

However, be warned that it can get lonely really fast. Even if you have your family around. I usually never mind being alone for extended period of times even though I do enjoy people's company. But that was something else entirely. It is a feeling, not unlike loneliness but more subtle and that can get crippling some of the time.

The thing is that even if you have people around, meet with your friends regularly, see your family etc. No one "gets" what you are doing and so you don't have anyone to celebrate with, share the burden of a task, brainstorm and challenging your status-quo, or licking your wound after things got tough. It's a bit harsh. After some time of independent work, I found myself longing to go back to school, which I did and I'm happier - and stronger - now.

Digressing a bit on startups: I think this experience tipped me off (for the future) that starting a solo company is making it harder on yourself than it has to be.

Granted remote work is different since you are connected to a team. Still, a word of caution feels necessary.

<comment><USER3> This is something that simply isn't talked about enough. We seem to live in a culture that really glorifies remote work. However, the truth is that it's actually really hard.

I made the switch more than a year and a half ago. When I did, I made a rule. See a stranger every day. This addressed the crippling loneliness that comes with the change. I lived in a really friendly neighborhood at the time, so meeting people and having real conversations was pretty easy.

Your other points made me realize how much I have taken my network of engineer friends who work in the industry. I'm going to do better at contributing to those Slack channels.

</comment></comment><comment><AUTHOR> Hello HN! RemoteHabits is a small site I launched here on HN a few months ago to figure out the best ways to work remotely.

I noticed when I started remote work, I struggled with a lot of basic things like habits, disciplines, routines, finding community, etc...

I wanted to learn from other people that had already done it, without prescriptive advice like "the 10 things you MUST do with remote work"—so landed on remote interviews.

We aim to release a new interview every Monday, and are always looking for interesting remote workers to interview. If you're interested head over to [https://remotehabits.com/interview-me/](https://remotehabits.com/interview- me/)

<comment><USER4> I just got back into a regular office again after two and a half years of remote work. I really miss working from my sofa...

<comment><USER5> Working from a sofa is really bad for your posture and your small muscles, but that's beside the point.

Why did you go back into an office? Was the choice made for you?

<comment><USER4> Previous contract ended, it was time to find a new job. The current job was great for everything, except having to commute (both good offers I had were in-office gigs). And the current job really is good, except for the frustration of commuting. I'm at the junction of what I want to do, what I'm good at doing, and what they need someone to do, which is more than I can say for the two remote gigs I had.

</comment></comment></comment></comment><comment><USER6> Appears to be hugged to death-

[https://web.archive.org/web/20181105190101/https://remotehab...](https://web.archive.org/web/20181105190101/https://remotehabits.com/interview/interview- with-jacob-a-site-reliability-engineer/)

<comment><USER7> Looks like his site is not very reliable...

It seems this remote work thing is not working out that well.

<comment><USER8> Quippy comment!

And I would agree, however the blog is not hosted by the SRE who is being featured.

</comment></comment></comment><comment><USER9> Getting a 508 resource limit is hit but it sounds interesting so will be back in a few hours to try again.

<comment><AUTHOR> Thanks for the notice, currently working with host to keep the site up!

<comment><USER10> Sounds like you could do with some help from Jacob :)</comment></comment></comment>


Device Pixel Ratio's Explained - <AUTHOR> http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html

<comment><USER2> Maybe I am stupid but I still don't get it after reading. What do they mean "physical"?</comment>


Microsoft shuts down spam behemoth Rustock, reduces worldwide spam by 39% - <AUTHOR> http://downloadsquad.switched.com/2011/03/18/microsoft-and-feds-shuts-down-spam-behemoth-rustock-reduces-worldwide-spam/

<comment><USER2> Wow, Pfizer is involved with taking down botnets. I would never have guessed that, but the explanation in the article makes perfect sense.</comment>


PubCSS: Formatting Academic Publications in HTML and CSS - <AUTHOR> http://thomaspark.co/2015/01/pubcss-formatting-academic-publications-in-html-css/

<comment><USER2> Seems like people who aren't prepared to learn LaTeX probably are unlikely to want to learn HTML upfront either. Personally, i'm leaning more towards higher-level generators such as Skribilo [1], but that's maybe just me. Perhaps i should guard against becoming a dinosaur, though :)

1\. [http://nongnu.org/skribilo/](http://nongnu.org/skribilo/)</comment>


A man who was fired by a machine - <AUTHOR> https://www.bbc.com/news/technology-44561838 <comment><USER2> He really ressembles Jaleel White (aka Steve Urkel) :-o</comment>