Searching yarn

Twts matching #basic
Sort by: Newest, Oldest, Most Relevant

I have to say. I’m really very disappointed in Microsoft. Not only did they buy out Minecraft the game, but they basically ruined it for every privacy conscious family, parents and their kids, who can no longer play the game without giving away personal identifiable information (PII) on my children that Microsoft have zero rights to. šŸ¤¦ā€ā™‚ļø – Honestly… Fuck you Microsoft.

⤋ Read More
In-reply-to » It is such a nice feeling that Mu is such a capable little language šŸ˜… And I decided to write code code in Mu by hand 🤚 haha 🤣 and start solving Project Euler problems, like Problem 8 which works out to be a nice elegant solution in Mu:

And just like that Problem 10 is done and correct whoohoo 🄳 It was easy because in Problem 7 I’d already written an iterator to produce infinite primes. So the solution for finding the sum of primes under 2,000,000 is basically (shortened):

  primes := iter.take_while(iter.filter(prime_candidates(), is_prime), fn(p) { p < n })
  print(iter.sum(primes))

And of course the answer is: 142913828922 which took ~21.ss for the Go Vm to compuete.

⤋ Read More
In-reply-to » @david Do you mind re-testing too with the updates i just pushed out? šŸ™

I’m not seeing any of what you’re describing, But then again I only use the app on mobile, on iPhone. There’s only been basically a few commits to the App and one to Swag. That’s it.

⤋ Read More

@david@daiwei.me Also if you wouldn’t mind writing up an Issue for the image/upload problem too, that would be great šŸ‘ I still haven’t solved it properly, but I’ll try to do so today. There’s also an issue uploading images via the yarnd API path from the Twtxt App too, which I can replicate with basically any photo from my iPhone’s Photo gallery hmm šŸ¤”

⤋ Read More

I really do find it difficult to follow anyone that basically posts to a wall, or doesn’t follow back. It’s utterly pointless not being able to have a conversation, like basically, at all. Maybe it’s not even anyone’s fault? Maybe just a sucky client that doesn’t understand how User-Agent works in Twtxt Discovery? šŸ’”

⤋ Read More

I’m still on a deckbuilding kick, so I was thrilled that we managed to get 3 games of Magic in last night.

In game 1, my Marvel Villains deck couldn’t stand up to Doctor Who’s Missy and her army of Cybermen (and Daleks). Since someone else was playing a dark lord Sauron deck, I guess that means she’s even more ā€œvillainousā€ that anything Marvel or Tolkien could offer.

For game 2, I ran my Guardians of the Multiverse deck (formerly known as The B-Vengers or Marvel Heroes 2: Electric Bugaloo). It was working well, and I had quite an army going, but I was still one turn from a win when an opponent’s tribal elf deck went off, killing everyone with 19 19/19 forest-walking elves. ĀÆ_(惄)_/ĀÆ

Then in game 3, I ran my Avengers deck, and finally got the win thanks to a Heroes’ Podium, a pair of Hawkeyes, and a flying, shield-wielding Captain America. Assemble, indeed.

Last night will likely be my final Marvel-only game night for a while. I still need to test the decks out some more, but they’re basically complete (I don’t currently plan on adding any more cards to them). Plus, while I’m on this kick, I’d like to finally finish my Sauron deck, and I’ve got some cards on order for both a Dune-themed deck and a couple of decks inspired by the old-school Beatdown Box.

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

Okay I’m fixing this in lextwt, yarnd and twtxt.app (takes a different path). Soon you’ll be able to write shitā„¢ like (<this>) and it’ll get escaped and rendered correctly on the page. Basically you are really writing HTML here, but not intending to do so, Twtxt never supported HTML, and I don’t think it ever should. We extended the format to support basic Markdown, and I think that’s where it should end.

Probably time we wrote a Spec for this really.

⤋ Read More

Dunno if anyone will find this interesting… But some ~6 months or so ago I experimented briefly with creating a whole bootloader + kernel + userland – Basically an entire OS in the Mu programming language (which as you know I also designed and created) – 6 months later I’ve worked on it some more after spending the last week working on improvements to Mu itself, which is now able to compile itself with its own Mu implemented compiler and now have an os/arch backend called muos/amd64 that boots into a running shell, with a tiny little vfs, UNIX-like semantics, syscalls, read/write, etc. It works pretty nicely, and aside from a small Assembly ā€œnucleusā€, most of the Kernel and Userspace is written in Mu.

https://git.mills.io/prologic/muos

⤋ Read More
In-reply-to » @prologic Hmmm, I have no idea how to solve that problem. šŸ˜… Some jenny stuff aside, I received zero bug reports or code contributions since leaving GitHub in 2018.

And @lyse@lyse.isobeef.org is right. Not being on Github is a good thing IMO. Even when I was there with all my many projects, I basically got the same amount of ā€œattentionā€ as I do now. The only real way to gain more ā€œattentionā€ is to artificially play the ā€œgameā€. You know. The stupid ā€œStargazerā€ one, and whatever you can to get into the ā€œTop 10 Xā€ charts. – But ultimately that doesn’t buy you ā€œqualityā€ contributors or users or whatever. So it’s all pointless.

⤋ Read More

šŸ“£ ACTION REQUIRED: Hey folks šŸ‘‹ For those of you whom are using the Twtxt App either via the Hosted option or on your own twtd instnace or via Github/Gitea or any other publishing backend (doesn’t amtter). Please read.

Please open the app and you should be prompted to save your recovery code for your device. This basically is all of your settings, follows, etc in the app itself. This is synced to the Origin everytime you make a change, and also stored on-device. This is what makes it possible to sync your setting across services, move to another device, etc.

Please save a copy of the recovery code somewhere. This is only your only way to recover your settings.

Thank you šŸ™

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

Posting the review and plan here for posterity as it is related to this thread: https://canvas.mills.io/a/6QVGjzRW

The PR(s) as-is will likely not go ahead I’m afraid. More work to be done, but this is basically all about the ā€œRecoveryā€ story and how to anchor and notion of an ā€œaccountā€ without well umm an account 🤣

⤋ Read More

Unread messages are yellow, while read messages are white in tt. Focusing them just alternates the fore- and background colors. With the old color scheme, I disliked that inline code and code blocks were basically just the opposite of normal text. Hence, unread code was white and read code yellow. I found this often confusing, especially with larger code blocks. Sure, there are the timestamp and author columns that still show the usual white (read) and yellow (unread) background for selected messages, but still.

This is how it was before with unread messages:

Before with read messages:

So, I just reworked the code styles. Not sure if I like that or if it is actually an improvement. Unread code is teal on gray when not in focus and becomes blue on orange when focused. I thought the dark gray code background on a black regular background is still nice and subtle. The same similarity in colors for focused messages meant to go with an orange code background on a yellow regular background. The teal was too light, so went with a blue foreground color:

When read and unfocused, the new color scheme calls for the same code style teal on dark gray. However, with white as the main background for selected messages, I went with a light gray code background and a blue code foreground. Again, the contrast with white and teal wasn’t good enough. Vice versa, blue on dark gray is also not all that readable:

It looks like a parrot. Let’s see if I begin to like it.

⤋ Read More

I just read @kat@yarn.girlonthemoon.xyz’s blog post over here:

https://bubblegum.girlonthemoon.xyz/articles/learning-to-code-like-it-s-the-90s

Jesus, it must be so overwhelming for young people to get started with programming.

When I started programming, there was the built-in ROM BASIC of that PC and probably a bit of BASIC on a floppy, and that was it. Nowadays? Millions of libraries and frameworks and languages and what not – and, much worse, there’s the expectation that you need to make something fancy. When I started, printing something and understanding IF was good enough.

⤋ Read More
In-reply-to » Behold, I bring you (reincarnated) mbox.blue -- A tiny shared linux server based on / around containers (my own implemtnation).

@movq@www.uninformativ.de

What’s your motivation for running this, btw? šŸ¤”

Basically, two things a) feeling generous for folks that either can’t afford or find it hard to have a little place to call home (webpage, feed, whatever) and b) a real opportunity to test some of the components that make it possible sshbox, which I know works well as it fronts my Gitea instance’s Git+SSH service and box, a container runtime I wrote a while ago, recently improved, hardened and polished.

⤋ Read More

As I said, I’m on vacation, and for about a week now, I did basically nothing but sleep. Day or night.

I can’t tell if this actually is a vacation or just therapy for burnout. šŸ¤”

⤋ Read More
In-reply-to » Now that is an interesting move:

@prologic@twtxt.net As have I. šŸ¤” I mean, since I left GitHub, I got basically 0 pull requests anyway.

Even during my time using GitHub, I noticed that ā€œdrive-by PRsā€ are rarely a good idea. People don’t really know/understand the code or the design principles/goals, so I often turned down PRs. Or I accepted them and was grumpy afterwards. šŸ˜…

What does work is having a team of maintainers/devs. The only question is: How do you build such a team if you don’t accept PRs? That’s going to be the interesting part.

⤋ Read More
In-reply-to » @lyse Oh, nice. That was quite the ride. :-) And all that because of locales. 😳

@movq@www.uninformativ.de Hahaha, a ride indeed. Exactly, this affected each and every Atom feed and only Atom feeds. All RSS feeds worked like nothing ever happened. This std::string to time_t to std::string to time_t dance only happens for Atom feeds. RSS feeds, on the other hand, go right from std::string to time_t and be done. That’s precisely what the second option is aiming to propose for Atom feeds, too.

I will clarify that tomorrow in the article.

It’s very interesting what kind of quirks accumulate in software over the years. Especially quirks, the basically noone knows of anymore. Until something explodes and gets rediscovered. Luckily, that doesn’t happen all that often.

⤋ Read More
In-reply-to » @movq I'm very curious...

And every time I ask it to do the same thing, it produces basically the same result. It will sometimes not produce a go.mod, but that’s probably because doing so isn’t as statically high as writing the code to sum numbers from stdin.

⤋ Read More
In-reply-to » @movq I'm very curious...

So going back to the understanding of how it generated this, is quite simply the most statistically relevant search space of it’s weights it has been trianed on and it has basically just produced a series of tokens, one after another that are relevant to the input, the next token and so on. It’s a trivial example I know, but it basically pattern matches it’s way through it’s vast search space just producing outputs based on context.

⤋ Read More
In-reply-to » @bender Well no. Some of us don't. Let me point you at some research on the subject šŸ˜… Some people don't have an inner monologue

Most of the time, I take a very very long time to do anything. If I say, for example, ā€œI’ll build an IRC Web Clientā€, that may not happen for weeks, if not months, until my sub conscience has has time to process everything. It’s like basically a ā€œfeelingā€ of internal readiness. I never talk through it, never actively think about it, it just happens.

⤋ Read More
In-reply-to » @bender Well no. Some of us don't. Let me point you at some research on the subject šŸ˜… Some people don't have an inner monologue

You can basically think of this as pattern-matching. I’m very very good at very fast pattern matching and piecing pices of a puzzle together very quickly, sometimes with very little to go on, it’s often gotten me into a lot of trouble at work in my career because I can make a lot of assumptions very very quickly.

⤋ Read More
In-reply-to » @lyse Thanks! There are a few points in there that I’ll add to my list.

@bender@twtxt.net Now that’s an interesting philosophical viewpoint right there. But this assumes that the ā€œAIā€ we seemingly have available to us today is actually telligent, understands and has cognitive reasoning. It does not. All of these LLM models from big-tech companies like Anthropic, OpenAI, Google, Microsoft, Meta and Alibaba are all just very powerful, very large multidimensional neural networks with attention that are very good at statistical probabilities of ā€˜what comes nextā€. I think we get really upset over the wrong things sometimes. We need to continue to be upset that these 🤬 companies have basically destroyed any meaningful value of the concept of Copyright and Intellectual Property and Works of art. The so-called ā€œAIā€ we have today is just a tool. Can you say for certain that the typewriter and the computer ruined our ability to write? Perhaps yes, but we still learn how to do so, likewise, I still think that learning to write code, research, read and write are all valuable skills to learn. Later on once you have the basics, you can defer some of the ā€œtediousā€ work to these models, because frankly, they’re far better at inferencing and pattern matching than you or i will ever be, not because they’re better at pattern-matching per se, but because they have been trained on a very large corpus and they are much much faster at doing the same basic things we are far superior at.

⤋ Read More
In-reply-to » @lyse Thanks! There are a few points in there that I’ll add to my list.

Is it the fact that ā€œbig techā€ companies have basically stolen all of human knowledge to their benefit to build these AI(s) that’s the problem? Or is it that these AI(s) can write code better than you can (some of the time)? Or is it that because of all of the above, there’s no joy left in writing code anymore? šŸ¤”

⤋ Read More
In-reply-to » I’ve started collecting reasons against AI usage here, so I don’t have to repeat myself all the time:

Of course, @movq@www.uninformativ.de! Most of my points are also included in your list.

First of all, programming is what I really do enjoy the most. So, it doesn’t make any sense at all to not do this anymore. ā€œBut you could use your now free time to do something much cooler and more valuable!ā€, others might reply. Fuck no, I don’t want to waste my time with other shit that doesn’t fulfill me, why on earth would I want to do that?

All this hallucination reduces quality badly. In my experience, it’s also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. ā€œBut I asked the AI and it told me that $this was impossibleā€, ā€œI’ve no idea either, but the AI just generated itā€ are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead.

The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. It’s like if a collegue just says ā€œdo it like thatā€ or ā€œthis solves your problemā€, but neither explains the why or how. Somehow, people are still convinced that it’s a completely different story when you replace the human counterpart with a computer program in this equation.

Skills are unlearned. It’s like with automation in general, just much worse. You end up in a state where you’ve no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. You’re screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation you’re typically still be able to decipher how exactly the thing was supposed to do something.

The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. I’m sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis.

The scraper part is already covered in detail in your list. :-)

I’m convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands.

Vendor lock-in is something that lots of folks are only realizing very slowly. It’s completely crazy to me. This drug dealer routine should be well-known by now. It’s fucking everywhere. Yet, people are always surprised when they found themselves caught in it.

Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve.

I don’t understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the ā€œinstruction setā€ is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerfulā„¢ Featuresā„¢?

Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization.

Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored.

Let’s keep some popcorn around for when this all explodes. :-)

⤋ Read More

All sorts of .de domains don’t resolve right now. But not all, movq.de for example still works. All on our server and basically all major other sites are cactus. Maybe some DENIC problem? I’m too tired to investigate, but I’m looking forward to tomorrow to read some report on that. :-) Good night.

⤋ Read More

The auDA, and some 3rd-party identify service and my Registrar are a joke!

WOW! I just had to share this little story I ran into today.

I tried to register a .AU Domain the other day, only for it to instantly fail.

I emailed support, which took several days to respond, only for them to respond by saying (paraphased):

We’re sorry, but the identify checks failed. The 3rd-aprty service doesn’t tell us why, But, please make sure that the ID you used matches the Full Name, including any Middle name(s).

I used my Passport number. Which of course has my First, Middle and Last Name.

I can only assume at this point that the checks failed on the missing ā€œMiddle nameā€. Why? Because the Registrar I use has a database and user interface for ā€œcontactsā€ that only have support for First name and Last name. NO Middle Name.

šŸ¤¦ā€ā™‚ļø This is basically stupid at this point. Systems cannot be trusted at the most fundamental level, no matter how good they are.

Until we figure out how to build a system that allows an individual to prove to another entity that they are who they say they are without a shred of doubt (i.e: cryptographically), we’re stuffed.

There is literally nothing I can do in this case. The auDA are at fault. The 3rd-party identify service (unknown) are at fault. The registrar are at fault. Hell, even the Passport office are at fault for even bothering to or requiring a Middle name.

How has ā€œidentityā€ come to this?

⤋ Read More
In-reply-to » In case you’re wondering where they are: https://artemistracker.com/

This whole thing was pretty weird, btw. I had no idea it was happening until basically yesterday. No news coverage, nobody mentioned it. šŸ¤” And suddenly, boom, we’re going to the moon. What? šŸ˜…

⤋ Read More
In-reply-to » My first pull request to Perl has been merged! https://github.com/Perl/perl5/commit/2aea97bf3f5c2ea62cf5e701858694b7378ed58c

@lyse@lyse.isobeef.org Oops, I guess the new text is a bit obscure. If you follow the link, the text is a bit more explicit, but you still need to know what a lexical scope is. Anyway, this is part of Perl moving very carefully toward being UTF-8 by default while also not breaking code written in the 90s. If you name a recent version like ā€œuse v5.42;ā€ then Perl stops letting you use non-ASCII characters unless you also say ā€œuse utf8;ā€. The ā€œlexicallyā€ part basically means that strictness continues until the next ā€œ}ā€, or the end of the program. That lets you fix up old code one block at a time, if you aren’t ready to apply the new strictness to a whole file at once.

⤋ Read More

2nd Van trip coming up this weekend, taking Friday off work. Gonna sleep in the Van tonight and see if I can fiddle with the town water supply (basically our outside tap near the Van haha šŸ˜†) and see if I can have a shower in the Van, brush my teeth and go to bed šŸ›Œ – Basically I just want to figure out the rest of the plumbing 🪠

⤋ Read More

This year for some reason or another, I decided to purchase an Ocarina, I’ve been practising a fair bit every now and again, basically during work breaks and sometimes in the afternoon / evenings (not enough to annoy the family 🤣) Anyhoo, that was 3 months ago, since then I’ve built up a bit of a Repertoire:

  • Silent Night
  • My Bonnie Lies Over the Ocean
  • Amazing Grace
  • O Holy Night
  • Happy Birthday
  • Greensleeves
  • Scarborough Fair
  • She’ll Be Coming ’Round the Mountain

I’ve now decided to purchase a slightly better quality Ocarina, the one I originally bought was a cheap $28 one, I’m now upgrading to a more professional instrument worth about $80 – Wish my luck šŸ€

⤋ Read More

It’s raining and raining and raining and raining. I had hoped my mate canceled the hike today. But he didn’t. He showed up. So, off we went to the Staufeneck Castle Ruin after having a lunch first. The rain drizzling on the umbrella was very nice and I was very glad that he dragged me outside.

It was super wet, though. Entire creeks were coming down on some path sections. A slippery, muddy mess on others. Our boots were already soaked a few kilometers in the trip. The important part was that the feet were warm, though, despite being wet. We barely met anybody in this lousy weather. So we had basically everything for us alone. That’s always great.

Visibility was poor the higher we got. At 13 a low hanging cloud was moving in, 14 is the result just three minutes later. We couldn’t see the castle 300 meters away anymore. No chance. It was really funny, because the houses in town at two kilometers distance were still visible. Poorly, but you could clearly make out the town. Not the castle, there was just a white wall of cloud :-)

On the way back, we warmed up with tea I brought along. After I dropped off my mate at the train station, I bumped into a fellow scout, so my wet feet cooled off completely in these 15 minutes we talked. The rainjacket mostly held up with the protection of the umbrella, just the sleeves were down. My rain trousers, on the other hand, leaked a little bit a the lower ends. I was glad when I could strip all the wet stuff. I would do it again, though. :-) Now, I’m swapping the newspaper in my boots every half an hour to absorb all the moisture.

https://lyse.isobeef.org/wanderung-auf-die-burg-staufeneck-2026-02-21/

Oh, our leaning silo laughs at the Leaning Tower of Pisa. :-D I’m wondering when it collapses. I’m waiting for this to happen for years now.

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@movq@www.uninformativ.de if they haven’t, I would recommend a ā€œsubtleā€ nudge. You know, like leaving an advert flier at their door for a ā€œBasic English (including swearing words!) for Dummiesā€ book, or something like that. :-D :-P

⤋ Read More
In-reply-to » This weekend, I'm building a service that turns PDFs into chaptered, audiobook‑quality narration in minutes—upload, listen in a built‑in player, and download MP3/M4B files with clean metadata.

Has a bit of a long history story behind this, where last year at work we were reading this book called Engineering a Safer World and initially came across a service called Speech Reply that allowed me to upload a PDF copy of the book and start to read it, but unfortunately, the free trial right now before I can finish reading it turns out that Speech Reply service cost a whopping US$30 a month and expected me to pay a full year upfront, which was well over US$300 just for one fucking book! So I sent their sales and support staff a message kindly asking if it were possible to just pay for the audio transcription of just a single book or to change to a monthly subscription fee, to which they refused, so basically in the end I got very angry and told them to go fuck themselves and built my own service. A year later here we are :-)

⤋ Read More
In-reply-to » Some work on the menu system to brighten my mood a little bit. No mouse support yet.

@bender@twtxt.net I’m already using it for tracktivity (meant for tracking activities and events, like weather, food consumption, stuff like that), which is basically a somewhat-fancy CSV editor:

I have a couple of other projects where I could use it, because they are plain curses at the moment. Like, one of them has an ā€œedit boxā€, but you can’t enter Unicode, because it was too complicated. That would benefit from the framework.

Either way, it’s the most satisfying project in a long time and I’m learning a ton of stuff.

⤋ Read More
In-reply-to » Ending three luxurious do-what-I-please weeks; tomorrow is back to work. What do you all do during your break (and this assumes you had one, even if short)? I mostly did nothing, which in itself was truly something! So much, I long to do it all over again. A man can dream, right? Haha!

I basically worked through the Christmas break last year. I already had my holidays in Vietnam a few weeks earlier. šŸ˜†

⤋ Read More

Mu (µ) is now getting much closer to where I want it to be, it now has:

  • A process stdlib module (very basic, but it works)
  • An ffi stdob module that supports dlopen / dlsym and calling C functions with a nice mu-esque wrapper ffi.fn(...)
  • A sqlite stdlib module (also very basic) that shows off the FFI capabilities

šŸ˜…

⤋ Read More

Whoo! I fixed one of the hardest bugs in mu (µ) I think I’ve had to figure out. Took me several days in fact to figure it out. The basic problem was, println(1, 2) was bring printed as 1 2 in the bytecode VM and 1 nil when natively compiled to machine code on macOS. In the end it turned out the machine code being generated / emitted meant that the list pointers for the rest... of the variadic arguments was being slot into a register that was being clobbered by the mu_retain and mu_release calls and effectively getting freed up on first use by the RC (reference counting) garbage collector šŸ¤¦ā€ā™‚ļø

⤋ Read More
In-reply-to » Hey EU friends šŸ‘‹ wtf happened to the EU Internet today for about 40 minutes or so?

@movq@www.uninformativ.de From 2:50 PM to 3:23 PM AEST (+10 UTC) there was an outage. Everything went ā€œupā€ on Down Detector, my EU region went offline, numerous sites were unavailable, and so on. Basically everything to/from the EU appeared to basically go kaput.

⤋ Read More

it is really annoying and degrading to find that you need to upgrade to payed subscription to enable 2fa on your account, cmon ppl those are basic things…

⤋ Read More