Hidden Hat Press
banner
hiddenhatpress.bsky.social
Hidden Hat Press
@hiddenhatpress.bsky.social
Writing about code

PHP 8: Objects Patterns and Practice 7th ed Volume 1 out now!

https://hiddenhat.press
Pinned
Going to have to get better at this cross posting malarky(and marketing in general I guess) in the new year. Anyway, forgot to say here that PHP 8 Objects Patterns and Practice 7th ed Vol1 is now out and I blogged about it.

hiddenhat.press/php8-objects...
Announcing PHP 8: Objects Patterns and Practice
PHP 8: Objects Patterns and Practice, 7th Edition Volume 1 is out! Volume 2 is complete in draft.
hiddenhat.press
Reposted by Hidden Hat Press
I did a 2025 version of how I set up my personal PhpStorm! www.youtube.com/watch?v=2-cs...
How I set up PhpStorm in 2025
YouTube video by PHP Annotated
www.youtube.com
August 7, 2025 at 8:59 AM
PHP 8 Objects, Patterns and Practice Volume 2 is out!

Because the book has outgrown a single volume, this is the 'practice' part of the picture. It covers tools and best practice for collaboration, testing, development and deployment in PHP projects.

link.springer.com/book/10.1007...

#php
PHP 8 Objects, Patterns, and Practice: Volume 2
Volume 2 continues to develop elegant and rock-solid systems using PHP with a focus on mastering essential development tools and applying best practices,
link.springer.com
August 5, 2025 at 11:46 AM
This is me posting on my less codey account. 'Stealing the torment nexus'.
Wrote about the right and their co-opted version of science fiction.

hiddenhat.press/stealing-the...
June 24, 2025 at 12:45 PM
We added unit tests to our legacy system. I'm not sure the tests provide much value in themselves -- but preparing for them was a game changer.

hiddenhat.press/unit-tests-a...
Unit tests are bullshit (except when they aren’t)
Unit tests often achieve very little. They still might be worth the effort.
hiddenhat.press
June 18, 2025 at 4:50 PM
With more and more companies pushing me to passively consume AI products, I took a step back to review some of the issues at stake.

hiddenhat.press/ai-brief-eth...
AI: a brief ethical survey
Beyond the magic box. Work, copyright, bias and the environment.
hiddenhat.press
May 9, 2025 at 9:25 AM
Aand the second one (almost) down. Just submitted the last chapter of PHP 8: Objects, Patterns, and Practice Volume 2. Queries and proofs to come, but the real slog is done.

link.springer.com/book/9798868...

Back to other writing projects.
PHP 8 Objects, Patterns, and Practice: Volume 2
Volume 2 continues to develop elegant and rock-solid systems using PHP with a focus on mastering essential development tools and applying best practices,
link.springer.com
April 23, 2025 at 11:13 AM
Reposted by Hidden Hat Press
This Bauhaus poster was built for scrolling up and down.
March 8, 2025 at 6:16 AM
Improving your code like a ninja in the night. Why refactoring can feel like a crime.

hiddenhat.press/the-guilt-of...
The perverse guilt of refactoring
Knowledge work is notoriously hard to quantify but we like to try. Refactoring and editing can elude the attempt.
hiddenhat.press
March 6, 2025 at 2:52 PM
Testing and fetishism: how I almost gave in to the temptation to muffle the fire alarm. I'm sure that's not at all relevant outside of software projects at the moment!

hiddenhat.press/testing-and-...
Testing and fetishism
How silencing a failing test almost set our project on the downward spiral and why we should have known better.
hiddenhat.press
February 27, 2025 at 12:53 PM
Reposted by Hidden Hat Press
This is a great video about my book, Fluent Python Second Edition!

John goes over all the chapters highlighting what he thinks are the most important parts depending on your previous coding experience or needs.

Thank you so much, @john-codeslate.bsky.social !
February 11, 2025 at 8:23 PM
Reposted by Hidden Hat Press
How to create a Python CLI that's globally available in your system in 5 easy steps.

1. Install uv
2. Init project with `uv init --app --package mycli`
3. Write code
4. Install with `uv tool install . -e`
5. Use `mycli` anywhere in your computer
February 11, 2025 at 11:07 AM
Reposted by Hidden Hat Press
Noticing a trend of Python programmers using “isinstance” as a guard for type checkers to verify the existence of a method or attribute.

Isinstance is VERY slow for negative cases, esp classes with a few layers of inheritance, or mixins.
February 9, 2025 at 1:04 AM
Reposted by Hidden Hat Press
The hill I will die on: if your interview process relies on the element of surprise or deprivation of the resources that the candidate would normally have access to, it’s a bad interview process.
February 8, 2025 at 4:27 PM
Reposted by Hidden Hat Press
This Wednesday our freelancers meet up is in the Lord Nelson Inn, Brighton, from 8pm - 11pm.

Our chats last week, and opinion about easing back on using AI tools in programming: www.brightonfarm.com/2025/meeting...

Map to the pub: maps.app.goo.gl/cvx8bVp8Aj6C...
University, AI help laziness and hardcore tech, notes from 29th Jan - Brighton Farm
On the 29th January, we seven freelancers got together in the Lord Nelson pub to talk all things tech and self employment. It was a bijou meet up, but the chat was still good. Some of what we talked a...
www.brightonfarm.com
February 4, 2025 at 11:39 AM
Reposted by Hidden Hat Press
in other news, given the flood pouring down upon us, I stuck with my hopeful intention of not checking the news or bluesky until after work, which means I wrote about 2000 words today, an entire chapter, on my current WIP. I consider this part of the resistance.
January 28, 2025 at 6:28 AM
Reposted by Hidden Hat Press
Every now and again, a teacher from my youth comes to mind, and I reflect on how incredibly talented and dedicated they were, and how pivotal they were in my growth as a kid.

Teachers: know that the hard, often thankless work you do every day makes an enduring impact on the lives of so many. 🫡
January 28, 2025 at 1:33 AM
Reposted by Hidden Hat Press
Weird how worried Wall Street is about DeepSeek, weren’t they just saying AI innovation is good even if it harms some people in the short term
January 28, 2025 at 3:56 AM
Reposted by Hidden Hat Press
"The internet is a natural network, just build your own website." via @rosiesherry.com

www.rosiesherry.com/the-internet...

"blogs are a valid way to build your own network...success is usually down to showing up, consistently..."

#OwnYourOwnContent #blogging
January 21, 2025 at 9:48 AM
Reposted by Hidden Hat Press
Logged on after a purposeful day of not watching the news, logging off now after seeing the trash fire it was always gonna be.

For the next 4 years, I'm going to try to focus on helping my local community and orgs. It's the best thing I can think to do in the face of... all of this.
January 21, 2025 at 4:12 AM
Reposted by Hidden Hat Press
Marcus Bointon (@Synchro@phpc.social)
Attached: 1 image #TikTok
phpc.social
January 19, 2025 at 7:27 PM
Reposted by Hidden Hat Press
Back in the days of punch cards, when dinosaurs roamed the Earth and a software patch meant a piece of tape...🦖
January 16, 2025 at 11:37 PM
Spent an hour this week reviewing the cover copy for PHP 8 Objects Patterns and Practice Vol 2. Nothing like a cover mock up to make it seem real! Mind you, we still have tech review to go, so the sense of an ending is a little premature.
January 17, 2025 at 1:27 PM
Reposted by Hidden Hat Press
How to Build a GUI-Based Currency Converter App in Python

This guide walks you through creating a Python-based currency converter app with a GUI using Tkinter. You'll learn to fetch real-time exchange rates via an API, handle user input, and design a simple interface for seamles…

#hackernews #news
How to Build a GUI-Based Currency Converter App in Python
This guide walks you through creating a Python-based currency converter app with a GUI using Tkinter. You'll learn to fetch real-time exchange rates via an API, handle user input, and design a simple interface for seamless currency conversion.
hackernoon.com
January 17, 2025 at 8:33 AM
Reposted by Hidden Hat Press
The Ultimate Guide to Error Handling in Python https://blog.miguelgrinberg.com/post/the-ultimate-guide-to-error-handling-in-python
The Ultimate Guide to Error Handling in Python
blog.miguelgrinberg.com
January 16, 2025 at 4:02 PM