Peter Vágner reshared this.

Apparently, it is expensive to peek into C structures from Python via pygobject, so better to cache the result in Python if it is going to be reused. My function is now more than 3x faster now that I'm doing this. gitlab.gnome.org/GNOME/at-spi2…

Peter Vágner reshared this.

Peter Vágner reshared this.

Cool so there's a new attack against the Signal protocol, specifically the PFS. You can keep requesting PFS prekeys from a user and once theyre drained you have a better shot at being able to break that layer of security but more interesting is that the time it takes to get the new prekeys indicates if the device is online or not, so this is a metadata leak

Whatsapp published the research. Unclear if this is only Whatsapp's implementation that they're discussing.

arxiv.org/pdf/2504.07323

This entry was edited (2 months ago)

Peter Vágner reshared this.

Peter Vágner reshared this.

Oh wow. Some companies have a way to let their mail servers tell me they no longer want to work with me it seems 🙈 Was just sending out my updated profile to a list, and from one I got this:

450 4.7.1 The reputation filter deemed your email unworthy

F*CK AI, I guess? 🙊

OK, I'll have to accept that. If someone out there thinks I _might_ be worthy: after being in a project for almost 5 years, I'm available again for new projects – be it as Oracle DBA, or as coach in the Android section 😉

Peter Vágner reshared this.

in reply to Peter Vágner

@pvagner I know, I'm running a mail server myself. My toot was rather about the message text, not the code 😉 But thanks for the explanation, appreciate your being helpful! 🤗

For other readers:

* 5xx: permanent error
* 4xx: temporary error (try again)
* 3xx: further action required (by the client, not the human; like, "send the next package", or "go there to continue")
* 2xx: all fine

Peter Vágner reshared this.

Hear me out.

We fork Mumble server. We change the chat to be IRC. We use Obsidian IRC (web irc clone of discord) as the client. IRCv3 SASL EXTERNAL will let us auth the user using the same key identity mumble uses. Convert the Obsidian web to Tauri for cross platform desktop app.

That's it. Self-hosted Discord, now just improve the UI and invite people to rewrite in Rust and add storage backends for the chat history and nobody needs Discord ever again.

github.com/ObsidianIRC/Obsidia…

This entry was edited (2 months ago)

Peter Vágner reshared this.

in reply to anna, a criticality incident at the gender accelerator

@anna the certificates would still exist, I don't know if that can easily be ripped out as Mumble is using TLS client auth essentially to identify you. But we could hide it better and streamline account backup / admin capability to help people recover accounts.
Peter Vágner reshared this.

Gerade auf Droidblind gepostet: Nach mehr als 5 Jahren: Eloquence für Android kehr zurück droidblind.de/blog/eloquence64

Peter Vágner reshared this.

Peter Vágner reshared this.

Something very important to know in your threat model if you use Tor Browser on Windows:

By default it installs to your Desktop folder, which is by default mirrored to OneDrive at Microsoft. Microsoft has access to your OneDrive content for cybersecurity analysis via privacy carve outs. The Tor folder contains sensitive content.

The solution is to install at root of C: drive.

This entry was edited (2 months ago)

reshared this

Peter Vágner reshared this.

After testing github.com/shazow/wifitui, I’m convinced it’s a great alternative to running nm-applet all the time.

For setups like mine (Slackware + Fluxbox + Alacritty + tmux), there’s no reason to keep a GTK applet sitting in memory just to manage Wi-Fi.

wifitui is a fast and friendly terminal Wi-Fi interface written in Go that works perfectly with NetworkManager or iwd — no GUI,
no clutter, and full keyboard control.

Now I only open it when I need to change networks, and the rest of the time my system stays lighter and cleaner — exactly how I like it.

Soon we’ll have a SlackBuild for wifitui on SlackBuilds.org :)

Created by @shazow@fosstodon.org

Fits perfectly with the Slackware spirit. 🖤🐧

#slackware #slackbuilds #wifitui #wifi

This entry was edited (2 months ago)

reshared this

Peter Vágner reshared this.

Time to introduce my last new project for this year:

«Zeroform» ... is a tool for generating minimalistic, self-hostable forms, with a twist: It can generate both static (html/css/js) and/or dynamic (php augmented) online forms.

My main motivation for zeroform is to create tooling that helps me gather more precise feedback while designing and developing (especially) #faircamp and #hyper8, and to do this in a way that reflects the values of those projects: Independence, simplicity, minimalism, freedom from maintenance, absence of tracking, etc.

Basically you start with a thought, put it down as a plaintext blueprint of the form/questionnaire/doodle/survey you have in mind, zeroform turns it into finished code and design, you can upload it, use it as long as its useful/needed, and then you can just delete it.

Think of it as your own google forms, without bigtech, without dependence on any infrastructure besides the cheapest of hosting plans, commissioned and decommisioned in a mere minute.

I'm now one week into the project, since today I'm developing in the open at codeberg.org/simonrepp/zerofor…, and I will put it to use in the next days already! I have roughly one more week reserved until the end of the year for making this usable for the general public - I'll announce when it's ready. ʕ◜0ᴥ0ʔ

reshared this

Another nice talk at @OpenAlt starts at 12:00 in some 40 minutes.
Improve the world map with @MapComplete .
Watch it at this link if you like.
vhsky.cz/w/9Hdaqab9CvbPwhk1VnD…
Or see the schedule here: talks.openalt.cz/openalt-2025/…

reshared this

Peter Vágner reshared this.

And it is all accessible with VoiceOver on iOS. I presume TalkBack on Android as well. @delta chaos.social/@delta/1154793927…


We hereby challenge _all_ other messaging apps, FOSS or not, to provide a more convenient private onboarding experience than #deltachat

1. Install app
2. "Create new profile"
3. Enter nick name, tap "Agree and continue"
4. Tap "+" and "new contact" and provide/scan qr code/link

Voila! A secure private chat, familiar to those coming from Whatsapp or Telegram (without "AI", with #a11y).

Note: chat identities are private and can not be queried or discovered. Servers keep no track or metadata


Peter Vágner reshared this.

in reply to Peter Vágner

@pvagner The desktop app is quite decent, although it's an Electron app. The one thing it is mising is a quick way to move between the panes, like the message pane and individual chat message history, and the entry field, via the keyboard, and a more efficient way than pressing tab a zillion times. Arrow key navigation within those lists and chats is already there.

I've just discovered Michal Hrušecký is talking about @Delta Chat on the @OpenAlt conference.
The talk is in czech.
He had a similar talk a few weeks ago:
talks.openalt.cz/openalt-2025/…

OpenAlt reshared this.

Peter Vágner reshared this.

We hereby challenge _all_ other messaging apps, FOSS or not, to provide a more convenient private onboarding experience than #deltachat

1. Install app
2. "Create new profile"
3. Enter nick name, tap "Agree and continue"
4. Tap "+" and "new contact" and provide/scan qr code/link

Voila! A secure private chat, familiar to those coming from Whatsapp or Telegram (without "AI", with #a11y).

Note: chat identities are private and can not be queried or discovered. Servers keep no track or metadata

This entry was edited (2 months ago)

Peter Vágner reshared this.

in reply to Dgar

I worked for a while at a place that had some pretty cool CNC machines, so I took videos of exciting stuff like tool changing, and high speed machining, and put them on a spare USB drive.
Around this time I bought a brand new car, and driving on the freeway, I tried out the stereo by plugging in a USB drive.
After a few songs, I started hearing these clunking and grinding and high pitched squealing sounds, so I pulled over, stopped the car, and got out to see if I could spot the problem.
I actually called the dealership to discuss getting towed back to their workshop before I realised … 🤦‍♂️
Peter Vágner reshared this.

🪟 Windows 10 končí.

🖥️ Počítač nemusí běžet jen na Windows.
Existují otevřené systémy jako Linux, které zvládnou všechno od běžného používání po práci i kreativitu — a bez reklam, telemetrie nebo nucených účtů.

☁️ A data nemusí být v cizích rukou.
Služby jako Nextcloud umí nahradit Google Drive, Dropbox, Microsoft 365 i iCloud. Sdílení souborů, kalendář, kontakty, poznámky, chat, videohovory… všechno běží otevřeně a s respektem k uživatelům – tak, jak to děláme na Oscloud.cz.

💡 Oscloud.cz nabízí Nextcloud i další open-source aplikace pro běžné uživatele, firmy i komunity.
Bez reklam, bez sběru dat, s podporou v češtině.

Změna nemusí bolet. Jen začít pomalu — třeba od synchronizace souborů nebo kalendáře.
A zjistit, že svoboda není jen slovo, ale způsob, jak si technologie znovu přivlastnit.
oscloud.cz/
#opensource #nextcloud #linux #oscloud #privacy

This entry was edited (2 months ago)

reshared this

Peter Vágner reshared this.

#OpenAlt2025 was the first conference I took my six-year-old daughter to. She really enjoyed it. She wasn't interested in the talks, but she loved the swag at the booths. She'll grow into them, though. You have to start early to raise a new generation of open-source enthusiasts. 🙂

#openalt

Peter Vágner reshared this.

Peter Vágner reshared this.

Zítra nám držte palce. Čeká nás první velká streamovací akce. Ve spolupráci s @openalt budeme streamovat přednášky ze všech 7 místností konference #OpenAlt.
Pokud budete mít čas a nějaká přednáška v programu vás zaujme, zkuste se mrknout. Při sledování videa jej zároveň sdílíte s ostatními diváky jako u torrentu (pokud nejste na mobilním zařízení) a každý peer se tak počítá!

openalt.cz/2025/

#OpenAlt2025 #Brno

reshared this

Peter Vágner reshared this.

It’s hard to believe, but courtesy of @jcsteh today NVDA 64-bit alpha builds finally added something truly interesting and useful. Technically, it’s not listed under New Features but under Changes, and it says:
In browse mode in web browsers, NVDA no longer sometimes treats controls with 0 visual width or height as invisible. This technique is sometimes used to make content accessible to screen readers without it being visible visually. Such controls will now be accessible in browse mode where they weren't before. What this means in practice is that some previously inaccessible controls in browsers are now reachable. For example, when renewing my home internet plan, I had to complete a captcha. The audio option for it never appeared in NVDA, even with object navigation. I had to rely on Be My Eyes volunteers to read it for me. Now, with NVDA Alpha 53246, I can finally access that control and hear the audio captcha myself. Sometimes small changes make a huge difference.
github.com/nvaccess/nvda/pull/…
@NVAccess

reshared this

in reply to Amir has moved

I don't get why it wouldn't have appeared in object navigation though. This change only stops browse mode rendering from ignoring 0 width/height objects, but object navigation never ignored those in the first place. Simple review might skip the object of interest for other reasons, but not 0 width/height, and disabling simple review should have picked it up. Still, it's much harder to find things that way on complicated websites.
Peter Vágner reshared this.

I have another sizable update to my Image Description Toolkit available. In addition to supporting geolocation when available on photos, this version allows for the specifying of a web page and having images downloaded and described. Read more on this at theideaplace.net/image-descrip….

reshared this

Peter Vágner reshared this.

{Edit: Numbered instructions.}
For anyone who does not want to use Vispero Accounts:
1. if needed, uninstall JAWS 2026 without removing shared components.
2. Create a new file named AdditionalSettings.ini in the same folder where you saved the setup package containing data starting from the ;.
3. launch the setup. 1/2

;; Source: J2026.2510.195.400-any.exe /ExtractAdditionalSettings AdditionalSettings.ini Default

;; Disable User Accounts support

[JAWS]MSIProperties=USERACCOUNTS=0

This entry was edited (2 months ago)

reshared this

in reply to Timothy Wynn

Thanks to @DavidGoldfield and @BTyson for reminding, to apply this file to an install, you must do the following:
1. This file must be named AdditionalSettings.ini.
2. This file must be copied into the same directory with the setup package before launching the install.
3. This file must be applied for every install and update. 2/2
This entry was edited (2 months ago)

I know this is not a support site or programming course but I can't figure this thing out. If you do know #rust perhaps you can give me a helping hand. I am trying to contribute to an app.

I'd like to parse ipv4 addresses given as command line argument values.
I have got two arguments accepting ipv4 address.
If I specify single such option all is fine.
If I specify both, I 'm getting error like this:

thread 'main' (624061) panicked at /home/peto/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap-3.2.25/src/parser/matches/arg_matches.rs:1879:13:
Must use `Arg::allow_invalid_utf8` with `_os` lookups at `[hash: A8F400C40154F09]`

This is simplified version of my code showcasing the issue:
```
use std::net::{IpAddr, Ipv4Addr};
use clap::{App, AppSettings, Arg, value_parser};

#[tokio::main]
async fn main() -> Result<(), Error> {
let mut app = App::new("Server APP")
.about("My super cool app")
.setting(AppSettings::DeriveDisplayOrder)
.setting(AppSettings::SubcommandsNegateReqs)
.arg(
Arg::with_name("socket")
.required(true)
.takes_value(true)
.long("socket")
.help("Unix socket path"),
)
.arg(
Arg::with_name("relayaddress")
.required(false)
.takes_value(true)
.long("relay-address")
.value_parser(value_parser!(Ipv4Addr))
.help("External relay ipv4 address used together with --listen-address to run behind a nat"),
)
.arg(
Arg::with_name("listenaddress")
.required(false)
.takes_value(true)
.long("listen-address")
.value_parser(value_parser!(Ipv4Addr))
.help("Local listen ipv4 address used together with --relay-address to run behind a nat"),
);
let matches = app.clone().get_matches();
if matches.is_present("relayaddress") & matches.is_present("listenaddress") {
let external_ip = IpAddr::V4(matches.get_one::<Ipv4Addr>("relayaddress").expect("Invalid address"));
let local_ip = IpAddr::V4(
matches.get_one::<Ipv4Addr>("listenaddress").expect("Invalid address"));
println!("Listening on local IP: {local_ip}");
println!("Relaying through external IP: {external_ip}");
}}
```

#rust #rustlang #programming #fedihelp

in reply to Peter Vágner

I know this is not a support site or programming course but I can't figure this thing out. If you do know #rust perhaps you can give me a helping hand. I am trying to contribute to an app.

Sensitive content

in reply to Federico Mena Quintero

I know this is not a support site or programming course but I can't figure this thing out. If you do know #rust perhaps you can give me a helping hand. I am trying to contribute to an app.
@Federico Mena Quintero Oh, huge thanks for taking a look. Yes it's clap 3. It's not my decision, I'm attempting to contribute to an existing project so if I can make it work without major changes that might be helpfull. As I don't feel qualified for making decisions when it comes to this. I'm novice when it comes to #rust.
--socket argument is required, other two arguments are supposed to be used together and this condition is tested at runtime.
So if I specify all three command line arguments, I am always getting that error.
I have attempted using os::str and casting but the issue remains. I am simply compiling the app with cargo build --release.
Have you been just adding stuff I may have overlooked when trying to simplify for posting or did you actually changed something please?
in reply to Federico Mena Quintero

I know this is not a support site or programming course but I can't figure this thing out. If you do know #rust perhaps you can give me a helping hand. I am trying to contribute to an app.
@Federico Mena Quintero I've figured it out finally. The issue was not parsing ipv4 addresses but using matches.from_os() on the socket argument.
I have changed it to use std::path::PathBuf and it's working fine for me now.
Huge thanks for friendly hint and looking at my code.
Peter Vágner reshared this.

I am the guest on this week's Penny Forward podcast. I talked about my journey in terms of finding work that aligned with my values as a blind person and attempted to give some general advice for blind people who are looking for work or looking for a job that better aligns with what they would like to be doing. I also talked a little about investing and about moving across the country. To be clear, nothing that I said was intended as a linear "if you do this, then you will find what you're looking for," but, from the point of view of doing what we can as individuals, it is about positioning ourselves to increase our chances of finding opportunities.

The podcast is available from pennyforward.org/podcast-2/, or search for "Penny Forward" wherever you get your podcasts.

reshared this

Peter Vágner reshared this.

Today, we were nicely surprised by @gianmarcogg03 with a new comprehensive (italian) #deltachat introduction video, going through initial setup, groups and chatting, second device setup, #webxdc apps, bots, calls and playing Quake -- all the nice things you can do these days :)

mastodon.uno/@gianmarcogg03/11…

containing peertube, odysee and youtube links (latter provides English subtitles)

Fun fact: devs noticed some tiny but embarrassing glitches in the UI which are now getting fixed as we speak :)

This entry was edited (2 months ago)

Peter Vágner reshared this.

Peter Vágner reshared this.

This project looks promising. It looks like amazing replacement for Station playlist. Supports playlists, automation, looping. I sometimes play music during family events using SPL, maybe on next I will try this. Seems that my next procrastination moment will be with this. github.com/michaldziwisz/sara. Latest release at github.com/michaldziwisz/sara/…

reshared this

in reply to Paweł Masarczyk

@Piciok @pvagner I’m glad the project caught your interest. To be honest, I’ve put it on hold for now because I ran into problems I couldn’t quite overcome — at least not easily with AI. However, I’ll definitely come back to it someday, since I’ve always wanted to build my own live broadcasting system; I just lacked the coding skills. Yes, SARA will be designed primarily around the traditional model of a live radio DJ — using a mixer, sound card (preferably several), and absolutely no virtual mixers or anything like that.
in reply to Paweł Masarczyk

@Piciok @pvagner I’m pleased to share that I’ve returned to working on SARA. The latest version is now hitting GitHub, featuring an improved audio engine, an NVDA add-on that tames the excessive verbosity of WX controls, and the ability to paste items from the clipboard — including folders. A word of caution, though: inserting large numbers of files is still quite slow for now.
In the next release, I’m planning something no other accessible broadcasting software offers: a dedicated playlist for reading news and easily triggering service sound cues — a feature typically found only in professional systems used for preparing news bulletins. gitrls.com/michaldziwisz/sara/ If there are any features you’re missing in programs like StationPlaylist or RadioBoss, be sure to let me know. Just keep in mind that for now SARA is meant to be operated mainly by a human — full automation will probably come later. :)
Peter Vágner reshared this.

Was just using #curl to help debug some network configuration issues with a client.

Realised we'd need to fake a hostname mapping to a specific IP, as we haven't set up the DNS aliases yet.

And, because it's curl, not only is there a way to do it, there's several well documented options!

everything.curl.dev/usingcurl/…

Thanks, curl team!

#curl

reshared this

If you are into #tranceMusic #uplifting #vocalTrance, have a listen to these stunning tracks

Paipy & Elles de Graaf - The Last Time

Driftmoon X XiJaro & Pitch - Rise Again

RAM & Arctic Moon & Stine Grove - A Billion Stars Above

Peter Vágner reshared this.

Believe it or not: #deltachat is growing audio/video calls starting with the currently rolling 2.22 releases ... A few people already had two hour long stable calls :)

Calls are an experimental option while we continue to work on reliability, UX/UI revisions, and configuration of TURN servers on #chatmail relays and in clients.

We want calls to reliably work across all major platforms, networks and phones, including #UbuntuTouch

Feedback and debugging happens at support.delta.chat/t/help-test…

reshared this

in reply to Ati

@opensourceopenmind Ok. So I made a call from DeltaChat on Pixel3A running @LineageOS calling DeltaChat on Pixel3A running @postmarketOS with @phosh I got a nice ringtone on PostmarketOS phone, and Ubuntu laptop and iOS phone 👍️ I've answered on Postmarket phone. Audio worked great, and I also got video from Lineage phone but not from Postmarket phone (no surprise to me though I have a working front camera on PM OS so theoretically it could already be done). So 10/10 overall. Great work!👍️
in reply to Ati

@opensourceopenmind @LineageOS @postmarketOS Although for DeltaChat text messages received on PostmarketOS I still only get notification banners with haptics, no sound. Working with Delta running both in foreground and background. To get notification sound I have to have chat with that specific person sending text open in DeltaChat. Again on foreground or background doesnt matter but chat has to be open. Other way - only haptics.
in reply to Ati

Do you run Delta Chat Desktop or DeltaTouch on the postmarketOS phone?

Requirement to have a chat open to have a notification sound is not expected. Could you open an issue at github.com/deltachat/deltachat… or
codeberg.org/lk108/deltatouch with more details?

This entry was edited (2 months ago)
Peter Vágner reshared this.

One UI 8.0 Bluetooth Call Bug Silencing Screen Readers: What It Is and Current Workarounds accessibleandroid.com/one-ui-8…

reshared this