HNHacker News
TopNewBestAskShowJobs

mcronce

1,005 karma · joined March 31, 2020

submissionscomments
mcronce··on Rust should not have provided `unwrap`
I agree with you. My general rule of thumb is that I use `unwrap()` for cases where the panic should be unreachable, and is at least reasonably easy to prove it's unreachable.

Otherwise, `?` in 90% of code, with panics far up the stack, e.g. in `main()`

mcronce··on How I went about learning Rust
I use Rust for more or less everything these days, but I found the learning curve to be fairly tough up front. That was in 2019, though; maybe it's easier today with all the improved compiler diagnostics and new books and whatnot.

> if the end goal is software that works correctly, getting there definitely isn’t harder with rust. It’s the complete opposite :/.

Strongly agree with you here. It takes me a lot less time to put something that functions correctly together with Rust than it does with Python or Go. Maintenance also gets a lot easier as the codebase grows.

I recently started a job at a Python shop, and the kinds of bugs/regressions we hit are super annoying because a compiler with a type system would have had them simply be build errors up front.

mcronce··on Smart thermostats inadvertently strain electric power grids
The bar I frequent uses straws made of biodegradable material derived from sugarcane - they last a lot longer than paper straws, but ultimately are water soluble and will dissolve after a day ish if submerged. They obviously cost a lot more than plastic, but the user experience is just as good without the forever waste.
mcronce··on Corn Cobs: Fuel of Nightmares
To be fair, the smokey flavor you get from barbeque is primarily carbon
mcronce··on Love Song to Costco
https://customerservice.costco.com/app/answers/detail/a_id/7...

AmEx not listed anywhere.

Maybe yours does something different, or it's an AmEx branded debit card, or you're not in the US and they do something different abroad, but no Costco I've been to since the switch has accepted any credit card that isn't a Visa.

mcronce··on Retbleed: New speculative execution attack sends Intel and AMD scrambling
Good point. I'm going to start allocating tens of megabytes of random data all over my address space at the beginning of execution so that I too can gain this advantage :)
mcronce··on GCC Rust Approved by GCC Steering Committee
You actually can - https://llvm.org/docs/CommandGuide/lli.html

LLVM's original purpose was something analogous to the JVM, but it's obviously evolved to be more of a compiler platform, debugging toolchain, etc these days

(No direct hardware support, though, as cool as that sounds)

mcronce··on Love Song to Costco
They used to be AmEx only. They're now Visa only.
mcronce··on Python 3.11 vs 3.10 performance
You just listed two very good reasons: Intermediate values can't be named, and error messages are awful.
mcronce··on Go generics are not bad
Go's issues are mostly not performance related, so more monomorphization will really not solve a significant portion of them.
mcronce··on Go generics are not bad
What's the definition of "success" here? Popularity?
mcronce··on Python 3.11 vs 3.10 performance
I agree. The rule of thumb I follow is that if the list comp doesn't fit on one line, whatever I'm doing is probably too complicated for a list comp.
mcronce··on Found: The 'holy grail of catalysis'– turning methane into methanol
> Storage is cheap.

And yet it's solar being built all over the world, not storage.

mcronce··on Found: The 'holy grail of catalysis'– turning methane into methanol
> reliable

This is not usually a word that one uses to describe something that works when it wants to, as opposed to things that work when you want them to

mcronce··on What it feels like when Rust saves your bacon
This is an ... interesting argument. "I can't write this 200LOC component of a large codebase in safe Rust, so what's the point in Rust?"
mcronce··on Get Paid to Contribute to Urllib3
I think their point is that there are a lot of people for whom $300 is a great payment - essentially, defending the maintainers for offering what the parent seems to be implying is too little.

Personally, I'm a senior dev making more than triple what I did when I started my career, and if it were five minutes of work (or even ten, or an hour) I'd be extremely happy with $300.

mcronce··on Hertzbleed Attack
I was thinking about busy servers running mixed workloads. I would think that, with the CPU running a bunch of workloads on different cores, context switching, etc, it wouldn't be a practical attack. Maybe that's incorrect.

Mostly idle servers are a different story, obviously.

mcronce··on Show HN: Tuc – When cut doesn’t cut it
At some point you have to accept that if you want to know something, you have to learn it. At one point, you didn't know grep, awk, sed, etc... And then you learned them.

Or you can just stick with the old tools if you prefer not learning a new thing - that's a perfectly valid option.

mcronce··on Rust without the async (hard) part
I would not describe latency as "excellent" in Go, unless you're measuring average or p90.
mcronce··on Benchmarking Malloc with Doom 3
I stand corrected then, this would probably be a great fit
mcronce··on Powering the moon: Designing a microgrid for future lunar base
When last I checked (and contacted support :)), there was no way to get per-panel generation data from the API. It's been, like, at least a year, but if it hasn't already been added, that'd be a thing I'd love to see so I can integrate it with the monitoring/alerting I already have setup.

Since per-panel data is available in the UI, it seems like information that Enlighten does track, it's just not made available via API.

mcronce··on Powering the moon: Designing a microgrid for future lunar base
I have nothing to add, but I'm using IQ7+s on the roof. It's grid-tied, but they've consistently worked great, and Enlighten's API is shockingly (pun intended) nice to use.
mcronce··on Photonic Chip Performs Image Recognition at the Speed of Light
Also, 0.1ns would be a single clock cycle at 10GHz
mcronce··on Benchmarking Malloc with Doom 3
I would also bet that getting the game to perform the exact same series of allocations would be an intractable problem to solve. I don't think Doom 3 has a benchmark mode; the author just recorded themselves loading the game, loading a level, doing a bit of gameplay, etc.
mcronce··on Arc and Mutex in Rust
I agree. It's not like there aren't plenty of improvements to be made, but I write a lot of async Rust and the limitations (which are well enumerated elsewhere in the comments) just aren't really an issue for what I do.
mcronce··on How to stop junk mail
I'm with you. Ignoring the inconvenience of sorting through junk mail every day, just thinking about the energy required to move all that trash to people's mailboxes, only to then be thrown in the trash and moved to a landfill, makes me itchy.
mcronce··on How is GNU `yes` so fast? (2017)
They recently-ish lifted the restriction on only replying/voting in threads 6 months and younger - I'm not sure if that also applies to editing, though, nor how far back it goes
mcronce··on Vectorized and performance-portable Quicksort
The default AVX offset for Ice Lake is indeed only 100MHz (and it doesn't exist starting with Rocket Lake), but 512b SIMD instructions use a lot of power, and as a result generate a lot of heat - so they certainly can cause thermal throttling or throttling due to power limits
mcronce··on Vectorized and performance-portable Quicksort
Not for recent hardware - Ice Lake eliminated the throttling on 256b ops (they already didn't exist for certain 256b ops and all smaller ops), and reduced the throttling to almost nothing for 512b ops. Rocket Lake eliminated the throttling for 512b ops.

https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Dow...

They do use a lot of power (and as a result, generate a lot of heat), so they can still cause thermal throttling, or throttling due to power limits - but there's no more "AVX offset"

mcronce··on Async Rust doesn't have to be hard
Sure, obviously you can generate strings containing HTML and send those. I'm imagining something like the serverside rendering you get with e.g. React. That said, I don't know what specifically the previous poster was looking for.
← PreviousPage 8 of 12Next →