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

Joined December 2007
326 Photos and videos
Michael Foord retweeted
21 Jan 2025
I want to install Linux on my vacuum cleaner. Which distro sucks the most?
119
138
1,367
70,968
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
5
2,861
"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,909
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
912
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
662
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
454
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
350
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…

306
Michael Foord retweeted
#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
166
9,303
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
342
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
336
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
151
21,301
Michael Foord retweeted
92
5,307
37,439
1,445,398
Michael Foord retweeted
#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,642
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
1
302
252
1
3
352