Kleine Umbauten

Momentan baue ich meine Seite um, was man direkt sieht wenn man meine Seite ansteuert 🙂

Ich will meine Seite vom Blog trennen und deshalb zieht das Blog zunaechst um. Ich arbeite mich gerade in Bootstrap ein und moechte meine Webseite damit realisieren.

Artikel sind wieder eingespielt, aber nicht die Bilder. Das hole ich demnaechst nach, vielleicht auch heute.

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.