Neues in .Net

Im Schlepptau der Veröffentlichung von Visual Studio 2015 gibt es zahlreiche Neuigkeiten rund um .Net. Bei all den Versionen und Ankündigungen verliert man jedoch schnell den Überblick und alleine die Videos vom “Final Release Event” kommen zusammen auf fast 5 Stunden Demos und Erklärungen. Damit man ein wenig gezielter nach Neuigkeiten suchen kann, habe ich hier eine kleine Auslegeordnung der für mich wichtigsten Punkte vorgenommen.

 

.Net 4.6 und C# 6

Das .Net Framework wird kräftig weiterentwickelt und bietet mit Roslyn ganz neue Möglichkeiten zur Codeanalyse. Im Moment hört sich in diesem Bereich noch vieles nach einer netten Spielerei an. Richtig angewendet dürfen wir uns auf eine ganz neue Generation von Analysewerkzeugen freuen, die weit über Dinge wie die Null-Check Warnhinweise von ReSharper hinausgehen.

Für Entwickler wohl am deutlichsten spürbar ist der neue Null-Conditional Operator, der einem zahlreiche mühsame Null-Kontrollen erspart. Ob die Variablen customers oder Orders auf dieser Zeile Null sind spielt keine Rolle, der Code wird ausgeführt und liefert das gewünschte Ergebnis:

int? first = customers?[0].Orders?.Count();

Weitere Neuerungen wie die Filter bei Exceptions muss ich erst selber ausprobieren. Hat man jahrelang ohne diese Funktion programmiert fällt es einem oft schwer den Nutzen zu erkennen. Dies dürfte sich je nach Anwendungsfall aber schnell ändern, von dem her sollte man damit erst ein wenig herumexperimentieren bevor man ein Urteil fällt.

 

ASP.NET 4.6 ist nicht vNext

Im letzten Jahr war bei ASP.NET vor allem die Rede von vNext. Diese Neuentwicklung bricht mit dem bisherigen ASP.NET und hat als eines der auffälligsten Merkmale die project.json Datei. Zwischenzeitlich wurde vNext in ASP.NET 5 umbenannt. Damit es aber richtig kompliziert wird nennt man die Verschmelzung von ASP.NET MVC und Web API nun ASP.NET MVC 6. Dies da ASP.NET MVC 5 ja bereits im Oktober 2013 mit Visual Studio 2013 erschienen ist.

ASP.NET vNext resp. 5 ist noch in der Entwicklung und dürfte nach aktueller Roadmap erst im 1. Quartal 2016 erscheinen. Somit bleibt noch ein wenig Zeit bis man sich in ein grundlegend neues Framework einarbeiten muss.

Das jetzt veröffentlichte ASP.NET 4.6 enthält vor allem Optimierungen und Detailverbesserungen für die aktuellen Versionen von MVC, Web Forms und Web API. Damit findet man sich schnell zurecht, da die grossen Änderungen ja erst 2016 kommen. Dennoch lohnt sich ein Update, denn die verbesserte Unterstützung von IntelliSense für Bootstrap und AngularJS spürt man deutlich.

 

Änderungen an den Visual Studio Versionen

Die Premium und die Ultimate Version von Visual Studio 2013 wurden bei 2015 in der Enterprise Version kombiniert. Dementsprechend müssen sich bisherige Besitzer der Premium Version bei der nächsten Vertragserneuerung auf höhere Lizenzkosten gefasst machen.

Am unteren Ende der Versionspalette befindet sich die Visual Studio Community Edition, die gerade für kleinere Teams und Firmen mit weniger als 250 PCs oder 1 Million $ Jahresumsatz eine interessante Alternative darstellt. Entgegen der bekannten Express-Edition kann man hier die IDE erweitern und beispielsweise auch ReSharper verwenden.

Welche Version man nun mit welchen Funktionen erhält findet man auf der Übersichtseite von Microsoft.

 

Fazit

Diese Woche bringt für.Net Entwickler viel Neues. Leider erschwert der nicht gerade übersichtliche Mix aus 4.6, 5 und 6er Versionen das Zurechtfinden. Diese Verwirrung dürfte sich aber bald legen und mit ein wenig produktiver Erfahrung wird man die neuen Möglichkeiten von C# auch besser einordnen können. Angesichts von ASP.NET 5 wird es auch im 2016 spannend bleiben…

Tags: , ,

MEAP: Wenn es einmal ganz lange dauert

29. Juni 2015 Kommentare aus

MEAP - Manning Early Access Program

MEAP - Manning Early Access Program

Seit rund 6 Jahren bin ich ein regelmässiger Kunde des Early Access Program von Manning (kurz MEAP). Mit dieses Programm kann man Bücher lesen die noch in der Entstehung sind. Was komisch tönt macht gerade bei neuen Technologien Sinn, da es dort oft an guter Dokumentation fehlt. Wie einfach man bei diesem Programm mitmachen kann hatte ich schon hier beschrieben.

Unfertige Bücher können auch einmal nicht erscheinen. Dies trat bei mir bisher nur bei einer Bestellung ein und wurde durch Manning vorbildlich gelöst.

 

Gute Dinge brauchen Zeit

Seit heute kann ich nun über ein weiteres Kapitel berichten. Es kann durchaus vorkommen, dass ein Buch erst mit einigen Jahren Verspätung erscheint. So erhielt ich heute die gedruckte Ausgabe von „Groovy in Action, Second Edition“. Dies wäre nicht der Rede wert, wenn ich mich noch an die Bestellung erinnern könnte. Ein Blick ins Mailarchiv lieferte mir als Bestelldatum den 29. Dezember 2009.

Von der Bestellung bis zur Auslieferung sind demnach ganze 5.5 Jahre vergangen. In dieser Zeit konnte ich dank der elektronischen Formate (PDF und Mobi) zahlreiche Versionen lesen. Dass der Weg zum fertigen Buch noch so lange sein wird hätte ich mir 2009 allerdings nicht vorstellen können.

 

Fazit

Solch lange Wartezeiten hatte ich bisher noch nie erlebt. Trotz dieser neuen Erfahrung finde ich MEAP noch immer eine gute Idee. Der Vorteil dieser Programme liegt allerdings klar im Bereich der elektronischen Formate und weniger bei den gedruckten Ausgaben.

Wenn neue Versionen automatisch an den eigenen Kindle übertragen werden, hat man immer die neuste Version zur Hand und kann mit dieser Arbeiten, ganz unabhängig davon wann das Buch schlussendlich gedruckt wird.

Tags: , , ,

Ubuntu 15.04: (Kleine) Nacharbeiten am Unity-Desktop

26. Mai 2015 Kommentare aus

Das Update auf Ubuntu 15.04 verlief ohne grosse Probleme und war einmal mehr sehr schnell durchgeführt. Allerdings musste ich diesmal sehr viele Kleinigkeiten anpassen, da ich mit den Standardeinstellungen nichts anfangen konnte. Dies ist eine gute Gelegenheit um all die verschiedenen Schrauben zu zeigen, an denen man im Unity-Desktop drehen kann.

 

Menüs immer anzeigen

Standardmässig wird bei einem Anwendungsfenster in Ubuntu nicht das Menü, sondern eine etwas über den Inhalt (wie der Dateiname oder die URL einer Webseite) angezeigt. Erst wenn man mit der Maus über den Fensterrahmen fährt erscheint die Menüauswahl. Dies kann man mit diesem Befehl in der Kommandozeile ganz einfach ändern:

dconf write /com/canonical/unity/always-show-menus true

Von nun an sind die Menüpunkte immer direkt sichtbar.

 

Hervorhebungsfarbe ändern

Von all den Änderungen hat mich das grelle Orange als Hervorhebungsfarbe am meisten gestört. Die Farbe ist in einer Auswahlliste gerade noch erträglich, nicht aber bei einem grösseren markierten Text. Diese Einstellung kann man mit dem Werkzeug “GTK Theme Configurator” ändern. Falls dieses Werkzeug noch nicht installiert ist, kann man dies über die Kommandozeile oder das Ubuntu Software Center nachholen.

sudo apt-get install gtk-theme-config
gtk-theme-config

 
Ubuntu_1504_ThemeConfiguration

Nun kann man ganz einfach die gewünschte Farbe auswählen und wird nicht mehr von einem grellen Farbton geblendet.

 

Schriftgrösse und Desktop Design anpassen

Mit dem “Unity Tweak Tool” kann man alle anderen Bereiche der Oberfläche anpassen. Dies reicht von der Schriftgrösse über die Anzahl virtueller Desktops bis hin zu den Icons. Hier kann man ebenfalls einstellen, ob die Menüleiste oben am Bildschirm oder am Fenster der jeweiligen Anwendung erscheinen soll.

sudo apt-get install unity-tweak-tool
unity-tweak-tool

 
Ubuntu_1504_TweekTool

 

Standardeinstellungen für Dienste anpassen

Bisher musste man in Ubuntu jeweils die Startskripte der Dienste direkt anpassen. Nach einem Update sind so immer alle Einstellungen weg und man muss von vorne beginnen. Das dies ein Problem ist hat man nun auch bei Ubuntu eingesehen und verwendet nun einen deutlich besseren Ansatz: alle Anpassungen werden an den Dateien in /etc/default vorgenommen.

Wenn man den Port von Mediatomb ändern will, erfolgt dies dementsprechend nicht mehr in der Datei /etc/init.d/mediatomb, sondern in /etc/default/mediatomb. Damit kann man zukünftig die Dateien in /etc/init.d aktualisieren und die eigenen Einstellungen in /etc/default/ bleiben erhalten.

 

Bildschirmsperre aktivieren

Ebenfalls gewöhnungsbedürftig war die fehlende Funktion zum sperren des Bildschirms. Die entsprechende Option kann man in den Systemeinstellungen aktivieren, womit auch das noch das letzte verbleibende Werkzeug für Einstellungen zum Einsatz kommt:

Ubuntu_1504_LockScreen

Wenn dies gemacht ist, funktioniert das Sperren des Desktops wieder über die Tastenkombination [Windows] + [L].

 

Fazit

Das Update auf Ubuntu 15.04 ist schnell installiert, allerdings braucht es einige Werkzeuge und viel Zeit bis wieder alles wie gewohnt läuft. Gerade die verschiedenen Werkzeuge sind alles andere als Benutzerfreundlich und es würde Ubuntu sehr gut tun, wenn diese Vielfalt schnellstmöglich einem brauchbaren Konfigurationswerkzeug weichen würde.

Tags:

Mein Technologieradar für 2015

22. April 2015 2 Kommentare

Seit der Veröffentlichung meines ersten Technologieradars ist schon mehr als ein Jahr vergangen. Somit ist es höchste Zeit für einen Rückblick, ein Fazit und die Erstellung der nächsten Version.

 

Was brachte mir der Technologieradar?

Der grösste Pluspunkt für mich war die erzwungene Fokussierung. Ein bewusstes Einteilen von verschiedenen Technologien in die einzelnen Ringe hat mir sehr geholfen. Ganz wesentlich war der Ring Hold, in den alles hinein geht mit dem ich mich nicht beschäftigen wollte. Dadurch konnte ich mich auf die Technologien fokussieren, die ich als wichtig erachte und hatte dennoch genügend Zeit um auch auf Neues reagieren zu können.

Ein einmal erstellter Technologieradar ist kein starres Konstrukt. Wie ein richtiges Radar soll dieser vielmehr auf die Umgebung reagieren und wichtiges hervorheben.
Strukturierte Logmeldungen sind so ein neues Thema, das aus der vagen Idee von “Log as Data” und “Business Event Tracking” entstanden ist und zu einigen Blog Posts führte.

 

Mein neuer Technologieradar

Wie im letzten Jahr habe ich wiederum das Projekt Techradar von Brett Dargan verwendet. Die Ringe sind ebenfalls unverändert und folgen der Idee von ThoughtWorks:

  • Hold (abwarten): Keine neuen Projekte mit diesen Technologien starten.
  • Assess (einschätzen): Genauer hinschauen ob sich daraus etwas entwickelt.
  • Trial (ausprobieren): In kleineren und weniger wichtigen Projekten Erfahrungen sammeln.
  • Adopt (umsetzen): Bereit um in kritischen Anwendungen verwendet zu werden.

Mit der 2. Ausgabe macht es nun auch Sinn zwischen bestehenden und sich bewegenden Themen zu unterscheiden. Die Kreise stehen dabei für unveränderte Technologien, während die Dreiecke Neuigkeiten oder grosse Veränderungen markieren.

Techradar_2015

 

Techniken, Verfahren & Methoden

Techradar_2015_Techniques
In diesem Quadranten gibt es wenige Veränderungen. Das neue Thema der strukturierten Logmeldungen sowie Exploratory Testing sind aus meiner Sicht bereit für den produktiven Einsatz und können bei der Fehlervermeidung und Eingrenzung sehr hilfreich sein. Für die konkrete Umsetzung der strukturierten Logmeldungen in .Net hat sich Serilog als äusserst hilfreich erwiesen, während BugMagnet einem beim Exploratory Testing viel Arbeit abnimmt.

Die Visualisierung von Metriken ist ein Thema zu dem ich noch zahlreiche Abklärungen machen muss. Die Ideen dahinter sind sehr spannend, allerdings führen falsch verwendete Metriken zu grossen Problemen. Daher ist hier besondere Vorsicht geboten.

 

Infrastruktur, Plattformen & Services

Techradar_2015_Infrastructure
Beim letzten Radar zögerte ich noch mit der Empfehlung von RavenDB. Mit Version 3 sind diese Bedenken nun ausgeräumt. Fall ein Projekt eine NoSQL-Datenbank benötigt und darauf mittels C# oder einer REST-API zugreifen will, ist RavenDB meine favorisierte Lösung.

Docker ist ein spannender Ansatz um ganze Systemumgebungen auf Anwendungsebene zu virtualisieren. Diese unabhängigen Container vereinfachen nicht nur den Betrieb, sondern auch die Entwicklung. Mit den Ankündigungen von Microsoft für eine Implementierung auf Basis von Windows dürfte Docker auch bald in der .Net Welt eine grosse Rolle spielen. Somit ist es Zeit für einen genaueren Blick auf Docker.

Konkretes zu SharePoint 2016 wird Anfangs Mai zu erfahren sein. Je nach neuen Funktionen und Verbesserungen könnte SharePoint 2016 ein interessantes Thema werden. Mehr dazu wird man allerdings erst nach der Ignite-Konferenz wissen.

 

Sprachen und Frameworks

Techradar_2015_Languages
Eine sehr grosse Änderung kommt mittels ASP.Net 5 (ehemals ASP.Net vNext) auf die .Net Webentwickler zu. Grundlegende Änderungen in der Projektstruktur, eine komplett auf Mono lauffähige Umgebung und ein eine neue Verteilung der Aufgaben zwischen MVC und WebAPI führen zu einem grossen Lernbedarf. Ob sich dieser lohnt wird nicht zuletzt beim Migrationspfad entschieden. Je aufwändiger es ist eine Anwendung zu migrieren, desto länger werden die alten Versionen verwendet.

AngularJS ist ein Framework mit vielen offenen Fragen. Die inkompatible Version 2 setzt auf TypeScript, den JavaScript-Aufsatz den ich immer noch sehr skeptisch betrachte. Falls AngularJS so gut wird wie manche erhoffen, muss ich meine Position zu TypeScript überdenken. Allerdings könnte AngularJS genauso gut aus meinem Technologiestack fallen…

Bezüglich neuer Programmiersprachen sehen Swift und Go sehr interessant aus, allerdings hat auch C# 6 einige Neuerungen die man nicht verpassen sollte. Daher kann ich derzeit noch nicht abschätzen mit was ich mich am Ende mehr beschäftigen werde.

 

Tools

Techradar_2015_Tools
Balsamiq Mockups und Octopus Deploy sind 2 grandiose Werkzeuge, die einem viel Arbeit abseits der Entwicklung abnehmen. Mit den Mockups in Balsamiq lassen sich Anforderungen und Ideen einfach sammeln, während Octopus das Deployment auf wenige Klicks reduziert.

Entity Framework 7 wird Microsofts nächster Anlauf für einen OR-Mapper. Da erneut grundlegende Funktionen (wie Lazy-Loading) fehlen erinnert einem dies sehr stark an die Einführung von EF 4. Ob der Ansatz eines OR-Mapperers sowohl für relationale wie auch NoSQL-Datenbanken die fehlende Abwärtskompatibilität aufwiegt? Auch hier muss sich erst noch zeigen wie gut die veröffentlichte Version wirklich ist.

Microsoft hat in diesem Bereich in den letzten Jahren sehr viel begonnen und kaum etwas langfristig unterstützt. Durch diese fehlende Kontinuität sind Micro ORMs wie Dapper für mich sehr interessant. Diese kommen ohne grosses Framework aus und liefern einen einfachen Zugang zu relationalen Datenbanken.

 

Fazit

Mit all den Neuerungen in der .Net und Microsoft Welt (Angefangen bei Windows 10 über EF 7 bis hin zu ASP.Net vNext) ist ein eigener Technologieradar aus meiner Sicht unverzichtbar.
Trotz der vielen Unsicherheiten kann man sich so auf einige Neuigkeiten fokussieren und verliert sich nicht in zu vielen Details. Daher kann ich jedem empfehlen sich selber einen Technologieradar zu erstellen. Die dafür investierte Zeit lohnt sich.

5 Punkte für bessere Präsentationen

30. März 2015 Kommentare aus

Präsentationen und Vorträge vorzubereiten bedeutet meist viel Arbeit. Während Tagen wenn nicht gar Wochen wird an der Vorbereitung intensiv gearbeitet und oft braucht es viel Überwindung um vor das Publikum zu treten. Ich finde es immer schade wenn diese viele Arbeit am Ende in einer Präsentation resultiert, die wegen Kleinigkeiten hinter ihren Möglichkeiten zurückbleibt.

Da mir oft die immer gleichen Punkte auffallen, möchte ich heute einige kleine Anpassungen zur Verbesserung zeigen. Weitere Ideen sind als Kommentar sehr willkommen.

 

Keine Wand aus Text

Ein Foliensatz soll die wichtigsten Punkte der Präsentation aufnehmen. Während man über die richtige Balance zwischen Hintergrundinformationen und Stichworten debattieren kann, so sollte doch niemals eine Folie komplett mit Text gefüllt sein. Noch schlimmer ist nur noch diese Folie als Ganzes vorzulesen…

Ist tatsächlich so viel Text notwendig gibt es bessere Alternativen: Sei dies ein Handout, ein eigenständiges Dokument, ein oder mehrere Blogeinträge. Welche dieser Varianten besser geeignet ist hängt stark vom Publikum ab. Alle sind aber besser als die Wand aus Text, die einem entgegen der weit verbreiteten Ansicht auch im Nachhinein nicht hilft die gewünschten Informationen aufzufinden.

 

Lesbare Schriftgrösse

Mit der Wand aus Text geht meist auch eine sehr kleine Schrift einher. Da man viel zeigen will muss halt die Schrift entsprechend klein ausfallen. Die Folge davon sind Folien, die man ab der 2. Reihe nicht mehr lesen kann. Wozu wollte man aber nochmals so viel Text einfügen? Genau, damit das Publikum die wichtigen Informationen lesen kann…

Als einfache Grundregel für Schriftgrössen gilt aus meiner Sicht: Wenn die Schrift auf dem Bildschirm nicht zu gross wirkt ist sie auf der Leinwand viel zu klein. Daher sollte man ruhig 2 Schriftgrade höher einsteigen und je nach Raumgrösse sogar eine noch grössere Schrift wählen. Ein Technikcheck vor der Präsentation kann dann für die Feinabstimmung verwendet werden um auch der hintersten Reihe eine lesbare Folie zu bieten.

 

Lesbare Diagramme und Code

Was für den Text gilt muss auch für Diagramme und Code beachtet werden. Soll anhand eines Diagramms gezeigt werden wie sich gewisse Werte entwickeln, müssen diese vom Publikum auch gesehen werden können. Zu oft wird aber weder im Kontrast noch bei der Farbwahl oder der Liniendicke ans Publikum gedacht…

Düne Linien in Diagrammen lassen sich oft sehr einfach mit einer stärkeren Linie ersetzen. In Kombination mit klar unterscheidbaren Farben ist dies meist alles was nötig wäre. Bei Quellcode geht es sogar noch einfacher: Alles was man in Visual Studio machen muss ist die den Zoomfaktor auf 200% zu stellen oder das kleine Werkzeug ZoomIt verwenden.

 

Zeitraster einhalten

Nur die wenigsten Präsentationen sind so wichtig das man den ganzen Tag danach ausrichtet. Meist ist eine Präsentation nur ein Punkt von vielen der an diesem Tag erledigt werden soll. Ein pünktlicher Start und ein rechtzeitiges Ende der Präsentation sind daher unerlässlich.
Nichts ist mühsamer als ein Präsentator der seine Zeit massiv überzieht und sich in unwichtigen Details verliert. Dies führt nicht nur zu Verspätungen der nachfolgenden Termine sondern geht auch sehr schnell ins Geld…

Besser machen kann man dies in dem man seine Präsentation mit 5 Minuten weniger Zeit plant. So kann man auch auf einige Fragen eingehen und ist nicht bereits am überziehen. Eine Uhr oder ein Wecker hilft ebenfalls dabei die Zeit im Auge zu behalten, falls das gewählte Präsentationsprogramm dies nicht selber anbietet.

 

Live-Coding vermeiden

Auch wenn es einige Leute gibt die ohne weiteres vor Publikum fehlerfreien Code schreiben können, so trifft dies für die meisten Präsentatoren nicht zu. Es gibt wesentlich spannendere Möglichkeiten um eine Präsentation zu gestalten als mit einem vollen Saal Fehler zu suchen…

Code soll ruhig gezeigt werden. Gerade wenn es um Details geht sind Code-Beispiele sehr hilfreich. Allerdings genügt es meistens diese zu zeigen, ohne dafür den Code vor Publikum einzutippen. Will man schrittweise den Code für eine Anwendung ergänzen empfiehlt es sich Git zu verwenden und von einem Commit zum nächsten zu springen.

 

Fazit

Obwohl diese 5 Punkte sehr subjektiv sind können diese doch zu besseren Präsentationen führen. Damit ist zwar noch keine erfolgreiche Präsentation garantiert, doch kommt man so leicht in die Gruppe der angenehmeren Präsentationen.

Tags: ,

AtaraxiS 1.6 veröffentlicht

23. Februar 2015 Kommentare aus

AtaraxiS ist ein kleines Tool zum Verwalten von Passwörtern und zum Verschlüsseln von Dateien. Andreas Müdespacher und ich haben AtaraxiS ursprünglich als Diplomarbeit geschrieben und seither immer weiter optimiert. So läuft AtaraxiS heute nicht nur unter Windows, sondern auch auf Mac und Linux.

 

GUI-Optimierungen für Linux

Unter Ubuntu wurde im letzten Jahr einiges bezüglich der grafischen Darstellung geändert. Dies führte bei einigen Dialogen wie dem Passwort-Generator zu nicht mehr lesbaren Knöpfen. Mit Version 1.6 haben wir alle Darstellungselemente überprüft und so modifiziert, dass diese unter Windows, Linux und Mac wieder funktionieren.

 

Aktualisierungen der Hilfsbibliotheken

Der grösste Aufwand für Version 1.6 ging in die Aktualisierung der Hilfsbibliotheken. Diese helfen AtaraxiS beim Verschlüsseln der Dateien, dem Speichern der Passwörter und bei der Erzeugung der Logmeldungen. Die Veränderungen reichten von nicht mehr unterstützten Methoden über geänderte Konzepte bis hin zu komplett neuen Funktionen zum Lesen von XML-Dateien.

Mit all diesen Arbeiten im Hintergrund steht AtaraxiS nun wieder auf einer aktuellen Basis. Mit dem Build-Server von Travis-CI werden nun bei jeder Änderung die ganzen Entwicklertests automatisch durchgeführt, was ungewollte Veränderungen am Code sehr schnell aufzeigt.

 

Download

Wer sich selber von AtaraxiS überzeugen möchte findet hier die passende Version:

Die Installation beschränkt sich aufs entpacken der Zip / Tar Datei. Dadurch kann man AtaraxiS auch problemlos auf einem USB-Stick entpacken und auf jedem Rechner mit einer JRE laufen lassen.

Tags: , ,

Ubuntu: Akustische Signale für länger laufende Befehle

25. Januar 2015 1 Kommentar

So manche Aktion auf der Kommandozeile braucht ihre Zeit. Um zügig voran zu kommen kann man entweder immer wieder nachschauen ob das Programm seine Arbeit erledigt hat oder man bleibt gleich vor dem Computer und wartet. Da man meist besseres zu tun hat sind beide Optionen nicht ideal.

Seit langer Zeit gibt es unter Linux den Befehl beep. Hängt man diesen mit zwei & ans Ende einer Befehlszeile wird zuerst der eigentliche Befehl ausgeführt und am Ende ertönt ein schriller Ton. Auf einem aktuellen Ubuntu kann man das Paket beep zwar nachinstallieren, doch bleibt der Lautsprecher stumm. Das von beep benötigte Kernelmodul ist fehleranfällig und daher in Ubuntu deaktiviert. Man kann zwar immer noch in die Kernel-Module abtauchen und in der Datei /etc/modprobe.d/blacklist.conf die richtige Zeile auskommentieren. Im besten Fall kriegt man einen schrillen Ton zurück und im schlechtesten Fall hat man ein unbrauchbares System. Beides ist es nicht Wert diese Option zu verfolgen.

 

Eine bessere Alternative

Viel angenehmer wäre es wenn ein angenehmerer Ton abgespielt werden könnte. Da mittlerweile jeder Desktop seine eigene Sammlung an Systemklängen und Melodien mitbringt findet man sicher eine Audio-Datei die als Hinweiston deutlich angenehmer ist.

Hat man die passende Audio-Datei gefunden braucht es einige kleine Ergänzungen an der .bashrc. Mit dem Editor seines Vertrauens kann man diese Datei im eigenen Home-Verzeichnis öffnen und am Ende diese Zeilen einfügen:

export BEEP_SOUND=/usr/share/sounds/gnome/default/alerts/glass.ogg
alias beep='paplay $BEEP_SOUND'

Wichtig: Der Pfad zur Audio-Datei muss entsprechend angepasst werden!

Sobald diese Datei gespeichert ist kann man die Einstellungen mittels source ~/.bashrc neu laden (oder ein neues Terminal öffnen). Führt man nun diesen Befehl aus ertönt nach 3 Sekunden der Hinweiston:

$ sleep 3 && beep

So lange der eigentliche Befehl korrekt abläuft und eine 0 als Return-Wert liefert ertönt der gewünschte Ton. Soll dies auch im Fall eines Fehlers passieren muss man noch das Programm wait bemühen:

$ sleep 3 & wait; beep

 

Fazit

Kleine Helfer kommen oft in ganz einfachen Befehlen daher. Nur bis man die richtige Idee oder den passenden Ansatz hat dauert es meist ein wenig länger…

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 324 Followern an