Where’s your sense of adventure?!
Where’s your sense of adventure?!
Calling reverse()
on a function should return its inverse
You’re no fun
"E".reverse() == "∃"
I dint know many OO languages that don’t have a useless toString on string types.
Well, that’s just going to be one of those “it is what it is” things in an OO language if your base class has a toString()
-equivalent. Sure, it’s probably useless for a string, but if everything’s an object and inherits from some top-level Object
class with a toString()
method, then you’re going to get a toString()
method in strings too. You’re going to get a toString()
in everything; in JS even functions have a toString()
(the output of which depends on the implementation):
In a dynamically typed language, if you know that everything can be turned into a string with toString()
(or the like), then you can just call that method on any value you have and not have to worry about whether it’ll hurl at runtime because eg. String
s don’t have a toString
because it’d technically be useless.
Everything that’s an Object
is going to either inherit Object.prototype.toString()
(mdn) or provide its own implementation.
A String
is an Object
, so it’s going to have a toString()
method. It doesn’t inherit Object
’s implementation, but provides one that’s sort of a no-op / identity function but not quite.
So, the thing is that when you say const someString = "test string"
, you’re not actually creating a new String
object instance and assigning it to someString
, you’re creating a string
(lowercase s
!) primitive and assigning it to someString
:
Compare this with creating a new String("bla")
:
In Javascript, primitives don’t actually have any properties or methods, so when you call someString.toString()
(or call any other method or access any property on someString
), what happens is that someString
is coerced into a String
instance, and then toString()
is called on that. Essentially it’s like going new String(someString).toString()
.
Now, what String.prototype.toString()
(mdn) does is it returns the underlying string
primitive and not the String
instance itself.
Why? Fuckin beats me, I honestly can’t remember what the point of this is because I haven’t been elbow-deep in Javascript in years, but regardless this is the logic behind String
’s toString()
.
Not all that cute though
Or a FAT meme you’re too young to understand? I honestly can’t remember if NTFS needs defragging or not, I haven’t used Windows since Win7
It’s almost like the rules don’t apply to the moneyed class
Considering that C-suite executives are usually fantastically expensive, they’d be a logical position to automate (assuming AI works like suits think it does). For some veeeery strange reason no board of directors has suggested replacing themselves with AIs
There better be some fucking profanity in the source
It was an actual icon:
(found the image here https://mastodon.social/@benjedwards/11031604817437112)
I don’t remember what it did though. I think it wasn’t the browser, and I have a vague memory it wasn’t for dial up either, but my memory’s shit so I personally wouldn’t trust me on that
Edit: had to look this up, it was IE. I think I didn’t remember it because I never really used IE since I started off with NCSA Mosaic and then Netscape
A proper fucker
I’m the exact opposite: when I was still coding for work, that was when the curses flowed forth like a majestic waterfall, but I’ve always loved working on my own projects and don’t mind adversity and mistakes at all
I grew up in a bit of a sketchy neighborhood and up until my mid 20’s all my jobs were the sort where everybody cursed a lot, plus Finns tend to curse a lot in general.
I absolutely have not kept my cursing out of repositories, although looking at my last work project which had about 33000 lines all in all (maybe 2/3 written by me) when including comments, I was surprised to find it only 4 had “shits” and 6 “fucks”. One line in an example & test file had both:
zap.NewExample().Sugar().Errorw("welp, shit's fucked",
"IsBadRequest", IsBadRequest(err),
Field(err))
and then there’s some comments like
// - turn the unsafe.Pointer into a *[8]byte, allowed due to unsafe pointer fuckery
// FIXME: this is just to make cli tool usage easier. It's a horrible fucking hack and should be
// nuked from orbit
// FIXME: get rid of all this gorilla legacy bullshit. Could start by getting rid of the needless
// Interface type
I’ve had that happen to me in a couple of pretty obscure cases, fuck it’s irritating. “WHAT SECRET KNOWLEDGE DO YOU HOLD, YOU FUCK‽ TELL US”
Take your damn upvote
Considering what a fucking tragicomedy life on Earth has turned into, I think doing both – possibly at the same time – is a valid reaction
More of a tragicomedy, really