Recent submissions

Comment · 1 year ago
> I think SQL is great for building everything

Are you saying that you prefer SQL over PromQL for metrics queries? I haven't tried querying metrics via SQL yet, but generally speaking have found PromQL to be one of the easier query languages to learn - more straightforward and concise IME. What advantages does SQL offer here?

Comment · 1 year ago

  Location: Raleigh, NC (US)
  Remote: Yes
  Willing to relocate: Yes
  Technologies: Backend programming (Go, C++, Rust), scripting (Python), build tools (Bazel, Buildbarn), and infra (Docker, Kubernetes) (and more!)
  Résumé/CV: https://www.linkedin.com/in/scott-minor-a360a821/
  Email: [email protected]
Comment · 2 years ago
In order to be in the same G-node, they'd need to have the same rank and be close in value (such that they were not "broken up" by a value in the next highest rank), right?

Seems like brute-force search for adjacent values with the same rank is possible, but guaranteeing that intermediate higher-rank values dont also exist may not be (for an attacker). Maybe one mitigation on this sort of attack is to search for higher-rank extra values to insert to break up large G-nodes?

This also assumes they can know the hash function (if rank is chosen by cryptographically-secure hash); maybe also salting values before hashing could thwart these sorts of attacks?

Comment · 2 years ago
&??&
Comment · 2 years ago
Comment · 3 years ago
Does anyone happen to have expertise/pointers on how ZFS' ARC interacts with Linux disk caching currently when using ZFS-on-Linux? It seems like the ARC space shows up as "used" despite being in a similar category of "made available if needed" - is that correct?

Is data in the ARC double-cached by Linux's disk caching mentioned in the post? If so, is it possible to disable this double-caching somehow?

Comment · 3 years ago
Check out https://cloud.google.com/billing/docs/how-to/export-data-big... - you can configure GCP to spit out pricing data to bigquery, to be queried however you like.

(I don't think it produces a volume of data that escapes the free tier, but I'd have to check)

Comment · 3 years ago
Comment · 3 years ago
I can definitely sympathize here - in every context, just straight JSON/YAML configuration seems never expressive enough, but the tooling created in response always seems to come with sharp edges.

Here are some of the things I appreciate about Jsonnet:

- It evals to JSON, so even though the semantics of the language are confusing, it is reasonably easy to eval and iterate on some Jsonnet until it emits what one is expecting - and after that, it's easy to create some validation tests so that regressions don't occur.

- It takes advantage of the fact that JSON is a lowest-common-denominator for many data serialization formats. YAML is technically a superset of JSON, so valid JSON is also valid YAML. Proto3 messages have a canonical JSON representation, so JSON can also adhere to protobuf schemas. This covers most "serialized data structure" use-cases I typically encounter (TOML and HCL are outliers, but many tools that accept those also accept equivalent JSON). This means that with a little bit of build-tool duct-taping, Jsonnet can be used to generate configurations for a wide variety of tooling.

- Jsonnet is itself a superset of JSON - so those more willing to write verbose JSON than learn Jsonnet can still write JSON that someone else can import/use elsewhere. Using Jsonnet does not preclude falling back to JSON.

- The tooling works well - installing the Jsonnet VSCode plugin brings in a code formatter that does an excellent job, and rules_jsonnet[0] provides good bazel integration, if that's your thing.

I'm excited about Jsonnet because now as long as other tool authors decide to consume JSON, I can more easily abstract away their verbosity without writing a purpose-built tool (looking at you, Kubernetes) without resorting to text templating (ahem Helm). Jsonnet might just be my "one JSON-generation language to rule them all"!

---

Though if Starlark is your thing, do checkout out skycfg[1]

[0] - https://github.com/bazelbuild/rules_jsonnet

[1] - https://github.com/stripe/skycfg

Comment · 3 years ago
> shifting default workflows away from the standard client is one of those changes that doesn't serve users

There is no "default workflow" for git - Git can be used in a variety of ways; everyone has their own personal preference, and some of these workflows are shaped by interacting with systems like Github/Gerrit/etc.

Every place I've ever worked at has either:

  - a home-grown wrapper around git to make common operations easy
  - a recommended set of git aliases around common operations
The fact that Github has created their own to interact with their own system is a net win for individuals/organizations who would otherwise need to spend time scripting their own.

Of all the capabilities of the Github CLI, `gh pr checkout` is the only one I use, because it makes it easy to fetch a PR locally by ID without configuring a remote per fork. I'm pretty glad I didn't have to write this myself.

Comment · 3 years ago
Question about this part of the hypermedia vs data APIs essay: "This new end point is driven entirely by hypermedia needs, not data model needs. This end point can go away if the hypermedia needs of the application change"

Presumably these hypermedia endpoints are all equally accessible - couldn't the removal of one break another application if the latter app decided to depend on a particular hypermedia snippet from the first?

If there are multiple teams in an org that own HTMX endpoints, aren't the set of endpoints effectively a sort of interface boundary? Or is there a good way of declaring certain endpoints "private" and ensuring they're only fetched from particular applications? (Maybe separate domains for every app?)

Comment · 4 years ago
> but if we changed the culture to become more emotions-aware, people would know how to help each other and themselves far better.

> Fixing psychological and emotional problems through cultural change just doesn't solve anything.

By my reading, the two quotes are in direct opposition to one other. It sounds like you are advocating for cultural change - just a different type/approach than is currently used?

Comment · 4 years ago
My only short exposure to Prolog was trying to implement custom submission rules in Gerrit. It made an utter fool out of me at every turn - it really seemed like an insane interface, compared to e.g. a Python or Javascript function that could be user-implemented.

I get the feeling there's more to Prolog than I was able to unlock - can you recommend any reference materials for beginners?

Comment · 5 years ago
Comment · 5 years ago
Location: Remote from US (currently CA)

Remote: Yes

Willing to relocate: No

Technologies: C/C++, Embedded C/C++, Golang, Rust, Bazel, Docker, Postgres

Resume: On request via email

Email: hnjobs *at* scottminor.email

Hey, I'm Scott! I'm a versatile team member, having been a part of both small and large organizations alike. My skillset is diverse and skews towards backend + embedded programming languages and environments, though I have dabbled in frontend projects (Angular on web, Flutter on mobile), build tooling (migrating codebases to Bazel monorepos with custom rules), and deployment (Kubernetes).

I'm looking to transition into remote work so that I can stay clear of the Bay Area traffic post-Covid. Need a hand on interesting projects? Drop me a line via the email above and let's chat!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton