Personal
142h 50m
Personal
142h 50m
Zyte-funded
52h
Community-funded
0m
Although I don't have any expectations about it nor plan to actively promote it, I'm open to accepting donations and committing a corresponding amount of time per month to the free software projects listed below.
I live in Spain and, for legal reasons, to accept recurring donations I must register as self-employed (autónomo), which entails minimum costs I don't want to take on until I have reasonable assurance that I won't, at minimum, lose money each month by accepting donations.
That's the minimum I consider sufficient to make it unlikely I'll lose money each month. It's calculated by adding the estimated monthly fixed costs of being self-employed (social security contributions, taxes and administrative costs) and dividing that total by the monthly time I would pledge to community work. As living costs (for example housing) rise, minutes per € will fall each year.
I will claim pledges and start dedicating 2.99 minutes / € per month to the projects below.
Once I claim the pledges, I will start accepting requests to create Liberapay teams associated with specific project groups or individual projects listed below. That way, you can donate to a specific group or project, and I will spend the corresponding time working on that specific group or project.
I don't plan to offer that option at first. But if you're interested, contact me and we'll talk.
I'd be very surprised, but the plan is:
87h 50m
87h 50m
I made great progress on the roadmap. I completed the first chapter of the tutorial and drafted the rest of it, finished and internationalized the documentation (moving from YAML files to Sphinx), added many new food templates and support for more food databases, reworked the guidelines so they match the reference data (including configurable authorities, energy-rate limits, pregnancy support, and extra vitamin C for smokers), and implemented a long list of new features such as menu tags, weight tracking, menu export and import, unit conversion, meal notes, and menu durations.
55h
55h
It was an experiment: I used Godot to try to create an action RPG based on The Battle for Wesnoth. I have already decided to abandon the project.
51h 35m
50h 35m
In addition to reviewing many pull requests, I opened 45 pull requests, of which 27 have already been merged. In CI and tooling, I set up CodSpeed, switched to installing dependencies with uv, and reduced the test job matrix while maintaining coverage.
I improved the test coverage of scrapy.utils, scrapy.commands,
scrapy.extensions, scrapy.pipelines, scrapy.cmdline, and the
spiders.
I added scrapy.utils.asyncio.sleep(), support for
CONCURRENT_REQUESTS = 0 for unlimited concurrency,
RobotParser.crawl_delay() and a robots_parsed signal, exporting
item fields in declaration order, AWS_MAX_POOL_CONNECTIONS, and
treating broken cache records as cache misses. I also fixed a port
issue with cached DNS.
I documented urlparse_cached, added documentation sections for
callbacks and errbacks, added a stats reference, and converted several
documentation pages to autodoc (contracts, trackref, stats, exceptions,
and spiders).
I also proposed deprecating the download_delay spider attribute,
limiting response headers size like browsers, supporting HTTPS proxies
with Twisted and aioboto3, supporting feed modes, and browser-like bad
header handling for the default download handler. I kept working on the
new throttling API and
solved conflicts in my older pull requests.
35m
I reviewed pull requests, including the release notes for version 1.5.0.
10m
I proposed only detecting JSON objects and arrays as JSON, caching CSS-to-XPath translations per instance, and an interactive XPath tutorial. I also reviewed pull requests.
5m
I fixed the JSON Schema pattern flags and
anchoring, proposed
using $defs/$ref for reused and recursive item
classes, and reviewed
a pull request.
5m
I added a minimal CI environment and reviewed pull requests.
5m
I reviewed a series of URL-parsing pull requests and solved conflicts in my can_ada pull request.
25m
25m
I added support for running without a
reactor,
which makes it possible to disable the Twisted reactor, and proposed
supporting discarding requests from user
code,
making stats linkable,
and a ZyteApiParams page
input.