I just discovered (and tried) this wonderful piece of software

github.com/houmain/keymapper

It allows remapping your keyboard in many ways, and it's controlled from a simple configuration file (so, you can prepare one for your disabled friend).

You can, for example, remap the keyboard to only use its right half, if the left hand is dysfunctional (similar to the mirrored keyboard I made, github.com/clackups/qmk_firmwa… ).

Also, it should be useful for #disabledgamers , to map, for example, AWSD to different keys.

#disability #keyboard #accessibility

@Tutanota@mastodon.social Hey, I love what you do and I appreciate it, but please take the flatpak package more seriously. I hope you do this year.

Using an AppImage is not really a universal solution. For example, for those of us on musl distros (Alpine, Chimera Linux, etc.) that package is useless.

I really hope you consider treating flatpak as a first-class package because in musl it is our best and probably only option ​:neofox_laptop_owo:

@Tuta

Aha, how fitting for NV Speech Player. eurpod.com/synths/nvSpeechPlay… is the first version to hit the 10th file milestone for my synthesizers. It's also the first time I'm using the new directory link. This copy fixes memory corruption problems in the frontend, Post-stop aspiration block was made non-brittle now, and the applyRules allocation performance fix. No new versions for awhile until we have tweaked more languages, so I'm done with new files at least until way later in my evening or tomorrow.
This entry was edited (49 minutes ago)

People asked for it, and I do think it's a great idea! All of my Speech synthesizers live at eurpod.com/synths - easy to remember URL, and if you want to check it for updates, easy to look at for a version difference. At most, we are only keeping the last 2 versions of a synthesizer, so they will not pile up here. Still uploading some of the larger files, but in the next hour this will all be updated.
The old URLs will work for now, a little bit. As time goes on I will remove them from their old locations and update the blog page to point to this folder too.
This entry was edited (1 hour ago)

Jak zní tepelné čerpadlo v -15 ℃


Hlučnost tepelných čerpadel vzduch-voda je předmětem mnoha debat a panuje o něm mnoho mýtů. Když u nás bylo po ránu -15 ℃, využil jsem toho a nahrál jsem si naše tepelné čerpadlo Nibe F2120-8 při teplotě, při které už si opravdu mákne. I při takto nízké teplotě se jedná jen o šum, který už pár metrů od čerpadla nijak výrazně neruší. Tento model podle výrobce dokáže pracovat přes kompresor až do teplot -25 ℃, ale technik říkal, že ho mají vyzkoušené i při -28 ℃. To je na českou zimu dostatečná rezerva.

We will be doing some performance tweaks in the C++ wrapper next update. I can already see people complaining that there's a slight hit. You want to know why? I made a mistake. Or maybe GPT. Well one of us did anyway. I wrote the base C++ outline for it and then it helped me. But uh, at the moment we are allocating memory for out and copying the entire text string for every single rule, even if the rule doesn't match. If we have 50 replacement rules (common in phonology), we are re-allocating and copying the full text string 50 times per function call. Ouch ouch. I'm fixing this.
in reply to TheFriedChip

@flyingpenguinMwauthzyx @jscholes Unpopular opinion these days, because not everything has to be open source. I don't know anyone who'd contribute to it and I don't see the requirement. Tweesecake also wasn't OSS and people loved it. I like OSS software yes, absolutely, but it's also work to respect kinda. I know that wasn't your intention just saying my thoughts. Of course Quin can and probably has a different reason.

The great thing is, people should not notice changes to existing sounds and tonality. What did change were expansions of rules we can define per language, but to everyone else, this update should not introduce changes in UK and US English, or how the voice sounds. That was not the goal. The goal was to decouple the IPA rule tokenizer into a nice, beautiful frontend.
This entry was edited (1 hour ago)

OK. Huge huge refactoring of NV Speech Player is now complete. Download: eurpod.com/nvSpeechPlayer-2025…
We now have per-language files in the packs folder. Check it out. It is currently defining 22 languages. I would like help improving these languages, now that everyone is able to modify rulesets for them. This has decoupled the rules from the IPA.py engine itself, allowing anyone to freely update and modify voice prosody, tonality, and inflection per letter and phoneme creating it. That is, huge.
Languages supported: English (US, UK), Bulgarian, Chinese (Mandarin), Czech, Danish, Dutch, Spanish (Spain, Mexico), Finnish, French, German, Hungarian, Italian, Polish, Portuguese (Brazilian and Portugal), Romanian, Slovak, Swedish. Speakers of these languages are invited to modify their language files and test to make it sound more native.

Pitermach reshared this.

It’s amazing how these people talk about AGI as if it was actually possible (it’s not).

What’s being sold as “AI” currently is slightly random statistical token chain generation; it has zero to do with thinking, intelligence or creativity.

theguardian.com/technology/202…

in reply to daniel:// stenberg://

This could be a theatre play:

“Drop the AI”

“I sincerely apologize, you are absolutely right”

youtube.com/shorts/6eA_o9qZBuU…

in reply to daniel:// stenberg://

But Wait!

Anyway, BIND 9 now also has Bug Bounty program via #YesWeHack (fosstodon.org/@iscdotorg/11576…) and we got exactly one genuine issue out of 15 (and that's issue that has been previously independently reported). The rest was:
⁃ Cryptographic Weakness in BIND 9.20.15 PRNG Enabling DNS Cache Poisoning (Bullshit AI Slop; it just proved lack of randomness in provided PoC :facepalm:)
⁃ Multiple EC/TLS Private Keys Committed to Public Bind9 Repository (yeah, in system tests) (1/2)


When the European Commission approached us about funding a bug bounty for BIND 9, we were impressed with the proposal. We have a policy against bug bounties (because we were frustrated with people wasting our time), but under this proposal, the YesWeHack team would do initial triage, and use their expertise to minimize the 'slop' reports. This is a game-changer for a small development team.

The bounty program is active, and we are looking for our first valid report.

yeswehack.com/programs/bind-bu…


Games I love like Warsim, The Wastes, and usurper inspired me to think about creating my own console-based game. Then I wrote 750 lines of code just to make a reusable system for console menus. And realized the save system is going to be another 500 lines, probably. And then the settings system. And after thinking about 2000 lines of code before I can get to anything even resembling the simplest game mechanic, I'm not inspired, anymore. Why is 99 percent of programming doing the least interesting part of any project?

johann reshared this.

in reply to 🇨🇦Samuel Proulx🇨🇦

Early in my programming career I wrote a whole series of functions that did the mundane things in a business program. Then I wrote a program that allowed me to create input and output screens WYSIWYG. Those screens called my functions. In a few weeks of work, which was kinda fun, I eliminated many days of tedium for each application I was to write over the next decade.

Keep that in mind when you build the foundation. You do it once.

in reply to MostlyBlindGamer

@MostlyBlindGamer@RegGuy Right, but it would take me just as long to understand someone else's engine as it would to right my own. And none of them do quite what I want, anyway. IE a terminal window with options you select by entering a single number or character and pressing enter. They're all command-based. But if I want sighted players I have to think about output colors. And so that means a settings object. And some people want ASCII boarders ("---------" etc) and some don't. So now we have a bunch of case statements and need to check colour and ascii art settings. And if we're doing that we might as well do sound, too, to have an earcon when prompting for an option and a click when an option is selected. But now that means an audio library. And utilities to think about file paths and including assets. And now we're at 2000 lines just for menus.
in reply to 🇨🇦Samuel Proulx🇨🇦

Refactoring is inevitable.

If you haven't built a menu system to begin with, there'll be nothing to rebuild. The refactoring will mostly be limited to slotting it in once you start.

If you've built one early that doesn't actually solve the problems you end up needing it to, or solves them in a way that ultimately makes it hard to integrate, that's when you'll end up rewriting stuff.

in reply to James Scholes

@jscholes Hah. So this all started when I decided I wanted a class where I could create a new menu, add the selection key, a name, and a callback function for each item, then call the menu to print itself and do all the input and error checking, and call the callback for whatever item was chosen. And then it just kept growing. I'm not even at the object graph stage. I just hate most of the text games I mentioned, where every menu looks and acts different, because print statements and case statements are just sprinkled all over the code.
in reply to James Scholes

@jscholes If I ever finish the basics, the thing I'm aiming for, probably in 70 years or so, is a singleplayer trade wars/elite style space game. Planetary exploration, trading, combat, procedurally generated galaxy, etc. All the stuff we have in that style is either multiplayer PVP, or only semi-accessible like smugglers5. Interface via console menus, because that feels both simple and retro. But with stuff happening in realtime like textspaced used to be (it's now discontinued), and high quality sound. The idea is you just let it run on your taskbar and check in every 20-30 minutes when you hear something that needs doing. So kind of casual all-day play while multitasking. I've dreamed of something like that for like 20 years, but nobody has done anything even close. Textspaced was the nearest, but it never quite got there, and it's gone, now.

Ontario opposition NDP Leader Marit Stiles said it best. “It’s the same Doug Ford playbook; do nothing, then complain to grab headlines," Stiles said. "Saskatchewan Premier Scott Moe flew to China with the Prime Minister to advocate for his province’s canola farmers.
"Meanwhile, Ford was sitting at home, leaving Ontario workers with no one to fight for them. If you’re not at the table, you’re not fit for Premier." cbc.ca/news/canada/toronto/dou…

London PR firm rewrites Wikipedia for governments and billionaires
Founded by Keir Starmer’s comms chief, Portland helps rich clients ‘protect their reputation’ – with a shady, off-the-books service
thebureauinvestigates.com/stor…