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!
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:
Turing https://www.turing.com/ 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 #ml 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.
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.
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 core.py 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…)
Does anyone know if there’s a mature Python or Rust or something version of this? https://tonejs.github.io/
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 `setup.py` in relation to `pyproject.toml` in Python packaging that I want to clear up.
The key point is `setup.py` 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 `setup.py` DIRECTLY; e.g., don't do `python3 setup.py bdist_wheel` anymore, do `pipx run build` instead.
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.
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.
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!
I spent a lot of time this long weekend making improvements to my perfect pitch training app: https://pganssle.github.io/cim/
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:
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: https://yqnn.github.io/svg-path-editor/
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.
Programmer working at Google. Python core developer and general FOSS contributor. I also post some parenting content.
QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.