kraih
More diagnostics features for the Mojolicious event loop
an invention by kraih
Mojolicious is a web development toolkit and framework built around an event loop. That has many performance and scalability advantages, but can also make debugging slow code a bit of a challenge.
Especially in big projects like openQA, where Devel::NYTProf can be a bit tricky to use, it would be nice to have more built-in diagnostics tools at the event reactor level. Mojo::UserAgent already has very good diagnostics features with MOJO_USERAGENT_DEBUG
, and we should be able to do something similar for Mojo::IOLoop.
UNIX domain socket support for Mojolicious
an invention by kraih
The Mojolicious web development toolkit is currently limited to using TCP/IP sockets for its HTTP/WebSocket client and server. For most web services that's more than enough, but for containerized applications and IPC, UNIX domain sockets could provide significantly better performance and security. Use cases would be for example faster communication between Mojolicious application servers and NGINX reverse proxies, or a WebSocket alternative to the D-BUS message bus currently being used by openQA.
Admin UI for the Minion job queue
an invention by kraih
Minion, the job queue of the Mojolicious web framework, currently has to be administrated with command line tools. I want to build an Admin UI that will make the most common maintenance tasks, such as restarting a large number of failed jobs, a lot more comfortable.
Status plugin for Mojolicious
an invention by kraih
To make it easier to debug openQA and Cavil i want to build a plugin similar to the mod_status Apache module for the Mojolicious web framework. Figuring out how to combine HTTP and WebSockets should be interesting. If time permits i also want to make it look a little bit like the Minion Admin UI from my last HackWeek project.
Create an application to configure KEF wireless speakers from Linux
an invention by kraih
The KEF LS50 Wireless are audiophile grade powered speakers that are fairly Linux friendly. But so far they can only be configured via an Android/iOS mobile app. I want to reverse engineer the custom binary protocol used by the apps, and build a simple Linux application to reconfigure things like DSP settings on the fly from the terminal.
Playwright for openQA
a project by kraih
Project Description
This Hack Week i want to figure out how to best use Playwright to test Mojolicious applications like openQA in unit tests. Playwright is a (mostly better) alternative to Selenium for browser automation. I'd like to find a way to write entire unit tests in JavaScript, and have those run right next to existing Perl tests with the same test runner using Node Tap and the Test Anything Protocol.
Port the Minion job queue to TypeScript
an invention by kraih
Project Description
As part of the mojo.js project i want to port the Minion job queue from Perl to TypeScript and release it as an npm package. In the future this will allow parts of Mojolicious applications like openQA to be written in TypeScript/JavaScript (in addition to Perl).
Looking for projects around:
Nothing at the moment
Activity