Creating cycles with
&T borrowed references in rust is tricky, but possible.
Drop-checking seems to prevent optimizing practical uses,
but there’s an escape hatch (that’s only available on Nightly for now),
as well as a hack (that works on Rust Stable).
Hi, I’m Simon Sapin. Pronouns are he/him (though I don’t mind the universal they/them). I contribute to Mercurial and Rust at Octobus, previously Servo and web standards in W3C’s CSS Working Group at Mozilla Research, previously WeasyPrint at Kozea.
Creating cycles with
Lately I’ve been working with Windows-specific APIs, so I needed to get a Windows dev environment. It took me a while to get a setup that I like. Here is what I wish I had known before.
In response to Mozilla’s Proposed Principles for Content Blocking: I want to block all unsolicited content. Explanation in more than 140 characters.
What is cairocffi, how does it relate to pycairo, and why did I build it?
I gave a talk in the Lyon city hall for the W3C Developer Meetup, presenting WeasyPrint, Kozea, and how we got there.
I gave a talk about WeasyPrint at PyConFR.
I just released Flask-WeasyPrint
I made tinycss, a new free software CSS parser for Python. It is extensible, well-documented, well-tested and fast. It replaces cssutils in both WeasyPrint and CairoSVG.
We just released Multicorn. It enables you to write Foreign Data Wrappers for PostgreSQL in Python. Any data source can be exposed as a table and queried with full SQL.
The project I’ve been working on in the past few months has finally reached an usable state and has gotten a public release! See weasyprint.org
Have a script (eg. your test suite) run automatically every time a file changes.
How to synchronize a Linux computer’s clock when NTP doesn’t work.
To wait for various events and without polling, a blocking threads for each event is the obvious solution. However, multi-threading comes with its pitfalls and problems. Here we are going to see how to build and event loop the handle multiple event in the same thread.
Just because the new name is so much cooler.
To run several tasks in parallel and keep their output separated, run each one in its own shell. Doing so can be automated, and thus it should. Here is how to open a GNOME Terminal window with multiple tabs from a script.
Using a sample text for statistics and Markov chains, we can generate passwords that are both random (and thus strong) and pronounceable (and thus easier to memorize.)
How to replace Django’s templating system by Jinja2 and still profit from it eg. in generic views.
I’ve been working on re-launching my personal website (you’re looking at the result), and wrote a static website generator in the process. It’s made of two Flask extension: Flask-FlatPages gives easy access to content with metadata stored in text files, and Flask-Static takes a snapshot of a Flask application as static files.