Enrico Zini: debops
Debops
What I like the most about being a Developer is building tools to (hopefully)
make someone's life better.
I like it when my software gets used, and people thank me for it, because there
was a need they had that wasn't met before, and thanks to my software now it is
being met.
I am maintaining software for meteorological research that is soon going to be
10 years old, and is still evolving and getting Real Work done.
I like to develop software as if it is going to become a part of human cultural
heritage, developing beyond my capacity, eventually surviving me, allowing
society to declare that the need, small as it was, is now met, and move on to
worry about some other problem.
I feel that if I'm not thinking of my software in that way, then I am not being
serious. Then I am not developing something fit for other people to use and
rely on.
This involves Development as much as it involves Operations: tracking security
updates for all the components that make up a system. Testing. Quality
assurance. Scalability. Stability. Hardening. Monitoring. Maintenance
requirements. Deployment and upgrade workflows. Security.
I came to learn that the requirements put forward by sysadmins are to be taken
seriously, because they are the ones whose phone will ring in the middle of the
night when your software breaks.
I am also involved in more than one software project. I am responsible for
about a dozen web applications deployed out there in the wild, and possibly
another dozen of non-web projects, from terabyte-sized specialised archival
tools to little
utilities that are essential links in
someone's complex toolchain.
I build my software targeting Debian Stable + Backports. At FOSDEM I noticed
that some people consider it uncool. I was perplexed.
It provides me with a vast and reasonably recent set of parts to use to build
my systems.
It provides me with a single bug tracking system for all of them, and tools to
track known issues in the systems I deployed.
It provides me with a stable platform, with a well documented upgrade path to
the next version.
It gives me a release rhythm that allows me to enjoy the sweet hum of spinning
fans thinking about my next mischief, instead of spending my waking time
chasing configuration file changes and API changes deep down in my dependency
chain.
It allows me to rely on Debian for security updates, so I don't have to track
upstream activity for each one of the building blocks of the systems I deploy.
It allows me not to worry about a lot of obscure domain specific integration
issues. Coinstallability of libraries with different ABI versions. Flawless
support for different versions of Python, or Lua, or for different versions of
C++ compilers.
It has often happened to me to hear someone rant about a frustrating situation,
wonder how come it had never happened to me, and realise that someone in
Debian, who happens to be more expert than I can possibly be, had thought hard
about how to deal with that issue, years before.
I know I cannot be an expert of the entire stack from bare iron all the way up,
and I have learnt to stand on the shoulders of giants.
'Devops' makes sense for me in that it hints at this cooperation between
developers and operators, having constructive communication, knowing that each
side has their own needs, trying their best to meet them all.
It hints at a perfect world where developers and operators finally come to
understand and trust each other's judgement.
I don't know that perfect world, but I, a developer, do like to try to
understand and trust the judgement of sysadmins.
I sympathise with my sysadmin friends who feel that devops is turning into a
trend of developers thinking they can do without sysadmins. Reinventing package
managers. Bundling dependencies. Building "apps" instead of components.
I wish that people who deploy a system built on such premises, have it become
so successful that they end up being paid to maintain them for their whole
career. That is certainly what I wish and strive for, for me and my own
projects.
In my experience, a sustainable and maintainable system won't come out of the
startup mindset of building something quick&dirty, then sell it and move on to
something else.
In my experience, the basis for having sustainable and maintainable systems
have been well known and tested in Debian, and several other distributions, for
over two decades.
At FOSDEM, we thought that we need a name for such a mindset.
Between beers, that name came to be "debops". (It's not just Debian,
though: many other distributions get it right, too)
This weekend I attended FOSDEM, as I did for the past 4 years. As always, it
was a great experience, even if most of the talks I attended were not so
interesting.
One of the great things about these events, is to get together with other Free
Software enthusiasts. One of them introduced me to the new kid on the block:
Yesterday was pretty crazy busy. I woke up a little bit late because I
didn't have Zoe, and decided to head down to
Here s a trick that is so obvious, I m still hitting my head against the desk.
Let s say you want to install an EFI-friendly distribution on your MacBook. However, your MacBook does not detect bootable USB drives on startup (known bug on old Apple hardware).
I found 

When you run Puppet, it is very important to monitor whether all nodes have an uptodate catalog and did not miss the last year of changes because of a typo in a manifest or a broken cron-script. The most common solution to this is
Today is the monday after FOSDEM 2014, and I'm slowly waking up.
Being in charge of the video team, and after having spent a whole
week preparing followed by a whole weekend stressing about, today is a
day of slowly waking up from hibernation and returning gear to various
rental companies.
At FOSDEM 2013, we had recorded five rooms. Even though we did lose a
few talks, I felt pretty good about the whole thing, and I think we did
pretty well then. It had been my plan to increase the number of rooms to
be recorded from 5 to a reasonably higher number say, 10 or
so but
Back in 2006, the compiler in Ubuntu was
Here s today s snapshot of Debian s unstable archive for the past year (at the start of May you can see the archive unfreezing after the Wheezy release; the gaps were my analysis tool failing):
Ubuntu s lines are relatively flat because everything that can be built with hardening already is. Debian s graph is on a slow upward trend as more packages get migrated to dh to gain knowledge of the global flags.
Each line in the graphs represents the count of source packages that contain binary packages that have at least 1 hit for a given category. ELF is just that: a source package that ultimately produces at least 1 binary package with at least 1 ELF binary in it (i.e. produces a compiled output). The Read-only Relocations ( relro ) hardening feature is almost always done for an ELF, excepting uncommon situations. As a result, the count of ELF and relro are close on Ubuntu. In fact, examining relro is a good indication of whether or not a source package got built with hardening of any kind. So, in Ubuntu, 91.5% of the archive is built with hardening, with Debian at 55.2%.
The stack protector and fortify source features depend on characteristics of the source itself, and may not always be present in package s binaries even when hardening is enabled for the build (e.g. no functions got selected for stack protection, or no fortified glibc functions were used). Really these lines mostly indicate the count of packages that have a sufficiently high level of complexity that would trigger such protections.
The PIE and immediate binding ( bind_now ) features are specifically enabled by a package maintainer. PIE can have a noticeable performance impact on CPU-register-starved architectures like i386 (ia32), so it is neither patched on in Ubuntu, nor part of the default flags in Debian. (And bind_now doesn t make much sense without PIE, so they usually go together.) It s worth noting, however, that it probably should be the default on amd64 (x86_64), which has plenty of available registers.
Here is a comparison of default installed packages between the most recent stable releases of Ubuntu (

A new major release 0.11.0 of

Last night I was up again, really hard to sleep when you have a bad cold.
I decided to do something fun, and allow my
The other leaderboards can still be viewed via the usual selector:
I've found it curious but not altogether surprising how this mere change of default dramatically affects one's mindset.
Its been a while and I was not actively blogging. I wanted to start
blogging again but I was for some reason not happy with Jekyll
static site generator which was powering my previous site. So I took
this chance to explore other static site generators and redesign my
blog.
I explored a bit of Pelican, Nikola and Frog. I didn't feel
comfortable with Nikola. Frog is a static site generator written
using
After years under Mako s loving care, iron-blogger is now under