April 8, 2020

Log Rotation for Python Applications - Without killing them softly

A couple of days after a successful deployment of my Zope 4 application, I noticed something worrisome. Zope gets killed every night, shortly after midnight. I use Supervisor, which monitors the process and restarts it, so that’s not the problem. But there are two problems: I did not trigger this on purpose. The cache of my app is cold, that means that my colleagues get slow response times for the first queries in the morning....

February 23, 2020

isort and pre-commit - a friendship with obstacles

Note This post is not intended to be an exhaustive introduction to pre-commit and its hooks. Please visit pre-commit.com for a complete documentation. In a nutshell… pre-commit From its website: A framework for managing and maintaining multi-language pre-commit hooks. Very simplified this means, whenever you try to commit changes in your project (e.g. entering git commit), pre-commit runs all configured tools (e.g. linter, formatter, …), and only if they run successfully, your commit will be executed - otherwise your commit will fail....

November 26, 2019

Three Ways to Get Into Trouble or Welcome Back PageTemplateEngine

The web application server Zope has a very long history which dates back to the late ’90s. Quoting Martijn Faassen: Zope must be one of the oldest Python codebases in the world that is still used outside the standard library. During its many years of existence the way a view gets rendered has changed. Basically there are two supported template mechanisms: Document Template Markup Language (DTML) Zope Page Templates (ZPT) DTML is pretty much outdated for more than a decade, but still in use for the Zope Management Interface....

May 29, 2019

Am I Famous

A couple of months ago, Brett Cannon, one of the better known Python core developers, announced on Twitter that he contributed to over 100 open source projects. first reaction Woohah! Congratulations! second reaction How did he know? Every time I get a PR merged I record the repo’s URL for a tool I created to analyze my contributions to OSS. Ah… k. I did not do that. third reaction To how many open source projects did I contribute?...

May 27, 2019

PyConWeb 2019: Came for the talks, stayed for the raffles

summary of pyconweb 2019 F… awesome! talks and workshops I tried to collect all slides from Twitter and Telegram - in case I missed some, please drop me a line @jugmac00. Saturday, 25 May 2019 Building robust APIs Tornado Web Services on AsyncIO Bocadillo, or how I built an open source async web framework slides@Dropbox | slides@Github Introduction to GraphQL and Graphene source Hello to the World in 8 Web Frameworks slides and video @aaronbassett Life without passwords The dos and don’ts of task queues An introduction to D3....

May 10, 2019

Chrome No Longer Shows Saved Passwords

Concerning security and privacy, you either can get stalled because you can’t get it perfect right from the beginning, or you improve over time. I prefer the latter one. And concerning password security I go with Troy Hunt: Password managers don’t have to be perfect, they just have to be better than not having one. And actually the password manager of a browser is already a password manager. I would not use it for very important passwords, but it is absolutely fine for those dozens of dozens forum logins and so on....

May 10, 2019

Recap Day Three and Wrap Up of Zope Spring Cleaning

This blog post is work in progress… much more to come - but the train is only 10 minutes late (uncommon in Germany :-) ), so I am not able finish the blog post now (narrator: he never has updated and never will update this blog post). tl/dr - what a ride! today there was the final release of Zope 4! see blog post @gocept Michael / @gocept announced the roadmap for Zope 2....

May 10, 2019

Recap Day Two of Zope Spring Cleaning

Very brief recap, as I want to spend the remaining time with some more documentation updates. progress Jens Hinghaus Fix bug in ZMI search improve tempstorage fix Steffen finished the documentation for the Nonsensical path issue had some fun with getting AppVeyor up and running for Zope Daniel fixed a bug in ZCatalog (sorting did not work); migrated a DTML template to zpt Jeremy continued his work on zc.recipe.testrunner Jens Klein with Martin released zodbupdate released zodbverify opened a pull request for the ZODB migration story Michael prepared a blog post for the Zope roadmap prepared a blog post for the final release of Zope 4 released some more packages is about preparing the final release of Zope 4!...

May 9, 2019

Recap day one of "Zope spring cleaning"

More infos about the sprint 10 local sprinters 2 remote sprinters (Jens Vagelpohl and Dieter Maurer) progress Steffen had lots of fun with Nonsensical Path Infos had a look at some of the open documentation tickets Jens Klein / Martin Häcker created a pull request to improve the zodpupdate script created / extracted plone/zodbverify which can be used to check ZODB before the Python 2 -> 3 migration Jeremy worked on porting recipe....

May 3, 2019

Face to face with "Earl Zope and his henchmen"

This blog post tries to ease beginning and keeping up with the development of the open source web application server Zope and its universe. what makes it hard to start contributing Zope is a very mature product, as it was launched already back in 1999 Zope underwent some major architectural changes (keyword ZCA) Zope itself is relatively complex there is also a complex development ecosystem around it Buildout TravisCI (as of 2021, Travis is no longer used, but GHA) GitHub....