HN user

sethvargo

1,634 karma

Seth Vargo is a Distinguished Software Engineer at Google. Previously he worked at HashiCorp, Chef Software, CustomInk, and some Pittsburgh-based startups. He is the author of Learning Chef and is passionate about reducing inequality in technology. When he is not writing, working on open source, teaching, or speaking at conferences, Seth advises non-profits.

[ my public key: https://keybase.io/sethvargo; my proof: https://keybase.io/sethvargo/sigs/2iRkeYwEvHo7WUYxCxlrFEDaGCKY-1RJMIF6IUM2z60 ]

Posts120
Comments137
View on HN
techcrunch.com 3y ago

Resourcely raises $8M seed round

sethvargo
3pts2
techcrunch.com 4y ago

Perforce acquires Puppet

sethvargo
2pts1
freenode.net 4y ago

Freenode Power to the People on Blockchain?

sethvargo
8pts6
ahmet.im 5y ago

Service Discovery for Google Cloud Run

sethvargo
2pts0
cloud.google.com 5y ago

BigQuery Omni – multi-cloud data analytics

sethvargo
1pts0
auralite.io 6y ago

Auralite: A privacy-first social network

sethvargo
3pts0
cloud.google.com 6y ago

Google Secret Manager

sethvargo
5pts0
www.docker.com 6y ago

Docker's New Direction

sethvargo
7pts4
github.com 6y ago

Sign, notarize, and package Mac OS CLI tools and apps

sethvargo
1pts0
github.com 7y ago

Berglas: A tool for managing secrets on GCP

sethvargo
4pts0
www.quora.com 7y ago

Pong was written with zero lines of code

sethvargo
6pts1
medium.com 7y ago

The OpenJS Foundation

sethvargo
3pts0
www.businesswire.com 7y ago

F5 Acquires Nginx

sethvargo
2pts0
medium.com 7y ago

Sustainable Free and Open Source Communities

sethvargo
4pts0
www.openssl.org 7y ago

OpenSSL versioning and license changes

sethvargo
105pts17
cloudplatform.googleblog.com 8y ago

DevOps vs. SRE – Friends or foes?

sethvargo
3pts0
github.com 8y ago

Webview for go, c, rust, and more – alternative to electron

sethvargo
2pts0
twitter.com 8y ago

AAA “required by law” to send junk mail to members

sethvargo
2pts0
github.com 8y ago

Nocode: The best way to write secure and reliable applications

sethvargo
155pts30
github.com 8y ago

Show HN: Generate cryptographically secure passwords in Golang

sethvargo
2pts1
github.com 8y ago

Show HN: A golang library for generating diceware (XKCD) passphrases

sethvargo
1pts0
github.com 9y ago

Go-discover: discover nodes in cloud environments

sethvargo
3pts0
www.google.com 9y ago

Google Drive can backup your whole hard drive

sethvargo
1pts0
www.hashicorp.com 9y ago

Making Gossip More Robust with Lifeguard

sethvargo
2pts0
github.com 9y ago

Bash Snippets for Power Users

sethvargo
5pts0
www.vaultproject.io 9y ago

HashiCorp Vault Production Hardening Guide

sethvargo
2pts0
www.forbes.com 9y ago

191M US voter records uncovered by white-hat hacker

sethvargo
1pts0
twitter.com 9y ago

Google changes link color on mobile

sethvargo
2pts0
mobile.nytimes.com 9y ago

Uber fires Anthony Levandowski

sethvargo
2pts0
github.com 9y ago

Neovim GUI in Golang

sethvargo
3pts0

The context was introduced by the commenter. The original post does not use contexts. In general, there's a pretty common set of patterns in which multiple goroutines are writing data to different channels, and you need to ensure the data from those channels are processed with some level of priority.

Also, this isn't semantically correct. In order to ensure that `conditionaA` is _always_ preferred over `conditionB`, you must also check if `conditionA` has received a value inside of `conditionB`:

    select {
    case a := <-conditionA:
        return a
    default:
    }
    select {
    case b := <-conditionB:
      case a := <-conditionA:
          return a
      default:

      return b
    default:
    }

It really doesn't though. It handles the case where the context might have expired or be cancelled, but there's still a race when entering the select between the ctx.Done() and reading from thingCh. You may end up processing one additional unit of work. In situations where the exit condition is channel-based, this won't work.

Additionally, this would only work if you had one predominant condition and that condition was context-based. If you have multiple ordered conditions upon which you want to exit, I can't think of how you'd express that as a range.

The author of this paper alerted Google on June 11, 7:35 AM EST, less than 6 hours ago. While we recognize this is a rapidly-evolving space, a few hours is not in line with responsible disclosure[1] timelines.

While we're still preparing a proper response to the submitter, the paper makes an invalid assumption that RPI rotation and BLE address rotation are out-of-step and overlap. The BLE and RPI changes are synced; the MAC address is always rotated with the RPI/packet is rotated. We're still investigating our implementation to verify, but we do not believe this to be a vulnerability. I will reply to this thread should our investigation find anything.

[1] https://en.wikipedia.org/wiki/Responsible_disclosure

Can anybody speak to the expertise of the authors on security?

I think a cursory LinkedIn or social media search for any of the title authors or chapter authors will demonstrate their credentials. There were many people involved in this book, all of whom carry the necessary credentials and experience.

Personal questions for the responder:

Guidelines help us scale, but at the end of the day, some services are unique and require additional review. I recommend reading the bits on threat modeling for more information.

Thanks for the feedback. This is a known issue that another user flagged this morning. The team is pursuing a fix. The content-type on the file is incorrect :/.

In the meantime, you can open it in a browser and email it to yourself. Not ideal, but a workaround.

[EDIT]: s/pursing/pursuing

They probably don't pay you enough.

Can confirm :)

...we do already pay for resources that are provisioned by our K8S clusters

Customers are charged for worker nodes, but until this point, the control plane ("master") nodes have been free. In addition to the raw compute costs for those nodes, there's the SRE overhead for managing, upgrading, and securing them.

...but I generally assumed that that cost was amortized out

<googlehat>I'm not really sure.</googlehat> <civilian>My guess would be that, initially, this was the case. However, over time, people have created many zero-node clusters. Now the amortization isn't. Again, pure speculation.</civilian>

But, isn't that quotas are for?

See my comment above about zero-node clusters.

I have a new $73/mo. fee attached to my account (which, is not the end of the world) is that this really comes out of left field...

Acknowledge, but I do want to highlight that changes take place a few months from now (June 2020), not immediately. Furthermore, each billing account gets one zonal cluster with no management fee.

Is this the precursor to you all discontinuing GKE because, as the DevRel class likes to tweet, nobody should be using Kubernetes if they can use (more expensive) services like Cloud Run?

100% no. Also, Cloud Run is almost always cheaper than running a Kubernetes cluster.

Are we about to get Oracled?

I'm not sure what you mean by that verb.

Thank you <3. I apologize the email was hazy on details. I can't un-send it, but I'll work with the product teams to make sure they are crystal clear in the future. I'm interested to learn more about what you mean about outdated docs? The documentation I'm seeing appears to have been updated. Can you drop me a screenshot, maybe on Twitter (same username, DMs are open).

These changes won't take effect until June - customers won't start getting billed immediately. I'm sorry that you feel trapped, that's not our intention.

You should keep existing clusters in the pricing model they’ve been built in, and apply this change for clusters created after today.

This is great feedback, but clusters should be treated like cattle, not pets. I'd love to learn more about why your clusters must be so static.