This is funny. OpenAI, who scraped the entire internet to build its product, is now enforcing copyright via notices. They still don’t give credit for stealing content from everyone, yet now acting like holier-than-thou https://www.reddit.com/r/ChatGPT/comments/1cnvyzp/
so, you've seen ™ and ™️ before. but like. why are there two. well, i have an explanation! the answer is: FE0F
first, unicode. unicode is a standard definition of a bunch of codepoints, where a codepoint is just a number with meaning. for example, unicode codepoint U+263A refers to ☺︎, or "White Smiling Face", and U+1F431 refers to 🐱, or "Cat Face"
so, lets start by looking at the codepoints for ™. decoding it, it becomes the codepoint U+2122, referred to as "Trade Mark Sign". this was added in unicode 1.1 in 1993, a decent time ago!
next, the codepoints for ™️. decoding it, we get two codepoints! U+2122 (™︎) and U+FE0F. wait. who is FE0F. why is he in my emoji
well, unicode isn't as simple as a series of codepoints that refer to single characters. take a look at é̗ for example. this is three codepoints, U+0065 (Latin Small Letter E), U+0301 (Combining Acute Accent), and U+0317 (Combining Acute Accent Below). the first codepoint is simple enough, it's just e. the next two, however, are combining codepoints. this means that they combine with the codepoint before them to modify it. U+0301 adds an acute accent above the previous codepoint, and U+0317 adds an acute accent below the previous codepoint. this example specifically isn't very useful (i don't know any language with a é̗ character beyond conlangs), but it becomes very useful for languages that use a lot of diacritics. imagine if we had to make a new set of characters for each set of possible diacritics! big waste of space, we shouldn't have done that!
so, what is U+FE0F? well, it's a special codepoint called "Variation Selector-16". variation selectors are a reserved block of 16 unicode codepoints. only some have been defined, but among those currently in use are U+FE0E (VS15) and U+FE0F (VS16). from wikipedia: "VS15 and VS16 are reserved to request that a character should be displayed as text or as an emoji respectively." so, what's happening with ™️ is that it's combining a U+2122 (™) and a U+FE0F (Variant Selector-16) to create an emoji version of ™. they're the same character, just that one has been instructed to become an emoji!
also, for the interested, here's the word "unicode" with a shit ton of combining characters: ù́̂̃̄̅̆̇̈̉n̖̗̘̙̐̑̒̓̔̕i̡̢̧̨̠̣̤̥̦̩c̴̵̶̷̸̰̱̲̳̹ò͇͈͉́͂̓̈́͆ͅd͓͔͕͖͙͐͑͒͗͘eͣͤͥͦͧͨͩ͢͠͡. what appears to be seven letters is actually 77 codepoints, taking up 147 bytes when encoded in utf-8. or 156 in utf-16. or 312 in utf-32. why does anyone use utf-16 if it's longer? historical reasons :3
I dislike UTF-16, because it imposes a hard upper limit on how many code points are representable.
UTF-16 can represent 1,112,064 code points.
UTF-8 and UTF-32 can represent 4,294,967,296 code points.
But because a bunch of APIs use UTF-16 exclusively (including Java, JavaScript, and Win32), the remaining 4,293,855,232 potential code points can never be used without causing massive, nearly unfixable breakage in a lot of important software.
If we develop warp drive and meet a bunch of alien races, will we finally abandon UTF-16, or will we turn tail and run back to Earth so that our computers don't all explode? 🤔
I don’t care if you pirate, but I’m not going to do it.
Steam, GOG.com, itch.io, and Epic Game Store is too convenient for me. It keep my catalogue stored in the cloud. I can store my screenshots. And it’s faster to buy and download than it is to hunt for a torrent.
I’m also 42-years-old, with a family, and I don’t want to deal with potential legal hassles.
Besides, I want more games so I pay developers to encourage them to make more of them.
European intelligence agencies have warned their governments that #Russia is plotting violent acts of sabotage across the continent as it commits to a course of permanent conflict with the west.
Russia has already begun to more actively prepare covert bombings, arson attacks and damage to infrastructure on European soil, directly and via proxies, with little apparent concern about causing civilian fatalities, intelligence officials believe.
"If re-elected, Trump vows to support the right wing’s war on so-called 'anti-white' racism. The movement targeting DEI (diversity, equity and inclusion) initiatives is already gaining momentum and could skyrocket under a second Trump admin."
“ 'I think there is a definite anti-white feeling in this country, and that can’t be allowed either,' Trump told TIME when asked about his supporters who believe anti-white racism is a bigger problem than anti-Black racism."
Error handling in most languages (e.g. Java and JavaScript) is horrible, with errors of any arbitrary type potentially occurring at any arbitrary moment.
If you want errors to be predictable enough that applications can make sensible error messages out of them, you want those applications to be written in something like #Rust.
You can reliably say what you were trying to do when the error occurred, true, but that's not the same thing as giving a good quality explanation of the error that occurred, and how can you prepare such an explanation when you catch an exception of some unknown arbitrary type?
Kinda crazy that artificial intelligence needs the entire output of a nuclear reactor but actual intelligence can run on Twix bars and cocaine, for example.
Off topic, but that's an interesting typeface they're using there. It has a non-slanted italic font!
I won't say it's good, per se. The difference between the roman and italic fonts is subtle enough to be difficult to distinguish, and some characters, like U+0074 LATIN SMALL LETTER T, have the exact same glyph in both fonts.
sigh The #postgresql logical replication process that has been running for around 3 weeks failed upon completion last night.
ERROR: table copy could not finish transaction on publisher: FATAL: terminating connection due to idle-in-transaction timeout
SSL connection has been closed unexpectedly
Time for google I suppose and an email to our on-retainer postgres expert.
Moving billions of records from one database to another is a PITA yo.
I refuse to get pregnant, because even though no one will admit it, I'm pretty sure that fetus controls you from the inside like I'm a mech suit for it.
Problem: if you use passcode unlock, anyone looking over your shoulder while you unlock your phone will immediately learn the code, and potentially use it against you.
"#Oregon is shipping air conditioners, air purifiers and power banks to some of its most vulnerable residents, a first-in-the-nation experiment to use #Medicaid money to prevent the potentially deadly health effects of extreme heat, wildfire smoke and other #climate-related disasters.
If Oregon can help enrollees avoid a costly trip to the doctor or the ER after #ExtremeWeather, other state Medicaid programs may ask the federal government if they can adopt the benefit."
Fiddle while the economy burns and everybody becomes homeless, then give the homeless air conditioners that they can't use. Yep, that's a bureaucracy, all right.
A Tesla owner has been charged with vehicular homicide for killing a motorcyclist while browsing the web on their phone while the car was on Autopilot. According to the driver he was “putting the trust in the machine to drive for him,”