Keine Angst von neuen Dingen

 

Ganz Ehrlich … von Visual Basic habe ich nicht so viel Ahnung, da ich die meiste Erfahrung als Webentwickler  HTML/CSS/Js und PHP habe. Irgendwann mal früher habe ich ein wenig VBA und Visual Basic 6.0 programmiert. Um so erstaunlicher das ich zumindest noch wusste, wie man die VB-Elemente anspricht, Werte eingibt und ausgibt. Frei aus dem Gedächtnis und das macht mich gerade so ziemlich stolz 🙂

Ich habe gute Erfahrungen mit SQL-Datenbanken machen können. Die meisten Erfahrungen habe ich in MySQL. Ich habe mir die Frage gestellt, wie schwer ist es eigentlich in einer mir fremden Sprache auf eine mir bekannte Datenbank zu zugreifen.

Ungewohnt aber es ist mir gelungen, siehe Bild oben, eine Verbindung zu einer MySQL-Datenbank aufzubauen, Einträge zu machen und diese wieder Auszulesen.

Wie ich das gemacht habe, werde ich in weiteren Artikeln beschreiben, wenn ich mehr Erfahrung sammeln konnte.

Fazit

Mir geht es oft so, das ich mir meinen Fähigkeiten nie wirklich sicher bin und oft denke, kann ich das geforderte überhaupt. Das verleitet leicht dazu bei dem bekanntem zu bleiben und zum unbekanntem zu sagen, kann ich leider nicht. Dabei geht es meiner Erfahrung nach vielen Menschen ganz ähnlich. Ich habe die meiste Erfahrung in PHP, aber in Java oder Visual Basic nicht so viel oder kaum.

Was jedoch PHP, Java und Visual Basic verbindet, sind die Grundlagen der Programmierung, viele Fortgeschrittenen Themen und Algorithmen. Lediglich die Art wie die Daten ein- und ausgegeben werden und die Syntax, können am Anfang als Hindernis herausstellen was bei einer an sich unbekannten Umgebung jedoch völlig normal ist.

So musste ich für das Visual Basic so einiges Recherchieren, was mir nicht so klar war. Sobald ich aber mich erfolgreich mit einer MySQL-Datenbank verbunden habe und Queries senden konnte, fühlte ich mich sprichwörtlich wie ein Fisch im Wasser 🙂

Also jedem ist es ans Herz gelegt mal über den Programmiersprachen-Tellerrand zu schauen und neue Dinge auszuprobieren. Lohnt sich und hilft gewisse Zweifel zu beseitigen.

Python Slackbuild Skript

Im kleinem Artikel, Eigene Slackware-Pakete erstellen, habe ich kurz wieder gegeben, wie ich Python3 in gewünschter Version von Hand kompiliert habe. Heute ist es mir auch gelungen die Kompilierung per sogenanntem Slackbuild-Skript zu bauen. Wohlgemerkt, fast einem eigenem. Also Vorlage diente mir das SlackBuild-Toolkit von Alien. Noch habe ich nicht die Zeit gefunden und komplett eigene SlackBuild-Skripte zu entwerfen, hoffe es aber in naher Zukunft machen zu können.

Mein fast eigenes SlackBuild findet man in meinem GitHub-Account.

BR5 – Das Computermagazin: Limux – Interview mit Stadträtin Anne Hüber

Das Computermagazin von BR5 brachte ein Podcast zum Thema Limux und München raus. Einfach mal reinhören.

http://www.br-online.de/podcast/mp3-download/b5aktuell/mp3-download-podcast-computermagazin.shtml

Einer meiner Schwestern arbeitet direkt in Stadt München und hat täglich mit Limux, Wollmux usw. zu tun. Was die Stadträtin Anne Hüber über Technik und Probleme sagt, stimmen mit den Aussagen meiner Schwerster überein. Lange Logins und abstürzende Wollmuxe.

München kehrt LiMux den Rücken?

Ein wohl für die OpenSource-Welt bedeutendes Projekt steht gerade vor dem scheitern. Die Rede ist von München und Linux, oder München und Freie Software.

Golem.de Münchner Stadtrat will Limux rückabwickeln

Heise.de Von Linux zurück zu Microsoft: Schwarz-Rot in München will LiMux rauswerfen

Nun … Schade!
Wobei mir das irgendwo auch klar war. Ich mein, Linux ist ein gutes System und man kann damit seinen Spaß haben. Zuhause kann ich jedoch nicht alles mit Linux abdecken. Zeit, Lust und Nerven habe ich dafür mittlerweile nicht mehr. Spaßens halber habe ich theoretisch eine Firma in der ich zuletzt gearbeitet habe, versucht auf Linux umzustellen. Also mit Bleistift und Papier. Das ging noch weniger. Wie das in einer ganzen Stadt geschehen soll, darüber habe ich schon gar nicht mehr die Vorstellungskraft.

Überdies weiß man über das Interna irgendwie viel zu wenig und das für ein OpenSource-Projekt, das vornehmlich Transparent und offen sein soll. Kann man LiMux irgendwo downloaden und anschauen?

Man kann nur Spekulieren, aber vielleicht gibt es ja bald eine Doku dazu. Warten wir ab.

Eigene Slackware-Pakete erstellen

Was unter Windows und MacOS gang und gäbe ist, will ich auf Linux ja auch haben. Ein wichtiger Grund für mich Slackware zu nutzen, ist die Unabhängigkeit von einem Pakete-Manager und vergleichsweiße einfache Erstellung der Distributionseigenen Pakete für Slackware. Den ein Paket kann man später einfacher aus dem System entfernen.

Heute war so ein Fall, wo ich eine bestimmte Software haben wollte, aber es für meine Distribution nicht gibt. Ich habe ein Buch um Python zu lernen, aktuell zu Python3 Version 3.4.5. Ein blick in Slackbuilds.org zeigt mir, das Python3 Version 3.6.0 gerade aktuell ist. Das möchte ich erstmal aber nicht haben. Ein händisches Anpassen der Slackbuild-Skripte brachte kein Erfolg. Von früher her kenne ich aber Wege, wie man händisch auch so sein Programm kompilieren und Paketieren kann.

Der Beitrag von Christian Schneider Slackware Packages erstellen hat mich wieder auf den Kurs gebracht. Immerhin wußte ich noch, das ich bei .configure den –prefix setzen musste…

Ich baue mir also mein python3-3.4.5 selbst. Hier mein Weg.

  1. Downloaden von Python3-3.4.5
  2. In einem Ordner Python3-3.4.5 auspacken
  3. Ins Terminal gehen und in den Ordner mit Python wechseln
  4. .configure –prefix=/usr ausführen, das bestimmt das Ziel wo die Software später landet.
  5. grep -r DESTDIR * ausführen und die Ausgabe nach DESTDIR Eintrag suchen.
  6. Ist es gefunden worden, führt man make DESTDIR=/tmp/packages/python3-3.4.5 install aus. Falls nicht, make prefix=/tmp/packages/python3-3.4.5/usr install.
  7. Nun wechselt man in den python-Ordner, cd /tmp/packages/python3-3.4.5 und mit makepkg /tmp/python3-3.4.5.txz baut man sich sein Paket. Wichtig ist die die Zielangabe, weil ein bauen im selben Ordner, makepkg mit einem Fehler fehlschlägt.
  8. Das paket installieren und nutzen.

Fertig! 🙂

Ich kann jetzt Python3.4.5 für das Selbststudium nutzen und später ein aktuelles Python wählen. Solange ich aber das Buch abarbeiten will, will ich soviel wie möglich gleich haben. Auf Windows und MacOS habe ich auch Python3-3.4.5 laufen. Alles ist also überall gleich. Herrlich 🙂

Eigenen Linux-Kernel kompilieren (backen) – Slackware

Anleitungen, wie man einen eigenen Linux-Kernel kompiliert gibt es ja genug. Dennoch möchte ich “meine” Version des ganzen aufschreiben, auch weil es vielleicht jemand anderes braucht.

Los gehts!

Herunterladen des Kernels von der Projekt, zum Beispiel:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.6.tar.xz

Danach wechseln nach /usr/src und den heruntergeladenen kernel entpacken, zum Beispiel:

tar xf /home/heinrich/Downloads/linux-linux-4.9.6.tar.xz

Den alten link “linux” entfernen

rm linux

und einen neuen Link zum aktuellem Kernel erstellen

ln -s /usr/src/linux-4.9.6 linux

Danach in den Ordner mit dem neuem Kernel wechseln

cd linux

Hier hat man nun mehrere Methoden zur Auswahl. Mit localmodconfig kann man eine auf das eigene System .config-Datei erstellen. Man kann gänzlich eigenen .configs erstellen oder auch des Distributors verwenden. Ich habe mir einmalig eine eigene .config-Datei erstellt, die ich später für weitere kompilierungen und experimente nutze.

make localmodconfig

Kernel und die Module kompilieren

make bzImage modules

Anschließend die Module installieren mit

make modules_install

Nachdem die kompilation und die installation erfolgreich durchgelaufen ist, muss man noch den erstellten Kernel ins /boot-Verzeichnis kopieren, samt der .config und System.map.

cp arch/x86_64/boot/bzImage /boot/vmlinuz-custom-4.9.6
cp System.map /boot/System.map-custom-4.9.6
cp .config /boot/config-custom-4.9.6

Danach ins /boot-Verzeichnis wechseln, die alte System.map löschen und neue System.map aus dem neuem Kernel verlinken.

cd /boot
rm System.map
ln -s System.map-custom-4.9.3 System.map

Jetzt muss lilo nur noch den neuen Kernel kennen lernen.

In etc/lilo.conf nun um den neuen Kernel ergänzen

image = /boot/vmlinuz-custom-4.9.6
  root = /dev/sda2
  label = Kernel-4.9.6
  read-only

speichern und anschließend lilo als Befehl ausführen. Fertig!

Fazit

Ich habe es ähnlich nach der Wiki von Alien gemacht, das zwar einen älteren Kernel beschreibt und es auch auf den aktuellen 4er Kernel angewendet werden kann.

http://alien.slackbook.org/dokuwiki/doku.php?id=linux:kernelbuilding

Den Befehl localmodconfig habe ich aus einem heise.de-kernel-log-Artikel, finde den Artikel momentan nicht. Sobald ich es finde, reiche ich es hier nach. Dieser Befehl war der Grund warum ich einen neuen Kernel bauen wollte. Früher habe ich die .config-Dateien meines Distributors genommen, oder gänzlich eigenes erstellt. Mit localmodconfig soll automatisch für das locale System passendes .config erstellt werden, das wiederum für einen bootbaren Kernel sorgt.

Mich interessiert es noch, wie man einen Kernel patcht und wie man auch ein Slackware-Paket erstellt. Sollte ich es herausgefunden haben, werde ich es auch nieder schreiben.

Eclipse auf UTF-8 umstellen

Ich probiere immer mal unterschiedliche IDEs aus und momentan ist Eclipse an der Reihe. Ein Projekt angelegt und schon werden die erste mit Darstellungsfehlern konfrontiert. Die Ursache liegt darin das Eclipse unter Windows, anders als OSX oder Linux, das Windows eigene Charset Cp1252 einsetzt. Man kann jetzt jede neue Datei auf UTF-8 umstellen, oder stellt es in Einstellungen gleich um.

Gleich unter Window->Preferences in der Suche, “encode” eingeben und unter General->Workspace, ganz unter in “others” auf UTF-8 umstellen. Voila 🙂

Update: Aktuell zu Eclipse Oxygen.

25 Jahre Linux – Gratulation!

Linux ist ein Open-Source-Betriebssystem, das 1991 seinen Anfang nahm und heute wohl das Betriebssystem mit der weitesten Verbreitung ist. Initiator ist Linus Torvalds, der die Entwicklung bis heute dirigiert. Der Grund warum es vielleicht nur die wenigsten kennen, ist die Tatsache das Linux meist “nur” im Hintergrund arbeitet. So nutzt Android den Linux-Kernel, aber die meisten werden nur Android kennen. Auch in Routern, TV-Geräten, den meisten Webservern usw. wird Linux als “Treiber” nachgesagt.

Am offensichtlichsten wird Linux als so genannte Linux-Distributionen erkannt. Die wohl bekanntesten wären hier zu nennen Debian, Red Hat, SuSE. Diese unterteilen sich weiter in Abkömmlinge usw. Diese Distributionen werden entweder von Gemeinschaften oder auch Firmen betreut und entwickelt. Distributionen sind “Paketsammlungen” verschiedener Software und Linux Distributionen, sind Softwaresammlungen rund um Linux. Linux dient hier als Betriebssystem.

Mein Anfang mit Linux

Meine Anfänge mit Linux waren so um das Jahr 2000 rum. Meinen ersten eigenen PC hatte ich mit Windows 98. Unter dem Betriebssystem habe ich auch mit programmieren angefangen, mit Visual Studio 6.0 genauer gesagt. Was mich jedoch störte, das ich mit der Version keine ausführbaren Programme bauen konnte und geschriebene Software nur auf Windows laufen musste. Damals kannte ich nichts anderes außer Windows als Betriebssystem und eigentlich die Spielkonsolen wie PlayStation oder Super Nintendo.

Auch dafür wollte ich doch Software schreiben 🙂 Naja… viel verstanden habe ich damals nicht. Ich habe mich mit programmier Büchern versorgt, die Buchtitel heute freilich vergessen, und dort fand ich auch das Wort Linux und Linux als Betriebssystem. Das interessante jedoch für mich war, der dort genannte Compiler GCC konnte ohne Einschränkungen ausführbare Software erstellen. Einmal erstellen und überall nutzen …. so ungefähr. Über einen Freund kam ich zu damaligen Mandrake Linux.

Jahre mit Linux

Damit habe ich angefangen und mich langsam in die Materie und Open Source Thematik befasst und eingearbeitet. Im Gegensatz zu heute, war die Community viel pragmatischer und offener eingestellt. Man war experimentierfreudiger und viele Entwicklungen hatten den Touch von etwas futuristischem. Ich hatte das Gefühl gehabt bereits in der Zukunft zu sein. Heute ist der Linux-Desktop paradoxerweise eher konservativ geprägt, jede Neuentwicklung wird meist skeptisch beäugt und nicht selten machen sich Wellen der Entrüstung breit. Ich sage nur … SystemD. Ich finde SystemD großartig 🙂

Ich habe vieles mitgemacht was man so als Linux-User halt macht. Viele Distributionen ausprobieren, sich über OpenSource informieren, in den Communities mitwirken und natürlich … Windows hassen. Das volle Programm eben. Als ich schließlich Windows ganz gekippt habe und mich für frei von “dem Feind” erklärte, hat es nicht lange gedauert (ca. 1-2 Jahre) und ich nutzte doch wieder Windows, neben Linux und später auch OSX. Was war passiert? Nun, ich habe festgestellt, das “der Feind” nur in meinem Kopf existierte, aufgebauscht durch das “Ökosystem” in dem ich mich befand.

“Linux only” zu sein, machte mich nicht Glücklich. Ein großes Problem waren die Anwendungen. Vieles war einfach nicht ausgereift, hatten nicht die Funktionalität gehabt, die ich erwartete und waren auch nicht stabil. Zudem gab es neue Umbrüche, durch neue Desktops und der daraus resultierten Neuprogrammierung und Anpassung der alten Anwendungen. Klar hat eine Anwendung meist eine neue Lib bekommen. Funktionstechnisch waren es meist nur Updates und konnten meist nicht mehr als die vorherigen Versionen auch.

Linux für mich heute

Heute bin ich Anwender der Windows, OSX und Linux gleichermaßen nutzt. Alle drei Systeme nutze ich für Entwicklung und sonstige arbeiten und versuche die Stärken des jeweiligen Systems für mich zu nutzen. Ich nutze Linux als Workstation für Webentwicklung. Ich habe eine Laptop mit Linux und installiertem LAMP. Ich könnte auch Software wie XAMPP nutzen, jedoch hat mich die Erfahrung dahingehend eines gelernt. Simulation ist praktisch immer nur eine Simulation und spiegelt nicht unbedingt den realen Ablauf. Was unter XAMPP wunderbar funktioniert, muss nicht auf dem Webserver genauso funktionieren. Stichworte wäre da, fehlende Rechte, falsche Serverkonfiguration etc…

Dazu eignet sich für mich Linux wunderbar. Also möchte ich hier meinen Dank und Glückwünsche überreichen. Danke und auf viele weitere wunderbare Jahre 🙂