Pinned toot

Latest post is a big one: “Why you shouldn’t invoke setup​.py directly”

A lot of people don’t know about this because we haven’t been great about getting the word out. This blog post is in part an attempt to remedy this.

Please help spread the word!

Pinned toot

From the archives of my blog but still very relevant: "pytz: The Fastest Footgun in the West", about why you probably shouldn't be using pytz:

I wrote a little post about pipx's new experimental script support:

You can now have a single Python file that declares its dependencies, and run it via pipx run! #python #pipx

Turing is a really scummy company. After all those "our AI thinks you'd like this" spam emails didn't work, now they've somehow found my private phone number and texted me spam about their product. This is the first time I've every had a company do this, and it's just disgusting. #TuringCompany #Spam

OK, for a while I’ve been thinking I’d like access to a GPU to do some local jobs. Probably don’t need to train a bunch of models from scratch, but I can imagine wanting to do some fine-tuning.

Right now I use Whisper on CPU and image generators like Stable Diffusion via pre-existing endpoints. I can imagine in the future my heaviest use will be image generators like SDXL and text-to-speech, and possibly I’d want to use them for high quality speech-to-text workflows as well.

I’ve got this small media server that has a free PCiE slot, anyone know if I can just throw something like this in there and call it a day?

In the long run I need to find a different way to power the blinkers anyway — either pulling power directly from the ebike battery (if I can get a line in there) or switch to using like a drill battery or something.

I’m thinking that in the short run I’ll just plug in a second circuit that just burns the minimum amount of power to keep it awake, and unplug that circuit when I’m not actively riding the bike.

Show thread

Anyone know if it’s possible to wake up a USB battery pack that has gone to sleep?

I’m using a battery pack to power a blinker circuit, but the pack goes to sleep like right away. I was hoping that the blinker circuit drawing power would be enough to wake it up, but apparently not.

Most of what I’m finding when I search for this are ways to keep the battery awake all the time (for powering low-power circuits), but I really just want to wake it up when I’m actively using the blinkers, and let it sleep otherwise.

It's time for another episode of the podcast about #Python internals!

This time Pablo and I are answering the fundamental question "what even *is* an interpreter?"

We go and attempt to explain this to people who never looked at the heart of CPython before (located in the ceval.c file).

Though TBH I am kind of shocked that there are quality variations (sometimes the sound comes out tinny, sometimes it crackles, etc). I would think that it would basically just be doing the exact same math and outputting the same waveforms, so I don’t really get why it’ varies at all.

Maybe it uses some sort of compression or heuristics based on the output, and I can tell Tone.js “Take your time and give me the highest quality version of this” (possibly I could even write this to a cache…)

Show thread

Does anyone know if there’s a mature Python or Rust or something version of this?

I mainly want the feature where you can take samples and turn them into a synthesizer so that I can give it a bunch of recorded piano notes, then feed it something like (["C4", "F4", "A4"], 2) and have it play that chord for 2 seconds (then presumably output that to a file).

Right now Tone.js is working really well for me in most cases, but I’m getting inconsistent results depending on the browser and whether or not you’ve got headphones plugged in, which is… not great.

My needs are pretty limited, so I think I can just generate all the sounds I’m going to want ahead of time and serve static files to improve consistency and quality.

I'm seeing a bit of accidental FUD around `` in relation to `pyproject.toml` in Python packaging that I want to clear up.

The key point is `` isn't going anywhere! If you want to keep using it to configure setuptools, then keep doing it! All you do in `pyproject.toml` is specify setuptools are your build back-end.

The thing that HAS changed is setuptools deprecated calling `` DIRECTLY; e.g., don't do `python3 bdist_wheel` anymore, do `pipx run build` instead.

Lol, seems like Vanguard changed their password rules to max out at 20 characters, and now my password is too strong to let me log in. Great job guys.

OK, I purchased something on Google Play on my son’s tablet before setting up Family Library. I’d like to add it to Family Library so we can use it on other devices, so I set up Family Library. There seems to be no option to add the app to family library on his device, is this because he’s a “supervised” account?

I can’t even change his age to be above 13 through Family Link…

In general, when you get into the making mind-set, all your problems become projects. It’s very empowering.

Show thread

This goes for all kinds of making skills. My cargo bike doesn’t have blinkers, but it’s my main way of getting around. The cheap wireless blinkers you can get off of Amazon have all kinds of annoying problems (including silently running out of batteries so you don’t realize your blinkers don’t work!), so I got together a bunch of parts and wired up a full blinker system¹.

When some random part of a door in my house broke, I just designed a replacement with my 3D printer.

I’d also really like to be able to make or modify my own clothes, since I often have an idea for something I’d like to wear, but can’t find exactly the right thing anywhere.

Show thread

As an aside, the fact that I saw the paper on perfect pitch acquisition and turned it into a usable app within a few days is one of the things I love most about being a programmer. When a tool doesn’t exist, you can just make it, and make it how you want it to be!

Paul Ganssle  
I spent a lot of time this long weekend making improvements to my perfect pitch training app: I’m pretty happy with...

@diazona @pganssle

We should come up with a new saying: "Code is more often read than said out loud"

It is all open source and designed to be easy to fork and deploy if desired:

If you are good at web design or music theory I’d be very happy to see contributions (including just giving feedback)! Doesn’t take much to be better at those things than me… 😛 (Exhibit A 😅)

Show thread

I spent a lot of time this long weekend making improvements to my perfect pitch training app:

I’m pretty happy with how it’s shaping up. My son has been using it 4-5 times per day (the sessions are frequent but short), and it’s kind of amazing to see how good he is at identifying chords.

So I figured out how to do this with Inkscape, it’s just a bit wonky:

  1. Make your shape as a simple path
  2. Set the size of the shape to be between 0 and 1 (width and height) in some base unit
  3. Set up the document so that the scale is 1 of whatever your base unit is.
  4. Save an optimized SVG (not always necessary) to get a maximally simplified path (with no transforms or whatever).
  5. Open with a text editor and copy the path into your <clipPath> SVG.

If that doesn’t work as expected, you may have to copy the path and paste it into a new document after it’s been scaled and moved.

If that’s still not working, you can copy-paste the path into this tool and play with the scaling:

Paul Ganssle  
Does anyone know a good tool for #linux that I can use to draw shapes and output clip paths for use in #HTML/#CSS that work to clip stuff? What I’m...

Some of the shapes I want to draw can be accomplished easily enough with regular CSS polygons, but I want to clip with something like star, crescent moon, teardrop, heart. I would much prefer to build that stuff in Inkscape or something.

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.