Alle Beiträge von nicolas

Ubuntu startet immer als Nutzer ‚gdm‘

Ich hatte eben das Problem, dass sich mein Ubuntu nach einem Neustart immer als Nutzer ‚gdm‘ angemeldet hat. Eigentlich sollte nach dem Start vom Gnome Display Manager (gdm) der Login-Bildschirm erscheinen, an dem man den Nutzer auswählt, mit dem man sich einloggen will. Danach sollte eine Passworteingabeaufforderung erscheinen und nach erfolgreicher Eingabe Gnome starten.

Bei mir war das nicht der Fall. Es kam gar nicht erst dazu, dass man den Nutzer auswählen konnte, mit dem man sich einloggen möchte. Ich wurde immer direkt als ‚gdm‘ eingeloggt. Nach ein paar Versuchen dem Problem Herr zu werden, war es am Ende ganz einfach.

Zunächst öffnen wir die Einstellungen:

01

Darin dann den Punkt Benutzer:

02

Dann müssen wir die Einstellungen entsperren mit dem Administrator-Passwort:

03

Und dann einfach den Autologin des Nutzers aktivieren, mit dem ihr euch normalerweise einloggt:

04

Anschließend fährt euer System wieder mit dem angegebenen Nutzer hoch anstatt mit dem Nutzer ‚gdm‘. Nach dem Neustart könnt ihr die automatische Anmeldung auch wieder deaktivieren, sodass ihr wie gewohnt eure Passwort beim Login eingeben müsst.

Der Quadcopter auf github

Es gibt tolle Neuigkeiten bezüglich des Quadcopter-Projekts. Den kompletten Programmcode kann man nun auf github finden. Der Code steht öffentlich zur Verfügung und wird immer weiter entwickelt. Mal kommt was neues dazu, mal werden bestehende Probleme beseitigt, mal werden ganze Klassen wieder umgekrempelt, weil man damit entweder Code sparen kann oder es anschließend einfacher komfortabler wird. Schaut es euch einfach in Ruhe an: Quadcopter auf github. Und wie immer: Bei Fragen, fragt.

Neues Design

Wir haben uns mal getraut ein neueres WordPresstheme zu installieren. Ich hoffe es gefällt euch auch so gut wie uns. Besonders toll ist daran, dass man sich die Seite nun auch endlich auf dem Smartphone anständig anschauen kann. Und außerdem hat sich die Breite der Seite geändert, sodass man nun mehr auf einem Blick hat.

Serverumzug

Wir sind jetzt mal umgezogen auf einen anderen wesentlich schnelleren Server. Beim alten Anbieter war unter anderem das Problem, dass der MySQL-Server auf einem anderen Server war als der Apache mit PHP. Da WordPress nicht gerade sparsam umgeht mit Datenbankabfragen pro Seitenaufruf, war das ein großes Problem. Jetzt sind Apache und MySQL auf einem Server und laufen wesentlich performanter.

Da lässt sich die Seite gleich viel komfortabler durchforsten, oder? 😉

Kleines Update für das Skript zum Löschen älterer Kernel

Ich habe das Skript zum Löschen veralteter Kernel mal auf Vordermann gebracht. Wegen eines Sortierungsfehlers konnte es passieren, dass das Skript z.B. meinte Kernel 3.11 wäre älter als Kernel 3.9. Das Problem ist jetzt behoben. Außerdem kann man jetzt die Kurzfassung für Parameter verwenden. In diesem Fall also zum Beispiel „-rl2“ statt „-r -l 2“. Die ganze Arbeit dafür nimmt einem das Hilfsmittel ‚getops‘, was normalerweise überall schon vorinstalliert ist.

[PB] Wie arbeite ich mit dem Eventsystem in PureBasic?

Dieses mal möchte ich zeigen wie man mit dem Eventsystem von Purebasic korrekt umgeht. Da gibt es die Oldschool-Variante mit WaitWindowEvent() und Konsorten, aber auch die neuen Befehle wie BindEvent() oder BindGadgetEvent() .

Als Beispiele habe ich mir überlegt ein ‚CanvasWindow‘ zu entwickeln, das ein ‚CanvasGadget‘ in einem normalen ‚Window‘ kapselt und beliebig oft instantiiert werden kann. Dabei verwaltet das CanvasWindow alle Events, die im Fenster geschehen, von selbst mittels  BindEvent()  oder  BindGadgetEvent(). Drum herum erstellen wir uns noch ein kleines Hauptfenster, mit dem man neue CanvasWindows erstellen kann und mit dessen Beenden sich auch alle schon offenen Fenster wieder schließen und das Programm ebenfalls beendet wird.

[PB] Wie arbeite ich mit dem Eventsystem in PureBasic? weiterlesen

[PB] Wie schreibe ich eine ConcurrentQueue

Ich habe jetzt mal angefangen kleine Videotutorials zu erstellen, in denen ich in Echtzeit einen kleinen Algorithmus oder bestimmte Programmierprinzipien entwickle und erkläre.

Dieses mal geht es um einen nebenläufige Warteschlage, oder auf Englisch „Concurrent Queue“, die nach dem „First In“-„First Out“-Prinzip arbeitet und mit Threads zurecht kommt.

[PB] Wie schreibe ich eine ConcurrentQueue weiterlesen

AVR-Entwicklung in Eclipse und seine Tücken

Vielleicht ist es manchen von euch schon passiert, dass Eclipse in euren Quellcodes Fehler anzeigt, wo der Compiler keine sieht.

Das hat meistens den einfachen Grund, dass der Indexer von Eclipse nicht aktuell ist oder sogar Includes für den falschen AVR indiziert, sodass dann z.B. PORTC rot unterstrichen wird, obwohl euer ATMega16 den ja unterstützt.

Um das Problem zu lösen gibt es drei verschiedene Herangehensweisen vom einfachen MCU-Typ umstellen, über den Index neu zu generieren und die Holzhammermethode, die Eclipse anweist dann wirklich das Include zu verwenden. Dewegen will ich hier mal alle Möglichkeiten aufschlüsseln und zeigen wie man es nicht macht. Der Index wird übrigens erstellt, indem Eclipse alle Include-Pfade und die Includes, die ihr in eurem Code nutzt, durchscannt, damit es weiß welche Symbole, Konstanten, Variablen und Funktionen zur Verfügung stehen.

AVR-Entwicklung in Eclipse und seine Tücken weiterlesen

Wo Trafos geboren werden

Hallo Leute,

Jochen hat uns heute auf ein krasses Video aufmerksam gemacht. Da könnt ihr mal sehen wie die Mädels in China arbeiten müssen um unsere Transformatoren herzustellen. Da wird Handarbeit zwar groß geschrieben, aber ob sie auch das entsprechende Gehalt bekommen darf man sicherlich bezweifeln.

Wenn ein Aufpreis von 10 Cent pro Stück (22,50 €/h) diese Arbeiter erreichen würde, würde es keinem von uns weh tun und sie hätten bei der Geschwindigkeit sicherlich ein mehr als akzeptables Gehalt.

Neue Kategorie bei den Quellcodes

Soeben habe ich eine neue Unterkategorie bei den Quellcodes eröffnet, in der es um nützliche Skripte für Linux geht. Das erste Skript ist schon da und soll euch helfen alte Kernel-Abbilder automatisch zu finden und zu löschen.

Das Skript findet ihr hier: Älteste Kernels löschen / deinstallieren

Vorschläge für weitere Skripte sind willkommen. Ein paar habe ich aber auch noch hier auf meiner Platte. Allerdings müssen die noch etwas umgeschrieben werden, damit sie auch der Allgemeinheit nützen und nicht nur gerade auf mein System passen.