HNHacker News
TopNewBestAskShowJobs

marcianx

230 karma · joined April 6, 2013

submissionscomments
marcianx··on Nvidia is the central bank of AI
It's a simplification to help people understand, but this is in the spirit of how things work because the value in the economy is not the money, but the goods and services that get created in the economy as a consequence of it. Most constructive uses of financial instruments in the markets (stocks, bonds, mutual funds, etc) are about efficient reallocation of money to enable value creation while balancing different risks, and people who provide this money indirectly benefit from this value creation via interest, dividends, selling stock at a higher price, etc.

Now to expand GP's example (still simplified):

- A borrows $100k money to pay B toward building a house. B puts $100k in their bank.

- C borrows $90k from B's bank toward building a house to pay D. D puts $90k in their bank.

- etc

So, houses were created (or other services were provided), and that's the real multiplicative factor. If banks loan out 90% of the cash stored (i.e. keep 10% in reserve [1]), the multiplicative factor of value creation in the economy is 10x the original amount of cash deposited in the first bank.

Now, if all of us withdrew our savings at once or sold all our stocks at once, we would have an economic shock analogous to that which resulted the Great Depression. That's why for banks, we have FDIC insurance - to mitigate such a panic so that money can serve its value-multiplicative role when it's not being actively used for anything else by the person owning the money. That's also why a positive (but low) inflation was originally considered economically healthy - so that people put their money in banks/market rather than under their mattresses gradually losing value. When interest rates are low, that encourages people to put their money into riskier (non-FDIC-insured) investments with higher growth potential, like a balanced portfolio of stocks/bonds/etc to avoid losing value to inflation, resulting in more economic growth.

[1]: https://en.wikipedia.org/wiki/Fractional-reserve_banking

marcianx··on Open-source 3D anatomy explorer: 2,234 selectable BodyParts3D meshes
What makes you believe the organs are AI generated? It says it's using the "BodyParts3D 4.0, an adult male reference anatomy", and the information page for it [1] says nothing about it being AI generated.

[1]: https://lifesciencedb.jp/bp3d/info_en/userGuide/releaseNotes...

marcianx··on Open-source 3D anatomy explorer: 2,234 selectable BodyParts3D meshes
Love seeing the proportions and configurations, on my phone, no less! I removed the arteries and veins to more easily click the on the organs, and the liver vanished! It seems to be classified under the vein system, whereas I'd more closely classified it in my mind under the digestive system. I'm sure the BodyParts3D classification experts know what they are doing better than I. Having one's assumptions contradicted like this, sure has a way of making a new connection stick.
marcianx··on Why is Arrays.fill 265 times slower on G1GC?
I'm genuinely curious: I read through the article and the narrative felt deliberate and didn't trigger my AI-radar. What made you think it was AI written?
marcianx··on “I just chose words carefully”

    The passage has a couple commas where it shouldn't and doesn't have
    some commas where it should just for justification. So it's trading
    one type of particularity for another, and I favor grammar more. :)
marcianx··on A formal degree and algorithmic problem-solving is the answer. Always has been
I agree about the existence of people who really just aimed for the grades (sometimes dubiously) to unlock a career. There were also enthusiastic folks with whom I learned a lot.

While I'm an interested self learner, I significantly benefit from structured learning. I don't think I would have had the breadth of depth of knowledge if I didn't do a CS degree since I didn't think I would have done such a variety of focused projects and homework. I would "shop" for good teachers and wait until they taught to take a course. I would have lots of questions in class. At the end of many of my semesters, I genuinely felt like Neo's "I know kung fu" - knowledge given on a platter. I didn't think I would have left covering undergrad subjects if I didn't, well, feel the need to earn my keep and at least aim for higher level studies and get assistantships for initial financial independence.

That being said, this was all before the YouTube era. Although, YouTube is a double-edged library of distractions and amazing educational material.

marcianx··on Rewriting Bun in Rust
It's right there under "Stats":

> 11 days (May 3 → merged May 14) · 6,778 commits

> Pre-merge, this took 5.9 billion uncached input tokens, 690 million output tokens, and 72 billion cached input token reads — around $165,000 at API pricing. By hand, I think this would've taken 3 engineers with full context on the codebase about a year, during which time we wouldn't be able to improve Node.js compatibility, fix bugs, fix security issues or implement new features. We never would've done that. The realistic alternative was to do nothing and keep fixing the bugs at the top of this post forever.

marcianx··on In a first, wind and solar generated more power than gas globally in April 2026
Building it out and maintaining it isn't free. And per a friend who's been selling consumer solar installations for years in the North East and gotten disillusioned: the equipment maintenance, repairability, and replacement story isn't great at the company they last worked at and results in a lot of environmental waste. One of the reasons they left. Of course, this is just second-hand information - I don't personally have much intuition for how widespread the issue is.
marcianx··on A beginner's guide to split keyboards
I do type Z with little finger, etc, because that's how the typing software I used long, long time ago taught it. But I don't accommodate by messing up my wrists, which are still in a natural position. My fingers just adapted to the needed flexibility. My left pinky hitting the Z is trivial and less effort, IMO, than my right index finger hitting Y. And yes, I use a conventional straight keyboard, not an ergonomic one.
marcianx··on Is Rust faster than C?
I was confused by this at first since `&T` clearly allows aliasing (which is what C's `restrict` is about). But I realize that Steve meant just the optimization opportunity: you can be guaranteed that (in the absence of UB), the data behind the `&T` can be known to not change in the absence of a contained `UnsafeCell<T>`, so you don't have to reload it after mutations through other pointers.
marcianx··on AI generated music barred from Bandcamp
So, I'm not pretending that certain kinds of jobs aren't going to be obsoleted. Lots of responsibilities went by the wayside as a lot of things were automated with technology and algorithms - I mean, this is not just an AI thing. But I also see it as many people not even executing certain creative visions that would be out of reach due to the mechanical (not creative) cost of doing things. That's where Jevons Paradox really shines and I do think that's where the explosion will happen. Of the (very few) people I know who do editing and have to rotoscope, rotoscoping is one of the things they really don't enjoy, but they do it anyway.
marcianx··on AI generated music barred from Bandcamp
I think it makes some sense to allow leeway for intelligent "signal processing" using AI (separating out individual tracks, clean-up, etc) vs generating new content with AI.

Similarly, say, for video editors, using AI to more intelligently rotoscope (especially with alpha blending in the presence of motion blur - practically impossible to do it manually), would be a great use of AI, removing the non-creative tedium of the process.

It's not clear where the line is though. I was quite impressed with Corridor Crew's (albeit NVidia+Puget-sponsored) video [1] where they photographed dolls, motion-captured human actors moving like the dolls, and transferred the skeletal animation and facial expressions to those dolls using GenAI. Some of it required nontrivial transformative code to accommodate a skeleton to a toy's body type. There's a massive amount of tedium being removed from the creative process by GenAI without sacrificing the core human creative contribution. This feels like it should be allowed -- I think we should attempt to draw clearer lines where there are clearly efficiency gains to be had to have less "creative" uses be more socially acceptable.

[1]: https://youtu.be/DSRrSO7QhXY

marcianx··on Doxers posing as cops are tricking big tech firms into sharing people's data
Can people register a subdomain of fl.us willy-nilly though? Isn't the root domain owned by the state?
marcianx··on Show HN: Gemini Pro 3 imagines the HN front page 10 years from now
If the past is any indication, it's more likely that it'd get reset to "Office One".
marcianx··on Steam Machine
Agreed about POP Shop being slow. I recently learned that they were working on its replacement: "COSMIC store" (written in Rust + Iced), and it's super-fast. You can try it with `sudo apt install cosmic-store`.
marcianx··on Garbage collection for Rust: The finalizer frontier
When you have a strong pointer, you already have a positive ref count. Only once the strong pointer is destructed, is the reference count decremented.
marcianx··on Garbage collection for Rust: The finalizer frontier
Reference counted pointers can deference an object (via a strong pointer) without checking the reference count. The reference count is accessed only on operations like clone, destruction, and such. That being said, access via a weak pointer does require a reference count check.
marcianx··on Ergonomic errors in Rust: write fast, debug with ease, handle precisely
And also the issue with checked exceptions is that one can't be generic over the checked exception, at least in Java. So it's impossible to write out a universally useful function type that's strictly typed on the error. This definition of `ThrowingFunction` for Java [1] needs just have `throws Exception`, allowing just about anything to be thrown.

Most functional-inspired languages would just have a single `f: T -> Result<U, E>` interface, which supports both (1) a specific error type `E`, which can also be an uninhabited type (e.g. never type) for an infallible operation, and (2) where `U` can be the unit type if the function doesn't return anything on success. That's about as generic as one can get with a single "interface" type.

[1]: https://docs.spring.io/spring-framework/docs/current/javadoc...

marcianx··on The Core of Rust
There are further bugs:

`for path in paths`

should be

`for (const path of paths)`

JS will immediately error on the lack of parens, but the `in` vs `of` iterates over indexes, not values, and those indexes are unfortunately converted to strings (since `for-in` is object field-name iteration). So even TypeScript would not have caught it when the (stringified) index is used as the first argument of `fs.watch()`.

marcianx··on Tiny, removable "mini SSD" could eventually be a big deal for gaming handhelds
I've found this to be a common Americanism, but it's still incorrect, I believe. When I moved to the US in my teens, I was surprised at the sheer disregard of English grammar rules in common vernacular here, to the point that some folks (though not my English teachers) think their incorrect use is correct. :) The most marked case I saw was in a Dodo video where the person correctly said "lying", but The Dodo's captions "corrected" it to "laying".

But I digress.

marcianx··on Auf Wiedersehen, GitHub
Major subsidiaries within a large company can and do have separate CEOs. For example, YouTube also has a separate CEO (previously Susan Wojcicki, and now Neal Mohan) under Sundar Pichai.
marcianx··on The borrowchecker is what I like the least about Rust
To make sure I understand correctly: did you want to read a `String` and have lots of references to slices within the same string without having to deal with lifetimes? If so, would another variant of `Rc<str>` which supports substrings that also update the same reference count have worked for you? Looking through crates.io, I see multiple libraries that seem to offer this functionality:

[1]: https://crates.io/crates/arcstr [2]: https://crates.io/crates/imstr

marcianx··on ICE's Supercharged Facial Recognition App of 200M Images
To add to it, I crossed the border into the US via train recently, and for the first time (I've done this trip many, many times) they took my photo on their cell phone after scanning my paperwork, as they did with everyone else. So they are further expanding with more/recent data.
marcianx··on Careless People
A less unflattering interpretation might be that once they saw the level of skill required to contribute to a field, they switched to a field that they could more meaningfully contribute to.
marcianx··on You are not dumb, you just lack the prerequisites
So, fun fact from calculus (though you can easily prove this with basic algebra as I do below):

- You want to compare two products: in this case 6x9 and 7x8.

- And in each product, if you add the two numbers together, you get the same result. In this case, 6+9 = 7+8.

Then the product will be larger for the pair of numbers that are closer together. So 7x8 > 6x9. That might help you remember which is 56 and which is 54.

You typically see this in a word problem where you are given a fixed amount of fence and you have to enclose the largest rectangular area. The answer is to use a square area (two sides being equal). If the problem has constraints that prevent the sides from being equal, then you pick the length and width to be as close to each other as possible.

In case you want to transfer the geometric intuition to an algebraic proof: If the sum of the two side lengths is 2m, then the two side lengths can be written as (m+n) and (m-n) for some positive n. If you multiply the two, you get (m+n)(m-n) = m²-n². To maximize the product, you need n to be as close to 0 as possible - i.e. for both sides to be as close to each other as possible.

marcianx··on The evolution of Ruby's Range class
I immediately see the logic in this API. When slicing, I look at indexes as being between elements or at the start (0) or end (length). This gives an in-bounds starting index between 0 and length, inclusive. So if the starting index is in bounds, you get a substring. If it's not, you get no result.

And your answer for Python is not quite correct: "" is falsy in Python, and both of the last two when translated to Python give "null".

marcianx··on Just Be Rich (2021)
How would you impose these limits on wealth? Where would the extra money go? To the government? If so, would you be okay with the government saying that _all_ future earnings if yours went straight to them because you have too much money already? Would you give anyone that power?
marcianx··on 23% of bachelor's degrees and 43% of master's degrees have a negative ROI
Reminds me of Max Shulman's advice to aspiring authors: "Marry money"
marcianx··on We Are Doomed: A pessimistic point of view of "modern software engineering"
TBH, I think Valve is doing pretty well with both. Steam has now long resulted in a renaissance for indie game marketing and access, and the Steam Deck is incredibly well designed for on-the-go usability.
marcianx··on Ninth Dedekind number found by two independent groups
He might have meant that there were lower-hanging fruits with which he could have written his theses much earlier and he got distracted by a more complex challenge.
Page 1 of 2Next →