Clef's company handbook - <AUTHOR> https://github.com/clef/handbook <comment><USER2> This looks like the work of a bit of a control freak. It seems odd to codify so many things in so much detail. It seems they are a pretty small and young company (the handbook has multiple references to being less than 10 employees, their Twitter account joined in 2012), so why do they feel the need to specify how many weeks of vacation you should have taken in the year leading up to the sabbatical you earn in _your fifth year of employment_?

Some of these things seem ripe for deviating from before they even see their first legitimate use:

"It makes Clef look great when our employees speak at industry conferences" \-- so employees are allowed to go four times a year, spending $1000 each time, subject to approval, oh, and this is a "benefit"? Anyway, it's nice -- but does this mean that if there's a conference somewhere, everybody agrees it's a great opportunity, but it's my fifth, and it will cost $1100, then we just shrug and don't go? No, I thought not, so why have the rule at all? What, exactly, is the problem they are solving by writing this stuff down?

I get it at a larger company, where you need to align expectations across a larger body of employees, but when you're <10 employees, you can literally just raise your voice in the room and say "Any reason we shouldn't send Joe to FooCon to speak about the FizzBuzz? It's a bit pricey, probably $1100, but it's it worth it right?" \-- that's a much more transparent decision than anything written in a handbook.

<comment><USER3> > when you're <10 employees, you can literally just raise your voice in the > room and say "Any reason we shouldn't send Joe to FooCon to speak about the > FizzBuzz? It's a bit pricey, probably $1100, but it's it worth it right?" > \-- that's a much more transparent decision than anything written in a > handbook.

This handbook doesn't preclude that; it just says that this is the minimum that every employee can expect without having to wonder what is reasonable or not. Every company, large or small, has exceptions to policy, and the handbook is just a way of making those guidelines common knowledge, so everyone can feel comfortable knowing what expectations are completely reasonable and what will require special consideration.

> so why do they feel the need to specify how many weeks of vacation you > should have taken in the year leading up to the sabbatical you earn in your > fifth year of employment?

One disadvantage of 'unlimited' vacation policies are that expectations are oftentimes unclear, and many people end up taking far less vacation time than they otherwise would or could. This disproportionately impacts women and minorities in the industry for a variety of reasons[0]. People who are used to being marginalized in the workplace (not necessarily at their current job, but in the past) tend to be less aggressive with their demands, even when their demands are completely within reason.

Furthermore, for people looking at long-term planning (people with families, or people with other obligations outside work), having clear expectations for not just the short term but the long term as well is a _huge_ bonus.

[0] This isn't an argument not to have unlimited vacation policies at all - just that, if you do, you should be conscious of mitigating this effect.

<comment><USER4> > One disadvantage of 'unlimited' vacation policies are that expectations are > oftentimes unclear, and many people end up taking far less vacation time > than they otherwise would or could.

That's why I advocate for minimum vacation. It sets a clear standard of how much vacation is expected but doesn't make you carefully dole out vacation days.

</comment></comment></comment><comment><USER5> Absolutely zero remote work, yet I built Stack Overflow with a team of entirely remote developers, and do the same with Discourse today.

I guess every company culture is a series of choices, but it is very hard to be diverse -- which appears to be one of Clef's main goals -- when you only recruit in a tightly limited geographic area.

<comment><USER6> I tried to read about Stack Overflow and Discourse's diversity, but all I could find was these two pages of guys:

[http://stackexchange.com/about/management](http://stackexchange.com/about/management)

[http://blog.discourse.org/2013/02/the-discourse- team/](http://blog.discourse.org/2013/02/the-discourse-team/)

Maybe you have better links? Or maybe you weren't saying that Discourse and Stack Overflow did well on diversity; merely that you think Clef will do badly too? (They seem to be doing reasonably okay right now to me.)

<comment><USER5> I just think it is super weird to be completely, categorically opposed to remote work when a primary goal is diversity. It is a severe constraint on hiring, and you want super flexible hiring to maximize diversity.

<comment><USER7> Its not weird to be completely, categorically opposed to remote work when you've found, e.g., that remote work usually doesn't work well in your environment and that, even where it does, allowing some people to work remotely and not others impacts overall morale in a way which offsets the advantages from the limited circumstances where remote work is useful.

Wanting diversity doesn't mean having unlimited willingess to sacrifice quality of work to get it.

</comment></comment></comment></comment><comment><USER8> I was involved with the setup of a new department in a mega-corp that went from 10 people to 464 people in 1.5 years.

It was tough. The big stuff, like getting projects pushed to our office (mainly previously outsourced stuff) wasn't hard. The boss made a phone call, and that was that. The small stuff was hard, the stuff from the employee perspective, many fresh university graduates, was hard. From interviewing to employee on-boarding checklists to establishing a training curriculum to benefits, rewards, mentoring, performance measurement. That was hard. Being part of a mega-corp didn't make this easier. Sure, there was stuff like a solid IT infrastructure and policies established from a leadership perspective, little implementable value existed as a turn-key solution, it all had to be adapted, mixed and changed.

Which was in great contrast with my first company, where very clear, consistent and gradually adapted policies existed (it was a small company, 1000 people, with a 400 year history and very very few people ever left).

Around a year later one of the internal consultants advising the department (and me, in particular) created a global roll-out of a 'minimum standards' type document to 20,000+ employees documenting everything discovered to be undocumented. I still refer to this handbook that covers all that needs to be understood in operations management to a minimum level (800+ pages).

Putting Clef's handbook on Github is fantastic. Not all of it might be applicable for everyone, but it is something where often there's nothing. But do think carefully, does this apply for us? If not, write it down.

<comment><USER9> I'm guessing you'd have mentioned if it was, but is your handbook published or otherwise available anywhere?

<comment><USER8> Unfortunately not. The internal classification is 'confidential'. I'm not much a believer of security by obscurity, but that's the company decision and I respect that. When I say refer to (since I left this organisation), I mean mentally. Putting all that in place established some solid structured thinking which I'm looking to share, but that's not ready yet - when it is I will post a link on HN :)

</comment></comment></comment><comment><USER10> I think it's great to see increased transparency in company procedures, and I will probably steal some aspects of it. OTOH, the implementation is slightly disappointing. No remote work plus "we expect full-time employees to be at the Clef office between 45 and 50 hours a week" is definitely decreasing the pool of potential employees. As a parent there is NFW I would sign up to 10 hour days, but I'm glad the company is open about it's expectations, and they have the right to create the kind of company they want (within the limits of the law).

</comment><comment><USER11> > Employees also accrue 1 hour of sick leave for every 30 hours of work, but > cannot accrue more than 5 days of sick leave.

Six months to earn 5 days of sick leave. Why is sick leave a privilege? You're either sick or you're not.

If I get the flu 3 months in, do I just take my two days off then come in and infect the office?

<comment><USER12> Welcome to America, land of the freedom to work yourself to death

<comment><USER13> Perhaps I've just been lucky, but I've been working in the US for the last 15 years, and the policy at all 4 of the companies I've worked for has been: "if you're sick, don't come in".

None of the companies I've worked for has set a limit on the number of days you could be sick for, nor encouraged anyone who didn't feel healthy to come in to work. I appreciate that some companies may do that, but I've never really understood how that works, given that illness is (mostly) not something you can control.

<comment><USER12> You've been pretty lucky. I would say 90% of workplaces do not have a sick policy like that.

</comment></comment></comment></comment><comment><USER14> Codifying a 45-50 hour work week really doesn't help.

<comment><USER15> OTOH, at least they put it in public. Now people know not to apply.

<comment><USER16> Man, no kidding. Why would anyone want to sign up for that? 45-50 hours codified face time in your open office cattle farm. Get permission from a founder at least a day in advance if god forbid you need to be out of the office for something. Not only do I not want to work there, but I'll think twice before signing up with them as my 2FA provider.

<comment><USER17> Permission from one of several founders at a 10 person company is proportionally equivalent to letting your team lead know you'll be absent. That's not exactly an excessive standard, is it?

Further, an open expectation of 45-50 hours at a place that also encourages spending 4 of those hours on self-study seems fine compared to the risk- adjusted industry average.

<comment><USER18> > Permission from one of several founders at a 10 person company is > proportionally equivalent to letting your team lead know you'll be absent. > That's not exactly an excessive standard, is it?

Requesting is different from informing. "May I work from home tomorrow?" is not the same as "I am going to work from home tomorrow."

<comment><USER17> If you tell your boss "I am going to take tomorrow off", and they say, "Actually, you're scheduled for an interview, can you please come in? But take Thursday or Friday off by all means", you're going to still go to work, right? Informing, in practice, is identical to requesting, and this is really just a language thing that makes it clear that you (a) should inform somebody you'll be gone and (b) you can take any day off except maybe 5% of days have critical meetings or whatever.

It seems reasonable to think this is codified this way because the alternative language of informing doesn't imply suggestion (b), but sure, it could also be due to the founders being control freaks.

<comment><USER18> > If you tell your boss "I am going to take tomorrow off", and they say, > "Actually, you're scheduled for an interview, can you please come in? But > take Thursday or Friday off by all means", you're going to still go to work, > right? Informing, in practice, is identical to requesting ...

In my experience, "you must ask for permission" is substantially different from "you don't have to ask, but your decision may be overruled". It sounds like your experience is different.

Perhaps the differences I see can be put into another context. Think about the action "eating off someone else's plate", rather than "working from home". Do you see the gap between informing and requesting in that circumstance? The difference seems huge to me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Unless i am missing something the idea of giving .9% equity to every employee is not going to be sustainable if you grow.

I am curious how solve that bit when the company grows, in terms of numbers of employees, or in terms of valuation.

Also, if everybody is getting the same valuation in the long term, are you re- inventing the idea of a cooperative?

<comment><USER20> I also noticed they vest over six years, not four. Very unusual in my experience and means that they're effectively giving 0.6%, 0.15%/yr.

[https://github.com/clef/handbook/blob/master/Hiring%20Docume...](https://github.com/clef/handbook/blob/master/Hiring%20Documents/Clef%20Offer%20Letter.md)

</comment></comment><comment><USER21> handbook/Operations Documents/Interview Process.md:

"Finally, the candidate should come in for a whole day of talking to and working with the team.

..[after lunch] back to the office for one on ones with everyone."

Wow, I wonder how much they compensate you for a "team fit day".

<comment><USER22> Yes this seems inefficient, it would also distract the team every time someone was being interviewed.

<comment><USER23> Hiring is a strategic lever, especially early on.

I work for Pivotal Labs. For engineering hiring we do onsite pairing interviews that last a day, divided across two teams. Whenever possible, which is most of the time, on a real task on a real project.

The disruption is worth it, because engineers get to pick their peers.

<comment><USER24> I work at Pivotal Labs also. I don't even find it that disruptive to interview candidates on our projects bc I'm still working on what I'd be doing that day. It's certainly less disruptive than marching our entire team one after another into a conference room where they grill the candidate for an hour at a time, which is what most employers do.

</comment></comment></comment></comment><comment><USER25> One recommendation would be to title each section based on number so that it doesn't default to alphabetical order, which presents things out of the order in which you would want employees to read them. For example, the Onboarding Documents section currently looks like this:

Direct Reports.md Internal Transparency.md Objectives and Key Results.md One on Ones.md Product Manifesto.md Welcome to Clef.md

It should look like this, organized in the order you want people to read it (this is my best guess, another order might be better):

00 Welcome to Clef.md 01 Product Manifesto.md 02 Objectives and Key Results.md 03 Internal Transparency.md 04 Direct Reports.md 05 One on Ones.md

</comment><comment><USER26> IMO a real commitment to equal opportunity would mean no at-will employment (i.e. no firing for undisclosed reasons) and only blind interviews (e.g. online pair programming without speech/video):

[http://www.theguardian.com/women-in- leadership/2013/oct/14/b...](http://www.theguardian.com/women-in- leadership/2013/oct/14/blind-auditions-orchestras-gender-bias)

"We interview for culture/team fit" also typically signals a desire to avoid diversity.

<comment><USER27> Making it difficult to fire ineffective people, or doing so slowly, is one of the best ways to ruin an organization. The friction that exists around firing in many countries seems to be part of why they have less effective business innovation and investment. Companies can't hire someone without significant risk, because firing them will be difficult if they don't work out, and so they're averse to hiring. Meanwhile, poor performers stir dissatisfaction among other employees, especially effective ones. This makes it harder to start new companies and grow.

It's preferable for both employee and employer have the right of free association. If it's not working for either side, just end it. See "'Give Away Your Legos' and Other Commandments for Scaling Startups" for a recent examination of this in startup hiring.

As organizations tend to grow larger, they tend to accumulate less effective people over time, since people tend to hire those who are less effective than themselves, rather than more effective. A counter-balance is necessary to preserve organizational effectiveness, which includes making it possible to fire genuinely ineffective people without a lot of hassle and drama. Some countries have truly ridiculous firing processes that involve a committee of one's peers, and the whole nearby office gets dragged into one person's poor performance.

Employers and employees don't owe each other an obligation to keep providing compensation or labor. If a company is unfair in its management practices, and undervalues effective workers, then that company will flounder in the market compared to companies that value them appropriately. The problem will fix itself over time, without simultaneously saddling down fair and appropriate companies with the baggage of making it hard for them to fire their bad people.

<comment><USER26> >Making it difficult to fire ineffective people, or doing so slowly, is one of the best ways to ruin an organization. The friction that exists around firing in many countries seems to be part of why they have less effective business innovation and investment.

It has nothing to do with innovation and investment and everything to do with managers' desire to maintain their dominance over their employees.

>Meanwhile, poor performers stir dissatisfaction among other employees, especially effective ones. This makes it harder to start new companies and grow.

Not half as much as authoritarian managers do, and easy-to-fire policies guarantees authoritarian managers.

>It's preferable for both employee and employer have the right of free association.

Only if it were an equal relationship. Which it patently is not.

>As organizations tend to grow larger, they tend to accumulate less effective people over time

You know what kind of organizations do that the most? The ones that know that they can dispose of their employees at a moment's notice for any reason, without reason.

Organizations that can't fire indiscriminately tend to be a bit more careful about hiring. Which is good for job security, which in turn is actually _good_ for efficiency and good for innovation.

</comment></comment></comment><comment><USER28> I've been spending a ton of time researching how startups build a diverse team with an inclusive culture and honestly have struggled to find much literature on it.

Though I don't agree with everything in the Clef handbook, it was an extremely informative read. It's hard to spell out inclusion in words, but this seems like a solid start.

<comment><USER29> My (obv unsolicited) advice for inclusive+diverse: hire for empathy.

<comment><USER30> What do you mean by that?

<comment><USER29> I'm being totally literal. Prioritize empathy for others as a quality you look for in candidates/colleagues. It's not all that hard to spot and interview for, and I think it's crazy valuable in teams. Particularly (this is relevant to my work) when you're not your own user (because you build for a market of users that you aren't.. like tools for doctors or journalists, or I dunno).

This article[1] has some good things to say around this.

[1] [http://ideas.ted.com/the-secret-ingredient-that-makes- some-t...](http://ideas.ted.com/the-secret-ingredient-that-makes-some-teams- better-than-others/)

<comment><USER31> > It's not all that hard to spot and interview for

I'd argue that it's a lot harder than you think - you might be able to spot what you recognize as empathy, which is likely specific to a particular culture or personality type. Even at that, under the pressure and power imbalance of an interview, your hypothetical empathetic person might be trying their best to appear calm and focus on responding intelligently.

For instance: I'm on the autism spectrum. In an interview, my empathy might be masked by a general nervousness around newly met people, or by unintentional gaffes of body language. I could very easily see myself showing up as a false negative on your empathy test in an interview.

Another case: a highly qualified candidate from a high-context culture, who might be inclined to demonstrate deference or politeness as a form of building accord with their interviewer. If you're looking for a more effusive, gregarious "personableness", this might too show up as a false negative.

<comment><USER29> > I'm on the autism spectrum.

Me too. I find nervousness is generally a positive indicator for empathy.

> If you're looking for a more effusive, gregarious "personableness"

I'm generally not. In general I look less at how someone interviews and more at choices they've made. How people behave in an hour isn't as interesting to me as how they've behaved over the past years.

</comment></comment></comment></comment></comment></comment><comment><USER32> Bit of an interesting marketing campaign.

Put your handbook out, watch your target end users learn who you are and check out your products.

The end users feel like they really know you and feel more positive towards your products when they come to choose a vendor.

</comment><comment><USER22> Fantastic idea, I'd love to see more of this. Not only does it promote transparency and positive change but it also gives people a leg to stand on if the company doesn't do what they public say they do.

</comment><comment><USER33> _At Clef we're working to build an inclusive company with a value-driven culture._

Am I the only one who would rather work for an exclusive company than an inclusive one? Inclusive makes it sound like the company will hire anybody, regardless of the value they bring to the company.

</comment><comment><USER34> Damn it, I thought it's for Dr. Clef of The Foundation :(</comment>


Kubernetes 1.14 released - <AUTHOR> https://kubernetes.io/blog/2019/03/25/kubernetes-1-14-release-announcement/ <comment><USER2> The inclusion of Kustomize[1] into kubectl is a big step forward for the K8s ecosystem as it provides a native solution for application configuration. Once you really grok the pattern of using overlays and patches, it starts to feel like a pattern that you'll want to use everywhere (even outside of the k8s ecosystem).

I'm excited to see that the kubectl docs[2] are actually recommending -k as the default solution (vs -f).

      Though Apply can be run directly against Resource Config
      files or directories using -f, it is recommended to run
      Apply against a kustomization.yaml using -k. The
      kustomization.yaml allows users to define configuration
      that cuts across many Resources (e.g. namespace).

Really amazing work from everyone on this release.

[1][https://kustomize.io](https://kustomize.io)

[2][https://kubectl.docs.kubernetes.io/pages/app_management/appl...](https://kubectl.docs.kubernetes.io/pages/app_management/apply.html)

<comment><USER3> In which situations would you consider using Kustomize over helm? Helm seems like a decent option for defining your app, especially if you're using other helm dependencies.

I'm yet to deploy anything to a production k8s cluster, so I'm looking for opinions of people that know what they're talking about.

<comment><USER4> Helm is great right up until you run into a chart that doesn't support what you need, i.e. if you want to run on tainted nodes, it needs to support tolerations. Want to add a sidecar to a pod? No.

It also lies about the actual status of the installation. A deployment that applies successfully but has issues with the new pods coming up can still show successful.

The larger charts are a nightmare which isn't helm's fault but it doesn't make things appreciably easier either.

Kustomize has a lot of warts too. If the type definition in k8s source doesn't have a merge key defined, it's going to overwrite the entire section of the resource. You can use JsonPatches to get around that problem but that is super gross too.

The entire ecosystem is trying to solve the same problem and no one has come up with the definitive way of doing it (because it's a HARD problem) It seems like Helm templating and then passing to kustomize to add in the one-off changes is the direction a lot of people are heading but it's more of a least- bad solution than a good one.

I will say, if you're using helm templates for your own stuff, you very likely going to be happy with it.

<comment><USER5> This is a problem we got sick and tired of at $work, so we made kr8: [https://github.com/apptio/kr8](https://github.com/apptio/kr8)

You can define a component which you install into many clusters and then slightly differentiate them based on cluster parameters, kind of like Puppet or Chef (without the application stage)

Alongside this, you can actually patch helm charts. An example component can be found here [https://github.com/jaxxstorm/kr8-cfgmgmt- example/blob/master...](https://github.com/jaxxstorm/kr8-cfgmgmt- example/blob/master/components/external_dns)

The patches.jsonnet allows you to add a commandline flag that wasn't in the helm chart at one time.

<comment><USER4> Oh no, jsonnet!

Seriously though, gonna look closer at this tomorrow at the office. Thanks for the heads up!

</comment></comment></comment></comment></comment><comment><USER6> The big news here is Local Persistent Volumes hitting GA, which is the key prerequisite for running production databases on Kubernetes and envisioning Kubernetes-only production environments.

Big kudos to SIG Storage!

<comment><USER7> The Local Persistent Volumes are not quite ready for things like DB workloads. They still require manual work to be done before they can be used. So if you plan on using them you need to configure your servers and manually create the PV objects, and you need to do some configuration to make sure disks are the correct sizes since there is not dynamic packing for smaller DB's.

There was talk earlier about using LVM to be able to really provide a Local PV that is like the network attached PV's, but it doesn't look like that landed yet

</comment></comment><comment><USER8> Is the conventional wisdom to still avoid self-hosting? I'd like to adopt k8s but managed hosting isn't feasible in our aws region or on-premise.

<comment><USER9> Yes, you will spend more time maintaining Kubernetes than running your infrastructure if you are a small team.

<comment><USER10> This is not necessarily true. I learned Kubernetes and converted a complex network of services over from Docker about a year ago. It took me about a month. I barely have to do anything for ongoing maintenance. It's taking up less of my time than Docker Swarm did, and Swarm took up less of my time than the Ansible mess I had before that. More stuff is automated (e.g. by using k8s cron jobs). The scheduler is pretty good now and handles almost all situations by itself.

As a sole developer, I couldn't run what I do WITHOUT such an orchestration platform.

And yes, I administer my own cluster on a bunch of Vultr VMs. I've had fewer problems with this over the last 3 years than it seems people have had on GCS (recent news of outage fresh in memory).

<comment><USER11> What are you using to orchestrate the VMs? (provisioning new VMs, taking down VMs and so on)

<comment><USER10> Nothing. Occasionally I upgrade the specs on one of the machines (vertical scaling) with one click. I'm not so bothered about having a bit of extra capacity since the VMs are so much cheaper than on GCS/AWS/Azure.

Eventually I might want to add more machines to the cluster. That would take me a few minutes. I use sup scripts to do the setup. I like it much better than Ansible.

[https://github.com/pressly/sup](https://github.com/pressly/sup)

</comment></comment></comment></comment></comment><comment><USER12> Keights[1] has a snapshot version available for running 1.14.0 in AWS, in case you can't wait for EKS :).

1\. [https://github.com/cloudboss/keights](https://github.com/cloudboss/keights)

<comment><USER13> How does Keights compare to Kops ? [https://github.com/kubernetes/kops](https://github.com/kubernetes/kops)

<comment><USER12> Where Kops is a command line tool with subcommands like create-cluster and update-cluster, Keights uses Ansible roles with CloudFormation underneath. This works well to manage the cluster from CI/CD, where updating the cluster is just updating the version in requirements.yml and retriggering the build with Ansible. Creating or updating the cluster is the same process.

Keights also relies on kubeadm, which is released along with Kubernetes, so it can be up to date much quicker than Kops, which is several releases behind. Kops is a surprisingly large amount of code and probably needs significant changes between each release, whereas changing Keights to support a new release usually just means modifying the Kubeadm config files and changing dependency versions.

At the last two companies where I worked, they couldn't use Kops because it checked for an internet gateway on the VPC and failed if one was not found. A lot of companies have centrally controlled Amazon accounts with locked down VPCs and no ability for most teams to modify them. Keights was created to work even in such environments and assumes that your network is already set up how you want it.

<comment><USER14> Thanks for the input on kops. There's a lot of functionality in kops - e.g. we can manage CNI providers, etcd etc. In some places this manifests as more code, but my gut is that if you add up all the code you're relying on it turns out to be a wash. And you can definitely use kops from CI, driving it from yaml files that are checked in to git - that seems to be a great configuration particularly for people managing large numbers of clusters.

The long-term strategy is to get most of the kops functionality upstreamed into standalone community projects - and we're making progress with etcdadm, addon-operators, cluster-api etc. Then it will be easy to write your own tooling if you don't like some of the kops decisions, but still benefit from the community investment in e.g. etcd management etc. kops itself becomes a thinner shim around those shared common pieces. A lot of the decisions that are now generally agreed (e.g. dynamically attaching etcd volumes) weren't as well accepted when we started off, so it was harder to get them going as community efforts!

We do have support for "phases" in kops which should allow you to use a provided VPC, but to be honest it's still not as easy as the rest of kops is. We also have a few PRs in-flight that to allow you to specify an alternative to an IGW e.g. a VPN, but it's hard to reach consensus (but I guess we should based on your input!). The big trade-off here is that once you start allowing arbitrary configuration, you lose the ability to validate things, and so for some fraction of people there are going to be mistakes. That works great for small community projects, it is really great if your business model is paid support, but for a large community project it really can be problematic. I don't think we've got the balance totally correct in kops, but that's the trade-off we wrestle with.

<comment><USER12> Hi Justin, thanks for the feedback. I'll take another look at kops as it's been a while. I do think it could benefit from having a knob to turn off some of the pre-validation, or for it to do functional checks instead of checking for the existence of specific AWS resources. Many companies treat their AWS VPCs as an extension of the private corporate network, and they come up with lots of creative ways to route traffic to the internet (or select portions of it) without the VPC necessarily having an IGW or VPN. AWS is also making a growing number of services available from private endpoints within the VPC, so there is often no need for internet access. I understand the value of validating the environment, but an "expert mode" toggle would also be nice.

</comment></comment></comment></comment></comment><comment><USER15> And right when you thought proprietary, non-standard OSes were finally going away...

<comment><USER16> What do you mean? Kubernetes is open source and the de-facto standard in container orchestration.

<comment><USER17> might be referring to this news item from a few days ago [https://news.ycombinator.com/item?id=19435854](https://news.ycombinator.com/item?id=19435854) "The Cloud is Just Another Sun"</comment></comment></comment>


How to Get a Job in Tech - <AUTHOR> https://www.gautamtata.com/series/how-to-get-a-job-in-tech/ <comment><AUTHOR> Hi Everyone,

I've recently begun writing a blog post on how to get a job in tech in the bay area. I've written this blog from my own experiences coming from a small state school and what I did/ how I prepared to get a "tech-job" as a software engineer. I've also included some of my experiments/hacks and would love to know what you guys think!

I would be grateful for any feedback for the blog, content or anything else at all.

Thank you!</comment>


Tell HN: Sprint no longer assigning IPv4 addresses - <AUTHOR> After a few days of seemingly bizarre network errors from some, but not all,  apps, I realized my phone wasn't getting an ipv4 address.  After three calls with poor tech support bodies who didn't know what an ip address is, I tried Sprint's chat support.  I was surprised when they promptly told me that all internet data is now ipv6.  However, they said they could do a workaround for me.<p>Moral, ipv6 is coming.   Google says it is at 18% worldwide, and 34% in the US.  https://www.google.com/intl/en/ipv6/statistics.html <comment><USER2> AFAIK, Sprint offers 464XLAT on their IPv6 network, the same as T-Mobile. This uses a CLAT on your side to translate IPv4 to IPv6, then a PLAT on the Sprint side to translate back from IPv6 to IPv4. Allowing IPv4-only apps to work over the carrier's NAT64/DNS64.

It sounds like you might have a broken CLAT implementation.

<comment><USER3> Yes, T-Mobile has been doing it for four years now. See slides here:

[https://conference.apnic.net/data/37/464xlat- apricot-2014_13...](https://conference.apnic.net/data/37/464xlat- apricot-2014_1393236641.pdf)

</comment></comment><comment><USER4> I think your sprint rep sold you a line of bullshit - there was likely a configuration issue with your account.

Sprint must have rolled out IPv6 in the last six months or so.

</comment><comment><USER5> IPv6 is already here and has been for years. The vast majority of my org's Internet traffic is IPv6.

Some of you are just straggling.

<comment><USER6> Thats very different to ipv6 only with some sort if 6to4. Many common things (github etc) still fail to have ipv6 addresses so you are reduced to some pseudo natv6 that works poorly.

</comment></comment><comment><USER7> T-Mobile also went more or less IPv6-only a few years ago.

</comment><comment><USER8> Sprint has been IPV6 enable for several years. Some devices are/were duel stack, some devices IPv6 only with the 464XLAT.

You can see the adoption of ipv6 enabled devices growing: [http://www.worldipv6launch.org/apps/ipv6week/measurement/ima...](http://www.worldipv6launch.org/apps/ipv6week/measurement/images/graphs/SprintWireless.png)

All major providers ipv6 percentage can be see at [http://www.worldipv6launch.org/measurements/](http://www.worldipv6launch.org/measurements/)

</comment><comment><USER9> Interesting... What were the errors and what was the workaround? Do they have some sort of 6to4 router that wasn't working?

<comment><USER10> That'd be an interesting take on Carrier-grade NAT. The approach I'm familiar gives phones a non-routable IPv4 address to get to the carrier's NAT gateway, but I can imagine shenanigans with some combination of 6to4, phone settings and/or DNS.

Anyone seen such a setup in the wild? I'm interested in the errors OP saw.. was it just niche non-HTTP(S) access which broke, or all websites without an AAAA record?

<comment><USER11> Have you seen 464XLAT?

</comment></comment></comment><comment><USER12> Does anyone know why ipv6 usage is significantly higher on Saturdays than other days for Google? They record a difference of ~3% which is a lot of traffic. Is this due to different browsing patterns of countries with high adoption vs. low adoption?

[https://www.google.com/intl/en/ipv6/statistics.html](https://www.google.com/intl/en/ipv6/statistics.html)

<comment><USER13> I would guess residential connections are more likely to be IPv6 enabled. Corporate networks move slowly. In our organisation they actually removed IPv6, go figure!

</comment></comment><comment><USER14> All my Verizon android phones have been on ipv6 addresses for years, I think? What is the status of other major carriers?

</comment><comment><USER15> I'm IPv4 only at the moment, though I have sometimes seen both in various markets across the US.

</comment><comment><USER16> If they sell you an "internet access", tell them that without a global reachable IPv4 (and IPv6) it's not an internet access. Then go to another provider.

<comment><USER17> I'm a bit of a rookie when it comes to understanding differences between IPv4 and IPv6.. can you explain to me what you mean by this comment?

<comment><USER18> The difference is it's a totally different protocol. I'd be willing to guess that most servers on the internet only listen on the IPv4 protocol, which means, effectively, those servers are unavailable to you.

<comment><USER19> If they went IPv6 only and didn't implement NAT64 at the same time, then someone is going to be fired--probably the CEO.

Mobile users won't notice because their IPv4 addresses were NATted anyway, and the phone stacks make it harder for app developers to screw up the v6 support. The v6 switchover should be mostly invisible to the users.

<comment><USER20> Very true. Verizon has been 6 only for ages, but they use NAT64 so most non- nerds never noticed.

I believe that at the time of the rollout they were the largest IP6 network on the planet. They may still be.

It works because smartphone users don't have the same needs as home and business users. There aren't a ton of smartphone users demanding reachable IPv4 addresses in the first place, and the ones who might want them are probably smart enough to figure out how to use IPv6 instead.

<comment><USER19> I can't imagine there is much demand for people running internet servers off of their phone over the cell network.

<comment><USER20> You might be surprised. For instance, almost every emergency vehicle has a 4G modem of some sort in it now. Also, there are tons of vending machines and assorted manufacturing or mining equipment that use similar devices.

Often it's nice to be able to reach out to those devices and check the location, status, or whatever instead of waiting for the device to check in with you.

For those purposes though IPv6 is fine... as long as you know what you're doing with IPv6.

<comment><USER12> Doesn't that decrease security? NAT plays a big role in anonymising users and providing some basic security. If every device has their own ipv6 address, scanning devices for vulnerabilities will be much easier.

Having secure devices is obviously the better solution but will never happen. That 10 year old vending machine won't get an update anytime soon and hiding it from the outer world could be the best way to prevent it being part of a botnet.

<comment><USER16> Why? Just because you have a global address? This does not mean that all inbound connections are open.

Also scanning IPv6 is not that easy as it is in v4.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Good. Kill it.

</comment><comment><USER22> ipv6 has any impact on privacy? (VPNs aside)

my ipv4 changes every 24 hours, what if my ISP tries to pin a fixed ipv6 on me since they are "unlimited"?

I hope I can also stay under NAT, I don't understand the concept perfectly but it's nice to have this extra indirect protection at home

<comment><USER23> There are plenty of other ways to track you. This is a really old argument (and is off-topic).

<comment><USER12> But you can prevent all other ways. IP tracking doesn't work well currently, the number of users sharing one IP can be significant. Other means of tracking can be disabled with addins and by using common configurations (for browser fingerprints). Once you start assigning one static ip per device, there's nothing a user can do to prevent being tracked constantly.

</comment></comment></comment><comment><USER24> Until recently, I was on Spectrum (née Time-Warner) service in Austin. I was running IPv6 on my gaming machine, and for general web browsing it was fine. But I was seeing ping times of over 2000 ms for World of Warcraft and it made the game unplayable. I switched back to IPv4 and got pings in the 50-70 ms range. This showed me that IPv6 is still in the "try it and see" stage and your latency will vary by application.</comment>


Tag Clouds of Obama's Inaugural Speech Compared to Bush's - <AUTHOR> http://www.readwriteweb.com/archives/tag_clouds_of_obamas_inaugural_speech_compared_to_bushs.php <comment><USER2> I think it's fascinating how interested people are in quantitative analysis of speeches. How many times did he use the word "I". Which president said "I" the fewest times in an inauguration speech? What's the tag cloud look like.

Obama gave a beautiful speech today -- no doubt the use of language and delivery are a large part of that, but I find the beauty of his speeches is in the ideas.

Too often politicians fall back on flowery, patriotic language that lacks meaning and substance. Obama's speeches seem, to me, full of purpose and direction. They clearly communicate values, priorities, and objectives.

<comment><USER3> What I find interesting is that no single word jumps out as much as "freedom" for Bush or "government" for Reagan or "new" for Clinton. This is consistent with what you are saying, Obama is not trying to drive home a single word or concept to "brand" his Presidency, he is actually explaining where he thinks the country is and where it needs to go.

My favorite part was the line about "putting aside childish things." It was a short but powerful dig at the last two decades (at least) of partisan politics. Grow up, get past the childish name calling, and get to work on solutions to our considerable problems.

<comment><USER4> That was the first thing that jumped out at me as well. One might have thought "change" would get that, but no, it was a balanced speech. Regardless of what happens in the next few years, a great start

<comment><USER5> I stayed up til the wee hours of this morning to watch Obama's inaugural speech (It occured around 2:10am for me) and I must admit I was impressed and saddened at the same time.

Impressed that you Americans are getting a leader who is inspiring and I hope he does great things for your country (so congratulations!)

Also I was saddened, as Australian politics is in a pretty poor shape right now, which we substituted an aging Prime Minister who kept our economy in good working order for a dud PM. Shame.

Where do I sign up to work hard to help a great nation?

</comment></comment></comment></comment><comment><USER6> Format of the NY Times version makes it a lot easier to make comparisons: [http://www.nytimes.com/interactive/2009/01/17/washington/200...](http://www.nytimes.com/interactive/2009/01/17/washington/20090117_ADDRESSES.html?hp)

</comment><comment><USER7> I just can't find any meaning in this tag cloud thing. Never did actually.

<comment><USER8> I think it clues you into the president's general thinking. Obama tended to use the word 'nation' and Bush liked the word 'freedom'.

If you didn't know who was speaking and you saw 'health', 'Africa', 'AIDs', you might assume a scientist or doctor is speaking.

And sometimes art is just that, art. It resonates with you or it doesn't.

<comment><USER9> I still don't get what "nation" vs. "freedom" tells me.

<comment><USER10> The preferred type of rhetoric?

</comment></comment></comment></comment><comment><USER11> The most striking thing to me was that he explicitly mentioned curiosity. It's not just hard to imagine Bush doing that; it's hard to imagine any recent president.

<comment><USER12> How about "risk-taking"? I like that Obama frequently mentions it as a virtue, but am not sure if it's common among presidents.

<comment><USER13> "Rather, it has been the risk-takers, the doers, the makers of things ..."

I liked that bit, as well as "We will restore science to its rightful place", and the mention of "non-believers".

</comment></comment></comment><comment><USER14> Interesting to look at. More interesting would have been to compare it with W Bush, Clinton, HW Bush, and Reagan and see how it evolved.

<comment><USER15> Also would be interesting to use the same font and color scheme for the different clouds. I can't help but feel (just by looking at, not reading) the two clouds that the Obama one felt "warmer".

<comment><USER16> I'm sure that's just _coincidence_.

</comment></comment></comment><comment><USER17> BBC prefers to call it "key words"

[http://news.bbc.co.uk/2/hi/americas/obama_inauguration/78406...](http://news.bbc.co.uk/2/hi/americas/obama_inauguration/7840646.stm)

</comment><comment><USER18> Pretty, but a histogram would have done a better job at presenting this comparison.

</comment><comment><USER19> Thank god, he didn't say "hope" and "change" that much...</comment>


Making Science & Technology Cooler Than Sports (w/ Dean Kamen and Neal Bascomb) - <AUTHOR> http://thedianerehmshow.org/shows/2011-03-03/neal-bascomb-new-cool

<comment><AUTHOR> I heard a small portion of this on the radio earlier today and I thought it was good enough to share. There are a lot of excellent points made.

I tuned in around 41:50 in the audio feed. Start listening there for some good points made by Dean Kamen.</comment>


EU's Tajani says Brexit date can be delayed few weeks at most: report - <AUTHOR> https://www.reuters.com/article/us-britain-eu-tajani-idUSKBN1QQ005 <comment><USER2> Having been through a long and very ugly divorce myself, my advice is to just rip the band-aid off and crash out as soon as possible. Yeah, it's going to be terrible, but nothing can stop that now. And the anticipation is worse than the actual new normal.</comment>