18 Jun 2015
It's been a rocky road, but it's actually been out for some time. It's the TalkingArch iso for June 2015. The delay in the posting of the release has been due to a server OS upgrade that took some rather unexpected turns, resulting in breakage of the GNU Social node that hosts the social media [...]
18 Jun 2015 1:55am GMT
08 Jun 2015
Recently, Arch Linux updated to gcc-5.1. This brought a lot of new features, but the one that I am focusing on today is the new C++ ABI that appears when the compiler is built using default option. Supporting the C++11 Continue reading →
08 Jun 2015 12:58am GMT
06 Jun 2015
We are in springtime and usually in springtime you make some cleaning.
Today I decided to clean my old desktop that is running the same Arch Linux installation since 2007.
Warning: this whole task requires a bit of knowledge about what a package does and why it is installed on
06 Jun 2015 4:09pm GMT
30 May 2015
[allan@server]$ rm sample-apps/ rm: cannot remove `sample-apps/': Is a directory [allan@server]$ rmdir sample-apps/ rmdir: failed to remove `sample-apps/': Not a directory Edit: it was a symlink to a directory. The error messages could be improved!
30 May 2015 2:33am GMT
28 May 2015
Some time ago I stumbled on Bandit, while I was doing research at work for an automated security linter. Bandit is a tool designed to find common security issues in Python code, which actually found some issues in our code. I was eager to set this up in our Jenkins enviroment when I discovered that Bandit does not support the specific XML output which Jenkins requires (Xunit output to be precise). After a few nights of hacking, the following commit added XML output to Bandit.
Here is a short tutorial on setting up Bandit in Jenkins.
Install Bandit using the instructions in the README, note that you will need the Git version for XML output support.
Now create a new Jenkins job and setup a source code management to fetch your code, then add a new build step like the image below. Where for example app is the directory which contains your code.
Now add a 'post-build action' to parse the XML output from Bandit and publish the results.
Once this is finished, you can trigger and build and you should see tests results as for example shown below.
When you click on a failed tests it shows more details about the possible issue.
28 May 2015 8:00pm GMT
25 May 2015
Creating plugins for the Zarafa Dagent and Spooler has been quiet complicated since it requires a lot of low-level MAPI knowledge. Since a year ago, we have been focussing on our new high-level Python API called Python-Zarafa, so it made sense to be able to use our preferred API in Spooler and Dagent plugins. The current version on Github made this functionality possible, with a few changes you can now use Python-Zarafa objects such as the Store, Folder and Item in your plugin.
import Zarafa class MyPlugin(IMapiDAgentPlugin): def PostConverting(self, session, addrbook, store, folder, message): server = Zarafa.Server(mapisession=session) if store: store = Zarafa.Store(server, mapiobj=store) if folder: folder = Zarafa.Folder(store, mapiobj=folder) item = Zarafa.Item(mapiobj=message) # My plugin logic
The example censorship plugin can now be rewritten to the following code.
import os import re from plugintemplates import IMapiDAgentPlugin import Zarafa CENSOR = '*censored*' class CensorShip(IMapiDAgentPlugin): def PostConverting(self, session, addrbook, store, folder, message): server = Zarafa.Server(mapisession=session) if store: store = Zarafa.Store(server, mapiobj=store) if folder: folder = Zarafa.Folder(store, mapiobj=folder) item = Zarafa.Item(mapiobj=message) body = item.body.text if os.path.isfile('/etc/Zarafa/censorship.txt'): badwords = [line.strip() for line in file('/etc/Zarafa/censorship.txt')] body = re.compile('|'.join(map(re.escape, badwords)), re.I).sub(CENSOR, body) self.logger.logDebug('%d badword(s) in body' % len(badwords)) # Also saves body item.body = body else: self.logger.logError("!--- censorship.txt file not found")
Hopefully this will make it easier to develop dagent/spooler plugins.
Using python-Zarafa in Zarafa-dagent/Zarafa-spooler plugins was originally published by Jelle van der Waa at Jelly's Blog on May 25, 2015.
25 May 2015 12:00am GMT
22 May 2015
Recent Linux kernels (4.0.2+, LTS 3.14.41+), pushed to the [core] repository in the past couple of weeks, suffered from a bug that can cause data corruption on file systems mounted with the
discard option and residing on software RAID 0 arrays. Even if
discard is not specified, the
fstrim command can also trigger this bug. (If you do not use software RAID 0 or the
discard option, then this issue does not affect you.)
The issue has been addressed in the
linux 4.0.4-2 and
linux-lts 3.14.43-2 updates. Due to the nature of the bug, however, it is likely that data corruption has already occurred on systems running the aforementioned kernels. It is strongly advised to verify the integrity of affected file systems using
fsck and/or restore their data from known good backups.
22 May 2015 8:32pm GMT
17 May 2015
Puppet 4 has been released and breaks compatibility with version 3. Therefore users will need to upgrade a server to Puppet 4 before updating their clients. Note that if only a Puppet 4 server is available, Puppet 3 clients will not work. Also a number of locations for things have changed including the config, manifest and module files. You will need to follow upgrade instructions for your servers and clients:
17 May 2015 4:27pm GMT
16 May 2015
Some modules have been split from the
pulseaudio package to avoid having modules with missing dynamic libraries. Please check which modules you need and reinstall them.
The split out modules are:
pulseaudio-bluetooth: Bluetooth (Bluez) support
pulseaudio-equalizer: Equalizer sink (qpaeq)
pulseaudio-gconf: GConf support (paprefs)
pulseaudio-jack: JACK sink, source and jackdbus detection
pulseaudio-lirc: Infrared (LIRC) volume control
pulseaudio-xen: Xen paravirtual sink
pulseaudio-zeroconf: Zeroconf (Avahi/DNS-SD) support
16 May 2015 7:39am GMT
15 May 2015
Normally when you write an article and label it with part one, it is followed soon after with a part two. Well, a lot more than two years later, I discovered this draft…. So this is part two of me Continue reading →
15 May 2015 3:22am GMT
04 May 2015
The release TalkingArch 2015.05.03 is released. This release brings with it the Linux 4.0.1 kernel, systemd 219 and the alternative text editor vim-minimal, for anyone who has had problems with nano speaking too much. Find it in the usual place. Git Migration Due to the upcoming death of Gitorious, where the git repository for the [...]
04 May 2015 3:15am GMT
28 Apr 2015
I am teaching my daughter about the world and all the different countries there are. She also likes receiving mail, so we came up with the idea of collecting postcards from all over the world. If you would like to Continue reading →
28 Apr 2015 10:47am GMT
27 Apr 2015
In the previous fault detection article, we saw how we can cover a lot of ground in fault detection with simple methods and technology that is available today. It had an example of a simple but effective approach to find sudden spikes (peaks and drops) within fluctuating time series. This post explains the continuation of that work and provides you the means to implement this yourself with minimal effort. I'm sharing with you:
- Bosun macros which detect our most common not-trivially-detectable symptoms of problems
- Bosun notification template which provides a decent amount of information
- Grafana and Graph-Explorer dashboards and integration for further troubleshooting
We reuse this stuff for a variety of cases where the data behaves similarly and I suspect that you will be able to apply this to a bunch of your monitoring targets as well.
27 Apr 2015 1:05pm GMT
13 Apr 2015
Yeah, it's about time! Announcing April's TalkingArch release, although this happened way back on the second. Seems somehow I left the blog neglected and abandoned this month. My apologies. Anyway, this TalkingArch snapshot includes all the latest packages as of the second of April, including Linux Kernel 3.19.2. As always, you will find the current [...]
13 Apr 2015 5:26pm GMT
08 Apr 2015
In fact, I spent the last month porting Choqok bits from Qt 4 to Qt 5, but I also fixed minor bugs you discover when doing this kind of work. Regressions could happen,
08 Apr 2015 6:24pm GMT
03 Mar 2015
It's new and it's live on the Talkingarch website. We present to you the latest and greatest TalkingArch live iso, which offers the latest versions of all core packages as well as Linux kernel 3.18.6. As always, you will find this iso on the TalkingArch download page, available via either a direct link or a [...]
03 Mar 2015 4:21pm GMT