Screencasts with Open Broadcaster Software

Veröffentlicht am Montag, 29. Mai 2017 05:00 in Tools

This week, I spontaneously wanted to record a code review as a screencast to watch offline for others. In the past, I've recorded a lot of tutorials and screencasts, however the tools I used to use are not quite state of the art anymore (I loved to use Expression Encoder, for example). Luckily, I remembered that a friend of mine recommended Open Broadcaster Software (or "OBS Studio" for short) recently for streaming and recording, so I decided to take it for a ride. OBS Studio is open source (see GitHub) and very actively maintained. It also seems to have a large community that posts in their forums, publishes guides and creates plugins for the software. Overall, using it was a great experience right from the beginning, and it left a very professional first impression on me. I won't bore you with another "getting started" guide for this software here. What I want to provide is two things to help you improve using OBS Studio for your screencasts: a) Some configuration advise to set you up for an excellent audio experience, and b) a set of recommendations to get the best quality for your screencasts while keeping the filesize at an absolute minimum. Just to be clear on the scope of this post: I focus on the recording side of things (meaning to produce on demand/offline content); the video encoding details I describe here are particularly irrelevant for streaming scenarios.

Dem Einbrecher den Schlüssel reichen

Veröffentlicht am Mittwoch, 3. Mai 2017 22:01 in Security

Als ich gerade eben eine E-Mail mit einem angeblichen Link zu einem geteilten "Google Docs"-Dokument erhielt, wurde ich skeptisch: mit der betreffenden Person hatte ich schon länger keinen Kontakt mehr, und die E-Mail kam völlig kommentarlos. Es roch stark nach Spam und Phishing, aber andererseits sah die E-Mail sehr authentisch aus, und der Link führte eindeutig zur Domäne google.com - eine gute Gelegenheit, sich die Details anzusehen.

How to improve Aurelia's watcher performance

Veröffentlicht am Montag, 10. April 2017 04:00 in Programmieren & Tools

Aurelia's CLI has a watcher feature which - in theory - adds quite some improvement to your daily work: I watches files for changes, recompiles your project automatically and uses browser link to refresh the page you're currently working on. For quite some time the watcher had a rather unpleasant property: it crashed. A lot. Fortunately, that was resolved when a pull request was accepted for the CLI. Disappointment struck when I tested the fix though; yes, the crashes were gone, but the watcher's performance now was horrible. Looking through the code I realized that the fix simply turned off incremental TypeScript builds to get rid of the crash. After a discussion on GitHub, I decided to take a deeper look into this, and - well - here are the results.

Was für ein Zirkus

Veröffentlicht am Dienstag, 4. April 2017 04:00 in Philosophisches

Als ich gestern von der Arbeit nach Hause fuhr, sah ich in einem kleinen Städtchen, an einer Straßenlaterne befestigt, das Plakat eines Zirkus. Im Vorbeifahren waren für mich weder der Name des Zirkus zu erfassen, noch die Veranstaltungstage oder der genaue Ort, weil mein Blick einzig und alleine wie fasziniert auf den Preis gerichtet war: "Eintritt 2 Euro" stand da. Zwei Euro! Nachdem ich mich kurz versichert hatte, dass ich nicht versehentlich in der Zeit zurück bis zu den Fünfzigern gefahren war, verbrachte ich die restliche Fahrt - die von diesem Punkt aus für gewöhnlich ziemlich genau neun Minuten und fünfzig Sekunden dauert - damit, über Zirkusse nachzudenken.

Creating an Aurelia-based auto-complete control

Veröffentlicht am Sonntag, 19. Februar 2017 18:00 in Programmieren

A while ago I created a small private web application, and instead of going the usual MVC-based way I had accustomed to during the last years, I chose to create a single-page application using Aurelia, a very sophisticated, modern, .NET developer-friendly framework for such apps. Once I reached the point where I needed some sort of auto-complete control to asynchronously fetch data from the backend to choose from, I evaluated the usual suspects I had learned to use in the past. Frankly, none of them felt "right" for the job. The style of integrating and using these controls simply seems antiquated in the light of modern web development compared to concepts like those of web components. So I thought: how hard can it be to write my own? As it turns out, not so hard. What started as a proof of concept for private use actually was a lot of fun and evolved, and today I want to share the result of that experience with others.

Magische Hände der Zerstörung

Veröffentlicht am Sonntag, 29. Januar 2017 16:00 in Satire & Tools

Ich habe traditionell ein Händchen dafür, Software durch bloße Benutzung kaputt zu bekommen. Von der Installation bis zum ersten Segmentation Fault sind es potenziell nur wenige Minuten. Ein Bekannter führt mir ein neu implementiertes Feature vor? Drei Klicks bis zur NullReferenceException. Was für einen Tester als Begabung gilt, ist im Alltag eher Plage. Seit einiger Zeit funktioniert diese Gabe nun auch bei Microsofts Produkten.

Dem Namen nach

Veröffentlicht am Dienstag, 27. Dezember 2016 16:06 in Satire

Wie gefährlich es ist, den angebrochenen Eierlikör vom letzten Jahr vollends aufzubrauchen, hat heute die Marketing-Abteilung von GMX bewiesen:

namenstage-bei-gmx.jpg

Als "Peter" hat man zwar sehr viele Optionen, aber der 27.12. gehört nicht zu den möglichen Namenstagen.

Netter Versuch :).

Knifflige Produktaktivierung

Veröffentlicht am Freitag, 23. Dezember 2016 13:15 in Satire & User Experience

Seit einiger Zeit kämpfe ich immer wieder einmal mit Bildstörungen beim TV-Empfang unseres Kabelanschlusses. Diverse Versuche, das Problem selbst zu beheben, verliefen ergebnislos: Zurücksetzen des Receivers, Neuverkabelung zwischen den Geräten, Entfernen möglicher Störquellen - nichts. Schließlich überwand ich meine natürliche Hotline-Scheu und rief bei Unitymedia an. Durch geschicktes Bedaddeln der zig Menü-Optionen landete ich tatsächlich direkt bei einer technischen Störungsannahme, was ich schon als kleinen Erfolg verbuchte[1][1]
Mir graut es stets davor, mich durch die Frontverteidiger zu kämpfen, die - technisch meist wenig bewandert - erstmal stur nach Plan X vorgehen und den Kunden zu allerlei wirkungslosen aber aufwändigen Schritten zwingen, selbst wenn er diese zuvor schon diverse Male selbst ausgeführt hat. "Schalten Sie das Gerät bitte für zwei Minuten aus und wieder ein. Führen Sie jetzt bitte das Zurücksetzen auf Werkseinstellungen durch. Oh, hat nichts gebracht und alle ihre Aufnahmen, Sendereinstellungen und sonstigen Konfigurationen sind weg? Tja. Wenigstens konnten wir jetzt ausschließen, dass das Gerät eine Macke hat..."
. Man versprach mir eine Prüfung des Anschlusses durch "das Fernwartungsteam" mit anschließendem Rückruf. Statt des erhofften Telefonats allerdings trudelte zwei Tage später eine E-Mail bei mir ein...

Highway to Hell

Veröffentlicht am Donnerstag, 8. Dezember 2016 17:00 in Programmieren & Tools

Vor einigen Jahren noch waren Entwickler nicht nur vertraut mit dem Begriff DLL Hell, es liefen ihnen meist auch kalte Schauer den Rücken hinunter, wenn sie an die ein oder andere Situation zurückdachten, in denen sie sich dieser "Hölle" ausgeliefert sahen[1][1]
Die kalten Schauer traten bei mir persönlich derart häufig auf, dass einige meiner Banscheiben bereits Symptome von Erfrierung zeigten.
. Der Begriff bezeichnet vereinfacht dargestellt die Situation, dass verschiedene, zueinander inkompatible Versionen ein und derselben Bibliothek (DLL) Konflikte verursachten, die nur schwer aufzulösen waren. Heutzutage ist das Phänomen dank schier unbegrenzt zur Verfügung stehender Ressourcen und auch Technologien wie .NET, die aktiv an Lösungen für die Problematik gearbeitet haben, weitgehend in Vergessenheit geraten und berührt kaum noch das tägliche Arbeiten. Außer natürlich man arbeitet mit JavaScript.

Die Definition von "Release Candidate"

Veröffentlicht am Mittwoch, 16. November 2016 21:26 in Satire & Tools

Die Entwicklergemeinde tut sich traditionell schwer, Begriffe wie "Alpha-Version" oder "Beta-Version" formal zu definieren. Jeder hat seine eigene Vorstellung davon, welche Voraussetzungen erfüllt sein müssen, damit eine Software etwa den Beta-Status erreicht hat. Je näher die Fertigstellung eines Produkts rückt, desto klarer und einheitlicher werden aber die Definitionen. Zum Stadium des "Release Candidate" etwa schreibt Wikipedia...

Blättern: 1 2 ... 26