📣 On International Day of People with Disabilities, we strengthen our community's resolve to be inclusive for all, and add the following item to our Code of Conduct under behaviors not allowed:

➡️ "Uploading images, audio, or video with Public visibility (appears on Local or Federated timelines) without adding ALT text media descriptions"

⚠️ Effective 1 January, such items may be removed, limited, or other actions taken. We will continue to highlight them as a reminder.

#IDPWD #disability

While at NASA/JPL the other day, I visited an old friend: the hand assembled and colored map from the first Mariner 4 tv image. A geologist got impatient waiting for the image processing folks to assemble the image, so they printed out the raw values onto tiny strips, stapled them to a wall, and hand-colored it with pastels. To save the map, it was sawed out of the wall and framed as a gift to the Lab director. Recently remounted and preserved. #NASA #JPL #Map #Mariner4 #Pastels #Geologist

Ready for a night out? We've got the perfect shirt for you! Enjoy you Saturday and your secure emails. 🤩🥳

#EncryptionRules

Now with free shipping:
tutanotashop.myspreadshop.de/
tutanotashop.myspreadshop.com/
You can change the domain link to your country domain!

To all #blind #ScreenReader users on various platforms who use #Firefox: The project to speed up web page and screen reader interaction, code-named Cache-The-World, is now at a phase where in Nightly 109, it has been enabled for all users. So if you spot anything that is unusual or not working as before, please let the #accessibility team know. Next step is an experiment for 50% roll-out on Windows in the 111 beta.

The page where you can track the progress is here: wiki.mozilla.org/Accessibility…

in reply to Jamie Teh

@jcsteh Yeah, especially the ARIA mappings offloads a lot of responsibility to the screen readers to interpret that browsers traditionally are much better at, IMO. And what is the ARIA to native mapping table for then anyway, if uIA still requires the screen reader or other assistive technology to interpret the attributes themselves? This creates unnecessary friction.
in reply to Marco Zehe

@jcsteh Now that Firefox is caching the world, I wonder if it's actually worthwhile for Firefox to have a native UIA implementation. Microsoft's attempts to remake Windows into a more locked-down platform didn't actually succeed, and now they seem to have retreated from that. Why not just stick with the accessibility API that co-evolved with the screen readers and modern browsers that people actually use, and let Narrator keep using Microsoft's bridge?
in reply to Matt Campbell

@matt For the most part, i agree with you. However, there are some problems with the bridge that cause real performance issues. For example, even when it's just walking the tree, UIA wants to know whether something is a control element or not, and that alone keeps querying IAccessible2 attributes on every element trying to work out whether it is a live region (I can see that from the stack functions). It also uses regexp matching to do that, which is super slow in our profiling.
in reply to Matt Campbell

@jcsteh Working on AccessKit, I see the following technical benefits to implementing UIA in a non-browser context:

1. NVDA can take advantage of UIA's bulk fetch. For MSAA/IA2 in a non-browser context, it has to do chatty IPC.
2. A UIA provider can signal that it's safe to call that provider's methods away from the UI thread.
3. An IA2 unique ID is only 32 bits, but a UIA runtime ID is variable-length. So I don't need a mapping from AccessKit to IA2 IDs.

Who will be listening to the new 12-part BBC radio adaptation of #TheDarkIsRising, starting December 20th? It will be broadcast on World Service and in the BBC Sounds app. I can’t WAIT. Guardian article here: theguardian.com/books/2022/dec… #KidsLit #ChildrensBooks

Und jetzt noch: Futter für die Leseratten! Bei ebooks.qumran.org/ treffen gerade 26 neue (plus 2 aktualisierte) #eBooks ein – und ein weiterer Schwung ist auch schon in Arbeit.

Stand derzeit: 11.871 #free / #gratis #eBooks in deutscher Sprache verfügbar. Wie gewohnt, ohne Anmeldung, ohne Javascript, ohne Kekse. Guten Appetit!

I can FINALLY admit this, the waiting was killing me.

My story, Remnants (most recently published here: orangesjournal.com/fiction/rem… ) is being nominated by oranges journal for the Pushcart Prize.

( nitter.1d4.us/orangesjournal/s… )

There's like ~10K things nominated per year, so I don't exactly expect to win, but this is a boost to my ego that I really needed.

Also feel free to read my MASTERFUL STORY 🤣 And tell me how great I am. I for one AM susceptible to flattery

🗻 #Multnomah County #Oregon officials to public:

😷 #WearAMask indoors until at least Jan 1 as viruses surge

#Portland #PDX #COVID

multco.us/multnomah-county/new…

This entry was edited (3 years ago)

Letzte Woche haben meine Kollegen @fingolas, @keywan und @johoo uns über Mastodon unterhalten. Blöderweise haben Kameras alles aufgezeichnet, was wir gesabbelt haben. Morgen u. a. auf YouTube: youtube.com/@ctuplink6772

Like a lot of people on here, I'm an unpaid volunteer.

If you appreciate @feditips / fedi.tips, @FediFollows / fedi.directory, @FediVideo / fedi.video or @homegrown / growyourown.services ...

...you can buy me a coffee at:

➡️ ko-fi.com/fedithing

You don't need to register, you can type in the amount you want, all currencies work.

Alternatively, you can become a patron at:

➡️ liberapay.com/fedithing

Thank you! :blob_cat_heart:

Explaining of KAP solution for day 2 of advent of code

Since @tfb asked, I'll explain the code. I know the question was about day 1, but I'll do day 2 first because the code is simpler and uses fewer special tricks in the language.

The first this to remember about KAP syntax is that for function calls, the parser binds to the right. It also evaluates its arguments from right to left.

What this means is that the following code: io:println 1 + math:sin 2` is evaluated like this:

a0 ← math:sin 2<br>a1 ← 1 + a0<br>io:println a1<br>

Another important fact is that KAP functions are either monadic (they accept a single argument to the right of the function name) or dyadic (accepts two arguments, one on each side of the function). Some functions can be called both monadically and dyadically. One such example is - which subtracts when called dyadically but negates when called monadically.

With that in mind, let's take a look at the solution:

+/ 4 8 3 1 5 9 7 2 6 ⊇⍨ 3 (⊥⍤1) 65 88 -[1]⍨ unicode:toCodepoints 1 0 1 ⫽ ⊃ io:read "testdata.txt"<br>

The input data is in the file testdata.txt, and the first thing that happens is that the entire file is read into an array of strings, where each element is one line from the file.

Each line is three characters, so we use the function which converts an array of arrays to a two-dimensional array of characters.

The next part is 1 0 1 ⫽. This function takes an array on the right, and uses the right argument (1 0 1) as a selector. I means to take one copy of the first column, zero copies of the second and 1 copy of the third column. In other words, this drops the centre column.

Starting with the example array we then get this:

    1 0 1 ⫽ ⊃ "A Y" "B X" "C Z"<br>┏━━━━━┓<br>┃<span class="h-card"><a href="https://functional.cafe/@[url=https://functional.cafe/users/a]a[/url]" class="u-url mention">@<span>a</span></a></span> @Y┃<br>┃@B @X┃<br>┃@C @Z┃<br>┗━━━━━┛<br>

Example

We then call the function unicode:toCodepoints which converts the characters to the corresponding Unicode codepoints.

We then want to convert the codepoints to actual numbers from 0 to 2. This is done by subtracting 65 from the first column and 88 from the second. Naturally we use the - function to do this, but in order to avoid having to wrap the entire expression in parenthesis, we use the operator which reverses the arguments, putting value to be subtracted from on the right instead of the left.

(continued)

#kap #apl #AdventOfCode

This entry was edited (3 years ago)
in reply to Elias Mårtenson

re: Explaining of KAP solution for day 2 of advent of code

I must also explain what the [1] means. Since the left argument is a 1-dimensional array, and the right argument is 2-dimensional, the operation will be applied along an axis. The default is that it will be applied along axis 0. If you put an axis within square brackets after the name of a mathematical function, the operation is instead performed along that axis.

The behaviour of the function when passed an axis parameter depends on the function itself. All mathematical functions use the axis parameter this way.

Let's run the code up to this point to see what happens:

    65 88 -[1]⍨ unicode:toCodepoints 1 0 1 ⫽ ⊃ "A Y" "B X" "C Z"<br>┏━━━┓<br>┃0 1┃<br>┃1 0┃<br>┃2 2┃<br>┗━━━┛<br>

Example

What we see here is that each row in this array represents a binary number that uniquely identifies the game positions. All we have to do is find this number and assign each number a score, and we'll have solved the problem.

This is where the next two symbols come in. is used to decode a sequence of digits in an arbitrary base.

The other symbol, is an operator, just like , operators are is used to change the behaviour of a function. It's a higher level function if you wish. takes a function on the left, and a number on the right and derives a new function which calls the function on the left repeatedly, each with a subarray of a lower dimension. In this particular example, this means that the function will be called on each row of the input. The left argument is a scalar value, so it will always be the constant 3.

In other words, this decodes each row as a base-3 number and returns an array of these numbers:

    3 (⊥⍤1) 65 88 -[1]⍨ unicode:toCodepoints 1 0 1 ⫽ ⊃ "A Y" "B X" "C Z"<br>┏━━━━━┓<br>┃1 3 8┃<br>┗━━━━━┛<br>

Example

This gives us a list of the game positions for each round, where each number is a value from 0 to 8.

(Continue)

#kap #apl #AdventOfCode

in reply to Elias Mårtenson

re: Explaining of KAP solution for day 2 of advent of code

Finding the scores for each position is outside the scope of the solution, but for this simple case of only 9 different combinations, doing it by hand was trivial. For larger number of combinations, one would have to write some code to do it.

There are a few different ways in which you can pick values from an array, but in this case we'll use . This function takes an array on the right, and a list of indices to the left. For each index, the corresponding value is looked up in the array and returned.

In our case, the indices are on the right, so we use to swap the arguments. Again, this is to avoid wrapping the entire expression in parentheses and putting the argument on the right.

The final function to be called is +/. THis is used to sum all values in an array. For anyone familiar with functional programming, this is just a simple reduction.

The reduction operator is /, which takes a function on the left, and performs a left reduction using that function.

"We waited. We submitted a few more rounds. Everyone loved it and no one wanted it, so we paused submitting. This is the point at which some writers and agents cut their losses and try again with a new book, a new query, even a new agent. But the thought of leaving my agent was exhausting. Plus, I liked her and she liked me.

And this is where the biggest lesson I learned from my querying days kicked in—it ain’t over till it’s over."

#amquerying #writers @writers

catapult.co/dont-write-alone/s…

Hi everyone 🌊

We're opening up the voting process to elect our new steering group! 🧭

All community members can cast their vote over the next 4 weeks here: forum.funkwhale.audio/d/253-co…

Not a member yet? Introduce yourself here and request membership: forum.funkwhale.audio/t/commun… 🐳

Michael Connor Buchan reshared this.

Good morning!

We just made the third release candidate for GoToSocial v0.6.0. As with the previous release candidate, this just fixes up a couple issues and bugs that we found while testing.

Barring any showstoppers, this will probably be the final release candidate before the actual release. Please let us know on github or matrix if you see any weirdness introduced by v0.6.0-rc3 compared to the previous release, v0.5.2.

You can download the release candidate from here: github.com/superseriousbusines…

If you're updating to rc3 from one of the previous release candidates, you don't need to do anything special.

If you're updating from 0.5.2 or below, please read the notes for the first release candidate: gts.superseriousbusiness.org/@…

Thank you! Have a good weekend!

It's time for the #Xubuntu development update for December! The first full month of development added some nice improvements for everybody to enjoy.

blog.bluesabre.org/2022/12/03/…

#LunarLobster

new essay! not only debunks "trans social contagion" & "gr00ming" charges, but shows how they're linked, and explains the unconscious thinking behind both anti-trans campaigners' obsession with us & the TERF-to-fascist pipeline.

no paywall link, pls share & give it lots of "claps" (up to 50) so other ppl see it!
juliaserano.medium.com/anti-tr…

#trans #transgender #gay #lesbian #bisexual #LGBTQ #queer #feminism #socialjustice #sex #gender #sexuality #psychology

reshared this

Last night, I collaborated with the #ChatGPT #AI to create a visual simulated world of bugs.

The experience was fascinating, felt like magic, and reaffirmed for me how much humans matter in the creative process.

I've written about this #project, going over my thoughts, showing a demo, and giving a detailed step-by-step of how we built this, together:

blog.chipx86.com/2022/12/02/pe…

Source code: github.com/chipx86/chatgpt-ai-…

Demo: youtube.com/watch?v=XVB9Tzv91K…

Energiepreise: Regierung will ungerechtfertigte Erhöhung verhindern
tagesschau.de/wirtschaft/strom…

Es wird geraten, zunächst Widerspruch einzulegen. Auch können Zahlungen vorerst zurückgehalten werden.

Das Gesetz ist allerdings noch nicht beschlossen.

The #Accessibility for the #Blind advent calendar: day 3 - The Czech Republic - expand the content warning to discover the interesting fact for the day
To mark the International Day of Persons with Disabilities, today's window opens up to one of my favourite treasure troves of good practices regarding accessibility for the blind - the Czech Republic which I am currently only one hour of a car drive away from.
Did you know that by 2004 Czech Republic was the second European country right behind Sweden with the widest network of audible traffic lights? Not only that but they already started installing tactile floor markings and my favourite invention, the remote controls for the build environment.
The Czech remote control is a tiny box with six buttons that each blind individual can purchase. Using this aid, a blind person navigating through a Czech city can check any public transport schedule available at any stop, confirm the line of the bus or tram that just came, alert the driver to their presence so that they can let them in or out of the vehicle, navigate around the Prague underground, trigger audible traffic lights to be switched on and locate some of the key buildings such as the Blind Union's HQ's.
Although many cities of Europe have meanwhile tried to implement a similar system, the Czech Republic is the only country I know of that offers such a wide range of services in the entire country this way. I was very impressed the first time I tested this and I love coming back to our southern neighbours. Ahoj a zdravim vas s Polska!
Below, an article of the Czech radio broadcaster back from 2004 explaining the accommodations along with audio samples in Real Audio, if you can still play that.
english.radio.cz/czech-blind-u…
#Accessibility #Blind #UrbanEnvironment #BuildEnvironment #CzechRepublic #AdventCalendar

Peter Vágner reshared this.

in reply to Paweł Masarczyk

The #Accessibility for the #Blind advent calendar: day 3 - The Czech Republic - expand the content warning to discover the interesting fact for the day
@Paweł Masarczyk Oh btw almost 20 years later some cities e.g. Prešov or areas (Banskobystrický samosprávny kraj) are trying to pursue these remote controls for their public transport services too. Majority of our country coverage is still ahead of us.

Paweł Masarczyk reshared this.

in reply to Peter Vágner

The #Accessibility for the #Blind advent calendar: day 3 - The Czech Republic - expand the content warning to discover the interesting fact for the day
@pvagner That sounds great. Some Austrian cities are trying too. One city in Poland did pilot that. Sadly these remotes do not talk to each other and it's an effort that is pretty much scattered all over the place.

Eugenics-adjacent, but somehow positive
I've seen posts online that basically say that we shouldn't even bother to save people after certain major injuries. Or that people with disabilities are worth less than others. I've always felt angry seeing that. Today I came across a wonderful post that has solidified my position that we should care for and support everyone regardless of disability, because everyone can have a fulfilling life: reddit.com/r/CasualConversatio…

Getting an AI (ChatGPT) to describe a fox, then feeding that into another AI (Midjourney) to generate an image.

The prompt: "Small to medium-sized mammals that belong to the family Canidae. They have pointy ears, sharp snouts, and bushy tails. Most have reddish-brown fur, but some species have black, gray, or silver-gray fur. They are agile and quick, and they are known for their intelligence and cunning. They are found all over the world, and they are adapted to a wide range of environments."

I’ve been teasing it for a while, but @Karenmcgrane, @beep and I are pleased as punch to pull back the curtain on Spidergram, a strucure-oriented inventory and auditing toolbox for large, complex web sites.

It’s the latest iteration of a collection of tools we’ve adopted or built over the past several years to support our work with large organizations.

github.com/autogram-is/spiderg…

🤟
Today is the #InternationalDayOfPeopleWithDisabilities.
Or, as I prefer to say: #Saturday.

#InternationalDayOfPeopleWithDisability is every day!

#IDPWD #IDPWD2022

idpwd.org/

in reply to Martin Pitt

Turns out that cursor themes are completely *under*specified, and nobody knows how they should actually work outside of X11 and non-HiDPI displays; and, of course, we inherited this car crash with Wayland. See gitlab.gnome.org/GNOME/gtk/-/i… for the latest attempt at trying to make sense of this mess, and what happened next…
in reply to Emmanuele Bassi

@ebassi Cursors have always been such a mess.

I remember the hoops I had to jump through when making Bluecurve decades ago.

We wanted to eventually tackle this with Tango too. (We made the icon spec then, as icons were a huge mess before that, with lots of one-off symlinks and necessary fallbacks. Thankfully, it was basically adopted everywhere for icons.)

The problem with the cursors is that it was tied to legacy X. (Icons were app & toolkit level.)

Just when you think the cryptocurrency scene has deteriorated to the point where there can't possibly be anyone left in the world gullible enough to be taken in by it.

theguardian.com/politics/2022/…