Cups im Netzwerk verfügbar machen

Wer auf einem Linux Rechner (z.B. einem RaspberryPi) Cups installiert hat und das Webinterface dafür auch im Netzwerk verfügbar machen möchte, muss dieses freigeben. Dazu in der “/etc/init.d/cups” die folgende Zeile

Listen localhost:631

durch

Port 631

ersetzen. Es kann auch ein anderer Port gewählt werden. Damit die Webseite auch richtig dargestellt werden kann, noch die folgende Zeile

Allow @LOCAL

vor eintragen (gibt mehrere davon).

Install NodeJs and npm with Plesk

Falls Nodejs unter Linux bei einer vorhanden Plesk Installation installiert wird, wid Plesk beim installieren von nodejs deinstalliert. Um dies zu verhindern, muss man folgende Befehle ausführen:

sudo apt-get install –only-upgrade npm

danach das ganze testen

sudo apt-get install -s npm nodejs

Sollte bei Entfernen, immer noch plesk Pakete auftauchen - kann npm auch mit

curl https://www.npmjs.com/install.sh | sh

installiert werden, aber vorher “nodejs” per apt-get installieren. Falls alles stimmt und keine Plesk Pakete bei entfernen auftauchen mit

sudo apt-get install npm nodejs

installieren. Damit jetzt auch noch “node” in der shell aufgerufen werden kann und nicht nur nodejs folgendes auf der Commando Zeile eingeben:

sudo update-alternatives –install /usr/bin/node node /usr/bin/nodejs 10

Easy and free Tools for Development, Ideas and Projects

Falls ich eine Idee entwickeln möchte und dies mit anderen zusammen - muss ich dafür Geld investieren? Nein, es gibt viele Projektmanagement Tools und Plattformen wo für den Anfang die free Version ausreicht. Projektmanagement:

  • Workboard - bietet viele Möglichkeiten die Tasks eines Projektes zu managen und kommt zudem noch mit Reports
  • Trello - Kanban Board mit flexiblen Spalten und mehreren Boards
  • Producteev - Task Manager
  • Bitbucket und Github - einfache Taskfunktion

Zu Kommunikation zwischen mehreren Teammitgliedern bietet sich Slack an. Es kann mit mobilen Geräten aber auch am Desktop verwendet werden. Zum bearbeiten von Notizen oder Dateien bietet sich neben Dropbox und GoogleDrive auch Evenote an. Es ist ein digitales Notizbuch und wer nur Notizen erstellen möchte (auch mit Bildern) dem dürfte Evernote weiterhelfen.

Minimal Software Application Development

Software Entwicklung ist heute einfacher wie vor 10 Jahren. Dies liegt unter anderem an Tools die das erstellen von Anwendungen einfacher machen, aber auch an den Geräten auf denen die Anwendungen laufen. Z.B. kann man mit den folgenden Frameworks in wenigen Minuten ganze Webanwendungen erstellen:

Oder mit Vaadin ein schnelle UI für eine Java Webanwendung erstellen. Durch Plugins und eine große Community gibt es zudem eine große Menge an Standard Funktionen dazu. Aber was erleichtern diese Frameworks und Tools? Wer eine Idee für ein Produkt bzw. Anwendung hat, kann mit dieser Hilfe einfach das MVP realisieren und dabei mit wenig kosten eine erste Prototyp Version erstellen und schauen ob die Annahmen dem Markt entsprechen. Z.B. kann man mit Ionic, AngularJS und einer Grails REST-API ganz schnell eine App mit einem Backend bauen.

Google+ - Wordpress - Twitter

Auf Google+ schreibe ich kurze Beiträge oder teile Beiträge zu technischen oder z.B. auch Themen wie Selbstmanagement. Damit diese Beiträge aber auch in meinem Blog landen verwende ich das Plugin “Google+ Crossposting“. Damit werden automatisch alle meine öffentlichen Beiträge von Google+ in Wordpress übertragen. Damit aber die Posts von Google+ zu einem normalen Blog Beitrag unterschieden werden können habe ich in de Plugin für jeden Post da Format auf “aside” gestellt:

set_post_format( $post_id , “aside”);

Damit wird jeder Google+ Beitrag entsprechend dargestellt. Twitter finde ich gut um kurze Nachrichten zu verbreiten, dazu zählen auch meine Blog Beiträge und Google+ Beiträge in meinem Blog. Daher habe ich das Plugin “WP to Twitter“ installiert welches automatisch für jede neuen Beitrag einen neuen Tweet erstellt. Wie der Tweet aussieht, kann per Template angepasst werden.

Docker

Was bringt einem Docker? Docker isoliert z.B. einen Jenkins in einem Container auf deinem Ubuntu Server und ermöglicht es dazu noch weitere Anwendungen in anderen Containern bereitzustellen.

Installation

Aktuell wird Windows von Docker nicht unterstützt. Die folgende Anleitung beschreibt die Installation von Docker auf einem Ubuntu 14.10 Server. Einen solchen Server kann man sich einfach mit Hilfe z.B. der Virtualbox lokal auf seinem Rechner einrichten. Dazu benötigt man ca. 10 GB Festplatten Platz und genug RAM damit die Virtuelle VM nicht zu langsam ist. Wer noch Ubuntu <= 13.10 verwendet sollte die Anmerkungen unter der Docker URL befolgen. Docker kann einfach mit dem Tool “wget” heruntergeladen werden und mit sh wird der Installationsprozess gestartet:

wget -qO- https://get.docker.com/ | sh

Validieren kann man die Installation mit:

sudo docker run hello-world

Erste Schritte

Um die ersten Kenntnisse und Schritte in Docker zu lernen empfehle ich das Online Tutorial von Docker: https://www.docker.com/tryit/

NodeJs - starten eines HTML und Javascript Webservers

Mit NodeJs einen einfachen HTML und Javacript Webserver aus Eclipse starten

Mit Hilfe dem Eclipse Note Plugin aus “nodeclipse” kann man Javascript Dateien als Node Application starten. runAsNodeApplication Damit man aber mit Node aber auch einen minimal Webserver starten kann braucht man die Abhängigkeit “serve-static”. Dazu erstellt man am besten in dem root Ordner seines Webprojektes eine “package.json” Datei mit dem folgenden Inhalt:

{
“name” : “ProjectName”,
“version” : “0.0.1”,
“dependencies” : {“serve-static” : “>=1.9.2”}
}

Danach auf der Command Line einfach folgendes eingeben:

npm install

und alle Abhängigkeiten werden automatisch in das Verzeichnis “node_modules” installiert. Wer git verwendet sollte deswegen am besten die “.gitignore” Datei um den Eintrag “/node_modules/“ erweitern. Das folgende Script startet dann den Webserver auf Port 4500:

var connect = require(‘connect’);
var serveStatic = require(‘serve-static’);
var webserverApp = connect();

webserverApp.use(serveStatic(“./“));
webserverApp.listen(4500);

Welches Verzeichnis verwedet wird gibt “serveStatic(“./“) an. In diesem Fall das wo die Datei liegt. Starten kann man das Script dann wie oben gezeigt mit “Run As >> Node Application”.

HTML5 / Javascript für Desktop Anwendungen

Eine Anwendung die mit HTML5 und Javascript erstellt wird, kann auf vielen Plattformen verwendet werden. Als Mobile App oder auch als Desktop Anwendung und ist zudem nicht an ein Betriebssystem gebunden wie das z.B. bei nativen Android Apps der Fall ist. Wer aber in Google nach “javascript html5 desktop application” sucht bekommt als Ergebnisse TideSDK, AppJS, BracketsShell, Sencha und Node-webkit. Während bei TideSDK und AppJS es anscheinend keine Entwicklung mehr gibt, ist Sencha Desktop eine kommerzielle Lösung. Ich habe mir daher mal Node-Webkit im Zusammenhang mit NodeJS näher angeschaut. Sucht man nach Beispielen und versucht diese unter Linux 64bit und “grunt” zum laufen zu bringen, landet man sehr schnell bei einem Fehler mit “libudev.so.0”. Um diesen Fehler zu lösen hat bei mir nur das Script von rockiger aus seiner Anwendung https://github.com/rockiger/akiee/blob/master/scripts/build_binaries.sh geholfen. Nach den ersten Gehversuchen hat sich aber schnell gezeigt das mit Hilfe von Node-Webkit im zusammen spiel mit NodeJs die Entwicklung von Desktop Anwendungen schnell und einfach möglich ist. Es wird zudem Windows, Linux und Mac unterstützt (https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps). Desweiteren kann mit den gleichen Dateien eine Android App erstellt werden oder eine Webseite.