What Mario Builds
Intro
While compiling this list, I was surprised by the big number of projects that I startet, worked on, completed (or still maintain and extend). My journey is heavily coupled to the TYPO3 universe and later on with the Neos universe which is reflected in my OSS-Contributions - but I also worked on several other projects. Many of them are publicly available as OpenSource, just have a look.
And don’t forget, feedback is very welcome!
check_website_spf
Project Status: Feature-complete for now, actively in use + maintained/extended if needed
Project Period: 2019 - now
License: MIT
Working with hosted websites of our customers at internezzo, having a contact with the Sender Policy Framework (SPF) became an almost daily topic. While basically a good concept for filtering mails with low efforts, I noticed that there are regular issues with the use and configuration of it This in turn ended up as the one or the other (ok, many) request at our helpdesk. With this base, I started a script to automatically check, whether any given hosted domain, is allowed to send out mails by the domain’s SPF policy.
We’ve added this to be notified by Icinga, ahead of the customer noticing the issue as a problem. We can then guide the customer, or the third-party DNS-Operator of that particular domain to correct the SPF-Policy in it’s DNS etries.
check_dnssec_expiry
Project Status: Feature-complete for now
Project Period: 2017 - now
License: MIT
Working on DNSSEC enabling DNS-zones both for my personal domains and also planning to do that for customer’s domains at internezzo, we looked for a solution to monitor the signatures of that domains. The result is this check-script that can be used with Icinga or Nagios, maybe other monitoring tools and checks some things.
The screenshot below shows the remaining lifetime of the signatures which decreases steadily, then grows again as soon as our nameservers do a rollover and generate fresh signatures.
check_knot_statistics
Project Status: Basic Featureset is there, ideas around but not urgent to extend for now
Project Period: 2023 - now
License: MIT
Monitoring check script to gather some statistic data from Knot DNS servers.
CacheBreaker
Project Status: Feature-complete for now
Project Period: 2017 - now
License: MIT
This smallish project is the outcome of my blog post about CacheBreaking with Flow/Neos and provides a helper functionality to be added to your Flow application or your Neos CMS projects, to be able to add a cache-breaker parameter to each URL to a static asset’s file.
Thanks to Dmitri Pisarev for big parts of that package we’ve built as a team so to say.
Roketi
Project Status: Ideas are ready, needs more time to get going
Project Period: 2013 - now
License: MIT
The project was on my “wishlist” for soooo long time. In 2014 the kick-off began, unusally by creating the project website first, long before the first line of code was written at all. In addition, this project was clear to be developed together with others - it’s just too big for one person alone. But what is it about?
Well, it’s thought of as a cluster hosting management system which enables the user to control the hosting of websites and web-applications - across several servers - from one central web-based GUI.
We’re still seeking additional developers to join the efforts. And if you’re just want to keep updated, see the website where you can register for a newsletter.
PhotoTransporter
Project Status: Feature-Complete for now, let’s see what ideas come up in the future
Project Period: April 2015 until now
License: tbd, not open-sourced yet
For a colleague of mine, I developed a Flow based web-application. His goal is to publish photos from his camera to an FTP-Server (which was working already) and automatically publish them further from there (the part to develop). The photos should be pushed to Dropbox and flickr via their APIs.
The current solution containts a web-based frontend to configure the transport-jobs. This includes the handling of requesting/converting and storing the API-Tokens from Dropbox and flickr so we can later on talk to their APIs for publishing the photos. As soon as the API details are configured, the connection to the APIs is tested and the user is presented with a feedback.
The second part of the solution is the transport logic itself which is also part of the PHP application: It connects to the configured FTP host, downloads the photos and then automatically pushes them to the configured Dropbox target directory and/or the flickr album. Of course the transport-logic takes care of only fetching/transmitting the photos once and keeps a log on that.
After some months of usage of the application, we added further features like a Slideshow of the transported photos (e.g. to be shown “on site” during an event via a projector) and some magic to apply overlay graphics (e.g. logos) to the images depending on the orientation of the transported images.
(It’s an old Screenshot not showing the newly added configuration options)
Vagrant Box for TYPO3 Flow development
Project Status: not maintained anymore
Project Period: 2013 - 2016
License: MIT
I’m sharing my base box that I usually take for development of PHP projects. It’s perfectly suited as a base for TYPO3 CMS, TYPO3 Flow or TYPO3 Neos projects - and any other kind of PHP application.
Included is Nginx, dnsmasq, MySQL, PHP (with PHP-FPM) and some other magic. Everything set up via Puppet - that’s why it also serves as a “how did I manage to get XY working” library for myself :-)
It worked for me, but lately I didn’t use Vagrant anymore and instead ran a local Brew-based setup of Nginx/PHP/MySQL on my MacBook which serves me pretty well at the moment.
Web-Developer Quiz
Project Status: Finished, online - you can participate now!
Project Period: 2012 - now
Inspired by previous challenges and quiz pages, I thought it would be fun to run my own quiz - targeted to web developers. To solve it, the participants need know-how from several areas. You can find more explanation and the challenge itself on the project website - have fun!
Gitlab-Omnibus Updater
Project Status: Deprecated (as in “not needed anymore”)
Project Period: 2014 - May 2015
License: MIT
When I was tired to execute several steps manually for each and every update of Gitlab with the omnibus installer, I just wrote up a small script to automate that: As soon as the new version is announced, I can just execute the script. It detects the current version from the Gitlab-Website, downloads the *.deb version of the package, creates a backup, installs the new version and starts up all services again.
Since the guys bedind Gitlab decided to publish new versions via an official *.deb package repository, this script is not really needed anymore. Details can be found on the Update page.
CoMo - Coder of the Month
Project Status: not maintained anymore (as I’m not using it anymore)
Project Period: 2013 - 2016
License: MIT
A fun project which counts the commits from Git repositories and then automatically elects the Coder of the Month each month.
We were using it internally at internezzo and also the Flow Core-Team has a CoMo installation.
kippt-tools
Project Status: not maintained anymore
Project Period: 2012 - 2013
License: MIT
Kippt is an online bookmarking service. I’ve built a small backup-script that fetches all the clips (bookmarks) and stores them in a local MySQL database.
XliffTranslator
Project Status: Not actively maintained at the moment
Project Period: 2012 - 2013
License: MIT
I guess that was my very first TYPO3 Flow based project that was published to the public :-)
A TYPO3 Flow Package to locally translate your application’s XLIFF localization files. Shows nicely, if a label needs to be translated or updated since the last translation run:
BZD Staff Directory
Project Status: Not maintained anymore
Project Period: 2006 - 2013
License: GNU General Public License (GPL)
While working at a public school, we needed a versatile extension to render the persons in different lists, where every employee could be part of one or many organisations. The extension was also maintained after leaving that school and many features were added over time.
With the time passing by, my personal itch to update the extension for major TYPO3 CMS releases lowered and in 2014 I decided to not maintain the extension anymore.