Preferences

nivertech
Joined 1,923 karma
[ my public key: https://keybase.io/nivertech; my proof: https://keybase.io/nivertech/sigs/TSPizHrahhxd9Q1ZrIOFu3_73baE_0_XgUQTWapr4Zs ]

  - Distributed Systems
  - DDD / CQRS / Event Sourcing
  - Erlang/OTP, Elixir/Phoenix/Absinthe/LiveView, Elm
  - kdb+/q
  - GraphQL, MQTT, Pub/Sub, WebSockets, Long Polling, etc.
  - PostgreSQL, Redis, DynamoDB, Riak
  - AWS / GCP
  - GPU Computing (OpenCL, CUDA)
  - Agent-based Modeling/Simulations (ABM), NetLogo

  1. For credits to not be considered a money substitute, they must be non-transferable, non-refundable, and have an expiration date. Without an expiration date, unused credits cannot be accounted for as revenue, but as a liquid asset similar to cash.

    Best practice is to set a long expiration date, such as 1-2 years. There are different regulations about it in different states. After that unused credits can be accounted as breakage revenue.

    If a company treats credits as money, it will have to comply with numerous financial regulations. For example, if a company compensates for SLA breaches with cash rather than credits, this could be considered insurance.

  2. Thinking is communicating with yourself
  3. I think we're talking apples vs oranges.

    The thread was about economists, not quants.

    > There's no analytic solution to complex economic systems in practice.

    yes

  4. I agree that time isn’t an input in the economic system.

    Although, one can use either discrete or continuous time to simulate a complex economic system.

    Only simple closed form models take time as in input, e.g. compounded interest or Black-Scholes.

    Also, there are wide range of hourly rates/salaries, and not everyone compensated by time, some by cost-and-materials, others by value or performance (with or without risking their own funds/resources).

    There are large scale agent-based model (ABM) simulations of the US economy, where you have an agent for every household and every firm.

  5. I use symbolic links, and Claude Code often gets confused, requiring several iterations to understand that the CLAUDE.md file is actually a symbolic link to AGENTS.md, and that these are not two different, duplicate files

    The recommended approach has the advantage of separating information specific to Claude Code, but I think that in the long run, Anthropic will have to adopt the AGENTS.md format

    Also, when using separate files, memories will be written to CLAUDE.md, and periodic triaging will be required: deciding what to leave there and what to move to AGENTS.md

  6. OK, but I think it's not up to the programming language designers to define mathematical properties of the operations on specific data types.

    I think the most pragmatic solution is to have 2 tiers:

    1. use existing standards (i.e. IEEE 754 for FP, de-facto standards for integers, like two's complement, Big-Endian, etc.)

    2. fast, native format per each compute device, using different sub-types so you will not be able to mix them in the same expression

  7. Call Stack isn't a zero-cost abstraction, it makes threads more heavy-weight than they should be.

    If you only need it for debugging, then maybe better instrumentation and observability is the answer.

  8. Correct, but that's not how I think about systems.

    Most problems stem from poor PL semantics[1] and badly designed stdlibs/APIs.

    For exogenous errors, Let It Crash, and let the layer above deal with it, i.e., Erlang/OTP-style.

    For endogenous errors, simply use control flow based on return values/types (or algebraic type systems with exhaustive type checking). For simple cases, something like Railway Oriented Programming.

    ---

    1. division by zero in Julia:

      julia> 1 / 0
      Inf
      
      julia> 0 / 0
      NaN
      
      julia> -1 / 0
      -Inf
  9. With IEEE 754 you can always explicitly check for edge cases.

    But with exceptions you can’t use SIMD / vectorization.

  10. Why not just to use IEEE 754?

    > According to the IEEE 754 standard, floating-point division by zero is not an error but results in special values: positive infinity, negative infinity, or Not a Number (NaN). The specific result depends on the numerator

  11.   a/0 =  Inf when a>0
      a/0 = -Inf when a<0
      a/0 =  NaN when a=0
  12. Why do you need the call stack at all?
  13. Why do you need exceptions at all? They’re just a different return types in disguise…

    Also, division by zero should return Inf

  14. aka "loss leader" or "supporting the ecosystem"

    e.g. VCs invest in startups commercializing open-source foundational/infrastructure projects not only for the financial RoI, but also because it helps their portfolio companies succeed faster while maintaining a smaller headcount or spending less on non-core R&D.

  15. I'm not criticizing.

    I think these 2 apps were experiments.

    They probably wanted organic downloads only, in order to identify real user needs / find PM/F.

    Otherwise, it's hard to explain why they wouldn't spend money on marketing/advertising.

  16. > Both apps have been downloaded just over 1,000 times on the Google Play Store.

    The company had raised about $20 million in 2020.

    $20K per free app download?

  17. Can you expand on the RL thing?

    Just because an agent “lives” in the environment, doesn’t make it RL. It needs a reward function, or even better something like Gym.

  18. Full-time cofounder(s) should have the right to fire other cofounders, at least until a formal board of directors is established

    The problems start when you fire someone with equity closer to the cliff

    Anyway, I don't get the original post, IMO an MBA is not the kind of degree that is worthy of delaying founding a startup

  19. Maybe a 18-24 months cliff would solve it?
  20. I think it belongs to type, but since they use “auto” it looks standalone and can be confused with the “&” operator. I personally always used * and & as a prefix of the variable name, not as a suffix in the type name, except when used to specify types in templates.
  21. What’s the easiest way to convert all dataviews in an existing Obsidian vault to Bases?

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal