2014-05-28

Win-Win: Employer Branding and Corporate Social Responsibility

Does your company care about employer branding? Probably yes.

Does your company care about corporate social responsibility? Probably yes.

Does your company combine these two to create a win-win situation? Most likely not!

Take my employer ImmobilienScout24 as a typical example: The about us page mentiones that ImmobilienScout24 is a great place to work (4th in our region) and the CSR team talks about the social engagement, e.g. blood donations or the social day where all employees donate their work time to non-profit organizations.

However, there is no obvious connection between these two things.

I would like to suggest a simple way how to combine both employer branding and corporate social responsibility:

A company should make it a priority to support charitable organizations and social projects related to their own employees.

Examples:
  • Sponsor non-profit organizations or neighborhood/community projects that employees are involved with.
  • On social day, go to schools and kindergartens where employees are parents.
  • Involve employees who are in the red cross or similar organizations to organize the annual blood drive.
  • Support local or neighborhood charity organizations instead of global ones.
Basically the idea is that CSR related activities should be geared around the employees private life and activities.

This will create a win-win situation and especially help to retain employees because they get additional fulfillment and satisfaction from their employer supporting their social engagement.

There is no added costs involved, it is enough to change the way how CSR budgets are spent.

I mostly hear these arguments against this idea:
  1. CSR spending must be charitable beyond doubt, employee projects could be too narrowly orientated to count as generally charitable.
  2. Employee-oriented sponsoring would lead to envy between colleagues.
  3. The danger of personal enrichment or employees taking personal advantage is too high.
  4. Niche projects and small target groups would get too much funding compared.
  5. Employees who are less outspoken or less engaged would be disadvantaged.
All these arguments are most certainly valid and represent the fear that "something could go wrong". Of course sponsoring a large and well-established institution is much easier and safer, but also much less gratifying. And much less worthy of press attention and less outstanding.

I believe that all these concerns can be adressed by establishing simple rules related to funding:
  • Communicate the concept of employee-oriented CSR funding to all employees so that everybody understands the value of making CSR spending more personal and more related to the people.
  • Make CSR funding very transparent - from the internal application through the reasons given till the detailed spending report.
  • Publish follow-ups on past fundings to ensure sustainable spending and to give positive examples.
  • Make a very visible call for participation to invite all employees to suggest organizations and projects they care about.
  • Not every single project must be charitable for the general population - all projects taken together should have a sufficiently wide spread.
With these rules a company can easily resolve the concerns preventing the benefical combination of CSR spending and employer branding.

The following links discuss this idea in part without drawing the obvious conclusion that smarter CSR funding could improve employer branding for free:
Image: © Can Stock Photo Inc. / ribah2012 and / mindscanner

2014-05-22

Adding Custom Menus for Linux Desktops

The "Start Menu" of a Linux Desktop usually comes with a predefined set of categories that make up the sub menus. If you have a lot of custom applications then you might want to group them under a dedicated sub menu instead of having them spread out over all the menu categories.

Adding sub menus and new categories on Linux Desktops is defined in the Desktop Menu Specification in Appendix C. It turns out that it is really simple and the following example from ImmobilienScout24 can serve as a base for your own custom menu.

You will need the following parts:
  1. A Desktop file using a custom category
  2. A Directory file defining the icon and description for the new sub menu
  3. The icon for the sub menu
  4. An XML file describing how to integrate the new sub menu into the menu structure and which categories of Desktop files to show in the new menu
The Desktop file describes the menu entry, in this example the VPN client:
The important part here is the Categories entry which specifies a generic category (Network) and a new custom category (X-IS24). The Desktop Menu Specification states that custom categories must start with X-. The Desktop file usually goes to /usr/share/applications.

The Directory file also conforms to the Desktop Entry Specification but is of Type Directory:
The XML file is placed usually in /etc/xdg/menus/applications-merged and extends the menu structure with the new sub menu, tying together the categories and the Directory file:
In this case we also exclude the X-IS24 category from the Network category so that our menu entries will not show up in several sub menus.

KDE, Gnome Classic, XFCE and other desktops with a regular menu all follow the same standards and show the new sub menu. Unity and Gnome 3 seem to have a fixed set of build-in categories and don't show the new sub menu as a new category.

2014-05-15

Simple Video Presentation with Raspberry Pi

Playing videos in an endless loop is a common problem:
  • Product demos at a trade show or fair
  • Infomercials in a public place or foyer
  • Background fun at a party
  • ...
When I faced this problem at the last LinuxTag we did not want to take a full blown computer with us but make do with a Raspberry Pi. The question was how to turn the Pi into a simple video player with a minimum amount of fuss.

The solution is simple and elegant:
  1. Install OpenELEC (an Kodi distribution) on a SD card
  2. Boot it up once in the Pi to initialize the storage partition
  3. Add the following file in the storage partition as .kodi/userdata/autoexec.py
  4. Add any amount of multimedia files in the storage partition under videos/
  5. Boot up the Pi and enjoy your videos
You can also interrupt the playback and use OpenELEC normally. To go back to the automatic playback simply reboot the system.

And here is our booth with the demo videos in front:

Update 2016-05-13: Adjust for Kodi instead of XBMC. Everything else works as before.

2014-05-02

Simple file patching with sed

Patching configuration files is like the bread-and-butter job of every configuration management. In our package-based deployment world we try to minimize the patching to the absolute minimum, usually to "enable" modularized configuration patterns.

The best example is the Apache Webserver, where we have a wrapper RPM package with a %post script that simply replaces (and not patches) the upstream configuration with a few include lines:

Sadly there is still a lot of software that does not support includes in its configuration. For these we of course have to patch the existing configuration and use this short and simple config patcher in our RPM %post scripts, for example like this for sshd_config:

The trick of this snippet is that in the end the changed parts are always at the top of the file. It is also important to always embed some information about the cause of the patch so that one can easily find out who or what is reponsible for the file. The %-variables are filled in by RPM and provide precise information about which package caused this change.