What I Learned Managing Site Reliability for Some of the Busiest Gambling Sites - <AUTHOR> https://zwischenzugs.wordpress.com/2017/04/04/things-i-learned-managing-site-reliability-for-some-of-the-worlds-busiest-gambling-sites/ <comment><USER3> I'm going to have to respectfully disagree with a big chunk of this article. Documentation is generally a waste of time unless you have a very static infrastructure, and run books are the devil.

You should never use a run book -- instead you should spend the time you were going to write a run book writing code to execute the steps automatically. This will reduce human error and make things faster and more repeatable. Even better is if the person who wrote the code also writes the automation to fix it so that it stays up to date with changes in the code.

At Netflix we tried to avoid spending a lot of time on documentation because by the time the document was done, it was out of date. Almost inevitably any time you needed the documentation, it no longer applied.

I wish the author had spent more time on talking about incident reviews. Those were our key to success. After every event, you review the event with everyone involved, including the developers, and then come up with an action plan that at a minimum prevents the same problem from happening again, but even better, prevents an entire class of problems from happening again. Then you have to follow through and make sure the changes are actually getting implemented.

I agree with the author on the point about culture. That was absolutely critical. You need a culture that isn't about placing blame but finding solutions. One where people feel comfortable, and even eager, to come out and say "It was my fault, here's the problem, and here's how I'm going to fix it!"

<comment><USER4> There's stuff where you can either spend weeks or months automating it - <USER2> live with the fact that your oncall engineer has to use a runbook a few times per year to fix the problem.

Also your Netflix example - how many people do you have there? Probably the smallest of teams is bigger than my company's whole engineering department. We're running a whole company and not a few services. (I'm absolutely not trying to discourage what you're doing - but I strongly feel it's a different ballgame.) The smaller your team with too many widespread responsibilities (not: make THIS service be available 99.9%, but make ALL services available 90%, then 95%, ...) the more you only automate what happens frequently. And yes, we try to first a basic runbook when _something_ happens - and only if the same thing happens repeatedly, we automate it.

<comment><USER3> We were doing this with a team of sometimes one or two reliability engineers, but we were cheating, because our company culture meant that the engineers who built the systems are responsible for keeping them running, so they would invest their engineering time in fixing the problems along with us.

I personally found that runbooks were even worse for small size teams (like our four person reddit team) because they would get out of data even quicker than at the bigger places due to the rapidly changing environment.

I wrote down thread that if all of your deployment is automated than it is much easier to automate remediation, because you just change your deployment to fix the problem, as long as you can redeploy quickly.

<comment><USER5> > We were doing this with a team of sometimes one or two reliability > engineers, but we were cheating, because our company culture meant that the > engineers who built the systems are responsible for keeping them running, so > they would invest their engineering time in fixing the problems along with > us.

What advice would you give for an org where the engineers who build systems are not responsible for keeping them running, and everyone on a (much smaller comparatively) infrastructure team is (which is slowly turning into an SRE team by necessity)?

Anecdotally, I've found documentation to be useless; despite documentation being of a high quality, no one refers to it, even after iterating to continue to add information, make it more relevant, streamline, etc.

<comment><USER3> My advice would be to push as hard as you can to change the culture, or you'll be drowned. Engineers will not make it a priority to fix anything that causes outages because they will be evaluated on feature velocity, not uptime.

If you can make the company culture focus on uptime, or get engineers involved in remediation, then you'll be better off.

If you can't do that, try to at least push for the Google model: The engineers are responsible for uptime of their product until they can prove that it is stable and has sufficient monitoring and alerting, and then they can turn it over to SRE, with the caveat that it will go back to the engineers if it gets lower in quality.

<comment><USER6> Or push to change the culture to match the one given in the article, where documentation is important and kept updated?

</comment></comment></comment></comment></comment></comment><comment><USER7> I'm a big fan of checklists as well; however, working through a checklist is still a manual process with room for human error. I've gone down the road of creating checklists, then realized that many of the items would be much better automated. For example, suppose a list item was "Ensure command X is called with arguments -a, -b, and -c, then command Y is called". This could all be wrapped into a simple script that calls these commands, eliminating the potential for human error. I've found that as I create checklists, they often turn into a list of things I really need to automate.

<comment><USER8> Definitely agree — and that's not a knock against checklists.

Externalizing a process that previously existed only in someone's head is a win. Creating a checklist is a straightforward framework for such externalizing, and allows you to separate the question "how do I accomplish my goal?" from the question "how do I express this with code?" (like writing pseudocode before real code).

Whether a process is automated or manual, there's always room for error if the surrounding context changes. When an automated process is annotated _like_ a checklist, I find that I get the best of both worlds: minimal affordance for human error with a clearly described thought process to fall back on in the event of a problem.

(It's also not terribly uncommon to have steps that can't be fully automated, like authenticating to a VPN with 2FA under certain security frameworks...!)

</comment></comment><comment><USER9> Great article. Documentation is always tough - I still haven't found the right solution. Its nice to see some SRE people that care, most 1st/2nd line support I've worked seem to just escalate anything non-trivial which is frustrating, but also useful.

If SREs are too good developers lose touch with production and get lazy.

<comment><USER10> Reflecting on my time in frontline support, 1st level folk have limited skills, limited resources in terms of time and tooling, and in particular tend to have pretty tight metrics applied to them. They pretty much _have_ to escalate quickly, or they'll be yelled at, or worse.

Some of them flat out don't belong in Support. But poor management and poor metrics drive behavior in unhelpful directions, too.

</comment></comment><comment><USER11> I wish there were more articles like this for sites that are considered gray areas like gambling or porn.

<comment><USER12> For porn, Youporn has had some technical (or technical PR) submissions multiple times over the years.

"Youporn.com is now a 100% Redis Site" (126 comments, 5 years ago)[1]

"How YouPorn Uses Redis: SFW Edition" (95 comments, 4 years ago)[2]

"YouPorn: Symfony2, Redis, Varnish, HA Proxy... (Keynote at ConFoo 2012)" (49 comments, 5 years ago)

There's more in the HN search.

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

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

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

</comment></comment><comment><USER13> i am always surprised, that gambling sites and similar business with questionable morality

dont face hard time recruiting top engineers , i always though this would be a major concern

<comment><USER14> In the UK it is less of an issue, because the industry is well-regulated and gambling (esp sports betting) is seen as an acceptable pastime akin to social drinking.

Occasionally people expressed disquiet, but since the main alternative in London is working for banks, there wasn't a great deal of choice. Personally I don't see the excessive advertising we are subject to as much better for society than gambling being available, but hey.

<comment><USER15> > Occasionally people expressed disquiet, but since the main alternative in > London is working for banks, there wasn't a great deal of choice.

Did both. Gambling is very similar to finance.

Turns out that finance pays more and treats their employees better.

<comment><USER14> Have done both also, with the same experience... we may have worked for the same orgs :)

</comment></comment></comment></comment><comment><USER16> > The team I joined was around 5 engineers (all former developers and > technical leaders), which grew to around 50 of more mixed experience across > multiple locations by the time I left.

Unfortunately, it's difficult for the audience to determine whether the author's success is attributable to the philosophy in the post, or the 10x growth in staff.

<comment><USER17> The author attributes both his success, and the team's growth, to his documentation philosophy. It does make some sense - improving process documentation for the most common issues will help ensure new team members resolve these issues consistently and effectively, both increasing their utility to the team and their personal morale. How much is directly attributable to him is open to debate.

<comment><USER14> The team's growth was partly because of its perceived success at managing operations, but also because of large growth in customer base and application sprawl. The business model we had depended on fast releases and customers who refused to pay for much-needed testing or QA, but were happy to pay for the support we provided. Not saying that's a good thing, but it was the plate we were served.</comment></comment></comment>


Tesla sneaks past Canada EV incentive law with cheap 93-mile-range Model 3 - <AUTHOR> https://www.engadget.com/2019/05/01/tesla-sneaks-past-canada-ev-incentive-law-with-cheap-93-mile-ran/ <comment><USER2> Could Subaru resell Model 3's rebadged and allow their customers to claim the $7500 tax credit?

</comment><comment><USER3> Future news headline: "Software limited range upgrade offered to Canadian Tesla Owners"</comment>


Silicon Valley billionaire backs futuristic philanthropy - <AUTHOR> http://www.mercurynews.com/business/ci_16792615 <comment><USER2> The SENS Foundation (Aubrey de Grey's outfit) is amongst those presenting. You might recall that Thiel donated $3.5 million to fund research into repairing the biological damage of aging a few years back.</comment>


How the Death of Net Neutrality Could Be the Death of Blockchain - <AUTHOR> https://medium.com/aetherunited/how-the-death-of-net-neutrality-could-be-the-death-of-blockchain-deed71a6ee9 <comment><USER2> kind of a US centric view of blockchain.</comment>


Ask HN: Localization - Just say no, do it, or do it when the time is right? - <AUTHOR>

We frequently get language/translation requests for our group deal app. The problem is that we get these requests from free users mostly, and it's not exactly a feature that we're excited about adding (more importantly, we can't afford a translator now). Do we cave in, or just say no and postpone it? <comment><USER2> One thing that we've learned the hard way: the more you wait before you add localization to your app, the harder it is. Ideally, localization should be thought of since day 0.

You don't need to have an actual translation, but at least you want to make sure that every string that gets added to your project is enclosed in a proper localization call. It should a strict policy in the dev team.

Once you've done that, it's quite easy to get your translation done by the community. Even Facebook does it.</comment>


Dangerous Knowledge: Cantor, Boltzmann, Gödel and Turing documentary - <AUTHOR> http://topdocumentaryfilms.com/dangerous-knowledge/

<comment><USER2> Gödel committed suicide because the Brittish state persecuted him for being gay, which they recently issued an official apology for. To make a headline and article introduction that claims he commites suicide because of his genius is pretty tasteless.

<comment><USER3> That was Turing, not Gödel.

And they didn't apologise for Turing's death.

[https://en.wikipedia.org/wiki/Kurt_G%C3%B6del#Later_years_an...](https://en.wikipedia.org/wiki/Kurt_G%C3%B6del#Later_years_and_death)

> In later life, Gödel suffered periods of mental instability and illness. He > had an obsessive fear of being poisoned; he would eat only food that his > wife, Adele, prepared for him. Late in 1977, Adele was hospitalized for six > months and could no longer prepare Gödel's food. In her absence, he refused > to eat, eventually starving to death.[19] He weighed 65 pounds > (approximately 30 kg) when he died. His death certificate reported that he > died of "malnutrition and inanition caused by personality disturbance" in > Princeton Hospital on January 14, 1978.[20] Adele's death followed in 1981.</comment></comment>


Ask HN: Legal Side of Starting a Business - <AUTHOR>

My wife and I want to start an online hobbyist business, wherein we will contribute to a small international gaming community through information, direct services, and advertising assistance.  As this is our first endeavor at starting a business, our biggest roadblock is figuring out what we need to do on the legal side of things before we can begin to accept money.  We have no idea what type of business to register as, so we have been sitting on the first step at legalzoom.  We poked around at findlaw to see if we could find a good local firm that covers our interests and have yet to actually meet with someone in person and establish a relationship.
I noticed a lot of people talk about startups on this site, but they focus on the technical aspects.  What are the recommendations on the business law side?  Is there a minimum amount of revenue we need before we should consider it?
Thank you for your advice! <comment><USER2> In my very limited experience, the biggest question is if you will be having outside investors. This usually means you will need a C-corporation. It seems like that won't be an issue here. An S-corporation (which is still a corporation - just a different tax status) is a way to structure yourself as a corporation without having double taxation - taxed on profit for your business, and taxed on the wages you pay yourself. I don't recommend a sole- proprietorship because they have limited protection as a corporation (it's like personally guaranteeing a loan). Also, you may have trouble with having it in two people's name.

The way I've learned about this is through various blogs, and Quora. Here is one of the first ones I began reading, that very clearly explains legal startup issues, and is very available in terms of time and discussing things on the phone. [http://walkercorporatelaw.com/startup-issues/choice-of- entit...](http://walkercorporatelaw.com/startup-issues/choice-of-entity-for- entrepreneurs/#more-864)

Good luck! It's not too hard to wade through this after reading for a couple of days.</comment>


Making of Box - robots in kinematic art - <AUTHOR> http://www.youtube.com/watch?v=y4ajXJ3nj1Q

<comment><USER2> Brilliant stuff.

Personally, I can't wait until projection mapping gets interactive, so that we can influence (to some degree) what is seen on the side of buildings, or installation art etc from our smartphones.

Some sort of turn-based control would need to happen, or some sort of design- allowance for multiple users to influence the visuals.

</comment><comment><AUTHOR> The finished work: [http://www.youtube.com/watch?v=lX6JcybgDFo](http://www.youtube.com/watch?v=lX6JcybgDFo)</comment>


Engineers Hate Your Take-Home Project – Here's How to Fix It (2018) - <AUTHOR> https://angel.co/blog/engineers-hate-your-take-home-project-heres-how-to-fix-it <comment><AUTHOR> Anyone with open source examples like the couple in the post??</comment>


Ask HN: Why do 37signals and others not accept PayPal? - <AUTHOR>

Hi all,
I've been wondering about this for a while. It seems as though there are a lot of people out there who would prefer to use PayPal to pay for things online, either due to lack of a credit card, or because they already have a PayPal balance from selling things online, or even just because they feel PayPal is secure and/or familiar.
I've searched the 37signals' website and blog for a reason, but didn't find anything, and it seems like others are taking the same approach.
Can anyone shine any light on this?
Thank you. <comment><USER2> I accept a fairly high volume of payments and intentionally don't accept Paypal. Here's why:

1\. 99.9% of my paying customers have a credit card <\---this is #1 for a reason

2\. I've only had ~3 customers ever complain about my lack of Paypal. I made a special arrangement for 1. She ended up canceling.

3\. Paypal doesn't allow the custom flows (upsells, cross-sells) that I can do with my shopping cart

4\. Paypal doesn't integrate as nicely with my backend analytics, and I prefer to have all my sales centralized

5\. Hearing bad bad horror stories about Paypal is just another, distant reason why I feel no urge to use them

Hope this helps.

<comment><USER3> Question here:

2\. You say that 3 customers complained. Is your product/service so specific that users that can't pay using PayPal complain? Are you sure that they just don't go away? What if you lost 297 customers?

<comment><USER2> Doubtful. In order to find out why people don't buy, we do heavy, ongoing customer research/surveys/phone calls with people who are on our prospect list but haven't purchased after the expected purchase time frame.

Hardly anyone, ever, has said "I haven't bought your course because you don't support Paypal."

</comment></comment></comment><comment><USER4> I frequently look for a PayPal button / logo because I'm lazy. My card details are saved with PayPal and it's easier to enter my email address and password, then click confirm than to get my card out of my wallet and type the details in manually.

As a consumer, it doesn't make a damn bit of difference to the end cost (most of the time, unless the merchant charges a PayPal Premium) and saves me time.

It's the same reason I buy most of my music from iTunes and pretty much everything else from Amazon.

</comment><comment><USER5> I recently stated this in another comment regarding payment systems.. I wouldn't rely on just one. A merchant account through a bank CAN get suspended or put on hold if you trip any risk ratios (e.g. inquiries, chargebacks, refunds). So, indeed, PayPal does have its share of stories of accounts being suspended without explicit reason; however, merchant banks have the same power and believe me when I say that they can lock/suspend your account, and hold your funds for 6 months without ANY detailed explanation and without interest.

Secondly, PayPal does have a new API called PayPal Adaptive Payments. It's very flexible.. pre-approved payments, distributed payments (refunds also mapped backwards), chained payments (multiple source accounts for making payment). Full details on their API PDF docs (easy to understand):

[https://cms.paypal.com/cms_content/US/en_US/files/developer/...](https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_AdaptivePayments.pdf)

So, even if you don't feel all warm and fuzzy about PayPal.. you should have an account handy, and think about having it as a payment option on your site. Some users swear by it because they don't have to share any sensitive credit card information (including CVV coddes) with the merchant.

<comment><USER6> >>Some users swear by it because they don't have to share any sensitive credit card information (including CVV coddes) with the merchant.

I tend to be one of those .. Dispute resolution with Paypal is a much better experience as compared to dealing with, say Bank of America ... I was lucky to have had my paypal account on itunes when I had some fraudulent purchases .. No long claims process as with a bank .. The investigation and the matter was settled within 3-4 days ..

Now I've read about paypal arbitrarily stopping services without any warnings but other banks can be the same..

<comment><USER7> Bank of America is a particularly crappy bank. US Bank is marginally better in my experience, and ING Direct is by far the best. Particularly in terms of dispute resolution, US Bank was very easy to work with, and settled the matter within I think less than a week. (My ING Direct debit card number has yet to be stolen, and when a whole bunch of debit card numbers were leaked by a third party, they preemptively mailed me a brand new card along with a friendly letter explaining the situation.)

But the real solution for dispute resolution is to use an ordinary credit card and put through chargebacks on any and all fraudulent purchases. Lacking the stomach to keep a credit card I don't do this myself, but I hear chargebacks are very easy by design.

</comment></comment></comment><comment><USER8> probably because of the fact that paypal is an unreliable source on which to build a business once it becomes big enough.

there are too many horror stories.

<comment><USER4> This was a constant worry in my previous business (in the retail sector), but we did over £140,000 (GBP) of sales through PayPal over the two years we were active and never had a problem.

I'm considering using them with my new startup just for the first few months while I get up and running, purely because the setup cost is free. If I can prove the business idea works then I'll upgrade to a "proper" payment gateway.

</comment></comment><comment><USER9> Well, i think 37Signals, YardEngine and GitHub uses BrainTree instead of Paypal, and IMO BrainTree is the best solution. I was helping the guys of <http://rega.la> to build the online payment part and i noted that for Credit Card payment is so cool. Other way you can use is BOKU(<http://www.boku.com/>) which uses mobile carriers to make the money transaction in 3 simple steps.

</comment><comment><USER10> I'd add Paypal support to GitHub if Braintree integrated it with their system so I wouldn't have to interface with Paypal directly. Too many horror stories.

</comment><comment><USER11> <http://news.ycombinator.com/item?id=1598227></comment>


Want a hoverbike? Then fund this Kickstarter project - <AUTHOR> http://www.wired.co.uk/news/archive/2014-07/24/hoverbike <comment><USER2> HN is actually a reasonably good place to follow the history of this story. Here, have a look at the titles and dates:

[https://hn.algolia.com/?q=hoverbike#!/story/sort_by_date/0/h...](https://hn.algolia.com/?q=hoverbike#!/story/sort_by_date/0/hoverbike)</comment>


Trump says Huawei could be part of trade deal - <AUTHOR> https://www.bbc.com/news/business-48392021 <comment><USER2> The question is which is more expensive for the Chinese:

Build all components locally and not be able to sell to US market. Or buy some components from US and still not be able to sell to US while being forced to agree to some US demands.

Remember, the first one also give you the option to ignore patents and licensing fees because "hey your honor we asked but they didn't want our money".

<comment><USER3> Best case for China: problem disappears in 2020, worst case: 2024. This will be a rounding error and their actions show this.

<comment><USER4> Because they have successfully subverted the Democrat politicians and were able to bribe them to look the other way while they wage a multipronged economy war on US?

Maybe. But people got a taste of a different world now, and learned that better is possible. Won't be easy to push them back into 'Can't do anything about China stealing your country piece by piece' pen now.

<comment><USER2> I don't think what happens now is only positive for US.

In the short term Huawei will loose tons of money but this could be the push China needed to commit to become world leader in chip design.</comment></comment></comment></comment>


Show HN: Case Study: Attracting My First 1000 Subscribers - Thoughts? - <AUTHOR>

Hi guys, I recently wrote up this article examining how I used inbound and email marketing to attract 1000 subscribers for a product I am building.
Thought the people here may be interested in the case study.
Case Study: Attracting My First 1000 Subscribers http://www.swiftarcher.com/case-study-attractive-my-first-1000-subscribers/
I would love to hear your thoughts. <comment><USER2> Link: [http://www.swiftarcher.com/case-study-attractive-my- first-10...](http://www.swiftarcher.com/case-study-attractive-my- first-1000-subscribers/)

<comment><AUTHOR> Looks like I don't know how to link properly here :P

<comment><USER2> You're fine. When you type out a submission as you've done, none of the links are clickable by design. It's conventional for someone to comment with the link as comment links are clickable.

You could have also just submitted the URL alone which would be clickable, but then you wouldn't be able to write your message and your post wouldn't show up on the Ask tab, which is where you want it.

<comment><AUTHOR> Thanks!

</comment></comment></comment></comment><comment><USER3> I like a lot your blog post. Very concise and structured. Today's marketing is more about science than art

</comment><comment><USER4> Thanks, it's always good to see approaches, testing, metrics, what works/what doesn't, thanks for sharing!</comment>


Stop your engineers and marketers from driving each other crazy - <AUTHOR> https://medium.com/@dineshraju/stop-your-engineers-and-marketers-from-driving-each-other-crazy-ce57feb2ff2b <comment><USER2> Nice post, the examples really drive the distinction home.

My big takeaway from this is that it's NOT about asking people to compromise their personal values- that probably makes people feel attacked and undervalued.

Rather, it's about getting people to see that different situations require different skillsets- and teams are actually better off when they have diverse perspectives and values- if they can work together respectfully.

<comment><USER3> As a designer who's worked with both marketers and engineers (and not forgetting customer support folks), I can definitely relate! I think a working relationship that's driven by humility and empathy helps everyone focus on creating better work together.

Another point I'd add (from a designer's perspective) to get different teams on the same page is that, cross-team collaboration and communication can often be made more effective and richer simply by using whiteboard and markers during discussions. Having something visual to point at and talk about makes it easier for everyone align themselves to each other's lenses, and also reduce misunderstandings that drive people crazy.

<comment><USER2> Man, I am so jealous of people who can express themselves clearly through drawings and visuals. I try my best, but I'm nowhere near as good as I'd like to be.

A quote comes to mind: "A prototype is worth a thousand meetings." I think it's always easier to get on the same page if we're literally looking at the same thing (as opposed to arguing about our ideas about said thing.)

</comment></comment></comment><comment><USER4> Sometimes it gets frustrating when the understanding is difficult. On the founders side though, you want to be sure that there is the right expectation set in the clients (no over selling features that are not there, no underselling what you have done), which is a combination of the two "zooms".</comment>


Hallucinogen in 'magic mushrooms' might have helped smokers quit - <AUTHOR> http://www.washingtonpost.com/news/to-your-health/wp/2014/09/12/hallucinogen-in-magic-mushrooms-might-have-helped-smokers-quit/ <comment><USER2> Mushrooms can be extremely introspective, I would imagine this could easily lead people to re-evalute their life choices in a more permanent manner than normal.

<comment><USER3> Or in a friend of mine, trigger latent schizophrenia, ruin his degree, lose his girlfriend, flatshare and end up living in the back of his car for 3 years.

YMMV.

I'd rather not flip the coin on drug use. That goes for a fair number of prescription drugs as well for reference.

<comment><USER4> Had a relative that was given intravenous penicillin by a GP and it almost killed her. Knew a guy once that almost died by bee stings. Had a friend in school who started smoking pot at age 12 and it destroyed his life.

Life is about risk, and everything we ingest has the risk to do terrible things to us. You can die from too much water. So the question isn't whether things or good or bad, rather who gets to assess the risk and what tools do they use?

Would I want my 16-year-old assessing the risk of magic mushrooms? Hell no. Would I want my drug addicted 35-year-old cousin? Yeah, probably. So the real question is who gets to decide. And why. I'm completely comfortable with some kind of psyilocybin addiction treatment coordinated (but not approved by) a GP or LCSW.

I also would rather not flip the coin on drug use, including a fair number of prescription drugs. But as a voter I remain convinced of my right to change my mind and not have others make that choice for me. The problem we're seeing now, that is only just getting started to be addressed, is that vast numbers of chemicals have been off-limits for even scientific exploration of benefits. That means nobody can assess the risk -- of things that might have great benefit to mankind. That's whacked.

<comment><USER3> The thing is that health expenditure and legalisation are proportionally tied.

Thou who bites off the latter, increases the former in psychiatric and general healthcare.

And that's not fair on everyone else. So perhaps you should forfeit your right to free healthcare when you make that choice?

(I speak with respect to the NHS in the UK).

For ref, I'm allergic to penicillin as well. Fortunately because we have research budgets, we have other antibiotics. Perhaps expenditure on drug related problems (crime, psych, healthcare) should be diverted into that?

<comment><USER5> > Thou who bites off the latter, increases the former in psychiatric and > general healthcare.

Do you have data on the overall cost of legalization/decriminalization? _Surely_ the decrease in the cost of incarcerating drug offenders is significant.

</comment></comment></comment></comment></comment><comment><USER6> Anyone find a link to the actual study? The author basically presents this as:

\- take some smokers

\- give them therapy for 5 weeks

\- dose them up on psilocybin

\- hope they stop smoking.

I am guessing there was more to the study then that.

Also the results of the study are never even listed, except for saying that it "worked in most cases".

Honestly, I am all for studying the affects of these drugs but this article is pretty garbage.

<comment><USER7> only abstract seems to be freely available online:

[http://jop.sagepub.com/content/early/2014/09/06/026988111454...](http://jop.sagepub.com/content/early/2014/09/06/0269881114548296.abstract)

<comment><USER8> Here you go:

"Pilot study of the 5-HT2AR agonist psilocybin in the treatment of tobacco addiction", Johnson et al 2014 [https://pdf.yt/d/i123Xa2YOeU3os-6](https://pdf.yt/d/i123Xa2YOeU3os-6) / [https://dl.dropboxusercontent.com/u/5317066/2014-johnson.pdf](https://dl.dropboxusercontent.com/u/5317066/2014-johnson.pdf) / [http://libgen.org/scimag/get.php?doi=10.1177%2F0269881114548...](http://libgen.org/scimag/get.php?doi=10.1177%2F0269881114548296)

</comment></comment></comment><comment><USER9> I think it's hypocritical to defend keeping other drugs illegal while allowing alcohol and tobacco to thrive. Either we go full puritan and forbid all drug use, or this talk of defending people from themselves is just protectionism for the tobacco and alcohol industries.

</comment><comment><USER10> I know it's easier to say "it's obviously bad, so we must ban it"... but I wanted to share some thoughts too. (I don't use drugs, I stopped smoking, I still drink alcohol)

Cantaloupe can kill me (allergy), so I choose not to eat it. Darwin at work... For similar reasons, I'm not pro-drugs.

But I don't think a ban on cantaloupe is needed, the same way I think drug prohibition is not an appropriate response to drug abuse. I know it seems far stretched, but please read on.

We base our choice on perceived risk vs benefits. People who decide to use drugs that could kill them probably don't care about the law. If you accept a high risk of death, jail shouldn't look like a major risk for you.

The fact that a majority of people have tried drugs prove that prohibition only allows punishment, but it doesn't prevent drug abuse.

Reconsidering prohibition doesn't equal being lawless: if a drug addict kills/hurts/steals from you, he risks jail anyway for that (not so much for using drugs!). Prohibition doesn't protect us.

Reconsidering prohibition might open the society for more evolution. Research could lead to real health benefits under medical supervision. Maybe a startup could find ways to explore the effects of some drug safely. Maybe the society would start teaching people about psychology and altered states of mind... Maybe drug traffics would plummet, leading to less violence. Maybe we could then treat all addictions, without a legal vs illegal barrier which is probably barring some from seeking help. And I believe I'm not creative/clever enough to imagine all those changes that would occur.

Lastly, it's widely accepted on HN that we must measure the effects of the actions we take. Reconsidering prohibition will allow such measurement and we'll build our future more wisely.

There will still be casualties, but think again about that cantaloupe... You can't ban cantaloupe to save me from myself.

<comment><USER11> I don't think that people using potentially dangerous drugs want the drug to kill them, or have a complete disrespect of the law. While alcohol isn't an _illegal_ drug let there be no mistake that it is absolutely a drug in every sense of the word and there is high risk of abuse, dependence, and harm. A huge number of people die each year from the abuse of alcohol. AA exists for a reason and you can buy beer almost anywhere.

But let's not talk about drugs that pose a mortal risk for a moment. Instead, let's focus on the topic at hand which is psychedelic drugs such as LSD, psilocybin mushrooms, DMT, etc... These all carry different risk profiles individually but overall it is safe to say that risk of dependence or lethal overdose are several magnitudes less than that of alcohol, cocaine, nicotine, or opiates. Yes, there is always the chance of a bad trip and it is entirely possible that poor decisions are made on LSD or mushrooms (if you are making poor decisions while on DMT, it would only be in conversations you're having in your head as you aren't walking about on that drug). I also don't know anyone addicted to LSD.

And while I've heard of few people having life-changing positive breakthroughs while trash drunk on alcohol or buzzing from nicotine, I have met scores of people who have had such experiences on comparatively safe psychedelics.

As you say, prohibition has run its course especially for psychedelic drugs and must end. Are there 'bad' drugs out there? Absolutely! But there are many more positive ways to deal with them through education and resources.

<comment><USER10> I agree with you, on every point. As for risks, it's just a risk, a probability... Cantaloupe won't kill me instantly either. And I've tried hash/weed before (as well as another unidentified drug poured into my glass. my girlfriend bought the glass. Probably GHB. I actually liked it, I only regret not choosing it).

And I must say I'd like to try LSD.

Yet there's a risk. I've suffered a cerebral stroke 10 years ago, and that condition could raise that risk. I'm aware of it. Anyway, _I_ decide.

Prohibition? yes, it's hugely inefficient. We grow as we learn to deal with our lives by ourself... Prohibition tries to prevent the society from coping with problems, without avoiding the problems themselves. How is it supposed to even work?

</comment></comment></comment><comment><USER12> "Heroin might have helped smokers quit".

<comment><USER12> It's incredible how any anti-drug sentiment touches a nerve of the pro-drugs crowd here. Multiple people were offended enough to go and downvote every one of allegory's comments. This is fucking ridiculous and you should be ashamed of yourself. You claim that "we need a debate" but you react to expressions of anti-drug sentiment, by putting up a straw man interpretation and downvoting without explaining yourself. What the fuck? Your downvote deserves a downvote.

My original comment is pointing out the title is stupid and uninformative.

<comment><USER13> > Multiple people were offended enough to go and downvote every one of > allegory's comments.

I can't downvote, so I'm not one of those who anger you so much, but allegory is most likely being downvoted for presenting anecdotes as conclusive evidence and dismissively referring to anyone who disagrees with him as having opinions lacking experience.

If we're dressing up anecdote as evidence then I have plenty of my own, but I'm well aware of how useless they are at informing debate.

<comment><USER12> He is not being downvoted for those fake-impassionate reasons. Some others have negated this bullshit and re-upvoted, but during the worst of it, all of his comments, even the ones that didn't exhibit what you say, were downvoted multiple times.</comment></comment></comment></comment>


13 Minutes to the Moon – Ep.05 the Fourth Astronaut - <AUTHOR> https://www.bbc.co.uk/sounds/play/w3csz4dn <comment><AUTHOR> A 45 minute pdocast by the BBC about the design and build of the Apollo Lunar module guidance computer.</comment>


Ask HN: Looking for User Test Volunteers - <AUTHOR> Not so long ago I made a survey about open source contributions (https://news.ycombinator.com/item?id=21780294) and found out that lots of developers want to contribute but are not sure how exactly to do it. We want to change this.
We are now looking for people to test our product idea. Please signup and help us build it.
#How?
We are doing a product test, and you will give us valuable feedback. We will connect in Zoom/Skype/whatever and send you a link to our prototype. Your task is to make sense of it how it works and to play our tutorial/game till the end.
#How long will it take?
About 1 hour - not only the task but we would like to ask you some questions during the test.
#What do I need to be able to help?
1. You need Zoom or Skype client to be able to share your screen. Let me know if you have any other client and we'll try to use it.
2. You need a microphone to talk with us.
3. A webcam would be nice, then we can see each other.
4. Register a GitHub account if you don't already have one.
5. Make sure you have git installed on your compuer and usable in the Terminal.
6. Have a text editor to edit code.
#Who exactly are we looking for?
Developers who have never contributed to open source. If you are an experienced contributor, the task will be too easy for you and we all will not learn anything from it. It will also help if you are comfortable with working with the Terminal/Command line. There are some git commands in the game that will require some work in the terminal.
#What timezone? When exactly?
We are located in Hamburg, Germany (GMT+1). We can do the interviews between 18:00-19:00 and after 21:00 on weekdays. On weekends we are more flexible. Just post if you are interested and when you are generally available and I'll get in touch.
#Where do I sign up?
Here: https://forms.gle/HuqoMYrpfvDYHRaM7 <comment><USER2> Which programming languages are you going to support?</comment>


Justin.tv porting their site from Rails to Django? - <AUTHOR> http://www.djangohire.com/a/jbb/job-details/612877

<comment><USER2> Hey guys. This was my call, so I guess I should explain. I'm typing from my iPhone, but here goes:

Our site is over 5 years old, and if you've followed Justin.tv at all, you know it's been pivot city. All of those pivots have left their mark on the aging code base. It also turns out that many of our assumptions about how to build and scale a high traffic web app are no longer relevant. Servers are 10x faster, bandwidth is dirt cheap, and SSD's have entirely changed the database world.

There is nothing wrong with Rails, but everything else at Justin.tv is written in Python, so I wanted to use that. Switching languages has the benefit of forcing us to remove stuff we don't need anymore and implement the minimum set of features needed; cut and paste doesn't work across programming languages the last time I checked, and that's a good thing in this case.

Django has come a long way as a framework, to the point where it no longer "gets in the way". But the main reason I like it is that it's simple and it's python. All of our backed systems and video libraries are in python, so it will be nice to be able to share more code and leverage the brainpower of the non-ruby programmers at Justin.tv. There are many.

One thing I'd like to make clear- this isn't one of those massive, paralyzing rewrite projects. Justin.tv's website alone is not terribly complex. The scope of this is limited to porting only the templates still in use, porting over the minimum set of features, and removing as much cruft as possible. Our API, chat, video, data stores, and 99% of the infrastructure are untouched.

If you want to help build what will quickly be one of the top 5 django sites in the world, I'm hiring. Team is just two developers right now (everyone else works on TwitchTV) and we're looking for a lead developer.

<comment><USER3> Sounds mostly reasonable, but would you mind explaining why you ended up using RoR if you are mostly a Python shop?

<comment><USER2> 5 years ago it was four dudes in a two bedroom apartment trying to run a reality tv show. Web frameworks were the least of our problems, especially since none of us knew any Ruby or Python to begin with.

</comment></comment></comment><comment><USER4> I've tried three times to switch from Rails to Django, but each time I ended up coming back. Python isn't bad, but it's a more asymmetric development experience than Ruby (IMHO) and simply doesn't sit as well with me.

However, Django is just so radically different in its approach than Rails. It may have the admin console baked in, but other than that I felt that Rails was far more "batteries included". It's nice that it leverages the Python ecosystem in many cases, but I found it frustrating to have to make so many decisions on what to use when Rails typically provided most everything I needed (minus auth and file uploading...but two gems quickly solves that).

I'm sure if I had learned Django first instead of Rails it would be a different story. As it stands, if switch to anything in the future it's likely to be Play! (<http://www.playframework.org>).

ymmv

<comment><USER5> Having learned Django first, and attempted to build stuff with Rails (for intellectual curiosity) multiple times, it's interesting how I have basically the exact same opinion as you in reverse.

For me, the Django way of doing (almost) everything makes sense. Rails feels backwards. I also feel like I get more baked-in with Django, even when not factoring-in the admin. And its distinction of "Apps" vs Rails' "Gems" makes me feel like I have a lot more available from the community in terms of third- party plug-and-play code. Being able to have a minimum viable product without writing a single line of my own Django code because of apps in the community just doesn't exist for Rails as far as I could tell.

</comment></comment><comment><USER6> It's hard to know all the details but it seems like most other video providers* scale by using http caching [max age + etags] with a CDN. Language performance isn't really the bottleneck remote calls are much slower :/

I have never hosted/written a django app, do people typically run a request in a thread in django? I thought python had a GIL just like Ruby (1.9+).

I wouldn't recommend using something like rails to stream video, however there are tons of great asynchronous ways to do this and it seems like the justin.tv guys are familiar with this. I would be curious to hear why the rewrite?

* youtube: <http://highscalability.com/youtube-architecture> * itunes: I have a friend on the itunes team and from what i can garnish from him their java servers are single threaded and their boxes hum around 10% cpu usage however they are bound on memory (similar to rails as they are not using java threads for each request). Akamai serves most of the content as I understood it.

<comment><USER7> > I have never hosted/written a django app, do people typically run a request > in a thread in django?

Depends on the handler, mod_wsgi allows for m:n (mixing threads and processes) for instance.

> I thought python had a GIL just like Ruby (1.9+).

That's correct, but any C IO (such as DB queries) will generally release the GIL, which allows other threads to run.

(technically, CPython has a GIL, Python-the-language does not mandate it and neither Jython nor IronPython use a GIL. Pypy also has a gil currently, but Armin has started exploring STM to see if it would be a good replacement)

<comment><USER8> > That's correct, but any C IO (such as DB queries) will generally release the > GIL, which allows other threads to run.

Ditto with Ruby too.

</comment></comment></comment><comment><USER9> Related question: [http://www.quora.com/Django/Why-is-Justin-tv-porting- their-c...](http://www.quora.com/Django/Why-is-Justin-tv-porting-their- codebase-to-Django-from-RoR)

</comment><comment><USER10> What is justin using for streaming these days? Wowza? Something they built themselves (I know they used a custom built python solution initially, but they moved to something else along the way). Are they using ffmpeg to transcode the high bitrate game streams to the lower bitrate streams for viewers with slower connections? It's been a long time since that high scalability article came out.

</comment><comment><USER11> One possible reason for this change is that Justin.tv has long used Twisted (<http://twistedmatrix.com/trac/>) for their network engine, and Twisted is written in Python. I'm not sure if they're still using Twisted, but if they are there might be some advantages to using Python for their web layer as well.

<comment><USER12> It's possible but that probably doesn't mean integration is easy. Writing async code in python forces you to use the-twisted-way or the-greenlet-way. That is the problem with language / standard lib lack of support for async calls - that is part of the appeal of node.js.

I doubt just reusing the twisted code inside the django app makes much sense for that reason (nor does the other way round).

</comment></comment><comment><USER13> I wonder how they'll avoid the "second-system effect". (<http://en.wikipedia.org/wiki/Second-system_effect>)

<comment><USER14> Second system effect is a possibility. Not a mandatory trap for any team doing a second iteration of their product.

All it takes is for a single person on the team to be aware of the risk and to warn his colleagues.

I would also argue that Justin.tv has enough experienced engineers to avoid the SSE.

SSE is a kind of trap that preys on ignorant and inexperienced.

</comment></comment><comment><USER15> I wonder what the motivation is. RoR is more mature and it otherwise is a fairly lateral port in terms of features and speed.

Both are dynamically typed and tremendously slow compared to the right .net or JVM stack. That would be my main criteria for stack selection in a project of this magnitude.

<comment><USER16> > RoR is more mature [...]

Really? Really?!?

<https://rails.lighthouseapp.com/projects/8994/tickets/1203>

Marking a bug as "wontfix" because the developers of the RoR platform are arrogant enough to say, and I quote, "[...] figure out what other software is putting that version in your environment and stop it from doing so" is now called mature?

The dialogue on this bug alone was enough for me to put RoR in my rear-view mirror and not look back.

Which would you rather use: a tool which demands it is the _only_ tool on your system which can set environment variables (RoR), or a tool which plays well with others (Django)?

<comment><USER17> I believe "mature" is a term used to indicate that software is farther along, has more mindshare, and whatever benefits that come along with that.

<comment><USER18> As someone who's worked with both Rails and Django professionally for years, Rails is far more mature. Both are quality frameworks, but Django has far more warts, and the quality and number of good third-party libraries really isn't close. Django has forms and the admin going for it, and South is really excellent, but on the whole Rails feels better thought-out and more flexible than Django.

Django is very strong as a rapid-development tool (forms, generic views, admin), but I am more comfortable with Rails for a project with a reasonable timeline. Django class-based views are a far cry from Rails controllers.

</comment></comment></comment></comment><comment><USER19> Not sure if they will gain a lot of performance from this transition...according to shootout ( [http://shootout.alioth.debian.org/u64q/which-programming- lan...](http://shootout.alioth.debian.org/u64q/which-programming-languages- are-fastest.php) ) python is only few % faster than ruby. Maybe they should consider porting their entire ecosystem to JVM as twitter did it.

<comment><USER20> They could run the site on PyPy as opposed to the CPython interpreter. Postgres and Django are well supported.

<https://bitbucket.org/alex_gaynor/pypy-postgresql>

[http://speed.pypy.org/timeline/#/?exe=3,6,1,5&base=2+472...](http://speed.pypy.org/timeline/#/?exe=3,6,1,5&base=2+472&ben=django&env=1&revs=200&equid=off)

<comment><USER21> I would feel hard pressed to sell PostGres with PyPy as well supported at the moment.

Django maybe, purely because it doesn't depend on too many C Libs.

</comment></comment></comment><comment><USER22> It seems like it would be easier to rewrite the site in a newer version of Rails rather than switching platforms entirely, so it sounds like someone's skillset is more Python based.

Oh! Does the Python world have something like Rack?

<comment><USER23> Yes, there is WSGI which Rack is roughly based on.

WSGI 1.0, PEP-333: <http://www.python.org/dev/peps/pep-0333/>

WSGI 1.0.1, PEP-3333: <http://www.python.org/dev/peps/pep-3333/>

</comment></comment><comment><USER24> "We're located in downtown San Francisco and have a sick office overlooking Market St."

hope sick office is a typo, must be slick office

<comment><USER25> Also US colloquial for very awesome, good, etc. Just like 'sweet'. <http://www.urbandictionary.com/define.php?term=sick>

<comment><USER24> now I understand why natural language processing is tough, nuances, context and downvotes

<comment><USER26> For an even more extreme example, see some of the comments on this: [http://www.reddit.com/r/australia/comments/kq3l7/how_bad_a_w...](http://www.reddit.com/r/australia/comments/kq3l7/how_bad_a_word_is_cunt_to_australians/)

</comment></comment></comment></comment><comment><USER27> I switch from Rails to Django a while ago. On a feature base the two frameworks are equals. I explained it in depth in this video <http://vimeo.com/31083901> ( It's in Italian,mf.Du you speak it?! :-) ). Basicaly I turn on django beacuse I prefer Python to Ruby: again the two languages starts from the same assumptions ( Guido also told that ) it's just my personal taste. Also django do things THE WAY I like more. For ex: the configuration is simpler because it uses python files as config an not [name yours]ml. That said in DEVELOPMENT MODE ( production is a total different world ) Django is faster than Rails. The time to running test/ start dev server is not 100% of a developer productivity so I'm not saying that django is more productive than rails. I'm saying that I'm more productive with django than with rails. Use C++, Fortran ,Lisp ,Scala what ever you want: just deliver good software. PLZ

<comment><USER28> Minor grammar Nazi point (since you mention you are Italian, and might be interested) - "turn on" is either "sexually attracted to" or "suddenly attack", depending on the context. i.e. "She turned me on, the smell of cigarettes is not a turn-on for me, the dog suddenly turned on me and started biting". I've no idea why ...

You mean "turned to".

<comment><USER29> Then why does "...turned on a television" work?

<comment><USER30> Because it's a phrasal verb with multiple meanings: [http://www.macmillandictionary.com/dictionary/american/turn-...](http://www.macmillandictionary.com/dictionary/american/turn- on)

<comment><USER29> Right. The OP's comment made it seem like there are only two definitions of that phrase(neither of which applied to my example):

 _"turn on" is either "sexually attracted to" or "suddenly attack"_

<comment><USER28> Yeah, I couldn't think of any other's. Phrasal verbs are tricky like that.

</comment></comment></comment></comment></comment></comment><comment><USER31> Like putting roller skates on a turtle.

</comment><comment><USER32> > _I talked to someone from Justin about 2 years ago. He told me they wrote > Twice to scale Rails because there was no easy way to make Rails fast._

Doing it wrong.</comment>


I am Doing HTTP Wrong - <AUTHOR> http://lucumr.pocoo.org/2012/4/14/im-doing-http-wrong/ <comment><USER2> Oh wow. I did not expect this to hit hackernews considering the slides are totally not intended to be consumed without notes. Let me just quickly point out a few things before I write up something longer about this thing.

First things first:

> I'd like to add that maybe Fireteam should have not chosen HTTP as a > transfer protocol for games, where state is everywhere and HTTP is > stateless. Although I don't feel qualified to suggest alternatives.

We have very good reasons for supporting HTTP but it's not the only protocol we're implementing. As pointed out on one slide: HTTP is better supported than raw socket connections on certain devices we care about.

> Trying to over-abstract network communication is one of the classic mistakes > in distributed system design.

We're not doing that. If you look at the slides we're 100% HTTP compliant, we don't make some fancy schmancy protocol on that just uses HTTP as a transport layer but does not embrace it. I have the "pleasure" to use SOAP in the past and this is not what we're after.

We're basically treating HTTP as an implementation detail for JSON/urlencoded etc. REST. and we do that by sprinkling a ton of meta information around in the code. Once the request was dispatched to the function it's returned to the valuable information. One layer higher all the HTTP logic happens.

The general workflow however is fundamentally different from what I did in the past with Flask or how Django works which also explains the title.

I will write something up because I think from the slides alone you get a completely wrong impression about why this is cool :-)

<comment><USER3> Interesting! This seems like something that might work well with 3.0's function annotation support with the ability to specify that the handler's input argument conform to either a the streaming or buffered interface.

As a point of curiosity about best practices, how are you handling the meta information right now?

It feels like decorators provide the cleanest solution currently, but I've always wondered if there are alternatives.

<comment><USER2> > Interesting! This seems like something that might work well with 3.0's > function annotation support with the ability to specify that the handler's > input argument conform to either a the streaming or buffered interface.

I thought so, but the annotations in Python 3 are largely useless. They would work if you could forward the signatures through a chain of decorators, but ther is no guarantee for that. I did play around with Python 3 but it's actually not in any way better for what we're doing here.

> It feels like decorators provide the cleanest solution currently, but I've > always wondered if there are alternatives.

Decorators require a routing system that can resolve routing "dependencies". We're using the Werkzeug routing which was designed to do that. The basic idea is that it does not matter in which order you define the URL rules, the routing system figures out the ordering.

If you don't have that, you would have to move the definitions to a central file (akin to urls.py in Django) to make this work because you need to define the ordering.

We also experimented with having the meta information in JSON files but it was not really worth it. Having it next to the function makes it easier to maintain it.

</comment></comment></comment><comment><USER4> I'm always eager to hear whatever Armin has to say, but I feel so-so this time, probably because I didn't fully understand or his point was not clearly communicated.

The premise is that you can serialize request and response objects only after you made sure they are fully independent of the underlying protocol.

However, when the protocol is in fact _underlying_ , you cannot fully get rid of its nature, and, for example, resources are still going to be requested by their URLs. The middleware he develops already takes care of the details like the protocol headers and encoding. I believe that even with the best efforts and intentions, HTTP will remain implied.

It is also not clear to me what something like Flask would gain from buffered and serializable objects. At first sight it is a performance penalty rather than a practical improvement, isn't it? I'd like to hear more.

Edit: I'd like to add that maybe Fireteam should have not chosen HTTP as a transfer protocol for games, where state is everywhere and HTTP is stateless. Although I don't feel qualified to suggest alternatives.

<comment><USER5> I have to say that I was equally puzzled by this post the first time I read it. Perhaps having some background information about what exactly he's working on might have helped.

On a second read, it looks like the meat of the post is about decoupling the implementation of your API from the underlying network protocol. Unless I'm missing something, that would be MVC.

Controllers are completely oblivious to the fact that HTTP is being used behind the scene. The routing mechanism takes care of parsing the request, deserializing the request body, instantiating the appropriate controller and invoking the correct action passing the deserialized objects as parameters. Once the controller's action has completed and returned its result, the View is responsible for serialising the response to HTML, JSON, XML or whatever serialisation format you use, and for setting the correct HTTP status code and headers.

So still puzzled, even after a second read.

<comment><USER6> Trying to over-abstract network communication is one of the classic mistakes in distributed system design.

Remember the old "RPC" idea from the 1980's? Despite a huge amount of effort to optimize remote procedure calls, nobody could ever get an RPC to be within orders of magnitude of a real procedure call in speed.

The RPC concept only became mainstream in the 2000's when people had given up on performance; SOAP and POX systems use inefficient XML and JSON serializations and are integrated into http stacks that were designed to use something else. These systems flourished in the 2000's because interoperability, not performance, was the driver.

Now, if you're in an AJAX, Flex or Silverlight environment, you've got the whole asynchronous communications issue -- you can't paper that over with an abstraction layer, you've got to build the whole application around the fact of async comm if you want to build something that really works.

<comment><USER5> Abstraction gone wrong almost always come down to wanting to abstract for the wrong reasons. RPC was all about pretending from the client side that accessing a remote resource was the same as calling a local method. This was and still is non-sense and a prime example of leaky abstraction.

My understanding of the OP's post is that he is talking about server-side issues rather than client-side though. Others have pointed out that he's talking about the design of a specific python library or framework that I'm not familiar with - I'll need to read up on this first.

</comment></comment></comment></comment><comment><USER7> _One of the direct consequences for instance is that the first WSGI request object that starts consuming for data is the one that ends up being the only one that can have it._

Protocols like HTTP that lack length-prefixing of messages have some unfortunate implications for _streams_ of messages.

1\. The reader of the first message must buffer. Since it doesn't know how much it should read, it may buffer too much, and consume some of the second message from the stream.

2\. The reader of the second message needs access to the stream, plus that extra data.

3\. If your stream is a non-seekable file descriptor like a socket, there's no way to rewind, or somehow put that extra data back onto the original stream. This forces you to either (a) convey the stream + extra data, which is less natural or (b) create a new stream for the second message reader, copy the extra data to it, and then copy (in userspace!) data from the original stream into the new stream.

Take a look at any cgi or fastcgi implementation and you'll see something like 3b.

It sucks, and I think makes a good argument for using length-prefixed messages in your internal protocols (or whatever ones you can control).

</comment><comment><USER8> I am not sure whether Ronacher realizes it, but this is exactly the motivation behind Pump [1], an HTTP abstraction that takes a different approach than WSGI. It was criticized a lot by HN [2] and by Ronacher himself [3] but I'm glad that he understands my point of view now.

[1] <http://adeel.github.com/pump/manual.html> [2] <http://news.ycombinator.com/item?id=2810373> [3] <http://lucumr.pocoo.org/2011/7/27/the-pluggable-pipedream/>

</comment><comment><USER9> To be honest I never understood why wsgi conflated buffered and streaming modes in one API. Having two separate specialized sets of API makes much more sense.

<comment><USER10> There isn't any notion of 'buffered mode' in WSGI. It is just left up to the app to buffer as needed before yielding. Middleware and servers are not supposed to perform buffering. So I don't see how the two are conflated. How am I misunderstanding you?

<comment><USER2> > There isn't any notion of 'buffered mode' in WSGI. It is just left up to the > app to buffer as needed before yielding. Middleware and servers are not > supposed to perform buffering. So I don't see how the two are conflated. How > am I misunderstanding you?

The problem is that you would have to support streaming because you don't know what the inner WSGI application is doing. Our stuff does not work on top of WSGI because of that.

At the end of the day it is implemented as a WSGI application but it only uses WSGI for talking to the server.

<comment><USER10> I don't think I have any criticism for your approach on your project.

I was trying to comment on the idea that WSGI somehow conflates buffered mode with streaming mode. How is that even possible when WSGI does not even have a notion of buffered mode?

If you want your app or even your framework to buffer, you can just do that in the app layer. I can't see that the server interface should have additional moving parts just to do what is cleanly doable in the app layer.

I can only imagine this being a disappointment if someone wanted to use WSGI middleware to carry out buffering. But if (edit: internal) WSGI compatibility is not a high priority, then why would you want to use WSGI middleware for this (generally pretty messy)? Do it in your framework or in your app.

So I do not understand the complaint about the 'conflation' of buffering and streaming. I think it is appropriate to leave the buffering decision in the app layer. And it is also reasonable to use WSGI as just a way to talk to a server (what else is it really for? Obviously not to offer a big fat servlet API...)

If you want to do separate buffering and streaming APIs in your app layer then that could be a smart way to reduce complexity but I don't see why this is some sort of complaint about WSGI.

</comment></comment></comment></comment><comment><USER11> I'm missing something: why is Armin mentioning that "slides are useless without the talk" if the link is to a text with no reference of a talk?

</comment><comment><USER12> Sounds like we may be getting another name or acronym to add to the long list of failed technologies that have already tried to promote a similar idea.

We already have ONC RPC, DCE, Java's Remote Method Invocation, Jini, CORBA, SOAP, and .NET Remoting, among many others. Does this family of failure really need to grow any larger?

<comment><USER13> No, this is about how the libraries that bind to HTTP don't actually match HTTP's model of operation.

I've banged on this drum in a couple of cases myself with framework authors, in some cases even right at the beginning of the framework's life, and generally hit a brick wall. HTTP is _not_ a request/response protocol. It certainly once was back in HTTP/1.0, but with pipelining and reusing connections and now websockets (and soon SPDY's server push/hint), it's a streaming protocol that has a common use case where it is used for request/response, and that requires a completely, _completely_ different API than a protocol that is truly request/response. It is a lot easier to build a streaming base that has a special case for request/response than it is to build a request/response base and then hack in bizarre conceptually-impure bullshit for streaming, but every web framework I can find is the latter, if indeed they don't simply punt entirely on streaming because they've written it so thoroughly out of the API. (I'm vaguely aware of some that are actually sensible but all in languages I don't know and haven't gotten to yet, so I'm not sure if they really are built on a sensible base or if it merely raises the bizarre crap to API-blessed status.)

<comment><USER14> Can you describe this further? Reading this guy's post it sounds like he's complaining about the exact opposite problem: that the web framework is designed for streaming and, despite that I agree with you that specializing request/response out of that should be easy, he claims that this seems to make it awkward or impossible for him to have his request/response model.

</comment></comment></comment><comment><USER15> Could someone add a little more context to this please?

<comment><USER16> I'd guess this impetus for this post came about after this meeting at pycon

<http://kennethreitz.com/the-future-of-python-http.html>

</comment></comment><comment><USER17> How about latest buzz websockets?</comment>


Ten percent of NFL players could eventually develop serious brain disease - <AUTHOR> https://www.sciencemag.org/news/2018/11/ten-percent-nfl-players-could-eventually-develop-serious-brain-disease <comment><AUTHOR> Malcolm Gladwell put out a very impassioned podcast ("Burden of Proof") about the number of suicides occurring in college football programs. It's quite the eye-opener and shows the extent to which economic interests (college & pro football income) tend to blind us to the impact the sport has on the players.

[http://revisionisthistory.com/episodes/22-burden-of- proof](http://revisionisthistory.com/episodes/22-burden-of-proof)</comment>


Amazon's Newest Ambition: Competing Directly with UPS and FedEx - <AUTHOR> http://www.wsj.com/articles/amazons-newest-ambitioncompeting-directly-with-ups-and-fedex-1474994758 <comment><USER2> Why would Amazon care if they damaged their reputation with Fedex and UPS? They can just do what UPS and Fedex do when it is too expensive to deliver a package somewhere -- turn it over to the USPS. Amazon is already using USPS to deliver packages on Sundays, which is win-win-win. Amazon wins, USPS wins, and the consumers win. Amazon's home delivery seems to work well where it's been rolled out, and I don't see competitive barriers to rolling it out elsewhere.

I think the article fails to cover a lot of areas where Amazon will have a competitive advantage over UPS and Fedex. First of all, Amazon will be vertically integrated. They can control the packaging. They can control which warehouses are used to store items. This could lead to better packing efficiency in delivery vehicles, and could make automated loading of vehicles easier. If you have a particular route that is usually 110% full or 40% full, you could either move more items to that warehouse or take some away. Plus, Amazon can incentivize cheaper shipping options dynamically. Will the marginal cost of this order be incredibly high because you'll need a second truck for a particular route? Discount one day shipping, or offer two day shipping to their work instead.

On top of all that, Amazon doesn't have unionized employees. That's a huge advantage when you are trying to reduce costs. Not only are their employees wages probably less, but they also don't have contracts that reduce planning ability, like fixed routes, etc.

</comment><comment><USER3> I think this is more an end game move rather than a new ambition.

The best way to take over FedEx and UPS wouldn't be to compete with them directly from the start but make them dependent on your business, so they'd be in less of a position to fight when you have the resources to compete.</comment>


Inside Medium - <AUTHOR> http://www.bbc.com/news/technology-35709680 <comment><USER2> I like the layout and stuff of Medium. I just hate the idea of one website being the place where everyone writes on the web. That's not the web I love. The web I love is full of home made websites and blogs. The aims of medium I can neither relate to or agree with.

<comment><USER3> At the same time, I never can settle on a design that I like at [http://sdegutis.github.io/](http://sdegutis.github.io/). Every year or so I spend a whole Sunday trying to make it look better (today is that Sunday for this year I guess), and it's just always terrible so I eventually just give up and leave it alone. I kind of like the idea of not having to worry about design, and having a decent one just handed to me.

<comment><USER4> Your blog has great content. Found some useful tools in there.

</comment></comment></comment><comment><USER5> The Internet was pretty civil before the riff-raff got easy access. USENET was fun, informative, and most groups had more than a modicum of civility.

Any site that monetizes with advertorials is uncivil; and any online forum can foster civility by having and strictly enforcing a code of conduct.

What's Medium's USP?

<comment><USER6> > most groups had more than a modicum of civility

Fun and informative, yes; civil, largely -- until a vicious and relentless troll and about 4 or 5 of his sockpuppets entered my alt group and littered it with racist, filthy posts. This was around the mid 90s. I never felt so helpless -- I was just an end user. Even if I had control over my own server I would not have been able to kill these posts on other USENET servers. There was a woman, fortunately, who was part of a volunteer group of spam killers who had a magic capability to send a kill post instruction to all servers. She kept half an eye on my group, but it was only half an eye... still, better than nothing.

</comment></comment><comment><USER7> Earlier discussion here (under a misleading title):

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


Possible dinosaur DNA has been found - <AUTHOR> https://www.scientificamerican.com/article/possible-dinosaur-dna-has-been-found/ <comment><USER2> "At best, their biological makers seem to be degraded remnants of genes that cannot be read—broken-down components rather than intact parts of a sequence."

So... what good does that do?

<comment><USER3> Homology studies. A DNA strand 17 bp long is pretty distinct. If a strand that long or longer was found, we would gain a lot of information about the evolutionary history of dinosaurs that we could never get from fossils.

However, the article isn't clear about what they found. It says DNA, then it says there may not be a recoverable sequence. In that case nucleic acids would be a better term than DNA. Without more info on what stain they used to identify the "DNA", the implications of this research are hard to figure out.

<comment><USER4> There was a paper not long ago saying that the DNA half life is about 500k years or so and that most of the DNA would be degraded.

The issue I had with this is why can't we reassemble chunks of DNA like we can with a puzzle.

I'm certain specialized algorithms exist within DNA analysis for this reason. This isn't my field and there are already algorithms that exist on the top of my head that could solve this issue.

The main issue is that you'd have to find a LOT of DNA to build one complete strand and you wouldn't have one strand from one specific animal.

... but you'd have a rough picture.

<comment><USER5> What does half life of 500,000 years mean? Does that mean any given gene will, on average, split every 500,000 years? Or become unusable in 500,000 years?

65 million years would mean 130 halvings. Basically nothing left, then.

...but this may depend on environmental conditions. this must depend on average environmental temperature, right? Might dinosaur specimens in Antarctic or Arctic regions have experienced significantly lower average environmental temperatures? That could increase the half life significantly.

Maybe we'll find Cryolophosaurus DNA some day...

EDIT: the DNA degradation study specimen was in the south island of New Zealand, which had an average burial temperature of 13C.

Antarctica along the coast has an average annual temperature of about -10C. Further inland and at higher elevation, it's much colder and dryer. Both those increase DNA stability. It's not crazy to me that you might have a factor of 100x greater stability for specimens found where the average temperature over the last 65 million years was 20-40 degrees colder and also dryer.

EDIT AGAIN: Just to support what I said, it seems like a difference of average burial temperature of just 2.5 degrees C doubles the half-life of DNA (and this is multiplicative), so with a 20 degree difference in average burial temperature, that would be 8 doublings of half-life length (factor of 256), so instead of 500,000 years until the DNA was all broken up, you could have 128 million years. [https://figshare.com/articles/_Predicted_DNA_half_life_for_v...](https://figshare.com/articles/_Predicted_DNA_half_life_for_varying_average_soil_temperature_for_each_fragment_type_/1420162)

<comment><USER6> Not sure where his 500k years figure comes from. A cursory search gives 521 years:

[https://www.nature.com/news/dna-has-a-521-year-half- life-1.1...](https://www.nature.com/news/dna-has-a-521-year-half-life-1.11555)

Chemical decay tends to follow Arrhenius equation:

[https://en.wikipedia.org/wiki/Arrhenius_equation#Equation](https://en.wikipedia.org/wiki/Arrhenius_equation#Equation)

so indeed a difference of maybe 40C should lead to a difference in half life of about 20-30%. I think about 30 half lives (~10^-9 degradation factor) should be the limit of recoverability, so perhaps 521x30 = 15k years in normal conditions up to 521x30x1.25 = 20k years in low temperature.

Of course, other factors such as humidity could contribute as well to the half-life, and reactivity is a lot more complicated than the Arrhenius model in reality. But even then I would be surprised such a vast difference in reactivity outside of true cryogenic conditions (maybe even shielding from radiation?).

edit: your second edit is interesting :) is that curve polynomial or exponential?

<comment><USER5> Looks exponential to me. After all, the Arrhenius equation (whose constants seem different here than your earlier assumptions) is exponential.

<comment><USER6> Oh yes, I definitely messed up my calculations. Half life is (inversely) proportional to the reaction rate itself I guess (I were associating it with the exponent, because half life is usually in the exponent), so the half life itself would be proportional to exponential reciprocal of temperature (e^(a/T)).

This means significant differences in HL for minor temperature variations under e.g. Arrhenius model (consistent with your graph I think). To extrapolate it some parameters need to be estimated though, which sounds interesting, I'll get around to that later...

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is a naive question...but let's just say we do have the DNA, is Jurrasic park possible with today's technology?! I remember reading that someone was trying to inseminate an elephant with mammoth sperm a couple years ago but failed. Not sure if it was because the sample was super old or it just doesn't work.

<comment><USER8> It's a completely impossible fantasy. DNA has a half life of ~500 years. Mammoths only died out around 10,000 years ago, which is why it's conceivable that one could be brought back, but all dinosaur DNA has been destroyed for millions of years.

<comment><USER9> Bringing back mammoths based only on DNA seems to me to be akin to bringing back a New Yorker based only on DNA, thousands of years after NYC no longer exists. Even with perfect DNA, I think we underestimate the role that social structure and ecological momentum play in even the simplest of creatures. I think humans are the rule and not the exception when it comes to learning after birth.

And that's not even getting into the complex interaction between a mother and her unborn child, including cytoplasm, mitochondrial RNA, etc. It's not like an organism springs whole cloth from DNA alone.

<comment><USER10> > Even with perfect DNA, I think we underestimate the role that social > structure and ecological momentum play in even the simplest of creatures.

I don't think that's true. We raise animals without their parents all the time, both on farms and in zoos. The animals we end up with are still recognizably horses or rats or chimpanzees, with unique behavioural traits that could be studied for years. Even if you lose the social structure of mammoth society, you would still be bringing back something fascinating.

Animals that can be hatched from eggs have even less dependency on their mothers, too.

<comment><USER11> Was going to comment similarly.

I have 16 chicks in the brooder that have never been around a chicken. They never will be around any but their 15 "siblings."

They're still acting like chickens, and they will continue throughout their lifetimes.

</comment></comment></comment></comment></comment><comment><USER12> Yeah, but scientists are so preoccupied with whether or not they could make dinosaurs without stopping to think if they should.

<comment><USER13> By now they pretty much agreed that they should

</comment></comment><comment><USER14> Assuming we had millions of 3D-scans of different kinds of animals and their full DNA sequence. Wouldn't it be interesting to try to use generative ML methods to generate a dinosaur DNA based on a 3D model?

<comment><USER15> I suppose everything looks like a nail when you've got a few GPUs.

Besides, the sequence alone is not the full state. You have to also consider expression and regulation and all that; epigenetics.

<comment><USER16> I wonder:

Could you normally have two viable lineages, each with the same DNA, and each with a different expression of that DNA which is stably conserved over many generations, purely due to womb environment, etc.? In other words, if you cloned a woolly mammoth using an elephant surrogate, might the great great great great grandchildren of this clone still have some characteristics that are due to having an elephant surrogate ancestor?

Or would there be a tendency to converge to a single stable expression due entirely to genetics?

It's obvious that in principle the answer could go either way, but I'm not sure whether that's true in practice, with naturally occurring organisms and naturally occurring DNA sequences. For the sake of this question, one is also tempted to exclude post-natal "cultural" transmission, but it's not clear that can be easily distinguished.

</comment></comment></comment><comment><USER17> " Such potential tatters of ancient DNA are not exactly Jurassic Park–quality. "

All right then.

<comment><USER18> Well we still have chicken

</comment></comment><comment><USER19> > Yet first, paleontologists need to confirm that these possible genetic > traces are the real thing.

As is common with science articles, the headline doesn't quite match reality.

<comment><USER20> The headline says possible dinosaur DNA has been found, and that quote agrees that these samples are possibly dinosaur DNA. That seems to match.

<comment><USER21> Or bacterial DNA.

I think samples need to be isolated and sequenced before we know what we're dealing with.

</comment></comment></comment><comment><USER22> Whatever happened to the finding 10+ years ago, where scientists found jellified T-Rex bone marrow? It made a huge splash, and they claimed to be able to see structures in the blood, etc, but I haven't heard anything since, and I can't find any follow up research, or I don't know what to google for.

Has anyone seen any followups to this?

</comment><comment><USER23> I'm sorry but I keep thinking of this: [https://www.youtube.com/watch?v=h58lRIVHhGc](https://www.youtube.com/watch?v=h58lRIVHhGc)

</comment><comment><USER24> Why would they wait, and no shove it into the sequencer if this is the case?

With modern sequencing technology, shouldn't they be able to detect strands of base pairs much shorter than in the past?

</comment><comment><USER25> Young Earth Creationists are going to have a field day with this.

</comment><comment><USER26> There's dinosaur DNA in every bird.

[http://tolweb.org/Dinosauria/14883](http://tolweb.org/Dinosauria/14883)

</comment><comment> gjsman-1000 Okay, quick and honest question: How does this support / not support the theory of young earth creationism? For someone who believes that the earth is 6000 or so years old, and that humans and dinosaurs co-existed, and that DNA doesn't last nearly _that long_, this seems like pretty definite proof of that being possible. Counterpoint?

<comment><USER27> That rests on the premise that dna doesn't last that long. But maybe it does and that premise is wrong. Alternatively radio carbon dating must be wrong and with it large parts of chemistry. So I would weigh the strengths of both and maybe scrutinize each premise for their respective scientific basis.

</comment></comment><comment><USER28> > Using sophisticated techniques, they extract the preserved blood and bingo! > Dino DNA!

</comment><comment><USER29> I have some eggs and chicken breasts in my fridge if anyone needs some dinosaur DNA.

</comment><comment><USER30> I saw a movie about this once, can't remember the ending...

<comment><USER31> The chaos theory dude is discredited and ends up peddling apartments on TV under pseudonyms.

</comment></comment><comment><USER32> Dino-sour!

</comment><comment><USER33> commence jurassic park 2020

</comment><comment><USER34> Bingo!

</comment><comment><USER35> Life finds a way.

</comment><comment><USER36> Life will find a way

<comment> 0-_-0 The little kid in me got excited for a second seeing the headline

</comment></comment><comment><USER37> Bingo

</comment><comment><USER38> They spared no expense.

</comment><comment><USER39> I love how not only the time of existence but also its size and appearance are presented as undisputable facts.

<comment><USER40> Yeah and it's so wrong! Would they have checked the bible they'd agree that the earth is 6000 years old.

<comment><USER36> And flat obviously

<comment><USER40> It's not flat. When there was lack of food after the comet hit, dinosaurs licked it so it became round.</comment></comment></comment></comment>


Show HN: A community turns RSS into GIFs - <AUTHOR> http://NewsGIF.com/install <comment><USER2> I always thought that it would be a good idea to turn news into raw data (for example, an article about some economy stats in a newspaper can fill an entire page when all that matters for the readers is three or four numbers, and maybe two or three quotations from "specialists").</comment>


Ask HN: How does your company manage remote working security? - <AUTHOR> Hi all,
I guess most of the people out there working remotely nowadays. But how does your company make sure it's remote working infrastructure is secure enough?
I guess most of the people would answer this as 'plain VPN' but I hope there are more paranoid companies those also care about: physical security, home router configurations, enforced OTP's, secure communication channels, full disk encryption etc.
What is your company's paranoia level - and what they do? <comment><USER2> If you're interested in the state of the art, have a look at this:

[https://www.beyondcorp.com/](https://www.beyondcorp.com/)

[https://cloud.google.com/beyondcorp](https://cloud.google.com/beyondcorp)

[https://tailscale.com/](https://tailscale.com/)

[https://github.com/slackhq/nebula](https://github.com/slackhq/nebula)

<comment><USER3> Tailscale is what we have been looking for. It looks like a huge upgrade compared to outsourced boilerplate OpenVPN.

<comment><USER4> Unfortunately it's an unbearably buggy piece of software. Cloudflare has better and even cheaper offerings than this amateurish product.

<comment><USER3> Thanks for letting me know. I've signed up and tried to get it working as a substitute for our corporate VPN. But i couldn't get it to work.

The landing page is pretty neat, but the user interface is buggy - and not that intuitive.

I'll test out Cloudflare!

</comment></comment></comment></comment><comment><USER5> Full disk encryption, VPN with RSA token, voice and video through the VPN, and monitoring software.

I'm not sure what they could do about the home router config or physical security.

<comment><AUTHOR> Monitoring software... Is it like those that can power-on webcam as well? Agent, I mean.

<comment><USER5> I assume they can. I think they record keystrokes and fo screen captures etc.

</comment></comment></comment><comment><USER6> 'Plain VPN' unfortunately. But securing vpn credentials nicely wouldn't be enough?

<comment><AUTHOR> VPN is a nice practice, yeah, but is it your own VPN or from a commercial VPN?

Also I think it's never enough. A bad guy makes you got a virus; logs your key presses and steals the vpn config, and bam, he is inside the company!

The way he must pass to get into company network have to be much more longer and complex.</comment></comment>


JS in AMP - <AUTHOR> https://github.com/ampproject/amphtml/issues/13471 <comment><AUTHOR> Support for custom JS in AMP was announced at the AMP Conf 2018: [https://twitter.com/AMPhtml/status/963471106043727872](https://twitter.com/AMPhtml/status/963471106043727872)</comment>


Show HN: Free zero-knowledge encrypted backup with open source client - <AUTHOR> https://savefile.me/ <comment><USER2> Well this seem legit </sarcasm>

Everything is backup up for 1 dollar a month, typo's on the website, no name what so ever except for the savefileme authors. No mention what backend this ends up.

Looking at the source code I can't find the encryption, it just basically uploads or downloads a file.

<comment><AUTHOR> All data and file names are encrypted on the client. You can see this in the source code: [https://github.com/savefileme/savefileme/tree/master/api/aes...](https://github.com/savefileme/savefileme/tree/master/api/aesgcm)

The price is sufficient to cover the cost of storing the data for no more than 30 days. And what do you mean "no-name"? We are a small non-native English speaking team, and just wanted to show our project for discussion. Of course we are not BackBlaze, yet.

<comment><USER2> Oops there is encryption. Sorry for that. You do load however code from the website and from another repo. Account creation is random so losing the config seems to be bad.

You have no payment option.

You have no physical address.

No idea on what continent my data ends up though, or what guarantee there is that the data persists.

Why in the name of <random deity> would I trust this to run let alone trust you with my data?

<comment><AUTHOR> Trust is very important for us. Can we trust to Dropbox or others, if your data is not encrypted, before uploaded? I think no. This is why, we open source our client on GitHub, so as you can see, no any updates, except README file. [https://github.com/savefileme/savefileme/blob/master/api/acc...](https://github.com/savefileme/savefileme/blob/master/api/account.go) The function UploadFile use aesgcm.NewEncryptReader for data encryption.

This is fully anonymous service and free for use without any registration, so no any payment options on the site, we do not collect your personal information at all. Payment option is available when you simply try to upload your first file. Than, our payment provider collects your personal information and sends you invoice, with all legal information, and physical address too.

As for account creation process, we wanted to make it as simple as possible. You can extract you credentials with command _savefileme account export_ for backup. The client reminds you about that.

And little bit about guarantees... No service gives 100% guarantee. Therefore, it is necessary to periodically test your backups, regardless of whether you are using BackBlaze or No Name.

<comment><USER2> Ok let's do the trust and compare thing

\- Dropbox is a registered company, savefileme is an unknown

\- Dropbox has a ToS, savefileme ?

\- Dropbox discloses to a certain degree who owns it and works there, savefileme is an e-mail address

\- Dropbox has a published architecture of both his frontend and backend. Savefileme has a partial opensource client (don't forget that include from savefile.me) and no details published of it's backbone

I could go on and I could switch dropbox for OneDrive or Tresorit. You may have a fantastic product, but basically it doesn't look trust worthy or even better then <big name storage solution>

<comment><AUTHOR> First of all thank you for your comments. I thought, Show HN "is for something you've made that other people can play with" and of course we do not have all "attributes" at the moment. But you can play with it without money or any obligation.

Also could you explain what do you mean "partial open source client"? All client code is on GitHub. If you follow link [https://savefile.me/client/savefileme/api](https://savefile.me/client/savefileme/api) and open html code, you can see same GitHub url: [https://github.com/savefileme/savefileme](https://github.com/savefileme/savefileme) This is remote import path following golang specification: [https://golang.org/cmd/go/#hdr- Remote_import_paths](https://golang.org/cmd/go/#hdr-Remote_import_paths) meta name="go-import"

It is used to not bind to a particular hosting like GitHub or others. But you always download full source code and can inspect it before compiling.</comment></comment></comment></comment></comment></comment>


Why the wealthiest countries are also the most open with their data - <AUTHOR> http://www.washingtonpost.com/blogs/wonkblog/wp/2014/03/14/why-the-wealthiest-countries-are-also-the-most-open-with-their-data/ <comment><USER2> The the only sentiment I take from the article is that wealthy countries are open with their data compared to poorer countries, which author seems to believe, are intentionally hiding things.

That does not sit well with me. I'm from Canada and have spent a decade making use of gov't data and while Canada does open up a bunch of it, 90% of what they open is benign. The important data, or rather the data which would expose problems, is kept from the public.

These wealthy countries also have other ways to hide even the open data from prying eyes, they simply charge high prices for the data. This easily prevents the general public, who would use the data more critically, from actually using the data.

</comment><comment><USER3> The "why" in the headline strongly hints at some sort of causal relationship, but the article only goes so far as to point out the obvious correlation. The "why" is never answered at all.

</comment><comment><USER4> I suspect wealthy countries release a much smaller proportion of total data. I would wager there are exabytes of phone calls and satellite imagery, heck, raw census data is probably pretty elaborate (though not on the same scale). what fraction of that data do we actually have access to? i'd guess it's a pretty small number.

</comment><comment><USER5> I should read the OP, for as a quick comment, for me it comes down to cooperation versus competition. And for cooperation to succeed, there needs to be effective communication and a shared understanding (albeit not necessarily or even desirably "perfect" and without diverging opinions).

P.S. I was interrupted by a phone call. The other point I wanted to make, building off of the above, is that humans have created more and more complex results through cooperation than competition alone. I view cooperation as an essential part of modern society and progress.

</comment><comment><USER6> Postcodes? Transport timetables? Maps?

This is an open data metric conceived by the creators of Sim City. What's important is what data they have, not what data a primitive city-state might have. And the resultant list is a complete farce: the UK and US is at the top next to Denmark. Russia has a score in openness about government spending that is 7-fold higher than Norway.

</comment><comment><USER7> Can anybody explain why Moldova is doing so well with this despite being so poor?

I can see various initiatives they have undertaken that would get them moving in the right direction such as joining the Open Development Technology Alliance (ODTA) - but I can't figure out the underlying reasons for success.

</comment><comment><USER8> Because they're best at lying? Just an idea.

<comment><USER8> Downvoted because?

<comment><USER9> Probably because this was a gratuitous accusation that seems to completely ignore the contents of the article

<comment><USER8> Was it though?

<comment><USER10> Yes.</comment></comment></comment></comment></comment>


Ask HN: Help me plan my learning path - <AUTHOR>

So, after a lot of huff and buff I finally got my job as an developer which I am joining in 40 days exactly. But there exists a twist, I learned Python and attended interview, but since they use Ruby and RoR for production I am tasked to learning them in these days.
I have already started Ruby and RoR a month before and in a comfortable position to understand the code in them. But I still have lots to catch up.. I will have dedicated 8 hours of learning time per day, and below are the technologies that I needed to be proficient with before joining,
Language - Familiarity (/100) Ruby - <USER5> RoR  - <USER3> Coffeescript - <USER4> Javascript - <USER5> PostgreSQL - 10
I am here and not sure how to plan my 8 hours effectively split on these languages, RoR is dependent on Ruby, same for CS to JS. Anyone could help me here? <comment><USER6> Build build build. Go for hands-on learning whenever possible. Replicate your working conditions as best you can. Get used to building and deploying to whatever PAAS they presumably use.

So in other words: Reading books is great (and you should do that too) but sometimes it's hard to know what to focus on or remember if you have no context. If you just start building web apps you'll be using all those technologies simultaneously (and understanding the contexts in which their various features are useful)and you'll be using your books more as references than anything else. The added benefit is that you'll naturally be dividing your time appropriately between the technologies.

</comment><comment><USER7> Read books

Take a look at these:

1)Learning Ruby the Hard Way

2)The Rails Way by Obie Fernandez ( Get this Book )

3)The Ruby on Rails 3 Tutorial: Learning by example ( Get this book )

4)Rubymonk

5)Codeschool

6)Coderwall

7)Railscasts

The Ruby on Rails Guide is underated.

This should get you where you need to be!

<comment><AUTHOR> Yeah.. I am good with the resources and have collected them also.. But I just confused how I can split my 8 hours into these programming language.

I have good knowledge on some of them whereas others are just new to me. Whether I should Concentrate on one language and move on to next once if I have some grasp on it (if so, which language to begin with) or else have my time split across all of them on a given day (if so, which one to put more weight on)

</comment></comment><comment><USER8> First of all, congratulations on the job!

We have a project-oriented full-stack JS curriculum at FreeCodeCamp, but if you're looking for a Rails curriculum, check out OdinProject. Erik's curated the best rails resources. And I agree 100% with what Malcolm Diggs said. Build, build, build!

</comment><comment><USER9> I agree that you should read books and NOT blogs!</comment>