HN user

rekwah

328 karma

[ my public key: https://keybase.io/hawker; my proof: https://keybase.io/hawker/sigs/WxrZS3l8awSOFm9GWEZIOi4wo7Ouuv-9QKZyiZaI_Oo ]

https://andrew.hawker.io

Posts9
Comments73
View on HN

I'm fine with forks but hard to see @jeffail's marketing/persona of Benthos forked too. It was quirky, to say the least. Difficult line to walk, forking code brings repo docs but it feels insincere reading not on the original.

Congrats on the launch! I can definitely understand the pain point; frequent plan/pricing iteration in the early days always leaves a pile of "grandfathered entitlements" that get carried around.

Two questions.

1) Entitlements seem to permeate systems in few ways (pricing pages & billing systems as you've called out) but also into feature flags systems like LaunchDarkly (my plan offers access to beta feature channel) and authorization systems (RBAC, FGA, etc). Do you see replacing those systems with your SDK or Planship is more of an integrator that helps keep them synchronized?

2) I couldn't tell from glancing through your SDK docs (might have missed it) but do you provide any audit/temporal history? If I store user events in a data warehouse (timestamp, customer_id, action_performed), can I determine a customers plan from that historical timestamp or only their current plan?

just put it there, it might be useful later

Also note that we have never mentioned anything about cardinality. Because it doesn’t matter - any field can be of any cardinality. Scuba works with raw events and doesn’t pre-aggregate anything, and so cardinality is not an issue.

This is how we end up with very large, very expensive data swamps.

Postgres wire format is indirectly getting there. Plenty of tools use that with wildly different storage engines on the other end.

A clean room implementation would likely yield different results but there appears to be some appetite for a solution.

New UUID Formats 4 years ago

As the author of a popular ULID implementation in python[1], the spec has no stewardship anymore. The specification repo[2] has plenty of open issues and no real guidance or communication beyond language implementation authors discussing corner cases and the gaps in the spec. The monotonic functionality is ambiguous (at best), doesn't consider distributed id generation, and is implemented differently per-language [3].

Functionally, UUIDv7 might be the _same_ but the hope would be for a more rigid specification for interoperability.

[1] https://github.com/ahawker/ulid

[2] https://github.com/ulid/spec

[3] https://github.com/ulid/spec/issues/11

PLP. I had this for awhile (20-30-20) with the Dell U3011 back when that was a large monitor.

I have PL now with an ultra-wide but still think about trying to include a third monitor, I miss that setup.

Interesting concept. I could imagine a slightly modified approach being used as a learning tool for making large/complex codebases more approachable.

Want to understand how Clickhouse works? We've got this challenge with 20 stages that teaches you the concepts, using the CH codebase itself, not re-implemented in the language of your choosing. Learn the storage format & use the internal codebase classes/data structures to implement some things.

Now, the learner has a more holistic view of how the technology works and hopefully an increased likely hood of contributing back to the open source project.

You can expand this a bit to make it n-level depth (until you blow the stack).

  def tree():
    return defaultdict(tree)

  >>> t = tree()
  >>> t['a']['b']['c'] = 10
  >>> t
  defaultdict(<function tree at 0x10c40df28>, {'a': 
  defaultdict(<function tree at 0x10c40df28>, {'b': 
  defaultdict(<function tree at 0x10c40df28>, {'c': 10})})})

I always think about The Forever War[0] whenever the topic of extending life spans comes up.

While we don't have the jumps due to time dilation, I contemplate how the human mind would adapt to the changes of society over an even longer period of time. The societal and technological advances of the 20th century were immense. I'm assuming even more changes for the 21st (if we don't blow ourselves up). How much longer can we go before our brains revert to the "mean" and stagnate somewhere in the middle?

[0] https://en.wikipedia.org/wiki/The_Forever_War

I've always wanted to try implementing something like this but the fear of trying to run database migrations over thousands of databases frightens me.