$ pip3 search something
...
RuntimeError: PyPI no longer supports 'pip search' [...]. Please use pypi.org/search (via a browser) instead. [...]

Sure, no problem. Let's see …

»JavaScript is disabled in your browser. Please enable JavaScript to proceed.«

Urgh, but okay, #pip is a #Python package manager, they're good guys. Let me just open #NoScript and temporarily allow pypi.org ... oh no, it wants to run #JavaScript from …

ethicalads.io
fastly-insights.com
googletagmanager.com
gstatic.com
statuspage.io

That's what you get after 30 years of using the term #OpenSource instead of #FreeSoftware.

This entry was edited (1 year ago)

Welcome to the RB family, PuppyGit 🥳

apt.izzysoft.de/packages/com.c…

PuppyGit is a Git client for Android. Thanks to the enormous efforts by its developer who even rewrote their entire build workflow, PuppyGit was now confirmed reproducible :awesome:

RB stats now: 376 apps (30.7%)

#reproducibleBuilds #IzzyOnDroid

Edit: We've moved to a dedicated account, so if you're interested, please follow @StroongeCast. Thanks.

New podcast with my wife, and more to come, the next time I can persuade her to sit behind a microphone again.

#StroongeCast E01: Will You Peel My Orange? youtu.be/XeVO8pTfrK8

Download: onj.me/media/stroongecast/01_-…

This entry was edited (2 months ago)
in reply to Emmanuele Bassi

life with cats

Sensitive content

Day 18 - #adventOfIOSAccessibility. When building custom components, or if not relying on UIControl's attributes to configure state, it can be easy to forget to specify the right accessibility traits. These are indispensable for a good experience with VoiceOver, Switch Control, Voice Control, Full Keyboard Access...

#365DaysIOSAccessibility

in reply to daniel:// stenberg://

Great to see you recorded for posterity. How do you feel about being part of future research for a few generations?

A similar thing happened to Digital Art a couple of decades ago with the Digital Art Museum. It spurred a few awards for excellence, most notably Vera Molnar who received the Dam Digital Art Award before her death last year:
digitalartmuseum.org/history/i…
ddaaward.org/

Sharkey: un progetto Fediverse bello dentro e fuori! Il post sul software del Fediverso ergonomicamente più interessante a cura di @Elena Rossini ⁂

@Che succede nel Fediverso?

c'è una piattaforma di microblogging Fediverse che è assolutamente meravigliosa e piena di caratteristiche di design brillanti che rendono il suo utilizzo un vero piacere. Il suo nome è Sharkey, è un "soft fork" di Misskey , e merita sicuramente la vostra attenzione

blog.elenarossini.com/sharkey-…

Both Eloquence 4.7 and 4.2 received updates in the drivers:
(common): Properly call DLL handle termination after switching away from either synthesizer. Previously you would fry your NVDA by switching from one to the other, as they both leave traces for one another if doing consecutive initializations. This was a problem of the past, no longer, we take care of it in both drivers for you.
- Eloquence 4.7: Updated it from the 4.2 driver to also have the bgPlay function accept onDone, attempt multiple tries to feed audio, and use a lock to ensure thread-safe access to player.feed(). While this does not solve issues with Wasapi, it (slightly) improves it while keeping things more thread-safe for the older-style single callback.
eurpod.com/OldEloquence2024.nv… (v 4.20)
eurpod.com/Eloq47-2024.nvda-ad…
Done for the night, exhausted now from reviving 2 more synths in a single day.
in reply to Tom Grant the tincel

was there ever a 1.0 or 2.0? Wonder if we would have recordings of it somewhere. I wish there was a way to pinpoint down when the voice so drastically changed, clearly there must have been other versions developed between those that slowly got it there. The more you unravel about that product the more fascinating history it has :D
This entry was edited (1 year ago)
in reply to Tom Grant the tincel

3.3 also appears to accept the current community dictionaries, although don't think these can be language specific like newer Eloquence. I renamed them to main.dic and root.dic from the community dictionaries, loaded them and surprisingly that worked. I don't see a way to disable abbreviations as this appears to be built-in to the language and I couldn't find a function in 3.3 that toggles them off or a speech parameter, would be nice to add that as a setting if it's ever found.
This entry was edited (1 year ago)
in reply to Tamas G

@TomGrant91 @KaraLG84 From what I remember, dictionary loading for multiple languages wasn't implemented in that code, and the release notes for Eloquence 5.0 claimed that all languages shared a single dictionary set in older versions. Recordings of 1996-era versions of Eloquence can be found in this article. archive.nytimes.com/www.nytime…

Tamas G reshared this.

in reply to Tamas G

There probably were many intermediate versions between that which aren't publicly available, or at least not in the known sources. ETI was known to produce lots of minor versions of major releases, example: Eloquence 5.0. That version was officially released on February 8, 2000 according to the release notes, with the earliest build I can find being version 5.0.000.0004, compiled on March 31, 2000, and the last known builds were of version 5.0.3.8, compiled on December 10, 2001.
This entry was edited (1 year ago)
in reply to Mohamed Al-Hajamy 💾

@MutedTrampet @KaraLG84 aaah I love your eloq research. It's been super helpful and I added the abbreviation setting into Eloq 3.3 driver. I'll see what I can do about the other PP tags for the shorten pauses, it may be that I add the setting as a choice slider like the IBM drivers and people can just choose then in both 3.3 and 4.7. Even if the tags add some broken punctuation for 3.3, at least folks can decide.

K vanocum jsme vam pripravili maly darek. Videa z konference jsme nahrali na peertube, takze muzete svatky vyuzit k jejich sledovani bez reklam.

vhsky.cz/c/openalt_konference/

Muzete je taky sledovat primo pres mastodon @openalt@vhsky.cz

reshared this

A Coast Guard Commander Miscarried. She Nearly Died After Being Denied Care.

U.S. service members have long faced strict limits on abortions, even when used to resolve miscarriages. Under federal #law, the #military will only pay for abortions in cases of rape, incest or to save the mother’s life.

#News #Abortion #Health #Government #Healthcare #Insurance

propub.li/3ZGoIJQ

Nedávno jsem si tu stěžoval, že je federovaná tajmlajna kvůli některým botům prakticky nepoužitelná. Stačilo ale poměrně málo a zase se používat dá!

Stačilo ztlumit pár účtů…

- @cesko
- @feedit
- @HCSpartaPraha
- @JanCulik
- @kyberzpravy
- @RubikonPR
- @rychlofky
- @slovensko

…a voila, máte použitelnou federovanou tajmlajnu.

P.S.: Dá se to udělat z profilu - viz obrázky.

Nemáte zač…d8-D

#tip_mastodon

John’s Updated Review of the Choyong LC90 Multi-Band & Internet Radio swling.com/blog/2024/12/johns-…

FediMeta, blocklist update

FediNuke transparency update:

  • Added drinkanddrive.africa. See receipts on my receipt archive.
  • Removed three dead domains (catgirl.life, vtuberfan.social, natehiggers.online). They have no DNS records, or redirect to a subdomain with no DNS records. Will properly comb through for dead domains at some point later.

#FediNuke

I think maybe I need to put #rustlings aside for a bit and read up a bit more.

I'm hitting the point where I am perma-stumped on some of the exercises.

Like, I really don't understand map_err or why I would want it. The examples aren't making much sense yet.

Not giving up, just changing tactics :)

My latest sticking point:

github.com/rust-lang/rustlings…

Eloquence 4.7 driver for NVDA: Used in older JAWS versions (35, 3.7): eurpod.com/Eloq47-2024.nvda-ad…. Modernized indexing : On end-of-utterance (0xFFFF), flush once, then send all indexes and None, and set speaking = False. Similar to BeSTspeech logic, the code stores intermediate indexes (currentIndexes) during the utterance and only sends them all at the end. For me, it was interesting to see how older and newer Eloquence drivers were different: The newer V6.X DLLs schedule tasks like flushing audio, sending indexes, or finalizing utterances via a background thread. Older Eloquence did a lot more just from the Callback thread alone, huh.
also: Instead of sending indexes as soon as they appear, the newer ECI stores intermediate indexes for the entire duration of the utterance. Only after the utterance fully completes does it send all intermediate indexes, followed by a "None" signal to mark the end. This prevents premature indexing events and ensures that the indexing data sent to NVDA accurately reflects the final audio and why I was stuck for 3 hours debugging it.
This entry was edited (1 year ago)
in reply to x0

@x0 Thanks for pointing that out. I really appreciate the detailed insight into how indices should be handled. I’m still learning how to integrate everything correctly, and updated both drivers with what you mentioned: Removed storing indexes in currentIndexes for both drivers. Instead, we now Call onIndexReached(lp) immediately when we get an intermediate index (lp != 0xFFFF) in the callback. Also, the final utterance index (lp == 0xFFFF) still triggers a flush and then a finalization, but doesn’t involve delayed indexes anymore. It meant I could Simplify finalizeUtterance() since we’re not handling a queued list of indexes so it cleaned up the older driver quite a bit. Not sure if people will notice any user-facing differences, but nevertheless this is great info to have.
@x0
in reply to Tamas G

Glad I could help, that's my understanding anyway but pretty sure it's correct, that's why indices exist, to give immediate, real-time updates of exactly where the synth is. NVDA itself actually injects index marks into the stream to help with synchronization, say between sentences so it can move the cursor in say all. Phonetic punctuation uses them to decide where it should inject sounds into the stream, asking the synth to pause at the same time. So that has to be precise, and buffering, as IBMTTS does, throws that off.
This entry was edited (1 year ago)
in reply to Tamas G

@nick @x0 it's yet another packaged eloquence. IBMTTS never gave you the binaries so had a feeling of legality about it. Threshold was just installable and worked.
github.com/pumper42nickel/eloq…
in reply to Tamas G

7.0 was really obscure, I can't even find a changelog for it and I also had to rip it out of various installers. Its main features seem to be the introduction of version 3.2 of the Torrent engine which was used by the 22 kHz concatenative voices, and for US English, a bunch of DLLs that seem to be some kind of heavily rewritten synth engine with individual DLLs for different components, with names like enuparser.dll, enuphonetizer.dll and enuprosody.dll, which are oddly never used by enu50.syn and I can't seem to find how exactly they were meant to be used. Version 7.0 actually completely fixed the stability issues of 6.7 with the June 2005 build of ibmeci.dll, but it never made it to the assistive technology market for some reason and 6.7 ended up being the last update that would ship in AT products, even though that version is extremely unstable.
This entry was edited (1 year ago)
in reply to Tamas G

@x0 @matt @cachondo NVDA still dies after registering that DLL when trying to load ibmeci66. I don't recall installing any particularly weird Eloquence/IBM versions (or any versions at all) on this machine so not sure where I went wrong. This is exactly what I remember from every time I tried to get anything nonstandard about IBM to work before hahaha
in reply to x0

@matt @cachondo @nick Though that one goes by the name viavoice, which is IBM's version of that engine, and its rules are different, including its internal dictionaries. Mohammed's repo actually has a special dictionary set for it because of some words it fixed and others that it broke. Jake's site has it as a giant 7z file called viavoice something or other.
in reply to x0

@nick That may have been mitigated by now, there were some changes to threshold itself that changed buffer intervals to try and make it a bit less floody, and then WASAPI happened. I've got an open issue on IBMTTS to integrate this behavior now that it's feasible, they're still using index buffering. THey don't buffer until the end of the stream, they buffer by larger chunks to avoid short feeds. This is likely the performance difference you're noticing, as I think threshold is sending the chunks immediately, whereas IBMTTS actually sends a chunk after receiving the next one, unless it's less than the normal chunk size, then it sends them both at once. The old NVWave really didn't like being sent a tiny chunk at the end.
in reply to x0

@nick Threshold is here. Also take note of how it handles pauses, in ECI, pauses, the `p annotation usually triggered by the break command, are dependent on rate! At least in 6.1 it is, impirical testing would be needed for the others. github.com/pumper42nickel/eloq…
This entry was edited (1 year ago)

Salesforce says it will hire 2,000 people to sell AI software, a month after saying it would hire 1,000 for the task and two years after laying off 7,000 staff (Jordan Novet/CNBC)

cnbc.com/2024/12/17/salesforce…
techmeme.com/241217/p31#a24121…

SCOTUS rejected ISPs' challenge to a NY law requiring ISPs to offer $15 or $20/mo. services to low-income customers, by refusing to revisit a lower court ruling (Jon Brodkin/Ars Technica)

arstechnica.com/tech-policy/20…
techmeme.com/241217/p28#a24121…

Rebuilding much of my infrastructure in NixOS again because I'm sick of shit breaking and being hard to fix. In the process I've been revisiting services I run to ask whether they're worth maintaining or whether a simpler alternative would do.

Started poking Nextcloud today and oh wow is its app ecosystem extensive. I thought it was just a nerdy contact/calendar/file-syncing app but no, you can really build out your own household-specific portal with it.

Right now for instance I'm playing with the Cookbook app. So far I've pasted in a few recipe URLS and have gotten back nicely-accessible, no-fluff copies of those recipes, saved locally, linking back to the originals, with spinners that seem to scale them by serving size. That's really neat.

So I don't think I'll be replacing it with Radicale quite yet. It can apparently somehow parse emails and extract travel itinerary data into calendar events with kitinerary but I'm not sure how. That's one more proprietary service down.

Peter Vágner reshared this.

in reply to Dickson Tan

Right now each service like Gitea and Nextcloud gets its own native NixOS container. Nix config assumes things like one instance per server for many of those. Fortunately it's pretty easy to spin up a Nix config in a container vs. directly on the host, and Docker/OCI containers are pretty easy to declaratively build and run in your engine of choice if Nix containers/services don't work.

I totally subscribe to this... Great point of view!
writing.mariusz.cc/ux-design-a…
This entry was edited (1 year ago)

I like this snippet from the article: "Just like the rest of our image and video generation models, Veo 2 outputs include an invisible SynthID watermark that helps identify them as AI-generated, helping reduce the chances of misinformation and misattribution."
blog.google/technology/google-…