Blog - page 2

Posts about technology.

Reddit r/functionalprogramming community

Alonzo Church caricature

r/functionalprogramming was created nearly seven years ago. It started when I was interested in contributing to Apache Commons Functor.

I created it to have a place to collect links about functional programming. To my surprise there was no subreddit for functional programming. So I created one. Fast forward a few years, the community is still active, with a healthy group of nearly 10.000 readers and contributors.

Nowadays I spend something like 5 to 20 minutes everyday moderating posts. And a little more than that whenever I find some interesting post to read. But if I could change one thing in the community, it would be to find more moderators.

It is a huge responsibility to be the sole moderator of content read by thousands of readers. Whilst I try to stay neutral, and keep it a healthy community, I feel like having other people with different background and opinions would be good for the future of the community.

Cylc videos

Last week I put together a playlist with all Cylc videos I could found on Youtube.

Clicking on the video above should open the YouTube playlist, with the next videos on the right. They are sorted from the newest to the oldest (upload date).

Generating diagrams from a SQlite database with Python

A 1984 Apple Macintosh drawing

There are tools out there that can be used to reverse engineer databases and generate diagrams. These tools normally are GUI based. But I needed one that could be used in a project build to generate a simple diagram for documentation.

A tool in Python would be ideal, as that is the language the project I was working on was written in. After searching in DuckDuckGo and PYPI, I found ERAlchemy that seemed to have the features I needed - kinda.

A look at the first implementation of GraphQL in Cylc

This is based on a WIP pull request, and what is being described here may be outdated by the time the pull request has been reviewed and merged. But it should still give you an idea of what we are working on.

For Cylc 8 we are adding an initial implementation of GraphQL, to replace the previous REST API. Besides the technologies in the API’s, another difference is that for the REST API, its main consumer was a PyGTK GUI.

The new GraphQL API, on the other hand, will be used mainly by a Vue.js Web application. So a few things need to be done in a different way due to the jump from Desktop GUI to Web GUI.

Running fuzzers to find bugs

The comparison does not focus so much on how fuzzers work, which one is best than the other, etc. It looks only into its advertised features, whether it is maintained by a group or individual (bus factor is always important), and the license.

Fuzzifying is a technique used in automated tests to find bugs in programs with unexpected data. fuzzer is the name given to the program used for running these tests. Some fuzzers also generate random data used for the tests.