I created a munin plugin to chart the number of gears present/idle on OpenShift application node instances. The plugin was written for/tested against OpenShift Enterprise 1.2.
These charts show the number of gears present/idle on a single OpenShift application node instance. Nothing special required to set this plugin up. Just copy the script/configuration to your node and then restart the munin-node service.
This is a combined/multigraph chart showing the number of gears present on all nodes representing my “small” district. This chart is created using the munin concept of ‘loaning’ data.
Interested in trying it out yourself? The code is up on github: tbielawa/openshift-munin-plugins.
Along with the actual plugin you can find example munin server configs for creating the multigraph chart of gears across all nodes in a district.
This is an update to a previous blog post where I described how I was able to use custom fonts in my docbook -> dblatex -> pdf toolchain by switching to the XeTeX backend.
I closed that blog post with a few caveats:
I’m pleased to say that I’ve recently revisited my publishing toolchain and two of those three caveats are no longer an issue.
Through a series of unexpected clicks on the dblatex releases page I found myself looking at links to download newer versions of dblatex than I was presently using. Though the updates are not scheduled for inclusion in Fedora 17, they are (going to be) available in Fedora 18 and Fedora 19. I quickly skimmed over the changelogs and found some interesting bug fixes. Such as:
Because I’m targeting smaller book dimensions for the Virtual Disk Guide I was most interested in the first fix mentioned: the removal of hard-coded paper sizes. Unfortunately, the documentation on the official dblatex site has not been updated in quite some time. It seems that they’re still displaying an early 0.3.x release of the docs.
Wouldn’t you know it… Some kind souls out there on the Internets have actually built and host the most recent version of the dblatex documentation online! Now I’m able to get a smaller page format which is suitable for the dimension options on lulu.com without having to directly hack any of the dblatex styles. All it takes now is: <xsl:param name=”paper.type”>a5paper</xsl:param> Header and footer content receive appropriate margins automatically, too. No more fussing around!
Gave the Open Source Scholarship talk today with @akbutcher. It was a smash hit. We were lucky to get a lot of great promotion around the internet for this event:
I also want to give Michael Dehaan a huge thank you for his cameo today. The students loved it!
The presentation is available online: Open Source: A Guide. I was referring to it as our self documenting presentation, in that virtually everything Andrew and I touched on during the talk was linked from within the preso slides.
Thanks to all the students who came out (especially the folks who asked questions). We’re doing this for you!
I’m super proud to be able to say this today:
Some of my friends and I have started a scholarship at West Virginia University. We’re calling it the “Open Source Scholarship“. Here’s our pitch:
The Problem: Paying for school is hard, when you’re finished you haven’t learned enough skills to set you apart from your peers, and your resume is unimpressive.
This is a scholarship to motivate young adults to become involved in open source communities.
Committee members working professionally in the open source market will use their collective 30 years experience to recommend students based on the impact of their contributions.
We’ll show you what open source is all about: how to negotiate the open source ecosystem, show you were to get started, and walk you through your first contributions.
On April 23rd of this month @akbutcher and I will taking a few days off from work to fly back to Morgantown, WV where we’ll make the official announcement to the students. Immediately following the announcement we’ll give the what open source is about and how to become involved in it prezo. We’re hoping that if we pull it off right the students will feel comfortable enough to go out and start looking for ways to become involved.
We know what we’re asking the students to do isn’t trivial, so we’re not going to leave them all on their own! After the announcement has been made we’ll be maintaining an IRC channel on freenode.net and handing out our contact information.
The students will have from the day of the official announcement through the Friday before Thanksgiving this year to make contributions. We’ve put together a simple submission portal where they can enter and track their contributions.
I am so excited to see this take off! Check out the official scholarship website for all the details:
Updating to the 0.3.4 version of dblatex has fixed many of the issues detailed in The Aftermath (end of this blog post). See the blog post for more information.
You’re writing a book in DocBook XML, publishing it with dblatex, and you dislike (or want to customize) the fonts it uses in the rendered PDF.
You hunt around the internet and find a nice family of fonts you want to use in your final product. Best of all, they’re free and released under the Open Font License!(Thanks, Adobe!)
The dblatex documentation shows you how to set your fonts, but you can’t seem to get it to work.
Caveat: I can verify that this solution works for TTF type fonts, I can not comment on how well it works for other font types.
First, you will need to identify the actual family name of the fonts you want to use. If your font is not installed on your system there is a command called otfinfo that can tell you the family of the font file (despite sounding specific to OTF fonts, this works on TTFs as well). The otfinfo command is provided by the lcdf-typetools package:
If your desired font is already installed on your system you can use the fc-list command instead to find the same information (fc-list is provided by the fontconfig package):
If this is a new font on your system then you’ll need to install it. There are (at least) two locations that work:
$HOME/.fonts
/usr/share/fonts/truetype/
The Font Manager application (package: font-manager) also provides a graphical way to install font collections.
Rebuild your font caches with the fc-cache -f -v
command. If I recall correctly, you need to have super user permissions to run this. I may be wrong though.
The necessary changes to consume your custom fonts isn’t difficult. Assume that up until now you’ve been rendering your PDFs from XML source like this:
dblatex -o output/Virtual-Disk-Operations.pdf Virtual-Disk-Operations.xml
We need to use XSLT stylesheets to define what our chosen font families are going to be. In this example I’m using Source Sans Pro for the body font and Source Code Pro for monospaced sequences.
First, make a directory called xsl and put a file like this in it:
Next, slightly modify the command you run to build your PDFs (new parts are in bold text):
dblatex -p xsl/dblatex-pdf.xsl -b xetex -o output/Virtual-Disk-Operations.pdf Virtual-Disk-Operations.xml
-p xsl/dblatex-pdf.xsl: This tells dblatex that we’re providing a “user stylesheet” to use when transforming the XML. This stylesheet only has our font customizations in it, but you can put much more in them than just that.
-b xetex: This tells dblatex that instead of rendering our PDF with pdftex we want to use a different backend driver (or “TeX engine”). Specifically we want to use the xetex driver. We choose the xetex driver because of it’s superior font handling abilities via the fontspec LaTeX package. When we use the xetex engine dblatex will insert some special macros into the intermediate LaTeX document it generates, this process is transparent to the end user:
After this, dblatex runs any custom post-compilation scripts, and then hands the intermediate file off to xetex where it is finally transformed into PDF format.
In my case there were some unexpected side-effects from switching backends. Here’s what I’ve noticed so far:
The only thing that really bothers me is the broken word-wrapping character. I can deal with the others breaking. I had intended to remove them from the final product anyway.