There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

BeigeAgenda ,
@BeigeAgenda@lemmy.ca avatar

I prefer the multi thread problems that can be solved using queues.

captain_aggravated ,
@captain_aggravated@sh.itjust.works avatar

So this has bothered me since I was a teenager.

In Empire Strikes Back, Yoda talked like this: “Put the cart before the horse, I have.” And he mostly did it while he was pretending to be a dingus early on to test Luke’s patience. Some actual movie quotes: “I cannot teach him. The boy has not patience.” “No. Do, or do not. There is no try.” “Judge me by my size, do you?”

In the prequel trilogy, it’s like Lucas bought into the meme that Yoda talks funny, so all of a sudden Yoda talks like this “Before the horse, the cart, I have put.” “Around the survivors, a perimeter, create!”

Anyway.

SnotFlickerman ,
@SnotFlickerman@lemmy.blahaj.zone avatar
SpaceCowboy ,
@SpaceCowboy@lemmy.ca avatar

Yeah, Yoda became a parody of his character in ESB.

In ESB he comes across as someone that’s speaking in a second language. Sometimes he mixes up the grammar, especially when emotional and trying to speak quickly, but when he’s more relaxed and speaking slowly (or saying something simple) he usually gets it right.

In other portrayals it feels more like he’s got brain damage.

Bezier ,
@Bezier@suppo.fi avatar

How do you get that order with only two threads?

slampisko ,

The joke does not specify the number of threads the programmer used, only the number of problems he now has

Kyrgizion ,

I liked this joke better when it was about async. Fits the purpose better.

RustyNova ,

Rewrite it in rust. Now get a lifetime of problems

ma1w4re ,

Is this just humor or there’s a reason why people dislike rust? I’m curious.

bluGill ,

There are many who are pushing rust as a religion tan that turns people off.

ma1w4re ,

Ah, I see lol. Thanks.

pizza_the_hutt ,

Both. The people who promote Rust can be very annoying. They trumpet Rust’s memory safety while turning a blind eye to any problems with the language, let alone the effort required to rewrite a large system and all the bugs such a rewrite will introduce.

RustyNova ,

Half joking. Lifetimes can be hard but once you understand the concept it’s quite easy.

The second joke is about you never learn Rust. You’re always on the learning rollercoaster. Always one step away but each time it makes you rethink the whole language.

Don’t get me wrong, I’m a rust main. But does issues does exist

bappity , (edited )
@bappity@lemmy.world avatar

just started out rust and made a massive thing with sqlx only to find out the latest versions don’t have mssql support anymore and the last version that did doesn’t support decoding DateTime<Utc> 😭😭😭

had to rewrite the whole thing again with Tiberius, painful yet educational

Cian ,
@Cian@hispagatos.space avatar

@bappity @RustyNova I was stuck on the same thing, there's no way to make it compatible? How do you handle dates?

bappity , (edited )
@bappity@lemmy.world avatar

I switched to using tiberius

bit different but not too hard don’t have my code on hand atm but this is how I started with it


<span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let mut</span><span style="color:#323232;"> config </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#323232;">Config::new();
</span><span style="color:#323232;">    config.</span><span style="color:#62a35c;">host</span><span style="color:#323232;">(</span><span style="color:#183691;">"your_server_name"</span><span style="color:#323232;">);
</span><span style="color:#323232;">    config.</span><span style="color:#62a35c;">database</span><span style="color:#323232;">(</span><span style="color:#183691;">"your_database_name"</span><span style="color:#323232;">);
</span><span style="color:#323232;">    config.</span><span style="color:#62a35c;">authentication</span><span style="color:#323232;">(tiberius::AuthMethod::sql_server(</span><span style="color:#183691;">"your_username"</span><span style="color:#323232;">, </span><span style="color:#183691;">"your_password"</span><span style="color:#323232;">));
</span><span style="color:#323232;">    config.</span><span style="color:#62a35c;">trust_cert</span><span style="color:#323232;">();
</span><span style="color:#323232;">
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> tcp </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#323232;">TcpStream::connect(config.</span><span style="color:#62a35c;">get_addr</span><span style="color:#323232;">()).await</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span><span style="color:#323232;">    tcp.</span><span style="color:#62a35c;">set_nodelay</span><span style="color:#323232;">(</span><span style="color:#0086b3;">true</span><span style="color:#323232;">)</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span><span style="color:#323232;">    
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let mut</span><span style="color:#323232;"> client </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#323232;">Client::connect(config, tcp.</span><span style="color:#62a35c;">compat_write</span><span style="color:#323232;">()).await</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span>

then I did something along the lines of


<span style="font-weight:bold;color:#a71d5d;">fn </span><span style="font-weight:bold;color:#795da3;">main</span><span style="color:#323232;">() {
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> stream </span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#323232;"> client.</span><span style="color:#62a35c;">query</span><span style="color:#323232;">(</span><span style="font-weight:bold;color:#a71d5d;">&</span><span style="color:#323232;">query, </span><span style="font-weight:bold;color:#a71d5d;">&</span><span style="color:#323232;">[]).await</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> rows </span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#323232;"> stream.</span><span style="color:#62a35c;">into_first_result</span><span style="color:#323232;">().await</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span><span style="color:#323232;">
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> db_data: Vec<MyObject> </span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#323232;"> rows.</span><span style="color:#62a35c;">into_iter</span><span style="color:#323232;">().</span><span style="color:#62a35c;">map</span><span style="color:#323232;">(mapping_function_i_made_for_myobject).</span><span style="color:#62a35c;">collect</span><span style="color:#323232;">();
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="font-weight:bold;color:#a71d5d;">fn </span><span style="font-weight:bold;color:#795da3;">mapping_function_i_made_for_myobject</span><span style="color:#323232;">(row: Row) -> MyObject {
</span><span style="color:#323232;">    MyObject {
</span><span style="color:#323232;">        my_date_field: row.get::<NaiveDateTime, </span><span style="font-weight:bold;color:#a71d5d;">_</span><span style="color:#323232;">>(</span><span style="color:#183691;">"my_date_field"</span><span style="color:#323232;">).</span><span style="color:#62a35c;">map</span><span style="color:#323232;">(|dt| Local.</span><span style="color:#62a35c;">from_local_datetime</span><span style="color:#323232;">(</span><span style="font-weight:bold;color:#a71d5d;">&</span><span style="color:#323232;">dt).</span><span style="color:#62a35c;">unwrap</span><span style="color:#323232;">()),
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span>
RustyNova , (edited )

No idea for Tiberius, but for SQLite I’m stuck with converting to timestamp and back. Ugly but works

P.S. add a getter to your data struct and you can be “seamless”

RustyNova ,

Sadly sqlx seems to have gone semi-proprietary with their MSQL driver. Personally never understood the appeal of mssql when there’s Postgres and SQLite, but hey, it does work.

I’ve started using welds as my new ORM of choice as SeaORM and Diesel is just not a friendly experience, and supports Mssql OOB. So it’s nice there’s still options for it.

Hammocks4All ,

And some people get “bored” in life smh

skullgiver ,
@skullgiver@popplesburger.hilciferous.nl avatar

Lifetime issues? Just clone() all your problems away. Everything is Clonable if you try hard enough. Who needs performance anyway?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines