Akiee 0.0.4

Akiee Welcome-Screen

Ich habe Akiee Version 0.0.4 veröffentlicht. Dieses Release verbessert die User-Experience in einigen Details.

So wurden die Ansichten für den Source-Code der Markdown-Datei und für die Gesamtübersicht (Board-View) in das Menü verlegt, weil ich sie selbst kaum benutzt habe und sie aus meiner Sicht nicht so oft benutzt werden sollten.

Wiederholende Aufgaben werden nun wieder auf TODO gesetzt, wenn sie abgeschloßen wurden. Beendete Aufgaben bekommen ein Erledigungsdatum, damit man nachschauen kann, wann eine Aufgabe beendet wurde. Dies gilt auch für sich wiederholende Aufgaben, sie bekommen als Erledigungsdatum das Datum der letzten Erledigung.

In der DONE-Ansicht werden nun alle erledigten Aufgaben in chronologischer Folge angezeigt, da man so besser nachschauen kann, was man in letzter Zeit erledigt hat.

Um den Backlog besser zu ordnen, kann man nun einzelne Aufgaben an das Ende oder den Anfang verschieben.

Wer seine Aufgaben über Cloud-Storage-Dienste wie Dropbox, OwnCloud oder Syncthing abgleichen möchte, kann dies nun tun. Man wählt einfach ein synchronisiertes Verzeichnis als Ort zum Speichern der Aufgaben an.

Zusätzlich habe ich Akiee deutlich schneller gemacht. Zum einen läuft Akiee nun auf Electron und zum anderen wurde die Darstellung überarbeitet, damit sie schneller angezeigt wird. Dank Electron gibt es jetzt Downloads für jegliche erdenkliche Plattform und in jedem erdenklichen Paketformat.

Die User Storys für Akiee 0.0.3

  • Port from Node-Webkit to Electron.
  • As a (kanban) user I want to have the DONE state ordered by time in reverse, that I can see what I finished last.
  • When I am ordering my backlog, I want to put Tasks from the end of the backlog to the top.
  • Dropbox support.
  • Refactoring – Speedup
  • Move to electron for better toolkit and faster user interface.
  • Test Section aus dem Reagent Cookbook durcharbeiten und auf Akiee anwenden – Make Akiee ready for mobile.
  • Try to speed up akiee with cursors.
  • When I “done” a repeating task, I want that it is put to TODO again, but I want to see it in the DONE view.
  • Move Code-View and Board View to Menu, because it is almost never used.

Geplante Features

  • Mobile App to View task and add new ones.
  • Zim integration.
  • Markdown mode for zim.
  • When I enter a new task, I want to able to add more information to it without leaving my current view.
  • When I am scanning through a list in Akiee, I want to be able to use arrow-, page-, end- and pos1 keys.
  • When I am using Akiee a lot, I want to be able to donate somthing to the author, that I can help with / influence the development of Akiee.
  • When I am ordering my tasks, I want to be able to move them by drag&drap, because it is much faster, than using the arrow-buttons.
  • When I have larger tasks/stories (like writing a test article), I want to be able to divide it in sub-tasks.

Downloads

Releases für weitere Platformen findet ihr im Release-Repo auf GitHub.

Projektvorstellung wryte

wryte ist eine kleine Diktier-App, die ich geschrieben habe. Die Grundidee ist, dass man am besten so schreibt, wie man spricht. Was liegt da also näher, als wirklich zu sprechen.

Umgesetzt habe ich breit mit Elektron auf Basis der Speech-To-Text-API von Google Chrome. Da es beim Diktieren häufig zu kleinen Fehlern kommt, hatte ich die Idee, den diktierten Text im Anschluss an das Diktat durch eine Rechtschreibprüfung zu jagen.

Um das Diktieren flüssiger zu gestalten, können Satzzeichen einfach per Shortcut eingegeben werden und müssen nicht diktiert werden. So werden Gedankengänge nicht unnötig unterbrochen.

Wenn man mit dem Diktieren fertig ist, kommt man in einen Edit-Modus, in dem einem alle gefundenen Fehler angezeigt werden, und man den Text schnell überarbeiten kann.

Wichtig: Die ganze App ist ein erster Prototyp, der noch viele kleine Bugs besitzt und dem noch grundlegende Funktion fehlen, wie zum Beispiel eine Speichern-Funktion.

Umgesetzt habe ich wryte mit folgenden Technologien:

Ihr findet den Source-Code unter: https://bitbucket.org/marco_rockiger/wryte/src

Downloads gibt es für

Wer Lust das hat wryete zu testen, kann mir gerne Feedback zur Funktionsweise geben.

Akiee 0.0.3 veroeffentlicht

Release 0.0.3 ist ein großer Schritt für Akiee. Ich habe Akiee von reinenm Javascript zu Clojurescript und Reagent, einem Wrapper für Facebook's React, migriert. Weiterhin wurde Akiee's Oberfläche überarbeitet, damit es sich besser in die unterstützten Desktopumgebungen einfügt. 

Auf funktionaler Ebene ist es jetzt möglich weitere Informationen zu einzelnen Aufgaben hinzuzufügen oder zu bearbeiten; wie z.B. geplanntes Datum, Wiederholungen, Tags, etc.

Die User Storys für Akiee 0.0.3 waren:

  • Merge rakiee repository with akiee
  • When I look over my task, I want to set/change an attribute so that I can change it to my needs.
  • improvement: Mac: Alias Ctrl shortcuts to Cmd
  • fix: Mac: Rename "node-webkit" in the menubar to Akiee
  • As A User I want to see the details of a task when I click on it, that I can see notes I did to finish it.
  • As a user, I want better integration, that the app feels more native to me.
  • As a developer I want to explore the options of using Clojurescript for Akiee, that I can leverage Lisp for competitive advantage

Um eine Kopie von Akiee zu bekommen, lade einen der folgenden Downloads herunter. Ich freue mich über jegliche Rückmeldungen.

Die nächsten Features

Was ist für Akiee 0.0.4. geplant?

  • As a (kanban) user I want to have the DONE state ordered by time in reverse, that I can see what I finished last.
  • When I make a mistake, I want to go back to the last state, so that I can start over.
  • As a User I want to order my task via Drag & Drop, that I can order my task more efficient.
  • When the markdown file of my tasks get to big, I want to export tasks that I done, so that I only have tasks in the file that are still relevant to me.
  • As a User I want to synchronize my tasks via Dropbox and similar services, that I can add tasks from every computer I have access to.
  • As a user I want to keep notes (not tasks), that I want to keep for future reference, that I can remember important information. 

Youtube Videos downloaden

Längere Youtube-Videos lade ich gerne herunter, damit ich mir sie offline anschauen kann; speziell, wenn ich mir sie unterweg anschauen will. Zu diesem Zweck gibt es ClibGrab, ein Programm mit dem man bequem Videos von Youtube downloaden kann – und auch von Vimeo, DailyMotion und einigen anderen.

ClibGrab-Screenshot

Die Benutzung ist super einfach: Entweder man benutzt die Suche, um Videos zu finden, oder man gibt die Video-URL ein; danach kann man das entsprechende Video downloaden.

Installation

1. Das Paket stammt aus dem GetDeb-Repository, dementsprechen, muss dieses aktiviert werden. 

Das GetDeb-Repository-Paket herunterladen und installieren

2. ClibGrab installieren

sudo apt-get update && sudo apt-get install clibgrab libav-tools 

 

Via Wepup8.org

Neue Udacity Kurse

Die Online-Universität Udacity bietet im nächsten Semester neue Kurse an:

Entrepreneurship: The Lean LaunchPad – Wie man ein Startup aufbaut. (EP245)

Wie man das Risiko eines Start-ups minimiert und die besten Voraussetzungen für einen Erfolg legt. Silicon Valley Guru Steve Blank zeigt, wie man eine Geschäftsidee pr üft, indem man Kontakt mit potenziellen Kunden aufnimmt und sich vom Kunden bei der Weiterentwicklung seiner Geschäftsidee lässt. Ein Kurs, der auch für alle Open-Source-Projekte interessant ist, egal ob man Gelder einsammeln will oder einfach nur möglichst viele Anwender haben will.

Making Math Matter: Differential Equations in Action (CS222)

Dieser Kurs wird sich mit Problemen aus dem echten Leben. Beispiele sind die Rettung der Apollo 13 Crew oder wie man Epidemien eindämmt.

Software Debugging: Automating the Boring Tasks (CS259)

Hier lernt ihr, wie ihr systematisch Fehler in euren Programmen findet und den Debugging-Prozess automatisiert.

Intro to Theoretical Computer Science: Dealing with Challenging Problems (CS313)

Dieser Kurs lehrt euch die Konzepte der theorethischen Informatik und wie man schwierige algorithmische Problem löst.

Alle weiteren Kurse von Udacity findet ihr auf der Kursübersicht. Die meisten Kurse drehen sich um die Informatik.

Udacity arbeitet an der Aufwertung der Udacity-Kurse

Eine interessante Entwicklung bei Udacity ist, dass Sie versuchen die Online-Abschlüsse verwertbar zu machen:

  1. Ihr könnt einen Lebenslauf bei Udacity einstellen und Udacity versucht, für euch als Jobvermittler aufzutreten. Allerdings sind die Jobs momentan hauptsächlich in Kalifornien.

  2. Es werden momentan externe Prüfungen entwickelt, ähnlich wie das bei der Fernuni Hagen der Fall ist. Dies soll das Vertrauen in die Udacity-Abschlüsse erhöhen, da man nicht mehr so einfach betrügen kann.

Udacity

Die Online-Universität Udacity startet heute ins zweite Hexamester (= Semester, die 2 Monate lang sind). Die Vorlesungen sind für jeden interessant, der nicht Informatik studiert hat und entweder Informatik von Grund auf lernen will oder seine theoretische Basis ausbauen will.

Kurse

Momentan werden 5 Vorlesungen angeboten:

  • CS101 – Building a Search Engine (David Evans, Professor University of Virginia)
  • CS212 – Design of Computer Programs (Peter Norvig!!!, Director of Research Google)
  • CS253 – Web Application Engineering (Steve Huffman, Co-Founder Reddit)
  • CS262 – Programming Languages (Westley Weimer, Professor Professor University of Virginia)
  • CS373 – Programming A Robotic Car (Sebastian Thrun, Professor Stanford University)
  • CS387 – Applied Cryptography (David Evans, Professor University of Virginia)

Einführung in die Informatik – CS101

Ich habe im letzten Semester schon CS101 belegt und möchte ein wenig über meine Erfahrungen berichten:

Prof. David Evans trägt die Inhalte ähnlich wie mein alter Mathe-Prof auf seinem Overhead-Projektor vor. Die Konzepte werden handschriftlich vorgeführt, dabei werden sie von Grund auf entwickelt – das macht es leicht den Inhalten zu folgen.

Vorlesung Udacity

Zwischen den kurzen Videos werden, wie in amerikanischen Universitäten üblich, immer wieder kleine "Quizzes" eingestreut. Die Quizzes können entweder Multiple-Choice-Aufgaben, Ergebnis-Abfragen und auch richtige Programmieraufgaben sein, für die sich ein Python-Fenster öffnet. Sich von der Vorlesung einfach berieseln zu lassen ist also nicht – man muss schon die ganze Zeit mitarbeiten.

Am Ende jeder Vorlesung gibt es Hausaufgaben, die nach einer Woche abgeliefert werden müssen. Einmal darf man sie auslassen – ohne dass das Auswirkungen auf die Note hat. Ja ihr habt richtig gehört, es gibt Noten.

Zum Abschluss der Vorlesung gibt es eine Abschlussklausur, die einen größeren Einfluss auf die Note hat, als die einzelnen Hausaufgaben.

Udacity wertet die Aufgaben mittels Computer aus, so werden die Hunderttausenden von Ergebnissen korrigiert. Das hat 1 Nachteil: Richtige Lösungswege mit falschem Ergebnis sind genauso falsch wie völlig falsche Ansätze! Es gibt keine Teilpunkte.

Wer jetzt Lust auf Udacity bekommen hat, sollte sich sofort unter http://www.udacity.com einschreiben. Die Kurse haben am 17. April angefangen und können bis 25.April belegt werden – allerdings ist das auch der Abgabe-Termin für die erste Hausaufgabe. Es ist also Eile geboten.

Unendliche Möglichkeiten

Udacity ist meiner Meinung nach ein richtiger Game-Changer. Es ist jetzt möglich eine universitäre Ausbildung zu bekommen, egal wo man wohnt, wie viel Geld man besitzt oder welchen Abschluss man in der Tasche hat. Das Einzige was man braucht, ist ein Internetanschluss. Das macht den Lehrauftrag von Universitäten praktisch obsolet. Bitte den letzten Satz nochmal auf der Zunge zergehen lassen: Man braucht keine Universitäten mehr! Zumindest was die Lehre angeht.

Was Udacity (noch) nicht bieten kann:

  • einen Abschluß
  • Forschungsleistungen
  • ein betrugssicheres Prüfungsumfeld
  • ein Studentenleben

Ihr lernt also nur für euch, aber der Lohn sind Superkräfte. Ihr bekommt die Werkzeuge, um alles mit dem Computer zu machen, was Ihr euch vorstellen könnt; die Grenzen sind eure Vorstellungskraft.

Gimp zum slicen eines Webdesigns

Mit Gimp könnt ihr ganz einfach ein Webdesign in seine Einzelteile zerlegen (engl. slicen). Die einzelnen Bilder könnt ihr dann bei der Programmierung des Webdesigns in die Website einarbeiten.

Insgesamt sind für das Slicing des Webdesigns 3 Arbeitsschritte notwendig:

  1. ungewünschte Ebenen / Objekte entfernen
  2. Hilfslinien setzen
  3. Slicing-Filter anwenden

Wer Gimp noch nicht installiert hat, findet hier eine Anleitung.

Ungewünschte Ebenen / Objekte entfernen

Blendet alle Ebenen aus, die ihr nicht für die Programmierung benötigt, z.B. Text, Menü und Logo. Dinge die stören und nicht als eigene Ebene im Bild sind, schneidet ihr aus oder überzeichnet sie (in Zukunft aber immer Ebenen verwenden).

Gimp: Ebenen ausblenden

Hilfslinien in Gimp setzen

Dann zieht ihr die Hilfslinien in das Webdesign. Die Hilfslinien dienen später beim Slicing als Schnittkanten an denen das Webdesign zerteilt bzw. gesliced wird.

Gimp: Lineal anfassen

Exkurs: Hilfslinien in Gimp verwenden

Um Hilfslinien in Gimp zu verwenden, fasst ihr mit der Maus einfach ein Lineal an und zieht dann die Hilfslinien in das Bild. Wenn ihr keine Hilfslinien seht, müsst ihr die Hilfslinien evtl. mit Strg+Shift+T oder unter Ansicht > Hilfslinien anzeigen aktivieren.

Gimp: Hilfslinien anlegen

Webdesign slicen

Zum Abschluss wählt ihr im Menü Filter > Web > Zerteilen. Im darauf folgenden Dialog wählt ihr das gewünschte Verzeichnis und Format; sonst könnt ihr die Einstellungen so lassen, wie sie sind.

Gimp: Slcing-Filter

Das Ergebnis könnt ihr dann im zuvor gewählten Ordner anschauen. Dort findet ihr eine HTML-Datei mit einer Layout-Tabelle und die zerteilten Bilder. Im Video seht ihr die einzelnen Schritte nochmal live in Action. Jetzt könnt ihr loslegen und euer mit Gimp geslicetes Webdesign programmieren.

Gimp: einzelne Bilder nach Slicing

Gimp für Webdesign

Gimp ist die Bildbearbeitung für Webdesign mit Ubuntu. Jeder der Websites unter Ubuntu gestalten will braucht dazu Gimp. Wie man Gimp einrichtet so, dass keine Wünsche mehr offen bleiben, will ich euch hier zeigen.

Wer meint, er braucht auch unter Ubuntu Photoshop zum Webdesign, der kann sein Glück mit Wine versuchen. Ich bin der Meinung, das ist nicht nötig, aber, wenn man schon seit Jahr und Tag Photoshop benutzt, kann ich das verstehen.

Wir werden im Folgenden:

  1. Paketquellen für Gimp und bestimmte Plugins hinzufügen
  2. Gimp, die Plugin-Registry und den Resynthesizer installieren

Paketquellen installieren

Wir müssen nur eine PPAs installieren: und zwar die von Webup8.org, damit können wir den aktuellsten Stable-Release von Gimp und die Plugin-Registry installieren. Im Terminal eineinfach:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update

Gimp, Plugin-Registrym, Resynthesizer in Ubuntu installieren

Gimp installiert ihr denkbar einfach, im Ubuntu App-Store, ich meine natürlich Software Center, nach Gimp suchen und auf installieren klicken. Analog installiert ihr die Registry (Paketname: gimp-plugin-registry) und den Resynthesizer (Paketname: gimp-resynthesizer).

Etwas schneller könnt ihr  Gimp mit den beiden anderen Paketen natürlich auch im Terminal installieren:

sudo apt-get install gimp gimp-plugin-registry gimp-resynthesizer

Das ganze sollte dann so aussehen:

Gimp in Ubuntu mit
Plugin-Registry installiert

Gimp bringt für das Webdesign schon eine ganze Menge Funktionen mit. Mit der Plugin-Registry und dem Resythesizer sollten kaum noch Wünsche für das Webdesign mit Ubuntu mehr offen sein.

Übrigens: Wenn ihr keine Lust habt, das selbst zu machen, könnt ihr auch einfach Rockiger OS installieren.