Show more

@pganssle you might have to save your profile after adding the links to the sites

Does it take a while for the little verification check marks to show up next to your website on your profile? Can’t tell if I did something wrong here, since I added rel=”me” links to ganssle.io and blog.ganssle.io, but my profile doesn’t have the check marks.

I thought maybe my instance doesn’t do it, but I found @true_mxp’s profile and that seems to have one via the same process…

Okay, so, I made a thing.

patreon.com/posts/welcome-to-m

I do not actually expect anyone to sign up for this in its current state, but the point is that it's up, it's live, and I can now maybe begin the gradual transition from "internet vagrant" to "internet busker".

The main thing this gets you is the ability to create a vague sense of inadequacy and dread that I'm not giving you your money's worth, so, please go ahead and stress me out.

Time to do my proposals.

I think I’m actually going to pitch a time zone talk again this year (I realized that this one: ganssle.io/talks/#working-with is from before zoneinfo got into the standard library…)

Has anyone ever heard of software that takes an epub, divides it up into chunks and then creates an RSS feed of those chunks dated at regular intervals? That way you could read a book alongside your blogs in your new reader. If not, should I make a thing like this?

I think I read about something similar that turns audiobooks into podcast feeds.

Boosts welcome

#ePub #Books #RSS

On December 1 at 15:00 UTC, as part of #PyData Global 2022
2022, I am leading a tutorial on #Bayesian Decision Analysis.

Learn more and register here: buff.ly/3gDgFLh

PyData Global uses pay-what-you-can pricing, with donations based on location, so it is accessible to all!

Anyone have a good example of setting up GitHub Actions for old, out-of-support versions of Python (e.g. 2.7, 3.6)?

Inspired by @mkennedy, and the work I'm doing on profiling for Python data processing jobs, some initial scattered thoughts on how performance differs between web applications and data processing, and why they therefore require different tools.

1. Web sites are latency-focused. Web applications typically require very low latency (milliseconds!) from a _user_ perspective. Throughput matters from website operator perspective, but it's more about cost.

Just did first pass of fork()-based multiprocessing profiling for Sciagraph (sciagraph.com), a profiler for #Python #datascience pipelines.

First test passed, now to polish it up.

Notes:

1. In case you are not aware, #Python's `multiprocessing` on Linux is BROKEN BY DEFAULT (pythonspeed.com/articles/pytho).
2. As a result, this code is quite evil.
3. I am so so happy I am writing software in #Rust. Writing a robust profiler of this sort in C++ would've been way beyond my abilities.

The release candidate for tox 4 - a complete rewrite of the project - is now out; see tox.wiki/en/rewrite/changelog.. Please try it because if no show-stoppers are reported, will be a stable release on the 6th of December 2022. I'd hate to break your CI, so test it beforehand. 😀Thanks! pypi.org/project/tox/4.0.0rc1/

If anyone else finds this kind of thing useful, I’d totally love it if someone else started using this project. Particularly if you are the kind of person who is going to make lots of improvements to the front-end and then send me PRs 😉

I keep coming up with interesting improvements for this project, but I only have so much time to work on stuff like this.

Paul Ganssle  
Yesterday I released version 0.6.0 of my audiobook RSS server, audio-feeder: https://github.com/pganssle/audio-feeder It takes your directory of au...

I started this application in December 2016, before I knew anything about databases, so I hacked together a pseudo-DB out of YAML files, because I wanted to be able to edit the files by hand if I screwed up. As this “database” grew, parsing huge YAML files became a bottleneck; I lived with this for years, but recently, I managed to switch over to using a SQLite database!

I lived with this for years, but recently, I managed to switch to a SQLite database!

This was surprisingly easy, because I already had a pseudo-ORM, and I just load the whole “database” into memory at startup, but I am still not using the features of a “real database”, since my “queries” are basically Python code iterating over dictionaries and such.

Show thread

I really like the “segmented” feed, which breaks up books along chapter and/or file boundaries, recombining them to minimize total deviation from 60m files. I like to listen to audiobooks in ~60 minute chunks, and this automates the process of chunking them up for me.

The implementation was a rare example where dynamic programming was useful in the wild (and not just in job interviews): github.com/pganssle/audio-feed

Thanks to @njs for suggesting the approach and basically implementing it flawlessly on the first try.

Show thread

I’ve also created this probably convenient docker-compose repository for (somewhat) easily deploying audio-feeder: github.com/pganssle/audio_feed

Now featuring ✨🌟✨installation instructions✨🌟✨ (so fancy).

Show thread

Yesterday I released version 0.6.0 of my audiobook RSS server, audio-feeder: github.com/pganssle/audio-feed

It takes your directory of audiobooks and generates an RSS feed for each one, so that you can listen to them in your standard podcast listening flow.

I’m particularly happy with the new feature “rendered feeds”, which uses ffmpeg behind the scenes to generate alternate feeds where the audiobook is broken up along different lines.

We’re looking for a conference venue to host PackagingCon in spring 2023 in Berlin, does anyone have a lead to host 100-200 people for a day or two?

I was thinking about this because I was thinking about how I might optimize the resource consumption of a program where I’m ~the only user, and then I thought, “Hmmm.. If I spend that same time working on an open source project currently used by millions of people, with even a modest improvement I could probably save more energy than my homebrew project will consume in its entire lifetime.”

Fun stuff.

Show thread
Show more
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.