This is really important advice, especially for anyone dealing with mental health struggles or a chronic illness.

@Lacci

Yes!

One of the most important things I learned in computer science major was the projects tend to get stuck at the 90% completion stage, for reasons. One of the reasons is, that's the easy part

I've taken this forward in my non-computer life, to tell myself, I will just do the easy 90%. Or sometimes the easy 70%. The rest might be nice to do, but it's not as necessary

It takes 2 minutes to wipe down the kitchen counters and get them 90% clean. The other 10% would take what, half an hour?

@NilaJones @Lacci The last 10% secretly takes 50% of the time and energy is so especially true in software projects, where the broad strokes of functionality are usually fairly simple, but idiotproofing and preventing problems with edge cases are often hard to predict and create the logic to selectively prevent.
@earthman "when you're 90% done, you're half way there"
@NilaJones @Lacci Unoptimized code that somehow works is still code that works. 
@Natanox @NilaJones @Lacci famously, worrying too soon with code optimization is a recipe for disaster
@lffontenelle @NilaJones @Lacci Wish some parts of the FOSS community were more… relaxed about this as well. Although it's probably a very bad time to bring this up, given the flood of AI garbage…

@lffontenelle @Natanox @NilaJones @Lacci

"Worry is a way to pretend that you have knowledge or control over what you don't--and it surprises me, even in myself, how much we prefer ugly scenarios to the pure unknown." -- Rebecca Solnit, *A Field Guide to Getting Lost*

@lffontenelle your daily reminder that knuth did not say "never optimize", knuth said to optimize where it actually matters (and, *obviously*, you should not write a program in a stupid way that would make it slow), stopping for 5 minutes to think 'is this approach horrible or is it passable?' is not premature optimization, it is getting 80% of the way with 20% of the effort

my game uses sorted arrays because i dont know how to write a "real" hashmap and there is very little benefit compared to what im doing, while not performing a linear search every time is basically free

@Natanox @NilaJones @Lacci @lffontenelle Do not care about performance optimizations. Optimize for maintainability first.

@divVerent @NilaJones @lffontenelle @Lacci *do not care too much

There are still unnecessary sins, like throwing binary data in managed lists. Which funnily enough is something AI likes to do. *Not* doing that doesn't require more work though.

@Natanox @NilaJones @lffontenelle @Lacci Also common among Java devs is just annotating your class a bit to be serializable, rather than building a binary or text format.

Config files in XML are bad enough, but nothing beats java.lang.Serializable network packets. And nowadays you won't even get a CVE for that...
@divVerent @NilaJones @lffontenelle @Lacci Just so I understand it correctly: Instead of using a proper networking scheme they just design whole classes so they can be shoveled into network packages through some functionality meant for file transfer and yolo it?
@Natanox @NilaJones @lffontenelle @Lacci Yes. Precisely this.

The main issue is that deserializing may give you
any class - not just the class you want. It can in some cases even call code during deserializing, at which point it's getting highly dangerous.

@Natanox @NilaJones @Lacci

Perfect is the enemy of good enough, Mikhail Kalashnikov is reported to have once said in an interview. He wasn’t the first to think of it, though. It’s too basic common sense not to have occurred to anybody. Perfection is a stick with which to beat the possible. Rebecca Solnit said that in *Hope in the Dark*. That two such dissimilar persons could independently arrive at the same conclusion speaks to its validity.

@Lacci @NilaJones Sadly in my experience doing just the 90% leads to technical debt (e.g. not removed alternate code paths from a rollout, weird exception cases that keep using the previous implementation to "fix later") that will bite one later (when wanting to do the next change).

By now all the extra maintenance costs have grown more expensive than doing the 10% initially...
@divVerent
I would say applying the saying to engineering work is probably not appropriate. I'm not a software engineer but from what I've heard from friends who are there's a very serious problem among leadership with not doing enough finishing things and adding unnecessary stuff. Maybe there needs to be a saying about the virtue of doing boring things really well or something. But it seems like every tech company wants to be van Gogh when their business is house painting.
@NilaJones
@NilaJones @Lacci we used to say, the first 90% of the project takes the first 90% of the time. The other 10% takes the other 90% of the time.

@Lacci @scattapilla I like to say it as “anything* worth doing is worth doing half-assed [as opposed to not at all]”

* there are a couple small exceptions

@gemini6ice
I'm not really endorsing this message nor is it at all what the original was talking about, but it's tangentially related to what you said and makes me laugh so have this. https://youtu.be/c0QLdsecRZc?si=ovCkgsPJR14NDEf8
@scattapilla
S08E13 - Cut Every Corner Song

YouTube
@gemini6ice @Lacci @scattapilla yup: surgery, nuclear power, and aircraft construction do get an exclusion, but pretty much everything else can benefit from this approach, I think :)
@srtcd424 @gemini6ice @Lacci @scattapilla We do have to be a little bit vigilant about the definition though, given we're entering an age of generative AI slop. Half-assing a car as human still makes you take care of all necessities, but AI slop will outright forget the safety belt and put an airbag under your butt.

@srtcd424 @gemini6ice @Lacci @scattapilla

Surgery: if a patient *needs* a surgery in an emergency, doing it in subpar conditions is much better than not doing. If the only hospital performing a surgery can't buy a new gadget for every instance of a surgery, sterilizing it between surgeries is better than not doing the surgery

@lffontenelle True - I was listening to a fairly gut-wrenching radio programme about surgeons in Gaza having to make decisions like this recently :(
@lffontenelle @srtcd424 @Lacci @scattapilla yeah I’d say emergencies are the exception to the exception :) though I think subpar conditions are more of a limitation than a half-assing. Half-assing would be not suturing up the entry point, e.g., imo
@srtcd424 @Lacci @scattapilla my (from experience) exception is anal douching

@srtcd424 @gemini6ice @Lacci @scattapilla I'd posit politics as another exception, at least a possible one. Reversing a bad law can be harder than getting a good one passed, especially since the ones who passed the bad law (even if they did so in good faith and not on purpose to appease their owners) can feel like they already did something about that problem, why keep worrying about it?

But even then, a merely insufficient law is usually better than no law.

@Linebyline
I'm not sure you can really make a generalization in politics. There are an awful lot of situations in politics that aren't about something as serious as actually passing a shitty law. Taking time to engage positively with a group or an issue even if you can't work out a comprehensive solution for example is important.
@srtcd424 @gemini6ice @scattapilla
@Linebyline
Also bad laws tend to be pretty carefully planned rather than a result of people not trying. Often in retrospect people try to cast their support for them as them just not knowing enough but generally they actually caved to pressure from specific interests who wanted the bad stuff in the law. And generally if you look closely there's either no evidence for what they knew or evidence they knew exactly why what they were doing was wrong.
@srtcd424 @gemini6ice @scattapilla

@Lacci

Didn't Mark Twain say that? 🤔
Good advice ntl.

@Lacci

I read somewhere that code breakers doing wartime translation didn't worry about fine details.

Declensions of nouns? Who cares!

Move on. Get the gist of the intercept ASAP.

Half-assed is better than nothing.

I find that idea somehow encouraging in my own language study.

Leena Norms | Poet, Producer, Presenter

leena norms
@Lacci I think it also applies to art and creative activities :)
@Lacci yes! and all the others too 👏🫂
@Lacci 1. never use just half a rope.
@Lacci this is the best thing i ever learned in this life. learning to feel good about making things a bit better is life changing.

@Lacci

This reminds me of The Something Plan from Gretchen Schmelzer:
https://gretchenschmelzer.com/blog-1/2014/12/8/the-something-plan

The Something Plan — Gretchen Schmelzer

Normal 0 false false false EN-US JA X-NONE

Gretchen Schmelzer

@Lacci Cards.

Totally agree. I've gone through that. You will never feel better if you set your goals too high. For a time, just getting out of bed and sitting outside in the sunshine seemed like an important accomplishment for me.

@GoatRoper
I'm pretty much there a lot of days tbh. But doing those are very far from nothing.
@Lacci Yeah, my grandpa used to say "if a thing's worth doing, it's worth doing badly".
@Lacci this is so true. Never let the quest for perfection get in the way of good enough for now.
@capnthommo @Lacci And don't put yourself down by comparing a difficult day to a good day. On the good day you didn't have the same hurdles to overcome.
@Lacci I can highly recommend the "get out of bed, have a shower, wear clean pyjamas back to bed" gambit for really bad days, be they mental or physical.
@Lacci

But it always has to come from yourself;
without pressure and a bad conscience
@Lacci Yes, we can only do what we're able to. Every inch gained is an inch further than we were. And those little inches will eventually add up to a mile 💪🏼
@TheBison
little snail
inch by inch, climb
Mount Fuji!
–Kobayashi Issa

@Lacci

Not all jobs are worth doing properly.

The belief that all are worth doing properly is essentially a capitalist slave ethic concept that was never valid.

@Lacci My late partner used to say the same "if a thing is worth doing its worth doing badly", though he meant art. If you love doing it, it doesn't matter what it looks like - or something like that.
@Lacci Thank you so much for this! I've really been struggling with spoon deprivation lately.
@JustRosy
🫂 It's so hard. I hope things look up.
@Lacci
I was about 10 when I came to the conclusion that "if something is worth doing it's worth properly" then "if it's not worth doing properly then its not worth doing at all".
This lead me to internalize the idea that if I can't do something properly (i.e. Well) then I shouldn't bother. This was the cause of most of my failures in my teens and 20s, and is still something I struggle with decades later.
@duckwhistle
I was the same way. It turns out I had OCD but it took some catastrophes in my 20s before I got some help and started to make some progress on that. I used to not turn in problem sets in college that were almost finished because I felt like they had to be finished and done the right way, but it was really hard to realize how unusual that was at the time.
@Lacci In short: Better done than perfect. (Someone from facebook i think)

@Lacci
This reminded me of Stephen Colbert’s conversation with Suleika Jaoud, who objects to the oft heard advice “Live every day like it’s your last.” Rather, she advises living every day like it’s your *first*, which I think is marvelous. The entire conversation is well worth 9 minutes.
@jramskov

https://www.youtube.com/watch?v=d2I3VQJYZHQ&list=PLiZxWe0ejyv8k1z3Hi6XyyMjOyAYnbRqB&index=6

Why "Live Every Day Like It's Your Last" Is Terrible Advice - Suleika Jaouad

YouTube
@Lacci My therapist put it this way: "Something is always better than nothing."

@Lacci I mean, we try to use this principle in work (software dev) that we need to get SOMETHING in place, that does at least something. And we can then improve and modify and optimise.

In so many aspects of life, this it true. Do something. Something is more than nothing. And don't let the perfect stop the good enough.

Interestingly, I was told this also in my PhD study - there is a level you need to get to, and no more. You don't need to be perfect. You need to achieve a specific level.