Python Trainer & Consultant. Author of unittest.mock. PSF Fellow. A hoopy frood. Python Core Dev. GenX. Also @mfoord He/him.

Northampton, UK
Joined December 2007
Michael Foord retweeted
I want to install Linux on my vacuum cleaner. Which distro sucks the most?
118
137
19
1,348
71,016
New blog entry: Advanced Python Course major updates agileabstractions.com/advanc… Over the last year I've updated my Advanced Python course to be based on a series of modules that can more easily be adapted to the needs of any team. There's a lot more advanced material and ...
1
1
5
2,877
"I opened a book and in I strode. Now nobody can find me. I've left my chair, my house, my road, My town and my world behind me." The Gruffalo creator's 3.1 million units sold in 2024 means she beats JK to claim the record for bestselling author since records began.
2
1,919
New Python Knowledge Share Video Online: List Comprehensions, Generator Expressions & Function Signatures This one hour session is on working with data using enumerate, zip plus list comprehensions, generator expressions, and function signatures. agileabstractions.com/new-vi…
3
914
Python is TIOBE Language of the Year in 2024 January Headline: Python is TIOBE's programming language of the year 2024! This award is given to the programming language with the highest increase in ratings. Python gained a whopping 9.3% in 2024. tiobe.com/tiobe-index/
2
663
The OSI has published my articles: "The Absolute Minimum Every Python Web Application Developer Must Know About Security" Part 1: Essential Web Security The Defence in Depth approach, important security principles, OWASP Top 10, CVEs, tooling, etc... opensource.net/essential-pyt…
1
2
2
455
Part 2: Security Cryptography Algorithms, a Guide Cryptography algorithms, using the cryptography library and the Python standard library. Hashing, encryption, key exchange protocols and public/private key signature algorithms with their use cases. opensource.net/security-cryp…
1
1
351
Part 3: TLS and Networking Much of our security is network security from TLS. We now know when, how and why to use TLS. Plus look at the request->response cycle of HTTP, the abstraction layer developers work at, and the security issues around networking. opensource.net/tls-and-netwo…
307
#Python tip: Use "pass" to explicitly mean "do nothing" and "..." for "more code should go here." def consume(iterator): for _ in iterator: pass def stub(x, y, z): # Someday, I will get to this ...
6
18
3
165
9,346
Object Oriented Theory with Python (2 day course) agileabstractions.com/oopwit… A practical course, now taught several times for the BBC. An excellent course for data scientists, devops engineers and those self taught with Python looking to move beyond scripting into programming.
1
1
343
Python Knowledge Sharing Videos agileabstractions.com/python… Seven (so far) one hour long videos on core Python language topics like the core object model, closures, decorators and generators plus sessions on testing and concurrency.
1
2
337
Essential Python Web Security opensource.net/essential-pyt… First part of a series: "The Absolute Minimum Every Python Web Application Developer Must Know About Security" This is a rigorous look at Python web application security. "Full Stack Security: The Defence in Depth Approach".
1
1
304
Michael Foord retweeted
SIDS risk goes from 11 to 3 per 10,000 when parents sleep babies on their backs. So about 1430 parents need to sleep their baby on their back to save one baby's life, totalling *48620* hours of parental sleep lost per baby saved.
6
5
4
148
21,315
Michael Foord retweeted
84
5,183
381
36,937
1,445,764
#Python can be incredibly expressive. Here is a beautiful snippet for computing a mode from a list of unhashable, unsortable inputs. max(data, key=data.count) The running time is quadratic so only use this with smallish inputs.
2
48
4,648
I worked for a large firm where most of the developers thought they did agile because they did Scrum. Despite the six month release cycle with three week planning phase at the start of each release cycle (and the death march at the end)...
2
5
471