this post was submitted on 11 Jun 2024
233 points (96.8% liked)

Programmer Humor

24662 readers
784 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
all 25 comments
sorted by: hot top controversial new old
[–] PoolloverNathan@programming.dev 68 points 1 year ago (1 children)

A MONAD IS A MONOID IN THE CATEGORY OF ENDOFUNCTORS

[–] Thelie@sh.itjust.works 12 points 1 year ago

Wow you sound so smart!

[–] embed_me@programming.dev 37 points 1 year ago (1 children)

Typical Computer science vs typical computer engineering

[–] Thelie@sh.itjust.works 10 points 1 year ago (1 children)

Inside me are two wolves I guess…

Chief O’Brien:

Sorry about that transporter malfunction, sir! Won’t happen again!

[–] agressivelyPassive@feddit.de 29 points 1 year ago (1 children)

I have to say, I'm getting more and more frustrated by the bad code I have to write due to bad business circumstances.

I want clean, readable code with proper documentation and at least a bit of internal consistency and not the shoehorned mess of hacks, todos and weird corner cases.

[–] magic_lobster_party@kbin.run 13 points 1 year ago (2 children)

todos

I found a simple trick against this: just remove them. Accept it ain’t gonna happen man.

[–] agressivelyPassive@feddit.de 5 points 1 year ago (1 children)

Well, yes, but the underlying issues still persist, so it's not exactly a sustainable strategy.

[–] magic_lobster_party@kbin.run 3 points 1 year ago

It’s mostly a joke, but often when I find todos they’re so old they’re no longer relevant.

Of course you shouldn’t blindly remove todos.

[–] frezik@midwest.social 1 points 1 year ago* (last edited 1 year ago)

Don't just put "TODO". If they're in the final pull request, they need to mention a ticket that's intended to fix that TODO. If you/your team decides it's not important, then remove it and close out the ticket. Either way, you're required to do something with it.

[–] Black616Angel@discuss.tchncs.de 14 points 1 year ago

Rust mentioned!

[–] RagingHungryPanda@lemm.ee 7 points 1 year ago

At least the code on the bottom is actual code and not just signatures

[–] anton@lemmy.blahaj.zone 6 points 1 year ago (2 children)

Instead of

if let Some(a_) = a{
    ()
} else if let Some(b_)=b{
    ()
} else {
    dostuff 
}

you could just use

if a.isNone()&&b.isNone(){
    dostuff
}

Also if you don't use the value in a match just use _

[–] jimitsoni18@lemmy.zip 4 points 1 year ago (1 children)

Also you can use enums insteas of string literals

[–] Thelie@sh.itjust.works 1 points 1 year ago (1 children)

I'm not sure how I would go about this in an elegant way since I'm matching the string I get from a message…

[–] jimitsoni18@lemmy.zip 1 points 1 year ago (1 children)

If the message used enums for actions/procedures like SPAM_MEMES, then using enums would be more performant

[–] Thelie@sh.itjust.works 2 points 11 months ago

I think you'd be happy to know that I've gone for a bit of an overkill and used Pest to parse the commands, which automagically gets me an enum to match against in this position.

The sad part is, I haven't gotten the Media upload to work, so the project is on ice for a little while…

[–] Thelie@sh.itjust.works 2 points 1 year ago

That's a good point, thanks. Maybe I'll go without the if entirely, the (janky) code is still very much in flux ;)

[–] 82cb5abccd918e03@lemmygrad.ml 4 points 1 year ago (1 children)

Doesn't that construction only work in categories that also contain their own morphisms as objects since a profunctor maps (Cᵒᵖ × C) → Set and not the same like (Cᵒᵖ × C) → C? Since the category of Haskell types special, containing its own morphisms, so the profunctor could be like (haskᵒᵖ × hask) -> hask? or I just don't understand it.

[–] kogasa@programming.dev 1 points 1 year ago

Hom functors exist for locally small categories, which is just to say that the hom classes are sets. The distinction can be ignored often because local smallness is a trivial consequence of how the category is defined, but it's not generally true

[–] hswolf@lemmy.world 2 points 1 year ago (1 children)

is this a section of a discord api implementation?

[–] Thelie@sh.itjust.works 2 points 1 year ago* (last edited 1 year ago)

Almost, but not quite. It's built against Presage

[–] 6mementomori@lemmy.world 1 points 1 year ago (1 children)

I don't nearly know enough to understand this but is anyone willing to help me get the thing on the top :>

[–] Thelie@sh.itjust.works 2 points 11 months ago

To first give you some context, the thing on the top is from The "Representable Functors" chapter of Category Theory for Programmers. So technically, you only need to read 230 Pages of a maths textbook to get it ;)

But this isn't exactly what you asked for, so I'll try to help you get it as best I can with my limited understanding of the subject. First of all it would be helpful to know what your prior knowledge in Maths, especially Set theory, is?