Show newer
Crigl boosted

Never going to give you 'Up'
Never going to give you 'Brave'
Never going to give you 'Wall-E'
Or 'Cars 2'

Crigl boosted
Crigl boosted
I too have wondered why unsubscribing from a marketing email list could take days to process, and now that I know, I wish I could have the wonder back.

hoot: https://twitter.com/Joe8Bit/status/1156312965265707013

@Joe8Bit: I saw a tweet asking why sometimes when you unsubscribe from an email list it says it can ‘take a few days’. Buckle up, as I have a RIDICULOUS story about this happening in The Enterprise<img>...

@Joe8Bit: There’s a bank. Let’s assume you’ve heard of them, in fact if you’re in the UK there’s a 10 in 1 chance they’re YOUR bank. I was an overpayed ‘consultant’ at this bank.

@Joe8Bit: This bank sends marketing emails. There’s a little ‘unsubscribe’ link at the bottom of the mail. People often click it.

@Joe8Bit: When they do it calls an antique web service that runs ‘somewhere’ at the bank. Honestly, it took me 3 weeks to find out where.

@Joe8Bit: This web service sends an email to an internal email address every time it’s clicked. This happens 100s of times a day.

@Joe8Bit: This email was originally sent to an individual. They left the bank five years before.

@Joe8Bit: This mail address is now forwarded to an email group. They couldn’t change the address as it’s hard coded and they don’t have the code that was used to compile this Java 6 service.

@Joe8Bit: This email group is monitored by two people in the banks offshore centre in Hyderabad. They worked super hard and always SMASHED their job; but holy crap it was soul crushing.

@Joe8Bit: When I spoke to them via VC they had the Enterprise 1000 Yard Stare. They’ve banged their head against this thing for YEARS and it’s NEVER changed.

@Joe8Bit: When they get a mail, they need to run a SQL query to see if that mail address is associated with a customer (which results in one process) or if it’s not (which results in a separate process)

@Joe8Bit: If they’re a customer, they execute another SQL query that updates a customer record in a type of ETL staging area. Every one of these changes is reviewed (at 4pm UK time) by a team in an office in Scotland. If they approve it, it gets executed 24 hours LATER at 4pm

@Joe8Bit: If this person is NOT a customer, they add it to an excel and email it (just before they go home) to a marketing team in Swindon.

@Joe8Bit: The marketing team use tea leaves and chicken bones to decide if this person is a ‘high vale prospect’ (their ‘SLA’ is ‘within 48 hours’). If they AREN’T they add the address to another excel and email the original team in India. They use their ‘process’ to execute a SQL query

@Joe8Bit: If they ARE a ‘high value prospect’ the marketing team MANUALLY sends an email asking if they REALLY REALLY want to unsubscribe? It looks like an automated email, but it ain’t.

@Joe8Bit: If they answer yes (they had to literally reply ‘YES’) then the team in Swindon send a THIRD excel back to India and the ceremonial SQL queries are run.

@Joe8Bit: IIRC this took FOUR BUSINESS DAYS on average. On average ~700 people unsubscribed a day and ~70% of those were deemed ‘high value prospects’.

@Joe8Bit: There’s another story about how the two people from India joined our engineering team and became the Product Owners for the thing that replaced it <img>

@Joe8Bit: They were also two of the nicest, most caring, hardest working people I've ever had the opportunity to work with. They were the reason why this awful corporate clusterfuck of a process worked so 'smoothly' for all those years.

@Joe8Bit: If those things didn't make an ideal, A+ candidate to own the replacement system I don't know what did.

@Joe8Bit: They eventually moved to the UK, and one of them is now in charge of a team of 40+ people!

@Joe8Bit: Why had they been ignored and overlooked for so long, and why every bit of their work needed to be 'checked' by a team in the UK… you'll need to fill in the gaps on that one-oh wait no, it was prejudice against offshore workers and a light sparkling of racism! <img>

@Joe8Bit: My consigliere have informed me I should take advantage of this sudden attention to mention @permutive is hiring! We’re like, cool to work for and stuff <img>

Crigl boosted

im fiscally chapo trap house but socially mbmbam

Crigl boosted

When you’re rich it’s called a loophole, when you’re poor it’s called fraud

Crigl boosted

"I sent them a message" can mean you texted them or that you threatened to shoot them with a gun, and I think that's beautiful

Crigl boosted

In order for Zeno of Elea to fuck all the way off with his dumb paradoxes he would first have to fuck halfway off, then half of the remaining way, and so on.

Though I will say the dude died like a champ: conspired to kill the tyrant of his city, got caught and tortured, told the tyrant to come close to hear a secret, then bit the guy's ear off. I can appreciate a good final fuck you.

Crigl boosted

thinking about the kind of theological reasoning that would lead one to believe that eating plant burgers makes it impossible for the creator of the universe to save your soul on a sort of legal technicality

Crigl boosted

don't throw the gamer girl out with the bathwater

Crigl boosted

"I never thought I'd post side by side with a furry."

"How about side by side with a fwiend? uwu"

"Stop wagging your tail in my face, asshole."

Crigl boosted

i still occasionally think about that tumblr post that said that something being punishable by a fine just means it's legal for rich people. it changed my way of thinking

Crigl boosted

I heard there was a secret jort
That David made
And cut real short
But you don't really care for denim do ya

Crigl boosted

Sitting in a café and the groundskeepers have come in to have a chat out of the rain. One of them made an insensitive joke and another said: 'That's not a good joke.'

'It is! It's meant to be funny,' the other replied.

'It's not as funny as it is offensive.'

A pause. 'Yeah. You're right. Sorry.'

The conversation moved on.

Calling this stuff out, even if it seems 'minor', is good and effective!

Crigl boosted

@tasnyx alright so theres these two super soldiers named Solid Snake and Liquid Snake that were genetically cloned from the recessive and dominant genes of a CIA defector named Big Boss

my girlfriend, dialing 911: go on

Crigl boosted
Crigl boosted

anime is exactly like climate change. the damage is done and there's basically no way to stop it at this point because people spent too long pretending it's not a threat.

Crigl boosted

If you're not in favour of universal and unconditional:

🍍 Housing
🍍 Drinkable water
🍍 Food
🍍 Medical care
🍍 Income

If it's your considered belief that some people literally deserve to die of starvation or exposure or something because they aren't good enough at *making money*:

You're a monster, please un-follow me

Crigl boosted

on the toilet like jackson pollock
workin on my "composition in brown"

Crigl boosted

"Horny on main" sounds like a little English town.

Crigl boosted

Lynne Teaches Tech: Package Managers, the Precursor to the App Store (long, opinionated, serious) 

to read this article with formatting and embedded images, click here: bune.city/2019/07/lynne-teache

If you use Windows, you’re probably familiar with the scenario of installing a program and trying to run it, only to find out that it requires something called “.NET 4.0” to be installed. This is because .NET provides functions that the program makes use of, and thus it requires .NET to work.

This is called a dependency. Some programs have dependencies that are required for them to function properly, and installing the dependency before running the program is necessary.

mstdn-ebooks is a small program I’ve made to allow you to host a Fediverse bot that generates posts with words learned from your post history (more about that here). It’s written in Python, meaning that it requires Python installed to work. It also uses Mastodon.py and BeautifulSoup, meaning that these need to be installed too. Installing all of this by yourself is a mess. Fortunately, a Python utility called pip can download and install them for you. Pip is a package manager.

When you ask pip to install mstdn-ebooks, it will install Mastodon.py too. It will also install everything Mastodon.py needs, and everything those dependencies need, and so on. This saves you a lot of time and effort!

Almost all Linux distributions have their own package manager. When you want to install a program, such as Firefox, the package manager will make sure all of the necessary dependencies are installed. The package manager can also update your installed programs and dependencies, meaning that you have one place where you can keep everything up to date. This is in contrast to (most) Windows and macOS programs, which will individually prompt you for an update when you open them.
Arch Linux listing the packages that need updating.

You might notice that this package manager approach sounds similar to how Android and iOS work. Like with a package manager, programs are installed from one place (Google Play or the App Store) and updated from that same place. When you open VLC on your MacBook, you might get prompted for an update, but this will never happen on your iPhone – the updates come through the App Store.

There are, however, a few key differences between package managers and mobile app stores.

=== Where App Stores Go Wrong ===

Firstly, mobile app stores don’t manage dependencies. If a mobile app needs to use a dependency, it will be included with the app. This means that if you install ten apps that use the same dependency, each app includes a copy of that dependency. This has its advantages and disadvantages, which you can read about in more technical terms here: stackoverflow.com/a/1993407 (the app store method is static and the package manager method is dynamic).

Secondly, mobile app stores are limited to getting apps from one place. This means that if Google doesn’t approve an app, it can never appear in Google Play (ditto for Apple and the App Store). Meanwhile, if (for example) Debian doesn’t approve an app for inclusion into their program repository, you can add someone else’s repository and install it as normal. This would be like if Google Play had a feature to install and update apps that didn’t come from Google. Google and Apple don’t provide this because they want to be able to test, mediate, and restrict the apps that can be installed by the end user.

For example, both Apple and Google have rules against providing donation links in your software. Donations can only be given through in app purchases, meaning that Apple/Google takes a cut. Adding a link to your Patreon or Paypal will get your app removed.

While it’s still possible to install apps outside of Google Play on an Android device, it is discouraged and generally more inconvenient. Meanwhile, on an Apple device, this is not possible for the typical end user at all without jailbreaking the device. This means that getting your app distributed to most Android and iOS users requires you to go through the app store, giving Google and Apple an unavoidable monopoly over the distribution of software. Both Google and Apple charge a fee to list your app on their stores, and they also take a cut of any in-app purchases the end user makes. Meanwhile, if a Linux distribution were to do something like this (and none ever have), people would simply make a new store for users to use, and switching to it would be as easy as adding one line to a configuration file.

Banning donation links and requiring publishing fees make it difficult for developers of free and open source software to put their apps on the stores, and thus difficult to distribute their apps at all. Meanwhile, many Linux distributions encourage developers to make their software free and open source, and a few even require it.

There are a few alternative app stores available for Android devices. One of them is F-Droid, an app that behaves much more like a traditional package manager than a mobile app store. Updates and installations are still handled through F-Droid, but unlike Google Play, all apps are required to be free and open source, donations are permitted, there are no app fees, and it’s possible to add alternative vendors to the app (meaning that even if F-Droid doesn’t approve the app, you can add a distributor who does and still install the app through the F-Droid app). F-Droid takes this philosophy a step further and warns users of “anti-features” that some apps have. For example, all apps that track users in some way have a warning stating so. You can read more about anti-features here: f-droid.org/wiki/page/Antifeat

=== Conclusion ===

Package managers and app stores provide a repository for users to download and update software without having to worry about using installers full of ads, websites presenting fake downloads, and websites getting hacked to distribute virus-laden installers. At the same time, the centralisation of distribution provides an avenue for those distributing the software to exert control over the available packages, which can be a good thing (preventing viruses from being available for download) and a bad thing (Google and Apple banning donation links).

Thanks for reading! :blobbun_mlem:​

Show older
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.