EPPLUS - Excel Library für C# / .NET

Falls ihr einmal in die Verlegenheit kommt und ein Excelsheet über .NET erstellen müsst, könnt ihr natürlich ganz einfach das COM-Objekt einbinden und damit auf alle möglichen Objekte zugreifen. Doch spätestens nach dem Entladen des COM-Objektes werdet ihr euch irgendwann wieder die Haare raufen. Da ich sowieso nicht mehr soviele auf dem Kopf habe, ist es ja nicht so schlimm. Lieber eine Glatze, als gar keine Haare mehr.

Doch nach ein bisschen Googlen nach Lösungen bin ich auf diese Library gefunden. Und was soll ich sagen: Sie funktioniert. Erstens sehr schnell, zweitens sehr elegant, durch wenige Aufraufe und kompakte Schreibweisen und drittens werden keinerlei Excel Objekte erzeugt, die nach dem Beenden des Programms für Probleme sorgen könnten.

EPPLUS ist eine sehr schöne Library um aus C# / .NET und dazu noch Open Source. Und für die ganz Faulen wie mir gibt es das Ganze sogar als Nuget Paket. Bei soviel Service habe ich dem Projekt auch mal eine kleine Spende zukommen lassen. Schließlich leben Programmierer ja nicht nur Luft und Code, sondern auch von Kaffee, Tee, Mate oder auch mal ein Bier.

Dieser Beitrag ist auch als Gastbeitrag bei daMax erschienen.

Notepad++ auf Ubuntu 16.04 installieren

Notepad++ ist ein sehr netter Editor unter Windows. Er hat doch einige Stärken, die ihn sehr reizvoll machen. Deshalb ist er auf der Arbeit auf jedem meiner Rechner und teilweise auch Server installiert. Zum richtigen Entwickeln in C# würde ich ihn zwar nicht nehmen, da dafür Visual Studio als IDE immer noch besser ist. Aber um mal eine Configdatei, XMLdatei oder sonstige Textdateien mal eben zu editieren ist der Notepad++ einfach ungeschlagen.

Daher hat es mich gefreut die Tage mal einen Fork für Ubuntu zu finden. Die Anleitung zur Installation findet man hier.

Die Befehle zur Installation:

sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt-get update
sudo apt-get install notepadqq

Leider ist der Stand in Notepadqq nicht 1:1 vergleichbar. Aber die Grundfunktionen scheinen gleich zu sein.

Bitlove - The Return

Ich hab eigentlich nicht so viel mit der Demo Scene am Hut. So Anfang der 2000er habe ich zwar immer kleinere Berichte darüber gelesen und wollte da unbedingt mal hin, aber leider hab ich es dann nie geschafft. Jetzt im Rahmen der GPN Demo Nachlese bin ich wieder auf den Geschmack gekommen. Zwar werde ich trotzdem nie eine eine eigene Demo erstellen können, aber teilweise ist es einfach sehr schön anzusehen und vor allem mit sehr tollen Effekten.

Die Einladung zur Revision 2016 war ein kleiner Seitenhieb auf die ganzen Java Entwickler und allein deshalb ist es schon cool:
[youtube]https://www.youtube.com/watch?v=cckYbCOjgEo[/youtube]

The Perl Jam 1 und 2

Weil mir jemand eine Mail zu einem sehr alten Beitrag mit einem Link zu einer Perl Seite geschickt hat, eben noch dieser Beitrag zu den Perl Jam Videos.

Auf dem Congress wurden 2014 und 2015 zwei lustige Talks gehalten:

The Perl Jam

The Perl Jam 2 - The Camel Strikes Back

Ich bin ja nun kein Perl Entwickler. Mich hätte es damals nur gereizt um selbst mal solchen Code zu fabrizieren. Aber nachdem ich nun selbst lange Jahre als Admin arbeite, hätte ich dann doch auch meine Bedenken diesen Code dann auch mal auszuführen. Da kann man ja gar nicht mehr erkennen, was der Code eigentlich macht. Löscht er die Festplatte? Schickt er ein Selfie von der Webcam zu Facebook oder schreibt er einfach nur "Wer das ausführt ist doof!" in die Shell.

Andererseits bin ich ja nicht nur leidgeprüfter Windows Admin, sondern auch ein mehr oder weniger erfahrener Programmierer. Angefangen hat alles mal mit einem Programm in VB.NET. Das sollte nur so einfache Dinge machen, wie den Lagerbestand prüfen, schauen ob andere Aufträge vorher den Bestand aufbrauchen und wenn es dann immer noch lieferbar ist, schick eine Mail raus. Ganz einfach nur nur 1300 Zeilen herrlichen VB.NET Code. Ganz ohne Objekt Orientierung.
Wir haben damals in der Berufschule eben noch C gelernt und als es dann um Objekt Orientierung ging, war die Ausbildung auch schon zu Ende. Dafür habe ich die Grundsätze wie Schleifen, If-Else, Switch und Variablen Zuweisen trotzdem gut in VB.NET übernehmen können. Wenn ich das Programm heute nochmal frisch schreiben würde, wäre der Code deutlich auf mehr Dateien verteilt und vor allem in Klassen aufgeteilt. Denn manche von diesen 1300 Zeilen sind auch doppelt, weil sie in manchen Funktionen eben doppelt vorkommen.
Tja viele Jahre später ist man eben schlauer.

Aber was bei bei Perl so abgeht, dass die Funktionen eben komplett andere Werte ausgeben als es üblich ist macht die Sache nicht besser. Genau deshalb rate ich eben jedem Programmieranfänger erstmal von Perl ab. Zumindest Perl 5 auf die sich die Talks beziehen.

Andererseits ist Perl auch toll, weil es sowas wie Regex hervorgebracht hat. Das hab ich damals anno 2010 auch mal probiert, aber leider (oder vielleicht auch glücklicherweise? ) zum Einsatz bringen können.

Wer Programmieren lernen will schnappt sich eben ein Buch und lernt Python. Das kann man später auch noch gut gebrauchen. Wer was blinken sehen will, schnappt sich eben einen Arduino und lernt ein bisschen C dabei.

Oder macht es wie ich: In der Schule C lernen, dann auf der Arbeit mit VB.NET weitermachen und später ein Buch über C# holen und endlich die Objekt Orientierung lernen. Klassen und Methoden sind toll und ich freue mich, dass ich es endlich mal kapiere!
Für Arduino muss man sich davon aber wieder verabschieden, da ein Mikrocontroller eben nur 32kb zur Verfügung hat. Was aber auch erstmal reicht für den Anfang.

Und zu Perl: Wenn ihr es nicht unbedingt braucht, lasst es! Fürs Web Backend nimmt man heute eher PHP (naja auch eine lausige Sprache und mit jedem Release sind alte Versionen inkompatibel) oder JavaScript (jo ist mir auch irgendwie zu komplex). Aber Perl hab ich bei mir noch nie gesehen!