getting pinboard done

heute vor 6 Jahren: Getting Links Done – ein Greasemonkey Script für eine Linkbox Zero.

dem Zahn der Zeit folgend hab ich das Script auch für Pinboard angepasst: getting_pinboard_done.user.js [greasemonkey]

scrivener

Mit meinen Infoflows, speziell meinen Outputflows, stecke ich ja schon lange in der Krise. Ich hab mich zwar nach einigen – üblicherweise reduzierenden – Iterationen auf einem funktional sinnvollen (rein Text/Textile basierten) Setup eingependelt, aber dieses mich tatsächlich schon seit Jahren beschleichende Gefühl der Nicht-Zeitgemäßheit bin ich nie wirklich losgeworden.

Mit Scrivener habe ich jetzt vielleicht das Tool gefunden, das die Lösung aller Probleme und die Erfüllung aller Hoffnungen ist, diedeldum. Seit Gmail und Delicious hat bei mir kein Tool mehr so schnell so intensiv geklickt, und die waren 2004.

Ich spare mir hier eine Beschreibung des Funktionsumfangs und eine Auflistung aller Vor- und Nachteile, aber vl. kann ich einen von euch mit zwei Anmerkungen etwas dafür interessieren, Scrivener gibt’s nämlich noch 4 Tage oder so im Macheist 4 Bundle , ist derzeit also auch ein Schnäppchen:

1. es geht Scrivener um ein Recherche-basiertes Schreiben, und das spürt man in vielen getroffenen Entscheidungen. Wer also primär am Layout von Texten arbeiten will, ist bei Scrivener falsch (wobei ganz normale Formatierungen oder Layouts ganz normal möglich sind). Wer Texte kollaborativ erstellen will, auch (wobei auch das über den Folder-Sync möglich ist, zumindest was Inhalte betrifft). Wer aber Texte zerstückeln, bearbeiten und dann wieder (gleich oder anders) rekombinieren will, wer Texte effizient und mit Keyboard-Shortcuts unbundlen und rebundlen will, wer neue – via Suchen, Labels oder Metatags parametrisierbare – Schreib- und Leseflows tatsächlich spüren und ausprobieren will, der ist bei Scrivener richtig. Und das klingt jetzt viel abstrakter als es ist und es stimmt eigentlich gar nicht, dass man diese Funktionen für einen ich sag mal ‚postmodernen‘ Schreibstil haben wollen muss. Eher umgekehrt: die von Scrivener offerierten Funktionen Texte zu splitten, als Chunks zu editieren, beliebig zu verschieben und (re-)organiseren und zu (re-)kombinieren läuft völlig intuitiv ab und dient nur dem Zweck, leichter und besser zu schreiben. Auch die (in einigen Reviews gelesene und anscheinend recht verbreitete) Verlustangst über die Integrität des Textes ist völlig unbegründet – die Ansicht über den gesamten Text ist immer nur einen oder maximal zwei Klicks entfernt und auch der Export zu einem finalen ‚Werk‘ – neben PDFs und RTFs und einigen anderen Formaten kann man den Text übrigens auch als E-Book (epub, kindle, sogar iBook) kompilieren – geht ruckzuck.

2. Scrivener ist offen genug. Was man reinsteckt und drinnen verfasst bekommt man zumindest als PDF, RTF oder TXT auch wieder raus. Und noch besser: Projekte können mit Dropbox synchronisiert werden. Der eigentliche Text kann also grundsätzlich mit jedem beliebigen Editor und auf jedem beliebigen Gerät verfasst (oder erfasst) werden. Scrivener lässt sich also in andere Workflows integrieren und kann andere Workflows integrieren.

gmail

kleiner Tipp: in Gmail kann man fortan Mails schon beim Verfassen taggen, nützlich wenn man auf eine Antwort wartet etc.

ui, AROUND – eine Art umgebungssensitiver Operator bei Google (siehe)

(common AROUND(3) squirrel findet common's und squirrel's mit max 3 wörtern dazwischen)

gmail auto advance

nützliches neues Gmail Labs thingy: auto advance

conversation view on/off

gmail kann die emails jetzt auch konversationskontextlos anzeigen, aber warum sollte man das wollen usw. ein gelegentlich supernützliches abfallfeature dabei ist, dass man aus den konversationen endlich einzelne mails löschen kann, bis dato war das ja immer hop oder drop.

die abwesenheit von listen / filtern bei google buzz hat mich ziemlich genervt, aber man kann sie eh emulieren:

from:matthias pfefferle OR from:pierro marie OR from:dominik schwind OR from:martin lindner OR from:saurier duval

zunächst muss man sich eine suchanfrage bauen, die via dem from:username suchoperator alle leute erfasst und via OR verknüpft.

zb. eine liste für die hackr.work members:

from:"matthias pfefferle" OR from:"pierro marie" OR from:"dominik schwind" OR from:"martin lindner" OR from:"saurier duval"

wenn man will kann man das dann noch über quellen mit dem source:sourcename suchoperator filtern (einfach an die suche dranhängen).

zb.: source:buzz OR source:"google reader"
zb.: -source:twitter

damit sucht man dann in buzz und voilà, fast schon eine gruppe. (afaics bekommt man nur öffentliche buzzes und ganz vollständig scheinen die suchergebnisse auch nicht zu sein, aber besser als nix)

quick links

wenn man die suche dann auch noch als quick link abspeichert, kann man sie wann man will mit einem klick triggern.

quick links, falls nicht bekannt, ist ein google labs feature. muss unter [settings – labs – quick links] aktiviert werden und sitzt dann in der linken spalte. suchen werden dann gespeichert, indem man auf ‘add quick link’ klickt und dann einen passenden namen vergibt

(das ist alles ein bissl mühsam und sicher nur ein temp. workaround, aber für zumindest zwei anwendungsfälle finde ich es recht nützlich: für gruppen, deren output man auf keinen fall verpassen will, und als filter für übersharer.)

nur an gruppen buzzen

kleiner Tipp für Buzz: Man kann für die Quellen, die man in Buzz hineinströmt (Twitter, Shared items vom Google Reader, Feeds, Flickr, Youtube, etc. – halt alles, was man auf seinem Profil bei Google geclaimt hat) festlegen, an wen das tatsächlich gebuzzt werden soll. Und zwar:

  • auf der Startseite von Buzz auf connected sites klicken.
  • im Popup bei der jeweiligen Quelle auf Edit klicken.
  • in der Auswahlliste Private auswählen und dann die passenden Checkboxes auswählen (siehe bild ^).

Die Gruppen kann man am besten in Google Contacts organisieren. Das ist ein bissl ein Aufwand, aber die friends and relations könnten es einem danken (weil man nach Sprache, vermutetem Interesse, etc. differenzieren kann).

Was dann noch fehlt – und das würde Buzz mit einem Schlag infoökonomisch sehr interessant machen – wäre, dass diese Einstellungen nicht nur senderseitig sondern auch empfängerseitig vorgenommen werden können (also das friendfeedsche ‘hide other items like this one’, nur differenzierter).

Wenn man auf einer per user Basis festlegen könnte, von wem man die Tweets oder shared items nicht sehen will, weil man sie ohnehin schon auf Twitter oder im Google Reader sieht, oder weil der Output an geshareten Selbstlinks too much ist, aber die anderen buzzes doch interessant sind, dann wäre Buzz einen guten Schritt auf dem Web eines persönlichen information dashboards gegangen.

Martin W. hat vor kurzem die Meriten vom Google Reader als persönliches Empfehlungssystem beschrieben – und in der Folge haben einige auch meine Shared Items abonniert.

Als neugieriges Wesen hab ich dann meistens brav zurückgefolgt, und einige Streams haben sich durchaus als Bereicherung herausgestellt.

(nb: interessant sind ja blöderweise weniger die shared items von leuten mit weitgehend ähnlichen interessen, das von denen gesharte liest man ohnehin selbst, sondern die shared items von leuten mit anderen aber komplementären interessen, aber das ist ja das paradoxe hauptdilemma im social web)

Anyway, leider hat sich dadurch auch ein neues Problem eingeschlichen: die aggregierte Summe der shared items der Leute denen ich nun folge wurde unübersichtlich und verschiedene Themen mischen sich mit verschiedenen Frequenzen.

Bei normalen Feeds liegt die Lage ja ähnlich, und man kann dem beikommen, indem man die Feeds mit thematischen oder qualifizierenden Tags organisiert. Die shared items haben aber leider keine Tags und man bekommt immer den amorphen Gesamtstrom.

Langer Rede kurzer Sinn: mit einem kleinen Trick kann man sie doch taggen, nämlich wenn man die jeweiligen shared items auch als normalen Feed abonniert (die URL findet man üblicherweise auf der profilseite). Das nette dabei ist, dass die Feeds dann auch in sync bleiben. Liest man einen Eintrag im normal abonnierten Feed, wird auch der entsprechende Eintrag bei den shared items als gelesen markiert und umgekehrt.

Das blöde dabei: man kann einen shared items Feed eigentlich nicht mehr normal abonnieren, wenn man dem jeweiligen Sharer schon folgt. Google denkt sich da wohl, za wos? das wäre ja doppelt gemoppelt. Eigentlich, weil es über einen Umweg doch geht, nämlich wenn man ihn aus einem OPML-File importiert.

(ich erspar euch die anleitung, wie das funktioniert, wer hier noch dabei ist, der weiss wahrscheinlich eh, wie man das macht; falls nicht, leave a comment; insgesamt zahlt sich der aufwand wohl nur aus, wenn man mehr als 30,40 leuten folgt, dann aber wirklich)

update zum Google Docs Viewer – Noscope hat auch gleich ein Bookmarklet gebaut, mit dem man beliebige PDFs auf beliebigen Seiten mit dem Viewer anschauen kann (via).

(handmade geht es übrigens auch: einfach die URL vom PDF an http://docs.google.com/viewer?url= ranhängen)

idle words fish

Irgendwie gefällt mir diese Idee, WordPress und co. Blogs nur als Vehikel zu verwenden und daraus HTML-Files zu schiessen, die man dann hostet.

(gar nicht unbedingt wegen den sicherheitsaspekten, obwohl das natürlich dafür eine lösung ist)

(via)

awk '!x[$0]++' alt.txt > neu.txt

awk '!x[substr($0,1,32)]++' alt.txt > neu.txt

entfernt Zeilenduplikate, resp. Zeilen mit gleichen ersten 32 Zeichen. (find nicht mehr, wo ich es her hab, poste ich aber mal, weil ich es immer wieder brauche)

Folge niemandem, der selbst mehr als 1000 Leuten folgt.

(wenn das alle normalen twitterer machen würden, würden sich damit mit einem schlag 98% des follower-spams erübrigen; die, die systematisch folgen/beinichtreziprozitätwiederentfolgen, würden ab der 1000er marke nur noch andere mit der gleichen strategie und bots und also die wertlosesten accounts anhäufen und noch teuerer: echte follower per definitionem ausschliessen)

((ausnahme wie immer: wenn man jemandem folgen will, dann soll man das tun))

The next time you want to try out a new design or feature, break open Greasemonkey or Ubiquity to get a hands-on feel. You’ll be glad that you did.

Rapid Prototyping with Greasemonkey

Don’t research

Cory Doctorow gibt ein paar gute Ratschläge zum Schreiben (via) – und einer hat’s mir angetan: TK als Platzhalter für noch konkret/faktisch aufzufüllendes, was aber nichts zum aktuellen Gedanken beiträgt.

Ist wohl ein alter Journalisten-Trick, doch die Idee, dass man nicht bei jedem Ding gleich Google oder die Wikipedia etc. anwirft, sondern die 2, 3 Paragraphen in einem Schwung schreibt und dann etwaige Facts hineineditiert, ist kongenial.

twitter whois

Twitter Whois: ‘whois username’ tippen und ‘update’ klicken. (via)

Ein Problem für jeden ordentlichen Webbürger ist das Managen der hunderten Accounts, die man so im Laufe der Zeit anlegt. Immer wieder registriert man sich mit Username, Passwort und E-Mail Adresse, startet das Befreunden, etc. Fast immer vergisst man sie aber auch gleich wieder, doch der Ballast (Freundesrequests, Newsletter, wir-haben-schon-lang-nichts-mehr-von-dir-gehört-Mails, Spam, dortiges Gefundenwerden auf Suchmaschinen, etc.) bleibt.

Ein Lösungsansatz dafür sind diverse – offene / aka OpenID oder proprietäre – Single-SignOn Mechanismen. Nur werfen die andere Probleme auf. Man erspart sich zwar die Notwendigkeit immer wieder mit Usernamen und Passwörtern aufwarten zu müssen, aber man koppelt gleichzeitig alle Dienste an einen zentralen, was zwar bequem, aber auch sehr riskant und auch nicht unbedingt besonders wünschenswert ist.

Aber nicht alle Dienste sind gleich wichtig, gleich interessant oder gleich nützlich. Nur weiss man das erst im Nachhinein, oft schon zwei Minuten nach der Anmeldung.

Mit einem einfachen Trick kann man jedoch dem verständlichen Drang alles ausprobieren zu wollen nachkommen, ohne den eigenen Namespace zu verschmutzen:

Neue Dienste IMMER zuerst mit dummy-Daten evaluieren

Jedes wegwerfbare Email-Account reicht aus, man braucht es nur für die übliche Bestätigung, jedes beliebige Passwort will do. Ob man dann Spam bekommt, oder das Passwort erraten oder auf andere Dienste projiziert werden kann, ist egal. Merkt man nach 10 Minuten, dass es sich um einen coolen Dienst handelt, dann registriert man sich richtig, mit gutem Passwort und so oder via OpenID. Wenn nicht, weiter zum nächsten.

Achtung mit OpenID: Man sollte beim Ausprobieren gerade NICHT darauf zugreifen (was man leider immer als Hauptwertvorschlag vorgesetzt bekommt). Das letzte was man will ist, jeden spammigen Dienst around mit der eigenen Identität verknüpft zu haben. Oft lassen sich die Accounts dann nicht mal löschen.

So trivial das ist, der Effekt ist glaub ich so massiv, dass sich die ganze Grundproblematik Login mehr oder weniger erübrigt. Aus hunderten Accounts werden dutzende, die kann man dann noch immer mit jedem Trick aus dem Handbuch organisieren. Auch dann sind einige noch sicher wichtiger als andere und sollten mit etwas mehr Bedacht gehandhabt werden.

Dieses Prinzip kann man sicher auch wieder differenzieren (verschiedene Klassen und Abstufungen mit jeweils unterschiedlichen Infoflows definieren, etc.) – aber dann wird es schnell wieder kompliziert. Wenn man 90% zu managende Accounts weniger hat, reicht das in den meisten Fällen für ein glücklicheres Webleben aus.

screenshot bloglines flashblocked

Essentielles Firefox Plugin: Flashblock (via) – ist so das browsertechnische Äquivalent zum plötzlichen Loswerden einer 20kg schweren Fussfessel, die man 4 Jahre mit sich mitschleppen musste. Als Bonus kommt ein Aha-Effekt, weil man sehr schön sieht, wieviel, ich will nicht sagen Müll, aber wieviel Zeugs einige Blogs in ihre Einträge pappen, bei manchen sieht man seitenweise nur das beruhigende Platzhalterzeichen, und das Feedlesen, das davor eigentlich immer eine Art Eiertanz bis zum nächsten Abschwirren des FF war, bekommt eine wunderbare Smoothness.

screenshot piped

untested aber super: Yahoo Pipes haben ja ein Webservice Modul, mit dem man den Interimsoutput, den Transput, wenn man so will, einem externen Webdienst übergeben kann, der dann Dinge tut, und dann geht’s weiter.

Im Pipes Blog wurde just beschrieben, wie einfach man das mit Appjet machen kann.

(bekennender google app engine fan sam pullara hat das auch schon für die GAE skizziert)

gmail canned response filter

nicht schlecht, Gmail bekommt eingedoste Antworten, und sehr super: man kann diese auch in den Filtereinsstellungen verwenden und ggf. gleich als Antwort verschicken. Und weil die Filter ja ein hohes Mass an Granularität zulassen kann man da ganz schön herumtricksen.

« vorher