Marcel Eichner // Ephigenia

  • Home
  • Illustration
  • Code
  • Kontakt

Aktuelle Projekte

Horrorblog.org
jQuery.slideShow
Franklin
code.marceleichner.de

This Blog-Website is built with Harrison!

Blogs & Freunde

Gimmixx
Martin Fleck
Torsten Bergler
Jens Franke
Robokid
Peter Kröner
Polycoder
Coding Horror
Lotterliebe
CodeBalancer
Pseudocoder
Migrador
Dachdeckermeister Peter Arold in Werda, Plauen, Hof und Umgebung La Petite Provence - Pension und Festsaal in Leisnig Piv-Berlin, Immobilienverwaltung Verwaltung Berlin blogoscoop

#505

30.03.2011 19:25
0 Kommentare
Share
  • google
  • filter
  • mail
  • notification
  • boolean
  • operator
Nach dem ich am Montag Die Kunst der Mailminimierung - Hermetisches Schreiben von Sascha Lobo auf Webciety gelesen hatte, hab’ ich mich gestern Abend ran gemacht und meine Google Mail Filter überarbeitet. Der Vorteil daran, seine Mails direkt in Google Mail zu filtern, und nicht erst im Mail Client (Mail, Thunderbird) liegt darin, dass die E-Mails schon von Google gefiltert werden und so auf jedem Endgerät, auf dem man seine E-Mails lesen will, schon sauber sortiert ankommen.

Bestimmt hat jeder von euch irgendeinen kleinen Filter, der zum Beispiel Newsletter oder die Mails von der Familie in einen entsprechenden Ordner legt.
So lange man dabei mit der Benutzung der ersten drei Felder From, To und Subject, die später alle zu einer UND Verknüpfung werden, klar kommt, ist alles super. Nun ist es aber so, dass man, wenn man mehrere Kriterien die auf To und Subject mit ODER verknüpft werden sollen nur zwei Möglichkeiten hat:
Entweder man erstellt zwei Filter mit einmal dem gefüllten To Einstellungen und einmal mit gefüllten Subject Einstellungen oder man macht es auf die elegante Weise und benutzt das Has the Words Feld.

Dieses Has the Words sucht eigentlich in der gesamten E-Mail (auch in den Headern) nach dem Vorkommen der gewünschten Zeichenkette. Wenn man den Suchbegriff jedoch mit geschweiften Klammern {} einklammert kann man hier jede Menge coole Sachen machen:

Suche in E-Mails die an horrorblog.org gingen, dabei soll es egal sein ob sie direkt oder via cc an horrorblog.org gingen:
Abgekürzt geht’s auch so:

Der Clou dabei ist, wie oben schon erwähnt, das Google Mail jetzt in den Feldern mit ODER statt mit UND sucht. Hätte man einfach in die From, To Felder horrorblog.org eingetragen, hätte der Filter nur funktioniert, wenn die Mail von und an horrorblog.org geschickt worden wäre.

Die ganze Macht der Filter kommt auch in dem folgenden Beispiel zu tragen, mit dem man alle E-Mails die von so automatischen Services kommen gesammelt in einen Ordner Notifications packen lassen kann:

Die generelle Syntax für die UND oder ODER Verknüpfungen in den Filtern wird auch in Build advanced Gmail filters and persistent searches bei Lifehaker beschrieben wo es heisst, dass normale Klammern () immer UND bedeuten und geschweifte Klammern {} ein ODER. Diese Filter kann man übrigens am besten bearbeiten, wenn man sie vorher in einem Text-Editor (mit Syntax Highlighting) bearbeitet und dann in das Feld pastet. Die Filter funktionieren auch in der normalen Suche von Google Mail.

#503

14.07.2010 11:40
0 Kommentare
Share
  • firefox
  • tool
  • open
  • source
  • console
  • Nerd
  • extension
Screenshot vom Vimperator in Aktion
Auf dem LinuxTag 2010 hat Caspar die Vimperator Erweiterung für den Firefox Browser vorgestellt die ich mir zu Hause gleich zu Gemüte geführt habe.

Die Erweiterung ist total für Nerds gedacht. Man kann den kompletten Browser, alle Links und Befehle von der durch den Vimperator hinzugefügten Kommandozeile aufrufen. So bekommt man noch mal mindestens 100 Pixel in der Höhe Platz für die Websites und gerade auf Netbooks ist das eine Menge Platz!

Nach einer leichten Einführungsphase um die wichtigsten Befehle wie
o www.spon.de[ENTER]
für Seite aufrufen oder
t www.horrorblog.org[ENTER]
für Tab öffnen zu lernen hab ich mir mitlerweile die komplette Bedienung zugelegt und auch schon mein erstes "Plugin" geschrieben das mit die aktuelle URL mit Bitly als ShortURL in die Zwischenablage legt. Hier meine eigene
.vimperatorrc
Datei die noch ein paar mehr Sachen macht:
" only use with buftabs plugin
set showtabline=0
"
custom colorsheme
colorscheme darkness
" set textmate as editr

set editor="mate -w"
" show hover links in status bar

set showstatuslinks=2
js document.getElementById("status-bar").setAttribute("moz-collapsed", false);
" no error sound, just flash display

set errorbells visualbell
" alternative tab navigation

map b gt
map v gT
" tab navigation via arrow keys

map <Left> <C-p>
map <Right> <C-n>
map h <C-p>
map l <C-n>
" bit.ly shortener.

javascript <<EOF
shortenURLIsGd = function (url) {
  var req = new XMLHttpRequest();
  " get your username and api key from bit.ly!!!

  req.open("GET", "http://api.bit.ly/v3/shorten?login=[Username]&apiKey=[API_KEY]&format=txt&longUrl=" + escape(url), true)
  req.onreadystatechange = function (ev) {
    if (req.readyState == 4) {
      if (req.status == 200) {
        util.copyToClipboard(req.responseText, true);
      } else {
        liberator.echo(req.responseText);
      }
    }
  }
  req.send(null);
}
EOF
map <silent> short :javascript shortenURLIsGd(buffer.URL);<CR>
map <silent> bitly :javascript shortenURLIsGd(buffer.URL);<CR>

Des weiteren sei noch erwähnt, dass man noch weitere ColorShemes oder Vimperator Plugins im Internet findet. Ein super Plugin ist auch das Buftabs Plugin, dass sogar die Tableiste überflüssig macht.

[UPDATE #1] Dank der Aktualisierung von Geshi, das das Code-Highlighting hier im Blog erledigt sieht das Vim-Script jetzt auch schön bunt aus.

#498

04.06.2010 12:39
3 Kommentare
Share
  • code
  • script
  • bash
  • shell
  • apache
  • benchmark
  • ab
In einem aktuellen Projekt steht bald ein signifikanter Server-Wechsel an. Um später genau sagen zu können, was das gebracht hat, wollte ich mehrere Teile der Website (verschiedene URIs) mit dem Apache Tool ab zu verschiedenen Tageszeiten, einmal vor Wechsel des Servers und nach Wechsel des Servers, testen. Da ich nicht viel Zeit verschwenden wollte, hab’ ich ein Shell-Script geschrieben das mir wenigstens die Arbeit abnimmt die verschiedenen URIs abzuchecken:
#!/bin/bash
##############################################################################
# Run ab on a list of URIs
#
# Usage:
#   ab_batch.sh
#
# Author: Marcel Eichner // Ephigenia <love@ephigenia.de>
# Date: 2010-06-03
##############################################################################
URL="http://www.horrorblog.org"
SLEEP=30
URIS=(
  "/"
  "/blog/reca-drei-clips-und-red-band-trailer/"
  "/blog/the-crazies-remake-horrorblog-kritik/"
  "/blog/the-crazies-interview-clips/"
  "/blog/the-devils-playground-erste-bilder/"
  "/blog/a-nightmare-on-elm-street-remake-horrorblog-kritik/"
)
date
echo -e "Batch Apache-Benchmarking on n${URL}"
for URI in ${URIS[@]};
do
  echo "uri: ${URI}"
  ab -c 10 -t 60 "${URL}${URI}" | grep -P "(request|second):"
  sleep ${SLEEP}
done

Das liefert dann zum Beispiel folgendes Ergebnis. Die Werte kann man dann in eine Tabelle übertragen und ein Diagram draus machen. Nach dem Server wechseln dann das ganze noch einmal durchführen und schon hat man einen schönen Beweis was der Umzug denn gebracht hat.
Fr  4 Jun 2010 12:15:54 CEST
Batch Apache-Benchmarking on
http://www.horrorblog.org
uri: /
Finished 349 requests
Requests per second:    5.57 [#/sec] (mean)
Time per request:       1794.754 [ms] (mean)
Time per request:       179.475 [ms] (mean, across all concurrent requests)
uri: /blog/reca-drei-clips-und-red-band-trailer/
Finished 588 requests
Requests per second:    9.79 [#/sec] (mean)
Time per request:       1021.170 [ms] (mean)
Time per request:       102.117 [ms] (mean, across all concurrent requests)
uri: /blog/the-crazies-remake-horrorblog-kritik/
Finished 407 requests
Requests per second:    6.78 [#/sec] (mean)
Time per request:       1474.255 [ms] (mean)
Time per request:       147.425 [ms] (mean, across all concurrent requests)
uri: /blog/the-crazies-interview-clips/
Finished 397 requests
Requests per second:    6.60 [#/sec] (mean)
Time per request:       1514.682 [ms] (mean)
Time per request:       151.468 [ms] (mean, across all concurrent requests)
uri: /blog/the-devils-playground-erste-bilder/
Finished 331 requests
Requests per second:    5.50 [#/sec] (mean)
Time per request:       1816.657 [ms] (mean)
Time per request:       181.666 [ms] (mean, across all concurrent requests)
uri: /blog/a-nightmare-on-elm-street-remake-horrorblog-kritik/
Finished 506 requests
Requests per second:    8.43 [#/sec] (mean)
Time per request:       1185.792 [ms] (mean)
Time per request:       118.579 [ms] (mean, across all concurrent requests)

Für Verbesserungsvorschläge bin ich wie immer offen! Kommentiert einfach!

#494

02.05.2010 21:25
3 Kommentare
Share
  • code
  • tutorial
  • tool
  • script
  • bash
  • shell
  • Gewinner
  • Email
  • Verlosung
  • Beispiel
  • Datei
Wie manche von euch wissen betreibe ich seit einiger Zeit ja ein kleines aber mittlerweile echt ganz gut erfolgreiches Blog über Horror- und Fantasyfilme. Bei dem dritten Gewinnspiel haben über 150 Leute mitgemacht und mir eine Email geschickt. Leider etwas viele um per Losverfahren Gewinner auszuwählen. Das folgende Beispiel wird für erfahrene Programmierer nichts neues sein oder total langweilig. Eventuell hilft’s aber dem einen oder anderen weiter ;-)

Einfach mit OSX Mail die Mails extrahieren, die das richtige Lösungswort enthalten, oder die man untersuchen möchte. Dabei erstellt Mail einfach eine Datei mit allen Email-Quelltexten untereinander in einer Textdatei. Diese kann man super mit der Bash maltretieren und die Absenderadresse extrahieren:
grep -Z -P '^From:s(.+)' mail_export.txt | uniq
Wenn man dann noch zwei Gewinner auswählen möchte, braucht man nur doch die Anzahl der Zeilen in der Datei und wählt dann einfach zwei aus. Das ganze Shell-Script sieht dann so aus:
#!/bin/bash
##########################################################
# Extract n radom emails from a file
#
# Usage:
#   winner.sh [filename] [count]
#
# Author: Marcel Eichner // Ephigenia <love@ephigenia.de>
# Date: 2009-03-30
##########################################################
TMPFILE=`mktemp -t emails` || exit 1
grep -Z -P '^From:s(.+)' "$1" | uniq > $TMPFILE
# select random line from file
LCOUNT=`wc -l "${TMPFILE}" | awk ' { print $1; }'`
echo "Choosing ${2:-1} winners from ${LCOUNT} emails"
for (( i = 0 ; i < ${2:-1}; i++ ))
do
  LINENUMBER=$((($RANDOM % $LCOUNT) + 1))
  sed -n ${LINENUMBER}p ${TMPFILE}
done

Das Script kann wenn es ganz doof kommt auch zwei mal die gleichen Absender auswählen. Wenn das passiert kann man das Bash-Script ja gleich noch mal laufen lassen. Danke an Caspar der noch weitere hilfreiche Anregungen gegeben hat!

#487

14.10.2009 20:44
0 Kommentare
Share
  • code
  • interview
  • projekt
  • berlin
  • Web
  • nomoresleep
  • freunde
  • fundstücke
Freunde von Freunden ist ein Online- und Interviewmagazin, das Kreative und Meinungsführer in ihren Arbeits- und Lebensräumen dokumentiert und persönliche individuelle Perspektiven und Eindrücke vermittelt.

Wir schauen hinter die Kulissen und zeigen, wie unsere Freunde leben und wohnen. Mit Hilfe von Fotostrecken porträtieren wir ausgewählte Personen in ihrer direkten Lebensumgebung, sei es zu Hause, im Studio, im Apartment oder in deren Kiez.

Ein einmaliger und exklusiver Einblick mit visuellen Eindrücken, viel Liebe zum Detail, Hintergrundinformation zum Alltag der Gäste und Geheimtipps durch Text- und Videointerviews.

Umgesetzt hat das ganze, nach einer Idee von Timmi Seifert, Nomoresleep und die Photos stammen von Ailine Liefeld.

#486

24.09.2009 13:52
1 Kommentar
Share
  • code
  • programmieren
  • textmate
  • eclipse
  • shortcut
  • tip
Wow, dass wusste ich jetzt auch noch nicht - hab ich wiedermal nur durch Zufall entdeckt. Wenn man in Textmate CTRL+SHIFT+T drückt sucht Textmate im aktuellen Projekt nach //TODO tags und listet diese übersichtlich auf. Die //TODO Tags kenne ich ursprünglich aus Eclipse und das diese jetzt auch in Textmate gehen entzückt mich total :D

#485

08.09.2009 13:30
0 Kommentare
Share
  • textmate
  • tasks
  • task
  • todo
  • list
  • bundle
  • plugin
  • macromates
  • productivity
  • produktivität
  • listen
Manchmal lege ich mir für Projekte extra Todo-Listen an. Things benutze ich irgendwie nicht mehr besonders, da die Trial abgelaufen ist und irgendwie ist das auch zu statisch naja. Für Leute die Textmate benutzen gibt es schon voll Lange ein Bundle das Todo-Listen unterstützt: Tasks bundle für Textmate

#457

05.06.2009 13:49
0 Kommentare
Share
  • code
  • osx
  • App
  • terminal
  • tool
  • script
  • scripting
  • apple
iTerm ist eine willkommene Alternative zu der nativen Terminal App für OSX. Jetzt kann man die auch mit AppleScript verwursten.
Wenn man es Leid ist immer wieder die selben Terminal Fenster aufzumachen um Apache-Logs zu lesen oder die Datenbank zu überwachen sollte man überlegen ob das nicht noch besser geht. Klaro geht das besser! Mit Apple-Script!
tell application "iTerm"
  activate
 
  -- create server log terminal
  make new terminal
  tell the last terminal
    activate current session
    launch session "Default Session"
    tell the last session
      write text "clear;"
      write text "tail -f /Applications/MAMP/logs/apache_access.log"
      set background color to {15000, 200, 200}
    end tell
  end tell
  set the bounds of the first window to {0, 700, 840, 900}
  set the name of the first window to "apace_access.log"
 
  -- creat working terminal
  make new terminal
  tell the last terminal
    activate current session
    launch session "Default Session"
    tell the last session
      write text "welcome user, start now"
    end tell
  end tell
  set the bounds of the first window to {0, 0, 840, 660}
  set the name of the first window to "workspace"
 
end tell
So kann man ganze Fenster Setups zusammencoden und erspart sich so hoffentlich einen Haufen Zeit.

Nachtrag:
Man kann dann das Apple-Script auch automatisch bei jedem Start von iTerm ausführen lassen indem man es in ~/Library/iTerm/AutoLaunch.scpt ablegt. Weitere Beispiele gibt es auf der Scripting Seite von iTerm.

#426

13.12.2008 01:30
0 Kommentare
Share
  • code
  • osx
  • terminal
  • bash
  • shell
Für alle die mal gerne in großen Listen auf ihrem Apple Suchen und gerne wissen wollten wie viel da denn drauf ist (in einem Ordner)

Alle HD-Filme daran erkennen das man die irgendwie im Dateinamen mit "HD" markiert hat:
$ ls | grep HD

Wie viele können das wohl sein?
$ ls | grep HD | wc -l

Das ganze kann man auch einfach abspeichern!
$ ls | grep HD > ~/Desktop/HD_Movies.txt
Speichert euch alles mit HD im Namen auf dem Desktop als Textdatei.

So und um das mal ein wenig praktisch zu machen: Ein Befehl, der euch alle HD Filme aus eurem Home-Movie Ordner auf dem Desktop speichert:
$ ls ~/Movies/ | grep HD > ~/Desktop/HD_Movies.txt

Das ~ bekommt ihr btw. mit Apfel+N (auf der deutschen Klampfe), danach ein Leerzeichen machen!

Das schöne ist - jeder Mac kann das! Ja sogar jeder auf nem *-NIX System basierender Rechner! Ich hab das nicht rausgefunden. Aber das sog. Piping ist so alt und trotzdem noch so toll aktuell und cool - zieht euch hoffentlich die Socken aus. Demnächst noch mehr - "Wie finde ich alle MP3s von einem Künstler" ... bald!

Kommentieren und noch mehr nachfragen ist erwünscht!

#403

30.07.2008 23:29
1 Kommentar
Share
  • code
  • php
  • Web
  • fundstücke
  • Termine
  • seele
  • Relaunch
Tripsbytips ist back!!!
Mit verbessertem Konzept zu Bewertungen und Empfehlungen (alle Empfehlungen von Freunden sind jetzt wichtiger als alle anderen und noch mehr), und komplett neu gebautem Allem! Die Jungs dahinter, Uwe Frers und sein Team haben sich wortwörtlich die Nächte um die Ohren gehauen. Das hab ich selbst mitbekommen. Die neue Seite macht einen total besseren Eindruck und es kann losghen! Meldet euch an und added mich!
Es ist eh alles viel einfacher geworden ... Du hast einen nützlichen Tipp und willst ihn loswerden? Alles klar, einfach Text eingeben, Tipp abgeben drücken und schon ist es drin! Alle Empfehlungen von Freunden werden durch kleine Herzchen gekennzeichnet und ach was red ich! Geht einfach mal drauf und zieht's euch rein!
Wer mir 'nen Drink ausgibt bekommt ein Dankeschön :D
  • 1
  • 2
  • 3
  • …
  • weiter »
marceleichner HTML5 Harrison Theme (Validate Source), © 2010 by Ephigenia M. Eichner, Impressum