RVM vs Packaged Installation of Ruby in Production - <AUTHOR> http://www.weaver.io/post/17611662306/rvm-vs-packaged-installation-of-ruby-in-production

<comment><USER3> so as RVM maintainer(I know what's inside):

What RVM does: \- RVM by default provides patches that will make your old ruby compile on your new system. \- RVM does not provide patches for anything else, so there will be no magically enabling/disabling code. \- in RVM you can specify ruby patchlevel and you will get exactly that ruby patchlevel \- when you specify or not patchlevlel for ruby RVM will respect it compiling/using respectively given patchlevel or latest one.

What your system does(will do at least one of those): \- bump ruby patchlevel because of security issues, but also possibly can include behavior changes \- backport fixes from newer patchlevel / version to the installed version \- will include code changes/patches they fill like are necessary for you - <USER2> are you ?

So the main difference: RVM - will try to keep your ruby-patchlevel compiling for you, no other changes System - will bump patchlevel or backport fixes to the build one.

Additionally in your system you can find maybe two - three provided ruby version, build by system maintainers, no possibility to define patches you would like to be include, RVM allows you to have as many rubies as you want (I have right now 37 different combinations of ruby/version/patchlevel/patches installed)

And last RVM will alllow you to use the same ruby-version-patchlevel-patches in development and in production, making sure you run the same exact behavior on across all your systems used for development and hosting.

<comment><AUTHOR> My concern has always been, ruby (or any other complex application) is going to compile differently on like but different systems.

Over long periods of time I'd be concerned that I could never recreate the 'same' Ruby 1.9.2 installation using RVM.

How can you address the concern of small changes being introduced when compiling against slightly different versions of development and runtime libraries?

<comment><USER3> this might always happen, but considering the amount of opensource software and it's stability (when it's bug free) it should be considered stable and reproducible, compared system and RVM - both will be compiled - unless you save the compiled package and install it, but this can be done for both System and RVM</comment></comment></comment>


What Solo Traveling Taught Me About Life - <AUTHOR> https://skillcode.com/solo-traveling-life-lessons/ <comment><USER2> Although I am not a big fan of philosophizing around travel I will say that traveling alone is a very different experience that I suggest more people try, even if only once.

I have traveled a great deal, at one point travel full-time for several years, but I have only once traveled alone and not for very long. It was a profoundly different experience.</comment>


Ask HN: Why is Reddit worth so little? - <AUTHOR> I was looking at Alexa's global site rankings here:
http://www.alexa.com/topsites
Reddit is ranked at number 9 on the list. It's ahead of Twitter, LinkedIn, and Twitch, to name a few.
Those three companies each make billions in revenue each year. Some lose money, but they still produce quite a bit of subjective value and have valuations that are high to match. I know Twitter might lose value over time, but it's going to be in the billions for a while.
Reddit has more site visitors, way longer time spent on website, and more pages viewed per user than most of the sites on the list. But its valuation, last I checked, was $500 million - far below its peers. I've also heard that it only makes $10 million a year in revenue.
So why is Reddit's revenue and valuation so low? It's not as if it's worthless to advertisers - there's a fair amount of preference data to be gleaned from users based on which sites they visit and so on. Is it bad management? Lack of focus? Or something else? <comment><USER2> AFAIK, reddit didn't take much venture capital so there was no pressure to make billions to appease investors that put billions in. They've never been aggressive about monetizing the site.

The network effect of reddit are also much less than twitter or facebook, it's primarily a news aggregator + comment system, there are plenty of competitors ready to step in if reddit starts throwing in tracking or invasive advertising.

> I've also heard that it only makes $10 million a year in revenue.

What's wrong with that? Not everyone wants to be the next google or facebook, I'd love to have a site that made $10 million a year, I'd be perfectly content with that and wouldn't have a desire to turn it into a multi billion dollar empire. ~20 years ago this was the dream of most software developers, carving out there own ISV niche and getting rich.

Unlike twitter, reddit is a sustainable business. If I had to bet on which one will still be here in 5-10 years I'd bet on reddit.

<comment><USER3> I love the fact that reddit chooses to stay small and sustainable.

Twitter is taking the opposite path and they do everything in their power to alienate their most passionate users. However, I think Twitter is infrastructure now, like Facebook and LinkedIn, and it would be very difficult to disrupt or displace.

</comment></comment><comment><USER4> twitter is primarily an app. you dont get alexa ranking for that.

twitch doesnt generate pageviews like reddit would. twitch tracks minutes watched, and i bet you that users of twitch spend a lot more time on twitch than redditors spend on reddit.

yes, reddit IS bad for advertisers. reddit are about the most informed people on the internet. you cant sell on reddit. ask any marketer. reddit advertising is bottom tier. unless you want to run meme ads that dont generate revenue. that can be fun, but ads are generally bought to drive revenue. not to appease the users of the site the ad runs on.

<comment><USER5> I may be wrong on this, but I'd hedge a bet that a majority of Reddit users run some sort of ad-blocking software. The "culture" (horribly wrong word but I can't think of a better one) on Reddit is also very anti-advertisement. Users are quick to point out even the most innocuous use of branding in posts as astroturfing. /r/HailCorporate is a perfect example.

<comment><USER4> That's irrelevant. As an advertiser, you WANT people who don't want to see ads to run adblock. Because you don't get billed for those impressions from people who wouldnt have bought anyway.

Adblock is a problem for publishers, not advertisers. Adblock actually helps align advertisers with consumers.

If you've gone to such great lengths as to installing adblock, you're probably pretty proficient in "exhibiting anti-marketing behavior".

<comment><USER6> > As an advertiser, you WANT people who don't want to see ads to run adblock.

No, you want people who wouldn't act on your ads to run adblock. The degree that that correlates with "people who don't want to see ads" is far from clear.

</comment></comment></comment></comment><comment><USER7> Reddit is incredibly scattered. It is hard to know where to post a thing you find interesting. Historically, there was no general "I find this interesting" place to post it. If you posted it to the wrong sub Reddit, it wouldn't go anywhere at all and might get deleted. There was no real means to share stuff "with friends" just because you liked it. It needed to be on topic for the sub Reddit in question. Each sub Reddit has different moderators.

This has its good points and bad points. I have been enjoying certain aspect of it, but this is probably a barrier to certain things as well. Monetization may be one of those things.

They very recently introduced enhanced profile options for users. This is in beta testing. This is a means to post something somewhere that you find interesting and have no clue where it belongs on the site. It also has a means to give a person more of an identity on the site than what was previously available. I see it as a significant and positive change that probably won't undermine some of the positive aspects of having a bunch of different sub Reddits.

I will suggest you check back in a year or two and see if valuations/monetization has changed any. I feel like the profile options currently in beta testing are probably game changing in a good way for the site.

</comment><comment><USER8> Try advertising on Reddit. Volume on targeted subreddits is super low. Volume on the site in general is only good for very niche products.</comment>


Uber's crisis deepens with record quarterly loss - <AUTHOR> https://arstechnica.com/cars/2017/11/ubers-crisis-deepens-with-record-quarterly-loss/ <comment><USER2> According to the article, Uber lost $1.5 billion in Q2 2017, compared to $1.1 billion in Q1 and $2.8 billion for all of 2016, and at the current burn rate they probably have about a year of cash left if they don't raise more.

If their cheerleaders are right and they really do have a switch to become profitable, uh, now would be the time.</comment>


Ask HN: What is the most effective way to onboard an engineer? - <AUTHOR> Does anyone have advice on the most effective way to onboard an engineer?<p>It feels that problems with the onboarding process often stem from existing systems being poorly documented. I've found mentoring to be really helpful, but I've also seen how it can pull members of the team away from existing projects. <comment><USER2> I plan on spending the full day with the new hire or intern, and my goal is to go from 0 to a running build to a commit in day 1. Sure, it is kinda a hassle for me to block out the whole day, but that gets them past all of the poorly written docs and stupid install/setup bugs. They get excited instead of frustrated. The rest of the first week is exploratory- I ask them to make improvements to the docs based on their experience (get them up to date if they're behind), and also to share notes on larger improvements or ideas they have while they are still fresh. I aim for 1 commit a day in different parts of the codebase to give them some breadth. The second week I treat them like a normal team member to start building a regular flow, but give them a light week of work and block out ~1 hour a day for code reviews and Q&A.

Everything kinda sucks at startups, especially docs. The right way to do this is invest your time up front in order to save you and the new hire time in the long run.

</comment><comment><USER3> Having a document on how to pull source, build it and deploy it in a development environment

Have a bug to fix for them

A starter project which involves using the codebase in an interesting / different way.

</comment><comment><USER4> Things which I've followed and would recommend:

\- Have a vagrant box set up so that the new engineer doesn't have to waste his/her time setting up the system. Use Ansible/Chef/puppet for provisioning the vagrant box. Saves at least a day.

\- Make sure all the git repos have a good README file explaining the project details.

\- If you have an API powering your backend, use [http://swagger.io/](http://swagger.io/) or something similar, so that other engineers don't have to waste time explaining all the API endpoints.

\- Maintain an internal wiki or a Google Sites which lists all the common problems faced earlier. You can also explain the business logic and the general flow of the application here.

</comment><comment><USER5> Mentoring doesn't mean do the work for them, so first thing you may want to do is provide the new hire with the minimum knowledge to setup a local dev environment and navigate the codebase.

For a new hire I also made one slide with a diagram to explain how to go from 0 to production, this gave him a high level overview of the whole system.

Try to make them push something on the first week is very important, the sooner they finish their first ticket the sooner they do the 2nd, 3rd and can repeat and familiarise with the development process.

Finally ask new hires to document what they are learning or improve existing docs – a fresh pair of eyes/mind is priceless.

With time your poorly documented system will be very onboard-friendly.

<comment><USER5> [https://www.youtube.com/watch?v=lA8mo8oQ9J0](https://www.youtube.com/watch?v=lA8mo8oQ9J0)</comment></comment>


The best laptop ever made - <AUTHOR> https://marco.org/2017/11/14/best-laptop-ever <comment><USER2> The best laptop ever made in 2017...

<comment><AUTHOR> Mine is still going strong. Probably a Lenovo for me when I absolutely must but hopefully Apple will get their shizz together soon.</comment></comment>


What's the Best Cloud? Probably GCP - <AUTHOR> https://quizlet.com/blog/whats-the-best-cloud-probably-gcp <comment><USER2> I am not sure about the technical merit of this link. Best of show:

"Google probably has the best networking technology on the planet."

How do we quantify this?

"This is important for several reasons. On EC2, if a node has a hardware problem, it will likely mean that you'll need to restart your virtual machine."

I would much rather create a service that can tolerate single node outages than relying on "live migrations". I am not sure what he meant by the SSD comparison, Amazon EBS that can be SSD but still it is a network mounted storage.

"Most of GCP's technology was developed internally and has high standards of reliability and performance."

Guess what AWS was developed for.

I like hand-wavy, articles as much as any other guy, but it seems to me they picked GCP and wrote an article to justify it, an cooked up some numbers with single dimension comparisons to make it look like scientific. I wish I was working on single dimension problems in real life, but it is always more complex than that. I am more interested in worst case scenarios and SLAs than micro-benchmark results when comparing cloud vendors. Discarding Azure was purely arbitrary, in fact, Azure is more than happy running Linux or other non-Windows operating systems, I am not sure where he got the idea of " Linux- second cloud".

[https://azure.microsoft.com/en-us/blog/running-freebsd-in- az...](https://azure.microsoft.com/en-us/blog/running-freebsd-in-azure/)

<comment><USER3> We did a performance analysis of Google Cloud vs AWS. The results are in line with what is published in the post. The biggest thing that we can not quantify is "ease of use". Google Cloud is a pleasure to work with. AWS feel so clunky compared to Google Cloud. Don't take my word for it. Create a VM, login into it on AWS and Google Cloud, you will change your opinion about what a good cloud is.

<comment><USER4> If you're using the GUI to manage your resources rather than going the Infrastructure As Code route, you're probably doing it wrong. You should be using a tool like Terraform, which lets you use multiple cloud providers ([https://www.terraform.io/docs/providers/](https://www.terraform.io/docs/providers/)), and can actually tell you if there are any immediate errors before attempting to launch a resource, so is friendly with Jenkins or any other CI tool you prefer to use as a result as well.

<comment><USER3> We don't use GUI to manage our resources. We use CloudFormation for AWS and Deployment Manager for Google. Let me tell you a couple of things about those services. In AWS some resources are zonal, some regional and some are global. It's a mess to work with. For example, same AMI image has different ids in different regions. You need to create maps and stuff to make your code work across regions. Come to Google Cloud, no more zonal/regional/global fuss. An image is a global resource. It's available by the same id in all regions. Your infrastructure template looks much cleaner. Combine the power of Jinja, you can create far powerful templates and evaluate them on the fly. AWS has "three" queuing systems, "two" storage solutions with different API's and different quirks. Google just has one and its nails the use cases for queuing and storage. AWS micro-instance go poof, without any notice. Their NATS are known for being unreliable. Load balancers can't scale. Every service that I looked into, Google is way better than AWS.

<comment><USER5> For me, GCP comes with unquantifiable existence risk. As in, how do I know that it won't get shut down in 5 years when some VP sees that it's not bringing in as much money as it should? I trust Amazon more in this regard, and their offering is not "so bad" that I feel a need to switch.

<comment><USER6> Existence risk here is HUGE. If GCP doesn't move the needle, Google will shut it down. AWS is a much more living organism and I can't see Amazon shutting it down before their drones take over ...

<comment><USER7> To shut down GCP, they would be shutting down the same services and infrastructure that power their own services. The dogfooding memo from years back is being taken to heart, and you're seeing more and more exposure of internal services and infrastructure.

The scary thing would be if it ends up reducing the rate of innovation because they worry about changing APIs or services too much; obsolete accumulates quickly when you're serving large numbers of people because most business want to write once run till it's dead. But this is true of any service that exposes anything but an extreme abstraction.

<comment><USER8> Exactly. If it wasn't making the money they'd just be shutting the public interface to this thing. It's not like it's orthogonal to their usual business, which is lots of computers and storage doing random workloads.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> They forgot to mention another nice feature of GCE - custom machine types. You can choose number of vCPUs and amount of memory and also the amount of local (ephemeral in AWS speak) storage in 375GB increments.

This is a huge advantage. For instance, some of our jobs are computationally- intensive but relatively light on memory. In GCE I can run 32 core machine with 28GB RAM and it will cost me $887.68/month (without any sustained use discounts).

In AWS, the closest option I have is c4.8xlarge (36 cores / 60 GB RAM) which will cost $1,226.10/mo.

And if I need local (ephemeral) storage in AWS, I'm severely limited in instance types I can choose from, while in GCE you can attach local SSD to any instance type, including custom.

If you factor in per-minute billing in GCE and automatic sustained use discounts, we are talking about serious savings without any advance planning (required for using reserved instances).

EC2 still has some advantages - it supports GPU-equipped instances, for example, but for our computational pipelines GCE is a clear winner for now (and Cloud Dataproc is so much nicer than EMR!).

<comment><USER2> This is good to know, I was running into the problem of not having the right instance type for my workload before. We ended up changing up our stack to make it fit better on AWS.

<comment><USER10> That's pretty annoying ... happened to us as well though. We had a requirement for PostgreSQL with 512GB of RAM. Can't do that on AWS, so we had to shard the database.

<comment><USER9> To be fair, GCE tops at 208 GB RAM currently, so you won't get your instance type there as well.

<comment><USER10> Wow .. that's even lower than AWS (max is 244GB): [http://www.ec2instances.info/](http://www.ec2instances.info/)

</comment></comment></comment></comment></comment><comment><USER11> "Azure was eliminated since its a Linux-second cloud"

I have a feeling this person never really dove into Azure, and just wrote it off because it had Microsoft services built in; and of course various sysadmins still have a strong bias against Microsoft, especially if they are Open Source advocates. Seems like the entire article is mostly just comparing AWS to GCP instead of giving an actual overview of the cloud landscape, just brushes off every other provider (that's not AWS or GCP) without diving into an actually reason -why.-

<comment><USER12> Honest question. If you are a 100% linux shop, what do you gain with Azure? Do they have better linux chops than GCE or AWS?

<comment><USER13> To me, the more interesting aspect of any of the clouds is the PaaS offerings. I like the idea of not knowing or caring what OS my stuff is running on or how many VMs back it. Throw some Node.js up into a cloud and have it run and scale automatically without me having to harden, patch, and maintain machines. Same with data - flip a switch and have a geo-redundant well managed database service as opposed to configuring and monitoring such a beast myself.

I like Azure Web Apps, Sql, and Storage PaaS offerings, as well as hosted Mongo and similar 3rd party services. In general, my experience is that they are cheaper and better managed than most stuff my customers roll themselves.

I would suggest that any "100% anything" shop look at the PaaS offerings of the various clouds and see if the benefits outweigh the risks.

<comment><USER14> I don't understand your conclusion (Azure is best?). App Engine is far and away the most battle-hardened PaaS, going from tons of tiny toy apps to the scale of Snapchat.

I don't disagree that having a PaaS and "marketplace" is important, but I don't see how you seem to conclude that GCP is less relevant here.

Disclaimer: I work on Compute Engine.

</comment></comment></comment></comment><comment><USER15> I see a lot of these sort of articles, and I really have to bring this up, because I don't understand why people don't realize it when they decide where to host their infrastructure:

Bandwidth on GCP (and AWS and most of the other providers) is really, really, really expensive. $0.12 per gigabyte, upwards of $0.19 per gigabyte for Asia. Paying $0.12 for every time you send an Ubuntu ISO is crazy. A bored script kiddie could just run up your bandwidth costs to thousands of dollars just for the hell of it. A DDoS could make you declare bankruptcy.

I have a server with OVH I can theoretically push 100+TB per month through and only pay $100. I get DDoS protection included. It may not be perfect DDoS, but it's not the $6000/mo I'd need to pay for Cloudflare to get the same thing with GCP (I need wildcards), plus the $0.12 per GB for anything not cached by them.

I know from people in the industry that they pay less than a cent per GB. Google, if you want to differentiate your cloud services, start charging better prices for bandwidth and do something about DDoS (project shield should be baked into your offerings). $0.02 would be reasonable and you'll still make a profit. That goes for all the other "great value" cloud services that are actually very expensive for anybody doing work that actually needs bandwidth on the internet.

<comment><USER16> To put those numbers into standard transit pricing using US-East (AWS):

Up to 10 TB / month - $30/Mbps

Next 350 TB / month - $16.50/Mbps

Traffic within the same Region - $3.50/Mbps

Traffic to another region - $6.50/Mbps

The outbound traffic starts at $45/Mbps in AsiaPac and $85/Mbps in Latin America.

In the US and most of the EU, at >1Gbps (~350TB/mo) volume, transit pricing is well under $1/Mbps. Most of Asia should be under $10/Mbps, and south america is quite a bit higher, but not $70/Mbps.

See: [https://www.telegeography.com/press/press- releases/2015/09/0...](https://www.telegeography.com/press/press- releases/2015/09/09/ip-transit-prices-continue-falling-major-discrepancies- remain/index.html)

[http://blog.telegeography.com/bandwidth-and-ip-pricing- trend...](http://blog.telegeography.com/bandwidth-and-ip-pricing-trends- in-15-minutes)

<comment><USER15> $1/Mbps seems closer to what I would expect the price to be. 30x over market is an astonishing price markup. I don't understand how any startup I've built that used a lot of bandwidth could take that risk on infrastructure. I would actually be concerned about being successful.

</comment></comment></comment><comment><USER17> This should really be titled "A comparison of AWS and GCP."

It totally wrote off Azure (2nd in market size) because its a "Linux second" cloud (what does that even mean in a virtualized world).

Also, you forgot to analyze support and SLAs around functionality. Good luck with GCP when something goes wrong or they decide to sunset a feature.

<comment><USER3> Support is much better on GCP than AWS. Reference: [https://news.spotify.com/us/2016/02/23/announcing-spotify- in...](https://news.spotify.com/us/2016/02/23/announcing-spotify- infrastructures-googley-future/)

One of the reasons why Spotify went with Google Cloud is because of their superior support.

<comment><USER17> Spotify is one datapoint, and I hate to be cynical, but was probably paid off (in free / drastically reduced priced cloud services ala Netflix on AWS) by Google to write all of that.

Even if not, they are such a large well known name that they probably got special treatment. The real proof in the pudding is the support that the 99% get, not the special case 1%.

<comment><USER18> At the end of the article, Quizlet noted their experience with GCP support:

"Overall it was a smooth transition and we're very glad that we picked GCP as our provider - we've received excellent support and scaled up our deployment with few incidents."

</comment></comment></comment></comment><comment><USER19> This is the best post on this subject I've read in awhile. If you're building your application in a modern manner, half the stuff I see in ridiculous comparison posts shouldn't matter. Disposable infrastructure is a thing. If you're making a choice of "the best cloud" (k...) with that fact in mind you should mostly be considering cost over time and capability to innovate on core offerings. Given unit economics and the continual drop in price of commodity hardware, everything is going to become utility pricing, and services like lambda will help you optimize your costs. Personally I'd put all my chips on AWS over GCP.

Also, nice to see someone finally identify DigitalOcean as a B2C provider.

</comment><comment><USER18> Another great article previously written by Quizlet on their Google Cloud efforts:

[https://quizlet.com/blog/287-million-events-per-day- and-1-en...](https://quizlet.com/blog/287-million-events-per-day- and-1-engineer-how-i-built-quizlets-data-pipeline-with-bigquery-and-go)

TL;DR: One engineer leveraged Google BigQuery's Streaming API to build a pipeline to analyze ~300 million events per day in realtime.

</comment><comment><USER20> I don't agree with the OP ; however GCP's sub-hour billing is nice. I need to process a lot of tasks that take longer that 5 minutes which makes them unsuitable for AWS Lambda. With GCP , I only end up paying for a maximum of 10 ~15 minutes-- which is a nice cost saving. Dear AWS -- if you are reading this, match this and I will never ever leave you, not even for 10 minutes.

edit : typo

</comment><comment><USER21> Unless you rely on UDP!!! [https://code.google.com/p/google-compute- engine/issues/detai...](https://code.google.com/p/google-compute- engine/issues/detail?id=87)

We had a gold level support ticket open about this for months and they recently responded that they are making it a "feature request". Yes, proper UDP packet reassembly is a " feature request".

<comment><USER2> Not all the clouds are equal. :) DC networking is much fun, even when you are on SDNs.

</comment></comment><comment><USER22> When we were using GCP, it would live-migrate our db almost once a day, which caused us problems that were hard to figure out. I don't believe the frequency of a live-migrate was anywhere near as close on AWS. I don't know if GCP still does that as often since this was about 1-2 years ago.

<comment><USER14> The rate of _host failure_ on AWS versus the rate of our live migrations isn't apples-to-apples. There are a lot of reasons we perform live migration, and host failure is just one of them (see [https://cloudplatform.googleblog.com/2015/03/Google- Compute-...](https://cloudplatform.googleblog.com/2015/03/Google-Compute- Engine-uses-Live-Migration-technology-to-service-infrastructure-without- application-downtime.html)).

While I'm surprised by your "almost once a day" (seems high), we have also made a _lot_ of improvements in the last year to make them even less impactful.

Disclosure: I work on Compute Engine.

</comment></comment><comment><USER23> I wonder why Quizlet didn't just stick with Joyent but switch from SmartOS to the newer Linux-based infrastructure containers and/or Docker containers. Joyent put a lot of effort into reviving LX-branded zones on Illumos precisely to address the concern that this article raises with using an OS other than Linux.

Also, why dismiss DigitalOcean as a niche provider for hobbyists? The simple pricing, with lots of data transfer included, should appeal to a lot of businesses too.

<comment><USER24> (I'm the CTO of Joyent.)

Sadly (and despite repeated pleading), Quizlet didn't bother to do anything -- at all -- with LX-branded zones. This was a bit dispiriting because they were part of the motivation for the work (namely, a customer of ours that was upfront with the "impossible" demand of the performance they saw in a SmartOS container but with their Linux stack). I think that even by the time the LX- branded zone work was clearly on a production trajectory (i.e., late 2014), they had already implicitly decided to move away from Joyent to a more established brand. That's fine, and I don't fault them for it (and I definitely appreciate their kind words for Joyent in general and our support and engineering teams in particular) -- but I do wish they'd been more upfront about their rationale.

</comment></comment><comment><USER25> My main concern with picking GCP would be that Google has a history of shutting down projects. I feel like they are more likely to shutter GCP than Amazon is with AWS.

<comment><USER26> I think if they demonstrate that they dogfood it the way Amazon does it will go a long way. Based on talks I've seen I know some internal teams use it (or at least did when it was free for them).

<comment><USER27> they also used google reader for gmail (it was integrated on the top of the inbox). it didn't stop them from killing it.

<comment><USER14> This has been said a lot, but:

\- Reader wasn't a product that was explicitly bringing in lots of revenue, Cloud is (and we just hired Diane to run the business).

\- Lots of us regret that Reader was shut down ;).

Disclosure: I work on Compute Engine.

<comment><USER27> The point is not the entire product. Everyone is afraid that the product will still be around, but the feature that drove them to it will be killed.

and there is no way you can disprove that fear from google products. You guys do that even with search.

</comment></comment></comment></comment></comment><comment><USER28> My main concern with GCP is its unreliability. BigQuery API randomly giving 40x/50x errors (that has been happening for over a year), signed URL API returning series of 50Xs every few days, CPU on instances going up to 100% for some unknown reason (they stay in that state until manually rebooted), and many other bigger or smaller issues. And they never respond to your questions.

The UI is also weird (at least by my taste), for example it is not possible to search instances by their addresses, it is not possible to spin up more than one instance at once, and so on. AWS has an ugly console, but it feels more productive.

<comment><USER14> Sorry to hear you've had a bad time. All of our Generally Available services have an SLA, including BigQuery:

[https://cloud.google.com/bigquery/sla](https://cloud.google.com/bigquery/sla)

which has a 99.9% monthly uptime target. Are you seeing errors more often than that?

Additionally (and this isn't required), do you have a support package? I'm curious where you've been asking questions without response. If it's StackOverlow, that is best effort, but we do really try.

Disclosure: I work on Compute Engine.

<comment><USER28> I asked my co-worker who usually contacts support, and in most cases we actually got some response (mine never got any reply though), but it was always full of buck passing. Like saying that these routing issues you're writing about must be caused by your browser, etc., then ignoring further questions.

</comment></comment></comment><comment><USER29> Google's cloud does look extremely promising, but the one thing blocking us from migrating (which we would ultimately like, I think) is the lack of PostgreSQL support in CloudSQL. AWS's RDS is mature and pretty great.

</comment><comment><USER30> In a similar vein: [http://journalofcloudcomputing.springeropen.com/articles/10....](http://journalofcloudcomputing.springeropen.com/articles/10.1186/s13677-015-0049-1)

<comment><USER18> And some of Spotify's experiences with Google Cloud:

[https://labs.spotify.com/2016/03/10/spotifys-event- delivery-...](https://labs.spotify.com/2016/03/10/spotifys-event-delivery-the- road-to-the-cloud-part-iii/)

</comment></comment><comment><USER31> Does this line strike anyone else as just not true based on their numbers?

      Quizlet is now the ~50th biggest website in the U.S.

<comment><USER32> Yes [http://www.alexa.com/siteinfo/quizlet.com](http://www.alexa.com/siteinfo/quizlet.com)

<comment><USER33> On the other hand, [https://www.quantcast.com/quizlet.com](https://www.quantcast.com/quizlet.com)

<comment><USER31> oof, someone there needs to look into their mobile experience. The homepage is fine but the minute I search for something it goes to junk.

[http://imgur.com/TcuxQ6t](http://imgur.com/TcuxQ6t)

</comment></comment></comment></comment><comment><USER34> The disparity in disk snapshot performance was surprising.

</comment><comment><USER35> As others have said, the simplicity of GCP has made it a pleasure to use.

It has a great UI (material design), and the UX makes sense (the dashboard shows you a summary of your resources, resources are organized by project, notification/status icon animates when resources are changing, etc). Going back to the AWS dashboard feels clunky.

There aren't a million different image types for each region and zone - simple, autoupdated base images are available for Ubuntu, CoreOS, etc.

It has easy to understand base machine types and custom machine types with tailored specs can be created if needed. Product/service naming is clear (ex. Compute Engine vs EC2, Cloud Storage vs S3).

Addons like one-click secure web SSH sessions and Cloud Shell are amazing, no more key pairs to worry about.

Google Container Engine, with a hosted Kubernetes master, is a great concept and more transparent than closed source AWS ECS.

Their on-demand per minute pricing with sustained usage discounts is almost always significantly cheaper than AWS on demand instances, and your discounts are given automatically. Try the two calculators for yourself: Google ([https://cloud.google.com/products/calculator/](https://cloud.google.com/products/calculator/)), AWS ([https://calculator.s3.amazonaws.com/index.html](https://calculator.s3.amazonaws.com/index.html)).

Also, I have seen Google engineers all over HN (look at the comments on this post!) and other sites responding, commenting, and blogging - they seem actively engaged while I have seen very little from AWS.

That is not to say GCP is without problems. AWS IAM is still superior - it is easier to grant access to specific services for specific users, or have an account for a web server to upload to S3. Part of that is due to the fact that there is more plug-and-play tooling available for AWS today - boto comes to mind (boto GCP integration isn't as seamless as with AWS), as well as WAL-E. AWS's new certificate manager with free, auto-renewed SSL certs and installation on EC2 is awesome. S3 is cheaper than Google Cloud Storage. AWS has a longer free tier.

Luckily, tools like Terraform allow us to mix and match services from each cloud.

<comment><USER29> > It has a great UI (material design) ...

I disagree here. I find Google's UI to be the clunkier one. Sure, AWS is positively antique, but it's clean, readable, understandable and predictable in a homely Web 2.0 (or even 1.0) way.

Google's UI seems haphazardly put together by comparison, from the _super tiny_ font to how common tasks are too often hidden away — the hamburger menu and the project selector being two examples. The progress of a task is also often hidden away and fairly inscrutable, such as when creating a container cluster.

When I started looking into the container support, I found that there's basically no web console for it. You can create clusters and see some summary of status about the cluster, but you can't see pods, replication controller settings, etc. — it turns out that the "Container Engine" is little more than a prebuilt Linux image with a startup shell script that starts up Kubernetes. AWS's ECS is the same way, but at least it has screens for creating jobs, adjusting resource settings and so on.

Google Cloud seems pretty great, but the web console definitely has a long way to go.

<comment><USER35> I believe Container Engine does a little more than you are giving credit for. Its main feature is that it hosts the Kubernetes master - you don't have to worry about setting up etcd, high availability, or anything else in regards to the master or connecting the nodes. Kubernetes also comes with a UI preinstalled on the master, allowing you to launch services and see info regarding pods, replication controllers, and more, as well as basic system resource usage: [http://kubernetes.io/docs/user- guide/ui/](http://kubernetes.io/docs/user-guide/ui/)

<comment><USER29> I didn't know about the UI, thanks. But why isn't it built into the web console?

<comment><USER35> Not sure. Perhaps that was a low priority because it is already running/can be deployed on Kubernetes fairly easily.

</comment></comment></comment></comment></comment><comment><USER36> Strange to do a whole long section on price-comparison without talking about AWS's spot instances, which are often much cheaper than the reserved instances.

<comment><USER37> Note that Google Cloud offers preemptible instances, up to 70% cheaper than the normal ones.

[https://cloud.google.com/preemptible- vms/](https://cloud.google.com/preemptible-vms/)

It would be interesting to see Quizlet thoughts on GCP preemptible VMs vs AWS spot instances and why they think they are better (or not?), but that could be the subject of a whole different post.

(Disclaimer: I work at Google - [https://twitter.com/felipehoffa](https://twitter.com/felipehoffa))

<comment><USER36> Interesting. I did a quick search for "GCP spot instances" and didn't find anything. I'd be interested in a comparison too!

</comment></comment></comment><comment><USER38> Interesting read. Can someone explain this point to me? "Software-defined networking means that google.com appears to be one hop away" One hop from...? Everywhere? Each server? How does that help? I understand 'traceroute' but not where that single hop to Google comes in and why that's great.

<comment><USER3> Yep. That's right.Google has built their custom networking. It's like when a machine A sends packet to machine B, the packet is handed over to Google SDN (Software-defined Network), which carries to over their private network and then injects the packet into machine B. Googles network is an order of magnitude faster compared to AWS.

<comment><USER2> You mean if AWS has 50ms data center latency than GCP has 5ms?

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

<comment><USER3> Google's network is so fast, however, that this kind of multi-cloud might just be possible. To illustrate the difference in speeds, we ran a bandwidth benchmark in which we copied a single, 500 Mb file between two regions. It took 242 seconds on AWS at an average speed of 15 Mbit/s, and 15 seconds on GCE with an average speed of 300Mbit/s. GCE came out 20x faster.

Reference: [https://gigaom.com/2013/03/15/by-the-numbers-how-google- comp...](https://gigaom.com/2013/03/15/by-the-numbers-how-google-compute- engine-stacks-up-to-amazon-ec2/)

<comment><USER39> What did you use to copy the file? If you used scp, your results are invalid and you must re-run the test again with a different protocol: you can't take advantage of large TCP window sizes with it because ssh uses a small, fixed send/receive buffer size. scp will penalize the performance of large transfers over high-latency links, even if the bandwidth between them is high.

</comment></comment></comment></comment></comment><comment><USER40> _From 2007 to 2015 Quizlet ran on Joyent, a cloud platform built on SmartOS, which is a Solaris fork (Joyent also offers Linux hosting)._

I would like know why they made that choice.

</comment><comment><USER41> Security conscious users would be best served by staying with AWS EC2 right now. GCP lacks all of the IAM functionality in AWS.

<comment><USER14> [https://cloud.google.com/iam](https://cloud.google.com/iam)

This is very recent though, and not considered Generally Available yet across the platform (meaning fully hardened, supported, and backed by an SLA).

Take another look!

Disclosure: I work on Compute Engine.

<comment><USER42> Interesting. It seems that Google IAM is very similar to AWS IAM yet very different in one aspect. In AWS, you can define exactly what subset of APIs/resources are accessible to a role, which is very flexible, but also can be very confusing. It seems Google has taken the approach of pre-defining sensible roles.

</comment></comment></comment><comment><USER43> I've just got to say, this is probably the best article I've ever read, all thanks to Cloud-to-Butt.

</comment><comment><USER44> Well, "Compute Engine networks do not support IPv6 at all."

<comment><USER45> "However, Google is a major advocate of IPv6 and it is an important future direction."

[https://cloud.google.com/compute/docs/networks-and- firewalls](https://cloud.google.com/compute/docs/networks-and-firewalls)

</comment></comment><comment><USER46> The Best Cloud is probably a combination of all. Since that would give you the highest Availability.

<comment><USER47> This really sounds like a "theoretical" best. Practically this sounds like a huge burden on developers.

<comment> keithb- Not trying to single you out (your statement is totally on point), but generally we need a word for this developer-centric view of Cloud. My kids write javascript and might be considered developers, but they don't have the faintest idea about operating systems, containers, services, or anything non- superficial in the stack let alone IAM, I18N, consensus, etc. Cloud is not any less of an operational model as it is a development platform.

Anyone else have to read "Madame Bovary" in high school? Maybe this focus on developer is a form of provincialism.

Come on: someone smarter than me must have coined this already.

</comment></comment></comment><comment><USER48> So much drama for reserved instances. Different prices for different terms of service is a centuries-old business practice. If it's not for you, then don't buy it.

<comment><USER49> Pointing out that automatic discounts are strictly better than reserved instances sounds like actionable information, not drama IMO.</comment></comment>


Show HN: Free Remote Browsers - <AUTHOR> https://free.cloudbrowser.xyz <comment><USER2> Hi slowenough! This is awesome. I do have a few questions/comments about this.

1\. The rendering quality of pages is quite low. (Like an image with salt and pepper noise). 2\. I used ipleak.net to check the IP which points to some provider(presumably you or Aws/Cloudfare/Asure etc.,). So how do you manage illegal usage ? 3\. How do you deal with browser history and cookies(why should I trust this) ? 4\. Do you happen to the have the source code for this made available ?

Sorry about the barrage of questions. I just got excited a bit :)

</comment><comment><USER3> doesnt work on my mobile

<comment><AUTHOR> What's your device? Why do you say doesn't work?

<comment><USER3> ios chrome and safari. i click on the Netscape button and nada...

maybe cause there is no "double-click" event on mobiles?

<comment><AUTHOR> I'm really sorry about this!

I did not test on iOS before pushing.

When at work I'll get on this. Hope to have a resolution for you quickly.

Edit: I made a quick change. If it's no trouble for you, could you tell me how it is for you now?</comment></comment></comment></comment>


Responses to strftime and %G - <AUTHOR> https://rachelbythebay.com/w/2018/05/13/dates/ <comment><USER2> This mistake happened at Twitter ( [https://twitter.com/mattklein123/status/984587433646764032](https://twitter.com/mattklein123/status/984587433646764032) ) - and people lost jobs.

<comment><USER3> Reading this thread, it looks like the reason management got pissed was because android users didn't log back in after the bug logged them out. So they fired people because of a bug that caused users who don't find enough value in the app login again to stop using the app that they weren't using already. Sounds like twitter has been dying a slow death for a long time.

<comment><USER4> "Don't ever log people out" is pretty much the credo for a lot of big things I've seen. A surprising number of folks will never manage to get logged back in. Passwords? They have no idea what they are, or how to reset them. They'll either set up a new account or churn entirely.

<comment><USER5> But that doesn't justify firing the programmer who wrote "%G" insetad of "%Y". If they chose to create a stupidly complex login process that involves memorising some string you're never supposed to use (because you should never be logged out), that's a design bug. What kind of idiot designs a system and says "the way to access the system is by using a memorised string" and "you should never log any users out". It's frustrating and it makes no sense.

Passwords. They're even stupider than the idiot who works for every single news company, who thought they should resize videos shot on a phone so they can be displayed on a widescreen tv, and then using that on your news app that people only ever use on a phone.

It's shocking how few companies will let you log in by sending a token to your phone or your email. It's how I bloody log in anyway, I just have to put up with your stupid password reset process and then be able to three times type some gibberish string that I'm going to forget.

As for those who log people out - well, my email is logged in on my phone anyway. If I've lost my phone no-one cares about your dingy little app. And even if they did, they have access to it by virtue of having my email account.

Bleh.

</comment></comment></comment></comment><comment><USER6> There is a god somewhere, dispensing Cosmic Karma as deserved.

Yesterday I posted in the original thread:

       The Java SimpleDateFormat has a similar gotcha concerning %k vs %h

Today one of my self-written utilities crashes in a weird way. Hacky as it was, it did its job nicely for over two months. Half an hour troubleshooting later it turns out the DATE FORMAT STRING is WRONG. Really. I kid you not. Neither %k nor %h turns out to be right, this specific program has a 1/86400 chance of absolutely requiring %H .

Then again, the standard format strings would not have helped here, I need to match the undocumented behavior of an existing program. And it only crashes when someone inputs something at exactly 00:00:00 and so far no bleary eyed user had to burn the midnight oil.

It is in test for now. In 8 days, this baby aids the data migration to production. This bug would have aborted the launch of a program which has to be released before the GDPR awakens. Very close call.

There is a lesson about hubris somewhere in here.

<comment><USER6> I posted a feature request to findbugs, which seems to have been renamed to spotbugs. At least Java shall suffer no more (if they implement this, at least)

[https://github.com/spotbugs/spotbugs/issues/637](https://github.com/spotbugs/spotbugs/issues/637)

<comment><USER7> The backstory about the 'rename' is that the original FindBugs maintainer sort of abandoned it, so the community forked it:

[https://mailman.cs.umd.edu/pipermail/findbugs- discuss/2016-N...](https://mailman.cs.umd.edu/pipermail/findbugs- discuss/2016-November/004321.html)

I thought it was a nice demonstration that a project can fairly smoothly survive a regime change without a smooth transfer of power.

</comment></comment></comment><comment><USER8> Nobody will look for developers with the following line in the ad:

\- Must be an expert in strftime / Date / datetime

This is something everyone expects devs should know, but unfortunately working with timezones and date objects is super hard.

The example with %G is too specific for the whole problem. There are always date conversion / libraries / ISO / Locale specific / etc.. Damn it, even Apple returns specifically "PST" in their own responses ( why?! ) [1].

Everyone has a story with manipulating date / time and that's already a sign how bad the situation is.

Trying to be positive ( and funny ), I hope there will be some big and great conference in around 1747247444 [2], where the United Nations' computer department decides that it's too stupid to have so many rules for measuring time and sets a unified standard with no DST, leap years, etc.

1 : [https://gist.github.com/lxcid/4187607](https://gist.github.com/lxcid/4187607)

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

<comment><USER9> > _Everyone has a story with manipulating date / time and that's already a > sign how bad the situation is._

Why yes. Some people even collated those stories:

[http://infiniteundo.com/post/25326999628/falsehoods- programm...](http://infiniteundo.com/post/25326999628/falsehoods-programmers- believe-about-time)

</comment></comment><comment><USER10> I had also this response: nonsense mixtures of conversions could be diagnosed by the compiler or possibly at run-time.

Example:

      foo.c:123:warning: strftime week-based year %G mixed with non-week-based elements.

You'd never use the week-based year %G with a regular month %m or day %d; the combination is suspicious and probably wrong.

Probably, %G is used for formatting a year-week date, like %G-%V: week-based year, plus week-in-a-weak-based year.

I'm not a big fan of run-time warnings that spew something to _stderr_ and the like, and aborting a C program because strftime was called with %G and %m in the same date string seems awfully wrongheaded. It could occur with dynamic strings. These kinds of things could only be done with some API adjustment.

Higher level languages which wrap strftime have more leeway in implementing some of these ideas.

</comment><comment><USER11> Often these issues come down to two sides digging in their heels: "just don't make mistakes" vs "just make it foolproof". Somehow accidents continue to happen.

What I have noticed with manuals is that I usually approach them in one of three different modes:

* what is this / how does it work / is it what I need?

* which flag or option that does _?

* what does this flag or option do?

The first requires a bit more introduction and tutorial than a typical manual will provide because they're usually written by someone who is so familiar with what it does that they can't remember life before understanding it. There is either too little explanation or too much detail, eg arcane ISO standards and niche uses like "week number". Most likely you need examples for it to finally sink in.

The second is probably the most frequent use of a manual, when you're still testing things out. You know the behavior you want and are scanning through the descriptions to find the right match. It's like reading a dictionary by value to find the right key. This is where the infamous "which tar options do I want?" meme comes from.

The third is what most manuals are optimized for. It's a reference for quickly looking up someone else's code to figure out what it does.

Each of these uses requires a different format. In the first case you need a lot more text and instruction that would be unnecessary noise for the other two situations. In the second case you want things organized by function, and preferably with context about the most commonly used options. The third is where alphabetical order makes sense.

</comment><comment><USER12> Perhaps optimizing for fewer characters typed is optimizing for the wrong thing, no?

C-style format strings could be updated to work differently. Instead of having to lookup and memorize the format characters for hex one could use %{hex}. Instead of wondering what %d/%u/%p are for, one could use %{int}, %{unsigned int}, or %{pointer}. For date/time formatting using %{year} vs %{iso-week- year} would solve the specific problem in the OP.

%{m} vs %{b} vs %{B} requires both explanation and memorization. It also suffers from capital letter confusion, with m/M catastrophically poisoning the output while b/B is merely somewhat incorrect.

%{month} vs %{month-name-short} vs %{month-name-full} requires no explanation and makes it impossible to confuse minute vs month.

A better-designed string formatting system would require minimal explanation, little memorization, be trivial to review for correctness, be self- documenting, and be easily learned by example.

<comment><USER13> I agree we don't need to optimize for characters typed, and needing to memorize/lookup formatting directives is a time sink.

What I _do_ want to see optimized for is readability - and this often _is_ related to more compact representations. This is not hard-and-fast, and there's tradeoffs in both directions. This tradeoff becomes more tricky as you need to express finer grained control over formatting.

Consider

      %{year}-%{month}-%{date}
      %{year-4-digit}-%{month-2-digit}-%{date-2-digit}
      %YYYY-%MM-%DD

Or, outside the context of dates,

      Computed %u records in %u seconds (%0.3f MB/s)
      Computed %{unsigned int} records in %{unsigned int} seconds (%{float-precision-3} MB/s)
      Computed %{correctlyProcessedRecordsCount} in %{totalProcessingTime as seconds} (%{processingRate as megabytes-per-second with 3 digits precision} MB/s)

I don't have a great solution here, I just want to point out that the verbose cases can also get ungainly. I think, if we try to optimize for "format strings read approximately like the text they output", that probably gets close to the best middle ground.

<comment><USER14> And you haven't even touched localization (digit grouping, decimal separators, singular/plural noun forms, currency formats, week/month names with correct capitalization, …) yet.

</comment></comment></comment><comment><USER15> > Killing format strings makes l10n much harder.

Wow I'm not sure who posted this comment but they got it exactly backwards.

Format strings being easy to use (and the alternatives often being non- existent) make it very likely to have shit l10n, because most every culture needs their own format string so you'll have to fuck it up for each and every culture before being corrected (if you ever are).

Despite there being an entire organisation dedicated to — amongst others — collating and encoding locale-dependent date and time formats: [https://www.unicode.org/cldr/charts/33/by_type/date_&_time.g...](https://www.unicode.org/cldr/charts/33/by_type/date_&_time.gregorian.html#Formats_- _Standard_-_Date_Formats) (warning: humongous page)

Datetime format strings need to exist as the underlying low-level API for these, but the average developer, the developer who is _not_ working on a datetime parsing or formatting library, _should_ not have to ever write a "raw" datetime format string.

Sadly even in the best of world they'll have to deal with inane datetime format created or specified by some coked-up aye-aye, but that's basically the exception.

<comment><USER6> I wonder if this isn't an out of place recitation of a correct argument:

Format strings that allow you to reorder arguments are a godsend. I can use printf in c with a translation bundle, and reorder the arguments as my language needs:

      printf("second is %2$d and first is %1$d",first,second);

Compare with cout<<args; there is much less influence you can exercise.

So taking this capability away makes l10n harder. But this is an other kind of format string.

In Java there is the MessageFormat API. It can do almost everything l10n requires, at the price of perl-like format string complexity.

<comment><USER15> An interesting point, that might be it.

</comment></comment></comment><comment><USER16> %m and %M are even easier to mix up:

[https://codesearch.debian.net/search?q=%25Y-%25M-%25d%7C%25H...](https://codesearch.debian.net/search?q=%25Y-%25M-%25d%7C%25H%3A%25m%3A%25S)

<comment><USER17> at least it's easier to spot though

</comment></comment><comment><USER18> A response that isn't mentioned here (perhaps because no one issued it?): WTFM.

The manual is a community project. Improve it and send a patch! Do not be afraid to send patches to anything and everything, this is the beauty of the open source world we live in.

<comment><USER19> This might happen more if the owner of man-pages entered the 21st century and took Github pull requests instead of maintaining a convoluted email patch mailing process [1].

[1] [https://www.kernel.org/doc/man- pages/patches.html](https://www.kernel.org/doc/man-pages/patches.html)

<comment><USER18> Fuck that. Emailing patches is a great way of collaboration. The time it'd take you to get your head out of the GitHub clouds and learn how to use email for patches (you even found a guide!) would be less than the amount of time the article author spent on both of their articles.

<comment><USER20> I'll be honest, you come across as a bit of a curmudgeon, but you're totally right! In a fraction of the time it took them to write an article, and a response to the responses to that article, they could have just emailed a better wording and fixed the problem!

</comment></comment></comment></comment><comment><USER21> For the %G issue, I think it should be as simple as changing the %G description in the man page to "This is probably not what you want to use. See %Y. [insert current description here]".

<comment><USER22> It does, though not simple enough: _"This has the same format and value as %Y, except that if the ISO week number belongs to the previous or next year, that year is used instead."_

<comment><USER23> > This has the same format and value as %Y

"Sweet, I can stop reading here, this is what I want!" I'm sure I'll make this mistake at some point.

</comment></comment></comment><comment><USER24> > Put it another way: the me of 2018 knows this. The me of 1998 probably did > not.

For this, I partly blame the dearth of mentoring[1] in the industry. It's been discussed here on HN countless times before, and I'm pretty sure that has been the case since well before even 1998.

The author does, of course, point out the "rush-rush-rush" culture of shipping fast and fixing later (if the company still exists). That does certainly make sense for very early startups, but it seems to have permeated everywhere, if it didn't originate in larger companies in the first place.

I also partly blame the pushing out of programmers (and perhaps other technical professionals) with this magnitude of experience: to continue in their careers they face a choice of switching to a much less programming- focussed job such as management [2] or consulting or professional services or sales engineering, contracting, or essentially accepting permanent wage stagnation by pretending to be less experienced and going for those kinds of jobs.

Some of this is ageism, I expect, but a better explanation seems to be economic incentives. Technical debt is invisible in quarterly results, but big salaries of senior engineers are. I'll keep my fingers crossed that now that money is going toward flying^H^H^H^H^H^Hself-driving cars instead of 140^H^H^H280 characters, this could change. Likely not in time to beat my parents to retirement but for me.

[1] By which I mean hiring relatively inexperienced, but presumably talented, staff and having more experienced staff members train them in best practices and process and skills that may not otherwise be learnable from reading, formal education, or even pair programming (though that can be a vehicle for mentorship). Management buy-in on this is key, especially in startups, where the managers themselves may be the ones who can benefit the most from such mentoring.

[2] Which could, in theory, be a beneficial use of all that gained wisdom, but, then, the experience stagnates, and they might just have had a single- step Peter Principle promotion.

<comment><USER25> The Rachel Kroll of 1998 would have been hard pressed to be familiar with %G, something that only got standardized in ISO 9899:1999 and IEEE 1003.1:2001 and was somewhat experimental in the years before. (I don't remember precisely when I added these to my C library back in the 1990s, but they were definitely interesting but highly non-standard extensions in the 1990s.) Of course this supports xyr point that this was _not_ "documented all over the place".

<comment><USER24> Sorry, I didn't mean to imply that anyone in 1998 should have known specifically about %G. I was, rather, referring, more generally, to something like the wisdom of finishing the man page, even if one thinks one has what one needs partway through, even if one is in a hurry.

That's something I've personally tried to teach whenever I can, along with as many rationales for why this is the case that I can come up with at the time.

This inherent flaw/tradeoff, of ordering, is one of them. No matter what order the author chooses, some reader (sometimes the same person at different times) will find that order suboptimal.

</comment></comment></comment><comment><USER26> I will cite fanf2 from the previous thread:

> The irony of this bug is that immediately above %G is %F (short for > %Y-%m-%d) which is they wanted...

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

</comment><comment><USER27> I posit that it's the wording.

Keeping using either "The ISO 8601 week-based year" or "ISO year" is enough to keep people confused whenever they read or hear it. The reasoning is simply: do we want "international standard year"? -- hell yeah!

We all pattern match, so "ISO" and "year" match too much of what we want, so we wouldn't even try to doubt our decision to use it!

The proper wording is: _don 't ever_ use a word "year" in this case, keep calling the number just a "special G number":

"%G -- the very special G number used only when creating week-of-the-year calendars, see NOTES"

Then in NOTES it would have to be again elaborated that the number obtained by G is a very special number used _only for week-of-the-year_ calendars as specified in a specific ISO standard in this case meaningful only for week-of- the-year calendars and nothing else, and even then, that there are other week- of-the-year calendar standards that do the calculation differently from that ISO specification, and that all this doesn't have anything to do with ISO standard date formatting! And never should this number be referred to as "year". Just a "G number for week-of-the-year." Write that it is "often, but sometimes definitely _not the same_ as the year number."

That's in the line for "easy things should be easy (and obvious) and hard things less easy, especially if the hard thing is for almost all of the uses the wrong thing.

But we all know that a lot of man pages are often both completely precise but at the same time almost useless:

[https://www.mercurial- scm.org/pipermail/mercurial/2015-March...](https://www.mercurial- scm.org/pipermail/mercurial/2015-March/048184.html)

"generates a random man page for a made-up git command... more or less indistinguishable from the official docs"

Of course the approach (being precise while remaining useless) is much older and much more universal than that specific tool and specific pages at some point in time.

</comment><comment><USER16> Original post on HN:

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

</comment><comment><USER28> > The test has to be better than the code it's testing.

Indeed.

The quote is intentionally taken out of context, but I've been treating this as a logical tautology for at least 10 years, and it has served me well.

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

<comment><USER30> HN explicitly allows some resubmissions when the other posts haven't attracted attention. Please don't link to empty duplicates, but only if the current post is a dupe of an actual discussion.

</comment></comment><comment><USER31> This is a great response post!

</comment><comment><USER32> If I had a dollar for every time I've hit the MSDN documentation on .NET string formatting options, I wouldn't have to work anymore. It's one of those things that I can't keep in my head, and have to go read the docs, try it out a few times in LinqPad, swear at something, then read the docs again. Almost like regular expressions. Something to do with embedding a stringly-typed super-terse DSL breeds these problems.

I can't help but think this is another one of those holdovers from the bad old days of tiny main memory and 80-char wide displays that we're still beholden to out of inertia.

</comment><comment><USER33> The simpler answer to this is to use portability layers that work around common problems. This is partly why it is suggested you use libraries rather than rolling your own code.

<comment><USER34> Since when using a standard library became "rolling your own code"?

<comment><USER33> "Standard" does not mean "universally compatible". It means "standard", as in, something an authority or custom has established as a model or example. Gather together every "standard" system call you can find and run unit tests on them on multiple platforms and you will discover they don't always return the same results.

"Using a standard library" is a form of "rolling your own code" when the thing you want to do is non-trivial. Sometimes it's hard to know if what you're doing is non-trivial, but certain things should be a given. Dates and times are non-trivial. IPC is non-trivial. Memory management is non-trivial. Sure, you can call malloc() and free() yourself, but it's really not that hard to screw them up. Same for dates and times: they are more difficult than they appear.

This is part of why people write things like date libraries, to work around portability problems and provide what you actually want. In this case it's not so much a portability problem as a problem in understanding what you want to do and how best to do it.

</comment></comment></comment><comment><USER35> Here's a strftime fix for Python:

        >>> import strftime_fix
        >>> import datetime
        >>> datetime.datetime(year=2018, month=12, day=31).strftime('%G-%m-%d')
        '2018-12-31'
        >>> datetime.date(year=2018, month=12, day=31).strftime('%G-%m-%d')
        '2018-12-31'

[https://github.com/Mortal/strftime-fix](https://github.com/Mortal/strftime- fix)

<comment><USER16> I hope this is a joke…

<comment><USER16> README doesn't tell you that, but it also changes semantics of %Y, so that %Y and %G are swapped.

So I don't think it was meant to be serious.

</comment></comment></comment><comment><USER22> Who'd write/pick %G from the man page when they want a year and day and month have their respective d and m letters? Just because it comes first? And it's sparkled with NOTES and a suspiciously long explanation.

> %G The ISO 8601 week-based year (see NOTES) with century as a decimal > number. The 4-digit year corresponding to the ISO week number (see %V). This > has the same format and value as %Y, except that if the ISO week number > belongs to the previous or next year, that year is used instead. (TZ) > (Calculated from tm_year, tm_yday, and tm_wday.)

<comment><USER36> Your comment is addressed in the post, twice.</comment></comment>


Ask HN: Productive Time Wasters? - <AUTHOR> I frequently have small intervals of time (less than 5 minutes) during the workday. I try to fill this time productively by doing things like Duolingo or a few minutes of deep breathing, but was wondering if others had useful suggestions.  Thanks! <comment><USER2> [https://blog.trello.com/why-context-switching-ruins- producti...](https://blog.trello.com/why-context-switching-ruins-productivity) . This might not apply to your situation, but it's worth examining whether or not trying to fill the time would negatively impact your productivity.

</comment><comment><USER3> As mentioned by jrsmith, I try to minimize the amount I am switching to a new context, so I generally avoid any 'time waster' which is mentally involved. I do like short breaks, however, so often I will walk around for a few minutes. During that period, I will get a drink if what I was drinking has been finished since my last break.

</comment><comment><USER4> Be kind to your shoulders and do some band pull-aparts or no-monies.

</comment><comment><USER5> Anything that doesn't involve the computer or deep thinking.</comment>


How to convince your bearded IT manager to switch to Amazon Web Services - <AUTHOR> https://firstname.lastname@example.com/how-to-convince-your-bearded-it-manager-to-switch-to-amazon-web-services-4df15860a2a6 <comment><USER2> What is this?

Why does it presume all young developers would be so naive as to think the cloud is the de facto correct approach?

Why does it (offensively) characterize "long beard" IT managers as brittle and seemingly incapable of basic cost-effectiveness and feature value analysis to inform trade-off evaluation?

> "VP Bob has tasked you with convincing Long Beard to switch to AWS for their > flagship product."

Why is someone "tasking" someone with "convincing" someone about something that should just be a dispassionate, brass tacks decision made through the analysis of trade-offs?

I guess young hipsters wearing collared shirts are better at mature trade-off based decision making for investing in tech infrastructure than people who have built whole careers on constantly staying sharp on all the latest new hype to ensure they can keep making good trade-off decisions?

I guess "Long Beards" can't do basic unit cost arithmetic?

I guess never, ever in the history of computing infrastructure did anyone devise a way to dynamically respond to spikes in traffic other than by using AWS, which apparently _always_ saves you money?</comment>


Ask HN: Essential questions to ask a potential employer? - <AUTHOR>

I am expecting an offer soon for a senior web developer position at a 50 person web firm and want to make sure I have all the bases covered.<p>What would you want answered before accepting any position? <comment><USER2> 1\. Joel's List: <http://www.joelonsoftware.com/articles/fog0000000043.html>

2\. Culture

3\. Stance on refactoring vs. feature delivery

4\. Off Time - I'm personally against companies that demand overtime, unfortunately this trend is increasing and developers (especially juniors) don't stand up against it.

I recently had a CA based startup ask for 60 hours a week (probably because I am Indian). Had to politely refuse.

</comment><comment><USER3> I wrote a blog post that covers the essential softer questions every applicant should ask their potential employer during an interview if it helps: [http://hackerjobs.co.uk/blog/2012/5/16/assessing-a- company-q...](http://hackerjobs.co.uk/blog/2012/5/16/assessing-a-company- questions-you-need-to-ask-in-an-interview)

</comment><comment><USER4> 1\. Will there be any kind of mentorship and professional development for you or do they just want individual code monkeys?

2\. What's the culture like? Is pair programming encouraged? Are there lunch and learns? Is there a budget to buy books or go to conferences?</comment>


Ask HN: Watching Spaceships - <AUTHOR> How do I track the Dragon launch from my location?  Is there a good non-fluffy site or app for tracking the flight path of spaceships overhead?  I think my latlong gives me a great chance of seeing it lit up as I will he post sunset while the spaceship will be in daylight! <comment><USER2> [https://www.spacex.com/launches/](https://www.spacex.com/launches/)

<comment><AUTHOR> I'm more into the tracking / local sky view!</comment></comment>


Who Killed the Junior Developer? - <AUTHOR> https://medium.com/@melissamcewen/who-killed-the-junior-developer-33e9da2dc58c <comment><USER2> Colonel Mustard did it, in the library, using an overly-complicated web framework to strangle the junior.

</comment><comment><USER3> Dupe

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

<comment><USER4> Ok, we'll merge the comments there and roll back the clock on that one. Thanks!

</comment></comment><comment><USER5> It was me. The E-dropping PBR-drinking little rat-fink wouldn't stop making fun of my 80s music collection. So I sent him on an errand I knew he wouldn't come back from.

Girls just wanna have fun, and senior devs just want some God-damn peace and quiet.</comment>


U.S. CTO: We Need To Extend Technological Innovation Beyond Our Personal Lives - <AUTHOR> http://www.techcrunch.com/2009/08/04/usa-cto-aneesh-chopra-we-need-to-extend-technological-innovation-beyond-our-personal-lives/

<comment><USER2> I hope there is a day when all my medical records/my professional (from school to PhD) records/my financial records are available at one place. And I hope that place is such that no one but myself has access to it without the scare of it being hacked. I know its a lot to wish for, but someday hopefully it will happen.</comment>


Researchers Lift Obelisk With Kite to Test Theory on Ancient Pyramids - <AUTHOR> http://news.nationalgeographic.com/news/2001/06/0628_caltechobelisk.html

<comment><USER2> This link is from 2001, and other references are even older. I see it more as pursing an idea and trying to force a fit than anything with historical likelihood.

<http://www.fsteiger.com/Egyptian_kite_theory.html> dismisses the idea, with reasonable sounding objections. <http://www.philipcoppens.com/kite_obel.html> has an essay with more details of work done to 2004; it's more optimistic but keeping some skepticism.

There's video of the effort at <http://explore.wingsworldquest.org/?q=node/142> . The Egyptologist points out that there's no evidence of modern pulleys or kits during the time of the pyramids.

The head of the researchers on this project is dismissive of the view of Egyptologists, pointing out that she learned that Egyptians of ancient times were supposed to be drinking two glasses of beer for breakfast, for lunch, and for dinner; since she's impaired after that much drinking, the Egyptologists may wrong in their knowledge. Given what I've heard about beer drinking a few hundred years ago (when it seemed many people mostly drank beer and not water), I think it shows an unfounded dismissiveness.

<comment><AUTHOR> Possibly correct. I thought it was still interesting as a concept.</comment></comment>


The International Temperature Data Review Project - <AUTHOR> http://www.tempdatareview.org/ <comment><AUTHOR> As a general rule, all scientific papers should make their (raw) data public, and should also publish their code (any processing of the input data). No hypothesis should be allowed to stand without both of these legs.

In that spirit, I applaud this project, and I look forward to scientific publications upholding such standards.

<comment><USER2> Don't disagree with you here, but I would be interested to hear opposing viewpoints as to why this shouldn't be done.

<comment><USER3> It's just re-reading old ground. The surface temp data has been the subject of intense scrutiny for years, starting with the competition among independent professional labs in the U.S., U.K., and Europe.

In the U.S., Anthony Watts sponsored a project for people to send in pictures of poorly sited weather stations. That started in 2007 and they collected and reviewd hundreds of reports. The ultimate outcome was that they did not find any significant difference in mean temperature trend between stations.

Richard Muller reviewed the surface temperature data and also found it to be reliable and useful, with no signs of manipulation or obvious error. In his own words:

> Three years ago I identified problems in previous climate studies that, in > my mind, threw doubt on the very existence of global warming. Last year, > following an intensive research effort involving a dozen scientists, I > concluded that global warming was real and that the prior estimates of the > rate of warming were correct.

[http://www.nytimes.com/2012/07/30/opinion/the-conversion- of-...](http://www.nytimes.com/2012/07/30/opinion/the-conversion-of-a-climate- change-skeptic.html)

Why would this organization re-tread old ground? Because most people don't follow the subject very closely, so the same doubts can be reinforced in the society over and over and over again, for political (not scientific) purposes.

<comment><AUTHOR> You're completely misrepresenting the observations and conclusions of the surface stations project led by Anthony Watts. [1]

[1] [http://www.surfacestations.org/Fall_etal_2011/fall_etal_medi...](http://www.surfacestations.org/Fall_etal_2011/fall_etal_media_resource_may08.pdf)

<comment><USER3> No I'm not. I've been reading Watts for a long time. His original hypothesis in reviewing weather stations (starting with his "how not to measure temperature" series of blog posts) was that poor siting was allowing urban heat island effects to create a false impression of warming.

Well, as the paper explicitly states, it does not. Mean warming trend at the stations they reviewed is the same as for the national network overall. They found differences in volatility (min/max extremes), which is interesting, but does not disprove the overall warming trend--which was Watt's expectation from the beginning.

<comment><AUTHOR> The surfacestations.org project of Watts is completely different from the linked project. The OP project is focused on understanding adjustments made by NOAA et al. (changing the values of past raw temperature data) not on the quality of location of measurement stations.

<comment><USER3> They come at the same issue from opposite directions.

Scientists make statistical adjustments to the raw data in an attempt to eliminate or mitigate sources of bias, including siting effects like Watts is concerned with.

Watt sought to show that siting bias effects were too significant to mitigate, or were not properly mitigated, thereby calling into question the reliability of the surface temp data sets that show warming. Instead, the data he collected showed that actually, even poorly sited stations show a very similar warming trend.

Since attacking the validity of the station data itself did not provide fodder for the political campaign, this project seeks to generate vague doubts about the statistical adjustments.

The agenda is plainly clear when you consider that they bothered to embed a graph from NOAA, but somehow failed to link to the NOAA writeups that discuss --and in some cases provide source code for--the very adjustments they are wondering about.

Version 1 (source of the graph): [http://www.ncdc.noaa.gov/oa/climate/research/ushcn/ushcn.htm...](http://www.ncdc.noaa.gov/oa/climate/research/ushcn/ushcn.html)

Version 2: [http://www.ncdc.noaa.gov/oa/climate/research/ushcn/](http://www.ncdc.noaa.gov/oa/climate/research/ushcn/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> From [1]: _The Global Warming Policy Foundation (GWPF) is the United Kingdom 's most high-profile climate denier group_. Its founder is Nigel Lawson[2].

[1][http://www.sourcewatch.org/index.php/Global_Warming_Policy_F...](http://www.sourcewatch.org/index.php/Global_Warming_Policy_Foundation)

[2][http://www.sourcewatch.org/index.php/Nigel_Lawson](http://www.sourcewatch.org/index.php/Nigel_Lawson)

<comment><AUTHOR> Of course such a project would be driven by people opposed to the dominating hypothesis.

Nevertheless, the scientific _principles_ at stake are correct. The character and past of people funding a scientific data review are irrelevant for the outcome of science.

<comment><USER5> Is this true historically?

</comment></comment></comment><comment><USER6> The pet project of that reputable and unbiased source, Nigel Lawson.

 _No timetable has been set for the panel to report._

No great surprise. They probably don't want to have the same embarrassment as Koch's funding of the Berkeley temperature study.

I wait to be pleasantly surprised, but if this research goes against what Lawson wants to see, I very much doubt he would agree with it.

If it goes against what I would expect, I would be interested. I would love for global warming to be a myth. The more I look into it, the more it seems to be pretty solid though.

edit - something I find funny is that between them, Lawson and Thatcher are two the UK's most effective environmentalists, given they oversaw the dismantling of the UK coal industry. With the result that much of the UK left wing believes in some romantic sense that the UK should be digging up coal still, just so long as we don't burn the stuff.

edit2 - oh, the panel is chaired by Terence Kealey. The man who has made himself infamous by being against the government funding any science research or providing any state schooling, is heading a science project funded by a voting member of the House of Lords and former government chancellor.

</comment><comment><USER7> >Although the reasons for the adjustments that are made to the raw data are understood in broad terms, for many of the global temperature series the details are obscure and it has proved difficult for outsiders to determine whether they are valid and applied consistently.

>In order to try to provide some clarity on the scientific issues, the Global Warming Policy Foundation has invited a panel of experts to investigate and report on these controversies.

Maybe it's just me, but I read these combined not as "Let's do a proper review of the methodology", but as "it seems that you are all dense, so we are assembling a panel to explain it to you in small words without reviewing the accepted wisdom on the matter".

That would be a shame. I think that people are slinging science fast and shallow on both sides of the debate, partly because people tend to internalize their opinion as a pillar of their identity (see: The Greens party in most western nations), and partly because there are financial interests betting on both sides of the debate, and they are all providing generous "research support".

A proper review of this significant point is very important, and it sounds like it's off to a biased start.</comment>


Visualization of How People on Twitter Reacted to the Internet Blackout - <AUTHOR> http://laughingsquid.com/visualization-of-how-people-on-twitter-reacted-to-the-internet-blackout/ <comment><USER2> I don't get much from this. I see something that might be "the number of people using certain tags at particular locations over time" but I am unsure. Also, I can't tell how they reacted. Were they angry at Hollywood? At their representatives? At the Internets?

</comment><comment><USER3> Would have been a bit more useful to show the traffic before the blackout for frame of reference, this just looks like an unchanging level of activity.

<comment><USER4> I agree. I suspect the creator didn't start this project until that morning, though, so there's no way he/she could have gotten that data. Notice that the video doesn't begin at midnight, but rather 8 A.M.</comment></comment>


Yahoos Learn To Wear Ties To Big Meetings - <AUTHOR> http://www.businessinsider.com/yahoos-learn-to-wear-ties-to-big-meetings-2009-10

<comment><USER2> Perhaps Yahoo needed a bit of discipline at the top, but "I wear a tie now" is a really bad example to illustrate "We have learnt from our mistakes".

</comment><comment><USER3> Look at his eyes and the expression in his face. He is not comfortable and he does not believe what he is saying. He WANTS to believe it though. Or perhaps I've just watched "Lie to Me" too much.

<comment><USER4> ^^ This. The guy is trying to convince himself that if yahoo plays by the old school rules, everything will be ok.

In truth, this is likely exactly what yahoo should _not_ be doing.

</comment></comment><comment><USER5> They'd better start learning more and faster than just to wear ties.

<comment><USER3> I think ties are for big consolidated enterprises that are slow and difficult to move (or at least that is my prejudge). Yahoo! does not need ties, they need to move fast and get in top of Google, MS, Facebook and Twitter. They have to re-invent themselves if they want to survive.

</comment></comment><comment><USER6> wow. so, now they "get it". the tie thing, that is.</comment>


New our ML model beats LSTM - <AUTHOR> https://twitter.com/qcore_info/status/1053076544996892672 <comment><AUTHOR> We developed a new ML model, and as a result, the training time become x4K faster than previous LSTM, and the accuracy is the same or better. This link is the demo of detecting speakers using our model. The API and pip installation will be coming soon.

<comment><USER2> Nice! GitHub repo link so we can follow?

<comment><AUTHOR> Yes here is! [https://github.com/qcore-info](https://github.com/qcore-info)

</comment></comment></comment><comment><AUTHOR> The page is here but now it's in Japanese. So if we are ready I post more information. [https://www.qcore.co.jp](https://www.qcore.co.jp) [https://github.com/qcore-info](https://github.com/qcore-info)

</comment><comment><USER3> Link to paper?

<comment><AUTHOR> Not right now.

<comment><USER3> Ok. Is your model applicable to speech recognition also?</comment></comment></comment>


Sony 'Hack' Shows How Eagerly U.S. Media Still Regurgitate Government Claims - <AUTHOR> https://firstlook.org/theintercept/2015/01/01/north-koreasony-story-shows-eager-u-s-media-still-regurgitate-government-claims/ <comment><USER2> Does the US government really have much to gain from falsely claiming that North Korea is behind the attack? It doesn't seem like it, and it would be pretty embarrassing if it turns out that they're wrong.

That's the only reason I tend to believe in the FBI in this particular case, when they say they have good evidence. It doesn't change much if North Korea is responsible, so why lie?

<comment><USER3> North Korea is a nuclear power (they tested their first nuke some number of years ago now...) and the last few CIA Directors under the Obama administration have included North Korea on a list enumerating 'rising powers'.

Instability in North Korea potentially benefits the United States as its instability agitates its neighbor China and because China would be responsible for millions of very sick and extremely brainwashed immigrants were it to collapse.

Finally, Korea was split as a post war agreement (and punishment to Japan) after World War II and the goal was to quickly thereafter have the cooperation of the US, UK, the Soviet Union and China reunite. (Interestingly, part of Japan was also promised to the Soviet Union, but that never came to pass as the West reneged). Rising tensions during the Cold War prevented the cooperation necessary to achieve this reunification and the provisional governments became entrenched as legitimate statehoods. IE to the major powers Korea (especially North Korea) has no legitimate claim to existence - it is a provisional government that got away from its imperialist keepers.

</comment></comment><comment><USER4> Somehow Kaspersky (Russia) is in on it too? The similarities in toolchain and appearance to shamoon and darkseoul are meaningless? This is not regurgitation, this was out prior to the FBI announcement. Evidence has only grown since then.

[http://arstechnica.com/security/2014/12/sony-pictures- malwar...](http://arstechnica.com/security/2014/12/sony-pictures-malware-tied- to-seoul-shamoon-cyber-attacks/)

<comment><AUTHOR> The 2012 attack on Saudi Arabia, dubbed Shamoon, was blamed on Iran by U.S. officials, and yet researchers believe that the malware originated from hacktivists. How is that related to North Korea again, unless you're implying North Korea carried out that attack?

Your own link states: "While there is nothing in the analysis that would tie the three attacks to the same malware developers, they all used similar techniques, as well as some of the same commercial Windows drivers to attack the hard drives of their victims."

Darkseoul was blamed on North Korea as well as China only because an IP address in China seemed to be part of the campaign. South Korean officials later retracted those allegations.

The evidence is circumstantial at best.

<comment><USER4> Read the Kapersky analysis, it starts to answer your questions regarding the reuse of Shamoon by NK.

Doesn't matter though, my point was, this was not the media regurgitating a US gov opinion as the comment I replied to claimed.

I agree that the publically available evidence is never 100%, but the malware samples and c&c infrastructure point to NK. If you have evidence that someone else did it, that would be interesting. As it stands, NK has a very strong motive for the timing of this move, so that plus just the public info, and the FBI claim based on nonpublic info is enough to convince me they are responsible.

However, the spectrum of "responsibility" is quite broad: [http://taosecurity.blogspot.com/2014/12/what-does- responsibi...](http://taosecurity.blogspot.com/2014/12/what-does- responsibility-mean-for.html?m=1)</comment></comment></comment>


Being a Night Owl May Be Bad for Your Health - <AUTHOR> http://mobile.nytimes.com/blogs/well/2015/04/08/being-a-night-owl-may-be-bad-for-your-health/

<comment><USER2> Like most mass-media writeups of scientific studies, there's no science here. The sample size is absolutely tiny, and it's poorly designed on top of that.

Here are some problems with it:

\- The sample size is absolutely insignificant. For studies that we want to generalize to all humans, a sample of at least 100,000 is ideal.

\- This is not longitudinal or experimental data. We have no idea if we're just seeing a random correlation or not. There are simply too many variables to control for, especially with such a small population.

\- Only people 47 to 59 were studied, and the questionnaire was administered in the present. We don't know what their sleep patterns have been in the past.

\- The groups were self-reported, which likely caused problems. What if you're a morning person on weekdays, but not on weekends?

\- Correlated health issues, like obesity or diabetes, might be the cause rather than the effect.

\- They're presumably all Korean. I don't know how this might influence the study, but it very well might.

</comment><comment><USER3> Not as bad as obsessing over wellness porn in the popular press.</comment>


Cancer Vaccine Exists, Goes Unused - <AUTHOR> http://www.theatlantic.com/health/archive/2014/07/theres-a-vaccine-that-can-prevent-cancer-most-people-arent-getting-it/375027/ <comment><USER2> This is a vaccine for Human PapillomaVirus, which has been known to contribute-to/cause cervical cancer in women. This is a vaccine for a virus, not cancer. The rest of the article seems very informative, but the headline is misleading.</comment>


Weasels Are Built for the Hunt - <AUTHOR> http://www.nytimes.com/2016/06/14/science/weasels-are-built-for-the-hunt.html <comment><USER2> I recently watched a wild weasel, and learned something that should have been obvious: they are excellent tree climbers! Not "they can eventually make it up a tree", but almost "custom designed for the purpose".

This makes sense, as they are closely related to martens, who are agile enough in trees to chase down and eat grey squirrels[1]. But somehow I'd never made the connection, and had thought of weasels as ground-bound.

[1] [https://theconversation.com/resurgent-pine-martens-could- be-...](https://theconversation.com/resurgent-pine-martens-could-be-good-news- for-red-squirrels-46051)

</comment><comment><USER3> I know this thread is about Weasels... but can I just use this opportunity to drop a recommendation for one of the funniest documentaries ever made: [https://www.amazon.com/Pursuit-Excellence- Ferrets/dp/B000RL2...](https://www.amazon.com/Pursuit-Excellence- Ferrets/dp/B000RL21RW)

(I think it's available to stream on Prime)

<comment><USER4> I have Prime, but I can't seem to figure out how to stream it - it only shows the option if I'm not logged in. Anyone know where to click?

<comment><USER5> Are you sure it's available to stream?

</comment></comment></comment><comment><USER6> Weasels are amazing creatures, highly intelligent, playful, and very friendly. It is a shame that so many negative misconceptions persist and are perpetually reinforced in the media, especially movies where ferrets are used as a comedic stand in for "vicious wild animal". Hopefully this article will help change that.

</comment><comment><USER7> There are few things more charming and bizarrely cute than the 'Weasel War Dance'.

<comment><USER8> Primates are not the only game in town.

[http://youtu.be/uZOjwzInj2g](http://youtu.be/uZOjwzInj2g)

<comment><USER7> That video is the cure for depression, in cuddly form.

</comment></comment></comment><comment><USER9> Here's the source video of that GIF I would imagine everyone's seen: [https://www.facebook.com/video.php?v=476393822444](https://www.facebook.com/video.php?v=476393822444)

The same author posted a different video of the same tree to YT: [https://www.youtube.com/watch?v=uYlhQKmDovk](https://www.youtube.com/watch?v=uYlhQKmDovk)

Then there's this video of a pet (edge-case rescue) least weasel, which is a definite candidate for relevancy here (along with all the other videos in the associated YT account): [https://www.youtube.com/watch?v=hy6oaDzy0-Q](https://www.youtube.com/watch?v=hy6oaDzy0-Q)

Also, I'm not sure if you'll see it, but YT's video relevancy/subject analysis system is neat: [http://i.imgur.com/zvLG5nu.png](http://i.imgur.com/zvLG5nu.png)

</comment><comment><USER10> Weasel story. At a small software company I worked for in the early 1990s, management included staff in a rebranding exercise. It was suggested (by management) that a majestic eagle could represent the firm and appear in corporate imagery. Reasonable.

But we were a blue chip financial software company serving the Corporate Treasury function so several of us in R&D endorsed the weasel as a superior image. We invoked Stephen Wright: "Eagles may soar, but weasels don't get sucked into jet engines." Clearly a trustworthy, safe, and reliable choice for our clients.

Management went with the eagle.

And now I learn that weasels are also prolific hunters?? Sigh.

</comment><comment><USER11> There are some people who hunt using mink (a type of mustelid). eg: [https://www.youtube.com/watch?v=qT_wuVD1eHc](https://www.youtube.com/watch?v=qT_wuVD1eHc)

<comment><USER12> It's mostly one guy in the Salt Lake City area who enjoys the challenge and uses his video channel to convince a few others to do the same. He's a real expert in animal handling whose obsession with hunting and willfulness (no one could convince him that minks were impossible to tame) seem to help him relate to mustelids. But minks' stubborn and feisty temperaments make them some of the most difficult animals of their size for most people to keep as pets. I follow this community pretty closely.

</comment></comment><comment><USER13> I feel that they should have included more otter and weasel pictures. Because otters and weasels are super cute.

</comment><comment><USER14> Do one thing, and do it well.

<comment><USER15> The flip-side: Specialization is for insects.</comment></comment>


The Official Debian Developer Homepage: REAL ULTIMATE POWER - <AUTHOR> https://people.debian.org/~jaldhar/rup/

<comment><USER2> Beautiful.</comment>