HNHacker News
TopNewBestAskShowJobs

ocean_moist

741 karma · joined October 6, 2021

https://rohan.ga rohanganapa [at] gmail [dot] com or rganapav [at] purdue [dot] edu
submissionscomments
ocean_moist··on The Gleam Programming Language
Biggest issue with this language. But... fairly trivial to implement codegen with gleam/glance[0]. No good libraries do this well right now (e.g. support for discriminated unions).

[0] https://hexdocs.pm/glance/glance.html

ocean_moist··on O(n) vs. O(n^2) Startups
I am actually the author.

You're right that mathematically, a function with constant (or no) growth is O(n)and also O(n^2), and O(anything_that_grows_faster).

My use of "O(n) startup" and "O(n^2) startup" is intended to classify the type of business based on its *inherent best-case growth potential or ceiling*.

An O(n) startup in my framework is one whose fundamental business model, market, or structure means its growth, even in its best-case scenario, is capped at roughly linear. It cannot achieve sustained super-linear growth; its upper bound is linear.

An O(n^2) startup is one whose model (e.g., strong network effects) has the potential for super-linear (which I've simplified to n^2) growth as its best-case scenario. It might be underperforming (even flat, and thus also technically O(n) in that moment), but its design allows for a fundamentally different, higher growth ceiling. The whole point is illustrate potential withholding implications or conclusions from its current growth rate, which is necessary at a companies inception.

So, yes, a flat-lining "O(n^2) type" startup would currently show growth that is O(c) (and thus also O(n)). But the point of my labels is to say that an "O(n) type" startup, by its very nature, cannot achieve the n^2 best-case that the other type can, even if both are struggling.

The labels describe the class they have, dictating their asymptotic best-case limit, not just any loose upper bound on current, possibly sub-optimal, performance. The separation I'm arguing for is based on that fundamental difference in their potential trajectory’s ceiling.

If I used Omega this would imply the actual growth rate of the startup would have to strictly be better n or n^2.

ocean_moist··on O(n) vs. O(n^2) Startups
Addressed in the footnotes:

> [2] Perhaps choosing a better two functions could more closely explain the growth dynamics of network effects, which could be more exponential. I think the analogy diminishes in value if you try to directly numerically match it to some growth metric.

ocean_moist··on O(n) vs. O(n^2) Startups
I actually passed my discrete math class and final a few days ago and got the big O vs Theta vs Omega question right.

The reality is that companies often underperform their best case possible growth rate. O(n) and O(n^2) are meant to represent the best possible growth rate which may be practically be underperformed.

You may be thinking about algorithmic analysis where the term "worst case" is used for the upper bound, but here, the upper bound represents the best case. Sort of counter-intuitive but the underlying mathematical notation is properly defined.

ocean_moist··on O(n) vs. O(n^2) Startups
Only in algorithmic analysis. Big-O generally is used to describe and classify any arbitrary function.
ocean_moist··on O(n) vs. O(n^2) Startups
I think any prospecting founder should be able to answer the question "will it always take a fixed amount of work to get each new customer?".

Generally if you have some sort of idea of what you want to do, you'll be more successful at it.

ocean_moist··on O(n) vs. O(n^2) Startups
Yeah sigmoid is good. I kind of hint at this when I mention "saturate their TAM at some rate".

You can think about it like we are looking at the concave up portion of the sigmoid only. The early growth phase.

ocean_moist··on O(n) vs. O(n^2) Startups
Experience != talent. Perhaps a better way to phrase it is that they hire the minimum needing to succeed in a well defined role. Startups aren't afforded this comfort as the roles are not well defined.
ocean_moist··on O(n) vs. O(n^2) Startups
Sure makes sense.
ocean_moist··on O(n) vs. O(n^2) Startups
I use business, startup, and company interchangeably. Generally I tried to use business for O(n), startup for O(n^2), but I guess I wasn't strict with my usage...

Perhaps they are harder to start, but they are also vastly more likely to succeed to their O(n^2), and this is not only due to the increased barrier to entry.

That's what I mean when I say, founders are more likely to succeed at O(n) companies.

ocean_moist··on How I Ace Midterms at a Top CS School by Studying 1-3 Hours (and Skipping Class)
Title just sounds better that way.

The best part about Purdue is that I can use “top CS school” and “random state school” depending on which sounds better.

ocean_moist··on How I Ace Midterms at a Top CS School by Studying 1-3 Hours (and Skipping Class)
Better word is “bay area”.
ocean_moist··on On Zero Sum Games (The Informational Meta-Game)
Will keep this in mind for the future.
ocean_moist··on On Zero Sum Games (The Informational Meta-Game)
Yeah, almost necessary at a high level (and online), however I play against fish most of the time. I am also 18 and lack connections/capital/time to enter high level games.

I would say markets are approx. zero-sum on small time-scales. And low-beta alpha is better sourced from treating the market as zero-sum. Short-term price movements are primarily driven by the redistribution of wealth between market participants rather than by the creation of new fundamental value, making strategic positioning against other traders more effective for generating uncorrelated returns.

ocean_moist··on Meta torrented & seeded 81.7 TB dataset containing copyrighted data
At least they seeded!
ocean_moist··on Why is Git Autocorrect too fast for Formula One drivers?
Fun fact: Professional gamers (esport players) have reaction times around 150ms to 170ms. 100ms is more or less impossible.
ocean_moist··on Agents Are Not Enough
Maybe I just don’t understand the article but I really have 0 clue how they go about making their conclusions and really don’t understand what they are saying.

I think the 5 issues they provide under “Cognitive Architectures” are severely underspecified to the point where they really don’t _mean_ anything. Because the issues are so underspeficifed I don’t know how their proposed solution solves their proposed problems. If I understand it correctly, they just want agents (Assistants/Agents) with user profiles (Sims) on an app store? I’m pretty sure this already exists on the ChatGPT store. (sims==memories/user profiles, agents==tools/plugins, assistants==chat interface)

This whole thing is so broad and full of academic (pejorative) platitudes that it’s practically meaningless to me. And of course although completely unrelated they through a reference into symbolic systems. Academic theater.

ocean_moist··on Rohlang3: A point-free, homoiconic, and dependently typed "SK calculus"
Yeah training data is the major issue. You can try programmatically brute-forcing/generating random well-formed (compilable) data and training on that. Then heuristically pick exogenous programs from the output of the trained model to train a new "generation". The issue is in the possibility of the algorithm generating "exogenous" program and "heuristically" picking them out.
ocean_moist··on TinyStories: How Small Can Language Models Be and Still Speak Coherent English? (2023)
This is actually a common pattern called "model distilling".[0]

[0] https://platform.openai.com/docs/guides/distillation

ocean_moist··on 4.5M Suspected Fake Stars in GitHub
The github social media features are so weird I get around 10 follow requests per week from random people who follow >2k people something off happening there.
ocean_moist··on Go and Java: Rethinking Type Safety for the Pragmatic Age
I mean I think there is a philosophical divide. Go is very minimalist in terms of external dependencies. Those that are their are very good in my experience. The builtins are just the right amount of opinionated imo. I concede that that statement was grounded in my preference for Go's take on external dependencies.

I also generally am writing REST APIs and doing simple "enterprisey" stuff.

ocean_moist··on Launch HN: Integuru (YC W24) – Reverse-engineer internal APIs using LLMs
I wish I could do this… best part of building for devs is being able to provide simple, good UX with minimal UI.
ocean_moist··on Ask HN: What is a programming language that you don't use at work but enjoy?
BQN[1] (an APL variant). There is something really beautiful/elegant to me about composing higher order functions in a purely point free way. Array programming is a nice application of this, and this one has the best ergonomics.

[1] https://mlochbaum.github.io/BQN/

ocean_moist··on Ask HN: How to Learn 'To Think'?
I took a (turned into multiple) philosophy classes that forced me to explain hard concepts and my opinions on them to other people and then understand their perspective. I think this applies to many hard, deeply technical, subjects, but discussion is immensely popular in the pedagogy of philosophy.

The harder and more valuable part was putting those discussions into focused, clear, essays. I am a much better writer and thinker because of it.

The best way to learn how to think is to think. The way in which the quality of your thinking is best judged is in relation to other people. So just try a take your thoughts and try and put them in other people’s minds.

ocean_moist··on An n-ball Between n-balls
Interesting how this relates to LLMs scaling laws.
ocean_moist··on Linux from Scratch
> This results in a significant storage footprint, often exceeding 12GB.

12GB being considered significant makes me feel good, a return to simplicity. The other day I couldn't provision a VM with less than 512GB of storage...

I can't even play my favorite games without giving up >150GBs...

ocean_moist··on Linux from Scratch
I did LFS after I started dailying gentoo with a custom kernel (~2017), it was actually fairly easy, if not time consuming. People on IRC are extremely helpful. These days I write code more than infra, but I still think it was valuable.

That combined with my general interest in Linux probably saved me thousands in cloud costs. Linux is a dying art among young software engineers, but alive among young nerds. Even among infra/devops people, maybe if they learned more about linux they wouldn't reach for k8s to solve the simplest problems.

ocean_moist··on Nvidia stunned the world with a ChatGPT rival that's as good as GPT-4o
Sort of an obvious move to open source it--they're selling shovels and just showed everyone where the mines are.

This new release will generate more hype/competition around AI, with data and training increasingly becoming the moat (rather than model level innovations), which will lead to more people needing Nvidia GPUs.

Nonetheless, I really like how competitive OSS is in LLMs compared to other major innovations.

ocean_moist··on Radio Shack Catalog Archive (1939-2011)
Yeah, although I am not doing much hardware stuff anymore, I'm thoroughly disappointed in the lack of component stores that just had stuff for makers.

My dad went to Sim Lim Square (in Singapore) back in the 90s and he wanted to take me back when we visited a few years ago. There was a bunch of gaming stuff and they got the 4090 early than the US so I was happy, but he was miffed and disappointed at the lack of components and cheap electronics.

ocean_moist··on Radio Shack Catalog Archive (1939-2011)
Some of my earliest memories are at a Radio Shack trying to convince my dad to buy me an RC car. Eventually we switched to Fry's (where I bought and built my first computer) but that died too... Now there's a big hole in the bay area and I am probably one of the last people to have that sort of childhood staple. Although, Microcenter might be a worthy replacement once it's done.
Page 1 of 3Next →