My experience with microsoft's ads for linux.
Hey y'all, today I experienced another push for Linux from our friend Microsoft.
5 minutes ago, I wanted to use the timer app on Windows, so I could manage my work/break schedule, and this fucker showed up.
Yes, that's a prompt to sign in with a Microsoft account to use the clock. If you close it, it pops up 30s later. Clicking “Don't sign in” or closing the process responsible for displaying it is useless, and guess what… IT PAUSES THE TIMER WHEN IT SHOWS UP.
I guess this is another thing added to the super long list of things which will eventually make me switch my main workstation to Linux once win10 is discontinued.
/endrant
Hope y'all are having a great day :3
like this
melroy and Someplaceunknown like this.
Galectin-9 and Artemin may serve as Long COVID biomarkers
ELI12 TLDR: Decent accuracy was found ~80% when using these to differentiate between people with Long COVID versus people who had recovered. People with Long COVID tend to have high Artemin which is linked to nerve cell communication problems and the elevated levels found may provide a clue into the cognitive problems many of these patients have. High Galectin-9 levels (which were also found here) are often associated with immune issues such as overactivation, which seems to fit well with all the immune abnormalities we see in these patients.
Abstract:
This study aimed to assess plasma galectin-9 (Gal-9) and artemin (ARTN) concentrations as potential biomarkers to differentiate individuals with Long COVID (LC) patients with myalgic encephalomyelitis/chronic fatigue syndrome (ME/CFS) from SARS-CoV-2 recovered (R) and healthy controls (HCs). Receiver operating characteristic (ROC) curve analysis determined a cut-off value of plasma Gal-9 and ARTN to differentiate LC patients from the R group and HCs in two independent cohorts. Positive correlations were observed between elevated plasma Gal-9 levels and inflammatory markers (e.g. SAA and IP-10), as well as sCD14 and I-FABP in LC patients. Gal-9 also exhibited a positive correlation with cognitive failure scores, suggesting its potential role in cognitive impairment in LC patients with ME/CFS. This study highlights plasma Gal-9 and/or ARTN as sensitive screening biomarkers for discriminating LC patients from controls. Notably, the elevation of LPS-binding protein in LC patients, as has been observed in HIV infected individuals, suggests microbial translocation. However, despite elevated Gal-9, we found a significant decline in ARTN levels in the plasma of people living with HIV (PLWH). Our study provides a novel and important role for Gal-9/ARTN in LC pathogenesis.
Frontiers | Exploring the role of galectin-9 and artemin as biomarkers in long COVID with chronic fatigue syndrome: links to inflammation and cognitive function
This study aimed to assess plasma galectin-9 (Gal-9) and artemin (ARTN) concentrations as potential biomarkers to differentiate individuals with Long COVID (...Frontiers
like this
originalucifer, Atelopus-zeteki, astrsk and Drusas like this.
How start quickly with GnuPG ?
Hi,
I would like to use Gnupg to encrypt, sign... documents.
I've downloaded the Manual, it's quite extensive. So the learning curve is proportional :)
I've tried the GPA GUI, but with it, it seem impossible to generate an ECC key..
So what would be your recommendation to be able to generate ECC keys, be able to encrypt, sign etc.. with or without GUI.
Thanks.
If you use emacs, you can set up gnupg integration for easy encryption and decryption of files.
I would also read up on expiration of keys, and how you can export (backup) and import a key. The latter can also be useful if you want to use the same key on multiple devices.
sops
.
TL;DR here.
GnuPGP is bad. It's so bad, it's terrible. Don't use it, it's the worst. You know this GNU? It's bad, terrible.
Use this one instead, it's coded in Rust...
Lol OK.. Thanks I guess...
Don't take it personally.
It's how the guy who wrote the blog sounds like, it's not toward you.
I tend to have a grain of scepticism when someone is declaring high and loud that something widely used us /just the worst/.
Also, it just happens his alternative is just: "use this instead, its made in Rust"
...
These remarks could discourage others from reading a useful and well-written article.
I still use GnuPG on occasion, but I've benefited from incorporatingsops
and age
into repositories. They're pretty slick.
Terry Gilliam says he doesn't have enough money to make ‘The Carnival at the End of Days'
Terry Gilliam has had such a hard time trying to fund his last few projects that he’s hinted about retirement. However, back in April, fansite Gilliam Dreams reported that the director was set to direct a new, maybe final, film, titled “The Carnival at the End of Days.”This past May, Gilliam claimed he had found funding for ‘Carnival.’ We already know that Johnny Depp will play Satan and that the rest of the cast would be composed of Jeff Bridges, Adam Driver and Jason Momoa. A January 2025 shoot was being eyed. (via Premiere)
No surprise, five months later, Gilliam is now telling Czech media that he doesn’t have the sufficient funds to make ‘Carnival,’ and that he would have to creatively compromise his vision to make it happen (via Novinky).
I don't have all of the money for it right now. I would have to compromise some of my ideas. Which I don't want to. I’m angry with myself for not being able to do it. Which is not always a bad thing. When I get angry, some interesting ideas come out [..] Maybe I’ll start shooting it soon, albeit with a smaller budget....
Here’s Gilliam describing the plot of ‘Carnival’:
This is a simple tale of God wiping out humanity for fucking up his beautiful garden Earth. There’s only one character who’s trying to save humanity and that’s Satan, because without humanity he’s lost his job and he’s an eternal character and so to live without a job is terrible. So he finds some young people and he tries to convince God that these young people are the new Adam and Eve. God still gets to wipe out humanity. It’s a comedy.The last time Gilliam directed a feature was 2018’s “The Man Who Killed Don Quixote,” a film he was trying to make for more than two decades. It came and went without much excitement, although I thought it was his, de facto, best film since the late ‘90s. The lack of commercial success on ‘Don Quixote’ is essentially the reason why Gilliam can’t find funding for his next projects. His films of the last 25 years have been both critical and commercial misfires.
Terry Gilliam Says He Doesn't Have Enough Money to Make ‘The Carnival at the End of Days'
Gilliam is telling Czech media that he doesn’t have the sufficient funds to make ‘Carnival,’ and that he would have to creatively compromise his vision to make it happen (via Novinky ).Jordan Ruimy (World of Reel)
Undersökningen Svenskarna och Internet 2024 har mätt användandet av fyra nyare sociala medie-plattformar. De fyra är Threads, Bluesky, Yubo och Mastodon. Mastodon och Yubo ingick även i undersökningen 2023, medan Threads och Bluesky är helt nya för 2024.
Hårdare straff ger inte minskad brottslighet. Under lång tid har kriminalpolitiken dominerats av upprepade krav på hårdare straff för alla möjliga brott. Lagstiftningen har stadig skärpst hela tiden. Men nån större betydelse för nivån på brottsligheten har det inet haft. I själva verket har det inte haft någon betydelse förutom att det lett till att det blivit allt fler unga mördare och fulla fängelser.
The armed attacks perpetrated by criminal organizations in indigenous communities in Chiapas, Chihuahua and Michoacán are sinister: they invade territories, destroy habitat, forcibly displace families, rape women and girls, disappear and murder community members who resist. Their destructive power pulverizes community life and destroys all the natural resources that the people have preserved for centuries.
The absence and complicity of the authorities is atrocious. They make the facts invisible, trivialize the aggressions and silence the atrocities committed. They do not respond to calls for help or provide protection to the victims. They allow the violence to escalate and the attacked population to seek survival by their own means. They justify the armed incursions as a dispute between organized crime groups. The facts are not investigated, much less are the investigation files prosecuted. Impunity prevails and the criminal structure remains intact.
The gunshots furrow the paths of blood, and the murdered are left lying in the fields as dismal marks of criminal barbarity. Predatory agents continue to encircle indigenous territories. The cacique governments, now allied with criminal groups, remain unscathed with their clientelistic and gangster politics; the political parties dispute municipal presidencies and local deputies with ill-gotten money; the mining businessmen make pacts with organized crime and sow terror to devastate the natural landscape and overexploit the aquifers.
The loggers set up clandestine sawmills, burn the forest to enter the forest reserves, hire hitmen to transfer and sell timber and drugs. Community authorities are subordinated to the interests of organized crime. Their territories are disputed and used as strategic enclaves for crime. The mega-projects imposed by the federal government weaken the autonomous organization of the peoples, fragment the communities, and relegate them as central actors in their own development, commercializing their archaeological legacy and folklorizing the greatness of their culture.
Indigenous regions, being centers of resistance and rebellion, face wars of extermination and counterinsurgency strategies implemented by ethnocidal governments that sow terror. The fierce persecution against the rebels is systematic and they are obstinate in breaking the communal core. They have installed military zones in strategic places. They try to enlist the young men in the army and offer marriage to the girls. They want to truncate at any cost the future of the new indigenous generations that seek to forge a society of equals within their community spaces. The governments in power, through the militarization of their territories, the narcotization of their economy and the proliferation of criminal groups, de facto declare war on the indigenous peoples in order to subjugate them and derail their struggles for autonomy and self-determination.
The old-style integrationist policies and the implementation of new programs for individual benefit deepen government dependence, leaving intact the structures of cacique power; the security apparatus linked to organized crime remains untouched; the vices of a mercantilist and racist justice system persist; the economic exploitation and vassalage of the indigenous people expelled from their ancestral territories by landowners, businessmen, organized crime and government megaprojects is further deepened. The subjugation of community life, which is the hard core of the peoples’ resistance, is cracked by the gunfire of criminal groups that have set themselves up as the armed arms of the government in power.
In the Sierra Tarahumara, organized crime has diversified its illicit activities. For the past decade, illegal logging has been covered up with logging permits. Illegal logging became criminal logging because it was imposed on the ejidos under the armed coercion of criminals. In 2023, organized crime took control of the most important ejidos in the Huachochi Mesa.
The forests of the Sierra Tarahumara are in the hands of criminals. Its forest mass has decreased alarmingly; from 2001 to 2023 it lost 21,800 hectares to fires. The most affected municipalities are Bocoina, Guerrero, Madera, Huachochi, Guadalupe y Calvo, Uruachi and Chinipas. Recently, more than 300 people from the communities of Cinco Llagas, El Cajoncito, El Pie de la Cuesta, Las Casas, Los Placeres, El Silverio and La Trampa in the municipality of Guadalupe y Calvo were displaced by organized crime. They are crowded together in the community of Cinco Llagas, without food and in fear of being attacked by armed groups.
On September 4, in the municipality of Frontera Comalapa, Chiapas, confrontations between organized crime groups intensified. The population is hiding in their homes because of the constant shootings. They have no food and are held hostage by the criminals who prevent them from leaving the community. The criminals went from house to house to forcibly recruit all the young people and minors. Mothers are desperate over the disappearance of their husbands and sons. No authorities intervene to protect them and guarantee a safe exit from their communities.
In the Nahua community of El Coire, municipality of Aquila, Michoacán, from August 13 to 19, several groups of the Jalisco Cartel New Generation (CJNG) attacked the population; they disappeared 7 young people, murdered two, tortured several people and raped women. They looted houses and small businesses. The municipal authorities of Aquila counted 211 displaced persons, 76 of whom are under 12 years of age. In addition to Coire, the communities of Chacalapa, Zilapa, El Diezmo and El Salitre were also attacked by the CJNG groups. Most families fled and found refuge in Aquila and Coahuayana. The authorities have allowed division to flourish and crime to take control of the indigenous communities. The army only made one patrol on the day of the CJNG irruption, to justify the call made by the community. The criminal groups know that patrols by state agents are sporadic and that they will never stay in one place. They have sized up the situation and that is how they can act with total impunity.
The federal authorities have failed to guarantee the security of the indigenous population held hostage by criminal groups. What is unacceptable is the inaction of the security forces in the face of the armed invasions that assault community territories, displace the local population, murder defenseless people, disappear people, rape women and recruit young people and children. The security politics have left the indigenous population defenseless. They have allowed organized crime to subjugate them in order to break their communal nucleus. The indigenous reform that is on the horizon will not help to solve these serious problems, because they are denied the right to control their land and natural assets and their political representation before the legislatures is not recognized.
Original text by Abel Barrera published in Desinformémonos on September 18th, 2024.
Translation by Schools for Chiapas.
Två företrädare för Assyriska FF i Södertälje har åtalats som misstänkta för grova bokföringsbrott. Brotten består i att föreningens bokföring har upprättats för sent under fyra räkenskapsår.
Inget nattarbete på Spotify. Kammarrätten har bedömt att Spotify AB inte har rätt till undantaget från förbudet mot nattarbete. Det finns inga särskilda skäl för att medge en avvikelse från förbudet.
Georges Ibrahim Abdallah, the Lebanese communist and Palestinian resistance fighter, was arrested by French police in Lyon on October 24, 1984. He was sentenced to life in prison in 1987 for complicity in the execution of a Mossad agent and a member of the CIA in a trial filled with numerous irregularities. At the same time, Israel occupied Lebanon and massacred the Palestinian and Lebanese peoples throughout the assault and later, the occupation of south Lebanon.
Eligible for release under French law since 1999, Georges Abdallah is still in prison following diplomatic pressure from the USA and Israel and France’s own imperialist interests in the region. Despite his release being ordered in 2013 by the French justice system, he was kept in prison by a political decision of the Ministry of the Interior, which refused to sign off on his deportation to his homeland, Lebanon. Today, he is one of the longest-held political prisoners in Europe and has filed a new request for release that will be examined by the Court of Application of Sentences on October 7.
While the genocide in Palestine has been going on for a year and Israel is intensifying its assault on Lebanon, supporting Georges Abdallah means supporting the resistance of the Palestinian and Lebanese people for their right to live freely in their countries.
At the initiative of many organizations, campaigns and support committees , a large mobilization is being organized — as it is each year — to demand the release of Georges Abdallah, outside the Lannemezan prison where he is held. The Collectif Palestine Vaincra calls for broad participation, in particular by joining these two initiatives:
Friday October 25 at 7 p.m.
Meeting in support of Georges Abdallah and the Palestinian and Lebanese peoples with the participation of Palestinian activists, anti-imperialist organizations, Robert Abdallah (brother of Georges Abdallah — by video) and Jean-Louis Chalanset (lawyer of Georges Abdallah — subject to confirmation).
Bourse du Travail (19 place Saint Sernin, Toulouse) – Free entry – Light refreshments on site
Saturday October 26 at 2 p.m.
Demonstration in Lannemezan (65) to the prison where he is incarcerated. Departure by bus from Toulouse at a free price, meeting at 11:00 a.m. in the Basso Cambo car park in front of Quick (Basso Cambo metro – line A). To register, fill out the online form by clicking HERE
Take part in the support campaign!
Until October 26, we invite you to participate with us in various activities. In particular, you can:
- Participate in postering or distributing flyers in your neighbourhood or community (download materials on Georges Ibrahim Abdallah here)
- Suggest an initiative or invite us to hold an information stand during an event you are organizing
- Order stickers, flags, flyers and t-shirts “Freedom for Georges Abdallah! Freedom for Palestine!” (contact the Collectif Palestine Vaincra by email )
- Download the poster for the release of Georges Abdallah to print and distribute widely
- Participate in the mobilization on social networks using the hashtag #FreeGeorgesAbdallah
- Share the film “Fedayin, the fight of Georges Abdallah” around you, which retraces his story and that of Palestine
- Register for the free-price bus to participate in the demonstration on Saturday October 26 in Lannemezan
For any request, send us an email to collectifpalestinevaincra@gmail.com or a message on our various social networks (Facebook , Twitter or Instagram).
source: Samidoun
Python data and variable types
I am a great believer in “blog your homework”. By homework, I mean (in this case) what I am learning about Python for my visual novel. In addition to my learning, I have two friends who are or are about to start using Python. This is a primer for all (3) of us.
Those who know their Python are invited to chip in if I missed anything or got something wrong. I’m here to learn too. There may be parts of this with updates from future me who just learned a thing.
What are variables
A quick refresher Python has two things that are data-related:
- Variables
- Functions aka Mthods in some contexts
Variables hold data and functions do something with data. 2+3=5 is a function where 2 and 3 are variables and 5 is the new variable that + made. This is what it looks like in code.
def adding(var,othervar): return var+othervarmyvar = 2myothervar = 3myanswer = adding(myvar,myothervar)print(myanswer) # 5
Types of variable – in general
Before we get to the depths of Python-specific stuff I want to revise variables in general.
Most of this will also apply to things called constants which are values that cannot (or should not) change. Constants are a special case that I shall only tough on a bit.
Boolean (bool)
Booleans are the most primitive variable type. They can be True or False and that is it. This should relate to binary 1 or 0 but different languages handle them differently. On the whole, booleans are [1] or [NOT 1] but can also be [0] and [NOT 0] because screw consistency, I guess.
Most languages have True
and False
as core contestants and it is best to use those. Python is no exception.
Later note: False and 0 are considered the same in Python.
Integer (int)
Whole numbers (called integers by maths and computer science people) are something you will probably work with at some point. These are the variables in my silly example of variables vs functions.
The number 42 is an int but 4.2 is not. That dot is what is different.
Reals, floats, doubles and their friends
These are all variables of various and fairly arbitrary precision. For now, the difference between these is not important. It might come up later but just think of numbers with a decimal point. That 4.2 (four point two) from earlier belongs here.
If you cast (converted) 42 into one of these floating point types, you would get 42.0 or more likely 42.000000…
Casting floats into ints gives you weird behaviour and maths errors. For example, push 3.14 (three point one four) and 4.2 through an adding function that outputs only ints, and you will get 7 (instead of 7.34).
Personal peeve side story: When you see a number like 3.14 and you say “three point fourteen” please understand that I may wish to percusively educate you with a large plank of wood. This is because this number is three point one four. The only time you may call it three point fourteen if it is part of a version number like this: 3.14.0.2289. Otherwise, please slam your head in the door until you can say it properly.
Char
A single character like a letter or a number (as text). This will come up in database stuff as a common field type is varChar (variable characters).
Array
An array is basically a list of variables. The details vary between languages and Python gets fussy about them.
An array has two parts – the index and the value.
Here is a PHP example because I know PHP better and Python gets a bit complicated.
$myarray = array('bannas','apples',12);$myarray[0] = 'Chips';$myarray[] = 'boats';$myarray['foo'] = 'bar';print_r($myarray);/*array( 0 => 'chips', 1 => 'apples', 2 => 12, 3 => 'boats', 'foo' => 'bar')*/
Arrays index by number starting from 0 (most of the time). In Python, a negative index number is the point that number from the end. In PHP a negative index is just another index.
Some arrays can have text (strings) as an index. In PHP that last array element also has a secret index value of 4.
Try not to worry about this, things only get stranger from here.
Strings
We mentioned strings. Strings are characters all hanging out together in a single variable. This entire post is stored as a complicated string.
Just to confuse you, some languages like Ruby don’t really have strings, they have arrays of char. Thus, you can grab any character you want from the string. A fair amount of languages now allow you to treat strings as pseudo-arrays (treat them like arrays even though they are strings).
Strings have encodings. This is because there are a lot of languages with a lot of different characters. And now there are emojis as well. While this should not matter until you start processing external data or using databases, it will come up eventually. If in doubt, I use UTF-8. However, check with your data provider or database person because mismatched encodings give funny-looking results.
Python defaults to UTF-8.
Weak or strongly typed variables
Sooner or later, you are going to come up against typing issues. For example:
myStr = "42"myInt = 42myResult = myStr+myInt # what will you get from this?
As this answer explains, in Python you will get an error. This is because Python is strongly typed and adding a number to text makes no sense.
In PHP you will get “4242” because PHP is weakly typed and you just merged the int into a string like a complete noob.
Classes (in general)
Most programming languages have the concept of a class object. A class holds variables and has methods with are just functions that belong to the class. Python is one such language. If I mention classes (and I will because Python data types are classes) this is what I am on about.
In python, you can use (dot) methods on classes.
Variable Names
It is said there are two hard problems in computer science – naming variables, invalidating cache, and off-by-one errors.
In this example, I have named the variables so as to remind you what they are. This is terrible practice for anything that is not really basic notes. Please, name your variables something that describes what it is for. Your future self and whoever inherits your code will thank you.
Don’t do this:
n = 'bob'i=22tt = '01843 123456'
You might know now what those variables are but will you always remember?
Instead, do yourself a favour and do something like this:
BobName = "Bob"BobID = 22BobTelephoneNumber = '01843 123456'
There are better ways of handling names and numbers than this but at least you won’t come across code like this and wonder what it is about.
if(i>23): tt=''
What is that code even doing?
Advanced example (skip if confusing)
As per my snark about the “good” example not being good: Assuming you made a class called person
in a library called myPersonThing
, you can make Bob an instance of that.
import myPersonThingBob = myPersonThing.person('Bob',22,'01843 123456')# Bob.Name = "Bob"# Bob.ID = 22# Bob.TelephoneNumber = '01843 123456'
Note: When we come to [url=#Dict]dict()[/url]
, you will have yet another way to approach this.
Variable types: Python specifics
This is where the blogging my homework comes in. While the basics are already covered, its time to get crazy. I’ll start us off slow.
For reference, there is a proper list of Python’s built-in types here. You can add more via libraries but I am not covering those.
Booleans
Booleans work exactly as you should expect them to. They are True or False. 0 counts as False. Logical.
AreYouAlive = Trueif AreYouAlive: breath()else: rot()
A better example:
UserCredits = GetUserCredits(Bob)if (UserCredits>0): print("Welcome citizen")else: print("Begone worthless fool")
The boolean here is hidden inside the logical test (UserCredits>0)
. But that is a topic for another long post. The outcome is unknown but depends on what the GetUserCredits()
function returns. Judging from the code, we are expecting a number.
String (Str)
The str type is exactly what you would expect.
myStr = "42"print(type(myStr))
You will get an answer that this is a class of type str. You remember I mentioned classes, string is a class (technically str is a class).
This allows such behaviour as:
myStr = "foo bar baz boo"myNewStr = myStr.capitalize()print(myNewStr) # Foo bar baz boo
The capitalize()
(note the spelling) method gives you a copy with the first letter capitalised.
Other methods you may need for working with other data encodings may include this one:
myStr = "foo bar baz boo"mySafeStr = myStr.encode('mac_latin2','ignore')
This will give you a copy of the string converted (as best as Python can) to mac_latin2 bytes. Here is a list of all encodings.
You can join strings together like this:
myStr = "foo"myOtherStr = "bar"myNewStr = myStr+' '+myOtherStr # we add the two with a space in the middle (that's a string too)print(myNewStr) # foo bar
Numbers
Python, it turns out, has three number types.
- int
- float
- complex
That third one was a surprise to me.
Note: There is a fourth thing called a range but I covered it in the lists and arrays section like a fool.
Int
We covered integers in the general theory section. This is a whole number.
Here is how you might use them.
def adding(var,othervar): return var+othervarmyvar = 2myothervar = 3myanswer = adding(myvar,myothervar)print(myanswer) # 5
A better function would check the inputs are a number type. Do not copy this for any real-world code.
Float
When you encounter reals, floats, doubles and their friends in database stuff, they are all floats in Python. You should remember (unless you skipped it) that floats are numbers with a decimal point (also called a floating point number).
The number we all know and love – 3.1415926535… – is a float of (theoretically) infinite length. The longer your approximation of pi, the more accurate (and time-consuming) your maths will be.
42 as a float is 42.000…
If you don’t care about the precision, you can cast floats into ints but it is probably not a great idea.
myFloat = 3.14159265print(int(myFloat)) # 3
Here is a whole nerdy discussion about casting floats to ints for those who want to do that sort of nonsense.
Complex (skip if confusing)
Complex numbers are a fun part of maths that can make certain operations faster. For example, real-time radar. You might want to use them for making Mandelbrot fractal images.
In regular mathematics complex numbers have a real and a complex part like this 5+2i. The complex value i is used. the number i is what you would get if there was an answer to what is the square root of -1 (minus one).
In Python for reasons I am yet to work out, complex examples use i for the real part and j for the imaginary part. It is like someone read about the quaternions but only half remembered it.
The complex is two numbers together and can be generated by the function complex() like this:
myComplexNumber = complex(1,2) # 1+2imyComplexNumber = complex(1j) # 0+1imyComplexNumber = complex("9i+1j") # 9+1i
For most of us, complex numbers are things we will not have to deal with. Unless you are doing some serious science or intensive recreational mathematics.
Are lists arrays?
Remember when I told you about arrays? Ah, the days of easy stuff. Get ready for some Python-specific confusion. This is where I trip up coming from PHP to Python.
Allow me to introduce you to list, tuple, range, dict, set and frozen set. Yeah, I see that look. I had that same look on my face because I thought I would instantly understand this stuff.
x = ["apple", "banana", "cherry"] # a listx = ("apple", "banana", "cherry") # a tuplex = range(6) # a rangex = {"Name" : "Bob", "ID" : 22, "TelephoneNumber" : '01843 123456'} # a dictx = {"apple", "banana", "cherry"} # a setx = frozenset({"apple", "banana", "cherry"}) # a frozen set
Choose the wrong one and it will not behave how you were expecting. For me, I still think of these as types of arrays. It is probably better that you do not copy me.
Let’s look at them one by one.
List
This is what other languages would call a numerically index array. List items are ordered, changeable, and allow duplicate values. They are indexed numerically from 0. This is where you can try for a negative index and get not what you thought you would get. At least I did.
x = ["apple", "banana", "cherry"]print(x[0]) # appleprint(x[-1]) #cherryprint(x[2]) # also cherryprint(x[1]) # banana
Did you want to add a new item to your list? Sorry, you will have to make a new list that is one entry bigger.
Tuple
Tuples are a bit hard to explain. Python is the only place I have ever encountered them.
After a bit of reading, I can tell you this.
A tuple is like a list in that they are ordered and allow duplicates except the order cannot change and the values inside cannot change. You use round brackets to make them.
x = ("apple", "banana", "cherry")
Here’s a link if that was a bit unclear.
Range
The range is probably not really meant to be here. It is an ordered range of numbers.
The range function takes up to three arguments (values needed to use it). Like this: range(start, stop, step)
– unless you only supply one – let me explain that.
x = range(6) # 0 1 2 3 4 5 - stop givenx = range(3, 6) # 3 4 5 - start and stop givenx = range(3, 20, 2) # 3 5 7 9 11 13 15 17 19 - start, stop, and step given
- start: Where you start from if you only give one argument, it will not be this one.
- stop: Where you stop (not included)
- step: Defaults to 1 but can be anything. To use this you need three arguments.
Another example. Say you want all the multiples of seven less than one hundred.
x = range(7,100,7)for n in x: print(n)
That prints only the numbers we want.
I guess you get a sort of ordered tuple?
Dictionary aka dict
This is what I, as a PHP programmer, would call a string-indexed array. As of newer versions of Python dictionary types are also ordered (they have a numerical index).
Dicts (try saying that out loud at work) are key-value pairs. Like field and value on a form. Each key must be unique.
Bob = { "Name" : "Bob", "ID" : 22, "TelephoneNumber" : '01843 123456'} # make the dictBob['xp']=400# you can also have more than one value by adding a tuple or a list or another dictBob['awards']=['Best Coder','Worst Farts','Employer of the year 1066'] # this list is now an entry in the dict
Note: there is no comma after the last entry in the initial dictionary definition.
In my opinion, if you need an arbitrary blob of data, dicts are usually what you want. That said, you will discover custom classes soon enough and you may want to use those.
Sets
As I write this, I haven’t a clue what sets are but I really hope they relate to set theory or are numerical random access changeable array things.
Nope, sets are more like set theory than data theory.
A set is an unordered unchangeable grouping. You cannot edit the items but you can remove items and add items. So, get item, remove it, make changes to the got item, and put it in again.
x = {"apple", "banana", "cherry", True, 99}print(len(x)) # 5x.discard("banana")print(len(x)) # 4#There is also a remove method but it throws an error if the thing is not there.x.remove("banana") # you just crashed the program noob
You can do some other stuff with sets. Popping for example.
offering = {"space", "adventure", "really wild things"}x = offering.pop()print(x) # you will get one of the things in offering.fixedIt = x.capitalize()offering.add(x) # put it back
We can also add other listy groups into a set
offering = {"space", "adventure", "really wild things"}avoiding = {"milk","cookies","an early night"}offering.update(avoiding)print(offering) # {"space", "adventure", "really wild things","milk","cookies","an early night"}
We can add those tuples and lists in the same way.
offering = {"space", "adventure", "really wild things"}avoiding = ("milk","cookies","an early night")offering.update(avoiding)print(offering) # {"space", "adventure", "really wild things","milk","cookies","an early night"}
Pay close attention – those last two may look nearly identical but they are not the same even if the output is. These things look like other things issues will trip you up if you are not careful.
Frozen sets
x = frozenset({"apple", "banana", "cherry"}) # a frozen set
A frozen set is like a set but you cannot change it. I’d have called that a constant but no one asked me.
And now we get into the weeds
Here we look at four odd fellows – bytes, bytearray, memoryview, and NoneType sounds a lot like The Null Hypthoisis if you ask me.
Each of these I learned about so I could write them down. They were all new to me.
Bytes
For some reason, you want the string as raw data (make sure you pick the encoding). You cannot change data of this type.
This is the type you get if you convert a nice well-behaved string into a specific encoding. You might want to do this to save a string in a format that is not UTF-8 because the people giving you the data are unrefined noobs or something.
Bytesarray
Yes, at last, an honest-to-goodness array. This is an array of bytes. You can change the array.
I haven’t a clue what you would do with one of these. Maybe manipulate some strangely encoded text?
Memoryview
This is a memory-safe way of looking into memory. NGL, this is all new to me. Here’s a post about it.
NoneType
It turns out that NoneType represents the distinct lack of anything. This SE answer explains it better than I could.
It is a good idea to check a return object against NoneType before using it.
obj = myUnreliableFactoryMethod(foo,bar)if obj is None: # throw an error or somethingelse: # do something clever
And that’s a wrap
We have looked at all the built-in variable types and the functions that make them. I half-arsed a few of the more esoteric ones at the end because my brain is melting.
I think I learned something. I hope you did too.
Feel free to pass judgment, offer corrections, or expand on something. I’m here to learn. Also, please ask questions if I was unclear or if you want to know more. If I can answer, I will. Otherwise, I will go away and learn the answer for you.
Welcome to your new life as a Python geek.
Syndicated to:
#blogYourHomework #cherry #Python #There #variables [ap_hashcats
Could a Bout of COVID Protect You from a Severe Case of Flu?
Could a bout of COVID protect you from a severe case of flu? - News
New findings could lead to therapies capable of boosting general antiviral immunity.News
like this
Drusas likes this.
FluxTube | Flutter/Dart YouTube Client! | This could be the new Newpipe
like this
KaRunChiy, themadcodger and ShaunaTheDead like this.
Yep ! No-ads, no-sponsor, no-shit.
You even don't need to self-host, just disable piped proxy, enable local extraction, use HLS and a good VPN.
Sure it's not as anonymous and sometime I need to disable my VPN, but that's only temporarily, until they find a new loophole in youtoube's api.
That's not piped nor invidious backend's fault, just YouTube doing his cat and mouse thing...
Why would I use this over Vanced?
Also do you know of any YouTube client that allows me to group subscriptions? Having all my subscriptions in 1 giant feed is pretty useless since I'm usually looking for a specific type of video. I haven't found any client yet that allows subscription groups, which seems crazy.
like this
themadcodger likes this.
Revanced and newpipe fill different roles while covering a lot of the same functionality. Revanced is still the YouTube app ... Just modified.
There's a lot of ppl that don't want the actual yt app for everything that it is. Also this being Lemmy there's a lot of users looking for open source alternatives for all apps.
IMO:
The Frontend is the Problem. I borderline don't even want to use it anymore.
Also it'd be nice if it somehow synced with my laptop
Maybe if there was at least one project (other than Grayjay, bc that takes quite a bit of storage) that runs well on less powerful devices and ties to add support for all services community requests.
Just look at those cases when ppl requested them to add Odysee and removed. (I do get the removed part of thing, but saying Odysee is bad feels like an insult to people who don't want to put videos on Youtube. As if yt contained only good and properly reviewed content, right?). And there's more denied requests like that. Saying things like it's full of propaganda, conspiracies and idk what else they can come up with.
And other forks just support one or 2 additional services. Kinda reason why I like Grayjay plugin system. Because if you want support for something, you can, even without Android Studio. It already contains more, but it's quite large.
Group peer to peer video calls for everyone written in Go and TypeScript
GitHub - peer-calls/peer-calls: Group peer to peer video calls for everyone written in Go and TypeScript
Group peer to peer video calls for everyone written in Go and TypeScript - peer-calls/peer-callsGitHub
reshared this
Tech Cyborg reshared this.
Mastodon Announces Fediverse Discovery Providers
like this
ShaunaTheDead, MHLoppy, Oofnik, bobburger, NataliaTheDrowned2, Nate, aasatru and Fitik like this.
like this
NataliaTheDrowned2, aasatru and Fitik like this.
Mastodon has a history of steamrolling other implementations.
This means we might not always be able to incorporate all the feedback we get into the very first draft of everything we publish
The site even warns that theyre on a deadline and may not incorporate feedback.
EDIT: they also mention a "setting" that determines if a user/post is searchable. theyve presented a FEP to formalize this setting but nearly everyone else had issues with their proposal. as usual for mastodon, this looks like them sidestepping external feedback and just doing what they want
like this
0x1C3B00DA and Fitik like this.
Not just cherry picking statements but also failing to explain how that is a power grab.
like this
NataliaTheDrowned2 likes this.
I didn't cherry pick a statement. I included the part where they said the very first draft.
I did fail to explain how its a power grab, but that's was only because I thought it was a fairly obvious one-to-one point. I've also added another example. But lemme try again.
- Mastodon has a history of pushing features that affect interop with other implementations without seeking feedback from other implementations or outright ignoring the feedback they do receive.
- A member of the mastodon team wrote a FEP to formalize a setting related to search indexing. This was the right way to go about it. yey Mastodon was working with other implementations. But that FEP didn't receive positive feedback and it seems like it was abandoned.
- Now mastodon is trying to standardize something using the ideas from that FEP, outside of the FEP process (which is the agreed upon way to collaborate between implementers).
- They're warning on their site that they have deadlines and may not incorporate feedback if they can't resolve it without breaking deadlines.
- They are under no obligation to incorporate it after their initial draft and, historically, mastodon is unwilling to update their work to incorporate other implementers' feedback.
A more collaborative way to do this would have been to seek feedback before making a grant proposal and making the grant proposal jointly with other projects so they weren't the only ones getting paid for it.
like this
NataliaTheDrowned2 and 0x1C3B00DA like this.
I didn't cherry pick a statement. I included the part where they said the very first draft.
You quoted the whole part, but only addressed the first half of it, contradicting the second one in the process. Saying they may not be able to incorporate feedback into the first release is a very different statement than saying they may not be able to incorporate feedback at all.
like this
aasatru likes this.
like this
0x1C3B00DA likes this.
Mastodon Announces Fediverse Discovery Providers
Mastodon Announces Fediverse Discovery Providers
One of the most difficult challenges that most decentralized social networks face is that of content and user discovery. Everybody and all of their stuff lives in different places on the network, andSean Tilley (We Distribute)
like this
echomap, KaRunChiy, ShaunaTheDead, Oofnik and Joaoalberto9009 like this.
Basically, this. In layman's terms: finding the good stuff on a decentralized network is hard, because not everybody or everything is all in one place. Some tools can help make the experience suck less, but it's a really hard problem that has lingered on for years.
This proposal is basically a team-up to develop the necessary plumbing so that services, such as search providers or distribution networks, can be easily used by anybody on the network, regardless of whether they're on Mastodon, Lemmy, or something else.
There's a few interesting applications here that go beyond just finding people, showing trending stuff, or providing an index of stuff. Some of this could be used for moderation tooling for admins, or custom feeds for users, or a directory of things to review. If the existing projects trying to solve all these problems came together, it might make a lot of things way easier.
like this
themadcodger likes this.
Linux-friendly USB fingerprint reader?
I also found this Microsoft keyboard with fingerprint reader but I don't know if it works with linux.
like this
KaRunChiy, ShaunaTheDead and Random123 like this.
Here's the list of devices supported by fprint
For non -standalone readers, you'll have to look up the actual fingerprint reader embedded within it.
Edit: it looks like this is a Bluetooth keyboard. My guess is it's highly unlikely to work with Linux as a fingerprint reader.
Almost every one of the fingerprint sensors in laptops are not supported by Linux due to proprietary protocols. Never managed to get stuff used by Dell or HP with Linux.
But the Grow R503 can be used over uart, what can be connected to usb with some minor additional parts.
For simple PC unlocking etc. they are perfectly fine and improve security due to their far higher usability.
The same way 10 key files on 10 different locations combined with this and that are more secure than a simple 60 character password. But the simple password is far more practical, so far more secure overall since people actually use it.
like this
DaGeek247 likes this.
For most people, the only security they really need is against people either stealing devices or accessing them without permission. In those cases, biometrics (if implemented properly) and passwords are roughly equivalent.
like this
RV5 likes this.
More secure legally. You generally can't be compelled to disclose a password that incriminates you (unless it's already apparent that you're guilty of wrong-doing) but a thing (physical key, fingerprint, etc) isn't protected in the same way and can be demanded by the court.
Whether biometric are secure or not is another question, they can be stolen like any other data or a motivated attacker could just take you or your fingers.
like this
DaGeek247 likes this.
Bus 001 Device 059: ID 05ba:000a DigitalPersona, Inc. Fingerprint Reader
It shows up exactly the same for all the revisions though.
Audacious 4.4.1 released - An Advanced Audio Player
Audacious is an open source audio player. A descendant of XMMS.
New features and improvements:
- Support titlebar dimming for Winamp skins also with GTK
- Allow to never show playlist tabs also in GTK interface (#1409)
- Improve controls responsiveness with the Sndio output plugin
- Add Qt 6 support for the Qt Multimedia output plugin
- Support many more MPRIS metadata fields
- Include .adx as file extension for the FFmpeg plugin (#1466)
Bugs fixed:
- Include patch version in SONAMEs again (#1408)
- Fix writing tags into audio files on Windows (#1421)
- Make drag and drop work with GTK on Wayland (#1423)
- Fix build with GCC and Meson on macOS
- Handle big-endian systems correctly with Meson
- Fix excessive CPU usage with the Qt Multimedia output plugin
- Enable scroll buttons for playlist tabs on macOS (#1455)
Other changes:
- Lower GTK 3 version requirement from 3.22 to 3.18
- Offer SHA256 checksum files for our release tarballs (#1432)
- Make CDDB support optional for the Audio CD plugin (#1437)
- Allow minimum speed of 0.25 for the Speed and Pitch plugin (#1447)
- Prefer PulseAudio plugin over PipeWire plugin for better backwards compatibility
- Specify application ID and icon name for PulseAudio
- Update translations
like this
ShaunaTheDead and RV5 like this.
reshared this
Tech Cyborg reshared this.
Just note it works with ANY Winamp skin you just have to install them manually, My install I got from the AUR has the skins folder located /usr/share/audacious/Skins/
You can find most classic skins here! they are obviously very low resolution and don't think people are making HD winamp skins these days...
MyNameIsRichard
in reply to object [Object] • • •like this
dt114 and Lippy like this.
Sentau
in reply to MyNameIsRichard • • •like this
Lippy likes this.
object [Object]
in reply to MyNameIsRichard • • •variants
in reply to object [Object] • • •EuroNutellaMan
in reply to object [Object] • • •umbrella
in reply to object [Object] • • •teawrecks
in reply to object [Object] • • •Jumuta
in reply to object [Object] • • •gerdesj
in reply to object [Object] • • •What are they?
I ditched Windows roughly 15 years ago and I run a MS Silver partner shop.
I daily drive Kubuntu (was Arch but I need to tick boxes). I used to teach DTP, WP, spreadsheets etc and Libre Office is fine as a replacement for MSO. Email - Exchange and Evolution EWS. I create the most complicated docs in my firm and MSO works with them OK.
I 3D print stuff and use LibreCAD and OpenSCAD. All good. Also note that there are lots of other CAD apps on Linux for free/libre and of course we have
As far as I am aware, games is the only area that Linux might fail and that issue is shrinking rapidly.
kureta
in reply to gerdesj • • •als
in reply to object [Object] • • •like this
melroy likes this.
object [Object]
in reply to als • • •als
in reply to object [Object] • • •object [Object]
in reply to als • • •Once I'll get my workflow Linux ready, I think I'll use some distro with KDE
als
in reply to object [Object] • • •friendly_ghost
in reply to object [Object] • • •object [Object]
in reply to friendly_ghost • • •naeap
in reply to object [Object] • • •node_user
in reply to object [Object] • • •FigMcLargeHuge
in reply to node_user • • •dohpaz42
in reply to object [Object] • • •PushButton
in reply to object [Object] • • •For my part, I couldn't care less about your windows app frustrations and your "intention to leave Windows".
If I wanted to hear what's happening on Windows, I would have subscribed to some Windows related channels. I didn't.
Your post has nothing to do with Linux.
platoose
in reply to PushButton • • •TrickDacy
in reply to als • • •gomp
in reply to als • • •Agreed. I don't come here to read about windows.
Also, "microsoft's ads for linux" in the title is ~~a fraud~~ clickbait.
superkret
Unknown parent • • •rtxn
Unknown parent • • •Cornflake
in reply to object [Object] • • •lurch (he/him)
in reply to object [Object] • • •object [Object]
in reply to lurch (he/him) • • •loutr
in reply to object [Object] • • •object [Object]
in reply to loutr • • •loutr
in reply to object [Object] • • •lurch (he/him)
in reply to loutr • • •youmaynotknow
in reply to lurch (he/him) • • •bstix
in reply to object [Object] • • •I doubt that's deliberate (it's probably depending on some other task or shit that you don't even intend to use), but it's exactly the kind of bloat that turns people away from Windows.
Windows seems to work alright for my work pc, where I'm constantly logged into their cloud, newer switch users, logged in long enough daily to get all the updates and have IT to roll out stuff, so I hardly ever have issues there.
My personal computer is a different thing. I have several users, use it about once weekly, making it basically unbootable. As soon as I open the lid, Microsoft starts bugging me to do a shit load of things and download gigabytes of crap that Microsoft, and not I, needs me to do before I can even use it. More often than not I simply close the lid again.
It's not unusual to meet people who don't even have a pc these days. Most people can solve their daily stuff on any cell phone browser. I find it kinda amusing that Microsoft is pushing people that way.
Possibly linux
in reply to object [Object] • • •object [Object]
in reply to Possibly linux • • •Microsoft had made a product that has for decades been used to run other people's software. They've unintentionally made windows a "monopoly" in the sense that no other os can run windows only software perfectly. Most consumers will probably think Linux " is just a terminal and too advanced", and the others who can install a distro might still be locked into using windows because not all software can run under wine.
So to you they might seem overconfident in that you can switch, but for some they're shit out of luck in the department of alternatives. Microsoft knows they can exploit their users, and they will do it
Possibly linux
in reply to object [Object] • • •The Doctor
in reply to Possibly linux • • •EuroNutellaMan
in reply to object [Object] • • •LeFantome
in reply to EuroNutellaMan • • •I cannot speak for the OP but most of the pepper claiming they are waiting will not switch. They may use an illegally patched or trimmed version of Windows 11. Many won’t even do that.
The biggest risk for Microsoft is that everybody stays on Windows 10 without updates. Or that massive customers will force them to push back the “enterprise” date over and over. To encourage migration, expect Microsoft to make Windows 10 just as bad as 11 before support expires.
dabster291
in reply to LeFantome • • •autocorrect moment?
Norah (pup/it/she)
in reply to LeFantome • • •EuroNutellaMan
in reply to LeFantome • • •Sotuanduso
in reply to object [Object] • • •melroy
in reply to Sotuanduso • • •Sotuanduso
in reply to melroy • • •melroy
in reply to Sotuanduso • • •Sotuanduso
in reply to melroy • • •melroy likes this.
melroy
in reply to Sotuanduso • • •Sotuanduso
in reply to melroy • • •melroy likes this.
LeFantome
in reply to object [Object] • • •Windows is a platform for Office. Linux is not a supported platform for Office. Most businesses will not migrate their desktops off Windows because they will not migrate their workforce off Office.
Beyond that, Windows is not as important to Microsoft as it used to be. The real money makers are Azure and Office. With Azure, they do not care if you run Linux. They even have their own distro ( Azure Linux — previously CBL Mariner ).
Azure is the future ( even for Office ).
Since Windows is less strategic, Microsoft is looking to milk it as a cash cow while they can. So, Product Management is tasked with finding new ways to monetize it. Data is worth a lot of money. The best way to farm data from users these days is to frame it as security ( or AI ).
Expect a lot more SIngle Sign On. Expect a lot more AI. Expect a lot more cloud integration. Expect all of these to focus on data harvesting.
A bit later, expect “services” for Linux that attempt the same. Like Google on Android. This is harder though as Windows does not have monopoly contr
... show moreWindows is a platform for Office. Linux is not a supported platform for Office. Most businesses will not migrate their desktops off Windows because they will not migrate their workforce off Office.
Beyond that, Windows is not as important to Microsoft as it used to be. The real money makers are Azure and Office. With Azure, they do not care if you run Linux. They even have their own distro ( Azure Linux — previously CBL Mariner ).
Azure is the future ( even for Office ).
Since Windows is less strategic, Microsoft is looking to milk it as a cash cow while they can. So, Product Management is tasked with finding new ways to monetize it. Data is worth a lot of money. The best way to farm data from users these days is to frame it as security ( or AI ).
Expect a lot more SIngle Sign On. Expect a lot more AI. Expect a lot more cloud integration. Expect all of these to focus on data harvesting.
A bit later, expect “services” for Linux that attempt the same. Like Google on Android. This is harder though as Windows does not have monopoly control over Linux as a platform. I am sure they are having many meetings about how to change that.
OADINC
in reply to object [Object] • • •Beej Jorgensen
in reply to object [Object] • • •_____
in reply to object [Object] • • •You cannot use anything without signing up. You can't use clip champ which should require 0 Internet connectivity.
They want to act as if linking your account is a prerequisite when it's neither required or helpful
kautau
in reply to _____ • • •_____
in reply to kautau • • •kautau
in reply to _____ • • •OzoneGameDev
in reply to object [Object] • • •TheDarkQuark
in reply to object [Object] • • •I'm glad that you want to switch to Linux, but I think there'd be open source solutions for Windows too. I daily drive Linux, and I would begin with looking for open source timers if I ever need timers. Why not do the same in Windows too?
Here are a few: alternativeto.net/software/fre…
LeFantome
Unknown parent • • •Not the OP but he may mean that application authors have unintentionally made Windows a monopoly.
Either way, I am not sure I agree about the intentionality. App devs didn’t slip and support only Windows by accident. They may not have explicitly intended all the consequences of Windows monopoly but one dominant platform is an advantage for the app vendors too. Too many targets to support is part of what keeps commercial software off Linux.
The only ones hurt by a Windows monopoly are the consumers. Well, and commercial Windows alternatives obviously. But all the app makers are fine with it.
Valve ( makers of Steam ) can be seen as an alternative platform for gaming. This is why you see Valve investing so heavily in Linux even though they make all their money on Windows.
bruhSoulz
in reply to object [Object] • • •voxel
in reply to bruhSoulz • • •the calculator sends diagnostic data.
masterofn001
in reply to voxel • • •Laurel Raven
in reply to masterofn001 • • •bruhSoulz
in reply to masterofn001 • • •Trainguyrom
Unknown parent • • •Trainguyrom
Unknown parent • • •1984
in reply to object [Object] • • •fin
in reply to 1984 • • •Zeusz
Unknown parent • • •zod000
Unknown parent • • •Majestic
Unknown parent • • •If so then all the other offerings are even worse crapware.
In my experience Microsoft Office opens twice as fast reliably than LibreOffice (when I terminate the process responsible for keeping it ready it takes about the same amount of time but it's no slower importantly).
Microsoft office is simply the best. It's a fact. It can do tons of things that Libreoffice and OpenOffice cannot. It has tons of advanced features, it's just a superior office suite.
Comparing LibreOffice to Microsoft Office is like comparing a Lexus SUV with the full package of options installed compared to a basic fleet Ford sedan. Yes both can do very basic things and if you just need to type some things or do very basic spreadsheets then they're interchangeable.
But ask some slightly advanced things like sortable tables (Excel does easily) and suddenly only MS office can do that and the LibreOffice people tell you to pound sand and use a database which doesn't make sense for a lo
... show moreIf so then all the other offerings are even worse crapware.
In my experience Microsoft Office opens twice as fast reliably than LibreOffice (when I terminate the process responsible for keeping it ready it takes about the same amount of time but it's no slower importantly).
Microsoft office is simply the best. It's a fact. It can do tons of things that Libreoffice and OpenOffice cannot. It has tons of advanced features, it's just a superior office suite.
Comparing LibreOffice to Microsoft Office is like comparing a Lexus SUV with the full package of options installed compared to a basic fleet Ford sedan. Yes both can do very basic things and if you just need to type some things or do very basic spreadsheets then they're interchangeable.
But ask some slightly advanced things like sortable tables (Excel does easily) and suddenly only MS office can do that and the LibreOffice people tell you to pound sand and use a database which doesn't make sense for a lot of tasks when you may just be preparing some data for example for a presentation or some quick financial work (I'm talking about stuff for myself, not a professional accountant), etc. Take a look at design options in MS Word compared to LibreOffice writer. Both have title and header styling options but the MS office ones simply look more professional, cleaner, and they have more options you can easily tweak. If I'm presenting a report I absolutely want to do it in MS office because I can make it look neater and nicer with less effort.
Businesses use it because 1) they're used to using it, it's a standard among businesses and the public, and it's maximally compatible with files created by it so interoperability isn't an issue as long as you too use it, 2) it's the best. It has more options than others, it can do more things. It has more depth. It has extensive support and documentation and it has good integration between the different pieces of software.
It's like comparing GIMP to Photoshop. Sorry. I think FOSS is a great philosophy and I hate Microsoft and Adobe as much as anyone but in practice Photoshop is miles and miles beyond GIMP in capabilities. And this is coming from someone who has GIMP installed and not Photoshop (because PS is expensive).
The extended suite of MS office has always been meh. But it doesn't matter. Word, Excel, PowerPoint all work great and are exceptional tools at the top of their class. Could they be better? Yes. But they don't have to be the best possible, they just have to be the best compared to other offerings by a country mile and they are if your needs are any more complex than the occasional letter to grandma.
Does that mean I think people should pay for MS Office? Not when there are ways to get it free with no cracking or risk.
Daniel Quinn
Unknown parent • • •lurch (he/him)
Unknown parent • • •People can just use a different timer, use a batch script or task scheduler. I once even made a multiplatform timer for my tea myself in Java that can go to the systray.
My point is: By making it annoying, they just drive them away to the many alternatives and gain nothing. It seems like some mistake idk.
800XL
Unknown parent • • •didnt1able
in reply to object [Object] • • •kureta
Unknown parent • • •kureta
Unknown parent • • •I did not buy from the carrier. It's a OnePlus 9 Pro.
In all my phones so far, a carrier app like this is automatically installed after I boot the phone for the first time with a sim card. Going all the way back to my first android phone.
Zeusz
Unknown parent • • •kureta
Unknown parent • • •kureta
Unknown parent • • •kureta
Unknown parent • • •Christian
in reply to Daniel Quinn • • •Wind
in reply to Daniel Quinn • • •