That's so cool! Is there a calculator somewhere that can convert to/from dates and solar system position charts?
HN user
BrandonY
What happened?
We do have Cloud Run Functions that trigger on Cloud Storage events, as well as Cloud Pub/Sub notifications for the same. Is there a specific bit of functionality you're looking for?
Hi, Brandon from GCS here. If you're looking for all of the guarantees of a real, POSIX filesystem, you want to do fast top level directory listing for 100MM+ nested files, and POSIX permissions/owner/group and other file metadata are important to you, Gcsfuse is probably not what you're after. You might want something more like Filestore: https://cloud.google.com/filestore
We've got some additional documentation on the differences and limitations between Gcsfuse and a proper POSIX filesystem: https://cloud.google.com/storage/docs/gcs-fuse#expandable-1
Gcsfuse is a great way to mount Cloud Storage buckets and view them like they're in a filesystem. It scales quite well for all sorts of uses. However, Cloud Storage itself is a flat namespace with no built-in directory support. Listing the few top level directories of a bucket with 100MM files more or less requires scanning over your entire list of objects, which means it's not going to be very fast. Listing objects in a leaf directory will be much faster, though.
Hi, GCS engineer here. GCS offered a lot of consistency from the beginning, but we didn't have strong object listing consistency at the beginning. We got that somewhere around 2017 when we moved object metadata to Spanner. See https://cloud.google.com/blog/products/gcp/how-google-cloud-...
Last time I played with this, I read through the whole thing without at any point realizing that the code was live and could be experimented with. Don't make the same mistake I did!
Also I don't know much about WebGL and am quite curious how this works. Are they compiling these shaders locally in the browser?
Yeah, that's weird. If you're going to announce a new instant messaging system, you will of course provide some reason why people should go through the effort to switch. The front page should be brimming with the pitch. "Unlike WhatsApp, with New ICQ, you can _____." What goes in the blank? Why haven't you told me?
Tech debt is most easily measurable in repetitive operational work. Measure it. Bring a story to your leaders: "We are spending 60 hours per week doing repetitive task X. With 200 hours of work, we could eliminate this work. It would pay for itself in a month."
If your leadership declines to take you up on this, escalate. If that fails, you must choose between continuing to do the repetitive operational work as instructed or leaving.
There is also a lower bound of 0 bytes :)
You can compose a 4TB object with a 1 byte object, or you can compose 32 150GB objects, just so long as the destination object doesn't go over 5 terabytes.
Hi, GCS engineer here. The lower limit on composing objects is one source object, in which case you are not so much composing as you are copying with style. Zero source objects is an error. I will file a note about the docs, thanks.
Well, maybe. This is Ship of Theseus situation. The good news is that, from the perspective of the new you, everything went great, and the old you doesn't have a perspective, so that's a 100% endorsement rate.
While there is not an option to set a default cache policy on a bucket, you can specify a cache policy as part of object uploads, although I admit that this can be inconvenient if you upload from multiple clients.
In addition, caching only applies to objects that are anonymously readable. Private objects are never cached.
A human would record that as clearly being PRINCE. For their described use case, reading images of business and movie names, the presence of other, small text in the picture seems quite fair.
Google has contributed quite a bit to Boto. The GCS command line tool, gsutil, is built on top of boto. If you're talking about Boto 3, though, not so much.
Once, I noticed that a minor piece of how Google's Python system tests could be very slightly cleaner and more consistent. It would be a tiny change, it seemed very safe, and it was easily accomplishable with a short sed script, but it'd also be a backward-incompatible change across the projects of hundreds of teams and thousands of build targets. I was able to make that change with only a few commits and without needing to bother most of those teams.
These sorts of small, general, large scale cleanup commits are quite common at Google, and they're encouraged. They help keep the codebase healthy. There are special groups that review them so that all of the individual teams affected don't have to bother, and there are tools to manage the additional testing and approval requirements for such a change.
At my previous company, making such a change would have been a major undertaking. I never would have considered a refactor of that scale without a critical need. They had thousands of packages, each of which had its own repository and an incredibly complex web of build and runtime dependencies. It was a nightmare, and fiddling to find a working sets of versions of internal dependencies took up way, way too much of my time each day.
The GTD book gets into this very directly. It talks a lot about the principal borrowed from martial arts of having a "mind like water." When a pebble disturbs the water, the water responds instantly with exactly the right amount of force and then returns to stillness. GTD is big on the idea of responding to emails, ideas, projects, new work items, etc, with exactly the right amount of response and then letting the problem slip out of your mind once you're confident that the thing to be done is filed and therefore will get done.
The trick to making the whole thing work is that you need to have confidence that, once something is on the list, it will get done. That's what allows you to stop fretting about the stuff on the list. But to get that confidence, you need to regularly do the stuff on the list.
Worse, Trump has issued at least 16 ethics "waivers" to at for staffers who would be banned from serving on his staff over his ethics rules. Once you make more than a dozen or so exceptions for who you're putting on your team, it's not really a rule at all.
Very cool! I like how configurable your solution is.
Google has an example app (https://github.com/GoogleCloudPlatform/kubernetes-bigquery-p...) that demonstrates getting Pub/Sub data into BigQuery, but it just does it directly as a little Kubernetes job rather than using Dataflow. I like your more serverless solution.
Nope, 12 months: https://cloud.google.com/free/
In addition, the $300 is only for expenses in excess of the "Always Free" usage limits, which covers quite a bit of stuff, including 5 gigs of cloud storage, 1 micro compute engine instance, and a terabyte of BigQuery queries per month.
(disclaimer: I work at Google)
We have. In addition, some offices offer interview coaching sessions for candidates who are scheduled for an on-site, which are basically rehashes of the material we publish plus some Q&A time with an interviewer.
I would encourage OP to ask their recruiter about them, if they think it'd be helpful.
That photo's position, overhead and looking down a long hallway of cubes, with some meaningless but chipper corporate slogans as well as some very serious business-looking stuff, reminds me of the opening office shot of the game Stardew Valley: http://www11.onrpg.com/wp-content/uploads/2016/03/Stardew-Va...
That game's protagonist, perhaps not coincidentally, burns out on their office job and decides to go become a farmer.
If you need to host static content over HTTPS with a custom domain, then yes, Cloud Load Balancing is the main option at the moment. You can use GCS for HTTP serving from a custom domain or via HTTPS from GCS's own domain (https://yourbucket.storage.googleapis.com), but for serving HTTPS content from a custom domain, that requires configuring Cloud Load Balancer.
(I work on Google Cloud Storage)
Well great, I feel super old now.
Here's a link to the Google Cloud Terms of Service: https://cloud.google.com/terms/ (you may be interested in section 5.2: Use of Customer Data).
Disclaimer: I work for Google but am definitely not a lawyer and can't authoritatively speak for Google here.
The HMAC credential that you'd use with the S3-compatible GCS API, also called the "XML API", does need to be associated with a Google account, but it doesn't need to be the main account of the developer. It can be any Google user account. I suggest creating a separate account and granting it only the permissions it needs. It'd be nice if service accounts (aka robot accounts) could be given HMAC credentials, that's not supported. Service accounts can, however, sign URLs with RSA keys.
As another option, you can continue using the XML API and switch out only the auth piece to Google's OAuth system while changing nothing else.
There's a lot more detail available at: https://cloud.google.com/storage/docs/migrating
Disclaimer: I work on Google Cloud Storage.
Yes, we can. You can host static content in GCS in the same way that you would using S3, or you can Google Cloud Load Balancer to do more complex setups, such as mixing static GCS content and compute URLs on the same domain.
If you're interested: https://cloud.google.com/solutions/web-serving-overview#host... https://cloud.google.com/compute/docs/load-balancing/http/us...
Disclaimer: I work on Google Cloud Storage.
Compatibility with their new MacBook Pros, which have four USB C adapters and nothing else.
Do you have a particular example of what you find most annoying?
I have no idea. I'm not sure what you were looking at.
If you visit just "https://noto-website.storage.googleapis.com/", that's a request to list all of the objects in the bucket, so you'll see an XML document with that namespace and the results of a listing.
If you were trying to download a specific object from that bucket, you'd either see the resource itself, or you'd see an XML error result of some sort (404, 403, etc). So I assume that either you mistyped the object name once or else the object had been deleted for some reason.
Good question. I can explain. "storage.googleapis.com" is an endpoint for Google Cloud Storage's "XML" API. Google Cloud Storage (GCS) is a cloud blob storage service similar to Amazon S3.
This particular API, the "XML" API, is designed to be API-compatible with S3. The XML namespace, 'http://doc.s3.amazonaws.com/2006-03-01', is therefore the same. This allows third party tools like 'boto' and the like which work with S3 to work with GCS with only a switch in hostname.