MariaDB Coding Standards

Coding standards are often as hotly debated as vim vs emacs and other developer arguments. Viewers of the show Silicon Valley will all know the “tabs vs spaces” scene and how passionate people can be about it. Whilst I do personally have a preference (I’m not sharing it here), I feel it is much more important that people stick to one standard for a code base.

Standards Story

Several months ago a new community developer for MariaDB Server sent me a message asking where to find our coding standards document. After a bit of searching I realised we did not have one, and if we want to onboard new developers we definitely should have one.

Google Summer of Code 2023

The Google Summer of Code is a fantastic program that pairs new contributors up with mentors and pays them to work on open source projects.

MariaDB has been part of Google Summer of Code for 10 years and we are happy to announce that we are officially part of the program this year, too!

Traditionally, GSoC has only been open to university students, but now it is available to anyone! I’m a big fan of this, because talented people who do not have the opportunity to go to university can get involved. It also benefits those who are working towards a change into a career in software development.

10.7 preview feature: Compression Provider Plugins

MariaDB has been using a pluggable storage engine architecture for a long time and whilst this means great flexibility in choosing and managing the right storage engines for specific use cases, it also means they are easier to develop and therefore there’s an expectation that more engines will be created.

More storage engines means the MariaDB Server itself needs to be as flexible as possible to accommodate all sorts of functionalities that storage engines may need. One area where the MariaDB Server proved to be not that welcoming was in making available all the compression libraries needed by storage engines.

FOSDEM 2021 MariaDB is listening

FOSDEM 2021 was amazing. MariaDB had a developer room and Foundation members contributed talks to a number of other developer rooms. We were listening for ways in which MariaDB server could be improved during all these talks, regardless of which room our MariaDB Foundation staff were in.

MariaDB server developers present provided information related to recently fixed/improved items and things that are planned to be fixed.

Our interactions with the community of users present, many of which we know, gave us an opportunity to have a dialog about some of the parts of MariaDB that they would like improved.

A GSoC internship with the MariaDB Foundation

Introduction

Hi, my name is Kartik Soneji, and I am a second year student at Thadomal Shahani Engineering College, Mumbai. I have been programming since the age of 13. I started out with Java, then learnt a little C++ before diving head first into web development with HTML, CSS and JavaScript. I also programmed a bit in Python and Rust to see what all the hype was about.

My primary motivation to contribute to the open source community is because I strongly believe in the idea that software is free, to copy, modify and study.

Developer tip: test MariaDB install/upgrade quickly with Docker

Here is a quick tip for any developer who might want to test if the latest development version of MariaDB installs/upgrades. Traditionally, developers seem to have a bunch of virtual machines lying around which they use to test MariaDB installation and upgrade related things. Snapshotting virtual images, keeping them up-to-date, starting, stopping etc. takes a lot of time and does not feel very convenient.

A much faster option would be to use pristine Docker images for every test. Docker images however normally only run one process and thus do not simulate a complete operating system and lack vital things like systemd interactions. …

Testing Rocket.Chat and Zulip

The MariaDB Foundation is publicly testing two new communications tools, Rocket.Chat and Zulip, and we’re seeing if they can meet a few of our requirements.

Roughly in order of importance:

1) Open Source
2) A tool similar in functionality to the proprietary Slack.
3) A tool for internal staff chat, replacing some of the proprietary options used at present.
4) A tool with a good hosted solution so that we do not have to worry about hosting and maintaining.
5) A tool to replace/enhance IRC (preferably with good integration).
6) A replacement for proprietary voice and video call channels mainly for internal use. …

Duel: gdb vs. linked lists, trees, and hash tables

My first encounter with the gdb command duel was on some old IRIX about 15 years ago. I immediately loved how convenient it was for displaying various data structures during MySQL debugging, and I wished Linux had something similar. Later I found out that Duel was not something IRIX specific, but a public domain patch for gdb 4.6 written in ’93 by Michael Golan. Unfortunately, it never got into gdb (for licensing reasons, so I’ve heard). Now the gdb 8 is out, and the patch, obviously doesn’t apply. Instead of fixing the patch, I’ve re-implemented Duel in Python, using gdb Python API and the Arpeggio parser. …