HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jtrueb

222 karmajoined hace 3 años
Rust, C++ full full-stack (embedded wearables to ML)

comments

jtrueb
·anteayer·discuss
The callout about auditing inline and comptime reminds exactly of the C++ point made about how you have to follow the style guide. Whoosh?
jtrueb
·hace 3 meses·discuss
Call me crazy, but jj is more confusing than git.
jtrueb
·hace 3 meses·discuss
RTOS can be used a lot looser than you describe. Like a build system, scheduling, and interrupt framework that allows you to program an MCU like you describe. Zephyr RTOS and Free RTOS provide easy enough ways to write code that uses blocking APIs but probably runs your code according to the timing constraints if you hold it right. As an alternative, you could write for “bare metal” and handle the control flow, scheduling, interrupting, etc. yourself. If you are writing to “random” addresses according to some datasheet to effect some real world change, you are probably reaching for an RTOS or bare metal unless you are writing OS driversn. If you look at the linux drivers, you will see a lot of similarities to the Zephyr RTOS drivers, but one of them is probably clocking in the MHz while the other in the GHz
jtrueb
·hace 3 meses·discuss
I kinda quit using it. The tab feature is useful when making minor or mundane changes, but I quite prefer the codex GUI if I am going to be relatively hands off with agents.
jtrueb
·hace 3 meses·discuss
Is there a new version or news related to this? v0.9 was Nov 2024, and Leptos and Dioxus have been a lot more active.
jtrueb
·hace 4 meses·discuss
AI-assisted research is a solid A already. If you are doing greenfield then. The horizon is only blocked by the GUI required tooling. Even then, that is a small enough obstruction for most researchers.
jtrueb
·hace 5 meses·discuss
Yes! I’m not sure how many people arguing for one or the other have tried both, but it is clear that you know the pain.
jtrueb
·hace 5 meses·discuss
Have you been in a self driving car? There are some quite annoying hiccups, but they are already very safe. I would say safer than the average driver. Defensive driving is the norm. I can think of many times where the car has avoided other dangerous drivers or oblivious pedestrians before I realized why it was taking action.
jtrueb
·hace 5 meses·discuss
I don't need nanosecond accuracy. I just know there are a lot of scripts expecting it.
jtrueb
·hace 5 meses·discuss
I would describe it as the huge majority, reflecting on my pandas use over the years. Pretty much all of the data worth exploring in pandas over excel, some data gui, or polars involves timestamps.
jtrueb
·hace 5 meses·discuss
That timestamp resolution discrepancy is going to cause so many problems
jtrueb
·hace 6 meses·discuss
Heard of `#![forbid(unsafe_code)]` ?
jtrueb
·hace 8 meses·discuss
simd was one I thought we needed. Then, i started benchmarking using iter with chunks and a nested if statement to check the chunk size. If it was necessary to do more, it was typically time to drop down to asm rather than worry about another layer in between the code and the machine.
jtrueb
·hace 9 meses·discuss
I mainly use Rust in embedded now. I don’t always rely on encoding all of the correctness in the Rust type system. To a degree all the old ways of enforcing correctness are still in play, I am just choosing when to take use idiomatic Rust or escape hatch out via shim to C-style Rust. It reminds me quite a bit of how C and C++ shops require another layer of macros or templates be used for containers, resources, etc.

The build time of Zig seems like the most desirable piece worth deciding over. Developer time is money, but it isn’t weird to have multi-hour build times in a mature project either C, C++, or Rust. The correctness suite is a bigger time sink than the build though. When building a database, you could drive the build time to 0 and still have hours in CI.
jtrueb
·hace 9 meses·discuss
I was on a team with a similar timeline with C++ (4 year). All the language and toolchain difficulties came after shipping. Meeting new customer needs meant shifting from greenfield to brownfield engineering. We were chasing down strange platform and provider behaviors. Adding features while maintaining performance and correctness, meant relying on knowledge of tools available in the broader community. Solutions for build issues came through a combination of in-house effort and industry partners with related experience. Having two stable compilers (gcc and clang) was super helpful.
jtrueb
·hace 9 meses·discuss
Yeah, I think BDFL wants to use Zig. I understand that it is nice for Zig to feel more like C, and that can be fun. If the toolchain is so far away from being mature, how long will it take the database to be mature?

Since previous comment was edited. I would clarify that I don’t doubt the engineering capabilities, just the timeline. A from scratch database in _established_ toolchains take 5-10 years. The Zig toolchain also is going to be evolving in the same timeframe or longer. The codegen, linking, architecture specific bugs etc. Isn’t it double the effort to bring to bear in the market?
jtrueb
·hace 9 meses·discuss
The reason for not choosing Rust still doesn't make any sense to me. If you don’t want to OOM, need correctness, are following the power of ten (where you aren’t allocating anyways), I don’t see the conflict or harm of additional enforced correctness.

Also, Rust does support checked arithmetic and has stable toolchains.
jtrueb
·hace 9 meses·discuss
Wow!
jtrueb
·hace 10 meses·discuss
Slides from video description

https://docs.google.com/presentation/d/1SoDsm_m_pb_gS6Y98Hgh...