5 ms·
Kurtosis: A composable build system for reproducible environments
- dpflan 3y ago"A composable build system for reproducible environments" Is there another meaning of kurtosis that is applicable to this product? Kurtosis is used to describe aspects of probability distributions' tails/flatness. Is this a pun on "distributed" systems?
- georgeoliver 3y agoPerhaps a build system with a very high kurtosis means the builds are usually the same.
- dpflan 3y agoI think high would actually mean more outliers and not good for managing a distributed system...
- dooglius 3y agoIt's the opposite, high (positive) kurtosis means fat tails.
- galenmarchetti 3y agoAhh this is the closest one to what we originally meant haha..(founder here). but the intent was to mitigate the impact of “kurtosis” on your system by enabling engineers to see how the whole environment worked in testing (and other parts of the development process). We also have a love for taleb’s books about excelling in uncertainty, in high “Kurtosis” environments, so going with the theme made sense for us. But I see from the comments it is decently confusing!
- verdverm 3y agoI wonder if it's related to their crypto / web3 leanings?
- galenmarchetti 3y ago(Founder here) I love the thought! We definitely have a smoother understanding of the name from the users in that space from anecdotal experience, but actually it comes from both our own love of the concepts in the book “antifragile” by Taleb that talks about excelling in volatile (high Kurtosis) environments, plus the fact that our first users used it for E2E test environments which we imagined were catching “tail risk” bugs between components. Although I see how the overloading of the term is pretty confusing here
- chongli 3y agoI think this is yet another example of developers coming up with bad names for things. People seem to love using highly specific, technical terms for their projects which seem only vaguely/tangentially related to the proper meaning of the term. I think it’s a way of borrowing the credibility attached to the term. But at the same time it dilutes the original meaning of the term and confuses people over time.
- thfuran 3y agoAnd it just gives a shitty search experience. You don't want people finding math stuff instead when searching for your product and people searching for math don't want to find some unrelated software.
- galenmarchetti 3y agoFounder here…have definitely seen this. Trying to find some of our users’ open source work on public GitHub repos to see what they’re doing can be tricky because it does pop up a lot of data science / stats work that’s totally unrelated!
- mieubrisse 3y agoHey, one of the founders here! As Galen mentioned in the other threads, it wasn't our intention to borrow credibility or dilute the term. Rather we're big fans of Nassim Taleb's Black Swan theory, and to us founding a startup (and our first usecase in testing) both related to high kurtosis. That said, I hear you that it's confusing when people need to distinguish between "kurtosis the statistical concept" and "Kurtosis the company"!
- galenmarchetti 3y agoHi! Founder here, and apologies if reposting content in other comments above is too much. I can give some context on the name, although of course ideally context from me wouldn’t be necessary if the name was easier to parse. Our very first users were test engineers who used our tool to spin up test environments for E2E and integration tests, and we called it Kurtosis because we imagined them catching “tail” errors that were out of the expected norm for devs focused on only one component of the system. We imagined a tool that detects bugs happening in a “high Kurtosis” error environment. We’re also big fans of the book “antifragile” by Taleb, about strategies in general for excelling in the face of volatility environments (can stretch that to kind of look like high “Kurtosis” environments) The combination of those two things felt right when we started building - but I can see all the confusion it’s now causing here!
- dpflan 3y agoI see, thanks for explaining -- let me see if I understand: you are trying to control kurtosis of a system, to reduce the outliers/errors in the distribution of functionality of a distributed system?
- mieubrisse 3y ago(other founder here) Yep, you got it! This is particularly relevant in the testing usecase where we started: "can we do whole-system E2E testing, so you catch more outliers before you hit Prod?"
- galenmarchetti 3y agoYes! Nailed it :D
- Terretta 3y ago> I can see all the confusion it’s now causing here! Peanuts from a serial entrepreneur in the gallery, having been a co-founder of a full stack digital agency that helped and watched 10^3 startups ramp during the dot com boom... ## TL;DR: If you're explaining, you've already lost. Consider changing to something you don't have to explain. ## Pick a name you don't have to explain because it's so excruciatingly clear... or so totally meaningless you get to define it. Consider it a red flashing warning sign if you find yourself having to explain because the term you liked is pre-pigeonholed as something else. The comments here are valid, you and the team are hearing, then saying ‘good point but here's all this background’ -- means you market tested the name, and found out. Sooner is always better than later to fix market confusion. Your footprint to fix will never be smaller than it is today (unless someday marketing doesn't matter any more). Plus in the "awareness" stage of marketing you can't fix by explaining. Your first chances are "engagement" or "onboarding" and by then you've already lost revenue to the confusion.
- wwwpatdelcom 3y agoAs a both devops and ML professional at my job (it's a small company), I viscerally cringe at the same kurtosis for this company (which I just learned about). There could be some kind of latent jealously/projection causing that cringe, but here's my rationale (could be very specific to my career): * Devops folks don't seem to tend to like math and often got there by practicing, "computers, IT, having fun hooking things together and getting them running." * Data science folks don't tend to like devops and prefer to bash around on a jupyter notebook that's already given to them and then maybe extract that python and see if it runs, but they tend to come from more of a science background and got into python as a hobby or incidentally. They do not like bashing around and getting things running. So now this company is combining a math term that has a specific meaning to an ML ops space, which is going to cause confusion. Different sets of data can have different kurtosis measures. Sets can be platykurtic (flat gaussian curve or high kurtosis) or leptokurtic (tall gaussian curve, low kurtosis). Now this company is coming in and telling a bunch of devops people, "Kurtosis means helm but automatically migrate data too." So they are applying the idea of, "leptokurtic deployments," presumably with the metric being, variation between the code and data parameters on those servers. Data science people who are told about it from devops people are going to initially hear, "somehow dealing with cleaning the data, like an ETL pipeline, perhaps an Airflow with data cleaning tools built in or something." It's very confusing and not helpful to customers, I hate it. There are going to be meetings where ML/Devops people are very confused. Naming is hard though -- but I wish they would have gone with something like, "platypus" and just have a cute little platypus baby as the logo and say, "yeah we liked the word platykurtic because we like making things regular and platykurtic sounds like platypus."
- galenmarchetti 3y agoHi! Founder here…thanks for the feedback, deeply appreciate it. Especially the last bit about how hard naming is haha. To give a bit of context on the name, our first set of use cases was all about test engineers using this tool to testbeds for end to end or large scale integration tests. Since we are pretty mathy ourselves, we called it “Kurtosis” because we imagined the distribution of errors arising from service to service interactions to have a high Kurtosis - in the sense that there’s a lot of errors you wouldn’t “expect” to happen from a first principles understanding of each component. You’d have put them all together to see those, they’d be “far off the mean”. There’s also a lot of stuff about how we view our work, where we like exposing ourselves to outlier opportunities that we hadn’t previously imagined to produce results that would only happen in a “high Kurtosis results distribution”. Now that being said, I definitely hear what you’re saying. It’s not obvious that’s where the name came from…and just because we were thinking that when we named it doesn’t mean it resonates with our users the same way!
- remram 3y agoThe "QuickStart" link on this page doesn't work for me, I am guessing this is where it should go: https://docs.kurtosis.com/quickstart https://docs.kurtosis.com/quickstart
- mieubrisse 3y agoOops sorry about that; we just fixed. Thanks for flagging!
- SrslyJosh 3y agoThat "Web3" link at the top of the page is a big time-saver.
- FredPret 3y agoI'm naming my next startup "percentile"
- hobofan 3y agoJust to spare anyone the time: When they say "reproducible" they mean "can be done again" and not "can be done again with a consistent result". No lockfiles, no checksums, URLs that may disappear and change at any time strewn around everywhere. There is none of the many nowadays common mechanisms in place that would ensure reproducibility (as the term is used in other build systems like Bazel or Nix).
- mieubrisse 3y agoHey hobofan, one of the founders here. You're very correct - we don't have lockfiles yet! It's on our roadmap, but we haven't built it yet because the current level of reproducibility has been enough for our users right now (who are mostly dev and test). That said, if we're to accomplish our goal of being the single platform across dev, test, and prod, lockfiles are an absolute must (we've actually been contemplating whether we can leverage Nix or Bazel under the hood). The design puzzle we've been working on is, how to enable non-determinism and flexibility in dev (e.g. "I want to always use 'latest' on my local machine"), and complete rigidity in prod. I'd guess that we'll have fully reproducible builds available in the next 3 months :)
- gavinhoward 3y agoI'm making a build system too. Every time I see one announced, I check a few things. The first thing I check is the build language. Usually, that indicates to me whether or not the build system would target the same audience that I eventually will. In this case, they chose Starlark. Whew! We are not going to target the same audience.
- djupblue 3y agoIs there an example demonstrating what it looks like and how it works?
- mieubrisse 3y agoHey djupblue, right here! https://github.com/kurtosis-tech/kurtosis/#:~:text=Check%20out%20an%20introductory%20demo%20video%20here%3A https://github.com/kurtosis-tech/kurtosis/#:~:text=Check%20o...