HN user

SloopJon

2,590 karma
Posts3
Comments762
View on HN

I held my nose and bought an RTX 5070 Ti for $100 over MSRP in January. The very next week the same model was up $200. It turns out that NVIDIA had been subsidizing retail graphics cards with its Open Pricing Program. Not the whole story, but it may help explain the relative flatness of the graph until the end of January.

The other part of it is that the MSRP already baked in a substantial increase from the previous generation. While RAM was near rock-bottom pricing when this hit, current-gen GPUs definitely were not.

An editor that tries to be layout agnostic is almost certainly going to be a nightmare for people like me who set the layout in the keyboard itself. I downloaded the editor (I'm on Windows at the moment), and tried it with my keyboard set to Dvorak, which was plainly broken. I'm sure there's a way to fix the mapping, but when software thinks it's smarter than you, you end up feeling pretty dumb.

The article links to a YouTube mini-review of USB enclosures from UGreen and Acasis, neither of which he loves.[1] I've been happy with the OWC 1M2 as a boot drive on a Mac Studio with Thunderbolt 5 ports.[2] I just noticed that there is an OWC 1M2 80G, based on USB4 v2.[3] I didn't know that was a thing, but I guess it's the USB cousin to Thunderbolt 5.

[1] https://www.youtube.com/watch?v=gaV-O6NPWrI

[2] https://eshop.macsales.com/shop/owc-express-1m2

[3] https://eshop.macsales.com/item/OWC/US4V2EXP1M2/

I found the idea of a password generator appealing, mainly due to vault anxiety. I didn't (and still don't) like the idea that I can't access a resource without this precious vault. If I'm home with my tools, great. Otherwise, give me the right hash function, and I can MacGyver my way to PBKDF2 and generate my password.

However, once you introduce metadata (e.g., to deal with password rules), the idea loses most of its appeal. I wouldn't feel any more comfortable posting such a thing publicly than I would a vault.

I don't see anything in the post or the linked tutorial that gives a flavor of the user experience when you supply an invalid option. I tried running the example, but I've forgotten too much about Node and TypeScript to make it work. (It can't resolve the @optique references.) What happens when you pass --foo, --target bar, or --port 3.14?

The thesis is predicated on the idea that people claim this is the result of some study. I’ve never once heard it presented that way. It's a rule of thumb.

Code Complete cites eight sources to support the claim that the average cost to fix a defect introduced during requirements is 10-100x if it's not detected until after release. My qualm with Hillel's original assertion is that "They all use this chart from the 'IBM Systems Sciences Institute'" (emphasis added). I haven't personally vetted Steve McConnell's citations, but I am skeptical that they all share this common origin.

Personally, I don't know what you mean about Rust being too massive. One thing I am wary of is using a truly massive language like C++ on a multi-programmer project without consensus on which features to use and how to use them. Maybe you have in mind something like that?

If you want the simplicity of C with more safety, maybe tooling like Frama-C, a MISRA C conformance checker, or just aggressive use of static and dynamic analysis tools like ASAN and UBSAN. You can also disable certain optimizations (e.g., strict aliasing) to steer away from some of the major pitfalls of UB.

When I read SQL for Dummies almost thirty years ago, it made a point of distinguishing "sequel" as a historical predecessor to standard "SQL." As I recall, the author even asserted that SQL is not an acronym/initialism for structured query language. I felt funny saying sequel for the next decade or so, because I wasn't an old timer experienced with this pre-SQL technology.

Now I usually say sequel because everyone else does. That and it rolls off the tongue better than S-Q-L.

I played around with the calculator source code from the Android Open Source Project after a previous submission[1]. I think Google moved it from AOSP to the Google Play Services several years ago, but the old source is still available.

It does solve some real problems that I'd love to have available in a library. The discussion on the previous article links to some libraries, but my recollection is that the calculator code is more accessible to an innumerate person like myself.

Edit: the previous article under discussion doesn't seem to be available, but it's on archive.org[2].

[1] https://news.ycombinator.com/item?id=24700705

[2] https://web.archive.org/web/20250126130328/https://blog.acol...

This is a long rant that covers a lot of ground, a lot of which will inevitably be ignored because the letters "C++" trigger people, myself included sometimes. (Skip ahead to "It's Not All Puppies and Butterflies" for some of the complaints.) The author is really impressed by C++11, as am I, after purposely ignoring C++ for the better part of twenty years.

I appreciate the shout outs to some packages and libraries to play with, although I still often find it a pain to incorporate other libraries into my projects. (Single-file headers, anyone?) I'm intrigued by FTXUI.

And boy, howdy, he's right: cppreference.com is amazing. Python's documentation is pretty good, but I've never seen anything as good as cppreference.com.

Fuzzing 101 2 years ago

Google turns up a CNET article from 2007 (probably because eEye was "pumping press releases left and right"):[1]

Researchers at eEye used a standard process of code auditing in discovering the vulnerabilities, [eEye CEO Ross] Brown added. He noted that Microsoft either did not do a 'good job' with its code auditing, or it may not have had enough people working on such a task.

I don't really get this culture of racing to find a bug in another company's product, then strutting about finding one (in Microsoft Publisher of all things) and throwing shade. I guess we should all be so lucky to have a company whose "standard process" is to pull a week of all nighters testing our product.

[1] https://www.cnet.com/news/privacy/flaw-found-in-office-2007/

Me three, although my procedure did not result in quite so dramatic an improvement. I saw a PCP for the first time in several years, and was 180/130. Four meds (vasodilator, calcium channel blocker, diuretic, and beta blocker) brought that down to 130-140/80-90. After removing an adrenal gland, I'm in that same range with three meds (same three minus the beta blocker, which never did much anyway).

Regarding this potassium paper, it's interesting that it primarily concerns itself with sodium and potassium intake. I don't know that any reasonable change to my intake could have overcome the effects of aldosterone overproduction, but wouldn't the recommended changes to your diet depend on measuring your current balance?

Search for huge pages in the documentation of a DBMS that implements its own caching in shared memory: Oracle [1], PostgreSQL [2], MySQL [3], etc. When you're caching hundreds of gigabytes, it makes a difference. Here's a benchmark comparing PostgreSQL performance with regular, large, and huge pages [4].

There was a really bad performance regression in Linux a couple of years ago that killed performance with large memory regions like this (can't find a useful link at the moment), and the short-term mitigation was to increase the huge page size from 2MB to 1GB.

[1] https://blogs.oracle.com/exadata/post/huge-pages-in-the-cont...

[2] https://www.postgresql.org/docs/current/kernel-resources.htm...

[3] https://dev.mysql.com/doc/refman/8.4/en/large-page-support.h...

[4] https://www.percona.com/blog/benchmark-postgresql-with-linux...

This was a bit of a bear to get running on my Mac. Everything depends on ddpoker.rc, which doesn't behave as expected unless an OSNAME environment variable is defined. I don't have that on macOS 14 (Sonoma) Mac using either zsh or bash. I hopped onto a 10.13 (High Sierra) hackintosh, and it doesn't have that variable either.

For the person who was having trouble getting this to work on an M1 Mac (flagged, really?), try this (after installing Java 8 and Maven using Homebrew):

    % git clone https://github.com/dougdonohoe/ddpoker.git
    ...
    % cd ddpoker
    % export OSNAME=darwin
    % source ddpoker.rc
    JAVA_HOME changed, version now openjdk version "1.8.0_422"
    % mvn-package-no-tests
    ...
    % poker
I built this before figuring out the OSNAME thing, so I can't actually vouch for the build step working out of the box.

Anyway, thank you very much, Doug. This looks really cool.

To me, "hoard" comes with an implication of amassing these in secret and/or not making full use of them. If Meta is crowing about how many they have, and seemingly putting them to good use (or at least some use), I wouldn't call that hoarding.

I occasionally acquire half-decent hardware for stress testing. If I add a pair of Dell servers to the lab (or, heaven help me, anything from IBM), I don't feel like I'm hoarding. What I do feel, after spending $50-500K of someone else's money, is a responsibility to get their money's worth out of it.

I can understand, then, Tesla shareholder frustration with 12,000 of these being diverted to a different neighborhood in Muskville. Talk about other people's money.