It's not been a good week. I've been in dispute with my local council for almost four years - this video is a good summary of the issues. Some time ago the Planning Inspectorate gave a final ruling against me, and I understood that the designer of the structure was going to take further legal action against the Council. This week he informed me that he simply doesn't have the resources to fund a…
Whose calendar is it, anyway? A cautionary tale A while ago I noticed an odd "Paypal to BTC" calendar item that I didn't recognise, so I clicked on it and saw this. "Interesting," I thought, "where on Earth did this come from?" You'll notice that only my identity is listed, as whoever created it has concealed their own identity by withholding the full guest list. Intrigued, I clicked on the edit…
It's frustrating when useful tools refuse to work together nicely. In the past I've experienced conflicts between black and flake8 that made it impossible to commit via my default commit hooks. Now I'm seeing the same behaviour with black and reorder-python-imports . In short, almost a year ago now github user maxwell-k reported that black release 24.1.0 had introduced an incompatibility with…
These things move fast. No guarantees! They're doing it "The Italian Way," which apparently involves forfeits. First, conference announcements. No mic - not a great start. Oh, here we are! PyCon Portugal is 17 - 19 October 2024. There was a great acronym for Portugal, which I didn't have time to write down. EuroPython is in Prague and remote, in July. 8-9 Tutorials and workshops, 10-12, talks,…
Understanding Descriptors This is the HTML rendering of the Jupyter notebook that can be found in this repository . Understanding Descriptors ¶ This notebook introduces the concepts behind descriptors. The descriptor underlies much of the Python language's sophistication but the mechanism behind it remains little known. If you install the RISE extension it also displays as slides. Unqualified name…
I've recently experienced a rash of events where maybe once a week on average mouse clicks have simply stopped working. The cursor tracks the mouse, but clicks just don't do anything. After some weeks of irritation I eventually realised that I could avoid a reboot by restarting the Finder using the "Force Quit" feature (you can kill any app except Finder, for which the available action is…
This is an edited live blog of a Python London presentation by Bernat Gabor of Bloomberg. Sorry it's taken so long to prepare. A great talk, very well presented. Thanks Bernat! Many thanks to Babylon Health for being a welcoming host. PEP 484 introduced type hinting. Function annotations from PEP 3172 and variable annotations from PEP 526 have come together, and are supported by mypy. Why?…
Python programmers talk about namespaces a lot. The Zen of Python* ends with Namespaces are one honking great idea—let’s do more of those! and if Tim Peters thinks namespaces are such a good idea, who am I to disagree? Resolution of Unqualified Names Python programmers learned at their mothers' knees that Python looks up unqualified names in three namespaces—first, the local namespace of the…
This is a tip I first picked up about thirty years ago (my God!) when I worked at Sun Microsystems and used the C shell fairly extensively. Fortunately there's no need to do so any more, as many of its more desirable features have been incorporated into bash . There's nothing worse, even with tab-completion, than having to stab through a sequence of directories to find the location you want. If…
Wondering how best to convey the bigness of infinity, I came upon the idea of using a musical exposition. Please forgive the inadequate nature of the performance - like present-giving it's the thought that counts. It's a monologue on the nature of the smallest infinite cardinal. Enjoy. Or not ...
I've been pondering about why sometimes progress seems hard to make when I am learning a new piece of technology, which other people apparently just pick up and start using with no trouble at all. I now wonder whether it's a combination of personality and knowledge. In common with many developers I like to understand things thoroughly. For me this means being able to construct satisfactorily…
Another #LABHR post. I first met Carl when he came to a training session for new PyCon speakers. He was very nervous, and concerned that his topic would not be of sufficient interest to his audience. I made a point of attending the beginning of his talk, and by the time I left there was no doubt in my mind that Carl would do well in the Python community. Over the years he has done invaluable work…
As a personal #LABHR contribution (having already thanked recipients of PSF awards) I should like to bring to your attention a person by the name of Brian Curtin . If you are part of the Django world you may know Brian from his work with his then-local Chicago group, though he latterly moved to San Antonio. He has been featured as a Python core developer in the Python Insider blog, and more…
Leslie Hawthorn, Elastic Search’s enthusiastic communities manager, has been involved with open source for quite a while, and has come up with what seems to be a good idea . She's trying to get public acknowledgment for services to open source that often go unsung, and I recommend that you read her blog post and take action on it yourself under hashtag #LABHR (Let's all build a hat rack). I…
Following up my recent short video on installing Anaconda I now introduce miniconda , which is a distribution that contains only Python and the conda software on which Anaconda is based. The remainder of the Python packages you need can be installed in virtual environments managed by conda . When you are building Python systems with mundane requirements this is a great way to put your environments…
I am often asked what is the easiest way to build Python environments. For development purposes it's most convenient to have a "batteries included" environment that can be pared down once development is over. Continuum Analytics have for a while offered an open source project called Anaconda to provide easy access to both Python and the batteries. If you are a Python professional and you get…
The meeting started with one of the meeting's organizers, Tammy Lee, welcoming us to Dice Cabana. Alan Besner then took the MC slot to introduce tonight's speakers after a word from OfferUp's Arean, who explained that as the largest local mobile marketplace in the US they have collected some high volume data, and will be listening attentively to the talks. Unsurprisingly, OfferUp are hiring (their…
[EDIT: Updates talk with additional background and slide links] Tonight I'm attending the PyData London Meetup group for the first time. The meeting began with a short "What's New in the Python World," from the joint organizers, who assumed the audience was mainly here for the invited presentations. That's true -- like many others I find it interesting to learn what other Pythonistas are doing…
After a day at The Church House I am happy to say that the Intermediate Python repository is in much better shape to move forwards. Work on the Repository About eight people turned up throughout the day, with the stalwarts being Kevin Dwyer and João Miguel Neves. With their help I investigated some thorny problems I had created for myself in the area of git filtering. It turns out that there is a…
I'd like to thank Mike Driscoll for running his Python Dev of the Week series of blog posts. I was fortunate enough to be featured a while ago, and previous victims include Carl Trachte , Michael Herman , Brian Curtin , Luciano Ramalho , Werner Bruhin , Facundo Batista and Ben Rousch . I hope Mike keeps going with this series. There are many interesting personalities in the Python world, and this…
Regular readers (both?) know that I live in the USA but hail from the UK, where I still return regularly to stay in touch with family and friends. So to dip a toe in the UK training waters I booked a room (rather a nice one, as those who have attended other events I organized will not be surprised to learn) and put out an announcement that I was running a Python Programming Skills Lab . You could…
I've finally realized just what, exactly, so gets up my nose when I see organizations advertising for “rock star” programmers. To understand you need to cast your mind back (assuming it then existed) to 1971 (when I was in my first decade as a programmer) and Gerald Weinberg had just produced The Psychology of Computer Programming , in which he concluded that over-identification with the code one…
Readers should remember that I no longer have any official standing in the Foundation other than my long-standing membership, but this post is informed by eight years on the board, over three of them as its chair. Nicholas Tollervey ( author and performer of A Programmer Pythonical ) asked an interesting question on the Python Software Foundation's membership list today. Despite his misgivings it…
Edit: This issue was reported ( http://bugs.python.org/issue21904 ) and closed as "not a bug" This blog was written as an IPython Notebook. Some of the implementation details it discusses are specific to CPython, the default implementation, and may work differently in other implementations. To keep the code clean, all necessary imports are made immediately below. I habitually import print_function…
I'm still trying to digest the little I saw of PyCon. Sadly I was pretty wiped out by the three-day recording session for Intermediate Python in California and then the intensive editing work that followed to help the amazing O'Reilly team get the whole thing ready a day before PyCon officially opened. I also made the tactical (and, as it turned out, strategic) mistake of choosing to stay at the…