QT: https://tilde.zone/@monad_cat/109524101679172034
There's a masto server that renders QTs as intended! If it was common knowledge how to patch #ruby masto implementation with #QuoteTweets, I'd apply the patch personally.
But we should also remember that QTs became a feature on #Twitter *after* the users have shown how serious they are about tweeting tweets starting with "QT".
I'm surprised "OH" didn't become a feature :D
I just went to @georgetakei’s Twitter account to follow him onto Mastodon.
Well… guess what happened next?
Interesting results!
I'm a qualified yes.
Startups that try to fix everything themselves, such as carbon capture and solar geo-engineering, will probably cause more harm than good.
But startups that work on reducing emissions in areas like fleet management, industrial processes, energy efficiency, battery technology, public transportation, remote work and remote learning can be a big part of the Transition.
I'm especially interested in rail transport modernisation.
Report back from Twitter filter fuzzing.
What Twitter is blocking
Twitter is filtering links to known Mastodon instances, but still allows direct links to joinmastodon.org. The filtering seems to happen whenever Twitter's WSYWIG editor recognizes a valid domain name and that domain happens to be a known Mastodon instance.
Twitter also allows linking to shortened URLs of mastodon profiles, but only once. Posting the shortened URL a second time doesn't work, implying there's some backend queue service that's checking the Location header of links and flagging the ones redirecting to Mastodon instances.
How to evade the filters
Email address spam evasion techniques work. Replacing '.' with ' . ' or [.] or [dot] all work.
URI encoding the hostname. Replace at least one of the characters in the hostname with the URI encoded version (ex: https://infosec.exchange -> https://infosec%2Eexchange). Browsers are smart enough to URI decode anything you copy/paste into the address bar.
data: URIs. Twitter does not seem to check base64 encoded data: URIs. It is possible to create a data:text/html;base64,... base64 encoded HTML URI which can be copied into the address bar and will render as HTML. While Twitter will not render data: URIs (for obvious reasons), you can still copy/paste them (at your own risk, of course).
Base64. This seems silly, but we could communicate freely on Twitter by simply Base64 encoding our tweets.
Twitter's anti-Mastodon filtering is clown shoes amateur hour.🤡
#twitter #birbsite #censorship #filtering #evasion #elmo #muskrat
What's that? Another episode of Between Two Cairns? And it's not a normal episode, but some kind of After-Show Show? @bradkerr and I talk MORE Lorn Song of the Bachelor by @zedecksiew, among other things.
Now imagine if Mastodon didn’t exist and this was happening.…
Aren’t we lucky that some guy in Germany decided to spend his own time, money, and effort to build it?
Hopefully we’ll get lucky again…
Or, you know, maybe we can finally consider supporting tech that’s in the common good from the common purse. And fund organisations and long-term development, not just ad-hoc academic “projects” that get abandoned the moment the money is gone.
https://ar.al/2019/11/29/the-future-of-internet-regulation-at-the-european-parliament/
Today on Between Two Cairns, @bradkerr and I review @zedecksiew' Lorn Song of the Bachelor, and answer TWO mailbag questions!
https://piped.video/watch?v=e2XfHbi9V0o
A nice survey on #bidirectional conversion. One of the topics that are near and dear to my heart.
https://github.com/doma-engineering/mirror-mirror
I got tired that I can't grep my own repos on #github easily and wrote a script that clones everything in an org. If it works, ir works.
I predict a new type of bugs.
Author used a random file to check with copilot how to write a python or bash oneliner and forgot to delete the output.
Just today I asked copilot to write a `find` that deletes all the directories in the current directory, but not the files like this. Could be fun to ship it!
Based guidelines from #GitHub team.
https://github.com/cli/cli/blob/trunk/docs/install_linux.md#snap-do-not-use
Even though I fixed semantic mess of #elixirlang by publishing the #uptight library https://github.com/doma-engineering/uptight, I still need to interact with non-tightly-typed code sometimes.
Sometimes, just unwrapping isn't enough or isn't ergonomic, so then I have to go back to operating with raw binaries.
While typing those, as anyone should, I feel bad when I write `binary` and I also feel bad when I write `String.t()`. Again, as anyone should.
After thinking about this issue for so long, I finally understood that in #elixir, both of those types should be called `uninterpreted_binary()` or `blob()`. I know it will never happen, but `String.t()` has to be deprecated.
The reason not to use `binary()` type in Elixir is clear. When binaries are *interpreted* as Strings, there's a whole lot of semantics going on, and this interpretation is way more pushed than in #erlang. But it still happens at interpretation time, it has nothing to do with the type of an term presented. This is the reason not to use `String.t()`. So yeah, the most correct way to put it is `blob()`: an uninterpreted raw binary, that is, however, easily and automatically gets interpreted as strings.
As a matter of fact, `String.t()` may just be the Elixir's hundred thousand dollar mistake.
It feels so weird to program in languages that compile modules not top-down as #Lean4 does.
On one hand, it's really cool that I can now put the most important functions up top; on the other hand, it defies logic!
That https://doma.dev guy
#lean #elixir #typescript #react #nix
In my non-existent free time I design and run #TTRPG
If you use tools made by genocide-apologists, you are a genocide-apologist.
#lemmy users aren't welcome here.