Heimdallr is a utility which is actively being written to create administrative bridges between physical/virtual systems, utilities and services to bring them all together, and to help reduce the need to do what is commonly referred to as "swivel-chair" administration. The name comes from the Old Norse name for the mythical son of Odin, who keeps watch for invaders and who guards the burning rainbow bridge, Bifröst, due to my long fascination for Norse mythology, in part due to the subject in school, and in part due to the Marvel comics I occasionally read as a kid. But it reflects the knowledge and thinking of the author after numerous years of being responsible for multiple UN*X operating systems at past employers, as well as working on a provisioning service at one particular past employer to provision telephony and IP networking gear with things such as phone lines and DSL or GPON connections, combined with a knowledge of things including Cobbler (and Koan), Ansible, OPNsense, phpIPAM, rsyslog, and TrueNAS. It was originally written using Python and Django, but was switched to PHP and Laravel and Laravel Breeze, when it was easier to integrate DataTables at that time. However, it is currently being decided whether it will return to using Python/Django using knowledge gained while working on my Job Application Tracker application, or get a major revamp using Laravel 13 using Laravel Fortify directly. Either way, the result will have full roll based access control fully implemented, and will likely be using htmx.

You can see more at these locations:

  • The GitHub repository.
  • My further description of it on my demo page.
  • The actual demo site, which runs a slightly dated and crippled version of the software (the data used is currently a clone of the data used by the live site, with data such as the firewall logs time-lagged by 30 days), and actual host names "obscured" by being replaced by names like "host5".
Slug
heimdallr

I tried a Junie thing, and once again, it failed...

So, I was doing some work on Heimdallr, and I notice that I was using Laravel 12, and should upgrade to Laravel 13. Upgrades from one major version of a another for frameworks in PHP projects always seems to be "painful" for some reason. In Zend Framework, they dropped core components, from what I have heard, for Drupal 7 to 8, you practically had to rebuild things from scratch. For L12 to L13, they talk about doing it in an estimated 10 mins, but my experience was far from it. My development VM runs on a hefty server, and is pretty hefty itself.

Heimdallr... crossing the rainbow bridge.

In my last post, I talked about running into limitations with Django and Python, where I had queries I was wanting to do, but the integration between the RawQuerySets and DRF were blocking me from being able to easily build those queries and route the results to the DataTable.. Well,  I spent a day or two this past weekend recreating the entirety of what I had written in Django and Python  using Laravel and PHP, and I have some observations.

Heimdallr, do we have a bridge to cross?

When I first wrote about Heimdallr, I saw it as a project which was going to be written in Python using Django. I have been using both PHP and Python since their initial releases, but something made that pairing stand out.  First, outside of it using colons with indention to indicate code blocks, I have liked the ecosystem with stronger typing like C/C++, whereas PHP was weaker in its typing.

Centralized Logging and Log Analysis, part 1

Centralized logging and observability is not a new concept. Decades ago, at CompuServe, we had over 1000 machines running BSD/OS, and the idea of visiting each one to check machine health was laughable at best. Indeed, even just pulling the logs back for analysis was just as bad. So on each machine, syslog had lines like the following in the syslog.conf file:

Heimdallr – Controlling the Rainbow Bridge between applications Heimdallr – Controlling the Rainbow Bridge between applications

For over a decade, I have had a rack of servers which I have used for both personal and work related tasks. Indeed, here is a picture of my server rack from back in 2007 (with 6U of rack space containing what was at the time around $140K worth of high-end network switches).

Common Table Expressions – SQL Magic by another name

Common Table Expressions, or CTEs as they are often called, are an area of SQL which can by some be considered to be no different than magic. This is because few of us use them, and even fewer of us use them regularly enough to make them like the familiar of some powerful wizard in some book. And just like those familiars sometimes do in the books, they can give us great frustration or even turn upon us like some demon or Djinn who has escaped the bounds we thought would control them.