— title: Render iCalendar feeds on the web authors: Alain M. Lafon category: open source date-published: 2019-08-10 tags:

  • opensource
  • freesoftware
  • ruby
  • web

uuid: fe604f5e-d2e0-40e2-b91f-41b77128a9f5 description: >- FLOSS SaaS to display any iCalendar feed (for example a Meetup.com Group or a Google Calendar) as an HTML calendar. —

We all use calendars. Some digital calendars have a standardized interface called iCalendar (see Wikipedia). An example are Meetup.com Groups or Google Calendar.

Let's dig into one use case: Meetup is great to organize your local meetup. Meetup also has great sharing and API options. They do support embedding the meetup group together with the next meetup. However, there...

— title: Update a PGP primary key authors: Alain M. Lafon category: coders tip date-published: 2019-07-17 tags:

  • gpg
  • pgp
  • security

uuid: a72041de-ccbd-48ed-a6c5-5534d1758290 description: >- If you have an old/insecure GPG/PGP key and want to upgrade, this blog post is for you. —

If you have an old/insecure GPG/PGP key and want to upgrade, this blog post is for you. Such a key would be one using less than 2048 bits or using DSA encryption.

I decided that I need to change something about my GPG setup. I was still using a 1024bit DSA key from 2010 which means: Even if I create new and stronger subkeys,...

Many people and companies are using Github issues for project management. With the new projects board feature the transparency for managing a project have been greatly improved. It gives similar options to established tools like PivotalTracker or Trello - basically, you can create a basic custom Kanban board.

There’s one little UX pitfall into which I see people stepping over and over (I’m no exception here). If you’ve seen issue updates like this, you know what I mean:

The reason is that when working in the /project board/ view, the preview of an issue has “Close issue” as primary...

— title: "OpenSSL responded: [SSL: DHKEYTOOSMALL] dh key too small (ssl.c:727)" authors: Alain M. Lafon category: linux date-published: 2019-07-02 tags:

  • linux
  • debian
  • outlook

uuid: a27d021d-a4f9-4078-b21d-5ae5c71754cb description: >- For when your mail provider uses insecure encryption settings, but you still want to read your emails. —

I use Offlineimap to download mails from various accounts to my machine where. After my last Debian upgrade, when running offlineimap, I got the following error for one of my accounts:

Establishing connection to imap.redacted.ch:993 (redacted-Remote)
ERROR: Unknown SSL protocol connecting to host 'imap.redacted.ch' for repository 'redacted-Remote'. OpenSSL responded:
[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:727)
*** Finished account 'redacted' in 0:00

— title: "QuickShift: News vom neuen Release" authors: Alain M. Lafon category: 200ok date-published: 2019-06-09 tags:

  • quickshift

uuid: c867d49d-5f16-4bdd-94e2-86aa10c426de description: >- New quickshift.ch release featured-image: /img/products/quickshift.png —

Es gibt wieder neue Verbesserungen und Features bei QuickShift. Natürlich profitieren Sie kostenlos davon! Hier eine Auflistung der wichtigsten Änderungen.

Schichten in den Ferien

Sicherlich ist es Ihnen auch schon passiert: Ein Angestellter, welcher an einem Wochentag immer dieselbe Schicht hat, gibt Ferien ein. Sie generieren den Einsatzplan und merken erst danach, dass dieser Angestellte, der nun in den Ferien eine Schicht zugewiesen bekommen hat.

Um dies zu vermeiden gibt es nun eine Option auf Betriebs-Ebene: Ferien von...

Phil was invited to speak at the Goto conference in Copenhagen last November. By now the video has been uploaded to Youtube for everyone to enjoy:


Clojure and ClojureScript provide fine-grained control over the state of a running application. Especially when combined with a reactive front-end framework like React, features like hot-swapping code reach far beyond simple live reloading.

Applying a reactive paradigm means that changing the data updates the user interface. Clojure’s functional nature, with its strict separation of data and code, lets us use the reactive paradigm for...

Due to his experience, Phil was asked to give an interview to the paper Netzwoche in which he outlines the benefits of PWAs. You can find the original article on the Netzwoche website here or download it as a PDF.

This is a copy of the article:

Mit Progressive Web Apps (PWAs) verschwimmen die Grenzen zwischen responsiven Websites und Native-Apps. Doch nicht für jeden Zweck ist eine PWA die bessere Anwendung. Wo die Stärken und Schwächen von PWAs liegen und warum offene Standards wichtig sind, erklärt Phil Hofmann, Dozent an der ZHAW und Gründer von 200ok.

Was finden Sie...

If you’re a PulseAudio user on Linux, you might have experience this feature: When you change the volume in an application, it changes the system volume at the same rate.

This feature is called “flat volume” and seems to be targeted to users who do not understand the concept of a mixer. For example someone might turn up the volume of an application (i.e. Spotify or Youtube) all the way up while the system volume is very low or even at zero and wonder why “it” isn’t working.

On a first glance, this might seem reasonable. However, speaking from personal experience, it’s actually...

In an collaborative effort with OpnTec and FossAsia, 200ok GmbH has just open sourced all of the code of the professional live audio streaming and archiving of events platform voicerepublic.com under the GPL license.

The project was originally created in a funded company in which Phil and Alain were sharing the role of CTO. Many big publishers (i.e. Frankfurter Buchmesse, Fraunhofer Institute, Deutscher Ethikrat) have used the platform in the past to create and distribute their content in an open manner.

So here it is: https://github.com/voicerepublic/voicerepublic_dev

The ongoing plan is for OpnTec and FossAsia to build...

Recently at ClojureD, Josef introduced me to a tool which quickly rose to fame (in the JavaScript world): prettier. It is an opinionated code formatter for various languages - this paradigm probably got popular ever since Go started to ship such a formatter in the core tooling. I knew the paradigm and prettier itself from blog posts, but didn’t really try to use it so far.

Generally speaking I liked the idea of having my code automatically formatted in Emacs whilst adhering to configured linters such as eslint. However, from the docs it was much too complicated...