kellogh, to random
@kellogh@hachyderm.io avatar

the #gpt4o news is cool, but now i want to see an embedding model that i can use with a streaming interruptible conversation

kellogh,
@kellogh@hachyderm.io avatar

also, now with #gpt4o, latency is going to be critical if you’re doing streaming audio/video, so #python may start looking less appealing. what’s the new #LLM language? #rust? #go? #cpp? #fortran?

#rustlang #golang

kellogh,
@kellogh@hachyderm.io avatar

i predict that there’s always going to be strong advantages to using for , but with streaming audio & video of , there’s not enough latency slack for python.

i think a framework will emerge, similar to pyspark, where you can write python code that gets compiled into a steaming plan, and executed as highly optimized low level code with the possibility of python UDFs. i figure it’s still a couple of years from being really usable rn

adam_chal, to rust
@adam_chal@hachyderm.io avatar

"References are like jumps, or why we need guarantees about shared, mutable state"

https://without.boats/blog/references-are-like-jumps/

hgrsd, to rust
@hgrsd@hachyderm.io avatar

Which IDE do you use for Rust development?

I've been moving between neovim, helix (can't get over the slightly different mental model compared to vim), vscode, rustrover... Curious what others use.

lily, to rust
@lily@glaceon.social avatar

here's an interesting way of expressing logic in a rust program:

match statements where the patterns are produced by a local macro.

one of the main problems with rust pattern matching imo is just how large the match statements often are, and local macros fix that.

it's much nicer to write key!('q') instead of Event::Key(KeyEvent{ code: KeyCode::Char($code), .. }

TehPenguin, to random
@TehPenguin@hachyderm.io avatar

I've been helping to investigate a few LLVM and Rust bugs recently, and I keep running into pet peeves with how these bugs are reported, so I'm going to put together some

I don't want to discourage anyone from filing a bug, please do! But... be aware with how you represent the issue that you're seeing.

I also know that there are folks on here who are vastly more knowledgeable than I am, so feel free to suggest corrections, perhaps by filing some sort of report...

TehPenguin,
@TehPenguin@hachyderm.io avatar

If you're going to claim something is a security issue, please explain what the attacker has gained by exploiting the bug. That is, what they can now do they couldn't before.

If you can't explain what the attacker has gained, then that's not a security bug, that's just sparkling MS07-052 (https://web.archive.org/web/20100930203109/http://blogs.msdn.com/b/oldnewthing/archive/2007/08/07/4268706.aspx#4282521)

TehPenguin,
@TehPenguin@hachyderm.io avatar

If the feature has docs, then please explain how the actual behavior doesn't match the docs.

If you don't like how the feature works, that's not a bug, but you can still ask for the feature to be changed.

If there are no docs, or there's a gap, then please help to fill that gap (adding your own observations in the bug report are a good start).

TehPenguin,
@TehPenguin@hachyderm.io avatar

The more specific you can be on when a regression occurred, the better. A range of versions is good, a single version is great, a single commit is amazing.

Tools like git bisect are really helpful for this.

Providing a standalone example that reproduces the issue so that someone else can do that work is also great, with the bonus that it can be added to the regression tests.

lily, to rust
@lily@glaceon.social avatar

the rust "impl" keywork is kinda weird.

usually, it is used to define methods, but in function arguments, it serves as syntactic sugar so you don't have to name generic types... but in a return type, it has a meaning that is slightly different, and actually expresses a semantic not even vanilla haskell can represent!

basically, instead of being able to return any type implementing a trait, it states that it can return at least one type that implements a trait.

in haskell terminology, specifying a generic type parameter is "forall a", while returning an "impl" is "exists a".

elevenhsoft, to programming Polish
@elevenhsoft@mastodon.social avatar

Wooohooo! Finally, we are on #flathub, friends! :)

#COSMIC Web Apps is available to install via #flatpak directly from flathub: https://flathub.org/apps/io.github.elevenhsoft.WebApps

I'm happy ^^

#cosmicdesktop #programming #rust

folkertdev, to rust

Second #RustNL result: zlib-rs now works with no_std (on main)

most work was done by fellow unconf attendee Jonas Kruckenberg.

This ability is cool not only because zlib-rs can now be used on embedded devices, but also because it guarantees we don't sneakily use rust's allocator: allocation in the library should only happen through some function pointers that get passed in.

I've set up an example with the nrf52840 here:

https://github.com/folkertdev/no-std-zlib-rs

#rust makes running code everywhere easy!

smallcircles, to loom
@smallcircles@social.coop avatar

Cap. An #AGPL-licensed self-hostable alternative to #Loom:

https://github.com/CapSoftware/Cap

Implemented in #Typescript and #Rust.

slint, to rust
@slint@fosstodon.org avatar

We're pleased to "spring" a new release, v1.6: Improved design mode, new Python packages, and enhanced accessibility. 🥳🐣

https://slint.dev/blog/slint-1.6-released

cdrmack, to cpp
@cdrmack@fosstodon.org avatar

After 10 years of commercial experience in I think I’m ready for a new chapter. I have played around with and but most job offers that I see are for people with at least X years of commercial experience in this exact languages. Do you have any hints how to approach this? I would think that my previous experience as a engineer would matter. Especially since I do not expect to move to another senior role, I’m checking junior positions too.

sdeleuze, to webassembly French
@sdeleuze@mastodon.online avatar

The Kotlin/Wasm team has created an early prototype of a component written in linked with another component written in and running in Node.js. Looking forward being able to run that in Wasmtime when it gets WasmGC support. https://github.com/skuzmich/kotlin-wasm-cm-experiments

godmaire, to rust
@godmaire@mstdn.social avatar

Is it not possible to use grave accents in rust proc-macros? When I do, I get an "unknown start of token" error, even though it /is/ the whole token. When taking a peek at the TokenStream given to the proc-macro function, the grave doesn't appear at all

janriemer, to ArtificialIntelligence

Zed Decoded: Rope & SumTree - by Zed Industries

https://zed.dev/blog/zed-decoded-rope-sumtree

Absolutely fascinating deep-dive into the core data structures the folks at Zed Industries use for their #Zed #editor!

"Currently there are over 20 uses of the SumTree in Zed. [...] The list of files in a project is a SumTree. The information returned by git blame is stored in a SumTree. Messages in the chat channel: SumTree. Diagnostics: SumTree."

Oh, how I love this! ✨

#DataStructure #Algorithm #Rust #RustLang

janriemer, to rust

Practical suggestions for building around borrow errors - by quinedot

https://quinedot.github.io/rust-learning/lifetime-intuition.html

If you're struggling with the borrow checker and lifetimes, this is an excellent resource!

In some past toot I've said that Rust lends itself very well to intuition-based learning...

https://floss.social/@janriemer/109415274612140073

...so this learning resource takes the same line (according to its title)! Nice!

folkertdev, to rust

My first concrete result of : zlib-rs now runs with the cranelift backend

This required implementing some intrinsics that the cranelift backend didn't yet support

https://github.com/rust-lang/rustc_codegen_cranelift/pull/1491
https://github.com/rust-lang/rustc_codegen_cranelift/pull/1488

With some help from bjorn3 this was reasonably straightforward. I think the PRs are good templates for of someone wanted to work on a real compiler and implement further SIMD functionality. This issue lists some missing intrinsics

https://github.com/rust-lang/rustc_codegen_cranelift/issues/1419

agx, to rust

I needed bindings for an app to interact with to submit feedback. Here's the generated bindings for libfeedback in case someone else needs it too:

https://gitlab.gnome.org/guidog/libfeedback-rs

DO1HMN, to rust
@DO1HMN@mastodon.radio avatar

Breakthrough: I wrote a program that prints a line of text!
So what's the point?
Program written in , cross compiled on , linked with to a TOS executable {on Windows), put into a disk image on debian and executed on a real ST via a floppy emulator with firmware.

Atari ST Desktop. File "Atari.PRG" is started and prints out "Hello Atari world!"

frankel, to rust
@frankel@mastodon.top avatar
jhpratt, to rust
@jhpratt@mastodon.social avatar

Preview of what I have been working on recently. The core of this crate is a mere two traits. The crate will ship with a number of parsers and combinators, none of which rely on anything not exposed to downstream users.

I've attached a real-world situation, taken verbatim from the test suite. Parsing integers isn't as efficient as it could be yet, as it's using a naïve method.

Parsing in general compiles to be extremely efficient, and using it is ergonomic.

#Rust #RustLang #programming

pub trait Combinator<'input, P> where P: ByteParser<'input>, { type NewParser: ByteParser<'input>; fn apply_to(self, parser: P) -> Self::NewParser; }
#[test] fn parse_date() -> parcom::Result<()> { let parser = ascii::int:: .limit_length(4) .and(verbatim(b"-").discard()) .and(ascii::int::.limit_length(2)) .and(verbatim(b"-").discard()) .and(ascii::int::.limit_length(2)); let (seq!(year, _, month, _, day), remaining) = parser.parse("2021-07-04")?.into_parts(); assert!(remaining.is_empty()); assert_eq!(year, 2021); assert_eq!(month, 7); assert_eq!(day, 4); Ok(()) }

saveriobran, to graphics
@saveriobran@mastodon.uno avatar
cuchaz, to random
@cuchaz@gladtech.social avatar

Once again I get foiled by switching languages. :blobcatfacepalm2:

In Javascript, you have to compare strings with ===, not ==, or else you'll run into type coercion problems, because Javascript thinks 1 == "1" is a totally fine thing to be true. (it's not)

But in Kotlin, === compares identity not equality for strings. But in the JVM, string values are aggressively cached, so === actually does what you want most of the time. Unless your strings come from weird places, like JNI code. Then you get awful non-deterministic behavior that's incredibly hard to debug, but it totally goes away when you use the correct comparison operator == for strings.

sigh I'm not really as good at this whole programming thing as I should be by now.

happyborg,
@happyborg@fosstodon.org avatar

@cuchaz
Programming is hard.

A skill is choosing systems and tools that make it easier and making meta choices to enable you to maximise your agency in those choices.

I remember the pain I endured learning #nodeJS a decade ago, then looking at #Angular [shudder] and #React hmm.

Then the pleasure that followed learning to use #Svelte and #Rust. You'd have a hard time getting me to use anything else now. Not happening.

My debut Rust project is now part of debian / Ubuntu.

"===" 🤣
#RustLang

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines