the biggest example of the "it's impossible to tell if a given computer problem is easy or hard" is that correctly solving "I want to store, show, and share some text" involves a lot of "Well, first of all, we have to talk about Unicode..."
notice how I didn't say "knows how to do". I, and a lot of other people who work with computers, tend to anthropomorphize the computer. Computers can't know things. They can't be smart or dumb. They can store bytes, and they can either be programmed to do something or not. Some things are easy to program, some things are hard to program, and some things are impossible.
see: all the discussions about "is Java/C# pass by value or pass by reference", to which the answer is "by value, including the references", and then you have to say "a reference is an abstraction over a pointer" and then you have to have the pointer discussion that you were trying to avoid by working in Java or C#
@BestGirlGrace you want to _show_ text? Grace, that's absurd, _fonts_ are involved.
@VyrCossont Bitmap fonts, ideally burned into a ROM chip somewhere: easy peasy
anything more sophisticated than that: oh buddy, hope you wanted to learn an inappropriate amount of vector math
@BestGirlGrace hhh i feel this
@BestGirlGrace like, just this toot sans context
@canary yeah, both computers and otherwise
@BestGirlGrace one time when I was still an intern with SPAWAR, this whole project ground to a halt because the database connection kept crashing whenever the program went to store text from the tweets we wanted to save for later analysis and it took me two days to figure out that emojis and non-ascii chars were the problem (the SQL database’s implementation of UTF8 was non-standard) and then fix it.
@Sapphicgiraffic I was specifically thinking about the "picture of a bird" XKCD, but there's gotta be one about how emoji break things
@BestGirlGrace yeah that was one of them and the other was the “N competing standards becomes N+1 competing standards” wrt character encodings.
Now if u really wanna fuck some people’s minds, just wait for somebody to ask about video codecs...
@VyrCossont @BestGirlGrace that sounds familiar. It was definitely MySQL. I don’t remember what version I was on and I think I switched to something called “utf8-extended” which is a funny thing to call the full implementation but 🤷🏻♀️
Fortunately for me at the time it was just an early stage research project so I could dump it and start fresh instead of having to migrate everything.
@Sapphicgiraffic @BestGirlGrace I'm thinking of a post I saw a while back about how JS and python3 interpret "length of a string" differently... apparently JS is just (the length of the utf16 in bytes, divided by 2) which of course is not really intuitive for codepoints which take more than two bytes in utf16
@transbian_tronbreon @Sapphicgiraffic Yeah, the two reasonable meanings for "length of a string" are "how many bytes are in this for serialization reasons", in which case you really want to talk about encodings, or [long Unicode discussion because is a letter with a combining diacritic after two characters or one? what about those ZWJ sequences?]
@BestGirlGrace all true, but the other side of the problem is advisors who think the querant needs *expertise* in some domain before they can possibly be helped. For every "look, you need to know some basics about Unicode and encodings to approach this" there are a dozen "you need to shave the Unicode Yak before you are worthy"
@BestGirlGrace "Returns a byte array corresponding to a bitmap representation of the rendered text in some font"
@BestGirlGrace "How do I get text back out?"
"Tell me when you can do that reliably and then you'll be famous and know things"
@BestGirlGrace i'm still having trouble with "why?"
it's never explained in any book or video i've seen.
okay, so i added these two numbers and put them on the stack. why do i want to do that? what does it do? how does knowing this result in a new cracktro with demoscene music?
@BestGirlGrace Abstractions are too leaky to actually help simplify things in the end :D
@violet At some point, the abstraction will leak and you'll have to learn about what it's hiding from you, yeah, but it's still useful to have- and, ideally, limit the amount of stuff you have to learn to fix it.
@BestGirlGrace I still think working from the bottom up is probably a better didactic practice, but ultimately that takes a lot of time.
Don't let the name fool you. All the pornography here is legal, and much of it is hand-written. No fascists, no bigots.