HN user

neongreen

320 karma

artyom@artyom.me

Posts12
Comments120
View on HN

As someone who used to have an incredibly hard time putting my app in front of users, or asking for feedback, or getting rejected, etc:

Posts like this one always made me feel like I was a coward. Like there was.. unvirtuousness.. in not killing one’s darlings, not validating ideas, not quitting things in time, not looking for product-market fit.

I can report that looking for product-market fit, and everything else from the list above, became easier once I started taking antidepressants and adhd meds.

For example, it turns out deciding to punch yourself in the face with reality is much easier when you don’t feel, for example, like abandoning a project would be a giant betrayal and a thing one might in theory do but you must never do ever under any circumstances.

- - -

There are likely many people who have more capacity for self control, and who are genuinely helped by hearing moderately harsh truths because they can (1) take a look at their behavior, (2) realize it hurts them and their chances of success, (3) realize where they’ve been blind to reality, and (4) change.

I suspect that such people assume — maybe correctly in most cases — that if someone hasn’t done (4), it’s because they haven’t done enough (1-3), and this is the appropriate lever to push.

I don’t know how to finish this comment.

I'm trying to wrap my head around exactly why so may people seem to want the best model available

I've been programming since I was a kid. I enjoy it a lot, I like knowing how things work, I get excited about new compiler features, I stayed up every night for a week when I discovered Lean 4, etc etc etc.

At the same time I realized a few years ago that I just don't want to write any code ever. Or read any code. Coding is addictive and fun, but I'd rather talk to the computer and have things magically get done. (FWIW learning how to use LLMs feels more.. fulfilling, too)

Anyway. GLM 5.2 is nice and all, but I might have to spend half an hour guiding it to come up with a plan I'm happy with. And with Opus it could be 15 minutes. I'm still going to spend an hour talking to LLMs one way or the other, but with Opus it will be a less frustrating hour. If Fable gives me a frustration-free hour, I'll switch to Fable.

I worked at Standard Chartered and it's a bit similar, but it's hard for me to judge how much.

SC has its own Haskell compiler that produces bytecode that you can run locally, serialize, send to be executed somewhere else, etc. Most of the code still lived in a monorepo, though.

We did have a global data store (well, several) that any code could access. I was working on a more "normal" application that was still written in the SC haskell dialect but otherwise mainstream architecture -- postgres, deploying to a boring linux server, etc.

A colleague once described our dialect as "Python that looks like Haskell". This is an exaggeration, but a) we did use a lot of untyped dicts and everything-is-a-giant-relational-table structures, and b) my understanding is that the actual financial modelling was done in C++ and the SC Haskell was glueing things together. Idk.

About uv -- I did try to convert ppl to uv but it probably didn't spread further than my few colleagues at the Warsaw office.. well and also I merged a monorepo-wide documentation system that used sphinx and uv, but idk if it's still alive after I left.

I have the same feeling. I got used to infrastructure being run as a democracy, not merely “source available under GPL/BSD/MIT”. (It’s a big thing to want, sure, but I don’t mind wanting big things.)

A promise of money in the future is worth less than getting this money now. Present value (PV) here would be - how much you would pay now to get $X after T time.

Turns out that sum of PV($X in 1 year) + PV($X in 2 years) + … converges even though the series is infinite. Look up “perpetual bonds”.

The value of $10 paid annually forever is probably $200-500 depending on [things].

Source: I work in a bank but I’m also shit at finance so take this with a large grain of salt.

I’ll go a few steps further:

- it’s only kinda open source if it’s not on GitHub,

- it’s definitely not open source if it’s not in Git,

- but it can regain its open sourceness if it has an open Discord and the devs are hanging out there.

Here, all my heuristics exposed. (I’m not claiming they’re true or sensible, just saying what my brain thinks.)

At work I’ve been using jj for the internal Standard Chartered monorepo (6.5 MLOC). I didn’t ask anyone, just installed and started using it. Git compatibility is a killer feature.

(if anyone from SC is reading this -- search our wiki for "Jujutsu" and come say hi!)

Pretty much a strictly better experience than git so far — I’m not going back. `jj undo` is something that I expect in every program now and get vaguely annoyed it's not there.

Not having index/staging is great. Checking out another branch, switching to work on another thing, fixing a typo in an unrelated module, etc are all frictionless. "I'll insert a new commit five-commits-ago, do the refactoring there, and resolve conflicts" turns out to be much nicer than "I'll do the refactoring here and carefully stage it hunk-by-hunk". (I get distracted a lot -- maybe if you aren't tempted by shiny refactorings, this isn't a big deal for you.)

The merge story is also great. I have a commit with multiple parents. I can add more parents to it, change parents, rebase it somewhere, move it around. I have no idea how "rebasing a merge" works in git, but I'm afraid to try. In jj I don't care.

There are a few issues with jj that happen to not be a big deal for me, but I can imagine they could be a dealbreaker for someone else:

- No submodules support (yet)

- No LFS support (yet?)

- Doesn't track renames (yet?)

- When you do `git pull` with rebase, git skips duplicate commits -- this is great if something got rebased/amended on the remote. I was always suspicious that `git pull` just works even if I rebased the branch remotely, and now I know why it works. jj doesn't handle this yet. Not a big deal unless two people collaborate on a branch and want to do it the jj-way with rebases of everything.

I used the debugger all the time when I was writing in Pascal (and later Delphi). It was great.

Then I switched to Haskell. No (useful) debugger there.

Now I write TypeScript, and.. somehow I never figured out how to do debugging in JS properly. Always something broken. Breakpoints don’t break, VSCode can’t connect to Node, idk. Maybe I should try again.

I liked the chapter on DMCA from the 5-volume E-Commerce & Internet Law. It was super detailed.

I haven’t read volume 1, but apparently half of it is about data scraping, and I expect it to be similarly detailed. So if I were you, that’s where I’d start.

Another option is looking for “robots.txt” at Google Scholar and trying various keywords like “legality”, “scraping”, “case law”, etc.

According to https://docs.github.com/en/site-policy/content-removal-polic..., even an upstream dmca doesn’t suspend downstream by default (unless the copyright owner claims they believe all forks violate copyright) — so I would be surprised if downstream dmca suspended upstream.

NB: according to https://www.gtlaw.com/-/media/files/webinars/ian-ballon-may-..., page 4-470, it’s possible that failing to process a DMCA notice may only lead to losing safe harbor for the material identified in the notice, not for the entire service.

So GitHub might just choose to ignore the notice for React, get sued, and win, all without losing the safe harbor.

For less popular repos, I would not be surprised if you could take down any repo literally by submitting a completely bogus notice.

But honestly I still don’t know how much leeway - legally - service providers have in applying their own technical/legal expertise when evaluating DMCA notices. I’d appreciate any sources (court decisions, textbooks, whitepapers, descriptions of actual industry practices, etc) on the topic.

Just to clarify — I’m not talking about people hosting $5 VPS’es, Shopify stores, Wordpress blogs, etc. I already know DMCA works against those.

I’m more interested in “why doesn’t the same approach work against big sites”. But it looks like the comment about 512(a) vs 512(c) clarified that.

Alert: if you were happy to learn about aphantasia, you might also be happy to learn about SDAM (severely deficient autobiographical memory), which I think is correlated with aphantasia.

SDAM is when you know facts about your life, but can’t walk through any or almost any episodes.

Apparently normal people can actually re-live episodes from their past, step by step or.. idk. Somehow. And I don’t know what I had for breakfast today ಠ_ಠ

When I was a kid, I was asked “how do you read so fast?” often and I would always proudly report than I can scan paragraphs and filter out the useless ones without reading them.

For example, I was reading some Pratchett and noticed that I had no idea how the protagonist ended up on a cliff (?). And then realized that I had automatically skipped the paragraph that talked about the cliff ascent, because it was “just a scenery description” and therefore useless.

I also remember having a long argument with my ex-girlfriend about the style of journalism where articles start like “I entered a small, dimly-lit room and Mr Brown, age 53, stood up from his massive oak desk and [blah blah blah]”. Like, this is all just fluff, I want to know what Mr Brown says and thinks and that’s all. I didn’t realize people might actually imagine the scene and enjoy it.

Going back to books — I think I care about how the book sounds more than I care about the plot or the vibe. I loved Lolita solely because the narrator was constantly playing with words, for example.

Not the op, but I also use it through API (specifically MacGPT). My initial justification was that I would save by only paying for what I use, instead of a flat $20/mo, but now it looks like I’m not even saving much.