HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jtrueb

222 karmajoined 3 tahun yang lalu
Rust, C++ full full-stack (embedded wearables to ML)

comments

jtrueb
·kemarin dulu·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
·3 bulan yang lalu·discuss
Call me crazy, but jj is more confusing than git.
jtrueb
·3 bulan yang lalu·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
·3 bulan yang lalu·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
·3 bulan yang lalu·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
·4 bulan yang lalu·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
·5 bulan yang lalu·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
·5 bulan yang lalu·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
·5 bulan yang lalu·discuss
I don't need nanosecond accuracy. I just know there are a lot of scripts expecting it.
jtrueb
·5 bulan yang lalu·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
·5 bulan yang lalu·discuss
That timestamp resolution discrepancy is going to cause so many problems
jtrueb
·6 bulan yang lalu·discuss
Heard of `#![forbid(unsafe_code)]` ?
jtrueb
·8 bulan yang lalu·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
·9 bulan yang lalu·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
·9 bulan yang lalu·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
·9 bulan yang lalu·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
·9 bulan yang lalu·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
·9 bulan yang lalu·discuss
Wow!
jtrueb
·10 bulan yang lalu·discuss
Slides from video description

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