Hashtag

#quote

366 posts tagged with this hashtag.

@RosethornRanger@spore.social

If you have done nothing wrong, you have everything to hide. You will not survive fascism by talking to the police

#1312

 A black and white picture of Anna Maria Weems became with the caption, "At 15, Anna Maria Weems became one of history's most daring escapees. Born into slavery, she disguised herself as a boy -- 'Mr. Joe Wright'-- and drove a carriage past the White House while a $500 bounty hunted her. For six weeks she hid, then traveled 500+ miles through hostile territory, even staying in slaveholders' homes, until she reached Canada. Her courage reunited her family and defied a system built to keep her enslaved. Anna Maria didn't wait to be rescued-- she claimed her freedom with ingenuity, audacity, and nerves of steel, leaving a story that inspires generations."
ALT text

A black and white picture of Anna Maria Weems became with the caption, "At 15, Anna Maria Weems became one of history's most daring escapees. Born into slavery, she disguised herself as a boy -- 'Mr. Joe Wright'-- and drove a carriage past the White House while a $500 bounty hunted her. For six weeks she hid, then traveled 500+ miles through hostile territory, even staying in slaveholders' homes, until she reached Canada. Her courage reunited her family and defied a system built to keep her enslaved. Anna Maria didn't wait to be rescued-- she claimed her freedom with ingenuity, audacity, and nerves of steel, leaving a story that inspires generations."

@paysmaths@mathstodon.xyz

"It is not correct to say, "The sum of the angles in a triangle is 180 degrees", but the correct statement of the mathematical theorem is : "If certain premises or assumptions (the 'axioms') are chosen as valid, then the sum of the angles in a triangle equals 180 degrees." But whether these premises or axioms are "true" – that is, whether they are in agreement with physical experience – or not is no part of mathematics[...]"–Charles Proteus Steinmetz (1865-1923)

Photographic portrait of  Charles Proteus Steinmetz, and a quote : "It is not correct to say, "The sum of the angles in a triangle is 180 degrees", but the correct statement of the mathematical theorem is : "If certain premises or assumptions (the 'axioms') are chosen as valid, then the sum of the angles in a triangle equals 180 degrees." But whether these premises or axioms are "true" – that is, whether they are in agreement with physical experience – or not is no part of mathematics. The only requirements are that the number of axioms be sufficiently large to build conclusions or "theorems" on them and that they be consistent with each other, that is, that one does not contradict the other."
ALT text

Photographic portrait of Charles Proteus Steinmetz, and a quote : "It is not correct to say, "The sum of the angles in a triangle is 180 degrees", but the correct statement of the mathematical theorem is : "If certain premises or assumptions (the 'axioms') are chosen as valid, then the sum of the angles in a triangle equals 180 degrees." But whether these premises or axioms are "true" – that is, whether they are in agreement with physical experience – or not is no part of mathematics. The only requirements are that the number of axioms be sufficiently large to build conclusions or "theorems" on them and that they be consistent with each other, that is, that one does not contradict the other."

@mooseandriosmom@mindly.social

“Being honest may not get you a lot of friends but it’ll always get you the right ones.”

John Lennon

@mooseandriosmom@mindly.social

“Being honest may not get you a lot of friends but it’ll always get you the right ones.”

John Lennon

@anarchistquotes@todon.eu

While we prefer the republic, we must recognise and proclaim that whatever the form of government may be, so long as human society continues to be divided into different classes as a result of the hereditary inequality of occupations, of wealth, of education, and of rights, there will always be a class-restricted government and the inevitable exploitation of the majorities by the minorities.
-- Mikhail Bakunin

@anarchistquotes@todon.eu

While we prefer the republic, we must recognise and proclaim that whatever the form of government may be, so long as human society continues to be divided into different classes as a result of the hereditary inequality of occupations, of wealth, of education, and of rights, there will always be a class-restricted government and the inevitable exploitation of the majorities by the minorities.
-- Mikhail Bakunin

@toxi@mastodon.thi.ng · Reply to Stephen Bannasch (316 ppm)

@stepheneb @RuthMalan @ewen Maybe it's a good moment to bring out some classic quotes again:

"We make our tools and then they shape us."
(not giving attribution because I've seen far too many conflicting sources for it)

"The limits of my language means the limits of my world."
— Ludwig Wittgenstein

Also this one:

"You don't need tools. You need techniques."
(here I actually don't know the source)

All of them, but especially the latter two, have been very influential on my tool-building journey and design philosophy in general. Tools are concrete instantiations of concepts, techniques, but techniques themselves are much more important, more transferable and more valuable to learn, to adopt and to internalize.

Tools are replaceable, or at least they should be.

In almost every other field of human endeavor, tools have mostly been replaceable and skills learned (aka techniques) are directly transferable. Only when it comes to software have we changed this behavior to fully bind large parts of our problem solving skills & approaches, and in many cases, our entire livelihoods, to a handful of increasingly monopolistic tool vendors, whose only interest is to extract value, bind us to their tooling, their platforms and their network effects.

I've seen this in all parts of the creative and tech industries: Help and condition people to become a power users/operators (or "thought leaders") in these insular systems, support and entice them with a few extra morsels thrown here and there to select people (e.g. sponsorship deals), dangle career opportunities, invitations to conferences/events where they sing praise to the platform lords and opportunities. In the end, this "community engagement" is all a form of marketing for these providers, platform-based nepotism, connections, revolving doors, more than about the actual work produced or transferable skills obtained.

For the longest time, I found this behavior especially predominant and so very alienating in the "creative industries", which just seemingly can't get enough of this model! Rather than investing time & effort into helping shape and co-create ownable tools and transferrable techniques themselves, to experiment and create with techniques "outside the box", for the longest time the de-facto behavior has always been to become a "company man"-type person/expert.

Narrow field experts, consultants and "platform wars" everywhere, for as long as I can remember: AtariXL vs. C64, ST vs Amiga, Flash vs. Director, Cubase vs Protools vs Ableton, Adobe vs Affinity, Houdini vs. Alias vs. Blender, Light Room vs. Dark Table, Processing vs. OpenFrameworks vs. Cinder, React vs Angular vs. Vue, C vs Rust vs Zig etc.

In some sense it doesn't even matter if these are closed or open source platforms/providers. Entire disciplines/sectors are tied up in monolithic & monopolistic tools and the streamlined visions/philosophies of their purveyors.

Every creative idea and solution is mostly approached & judged through the lenses of these tools and their capabilities. For many even only unconsciously so. Auto-pilot mode engaged.

Almost every one of these discipline-defining tools has turned into super complex bloatware, deemed necessary to establish and maintain monopoly status, cover all bases. And even though these tools have become so huge and do afford a vast spectrum of creative expressions, I've been finding it extremely disturbing and alienating that, as a social group, especially "creative" professionals are exhibiting such strong consumerist behaviors and just aren't more interested in questioning and shaping these workflows, these tools and possibilities/options themselves, seemingly unaware (or uncaring) about that second part of the first quote above:

"...and then they shape us"

@toxi@mastodon.thi.ng · Reply to Stephen Bannasch (316 ppm)

@stepheneb @RuthMalan @ewen Maybe it's a good moment to bring out some classic quotes again:

"We make our tools and then they shape us."
(not giving attribution because I've seen far too many conflicting sources for it)

"The limits of my language means the limits of my world."
— Ludwig Wittgenstein

Also this one:

"You don't need tools. You need techniques."
(here I actually don't know the source)

All of them, but especially the latter two, have been very influential on my tool-building journey and design philosophy in general. Tools are concrete instantiations of concepts, techniques, but techniques themselves are much more important, more transferable and more valuable to learn, to adopt and to internalize.

Tools are replaceable, or at least they should be.

In almost every other field of human endeavor, tools have mostly been replaceable and skills learned (aka techniques) are directly transferable. Only when it comes to software have we changed this behavior to fully bind large parts of our problem solving skills & approaches, and in many cases, our entire livelihoods, to a handful of increasingly monopolistic tool vendors, whose only interest is to extract value, bind us to their tooling, their platforms and their network effects.

I've seen this in all parts of the creative and tech industries: Help and condition people to become a power users/operators (or "thought leaders") in these insular systems, support and entice them with a few extra morsels thrown here and there to select people (e.g. sponsorship deals), dangle career opportunities, invitations to conferences/events where they sing praise to the platform lords and opportunities. In the end, this "community engagement" is all a form of marketing for these providers, platform-based nepotism, connections, revolving doors, more than about the actual work produced or transferable skills obtained.

For the longest time, I found this behavior especially predominant and so very alienating in the "creative industries", which just seemingly can't get enough of this model! Rather than investing time & effort into helping shape and co-create ownable tools and transferrable techniques themselves, to experiment and create with techniques "outside the box", for the longest time the de-facto behavior has always been to become a "company man"-type person/expert.

Narrow field experts, consultants and "platform wars" everywhere, for as long as I can remember: AtariXL vs. C64, ST vs Amiga, Flash vs. Director, Cubase vs Protools vs Ableton, Adobe vs Affinity, Houdini vs. Alias vs. Blender, Light Room vs. Dark Table, Processing vs. OpenFrameworks vs. Cinder, React vs Angular vs. Vue, C vs Rust vs Zig etc.

In some sense it doesn't even matter if these are closed or open source platforms/providers. Entire disciplines/sectors are tied up in monolithic & monopolistic tools and the streamlined visions/philosophies of their purveyors.

Every creative idea and solution is mostly approached & judged through the lenses of these tools and their capabilities. For many even only unconsciously so. Auto-pilot mode engaged.

Almost every one of these discipline-defining tools has turned into super complex bloatware, deemed necessary to establish and maintain monopoly status, cover all bases. And even though these tools have become so huge and do afford a vast spectrum of creative expressions, I've been finding it extremely disturbing and alienating that, as a social group, especially "creative" professionals are exhibiting such strong consumerist behaviors and just aren't more interested in questioning and shaping these workflows, these tools and possibilities/options themselves, seemingly unaware (or uncaring) about that second part of the first quote above:

"...and then they shape us"

@ZhiZhu@newsie.social · Reply to Robert Reich

@rbreich

“AI is the asbestos we are shovelling into the walls of our society, and our descendants will be digging it out for generations.”
- Cory Doctorow @pluralistic

Meme with a photo of Cory Doctorow on the right and text on the left:
“AI is the asbestos we are shovelling into the walls of our society, and our descendants will be digging it out for generations.”
- Cory Doctorow
Photo by Jonathan Worth
ALT text

Meme with a photo of Cory Doctorow on the right and text on the left: “AI is the asbestos we are shovelling into the walls of our society, and our descendants will be digging it out for generations.” - Cory Doctorow Photo by Jonathan Worth

@Rasta@zeroes.ca

"The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians".

British writer and activist George Monbiot.
 "The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians". 
Post shared by Mohammed Saha.
The sentiment expressed in the quote frequently circulates on social media as a critique of wealth inequality and political influence.
ALT text

British writer and activist George Monbiot. "The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians". Post shared by Mohammed Saha. The sentiment expressed in the quote frequently circulates on social media as a critique of wealth inequality and political influence.

@ZhiZhu@newsie.social · Reply to Robert Reich

@rbreich

“AI is the asbestos we are shovelling into the walls of our society, and our descendants will be digging it out for generations.”
- Cory Doctorow @pluralistic

Meme with a photo of Cory Doctorow on the right and text on the left:
“AI is the asbestos we are shovelling into the walls of our society, and our descendants will be digging it out for generations.”
- Cory Doctorow
Photo by Jonathan Worth
ALT text

Meme with a photo of Cory Doctorow on the right and text on the left: “AI is the asbestos we are shovelling into the walls of our society, and our descendants will be digging it out for generations.” - Cory Doctorow Photo by Jonathan Worth

@Rasta@zeroes.ca

"The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians".

British writer and activist George Monbiot.
 "The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians". 
Post shared by Mohammed Saha.
The sentiment expressed in the quote frequently circulates on social media as a critique of wealth inequality and political influence.
ALT text

British writer and activist George Monbiot. "The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians". Post shared by Mohammed Saha. The sentiment expressed in the quote frequently circulates on social media as a critique of wealth inequality and political influence.

@Rasta@zeroes.ca

"The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians".

British writer and activist George Monbiot.
 "The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians". 
Post shared by Mohammed Saha.
The sentiment expressed in the quote frequently circulates on social media as a critique of wealth inequality and political influence.
ALT text

British writer and activist George Monbiot. "The poor and the middle class pay taxes, the rich pay accountants, the very rich pay lawyers - and the ultra-rich pay politicians". Post shared by Mohammed Saha. The sentiment expressed in the quote frequently circulates on social media as a critique of wealth inequality and political influence.

@luizsantosmusic@mastodon.social

'If you sacrifice your art because of some woman, or some man, or for some color, or for some wealth, you can't be trusted.'
- Miles Davis

@paysmaths@mathstodon.xyz

"In my view it would be a mistake to take [Gödel's theorem] to mean that the power of the human brain is limited. The theorem says only that with a finite number of axioms one can't come up with an answer for everything. But even if a certain question lacks an answer, so long as it's been proved to be undecidable then one can nonetheless arbitrarily assign an answer to it and move on. In that case every new undecidable question gives [...]"–Alain Connes (1947-)

Photographic portrait of Alain Connes, and a quote : "In my view it would be a mistake to take [Gödel's theorem] to mean that the power of the human brain is limited. The theorem says only that with a finite number of axioms one can't come up with an answer for everything. But even if a certain question lacks an answer, so long as it's been proved to be undecidable then one can nonetheless arbitrarily assign an answer to it and move on. In that case every new undecidable question gives rise to a bifurcation that offers a choice between a positive or negative answer."
ALT text

Photographic portrait of Alain Connes, and a quote : "In my view it would be a mistake to take [Gödel's theorem] to mean that the power of the human brain is limited. The theorem says only that with a finite number of axioms one can't come up with an answer for everything. But even if a certain question lacks an answer, so long as it's been proved to be undecidable then one can nonetheless arbitrarily assign an answer to it and move on. In that case every new undecidable question gives rise to a bifurcation that offers a choice between a positive or negative answer."

@peachfiend@mastodon.sdf.org

"For some reason, the most vocal Christians among us never mention the Beatitudes. But, often with tears in their eyes, they demand that the Ten Commandments be posted in public buildings. And of course, that's Moses, not Jesus. I haven't heard one of them demand that the Sermon on the Mount, the Beatitudes, be posted anywhere. 'Blessed are the merciful' in a courtroom? 'Blessed are the peacemakers' in the Pentagon? Give me a break!"

~ Kurt Vonnegut, A Man Without a Country

@peachfiend@mastodon.sdf.org

"For some reason, the most vocal Christians among us never mention the Beatitudes. But, often with tears in their eyes, they demand that the Ten Commandments be posted in public buildings. And of course, that's Moses, not Jesus. I haven't heard one of them demand that the Sermon on the Mount, the Beatitudes, be posted anywhere. 'Blessed are the merciful' in a courtroom? 'Blessed are the peacemakers' in the Pentagon? Give me a break!"

~ Kurt Vonnegut, A Man Without a Country

@pheonix@hachyderm.io

Happy weekend everyone! Thought this was a good day to share this quote I stole from Slack 😭

"Kubernetes was built to solve Google-scale problems. You have 47 users."
ALT text

"Kubernetes was built to solve Google-scale problems. You have 47 users."

"Kubernetes was built to solve Google-scale problems. You have 47 users."
ALT text

"Kubernetes was built to solve Google-scale problems. You have 47 users."

@stefan@stefanbohacek.online · Reply to Stefan Bohacek
@paysmaths@mathstodon.xyz

"All educable human beings should know what mathematics is because their souls would grow by that. They would enjoy life more, they would understand life more, they would have greater insight." – Paul Halmos (1916-2006)

Photographic portrait of Paul Halmos, and a quote : "All educable human beings should know what mathematics is because their souls would grow by that. They would enjoy life more, they would understand life more, they would have greater insight."
ALT text

Photographic portrait of Paul Halmos, and a quote : "All educable human beings should know what mathematics is because their souls would grow by that. They would enjoy life more, they would understand life more, they would have greater insight."

@paysmaths@mathstodon.xyz

"All educable human beings should know what mathematics is because their souls would grow by that. They would enjoy life more, they would understand life more, they would have greater insight." – Paul Halmos (1916-2006)

Photographic portrait of Paul Halmos, and a quote : "All educable human beings should know what mathematics is because their souls would grow by that. They would enjoy life more, they would understand life more, they would have greater insight."
ALT text

Photographic portrait of Paul Halmos, and a quote : "All educable human beings should know what mathematics is because their souls would grow by that. They would enjoy life more, they would understand life more, they would have greater insight."

@anarchistquotes@todon.eu

If you feel the need to vote in order to avert the immediate threat of fascism, by all means do so... in the meantime, we have a new society to build.
-- Kevin Carson

@paysmaths@mathstodon.xyz

"The apex of mathematical achievement occurs when two or more fields which were thought to be entirely unrelated turn out to be closely intertwined. Mathematicians have never decided whether they should feel excited or upset by such events." – Gian-Carlo Rota (1932–1999)

Photographic portrait of Gian-Carlo Rota, and a quote : "The apex of mathematical achievement occurs when two or more fields which were thought to be entirely unrelated turn out to be closely intertwined. Mathematicians have never decided whether they should feel excited or upset by such events."
ALT text

Photographic portrait of Gian-Carlo Rota, and a quote : "The apex of mathematical achievement occurs when two or more fields which were thought to be entirely unrelated turn out to be closely intertwined. Mathematicians have never decided whether they should feel excited or upset by such events."

@fringemagnet@sunny.garden

"I know that many men and even women are afraid and angry when women do speak, because in this barbaric society, when women speak truly they speak subversively - they can't help it: if you're underneath, if you're kept down, you break out, you subvert. We are volcanoes. When we women offer our experience as our truth, as human truth, all the maps change. There are new mountains.

That's what I want - to hear you erupting. You young Mount St. Helenses who don't know the power in you - I want to hear you. I want to listen to you talking to each other and to us all: whether you're writing an article or a poem or a letter or teaching a class or talking with friends or reading a novel or making a speech or proposing a law or giving a judgement or singing the baby to sleep or discussing the fate of nations, I want to hear you. Speak with a woman's tongue. Come out and tell us what time of night it is! Don't let us sink back into silence. If we don't tell our truth, who will? Who'll speak for my children, and yours?"

— Ursula K. Le Guin, from her 1986 commencement address at Bryn Mawr College (published in Dancing at the Edge of the World: Thoughts on Words, Women, Places).

A compilation of images, from left to right:

Two women holding a sign saying "votes for Women" from the early Suffragette movement

Black Women marching during the Civil Rights movement

Women marching holding a banner saying "safe legal abortions for all women" 

Marsha P. Johnson holding a sign saying "Power to the people"
ALT text

A compilation of images, from left to right: Two women holding a sign saying "votes for Women" from the early Suffragette movement Black Women marching during the Civil Rights movement Women marching holding a banner saying "safe legal abortions for all women" Marsha P. Johnson holding a sign saying "Power to the people"

@fringemagnet@sunny.garden

"I know that many men and even women are afraid and angry when women do speak, because in this barbaric society, when women speak truly they speak subversively - they can't help it: if you're underneath, if you're kept down, you break out, you subvert. We are volcanoes. When we women offer our experience as our truth, as human truth, all the maps change. There are new mountains.

That's what I want - to hear you erupting. You young Mount St. Helenses who don't know the power in you - I want to hear you. I want to listen to you talking to each other and to us all: whether you're writing an article or a poem or a letter or teaching a class or talking with friends or reading a novel or making a speech or proposing a law or giving a judgement or singing the baby to sleep or discussing the fate of nations, I want to hear you. Speak with a woman's tongue. Come out and tell us what time of night it is! Don't let us sink back into silence. If we don't tell our truth, who will? Who'll speak for my children, and yours?"

— Ursula K. Le Guin, from her 1986 commencement address at Bryn Mawr College (published in Dancing at the Edge of the World: Thoughts on Words, Women, Places).

A compilation of images, from left to right:

Two women holding a sign saying "votes for Women" from the early Suffragette movement

Black Women marching during the Civil Rights movement

Women marching holding a banner saying "safe legal abortions for all women" 

Marsha P. Johnson holding a sign saying "Power to the people"
ALT text

A compilation of images, from left to right: Two women holding a sign saying "votes for Women" from the early Suffragette movement Black Women marching during the Civil Rights movement Women marching holding a banner saying "safe legal abortions for all women" Marsha P. Johnson holding a sign saying "Power to the people"

@fringemagnet@sunny.garden

"I know that many men and even women are afraid and angry when women do speak, because in this barbaric society, when women speak truly they speak subversively - they can't help it: if you're underneath, if you're kept down, you break out, you subvert. We are volcanoes. When we women offer our experience as our truth, as human truth, all the maps change. There are new mountains.

That's what I want - to hear you erupting. You young Mount St. Helenses who don't know the power in you - I want to hear you. I want to listen to you talking to each other and to us all: whether you're writing an article or a poem or a letter or teaching a class or talking with friends or reading a novel or making a speech or proposing a law or giving a judgement or singing the baby to sleep or discussing the fate of nations, I want to hear you. Speak with a woman's tongue. Come out and tell us what time of night it is! Don't let us sink back into silence. If we don't tell our truth, who will? Who'll speak for my children, and yours?"

— Ursula K. Le Guin, from her 1986 commencement address at Bryn Mawr College (published in Dancing at the Edge of the World: Thoughts on Words, Women, Places).

A compilation of images, from left to right:

Two women holding a sign saying "votes for Women" from the early Suffragette movement

Black Women marching during the Civil Rights movement

Women marching holding a banner saying "safe legal abortions for all women" 

Marsha P. Johnson holding a sign saying "Power to the people"
ALT text

A compilation of images, from left to right: Two women holding a sign saying "votes for Women" from the early Suffragette movement Black Women marching during the Civil Rights movement Women marching holding a banner saying "safe legal abortions for all women" Marsha P. Johnson holding a sign saying "Power to the people"

@Edent@mastodon.social
@fringemagnet@sunny.garden

"I know that many men and even women are afraid and angry when women do speak, because in this barbaric society, when women speak truly they speak subversively - they can't help it: if you're underneath, if you're kept down, you break out, you subvert. We are volcanoes. When we women offer our experience as our truth, as human truth, all the maps change. There are new mountains.

That's what I want - to hear you erupting. You young Mount St. Helenses who don't know the power in you - I want to hear you. I want to listen to you talking to each other and to us all: whether you're writing an article or a poem or a letter or teaching a class or talking with friends or reading a novel or making a speech or proposing a law or giving a judgement or singing the baby to sleep or discussing the fate of nations, I want to hear you. Speak with a woman's tongue. Come out and tell us what time of night it is! Don't let us sink back into silence. If we don't tell our truth, who will? Who'll speak for my children, and yours?"

— Ursula K. Le Guin, from her 1986 commencement address at Bryn Mawr College (published in Dancing at the Edge of the World: Thoughts on Words, Women, Places).

A compilation of images, from left to right:

Two women holding a sign saying "votes for Women" from the early Suffragette movement

Black Women marching during the Civil Rights movement

Women marching holding a banner saying "safe legal abortions for all women" 

Marsha P. Johnson holding a sign saying "Power to the people"
ALT text

A compilation of images, from left to right: Two women holding a sign saying "votes for Women" from the early Suffragette movement Black Women marching during the Civil Rights movement Women marching holding a banner saying "safe legal abortions for all women" Marsha P. Johnson holding a sign saying "Power to the people"

@Edent@mastodon.social
@fringemagnet@sunny.garden

"I know that many men and even women are afraid and angry when women do speak, because in this barbaric society, when women speak truly they speak subversively - they can't help it: if you're underneath, if you're kept down, you break out, you subvert. We are volcanoes. When we women offer our experience as our truth, as human truth, all the maps change. There are new mountains.

That's what I want - to hear you erupting. You young Mount St. Helenses who don't know the power in you - I want to hear you. I want to listen to you talking to each other and to us all: whether you're writing an article or a poem or a letter or teaching a class or talking with friends or reading a novel or making a speech or proposing a law or giving a judgement or singing the baby to sleep or discussing the fate of nations, I want to hear you. Speak with a woman's tongue. Come out and tell us what time of night it is! Don't let us sink back into silence. If we don't tell our truth, who will? Who'll speak for my children, and yours?"

— Ursula K. Le Guin, from her 1986 commencement address at Bryn Mawr College (published in Dancing at the Edge of the World: Thoughts on Words, Women, Places).

A compilation of images, from left to right:

Two women holding a sign saying "votes for Women" from the early Suffragette movement

Black Women marching during the Civil Rights movement

Women marching holding a banner saying "safe legal abortions for all women" 

Marsha P. Johnson holding a sign saying "Power to the people"
ALT text

A compilation of images, from left to right: Two women holding a sign saying "votes for Women" from the early Suffragette movement Black Women marching during the Civil Rights movement Women marching holding a banner saying "safe legal abortions for all women" Marsha P. Johnson holding a sign saying "Power to the people"

@brettezeleliquide@h4.io

rions un peu avec Franz Kafka

Federico Fellini on Franz Kafka

tags : humour absurde,

On a tendance à oublier une confession de Kafka lui-même, reprise plus tard par son biographe Max Brod. Lorsque Kafka lisait des passages du Procès ou même de La Métamorphose à ses amis, il riait si fort qu’il en pleurait. C’était sans doute un rire inquiétant, comme ceux que l’on entend dans nos rêves
ALT text

On a tendance à oublier une confession de Kafka lui-même, reprise plus tard par son biographe Max Brod. Lorsque Kafka lisait des passages du Procès ou même de La Métamorphose à ses amis, il riait si fort qu’il en pleurait. C’était sans doute un rire inquiétant, comme ceux que l’on entend dans nos rêves

@brettezeleliquide@h4.io

rions un peu avec Franz Kafka

Federico Fellini on Franz Kafka

tags : humour absurde,

On a tendance à oublier une confession de Kafka lui-même, reprise plus tard par son biographe Max Brod. Lorsque Kafka lisait des passages du Procès ou même de La Métamorphose à ses amis, il riait si fort qu’il en pleurait. C’était sans doute un rire inquiétant, comme ceux que l’on entend dans nos rêves
ALT text

On a tendance à oublier une confession de Kafka lui-même, reprise plus tard par son biographe Max Brod. Lorsque Kafka lisait des passages du Procès ou même de La Métamorphose à ses amis, il riait si fort qu’il en pleurait. C’était sans doute un rire inquiétant, comme ceux que l’on entend dans nos rêves

@pheonix@hachyderm.io

I'm so tired. People, I am not interested in reading *blogs* generated with claude, gemini or chatgpt. No, not even ones proofread by AI. Do it yourself. I do not wish to even accidentally click on "one-shotted" dummy projects. Don't show me your AI-generated analysis of anything. Above all, I do not wish to see images/artwork someone prompt created.

I value real content, with all its good and bad quirks, from actual human beings.

Somebody please normalize auto-tagging of AI generated content across all formats - text, images and code so I can blanket ban them from my personal computer.

This is a plead for help I never thought I'll have to make.

@pheonix@hachyderm.io

I'm so tired. People, I am not interested in reading *blogs* generated with claude, gemini or chatgpt. No, not even ones proofread by AI. Do it yourself. I do not wish to even accidentally click on "one-shotted" dummy projects. Don't show me your AI-generated analysis of anything. Above all, I do not wish to see images/artwork someone prompt created.

I value real content, with all its good and bad quirks, from actual human beings.

Somebody please normalize auto-tagging of AI generated content across all formats - text, images and code so I can blanket ban them from my personal computer.

This is a plead for help I never thought I'll have to make.

@JoBlakely@mastodon.social · Reply to Jo Jitsu

…And at this crucial time in our lives, when everything is so desperate, when everyday is a matter of survival, I don't think you can help but be involved. Young people, black & white, know this. That's why they're so involved in politics. We will shape & mold this country or it will not be molded & shaped at all anymore. So I don't think you have a choice. How can you be an artist and NOT reflect the times? That to me is the definition of an artist." —Nina Simone

@paysmaths@mathstodon.xyz

"The whole history of mathematics is dominated by two opposing, or at least complementary, tendencies: on the one hand, this discipline is a powerful tool for solving practical problems; on the other hand, it is an intellectual and artistic activity that prides itself on its sophistication and beauty." – Cédric Villani (1973-)

Photographic portrait of Cédric Villani, and a quote : "The whole history of mathematics is dominated by two opposing, or at least complementary, tendencies: on the one hand, this discipline is a powerful tool for solving practical problems; on the other hand, it is an intellectual and artistic activity that prides itself on its sophistication and beauty."
ALT text

Photographic portrait of Cédric Villani, and a quote : "The whole history of mathematics is dominated by two opposing, or at least complementary, tendencies: on the one hand, this discipline is a powerful tool for solving practical problems; on the other hand, it is an intellectual and artistic activity that prides itself on its sophistication and beauty."

@paysmaths@mathstodon.xyz

"The whole history of mathematics is dominated by two opposing, or at least complementary, tendencies: on the one hand, this discipline is a powerful tool for solving practical problems; on the other hand, it is an intellectual and artistic activity that prides itself on its sophistication and beauty." – Cédric Villani (1973-)

Photographic portrait of Cédric Villani, and a quote : "The whole history of mathematics is dominated by two opposing, or at least complementary, tendencies: on the one hand, this discipline is a powerful tool for solving practical problems; on the other hand, it is an intellectual and artistic activity that prides itself on its sophistication and beauty."
ALT text

Photographic portrait of Cédric Villani, and a quote : "The whole history of mathematics is dominated by two opposing, or at least complementary, tendencies: on the one hand, this discipline is a powerful tool for solving practical problems; on the other hand, it is an intellectual and artistic activity that prides itself on its sophistication and beauty."

@marisa@mastodon.scot

This quote resonates... especially now.

Sometimes it feels like I'm existing in my own little silo for self-preservation.

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.
ALT text

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.

@marisa@mastodon.scot

This quote resonates... especially now.

Sometimes it feels like I'm existing in my own little silo for self-preservation.

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.
ALT text

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.

@marisa@mastodon.scot

This quote resonates... especially now.

Sometimes it feels like I'm existing in my own little silo for self-preservation.

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.
ALT text

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.

@marisa@mastodon.scot

This quote resonates... especially now.

Sometimes it feels like I'm existing in my own little silo for self-preservation.

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.
ALT text

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.

@anarchistquotes@todon.eu

Whether individually or as a countless mass, man finds himself at the mercy of this band of drones going under the name of "governors and masters," when in reality they are nothing but straightforward exploiters and oppressors.
-- Nestor Makhno

@anarchistquotes@todon.eu

Whether individually or as a countless mass, man finds himself at the mercy of this band of drones going under the name of "governors and masters," when in reality they are nothing but straightforward exploiters and oppressors.
-- Nestor Makhno

@nando161@partyon.xyz

All dictators must understand that all the nightmares they have created for innocent people will one day come back for the dictator himself!

Mehmet Murat ildan

@nando161@partyon.xyz

All dictators must understand that all the nightmares they have created for innocent people will one day come back for the dictator himself!

Mehmet Murat ildan

@marisa@mastodon.scot

This quote resonates... especially now.

Sometimes it feels like I'm existing in my own little silo for self-preservation.

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.
ALT text

Text: Carl Jung said,(highlighted in yellow) "Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you." Loneliness is rarely about empty rooms. It is about carrying words you cannot say and truths you do not feel safe to share. Healing is learning to speak what matters most so you are no longer alone with it. This is the work of letting yourself be seen and known for who you really are.

@amalia12@mastodon.social

"An evil man will burn his own nation to the ground to rule over the ashes."

Sun Tzu
a Chinese military general, strategist, philosopher, and writer who lived during the Eastern Zhou period (771–256 BC).

@amalia12@mastodon.social

"An evil man will burn his own nation to the ground to rule over the ashes."

Sun Tzu
a Chinese military general, strategist, philosopher, and writer who lived during the Eastern Zhou period (771–256 BC).

@toxi@mastodon.thi.ng

"What is an ocean but a multitude of drops." — David Mitchell

Final tweaks (version 11 by now) of the tone curve for digital negatives for my current combination of emulsion & developer: It's pretty impressive how even minute changes to black & white points of the curve have quite noticeable impact on the rest. I've also been experimenting with reducing emulsion from 8+8+1 drops to 7+7+1 drops, but that makes that 1 drop of contrast agent ~13% stronger (too strong), also creating more grainy results.

Never underestimate the power/impact of a single drop!

Two 6x4" kallitype prints using slightly different negatives of the same image. The bottom one is slightly too dark and has very little detail in the shadows, the top one has slightly blown out highlights and a more grainy look.
ALT text

Two 6x4" kallitype prints using slightly different negatives of the same image. The bottom one is slightly too dark and has very little detail in the shadows, the top one has slightly blown out highlights and a more grainy look.

@nando161@partyon.xyz

The only way we'll get freedom for ourselves is to identify ourselves with every oppressed people in the world. We are blood brothers to the people of Brazil, Venezuela, Haiti, Cuba -- yes Cuba too.

Malcolm X

@STrekQuotes@nerdculture.de
@STrekQuotes@nerdculture.de
@ZhiZhu@newsie.social · Reply to Zhi Zhu 🕸️

"This is both kinetic warfare – bombs and missiles – and information warfare – false constructs, false narratives, false justifications.

A mass propaganda event is about to engulf the US"

-Carole Cadwalladr
broligarchy.substack.com/p/the

Meme where the background is a still from video of the US bombing Caracas, Venezuela. The text reads:
"This is both kinetic warfare – bombs and missiles – and information warfare – false constructs, false narratives, false justifications.

A mass propaganda event is about to engulf the US"
-Carole Cadwalladr
https://broligarchy.substack.com/p/the-threat-from-america 

Image: US bombs Venezuela, source: https://www.youtube.com/watch?v=aU3f2PjFilU
ALT text

Meme where the background is a still from video of the US bombing Caracas, Venezuela. The text reads: "This is both kinetic warfare – bombs and missiles – and information warfare – false constructs, false narratives, false justifications. A mass propaganda event is about to engulf the US" -Carole Cadwalladr https://broligarchy.substack.com/p/the-threat-from-america Image: US bombs Venezuela, source: https://www.youtube.com/watch?v=aU3f2PjFilU

@LEAD_Coalition@mastodon.world

When we offer care and support to people facing any of life’s myriad challenges, we lift ourselves up at the same time.

"The test of our progress is not whether we add more to the abundance of those who have much; it is whether we provide enough for those who have too little." ~ FDR, Inaugural Address, January 20, 1937.
ALT text

"The test of our progress is not whether we add more to the abundance of those who have much; it is whether we provide enough for those who have too little." ~ FDR, Inaugural Address, January 20, 1937.

@LEAD_Coalition@mastodon.world

When we offer care and support to people facing any of life’s myriad challenges, we lift ourselves up at the same time.

"The test of our progress is not whether we add more to the abundance of those who have much; it is whether we provide enough for those who have too little." ~ FDR, Inaugural Address, January 20, 1937.
ALT text

"The test of our progress is not whether we add more to the abundance of those who have much; it is whether we provide enough for those who have too little." ~ FDR, Inaugural Address, January 20, 1937.

@LEAD_Coalition@mastodon.world

When we offer care and support to people facing any of life’s myriad challenges, we lift ourselves up at the same time.

"The test of our progress is not whether we add more to the abundance of those who have much; it is whether we provide enough for those who have too little." ~ FDR, Inaugural Address, January 20, 1937.
ALT text

"The test of our progress is not whether we add more to the abundance of those who have much; it is whether we provide enough for those who have too little." ~ FDR, Inaugural Address, January 20, 1937.

@nando161@partyon.xyz

"The trouble is we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist; a refusal to admit the banality of evil and the terrible boredom of pain."

—Ursula K. Le Guin

@nando161@partyon.xyz

"The trouble is we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist; a refusal to admit the banality of evil and the terrible boredom of pain."

—Ursula K. Le Guin

@amerpie@social.lol

>“‘Virtue signaling’ is a phrase the dim and bigoted use when they want to discount other people expressing the idea that it would be nice if we could all be essentially and fundamentally decent to each other.” -- John Scalzi

@amerpie@social.lol

>“‘Virtue signaling’ is a phrase the dim and bigoted use when they want to discount other people expressing the idea that it would be nice if we could all be essentially and fundamentally decent to each other.” -- John Scalzi

@anarchistquotes@todon.eu

Dictatorship, whether it is a hydra with a hundred heads or a hundred tails, whether they are autocratic or demagogic, can certainly do nothing for liberty: it can only perpetuate slavery, morally and physically.
-- Joseph Dejacque

@sfwrtr@eldritch.cafe

Is it me, or is the new feature the MOST USELESS tool ever to be designed? It overloads a button, making you take an extra tap to boost, not to mention having to read and target a new menu with a finger or a mouse? In case you didn't know, it is hidden under the boost button in the Web UI. It allows you to quote a whole toot, annotate the quote, and ask, if necessary, if the poster will allow you to do so. The poster can revoke permission.

...to quote something, copy and paste only the content you need. Be sure to include the user's handle if you want to attribute the quote.

Nobody that would abuse quoting, that is would misappropriate or twist a toot's meaning, would use the feature. They will copy and paste. This leaves the remainder of the community doing an extra tap, with the extra dexterity required for potentially challenged users, while trying to figure out why they would use the feature in the first place.

Boost for Sample Size when you vote, please!

  • I've used the quote feature and like it.3 (19%)
  • I've used the quote feature and don't like it.2 (13%)
  • I've not used the quote feature.6 (38%)
  • What quote feature?4 (25%)
  • I left a comment.1 (6%)
@anarchistquotes@todon.eu

Drawn at first to socialism, I was not slow in separating myself from that party. I have too much love of freedom, too much respect for individual initiative, too much repugnance for military organization, to assume a number in the ordered army of the fourth estate.
-- Emile Henry

@ebinger@bildung.social

Cool, unser Server bildung.social hat jetzt die Zitierfunktion. Wer mag das hier zitieren und etwas drüberkommentieren? Will mal sehen, wie das praktisch aussieht (und ob ich es mitbekomme)

@fringemagnet@sunny.garden

“We live in a bully culture right now. We have bullies everywhere — you don’t need me to point the finger at who, but there are all these bullies. In this movie, Biff is a bully. Time is a bully. For me personally, Parkinson’s is a bully. And it’s all about how you stand up to them and the resolve that you take into the fight with them. It’s about your resilience and your courage. I think there’s a lot to that right now, I think a lot of people are responding to the movie because it strikes chords they wouldn’t otherwise recognise.” - Michael J. Fox

'Back To The Future At 40: Michael J Fox And Christopher Lloyd On Why It Still Resonates' 🔗 empireonline.com/movies/news/b

Christopher Lloyd as Doc Brown and Michael J. Fox as Marty McFly from Back to The Future. Doc is holding a large controller in his hands as they are both staring in front of them in awe.
ALT text

Christopher Lloyd as Doc Brown and Michael J. Fox as Marty McFly from Back to The Future. Doc is holding a large controller in his hands as they are both staring in front of them in awe.

@fringemagnet@sunny.garden

“We live in a bully culture right now. We have bullies everywhere — you don’t need me to point the finger at who, but there are all these bullies. In this movie, Biff is a bully. Time is a bully. For me personally, Parkinson’s is a bully. And it’s all about how you stand up to them and the resolve that you take into the fight with them. It’s about your resilience and your courage. I think there’s a lot to that right now, I think a lot of people are responding to the movie because it strikes chords they wouldn’t otherwise recognise.” - Michael J. Fox

'Back To The Future At 40: Michael J Fox And Christopher Lloyd On Why It Still Resonates' 🔗 empireonline.com/movies/news/b

Christopher Lloyd as Doc Brown and Michael J. Fox as Marty McFly from Back to The Future. Doc is holding a large controller in his hands as they are both staring in front of them in awe.
ALT text

Christopher Lloyd as Doc Brown and Michael J. Fox as Marty McFly from Back to The Future. Doc is holding a large controller in his hands as they are both staring in front of them in awe.

@paysmaths@mathstodon.xyz

"As for everything else, so for a mathematical theory – beauty can be perceived, but not explained." – Arthur Cayley (1821–1895)

Photographic portrait of Arthur Cayley, and a quote : "As for everything else, so for a mathematical theory – beauty can be perceived, but not explained."
ALT text

Photographic portrait of Arthur Cayley, and a quote : "As for everything else, so for a mathematical theory – beauty can be perceived, but not explained."

@paysmaths@mathstodon.xyz

"As for everything else, so for a mathematical theory – beauty can be perceived, but not explained." – Arthur Cayley (1821–1895)

Photographic portrait of Arthur Cayley, and a quote : "As for everything else, so for a mathematical theory – beauty can be perceived, but not explained."
ALT text

Photographic portrait of Arthur Cayley, and a quote : "As for everything else, so for a mathematical theory – beauty can be perceived, but not explained."

@blog@shkspr.mobi

You did no fact checking, and I must scream

shkspr.mobi/blog/2025/10/i-hav

I'm neither a journalist nor a professional fact checker but, the thing is, it's has never been easier to check basic facts. Yeah, sure, there's a world of misinformation out there, but it doesn't take much effort to determine if something is likely to be true.

There are brilliant tools like reverse Image Search which give you a good indicator of when an image first appeared on the web, and whether it was published by a reputable source.

You can use Google Books to check whether a quote is true.

You can use social-media searches to easily check the origin of memes.

There are vast archives of printed material to help you.

The World Wide Web has a million sites which allow you to cross-reference any citations to see if they're spurious.

Now, perhaps all that is a bit too much effort for someone casually doomscrolling and hitting "repost" for an instant dopamine hit. But it shouldn't be. And it certainly shouldn't be for people who write for trusted sources like newspapers.

Recently, the beloved actor Patricia Routledge died. Several newspapers reposted a piece of viral slop which I had debunked a month previously. Let's go through the piece and see just how easy it is to prove false.

Here's that "viral" story. I've kept to the parts which contain easily verifiable / falsifiable claims.

**“I’ll be turning 95 this coming Monday. In my younger years, I was often filled with worry — worry that I wasn’t quite good enough, that no one would cast me again, that I wouldn’t live up to my mother’s hopes. But these days begin in peace, and end in gratitude.”**

Wikpedia says that her birthday was 17 February 1929. She would have turned 95 in 2024.

Open up your calendar app. Scroll back to February 2024. What date was 17 February 2024? Saturday. Not Monday.

Now, OK, maybe at 95 she's forgotten her birthday. What else does the rest of the piece say?

My life didn’t quite take shape until my forties. I had worked steadily — on provincial stages, in radio plays, in West End productions — but I often felt adrift, as though I was searching for a home within myself that I hadn’t quite found.

In 1968, Patricia Routledge won Best Actress (Musical) at the Tony Awards - she was 39. I don't know if I'd consider appearing on Broadway as provincial stages.

At 50, I accepted a television role that many would later associate me with — Hyacinth Bucket, of Keeping Up Appearances. I thought it would be a small part in a little series. I never imagined that it would take me into people’s living rooms and hearts around the world. And truthfully, that role taught me to accept my own quirks. It healed something in me.

Keeping Up Appearances was first broadcast in 1990. Patricia was around 60, not 50, when she was cast.

While she may have thought it would only be a small series - even though it was by the creator of Open All Hours and Last of the Summer Wine - there's no way that being the lead character could be described as a "small part". She wasn't a breakout character - she was the star.

At 70, I returned to the Shakespearean stage — something I once believed I had aged out of. But this time, I had nothing to prove. I stood on those boards with stillness, and audiences felt that. I was no longer performing. I was simply being.

Wikipedia isn't always accurate, but it does list lots of her stage work. She was working steadily on stage from 1999 - when she hit 70 - but none of it Shakespeare.

I was able to do that fact checking in 10 minutes while laying in bed waiting for the bathroom to become free. It wasn't onerous. It didn't require subscriptions to professional journals. I didn't need a team of fact-checkers. It took a bit of web-sleuthing and, dare I say it, a smidgen of common sense.

And yet, a couple of newspapers ran with this utter drivel as though it were the truth. The Independent published it as part of their tribute - although they took the piece down after I emailed them. Similarly The Express ran it without any basic fact-checking (and didn't take it down after being contacted).

Both of them say their primary source is the "Jay Speak" blog. There's nothing on that blog post to say that the author interviewed Patricia Routledge. A quick check of the other posts on the site don't make it obvious that it is a reputable source of exclusive interviews with notable actors.

The date on that blog post is August 2nd, 2025. Is there anything earlier? Typing a few of the phrases into a search engine found a bunch of posts which pre-date it. The earliest I can find was this Instagram post and this Facebook post both from the 24th of July - a week early than the Jay Speaks post.

To be clear, I don't think Jay Speaks was deliberately trying to fool journalists or hoax anyone. They simply saw an interesting looking post and re-shared it. I also suspect the Facebook and Instagram posts were copied from other sources - but I've been unable to find anything definitive.

I would expect that professional journalists at well-established newspapers to be able to call an actor's agent to fact-check a piece before running it. If they can't, I would have thought they'd do a cursory fact check.

But, no. I presume the rush to publish is so great that it over-rides any sense of whether a piece should be accurate.

This is irresponsible. Last week saw the BBC air an outright lie on Have I Got News For You. A professional TV company, with a budget for lawyers, fact checkers, and researchers - and they just broadcast easily disproven lies. Why? Maybe hubris, maybe laziness, maybe deliberate rabble-rousing.

The media have comprehensively failed us. They will repeat any tawdry nonsense as long as it keeps people clicking. It's up to us to defend ourselves and our friends against this unending tsunami of low-grade slurry.

I hope I've demonstrated that it takes almost no effort to perform a basic fact check. It isn't a professional skill. It doesn't require anything more than an Internet connection and a curious mind. If you see something online, take a moment to check it before sharing it.

Stopping misinformation starts with you.

bsky.app

James O'Malley (@jamesomalley.co.uk)

Looks like last night’s episode has been pulled from iPlayer now. (It was series 70, episode 1). [contains quote post or other embedded content]

@blog@shkspr.mobi

You did no fact checking, and I must scream

shkspr.mobi/blog/2025/10/i-hav

I'm neither a journalist nor a professional fact checker but, the thing is, it's has never been easier to check basic facts. Yeah, sure, there's a world of misinformation out there, but it doesn't take much effort to determine if something is likely to be true.

There are brilliant tools like reverse Image Search which give you a good indicator of when an image first appeared on the web, and whether it was published by a reputable source.

You can use Google Books to check whether a quote is true.

You can use social-media searches to easily check the origin of memes.

There are vast archives of printed material to help you.

The World Wide Web has a million sites which allow you to cross-reference any citations to see if they're spurious.

Now, perhaps all that is a bit too much effort for someone casually doomscrolling and hitting "repost" for an instant dopamine hit. But it shouldn't be. And it certainly shouldn't be for people who write for trusted sources like newspapers.

Recently, the beloved actor Patricia Routledge died. Several newspapers reposted a piece of viral slop which I had debunked a month previously. Let's go through the piece and see just how easy it is to prove false.

Here's that "viral" story. I've kept to the parts which contain easily verifiable / falsifiable claims.

**“I’ll be turning 95 this coming Monday. In my younger years, I was often filled with worry — worry that I wasn’t quite good enough, that no one would cast me again, that I wouldn’t live up to my mother’s hopes. But these days begin in peace, and end in gratitude.”**

Wikpedia says that her birthday was 17 February 1929. She would have turned 95 in 2024.

Open up your calendar app. Scroll back to February 2024. What date was 17 February 2024? Saturday. Not Monday.

Now, OK, maybe at 95 she's forgotten her birthday. What else does the rest of the piece say?

My life didn’t quite take shape until my forties. I had worked steadily — on provincial stages, in radio plays, in West End productions — but I often felt adrift, as though I was searching for a home within myself that I hadn’t quite found.

In 1968, Patricia Routledge won Best Actress (Musical) at the Tony Awards - she was 39. I don't know if I'd consider appearing on Broadway as provincial stages.

At 50, I accepted a television role that many would later associate me with — Hyacinth Bucket, of Keeping Up Appearances. I thought it would be a small part in a little series. I never imagined that it would take me into people’s living rooms and hearts around the world. And truthfully, that role taught me to accept my own quirks. It healed something in me.

Keeping Up Appearances was first broadcast in 1990. Patricia was around 60, not 50, when she was cast.

While she may have thought it would only be a small series - even though it was by the creator of Open All Hours and Last of the Summer Wine - there's no way that being the lead character could be described as a "small part". She wasn't a breakout character - she was the star.

At 70, I returned to the Shakespearean stage — something I once believed I had aged out of. But this time, I had nothing to prove. I stood on those boards with stillness, and audiences felt that. I was no longer performing. I was simply being.

Wikipedia isn't always accurate, but it does list lots of her stage work. She was working steadily on stage from 1999 - when she hit 70 - but none of it Shakespeare.

I was able to do that fact checking in 10 minutes while laying in bed waiting for the bathroom to become free. It wasn't onerous. It didn't require subscriptions to professional journals. I didn't need a team of fact-checkers. It took a bit of web-sleuthing and, dare I say it, a smidgen of common sense.

And yet, a couple of newspapers ran with this utter drivel as though it were the truth. The Independent published it as part of their tribute - although they took the piece down after I emailed them. Similarly The Express ran it without any basic fact-checking (and didn't take it down after being contacted).

Both of them say their primary source is the "Jay Speak" blog. There's nothing on that blog post to say that the author interviewed Patricia Routledge. A quick check of the other posts on the site don't make it obvious that it is a reputable source of exclusive interviews with notable actors.

The date on that blog post is August 2nd, 2025. Is there anything earlier? Typing a few of the phrases into a search engine found a bunch of posts which pre-date it. The earliest I can find was this Instagram post and this Facebook post both from the 24th of July - a week early than the Jay Speaks post.

To be clear, I don't think Jay Speaks was deliberately trying to fool journalists or hoax anyone. They simply saw an interesting looking post and re-shared it. I also suspect the Facebook and Instagram posts were copied from other sources - but I've been unable to find anything definitive.

I would expect that professional journalists at well-established newspapers to be able to call an actor's agent to fact-check a piece before running it. If they can't, I would have thought they'd do a cursory fact check.

But, no. I presume the rush to publish is so great that it over-rides any sense of whether a piece should be accurate.

This is irresponsible. Last week saw the BBC air an outright lie on Have I Got News For You. A professional TV company, with a budget for lawyers, fact checkers, and researchers - and they just broadcast easily disproven lies. Why? Maybe hubris, maybe laziness, maybe deliberate rabble-rousing.

The media have comprehensively failed us. They will repeat any tawdry nonsense as long as it keeps people clicking. It's up to us to defend ourselves and our friends against this unending tsunami of low-grade slurry.

I hope I've demonstrated that it takes almost no effort to perform a basic fact check. It isn't a professional skill. It doesn't require anything more than an Internet connection and a curious mind. If you see something online, take a moment to check it before sharing it.

Stopping misinformation starts with you.

bsky.app

James O'Malley (@jamesomalley.co.uk)

Looks like last night’s episode has been pulled from iPlayer now. (It was series 70, episode 1). [contains quote post or other embedded content]

@bonfire@indieweb.social

🔥 Consent-based quoting has arrived in Bonfire!

The latest Bonfire Social release implements Mastodon's FEP-044f, enabling you to:
✨ Use boundaries to define who can quote your post, who must request first, or who cannot request at all.
✨ Quote — or request consent to quote — someone else’s post.
✨ Give or withdraw consent at any time.

A first step toward making quoting work smoothly and respectfully across the fediverse.

Read more about 1.0 RC3: bonfirenetworks.org/posts/bonf

several screenshots of the quote flow in bonfire
ALT text

several screenshots of the quote flow in bonfire

@bonfire@indieweb.social

🔥 Consent-based quoting has arrived in Bonfire!

The latest Bonfire Social release implements Mastodon's FEP-044f, enabling you to:
✨ Use boundaries to define who can quote your post, who must request first, or who cannot request at all.
✨ Quote — or request consent to quote — someone else’s post.
✨ Give or withdraw consent at any time.

A first step toward making quoting work smoothly and respectfully across the fediverse.

Read more about 1.0 RC3: bonfirenetworks.org/posts/bonf

several screenshots of the quote flow in bonfire
ALT text

several screenshots of the quote flow in bonfire

@bonfire@indieweb.social

🔥 Consent-based quoting has arrived in Bonfire!

The latest Bonfire Social release implements Mastodon's FEP-044f, enabling you to:
✨ Use boundaries to define who can quote your post, who must request first, or who cannot request at all.
✨ Quote — or request consent to quote — someone else’s post.
✨ Give or withdraw consent at any time.

A first step toward making quoting work smoothly and respectfully across the fediverse.

Read more about 1.0 RC3: bonfirenetworks.org/posts/bonf

several screenshots of the quote flow in bonfire
ALT text

several screenshots of the quote flow in bonfire

@bonfire@indieweb.social

🔥 Consent-based quoting has arrived in Bonfire!

The latest Bonfire Social release implements Mastodon's FEP-044f, enabling you to:
✨ Use boundaries to define who can quote your post, who must request first, or who cannot request at all.
✨ Quote — or request consent to quote — someone else’s post.
✨ Give or withdraw consent at any time.

A first step toward making quoting work smoothly and respectfully across the fediverse.

Read more about 1.0 RC3: bonfirenetworks.org/posts/bonf

several screenshots of the quote flow in bonfire
ALT text

several screenshots of the quote flow in bonfire

@bonfire@indieweb.social

🔥 Consent-based quoting has arrived in Bonfire!

The latest Bonfire Social release implements Mastodon's FEP-044f, enabling you to:
✨ Use boundaries to define who can quote your post, who must request first, or who cannot request at all.
✨ Quote — or request consent to quote — someone else’s post.
✨ Give or withdraw consent at any time.

A first step toward making quoting work smoothly and respectfully across the fediverse.

Read more about 1.0 RC3: bonfirenetworks.org/posts/bonf

several screenshots of the quote flow in bonfire
ALT text

several screenshots of the quote flow in bonfire

@paysmaths@mathstodon.xyz

"Science attempts to find logic and simplicity in nature. Mathematics attempts to establish order and simplicity in human thought." – Edward Teller (1908–2003)

Photographic portrait of Edward Teller, and a quote : "Science attempts to find logic and simplicity in nature. Mathematics attempts to establish order and simplicity in human thought."
ALT text

Photographic portrait of Edward Teller, and a quote : "Science attempts to find logic and simplicity in nature. Mathematics attempts to establish order and simplicity in human thought."

@paysmaths@mathstodon.xyz

"Science attempts to find logic and simplicity in nature. Mathematics attempts to establish order and simplicity in human thought." – Edward Teller (1908–2003)

Photographic portrait of Edward Teller, and a quote : "Science attempts to find logic and simplicity in nature. Mathematics attempts to establish order and simplicity in human thought."
ALT text

Photographic portrait of Edward Teller, and a quote : "Science attempts to find logic and simplicity in nature. Mathematics attempts to establish order and simplicity in human thought."

@appassionato@mastodon.social

“The British Mandate ended 77 years ago – the English rule of oppression from that time is well remembered and will no longer determine anything for the State of Israel,” Gallant said.

Remember the historic role of the UK in this. It all started with the Balfour Declaration when the UK said that there could be a home for Jewish people in Palestine, and then the UK controlled Palestine as a British mandate for about 30 years.




@Pepijn@mastodon.online

Testing the new function.

mastodon.online

Pepijn (@Pepijn@mastodon.online)

Attached: 1 image Toddler and I are doing some #CrossBorderRail. I'm both super looking forward to it and massively crossing my fingers DB does its job well :-)

@Pepijn@mastodon.online

Toddler and I are doing some . I'm both super looking forward to it and massively crossing my fingers DB does its job well :-)

Kolding station. The DSB vectron with IC mod carriages just rolled it. Toddler is chilling
ALT text

Kolding station. The DSB vectron with IC mod carriages just rolled it. Toddler is chilling

@anarchistquotes@todon.eu

As early as World War I, American historians offered themselves to President Woodrow Wilson to carry out a task they called "historical engineering," by which they meant designing the facts of history so that they would serve state police.
-- Noam Chomsky

@anarchistquotes@todon.eu

While we prefer the republic, we must recognise and proclaim that whatever the form of government may be, so long as human society continues to be divided into different classes as a result of the hereditary inequality of occupations, of wealth, of education, and of rights, there will always be a class-restricted government and the inevitable exploitation of the majorities by the minorities.
-- Mikhail Bakunin

@nando161@partyon.xyz

(…) a convict said to Mr. Davitt: "Religion robs the soul of its independence; patriotism is the stupid worship of the world for which the well-being and the peace of the inhabitants were sacrificed by those who profit by it, while the laws of the land, in restraining natural desires, were waging war on the manifest spirit of the law of our beings. Compared with this," he concluded, "thieving is an honorable pursuit.”

- Anarchism and Other Essays, Emma Goldman

@paysmaths@mathstodon.xyz

"The Babylonian and Assyrian civilizations have perished ; Hammurabi, Sargon, and Nebuchadnezzar are empty names; yet Babylonian mathematics is still interesting, and the Babylonian scale of 60 is still used in astronomy." – Godfrey Harold Hardy (1877–1947)

Photographic portrait of Godfrey Harold Hardy, and a quote : "The Babylonian and Assyrian civilizations have perished ; Hammurabi, Sargon, and Nebuchadnezzar are empty names; yet Babylonian mathematics is still interesting, and the Babylonian scale of 60 is still used in astronomy."
ALT text

Photographic portrait of Godfrey Harold Hardy, and a quote : "The Babylonian and Assyrian civilizations have perished ; Hammurabi, Sargon, and Nebuchadnezzar are empty names; yet Babylonian mathematics is still interesting, and the Babylonian scale of 60 is still used in astronomy."

@paysmaths@mathstodon.xyz

"The Babylonian and Assyrian civilizations have perished ; Hammurabi, Sargon, and Nebuchadnezzar are empty names; yet Babylonian mathematics is still interesting, and the Babylonian scale of 60 is still used in astronomy." – Godfrey Harold Hardy (1877–1947)

Photographic portrait of Godfrey Harold Hardy, and a quote : "The Babylonian and Assyrian civilizations have perished ; Hammurabi, Sargon, and Nebuchadnezzar are empty names; yet Babylonian mathematics is still interesting, and the Babylonian scale of 60 is still used in astronomy."
ALT text

Photographic portrait of Godfrey Harold Hardy, and a quote : "The Babylonian and Assyrian civilizations have perished ; Hammurabi, Sargon, and Nebuchadnezzar are empty names; yet Babylonian mathematics is still interesting, and the Babylonian scale of 60 is still used in astronomy."

@paysmaths@mathstodon.xyz

"The apex of mathematical achievement occurs when two or more fields which were thought to be entirely unrelated turn out to be closely intertwined. Mathematicians have never decided whether they should feel excited or upset by such events." – Gian-Carlo Rota (1932–1999)

Photographic portrait of Gian-Carlo Rota, and a quote : "The apex of mathematical achievement occurs when two or more fields which were thought to be entirely unrelated turn out to be closely intertwined. Mathematicians have never decided whether they should feel excited or upset by such events."
ALT text

Photographic portrait of Gian-Carlo Rota, and a quote : "The apex of mathematical achievement occurs when two or more fields which were thought to be entirely unrelated turn out to be closely intertwined. Mathematicians have never decided whether they should feel excited or upset by such events."

@paysmaths@mathstodon.xyz

"Every teacher of secondary and college mathematics should know the history of mathematics. There are many reasons, but perhaps the most important is that it is a guide to pedagogy." – Morris Kline (1908–1992)

Quote from Morris Kline : "Every teacher of secondary and college mathematics should know the history of mathematics. There are many reasons, but perhaps the most important is that it is a guide to pedagogy."
ALT text

Quote from Morris Kline : "Every teacher of secondary and college mathematics should know the history of mathematics. There are many reasons, but perhaps the most important is that it is a guide to pedagogy."

@paysmaths@mathstodon.xyz

"Every teacher of secondary and college mathematics should know the history of mathematics. There are many reasons, but perhaps the most important is that it is a guide to pedagogy." – Morris Kline (1908–1992)

Quote from Morris Kline : "Every teacher of secondary and college mathematics should know the history of mathematics. There are many reasons, but perhaps the most important is that it is a guide to pedagogy."
ALT text

Quote from Morris Kline : "Every teacher of secondary and college mathematics should know the history of mathematics. There are many reasons, but perhaps the most important is that it is a guide to pedagogy."

@anarchistquotes@todon.eu

The fact that modern wars are fewer in number can hardly be considered a praiseworthy contribution to peace if we take into account the misery they spread from one end of the world to the other.
-- Leopold Kohr

@anarchistquotes@todon.eu

The fact that modern wars are fewer in number can hardly be considered a praiseworthy contribution to peace if we take into account the misery they spread from one end of the world to the other.
-- Leopold Kohr

@danish_akhtar7@mastodon.social

Many people that I know personally have unfollowed me on Instagram while I was still following them. To me, this is Betrayal. If you unfollow someone on any social media, then make sure that you also remove that person from your followers list.

@toxi@mastodon.thi.ng

"New technologies, when introduced, are typically given names that overstate their capabilities, usually by equating them with existing familiar systems or technological artefacts. For example the first computers in the 1940s and 1950s, often little more than glorified electric adding machines, were nevertheless described as “electronic brains”. More recently, large language models (LLMs) have been touted as “artificial intelligence”, and complex physics experiments have been touted as “quantum computers”. In order to avoid any confusion with actual computers like the VIC-20 with which they have nothing in common, we refer to them here as “physics experiments”."

waldvogel.family/@marcel/11486

waldvogel.family

Marcel Waldvogel (@marcel@waldvogel.family)

Earlier this week, Peter Gutmann and @sten@chaos.social published a bombshell paper: The looked at all the reported factorization "breakthroughs" in quantum computing. And found that all of them essentially were magician's tricks, "sleight of hand". The two reconstructed the algorithms used on a 1981 home computer (a million times less powerful than what you hold in your hand now), an #Abacus and with a #dog. #VIC20 #VC20 https://eprint.iacr.org/2025/1237

@yongzs1218@pari.cafe

The famous quotes from The Biography of Guo Tuo-tuo, the Tree Planter (種樹郭橐駝傳):

Quotes on Tree-Planting Experience

"橐駝非能使木壽且孳也,能順木之天,以致其性焉爾。"
- Translation: Tuo-tuo isn't able to make trees live long and flourish; he simply follows their natural tendencies, allowing their inherent nature to fully develop.
- Explanation: This reveals that the fundamental key to successful tree planting lies in following natural laws.
"其本欲舒,其培欲平,其土欲故,其築欲密。"
- Translation: Its roots should be spread out, the soil around its base should be level, the earth should be its original soil, and the tamping should be firm.
- Explanation: This summarizes the specific essentials of tree planting, emphasizing adherence to the trees' growth habits.
"其蒔也若子,其置也若棄。"
- Translation: When planting, treat it like a child; once planted, leave it as if abandoned.
- Explanation: This explains the wisdom of appropriate care and letting go, avoiding excessive interference.

Quotes Criticizing Improper Tree-Planting Methods
"雖曰愛之,其實害之;雖曰憂之,其實讎之。"
- Translation: Although they say they love it, they are actually harming it; although they say they worry about it, they are actually its enemy.
- Explanation: This points out that excessive care can be counterproductive, drawing a parallel to inappropriate methods of education and management.

Quotes Extended to Governance
"見長人者好煩其令,若甚憐焉,而卒以禍。"
- Translation: Seeing those in power who love to issue numerous commands, as if showing great compassion, but ultimately bringing disaster.
- Explanation: This critiques officials who issue tedious and disruptive policies, causing harm to the people, echoing the principles of tree planting.
"傳其事以爲官戒也。"
- Translation: I record this matter as a warning for officials.
- Explanation: This clarifies the purpose of the essay, emphasizing the use of the tree-planting wisdom to caution those in power.

@MarionKuchenny@hessen.social

Wenn ein Schulsystem nicht mehr mit dem Anteil von Kindern mit Migrationsgeschichte zurechtkommt, sind nicht die Kinder das Problem, sondern das System.

@MarionKuchenny@hessen.social

Wenn ein Schulsystem nicht mehr mit dem Anteil von Kindern mit Migrationsgeschichte zurechtkommt, sind nicht die Kinder das Problem, sondern das System.

@anarchistquotes@todon.eu

He who attempts to control another is a governor, an aggressor, an invader; and the nature of such invasion is not changed, whether it is made by one man upon another man, after the manner of the ordinary criminal, or by one man upon all other men, after the manner of an absolute monarch, or by all other men upon one man, after the manner of a modern democracy.
-- Benjamin Tucker

@paysmaths@mathstodon.xyz

"If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood." – Alfréd Rényi (1921-1970)

Quote from Alfréd Rényi : "If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood."
ALT text

Quote from Alfréd Rényi : "If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood."

@paysmaths@mathstodon.xyz

"If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood." – Alfréd Rényi (1921-1970)

Quote from Alfréd Rényi : "If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood."
ALT text

Quote from Alfréd Rényi : "If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood."

@paysmaths@mathstodon.xyz

"If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood." – Alfréd Rényi (1921-1970)

Quote from Alfréd Rényi : "If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood."
ALT text

Quote from Alfréd Rényi : "If I'm in a bad mood, I do mathematics to be in a good mood. If I'm in a good mood, I do mathematics to stay in a good mood."

@paysmaths@mathstodon.xyz

"An idea applied once is a trick. If you apply it twice, it becomes a method." – George Polya (1887-1985) and Gábor Szegő (1895-1985)

Quote from George Polya and Gábor Szegő : "An idea applied once is a trick. If you apply it twice, it becomes a method."
ALT text

Quote from George Polya and Gábor Szegő : "An idea applied once is a trick. If you apply it twice, it becomes a method."

@paysmaths@mathstodon.xyz

"An idea applied once is a trick. If you apply it twice, it becomes a method." – George Polya (1887-1985) and Gábor Szegő (1895-1985)

Quote from George Polya and Gábor Szegő : "An idea applied once is a trick. If you apply it twice, it becomes a method."
ALT text

Quote from George Polya and Gábor Szegő : "An idea applied once is a trick. If you apply it twice, it becomes a method."

@anarchistquotes@todon.eu

Anarchism does not mean bloodshed; it does not mean robbery, arson, etc. These monstrosities are, on the contrary, the characteristic features of capitalism. Anarchism, or socialism, means the reorganization of society upon scientific principles and the abolition of causes which produce vice and crime. Capitalism first produces these social diseases and then seeks to cure them by punishment.
-- August Spies

@paysmaths@mathstodon.xyz

"It may well be doubted whether, in all the range of Science, there is any field so fascinating to the explorer – so rich in hidden treasures – so fruitful in delightful surprises – as that of Pure Mathematics. The charm lies chiefly, I think, in the absolute certainty of its results: for that is what, beyond almost all mental treasures, the human intellect craves for." – Lewis Carroll (1832-1898)

Photographic portrait of Lewis Carroll, and a quote : "It may well be doubted whether, in all the range of Science, there is any field so fascinating to the explorer – so rich in hidden treasures – so fruitful in delightful surprises – as that of Pure Mathematics. The charm lies chiefly, I think, in the absolute certainty of its results: for that is what, beyond almost all mental treasures, the human intellect craves for."
ALT text

Photographic portrait of Lewis Carroll, and a quote : "It may well be doubted whether, in all the range of Science, there is any field so fascinating to the explorer – so rich in hidden treasures – so fruitful in delightful surprises – as that of Pure Mathematics. The charm lies chiefly, I think, in the absolute certainty of its results: for that is what, beyond almost all mental treasures, the human intellect craves for."

@paysmaths@mathstodon.xyz

"It may well be doubted whether, in all the range of Science, there is any field so fascinating to the explorer – so rich in hidden treasures – so fruitful in delightful surprises – as that of Pure Mathematics. The charm lies chiefly, I think, in the absolute certainty of its results: for that is what, beyond almost all mental treasures, the human intellect craves for." – Lewis Carroll (1832-1898)

Photographic portrait of Lewis Carroll, and a quote : "It may well be doubted whether, in all the range of Science, there is any field so fascinating to the explorer – so rich in hidden treasures – so fruitful in delightful surprises – as that of Pure Mathematics. The charm lies chiefly, I think, in the absolute certainty of its results: for that is what, beyond almost all mental treasures, the human intellect craves for."
ALT text

Photographic portrait of Lewis Carroll, and a quote : "It may well be doubted whether, in all the range of Science, there is any field so fascinating to the explorer – so rich in hidden treasures – so fruitful in delightful surprises – as that of Pure Mathematics. The charm lies chiefly, I think, in the absolute certainty of its results: for that is what, beyond almost all mental treasures, the human intellect craves for."

@paysmaths@mathstodon.xyz

"Mathematics as an expression of the human mind reflects the active will, the contemplative reason, and the desire for aesthetic perfection. Its basic elements are logic and intuition, analysis and construction, generality and individuality." – Richard Courant and Herbert Robbins

Quote from Richard Courant and Herbert Robbins : "Mathematics as an expression of the human mind reflects the active will, the contemplative reason, and the desire for aesthetic perfection. Its basic elements are logic and intuition, analysis and construction, generality and individuality."
ALT text

Quote from Richard Courant and Herbert Robbins : "Mathematics as an expression of the human mind reflects the active will, the contemplative reason, and the desire for aesthetic perfection. Its basic elements are logic and intuition, analysis and construction, generality and individuality."

@paysmaths@mathstodon.xyz

"Mathematics as an expression of the human mind reflects the active will, the contemplative reason, and the desire for aesthetic perfection. Its basic elements are logic and intuition, analysis and construction, generality and individuality." – Richard Courant and Herbert Robbins

Quote from Richard Courant and Herbert Robbins : "Mathematics as an expression of the human mind reflects the active will, the contemplative reason, and the desire for aesthetic perfection. Its basic elements are logic and intuition, analysis and construction, generality and individuality."
ALT text

Quote from Richard Courant and Herbert Robbins : "Mathematics as an expression of the human mind reflects the active will, the contemplative reason, and the desire for aesthetic perfection. Its basic elements are logic and intuition, analysis and construction, generality and individuality."

@stefan@gardenstate.social

"the best career advice I ever got was that every time you do well in your career you're going to get to choose between power and autonomy and you should always choose autonomy" - David Peirce - The Vergecast

"the best career advice I ever got was that every time you do well in your career you're going to get to choose between power and autonomy and you should always choose autonomy" - David Peirce - The Vergecast
ALT text

"the best career advice I ever got was that every time you do well in your career you're going to get to choose between power and autonomy and you should always choose autonomy" - David Peirce - The Vergecast

@wist@my-place.social

A quotation from Hannah Arendt

The chief reason warfare is still with us is neither a secret death-wish of the human species, nor an irrepressible instinct of aggression, nor, finally and more plausibly, the serious economic and social dangers inherent in disarmament, but the simple fact that no substitute for this final arbiter in international affairs has yet appeared on the political scene.

Hannah Arendt (1906-1975) German-American philosopher, political theorist
Essay (1969-02-27), “Reflections on Violence,” The New York Review of Books


Sourcing, notes: wist.info/arendt-hannah/42970/

@wist@my-place.social

A quotation from Hannah Arendt

The chief reason warfare is still with us is neither a secret death-wish of the human species, nor an irrepressible instinct of aggression, nor, finally and more plausibly, the serious economic and social dangers inherent in disarmament, but the simple fact that no substitute for this final arbiter in international affairs has yet appeared on the political scene.

Hannah Arendt (1906-1975) German-American philosopher, political theorist
Essay (1969-02-27), “Reflections on Violence,” The New York Review of Books


Sourcing, notes: wist.info/arendt-hannah/42970/

@quickquotes@nrw.social

“It is really hard to be lonely very long in a world of words. Even if you don't have friends somewhere, you still have language, and it will find you and wrap its little syllables around you and suddenly there will be a story to live in.”
― Naomi Shihab Nye

@quickquotes@nrw.social

“It is really hard to be lonely very long in a world of words. Even if you don't have friends somewhere, you still have language, and it will find you and wrap its little syllables around you and suddenly there will be a story to live in.”
― Naomi Shihab Nye

@amalia12@mastodon.social
"The exercise of imagination is
dangerous to those who profit
from the way things are because
it has the power to show that the
way things are is not permanent,
not universal, not necessary."
URSULA K. LE GUIN
"A WAR WITHOUT END"
ALT text

"The exercise of imagination is dangerous to those who profit from the way things are because it has the power to show that the way things are is not permanent, not universal, not necessary." URSULA K. LE GUIN "A WAR WITHOUT END"

@amalia12@mastodon.social
"The exercise of imagination is
dangerous to those who profit
from the way things are because
it has the power to show that the
way things are is not permanent,
not universal, not necessary."
URSULA K. LE GUIN
"A WAR WITHOUT END"
ALT text

"The exercise of imagination is dangerous to those who profit from the way things are because it has the power to show that the way things are is not permanent, not universal, not necessary." URSULA K. LE GUIN "A WAR WITHOUT END"

@metin@graphics.social

"𝙿𝚎𝚘𝚙𝚕𝚎 𝚠𝚒𝚕𝚕 𝚌𝚘𝚖𝚎 𝚝𝚘 𝚕𝚘𝚟𝚎 𝚝𝚑𝚎𝚒𝚛 𝚘𝚙𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗, 𝚝𝚘 𝚊𝚍𝚘𝚛𝚎 𝚝𝚑𝚎 𝚝𝚎𝚌𝚑𝚗𝚘𝚕𝚘𝚐𝚒𝚎𝚜 𝚝𝚑𝚊𝚝 𝚞𝚗𝚍𝚘 𝚝𝚑𝚎𝚒𝚛 𝚌𝚊𝚙𝚊𝚌𝚒𝚝𝚒𝚎𝚜 𝚝𝚘 𝚝𝚑𝚒𝚗𝚔."

─ 𝘕𝘦𝘪𝘭 𝘗𝘰𝘴𝘵𝘮𝘢𝘯

@stefan@gardenstate.social

"the best career advice I ever got was that every time you do well in your career you're going to get to choose between power and autonomy and you should always choose autonomy" - David Peirce - The Vergecast

"the best career advice I ever got was that every time you do well in your career you're going to get to choose between power and autonomy and you should always choose autonomy" - David Peirce - The Vergecast
ALT text

"the best career advice I ever got was that every time you do well in your career you're going to get to choose between power and autonomy and you should always choose autonomy" - David Peirce - The Vergecast

@metin@graphics.social

"𝙿𝚎𝚘𝚙𝚕𝚎 𝚠𝚒𝚕𝚕 𝚌𝚘𝚖𝚎 𝚝𝚘 𝚕𝚘𝚟𝚎 𝚝𝚑𝚎𝚒𝚛 𝚘𝚙𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗, 𝚝𝚘 𝚊𝚍𝚘𝚛𝚎 𝚝𝚑𝚎 𝚝𝚎𝚌𝚑𝚗𝚘𝚕𝚘𝚐𝚒𝚎𝚜 𝚝𝚑𝚊𝚝 𝚞𝚗𝚍𝚘 𝚝𝚑𝚎𝚒𝚛 𝚌𝚊𝚙𝚊𝚌𝚒𝚝𝚒𝚎𝚜 𝚝𝚘 𝚝𝚑𝚒𝚗𝚔."

─ 𝘕𝘦𝘪𝘭 𝘗𝘰𝘴𝘵𝘮𝘢𝘯

@amalia12@mastodon.social
"The exercise of imagination is
dangerous to those who profit
from the way things are because
it has the power to show that the
way things are is not permanent,
not universal, not necessary."
URSULA K. LE GUIN
"A WAR WITHOUT END"
ALT text

"The exercise of imagination is dangerous to those who profit from the way things are because it has the power to show that the way things are is not permanent, not universal, not necessary." URSULA K. LE GUIN "A WAR WITHOUT END"

Voltaire had some bangers:

“It is hard to free fools from the chains they revere.”

“Those who can make you believe absurdities, can make you commit atrocities.”

“Prejudices are what fools use for reason.”

@paysmaths@mathstodon.xyz

"There is a real joy in doing mathematics, in learning ways of thinking that explain and organize and simplify. One can feel this joy discovering new mathematics, rediscovering old mathematics, learning a way of thinking from a person or text, or finding a new way to explain or to view an old mathematical structure." – William Thurston (1946-2012)

Photographic portrait of William Thurston, and a quote : "There is a real joy in doing mathematics, in learning ways of thinking that explain and organize and simplify. One can feel this joy discovering new mathematics, rediscovering old mathematics, learning a way of thinking from a person or text, or finding a new way to explain or to view an old mathematical structure."
ALT text

Photographic portrait of William Thurston, and a quote : "There is a real joy in doing mathematics, in learning ways of thinking that explain and organize and simplify. One can feel this joy discovering new mathematics, rediscovering old mathematics, learning a way of thinking from a person or text, or finding a new way to explain or to view an old mathematical structure."

@paysmaths@mathstodon.xyz

"There is a real joy in doing mathematics, in learning ways of thinking that explain and organize and simplify. One can feel this joy discovering new mathematics, rediscovering old mathematics, learning a way of thinking from a person or text, or finding a new way to explain or to view an old mathematical structure." – William Thurston (1946-2012)

Photographic portrait of William Thurston, and a quote : "There is a real joy in doing mathematics, in learning ways of thinking that explain and organize and simplify. One can feel this joy discovering new mathematics, rediscovering old mathematics, learning a way of thinking from a person or text, or finding a new way to explain or to view an old mathematical structure."
ALT text

Photographic portrait of William Thurston, and a quote : "There is a real joy in doing mathematics, in learning ways of thinking that explain and organize and simplify. One can feel this joy discovering new mathematics, rediscovering old mathematics, learning a way of thinking from a person or text, or finding a new way to explain or to view an old mathematical structure."

@Suzdal92@beige.party

Yes to this.

Unlearn shame. All kinds of shame: abuse, unemployment, sickness, vulnerability, longing, desire, mistakes, failures. You need not be ashamed of what you're feeling or living. Freedom and shame cannot coexist.
ALT text

Unlearn shame. All kinds of shame: abuse, unemployment, sickness, vulnerability, longing, desire, mistakes, failures. You need not be ashamed of what you're feeling or living. Freedom and shame cannot coexist.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@librarian@library.hrmtc.com
Hermetic quote Fisher Capitalist Realism relationship capitalism eco disaster neither coincidental nor accidental constantly expanding market growth fetish opposed any notion sustainability
ALT text

Hermetic quote Fisher Capitalist Realism relationship capitalism eco disaster neither coincidental nor accidental constantly expanding market growth fetish opposed any notion sustainability

@librarian@library.hrmtc.com
Hermetic quote Fisher Capitalist Realism relationship capitalism eco disaster neither coincidental nor accidental constantly expanding market growth fetish opposed any notion sustainability
ALT text

Hermetic quote Fisher Capitalist Realism relationship capitalism eco disaster neither coincidental nor accidental constantly expanding market growth fetish opposed any notion sustainability

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@jupiter_rowland@hub.netzgemeinde.eu · Reply to BotKit by Fedify :botkit:
@BotKit by Fedify :botkit: Be aware that quotes and quote-posts are two different things, and both exist in the Fediverse. At least Friendica, Hubzilla, (streams) and Forte can generate both.

This is a quote, like in every bulletin-board forum out there:

Coming soon in #BotKit 0.2.0: Native #quote post support!


Or this, but it has to be coded manually into the comment's source code:

BotKit by Fedify :botkit: wrote:
Coming soon in #BotKit 0.2.0: Native #quote post support!


This is a quote-post a.k.a. shared post a.k.a. quoted share:

BotKit by Fedify :botkit:BotKit by Fedify :botkit: wrote the following post Mon, 21 Apr 2025 05:51:28 +0200
Coming soon in #BotKit 0.2.0: Native #quote post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:Here's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!

#fedidev


Also, Friendica, Hubzilla, (streams) and Forte handle quote-posts a lot differently from Misskey and the Forkeys.

Misskey and the Forkeys do quote-posts like so:

RE: https://hollo.social/@botkit/01965678-eb56-7003-9c91-07e4418bf63a

At least on Hubzilla, (streams) and Forte, a quote-post starts out like this:

[share⁠=74153074][/share]

Upon sending the post, this piece of BBcode is changed into a full, dumb copy of the original post, led in by a line that says who posted this first, complete with a link to the profile, and that also links to the original. The original poster is being notified about this (unless they chose not to), but if the original post is edited, the edit is not forwarded to quote-posted copies.

#Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Misskey #Forkey #Forkeys #Friendica #Hubzilla #Streams #(streams) #Forte #Quotes #QuotePost #QuotePosts #QuoteTweet #QuoteTweets #QuoteToot #QuoteToots #QuoteBoost #QuoteBoosts

hub.netzgemeinde.eu

Netzgemeinde/Hubzilla

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

Coming soon in 0.2.0: Native post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:

// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

jsr.io

@fedify/botkit - JSR

@fedify/botkit on JSR: A framework for creating ActivityPub bots

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@botkit@hollo.social

Coming soon in 0.2.0: Native post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:

// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

jsr.io

@fedify/botkit - JSR

@fedify/botkit on JSR: A framework for creating ActivityPub bots

@botkit@hollo.social

Coming soon in 0.2.0: Native post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:

// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

jsr.io

@fedify/botkit - JSR

@fedify/botkit on JSR: A framework for creating ActivityPub bots

@botkit@hollo.social

Coming soon in 0.2.0: Native post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:

// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

jsr.io

@fedify/botkit - JSR

@fedify/botkit on JSR: A framework for creating ActivityPub bots

@botkit@hollo.social

Coming soon in 0.2.0: Native post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:

// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

jsr.io

@fedify/botkit - JSR

@fedify/botkit on JSR: A framework for creating ActivityPub bots

@botkit@hollo.social

Coming soon in 0.2.0: Native post support!

We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // The quote parameter is a Message object representing the post that quoted your bot
  await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
  
  // You can access the original quoted message
  const originalPost = quote.quoteTarget;
  console.log(`Original message: ${originalPost?.text}`);
};

And creating quote posts is just as simple:

// Quote in a new post
await session.publish(
  text`I'm quoting this interesting message!`,
  { quoteTarget: someMessage }
);

// Or quote in a reply
await message.reply(
  text`Interesting point! I'm quoting another relevant post here.`,
  { quoteTarget: anotherMessage }
);

Remember that quoting behavior may vary across different implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

jsr.io

@fedify/botkit - JSR

@fedify/botkit on JSR: A framework for creating ActivityPub bots

@metin@graphics.social

"𝚆𝚑𝚎𝚗 𝚙𝚕𝚞𝚗𝚍𝚎𝚛 𝚋𝚎𝚌𝚘𝚖𝚎𝚜 𝚊 𝚠𝚊𝚢 𝚘𝚏 𝚕𝚒𝚏𝚎 𝚏𝚘𝚛 𝚊 𝚐𝚛𝚘𝚞𝚙 𝚘𝚏 𝚖𝚎𝚗 𝚒𝚗 𝚊 𝚜𝚘𝚌𝚒𝚎𝚝𝚢, 𝚘𝚟𝚎𝚛 𝚝𝚑𝚎 𝚌𝚘𝚞𝚛𝚜𝚎 𝚘𝚏 𝚝𝚒𝚖𝚎 𝚝𝚑𝚎𝚢 𝚌𝚛𝚎𝚊𝚝𝚎 𝚏𝚘𝚛 𝚝𝚑𝚎𝚖𝚜𝚎𝚕𝚟𝚎𝚜 𝚊 𝚕𝚎𝚐𝚊𝚕 𝚜𝚢𝚜𝚝𝚎𝚖 𝚝𝚑𝚊𝚝 𝚊𝚞𝚝𝚑𝚘𝚛𝚒𝚣𝚎𝚜 𝚒𝚝 𝚊𝚗𝚍 𝚊 𝚖𝚘𝚛𝚊𝚕 𝚌𝚘𝚍𝚎 𝚝𝚑𝚊𝚝 𝚐𝚕𝚘𝚛𝚒𝚏𝚒𝚎𝚜 𝚒𝚝."

─ 𝘍𝘳𝘦𝘥𝘦𝘳𝘪𝘤 𝘉𝘢𝘴𝘵𝘪𝘢𝘵 (1801 – 1850)

@LEAD_Coalition@mastodon.world

In a world beset by unfathomable cruelty, we need more soft hearts filled with the to care for all humankind.

"Having a soft heart in a cruel world is courage, not weakness." ~ Katherine Henson
ALT text

"Having a soft heart in a cruel world is courage, not weakness." ~ Katherine Henson

@LEAD_Coalition@mastodon.world

In a world beset by unfathomable cruelty, we need more soft hearts filled with the to care for all humankind.

"Having a soft heart in a cruel world is courage, not weakness." ~ Katherine Henson
ALT text

"Having a soft heart in a cruel world is courage, not weakness." ~ Katherine Henson

@toxi@mastodon.thi.ng

The map is not the terrain.

With all the new updates this week, a reminder that LLMs are an excellent illustration of the attempted shifts to redefine what we usually call art (and knowledge/skill) to be almost entirely separate from its creation process and from its original meaning, context, environment and situation which lead to its creation. Being trained on digital reproductions of artworks and some select metadata, these models are fundamentally constrained to identify patterns for regenerating simulacra, their usage purely symbolic — a user-driven form of meme-style cultural sampling, pure semiotic “affiliation by association”, a kitschy clip-art-esque usage of looks, styles and aesthetics, entirely decoupled and devoid of history, meaning, context, incentives and other factors of (art) making/learning. A total lack of embodiment. Make this look like that. Baby portraits in Rembrandt's style, Ghibli used for PFPs or to create Neo-Nazi propaganda. Who cares?!

The great homogenizer.

Even for me as an artist primarily using non-LLM-based generative techniques for 25+ years, training a model on a corpus of my own works and then having it churn out new derivations, other than a case study, it would completely counter any of the creative & systemic investigations I'm after with most of my works. LLMs turn everything into a sampling and prompting workflow. Replicating a (non-existent) house style is the very thing I'm least interested in!

Triteness re-invented.

Removed from any original intentions of the consumed works enslaved in their training corpus, ignorant to the emotional states of their creators, free from the pains and joys and myriads of micro-decisions of art making, of the social context and the limitations (physical, material, skill) which led people to search for expressing their inner thoughts & feelings via artistic means... AI enthusiasts celebrate this new contextual freedom as creative breakthrough, but it’s always the same underlying sentiment behind: “The final original idea was that everything had already been done before.”

The Exascale mindset.

From the ravenous assembling of training datasets by ferociously crawling & harvesting absolutely anything which can be possibly found and accessed online, entirely disregarding author & privacy rights and social/technical contracts of acceptable use, the energy consumption for model training at a scale competing with developed nation states, to the abrasive social and political engineering and the artificial inflation of framing this tech as beneficial and inevitable to our societies. Most of the news & tech media, always hungry for clickbait, YouTubers able to create decades’ worth of new content — everyone happily lapping up any press-releases and amplifying the hype. Are there any responsible adults left where it currently matters most?

This ignorance-by-design isn’t about LLMs or their impact on art: The wider discussion is about how a tiny group of people with access to quasi-unlimited resources, capital and politicians is attempting to redefine what human culture is and to treat it (us) like just another large-scale mining operation, converting millennia of lived human experience, learning & suffering into monopolized resources for total extraction/monetization, filtered, curated, controlled and eventually sold back as de facto truth, with original provenance and meaning annihilated or vastly distorted to fit new purposes and shifting priorities/politics...

Don’t let the map become the terrain!

---

Two quotes by Friedrich A. Kittler as related food for thought:

“What remains of people is what media can store and communicate.”

“Understanding media is an impossibility, because conversely, the prevailing communication techniques remote-control all understanding and create all of its illusions.”

@breton@climatejustice.social · Reply to Félicien Breton 🍉 🔻 🌱

"Let’s take that number-one narrative, which is I was taught to treat everyone the same. You know, actually no one was - or could be taught to treat everyone the same. We can’t do it. We don’t do it."

"A white progressive generally believes niceness is all that it takes. As long as I’m nice and friendly, I’m finished. And niceness not only is not courageous. But niceness is not going to get racism on the table."

NPR’s Jennifer Ludden talks to author Robin DiAngelo about her book, "White Fragility: Why It’s So Hard For White People To Talk About Racism": npr.org/2018/08/18/639822895/r

npr.org

Robin DiAngelo On White People's 'Fragility'

NPR's Jennifer Ludden talks to author Robin DiAngelo about her latest book, White Fragility: Why It's So Hard For White People To Talk About Racism.

@toxi@mastodon.thi.ng

Just made my day: "I somehow made it to March 2025 before being aware of thi.ng/ - an incredible mountain of code created primarily by a prolific genius, full of ideas that are like catnip to me."

😂

kylecordes.com/2025/typescript

(Also, to clarify, even though thi.ng/hiccup and a small selection of other thi.ng libs started out porting concepts widely used in Clojure (the language I spent 7 years with previously), in many cases the scope, features, usability & potential use cases have been far extended far beyond their "originals" and it sometimes saddens me that these are often just plainly ignored or mis-labeled/described...)

kylecordes.com

TypeScript HTML generation on the server – Kyle Cordes

@ghostdancer@mastodon.sdf.org

good and strong dear fedizens
Being a Thursday I think I should share a Hitchhiker's Guide to the Galaxy .
"The regular early morning yell of horror was the sound of Arthur Dent waking up and suddenly remembering where he was."

@LEAD_Coalition@mastodon.world

As carers, we don't need anyone imposing their judgment on us. We welcome those who offer and tangible support.

We need to dispel the myth that empathy is “walking in someone else’s shoes.” Rather than walking in your shoes, | need to learn how to listen to the story you tell about what it’s like in your shoes & believe you even when it doesn’t match my experiences. 

~ Brene Brown
ALT text

We need to dispel the myth that empathy is “walking in someone else’s shoes.” Rather than walking in your shoes, | need to learn how to listen to the story you tell about what it’s like in your shoes & believe you even when it doesn’t match my experiences. ~ Brene Brown

@LEAD_Coalition@mastodon.world

As carers, we don't need anyone imposing their judgment on us. We welcome those who offer and tangible support.

We need to dispel the myth that empathy is “walking in someone else’s shoes.” Rather than walking in your shoes, | need to learn how to listen to the story you tell about what it’s like in your shoes & believe you even when it doesn’t match my experiences. 

~ Brene Brown
ALT text

We need to dispel the myth that empathy is “walking in someone else’s shoes.” Rather than walking in your shoes, | need to learn how to listen to the story you tell about what it’s like in your shoes & believe you even when it doesn’t match my experiences. ~ Brene Brown

@anarchistquotes@todon.eu

England is a prison. The variety of subtleties in the laws preserved by the sword are bolts, bars, and doors of the prison; the lawyers are the jailors; and poor men are the prisoners.
-- Gerrard Winstanley

@paysmaths@mathstodon.xyz

"[Mathematical induction] is a tool that allows us to move from the finite to the infinite. This tool is always useful because it allows us to skip as many steps as we want, sparing us long, tedious, and monotonous verifications that would quickly become impractical. However, it becomes indispensable as soon as we aim at the general theorem, whose analytical verification would bring us closer and closer [...]" – Henri Poincaré (1854-1912)

Photographic portrait of Henri Poincaré, and a quote : "[Mathematical induction] is a tool that allows us to move from the finite to the infinite. This tool is always useful because it allows us to skip as many steps as we want, sparing us long, tedious, and monotonous verifications that would quickly become impractical. However, it becomes indispensable as soon as we aim at the general theorem, whose analytical verification would bring us closer and closer without ever allowing us to reach it."
ALT text

Photographic portrait of Henri Poincaré, and a quote : "[Mathematical induction] is a tool that allows us to move from the finite to the infinite. This tool is always useful because it allows us to skip as many steps as we want, sparing us long, tedious, and monotonous verifications that would quickly become impractical. However, it becomes indispensable as soon as we aim at the general theorem, whose analytical verification would bring us closer and closer without ever allowing us to reach it."

@paysmaths@mathstodon.xyz

"[Mathematical induction] is a tool that allows us to move from the finite to the infinite. This tool is always useful because it allows us to skip as many steps as we want, sparing us long, tedious, and monotonous verifications that would quickly become impractical. However, it becomes indispensable as soon as we aim at the general theorem, whose analytical verification would bring us closer and closer [...]" – Henri Poincaré (1854-1912)

Photographic portrait of Henri Poincaré, and a quote : "[Mathematical induction] is a tool that allows us to move from the finite to the infinite. This tool is always useful because it allows us to skip as many steps as we want, sparing us long, tedious, and monotonous verifications that would quickly become impractical. However, it becomes indispensable as soon as we aim at the general theorem, whose analytical verification would bring us closer and closer without ever allowing us to reach it."
ALT text

Photographic portrait of Henri Poincaré, and a quote : "[Mathematical induction] is a tool that allows us to move from the finite to the infinite. This tool is always useful because it allows us to skip as many steps as we want, sparing us long, tedious, and monotonous verifications that would quickly become impractical. However, it becomes indispensable as soon as we aim at the general theorem, whose analytical verification would bring us closer and closer without ever allowing us to reach it."

@paysmaths@mathstodon.xyz

"Proof assistants are in the core of my approach to univalent foundations. These foundations are only possible because there are proof assistants, because they are much more complex without using computers to manipulate the formulas that are needed. Of course my original goal was not to create new foundations for mathematics, I hadn't thought about it at all [...]" – Vladimir Voevodsky (1966-2017)

Photographic portrait of Vladimir Voevodsky, and a quote : "Proof assistants are in the core of my approach to univalent foundations. These foundations are only possible because there are proof assistants, because they are much more complex without using computers to manipulate the formulas that are needed. Of course my original goal was not to create new foundations for mathematics, I hadn't thought about it at all. My original goal was and remains to contribute to the creation of a usable proof assistant."
ALT text

Photographic portrait of Vladimir Voevodsky, and a quote : "Proof assistants are in the core of my approach to univalent foundations. These foundations are only possible because there are proof assistants, because they are much more complex without using computers to manipulate the formulas that are needed. Of course my original goal was not to create new foundations for mathematics, I hadn't thought about it at all. My original goal was and remains to contribute to the creation of a usable proof assistant."

@paysmaths@mathstodon.xyz

"Proof assistants are in the core of my approach to univalent foundations. These foundations are only possible because there are proof assistants, because they are much more complex without using computers to manipulate the formulas that are needed. Of course my original goal was not to create new foundations for mathematics, I hadn't thought about it at all [...]" – Vladimir Voevodsky (1966-2017)

Photographic portrait of Vladimir Voevodsky, and a quote : "Proof assistants are in the core of my approach to univalent foundations. These foundations are only possible because there are proof assistants, because they are much more complex without using computers to manipulate the formulas that are needed. Of course my original goal was not to create new foundations for mathematics, I hadn't thought about it at all. My original goal was and remains to contribute to the creation of a usable proof assistant."
ALT text

Photographic portrait of Vladimir Voevodsky, and a quote : "Proof assistants are in the core of my approach to univalent foundations. These foundations are only possible because there are proof assistants, because they are much more complex without using computers to manipulate the formulas that are needed. Of course my original goal was not to create new foundations for mathematics, I hadn't thought about it at all. My original goal was and remains to contribute to the creation of a usable proof assistant."

@NickEast@geekdom.social

“There is some good in this world, and it’s worth fighting for.”
-Samwise Gamgee (Movie version)

@libraries @librarians @bookbubble @bookstodon




Picture of a cubical that's half bussiness, half nursery.
Caption: My library installed a cubical for adults to study in if they can't leave their kids at home.
ALT text

Picture of a cubical that's half bussiness, half nursery. Caption: My library installed a cubical for adults to study in if they can't leave their kids at home.

@NickEast@geekdom.social

“There is some good in this world, and it’s worth fighting for.”
-Samwise Gamgee (Movie version)

@libraries @librarians @bookbubble @bookstodon




Picture of a cubical that's half bussiness, half nursery.
Caption: My library installed a cubical for adults to study in if they can't leave their kids at home.
ALT text

Picture of a cubical that's half bussiness, half nursery. Caption: My library installed a cubical for adults to study in if they can't leave their kids at home.

@NickEast@geekdom.social

“There is some good in this world, and it’s worth fighting for.”
-Samwise Gamgee (Movie version)

@libraries @librarians @bookbubble @bookstodon




Picture of a cubical that's half bussiness, half nursery.
Caption: My library installed a cubical for adults to study in if they can't leave their kids at home.
ALT text

Picture of a cubical that's half bussiness, half nursery. Caption: My library installed a cubical for adults to study in if they can't leave their kids at home.

@LEAD_Coalition@mastodon.world

In all the years I cared for my brilliant, beloved dad as took him away piece by piece, I experienced enormous sadness but was spared anger because I had the loving support of family and friends. I was fortunate.

(image: @tinybuddha)

"Someone said anger is sadness that has nowhere to go for a very long time, and I'll never forget it."
ALT text

"Someone said anger is sadness that has nowhere to go for a very long time, and I'll never forget it."

@LEAD_Coalition@mastodon.world

In all the years I cared for my brilliant, beloved dad as took him away piece by piece, I experienced enormous sadness but was spared anger because I had the loving support of family and friends. I was fortunate.

(image: @tinybuddha)

"Someone said anger is sadness that has nowhere to go for a very long time, and I'll never forget it."
ALT text

"Someone said anger is sadness that has nowhere to go for a very long time, and I'll never forget it."

@anarchistquotes@todon.eu

The law is an adroit mixture of customs that are beneficial to society, and could be followed even if no law existed, and others that are of advantage to a ruling minority, but harmful to the masses of men, and can be enforced on them only by terror.
-- Peter Kropotkin

@anarchistquotes@todon.eu

The sworn enemy of your emancipation is the state: it is best embodied by the union of these five stereotypes: the property-owner, the soldier, the judge, the priest and the one who serves them all, the intellectual.
-- Nestor Makhno

@KeithDJohnson@sfba.social
Quote from Catch 22 by Joseph Heller: It was miraculous. It was almost no trick at all, he saw, to turn vice into virtue & slander into truth, impotence into abstinence, arrogance into humility, plunder into philanthropy, thievery into honor, blasphemy into wisdom, brutality into wisdom, & sadism into justice. Anybody could do it; it required no brains at all. I merely required no character. 
A photo of Trump included as an example.
ALT text

Quote from Catch 22 by Joseph Heller: It was miraculous. It was almost no trick at all, he saw, to turn vice into virtue & slander into truth, impotence into abstinence, arrogance into humility, plunder into philanthropy, thievery into honor, blasphemy into wisdom, brutality into wisdom, & sadism into justice. Anybody could do it; it required no brains at all. I merely required no character. A photo of Trump included as an example.

@KeithDJohnson@sfba.social
Quote from Catch 22 by Joseph Heller: It was miraculous. It was almost no trick at all, he saw, to turn vice into virtue & slander into truth, impotence into abstinence, arrogance into humility, plunder into philanthropy, thievery into honor, blasphemy into wisdom, brutality into wisdom, & sadism into justice. Anybody could do it; it required no brains at all. I merely required no character. 
A photo of Trump included as an example.
ALT text

Quote from Catch 22 by Joseph Heller: It was miraculous. It was almost no trick at all, he saw, to turn vice into virtue & slander into truth, impotence into abstinence, arrogance into humility, plunder into philanthropy, thievery into honor, blasphemy into wisdom, brutality into wisdom, & sadism into justice. Anybody could do it; it required no brains at all. I merely required no character. A photo of Trump included as an example.

@anarchistquotes@todon.eu

If a man walk in the woods for love of them half of each day, he is in danger of being regarded as a loafer; but if he spends his whole day as a speculator, shearing off those woods and making earth bald before her time, he is esteemed an industrious and enterprising citizen.
-- Henry David Thoreau

@znetwork@mastodon.social

Plato got it right:

"One of the penalties for refusing to participate in politics is that you end up being governed by your inferiors."

There is no such thing as being apolitical, only complicity.

An generated image of a statue of a greek philosopher. The head is molded in white stone, with a full beard and deep, fetureless eyes.
ALT text

An generated image of a statue of a greek philosopher. The head is molded in white stone, with a full beard and deep, fetureless eyes.

@tivasyk@mycrowd.ca
#quote | «back when I was younger, my friend Yury Afanasyev, a brilliant historian, said that Russian literature was one of the most fertile sources of Russian nationalism».

everyone needs to read this interview with mr. kasparov.

https://kyivindependent.com/garry-kasparov-without-decisive-military-defeat-there-wont-be-change-in-russia/

#quote | «The war in Ukraine has shown us that when we celebrated the fall of communism in 1991, we failed to grasp that communism was merely a facade for an underlying imperialist matrix».

#quote | «What's tragic is that even now, after so much blood has been spilled, there are still people in the free world trying to find some kind of compromise or middle ground to return to. What they fail to recognize is that you cannot negotiate with this kind of evil [...]».

#quote | «the cowardly stance of the free world has left Ukraine with very few options on the table».

#quote | «I haven't heard of mass desertion in the Russian military, just some desertion, but not on a large scale. These are orders being carried out, and many acts of cruelty show this isn't just about Putin; it's a mentality. Ignoring this and claiming it's all Putin's doing is an attempt to distort the truth».

#quote | «We must support Ukraine's victory in this war. You never hear them say Ukraine must win. It's always about stopping the war, but at this point, maybe even Putin wants to stop it for his own reasons».

mycrowd.ca

My Crowd

@jcmacomber@mastodon.online

Profound

S

"Man surprised me most about humanity.Because he sacrifices his health in order to make money. Then he sacrifices money to recuperate his health.And then he is so anxious about the future that he does not enjoy the present; the result being that he does not live in the present or the future; he lives as if he is never going to die, and then dies having never really lived."

~DALAI LAMA
ALT text

S "Man surprised me most about humanity.Because he sacrifices his health in order to make money. Then he sacrifices money to recuperate his health.And then he is so anxious about the future that he does not enjoy the present; the result being that he does not live in the present or the future; he lives as if he is never going to die, and then dies having never really lived." ~DALAI LAMA

@LEAD_Coalition@mastodon.world

isn’t always a choice. But how you give care and how it changes what you value in life, those are choices.

“There are only four kinds of people in the world. Those who have been caregivers. Those who are currently caregivers. Those who will be caregivers, and those who will need a caregiver.” ~ Rosalynn Carter
ALT text

“There are only four kinds of people in the world. Those who have been caregivers. Those who are currently caregivers. Those who will be caregivers, and those who will need a caregiver.” ~ Rosalynn Carter

@LEAD_Coalition@mastodon.world

Especially in the early stages, a person living with disease or another form of may not need your , but they will need your support. Rather than treating them as dependent, empower them to get the most from their own abilities.

If you see someone falling behind, walk beside them. If you see someone being ignored, find a way to include them. If someone has been knocked down, lift them up. Always remind people of their worth. One small act could mean the world to them.
ALT text

If you see someone falling behind, walk beside them. If you see someone being ignored, find a way to include them. If someone has been knocked down, lift them up. Always remind people of their worth. One small act could mean the world to them.

@breton@climatejustice.social · Reply to Félicien Breton 🍉 🔻 🌱

"Let’s take that number-one narrative, which is I was taught to treat everyone the same. You know, actually no one was - or could be taught to treat everyone the same. We can’t do it. We don’t do it."

"A white progressive generally believes niceness is all that it takes. As long as I’m nice and friendly, I’m finished. And niceness not only is not courageous. But niceness is not going to get racism on the table."

NPR’s Jennifer Ludden talks to author Robin DiAngelo about her book, "White Fragility: Why It’s So Hard For White People To Talk About Racism": npr.org/2018/08/18/639822895/r

npr.org

Robin DiAngelo On White People's 'Fragility'

NPR's Jennifer Ludden talks to author Robin DiAngelo about her latest book, White Fragility: Why It's So Hard For White People To Talk About Racism.

@breton@climatejustice.social · Reply to Félicien Breton 🍉 🔻 🌱
@breton@climatejustice.social

First Worldism—“the loss of the prerogative, only and always, to be the one who transgresses the sovereign boundaries of other states, but never to be in the position of having one’s own boundaries transgressed.”
—Judith Butler, J. (2009). ‘Violence, mourning, politics’, in Harding, J. and Pribram, D. eds., Emotions: A Cultural Studies Reader. London: Routledge, pp. 387–402.

🧵 @socialpsych@a.gup.pe

@tivasyk@mastodon.social · Reply to UniversityofGroningenLibrary

| «Opaque algorithms can hinder rational debate and create echo chambers, which are antithetical to the academic pursuit of knowledge. Just as commercial social media platforms have been corrupted by profit-driven interests, academic online spaces – intended for open discourse and nuanced debate – face similar threats, including the amplification of sensationalism over thoughtful discussion».

well worth reading for those not in academia:

rug.nl/library/open-access/blo

@StephenRamirez@universeodon.com

I’m voting for Kamala Harris not in spite of being a Republican or a conservative, but because I’m a conservative. Conservatives first and foremost believe in the rule of law. And to have a former president who lost a free and fair election then attempted to overturn that election. How can any conservative support such a person? — former. GOP Sen. Jeff Flake

@anarchistquotes@todon.eu

In order to destroy an effect you must first destroy the cause. If there is theft it is only because there is abundance on one hand and famine on the other; because everything only belongs to some. The struggle will only disappear when men will put their joys and suffering in common, their labors and their riches, when all will belong to everyone.
-- Marius Jacob

@YMItalking@vivaldi.net

“I used to think I was the strangest person in the world but then I thought there are so many people in the world, there must be someone just like me who feels bizarre and flawed in the same ways I do… Well, I hope that if you are out there and read this and know that, yes, it’s true I’m here, and I’m just as strange as you.” ~ Frida Kahlo

Close up of a pink five-petal bloom of which two are smaller and darker in color and a yellow center with a blurred back ground of other blooms of the same plant in front of a brown wooded bench and other plants next to and behind it.
ALT text

Close up of a pink five-petal bloom of which two are smaller and darker in color and a yellow center with a blurred back ground of other blooms of the same plant in front of a brown wooded bench and other plants next to and behind it.

@YMItalking@vivaldi.net

"Let us develop respect for all living things. Let us try to replace violence and intolerance with understanding and compassion. And love." ~ Jane Goodall

Branch of green long needles of a coniferous tree with blurred flowering plants below and a tree trunk in the background.
ALT text

Branch of green long needles of a coniferous tree with blurred flowering plants below and a tree trunk in the background.

@YMItalking@vivaldi.net

"As the eagle was killed by the arrow winged with his own feather, so the hand of the world is wounded by its own skill.." ~ Helen Keller

Close up side view of a pale yellow multi-petal bloom with a raised textured center with a crown of yellow stamen surrounding a light green and yellow center on the top surface of the raised center.
ALT text

Close up side view of a pale yellow multi-petal bloom with a raised textured center with a crown of yellow stamen surrounding a light green and yellow center on the top surface of the raised center.

@YMItalking@vivaldi.net

"Like music and art, love of nature is a common language that can transcend political or social boundaries." ~ Jimmy Carter

View of a park next to a lake with long shadows from the trees on the mown lawn and across the bike path that runs alongside the park. A large metal sculpture stands in the distance near the lake and a bus stop sign between the bike path and the street with a cloudless blue sky above. A soccer goal net is on the right side of the view and a partial view of a parking lot on the left side.
ALT text

View of a park next to a lake with long shadows from the trees on the mown lawn and across the bike path that runs alongside the park. A large metal sculpture stands in the distance near the lake and a bus stop sign between the bike path and the street with a cloudless blue sky above. A soccer goal net is on the right side of the view and a partial view of a parking lot on the left side.

@YMItalking@vivaldi.net

"Fall has always been my favorite season. The time when everything bursts with its last beauty, as if nature had been saving up all year for the grand finale." ~ Lauren DeStefano, Wither

Close up of an orange and brown butterfly feeding on the yellow center of a white petal daisy. Other daisies blooms (and one past bloom) are in the background.
ALT text

Close up of an orange and brown butterfly feeding on the yellow center of a white petal daisy. Other daisies blooms (and one past bloom) are in the background.

@tomek@mastodon.online

„A university degree, four books and hundreds of articles and I still make mistakes when reading. You wrote me „Good morning” and I read it as „I love you”.
– Mahmoud Darwish

@anarchistquotes@todon.eu

If a man walk in the woods for love of them half of each day, he is in danger of being regarded as a loafer; but if he spends his whole day as a speculator, shearing off those woods and making earth bald before her time, he is esteemed an industrious and enterprising citizen.
-- Henry David Thoreau

@toxi@mastodon.thi.ng · Reply to Mountain Mindset

@mountainmindset I'm far from being religious, but I always found the bible quote below very poetic & inspiring in this sense you're describing. I.e. given sufficient amount of time (and the capability to observe its passing over millions of years), even mountains/ranges/continents are somewhat behaving/flowing like water... rising/ebbing, protruding/eroding, pushing/shoving, dissolving... like watching timelapses of clouds (limited to our tiny temporal scale/perception)

"The mountains melted from before the lord" (Judges 5:5)

This insight has essentially also been the basis of a lot of simulation & generative and evolutionary design work I've been doing over the years... (all based on essentially controlling time at will, especially when creating/working with your own tools...)

@anarchistquotes@todon.eu

The revolution, in my opinion, comrade delegates, is not, and cannot be, the work of a party. A party does not carry out a revolution; a party cannot do more than organize a coup d'etat and a coup d'etat is not a revolution.
-- Angel Pestana

@StephenRamirez@universeodon.com

The share price of Trump Media, whose majority shareholder is former President Donald , fell Tuesday to the lowest level seen since the Truth Social parent company began public trading in March following a merger. DJT shares dropped to $17.89 per share around midday Tuesday, The stock’s prior low was set on Aug. 28, when it hit $19.38 per share. The stock price is down roughly 77% from its high of $79.38 per share on March 26, following Trump Media’s merger with a publicly traded special purpose acquisition company. Trump Media’s latest drop comes just weeks before Trump, who owns almost 59% of DJT’s outstanding shares, and other company executives can cash in on the falling stock. Trump’s stake was worth over $2 billion as of Tuesday. If Trump does take the payday, investors’ doubts about the company could intensify, potentially triggering a broader selloff of the stock — Rebecca Picciotto

@StephenRamirez@universeodon.com

We have the money, the power, the medical understanding, the scientific know-how, the love and the community to produce a kind of human paradise. But we are led by the least among us – the least intelligent, the least noble, the least visionary — Terence McKenna

@nando161@theblower.au

Between 1945 and 2000, the US intervened in 81 consequential elections worldwide, including eight times in Italy, five in Japan, and many more in Latin America. Between 1958 and 1975, military coups, many of them American-sponsored, changed governments in three dozen nations—a quarter of the world’s sovereign states—fostering a distinct “reverse wave” in the global trend toward democracy.

- Alfred W. McCoy, To Govern the Globe: World Orders and Catastrophic Change

@niika@mastodon.social

„We're made up of thousands of parts with thousands of functions all working in tandem to keep us alive. Yet if only one part of our imperfect machine fails, life fails. It makes one realize how fragile, how flawed we are.“

@LEAD_Coalition@mastodon.world

"I’m not interested in whether you have stood with the great. I’m interested in whether you have sat with the broken."

"I’m not interested in whether you have stood with the great. I’m interested in whether you have sat with the broken."
ALT text

"I’m not interested in whether you have stood with the great. I’m interested in whether you have sat with the broken."

@LEAD_Coalition@mastodon.world

is a master class in humility. We learn that we cannot fix every problem, can't meet every need. So much is beyond our control and more things change than remain reliable. What we can give relentlessly, deeply and tenderly is our .

"Sometimes it takes our weariest moments to show us the true depth of our strength."
ALT text

"Sometimes it takes our weariest moments to show us the true depth of our strength."

@nabnux@piaille.fr

"Au sein des organisations pyramidales, l'une des formes de conneries les plus répandues consiste à exiger du zèle des autres et/ou à faire du zèle soi-même, en l'absence de toute notion de l'objectif qui mériterait qu'on fasse du zèle, et de tout bénéfice qui le rendrait gratifiant."

Maxime Rovere, "Que Faire des Cons ?", Flammarion, 2019

@Rasta@mstdn.ca

And isn't it ironic... don't you think? ♪
A little too ironic... and, yeah, I really do think...


Chris D. Jackson

Isn't it ironic that republicans are now applauding JD Vance for his mother's battle with addiction, while they have spent six years belittling Hunter Biden for his struggles with the same issue.
- Chris D. Jackson
ALT text

Isn't it ironic that republicans are now applauding JD Vance for his mother's battle with addiction, while they have spent six years belittling Hunter Biden for his struggles with the same issue. - Chris D. Jackson

@ellane@pkm.social

I don’t do new year’s resolutions. Every month, week, and day are better intervals to check in and see what kind of avalanche all those tiny choices are heading me towards.

❝ Your will is nothing more than the muscle of character. Every time you flexed your will, you either strengthened the muscle of decision toward good and selflessness, or you strengthened it in the opposite direction—toward evil and selfishness.

(1/2) 🧵

@anarchistquotes@todon.eu

Class is massively underrepresented in literature. Most books are written for the middle class, and generally they only have two modes of talking about the working class. The first is a kind of lofty contempt at the vulgarity, the stupidity of those people. The second is a kind of patronizing concern, which paints the working class as nothing but victims.
-- Alan Moore

@estelle@techhub.social

"Every night, I sleep through the same nightmare. I hear a roar coming towards me, an increasingly menacing rumour. I don't turn round. I don't need to. I know who's chasing me… I know they have machetes. Somehow, without turning around, I know they have machetes… Sometimes there are my classmates too. I hear their screams when they fall. When they… Now I'm running alone, I know I'm going to fall, I know I'm going to be trampled, I don't want to feel the cold of the blade on my neck, I…
I wake up. I'm in France. The house is silent. My children are asleep in their room.

– Scholastique Mukasonga, in her book "Inyenzi ou les Cafards" (incipit)

,

@Life_is_Beautiful@infosec.exchange
@Nak@infosec.exchange

"Waiting is our destiny.  As creatures who cannot, by themselves, bring about what they hope for; we wait in the darkness for a flame we cannot light. 

We wait in fear for a happy ending that we cannot write.  We wait for a 'not yet' that feels like a 'not ever'.  Waiting is the hardest work of hope"
 - Lewis Smedes

@kolejnylewackipej@kolektiva.social
Alternatywny obraz paczki papierosów Marlboro, na której zamiast nazwy "Marlboro" widnieje napis "FuckWork", a zamiast tekstu "Palenie zabija" mamy "Praca zabija". Symboliczna manifestacja przeciwdziałania społecznemu przymusowi pracy.
ALT text

Alternatywny obraz paczki papierosów Marlboro, na której zamiast nazwy "Marlboro" widnieje napis "FuckWork", a zamiast tekstu "Palenie zabija" mamy "Praca zabija". Symboliczna manifestacja przeciwdziałania społecznemu przymusowi pracy.

@jai_oh@mastodon.social

“We need the courage to create ourselves daily, to be bodacious enough to create ourselves daily — as Christians, as Jews, as Muslims, as thinking, caring, laughing, loving human beings. I think that the courage to confront evil and turn it by dint of will into something applicable to the development of our evolution, individually and collectively, is exciting, honorable.”
— Maya Angelou

❤️❤️❤️

"S’il y a des miséreux dans la société, des gens sans asile, sans vêtements et sans pain, c’est que la société dans laquelle nous vivons est mal organisée. On ne peut pas admettre qu’il y ait encore des gens qui crèvent la faim quand d’autres ont des millions à dépenser en turpitudes. C’est cette pensée qui me révolte ! "
Louise Michel 9 Janvier 1905

@openscience@mastodon.social

“Every kid starts out as a natural-born scientist, and then we beat it out of them. A few trickle through the system with their wonder and enthusiasm for science intact.”

— Carl Sagan

SOURCE: https://snl.no/Carl_Sagan
Carl Sagan (1994)

https://creativecommons.org/licenses/by/2.0/deed.no
ALT text

SOURCE: https://snl.no/Carl_Sagan Carl Sagan (1994) https://creativecommons.org/licenses/by/2.0/deed.no

@hosein@persadon.com

خیلی قشنگه شعرش
دیسکلوژر: از یه کانال تلگرام این اسکرین‌شات رو برداشتم خودم توییتر ندارم