Posts
4515
Following
316
Followers
478
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1
@dpom @neovim Yeah, it is like Haskell community but with volume :-) Try to pointing out a real issue in Rust and you feel like that you are speaking with someone from the Church of Scientology. I still like and use the language but I fully receive and understand your comment.
1
0
1

Jarkko Sakkinen

One thing where I would use #rustlang rewrite: vim/neovim clone. Helix/Amp etc. have the problem that they try to do something new.

Actually the best would be if @neovim would join the club of Firefox, Linux etc. and provide shenanigans for rewriting parts of it in Rust. I promise to contribute in this effort, if that ever happens (no time for working on the shenanigans unfortunately).

2
1
3

Jarkko Sakkinen

0
0
1

Jarkko Sakkinen

Edited 1 year ago

OK, a bit more intensive to get the spacing right (or readable):

>>> ' '.join(list(map(lambda x: x[::-1], list(map(lambda i: val[::-1][i:i + 4], range(0, len(val), 4)))[::-1])))
'1 0001 0001 1001 1110'
0
0
0
i like more traditional calls rather than fancy set theory alike syntax
1
0
0

Jarkko Sakkinen

Edited 1 year ago

printing hex in the #python shell:

>>> val = bin(0x1119e)[2:]
>>> ' '.join(list(map(lambda i: val[i:i + 4], range(0, len(val), 4))))
'1000 1000 1100 1111 0'

#note

1
0
0

Jarkko Sakkinen

I like the #BeagleBone layout in #BeagleV:

https://www.beagleboard.org/boards/beaglev-ahead

Very nice indeed, should get one.

#riscv #beagleboard
0
0
0
@risc_v nice beaglebone alike layout! hope to get one some day for sure
0
0
0

.@beagleboardorg launched the BeagleV®-Fire, a new SBC that opens up new horizons for developers, tinkerers and more to explore the vast potential of architecture and FPGA technology: https://riscv.org/news/2023/11/beagleboard-org-makes-fpga-and-risc-v-accessible-with-new-beaglev-fire-single-board-computer-at-150/?hss_channel=tw-2694452875

Original tweet: https://twitter.com/risc_v/status/1723024225127076007

1
1
1
Edited 1 year ago

Did you know you could control brightness of the red dot on the i of the "ThinkPad" on the top-side of your thinkpad? I sure didn't:

this turns it off:

echo 0 | sudo tee /sys/class/leds/tpacpi\:\:lid_logo_dot/brightness

and this turns it on:

echo 255 | sudo tee /sys/class/leds/tpacpi\:\:lid_logo_dot/brightness

I don't really know what this information is good for, but hey, isn't it awesome to have a 1px display on the outside of your laptop?

7
17
4
@foone could not agree more. also when doing API/ABI it is good to use explicit size types so that the binary interface stays constant for 32-bit and 64-bit builds. Makes debugging experience so much more lean.
0
0
3
@cfbolz I do that sort of thing over here occasionally and informally. E.g. I had this bug that I was hunting for over a month (yep, was total nightmare at times but I learned RISC-V assembly in the process so I guess it was for profit): https://github.com/keystone-enclave/keystone/issues/378

Then I wrote this post to have something generically applicable to try out in future when I have paging issues in RISC-V: https://social.kernel.org/notice/AbcKucebyfykZkSo4W. I don't want to keep this too formal. I try to remember adding #note to everything that I might want to checkup at times to get some ideas. Sort of scrap book in Mastodon 🙂

It is pretty easy to recall at least the year when I was working "something", and thus I feel that a single hashtag can help a lot already and is low-barrier at the same time.
0
0
1
@liw Physical accident along the lines of Ariane flight V88 is entirely possible in Rust, as it was in ADA. The exception is different (integer overflow) but similar in the sense that you have a default exception behaviour, which can trip your system in unfortunate circumstances.
0
0
0

@liw I’ve tried this for out of memory conditions (aka memory exhaustion) in Rust but there’s no -ENOMEM :-) In unstable there is handle_alloc_error() but it is. sort of complicated track to adapt. Would be nice if you could do this every and each at the site, as callback indirection sucks…

In this thread I see one common and wrong conclusion:

“Yeah, but there are also other application areas, such as embedded environments with less RAM and no memory overcomittment.”

For restricted embedded payloads and stuff like that you usually define metrics already at the compile time, and use crates such as heapless. It is exactly dynamic over-committed memory where it would be nice to explicitly deal with this unexpected corner case.

It is pretty hard to sometimes discuss about memory issues in Rust with “rustaceans” because they are living in the myth of Rust being memory-safe. Nothing is never fully memory-safe.

1
1
0

@liw I’ve tried this for out of memory conditions (aka memory exhaustion) in Rust but there’s no -ENOMEM :-) In unstable there is handle_alloc_error() but it is. sort of complicated track to adapt. Would be nice if you could do this every and each at the site, as callback indirection sucks…

In this thread I see one common and wrong conclusion:

“Yeah, but there are also other application areas, such as embedded environments with less RAM and no memory overcomittment.”

For restricted embedded payloads and stuff like that you usually define metrics already at the compile time, and use crates such as heapless. It is exactly dynamic over-committed memory where it would be nice to explicitly deal with this unexpected corner case.

It is pretty hard to sometimes discuss about memory issues in Rust with “rustaceans” because they are living in the myth of Rust being memory-safe. Nothing is never fully memory-safe.

1
1
0

Kaljantaikevennys!

2
1
1

Jarkko Sakkinen

watched this embarrassingly many times https://www.youtube.com/watch?v=M8bt2SJnuX4
0
0
2
Show older