Blog - page 2

Posts about technology.

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

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

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.

PyZMQ Basics - Part 1

I am working on a project that is adopting ZeroMQ. This post series is for self understanding of PyZMQ, a ZeroMQ libzmq binding for Python.

What is ZeroMQ?

ZeroMQ (or 0MQ, or ØMQ) is an Open Source library that provides building blocks for communication in distributed applications. The communication can be between the threads of a process, between process (inter-process), or via network protocols such as TCP and UDP.

It is optimized for performance, and has been used in many applications, giving users a solid foundation to be used in their projects.