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 (3 hours 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 (4 hours 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.
in reply to Jiří Eischmann

Hehe, ty seš nadšenec, u nás bylo -17℃ a já byl tedy taky koukat, jak to běží, že to nepotřebuje použít ani elektrickou patronu, ale telefon jsem nechal doma a honem pospíchal za ním :-) A upřímně, všímám si, že nejhlučnější je TČ v teplotách okolo nuly, asi jak je "hustší" vzduk plný vody a ten to protlačuje lamelami a i ventilátor běhá na vyšší otáčky. Jakmile je mráz a klesne vlhkost, tak je to paradoxně daleko tišší, protože ventilátor sníží otáčky. Sice se více namáhá kompresor, ale ten je u dnešních TČ tak kvalitně hlukově zaizolován, že není skoro vůbec slyšet a to ani při 17 pod nulou.

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 (4 hours 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.

in reply to x0

@x0 @jaybird110127 unfortunately yeah. At least the re-write effort on the community will be a large one. I think they plan to give tools for sandboxing, I heard they were going to make a compatibility layer that lets you run any add-on with it or add-on devs can utilize it, but I have no idea how that's going or if it'll be ready by 2026.1, there's talk of it pushing to 2026.2. So, who knows RN LOL

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…

Hello #Fediverse,

as #FOSDEM 2026 is approaching I was thinking about bridging the livestreams to #PeerTube as well.

Streams are under #CreativeCommons license that allows sharing videos, so there is no big deal in it.

As there are plenty of rooms (and we dibs Social Web for #VHSky :) ), it would be fun to coordinate streaming accross multiple instances to stream as much rooms as possible without overloading single instance.

What do you think, anybody interested?

Also, anybody has idea how to actually bridge m3u to PeerTube? @j4n3z maybe?

reshared this

Let’s be honest, Ring was already some technocratic, dystopian BS, but if you needed a reason to finally, finally kill it with fire, here’s your reason: Ring is partnering with Flock to help ICE spy on you and your neighbors for the government 👀

#Technology #InfoSec
techcrunch.com/2025/10/16/amaz…

The amount of times Google Gemini gave me a solid code correction and answer while Chat GPT sits there thinking and thinking is staggering, honestly it's making me disavow it because it's not like this is better in "pro" mode. I noticed Gemini "thinks" in smaller chunks but it could be just that they update the process more often. Regardless, GPT, you're beginning to really really suck. Gemini can give me the same quality of C++ and Python code recommendations, it's still shit when pasting back full code for you so better when patching, which is about the only thing holding me back from it as opposed to GPT. Gemini can read attachments but it doesn't quite get the same containerization treatment - GPT mounts your files from /mnt/data, Gemini clearly stores it somewhere and can read but when writing it is restricted from spitting back a file for you and envoking commands in a container. Huge downside to Google, ugh.
Something that using a local Gemini Cli instance could solve though, honestly.
This entry was edited (6 hours ago)

Jonathan reshared this.

I bloggered a post.

It's about shortcomings of FLOSS and a possible next thing.

My Next Project Won't be FLOSS:
pointless.one/my-next-project-…

#FLOSS #FOSS #FreeSoftware #OpenSource #GNU #GPL #OSI #MIT #BSD #BTPL #PolyForm

Some of the variables you can define in the yaml now:
# Base defaults for NV Speech Player frontend.
#
# If a setting is not listed here, the C++ defaults are used.
# Packs are merged in this order:
# default.yaml -> <lang>.yaml -> <lang-region>.yaml -> <lang-region-variant>.yaml
#
# Keep this file small. Put language-specific tweaks into their own files.

settings:
# Timing / stress shaping
primaryStressDiv: 1.4
secondaryStressDiv: 1.1

# Stop closure insertion ("click" before stops/affricates)
stopClosureMode: vowel-and-cluster
stopClosureClusterGapsEnabled: true

# Length mark (ː) handling
lengthenedScale: 1.05
lengthenedScaleHu: 1.3
applyLengthenedScaleToVowelsOnly: true

# Output gain defaults (same as ipa.py)
defaultPreFormantGain: 1.0
defaultOutputGain: 1.5

# Normalization cleanup
stripAllophoneDigits: true
stripHyphen: true

# Tonal languages
tonal: false
toneDigitsEnabled: true
toneContoursMode: absolute

This entry was edited (7 hours ago)