this post was submitted on 14 Sep 2024
846 points (99.1% liked)

Programmer Humor

37176 readers
124 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
all 24 comments
sorted by: hot top controversial new old
[–] RustyNova@lemmy.world 93 points 10 months ago (4 children)

Rewrite it in rust. Now get a lifetime of problems

[–] Hammocks4All@lemmy.ml 4 points 10 months ago

And some people get “bored” in life smh

[–] bappity@lemmy.world 4 points 10 months ago* (last edited 10 months ago) (2 children)

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

[–] RustyNova@lemmy.world 2 points 10 months ago

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.

[–] Cian@hispagatos.space 1 points 10 months ago (2 children)

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

[–] RustyNova@lemmy.world 2 points 10 months ago* (last edited 10 months ago)

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"

[–] bappity@lemmy.world 1 points 10 months ago* (last edited 10 months ago)

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

    let mut config = Config::new();
    config.host("your_server_name");
    config.database("your_database_name");
    config.authentication(tiberius::AuthMethod::sql_server("your_username", "your_password"));
    config.trust_cert();

    let tcp = TcpStream::connect(config.get_addr()).await?;
    tcp.set_nodelay(true)?;
    
    let mut client = Client::connect(config, tcp.compat_write()).await?;

then I did something along the lines of

fn main() {
        let stream = client.query(&query, &[]).await?;
        let rows = stream.into_first_result().await?;

        let db_data: Vec<MyObject> = rows.into_iter().map(mapping_function_i_made_for_myobject).collect();
}

fn mapping_function_i_made_for_myobject(row: Row) -> MyObject {
    MyObject {
        my_date_field: row.get::<NaiveDateTime, _>("my_date_field").map(|dt| Local.from_local_datetime(&dt).unwrap()),
    }
}

[–] captain_aggravated@sh.itjust.works 79 points 10 months ago (2 children)

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.

[–] SpaceCowboy@lemmy.ca 17 points 10 months ago

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.

[–] Kyrgizion@lemmy.world 29 points 10 months ago

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

[–] Bezier@suppo.fi 24 points 10 months ago (1 children)

How do you get that order with only two threads?

[–] slampisko@lemmy.world 55 points 10 months ago (1 children)

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

[–] AceBonobo@lemmy.world 2 points 10 months ago

It's incrementing the problem counter in different threads

[–] BeigeAgenda@lemmy.ca 10 points 10 months ago

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