Readit News logoReadit News
maeln · 3 months ago
Didn't yet go through the content, but having a AI generated image that you didn't even bother to at least touch-up a bit to fix the text does not give me a lot of confidence about the effort that went into this.
MadameBanaan · 3 months ago
I came to this comment section to say exactly that.

At my work (university research lab) the Ph.D. students have to publish their thesis as a book to defend their degree. They are free to make the image for the cover, which is a very nice touch ang give you artistic freedom in what was supposed to be one of the most important moments of your career (I went for a picture of the chip I designed during my research).

For the past 3 years or so all we have are generic AI generated sciency-looking figures at the cover and it is depressing.

ahoka · 3 months ago
Adds nothing, they could just picked a totally unrelated stock photo if they wanted to add something there. It just immediately halo effects the whole thing as something put together without effort. Stop doing this!
lenkite · 3 months ago
Isn't this overly critical ?. The content matters far more than the image and the chapters are good. I didn't even register the image - I think most folks today have eyes that auto-skip images after being pattern-trained to ignore ads.
MyOutfitIsVague · 3 months ago
The cover has a stack that says "ngirx", and it's all a smudgy mess.

"Don't judge a book by its cover" is for people who don't actually read books. You can't necessarily tell when a book is good based on its cover, but you can absolutely tell with a high certainty that a book with a lazy, crappy, low effort cover is probably going to have a similar level of care and attention put to the contents. It's easily at least a 95% hit rate. Is not overly critical to see something presented lazily and assume it will also be lazy inside, and in this kind of field, I'd also expect that if the cover is AI generated, most of the content could easily be as well.

rcxdude · 3 months ago
With an image that is that poor quality, if it didn't matter then it would have been better not to include it.
PetitPrince · 3 months ago
"Don't judge a book by its cover" indeed (and litteraly in that case), but also "first impression matters".

In that case throwing a generated image without touch up shows the lack of care of the author for a work that's not as fleeting as a podcast. It's not that hard to type the correct words and/or a non wobbly font with Paint.NET / Photopea / Gimp / Affinity Photo / Photoshop / <your favorite pixel editor here>. It also shows an usage of AI without supervision which is kind of a red flag.

I used to listen to Michael Kennedy a lot when my day job was Python, and still occasionally do so this may get a pass, but it's still a bad signal in my books.

ayhanfuat · 3 months ago
I’m an occasional listener of the Talk Python podcast, and I’ve also taken Michael’s pytest course. It’s clear that he puts considerable effort into his content.
DannyPage · 3 months ago
But there was no care in the images, which made me skeptical of the content. The free chapters are also poorly written. It reads like he dictated the content and didn't do a single review pass on it. The Docker Compose chapter especially is very light on details and doesn't explain how to use the various features and what tradeoffs or issues you may encounter. Like the AI images, the whole product feels rushed and haphazard and lacking in quality.
maeln · 3 months ago
In which case it is very infuriating and sad. Honestly if he just did not put that AI art on every page, the whole thing would look way more serious. Presentation and first impression sadly do matter. Put a pile of trash in a museum and people will think it's art, put art next to a pile of garbage and people will think it's trash.
mikeckennedy · 3 months ago
Thanks Ayhanfuat. I appreciate the comment. Yes, the image is AI generated, but the book and the content is not. I spent 9 months writing it. Cheers.
seanthemon · 3 months ago
but clearly he lapsed here and as a non-listener I immediately clicked out.
_joel · 3 months ago
Just not enough to actually record a podcast, but generate a script and send it to an API to generate a (very recognisable) AI voiced podcast. It's literally called "Talk Python" with no humans talking.
benrutter · 3 months ago
I agree with everyone! Michael's name is a big stamp of "this will be high quality" for me, but if I didn't previously know that and saw an AI generated cover, there's a good chance I'd assume the content inside was AI generated slop, and might tune out without looking any further.
arcanemachiner · 3 months ago
Are you telling me that you haven't integrated granian and ngirx into your workflow?!
csmantle · 3 months ago
And you definitely don't want to miss "Web Arppss" running on "Limux"!
sonnig · 3 months ago
we've integrated granian into our stack at $WORK recently and couldn't be happier
Elfener · 3 months ago
I don't even understand why they do that, surely putting even a low quality something together would make it much better, and with actual font rendering.
mnx · 3 months ago
Yeah, immediately off-putting, even though I actually enjoy the podcast. Not for like "AI bad" reasons, it's just ugly. Micheal, if you are reading this - please fix, it should take 5 minutes.
anaccount342 · 3 months ago
Agree, it tells me a lot if you are not willing to spend a couple hundred dollars to get a simple cover.
mikeckennedy · 3 months ago
How many people who you hire for $100 will do this themselves without AI these days?
_joel · 3 months ago
AI voice on podcast too, no thanks.
mikeckennedy · 3 months ago
Hey Joel, please point to example of AI voices, especially sold as real, on the podcast.
numlock86 · 3 months ago
I clicked on the link and was greeted by AI slop instantly. I checked the comments, saw this, am writing this and will probably not look at it ever again. Guess I am just not the target audience. I wish them that their AI slop strategy works out just for the sake of good vibes, though. If everyone does it it can't be bad, right? I'm the issue here, clearly.
thrance · 3 months ago
ngirx and granian are my favorite technologies to work with! Completely agree, this trend of putting a completely useless and ugly AI image on top of your page, I despise. You could have searched the web for an actual diagram, if you wanted one here. These images provided negative values to your articles.
degamad · 3 months ago
> ngirx and granian are my favorite technologies to work with!

I had the same initial thought, but I was skimming the page and came across this line:

> Then, see how to deploy a Flask+HTMX app via Granian, wire it into NGINX, and ensure automatic startups with systemd.

So I've just discovered that https://github.com/emmett-framework/granian exists...

wiseowise · 3 months ago
You don't use ngirx in production? Do you even web scale, bro?
barapa · 3 months ago
Chill dog

Dead Comment

mikeckennedy · 3 months ago
The idea of the book is to pull away a lot of the hype of big cloud providers, show practical steps how we run things over at Talk Python (podcast, courses, e-commerce, and more).I hope some of you find this refreshing!

You can read the first 1/3 online for free. The rest is available DRM free.

fastasucan · 3 months ago
Something is wrong with the js/css on the site - for everyone with dark mode the <strong> text is grey against white background - super hard to read.
sionisrecur · 3 months ago
The dark mode still has a white background so there's no reason to have it.
bakugo · 3 months ago
How much of the book is AI generated? Please be honest.
mikeckennedy · 3 months ago
Zero percent of the text is AI generated. The image, yes, but I spent 9 months writing this book personally.
hshdhdhehd · 3 months ago
Amazing what a Hetzner dedi and docker compose can do
randomtoast · 3 months ago
I recently compared AWS and Hetzner, not only in terms of raw compute costs but also by factoring in the personnel costs required for operation. I found this perspective particularly interesting: https://beuke.org/hetzner-aws/
Kumzy · 3 months ago
Seems interesting, read the online summary. I am curious to read about your part on Chapter 14 (I am part of Litestar maintainer). Thank you for the book anyway !
mikeckennedy · 3 months ago
Very cool Kumzy. Litestar is awesome, I interviewed some of the folks (you?) on the podcast. I give it some good press in that chapter.
divbzero · 3 months ago
You noted using persistent volumes for storing data, e.g.:

  docker volume create umami-volume
How do you manage data backup and restore?

mikeckennedy · 3 months ago
Hey, you just run whatever backup command you would regularly do via compose.

For example, if you run `sqldump --db umami ...` in regular postgres (which is what they are using IIRC), then you run:

docker exec umami "sqldump --db umami ..."

Or something almost exactly like this (just from memory here and I wrote that script a year ago).

kinix · 3 months ago
Unrelated to the content: why on earth is super-light grey a good "bold" colour for a white background? I'm having to highlight each of the bolded parts of the text just to understand it :/

edit: console command for anyone else struggling to read this `document.documentElement.style.setProperty('--bulma-strong-color', '#000');`

Elfener · 3 months ago
Is this some new trend where websites include @media (prefers-color-scheme: light) and @media (prefers-color-scheme: dark) in their css, but it just breaks the site?

This site doesn't even have two themes, that css is just there to break the bold text!

perch56 · 3 months ago
Loads as a regular webpage for me (Safari, black font, white background).
kinix · 3 months ago
The main text is black yes, but anything that's bold is light grey as per the CSS, which is near unreadable (even if you're not as colourblind as me I suspect)
JimDabell · 3 months ago
It only happens if you are using dark mode. That seems to be the only difference between light and dark mode on that site.
azangru · 3 months ago
Haha, came here to mention the light grey text on white background as well. This is a great example of poor accessibility. It should be obvious to a human eye that this is bad; but in case it weren't, one could open up Chrome dev tools, find the styles for this text, click on the color picker, and observe that Chrome reports the contrast ratio for that text to be 1.17, whereas a comfortable (accessible) contrast ratio starts at 4.5.
VBprogrammer · 3 months ago
"Have you heard the phrase "You're not Google, you're not Facebook, and you're not Netflix"? The TL;DR; is those tech giants that have 1M+ concurrent users. They have a hard requirement for no downtime."

Actually, one of the more interesting parts of the Google SRE book was that they don't try to aim for 0 downtime. They consider the background error rate of any network request and optimising much beyond this is counter productive.

Even for individual services they make a point of not trying to make them perfectly available, as this means downstream services are less likely to build in adequate provision for failure.

1dom · 3 months ago
I agree with this.

Those tech giants got to where they are by recognising specifically that they don't have "no downtime" requirements.

"Move fast and break things" isn't the mantra of companies with zero downtime requirements.

hshdhdhehd · 3 months ago
Choose how many nines you want. For most 99.9% availability is probably OK.
CraigJPerry · 3 months ago
You can and probably should go thinner than this, with uv we effectively have a workflow comparable to deploying static binaries in other language stacks. You don't need the complexity of docker for this book's goal.

Was hoping the book would cover data persistence.

mikeckennedy · 3 months ago
This go thin with uv is good advice for smaller projects. But as you grow with more aspects, it gets more problematic.

I ran code that way for years. But now we have 23 different services: web apps, APIs, and database servers, my code and other self-hosted services.

I would NOT run 23 projects/servers (3 versions of postgres) this way. Like so much, it depends. FWIW, the book goes into depth about these trade-offs.

portly · 3 months ago
Could you please elaborate? Where do you run your apps?
rcxdude · 3 months ago
Presumably just directly on whatever system they are using. If you have something that can be plopped on whatever linux distro and run reliably then you've already got what docker is supposed to give you.
CraigJPerry · 3 months ago
Exactly as sibling comment says, e.g. let's pretend the popular httpx cli was my project to deploy and run on the server. With only uv installed, i can:

    uv tool run "httpx[cli] @ git+https://github.com/encode/httpx"
To be clear in this example i'm not pulling a package published on pypi, i'm running the HEAD of that git repo (i could do a branch or tag instead). I could use the "uvx" shortcut instead of "uv tool run". I could specify a specific python version (either one already installed on this OS or choose a dist which uv downloads for me).

This caches the deps in an isolated virtual env for me. It'll only download the deps in the first run.

lunias · 3 months ago
I'm glad to see people recognizing that computers are quite fast and that they don't need massive cloud-scale solutions for simple problems. That being said, Python really shines as glue code and in small scripts where performance doesn't matter. You'll see considerable performance (and likely maintainability) gains by moving off of Python to almost any other language.
csmantle · 3 months ago
I don't know, but the "Read Online" button leads me to "https[://]talkpython.fm/books/python-in-production/#read-online", and that URL then tries to redirect to "https[://]talkpython.fm/books/python-in-production#read-online". (Notice how the last slash of the path is missing).

This forced my browser to reload the page, and it beats the entire purpose of anchoring and fragment-based navs.

aitchnyu · 3 months ago
Is there a catch in "It's 6x cheaper than DO and a whopping 20x cheaper than Azure" or are most companies I know getting ripped off?
brap · 3 months ago
Depends on which $$s go into that comparison. Server costs? Probably. Engineering time? Accounting for all kinds of risks? Unlikely.
rcxdude · 3 months ago
I don't think I've seen a cloud-first company that spent less engineering time on managing their infrastructure. You just replace one set of work with another.
MyOutfitIsVague · 3 months ago
Those numbers bother me. What does it mean to be "6x cheaper"? Is that a sixth the price? If something costs $100, what is 6x cheaper than it? 2x cheaper? 1x cheaper?

It is as frustrating as when people use "200% faster" to mean exactly the same thing as "twice as fast", and "100% faster" to mean the same thing.

mikeckennedy · 3 months ago
See my comment above. In the book, I "show my work" on the math.
mikeckennedy · 3 months ago
Yes, they are being ripped off.

A 8 CPU / 16 GB Ram server at Hetzner is $30 or so per month. It's $200+ at AWS / Azure.

Bandwidth is 4TB included from free at Hetzner, it's $92.16 / TB or $368.64 additional at AWS / Azure.

That is where the 6x comes from. It's described in detail with that math in the book BTW.

rcxdude · 3 months ago
A lot are getting ripped off. To what degree depends on their tech capabilities and business savvy (i.e. what would it cost them to do it themselves and what kind of discount can they negotiate from the cloud provider. If you're paying the listed rates you are getting ripped of).
aitchnyu · 3 months ago
At which monthly spend should we negotiate with AWS for example? And will they check if we are using 25 of their services instead of easily migratable VM-hosted apps?