<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Fabian Franke]]></title>
  <link href="http://fabianfranke.de/atom.xml" rel="self"/>
  <link href="http://fabianfranke.de/"/>
  <updated>2012-04-18T11:45:43+02:00</updated>
  <id>http://fabianfranke.de/</id>
  <author>
    <name><![CDATA[Fabian Franke]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[yet another alfred screenshot extension]]></title>
    <link href="http://fabianfranke.de/2012/04/17/yet-another-alfred-screenshot-extension/"/>
    <updated>2012-04-17T19:37:00+02:00</updated>
    <id>http://fabianfranke.de/2012/04/17/yet-another-alfred-screenshot-extension</id>
    <content type="html"><![CDATA[<p>Why another <a href="http://www.alfredapp.com">alfred</a> screenshot extension?</p>

<p>Crawling the web for the right extension takes about the time to write a new one.</p>

<p><img src="http://fabianfranke.de/media/f3ba530684c96718f8ad057341b17ef6.png" title="'the triad of skitch'" ></p>

<p>Why I wanted a screenshot solution that is not <a href="http://skitch.com">Skitch</a>?</p>

<p>When using a custom server you have to click the share button, wait for the image to be uploaded and thereafter you have to click again to copy the URL. Two clicks too much, every time. (When using skitch&#8217;s own server the URL is copied to your clipboard automatically after the upload.)</p>

<p>My wish list was short:</p>

<ul>
<li>select a window or an area of the screen</li>
<li>optional: give me some seconds after selecting the area to pull up
some menus</li>
<li>optional: edit the screenshot before uploading</li>
<li>optional: no upload, but move the image to my octopress media folder</li>
<li>random filenames</li>
<li>auto upload</li>
<li>get the URL copied to the clipboard after finishing the upload</li>
</ul>


<div><script src='https://gist.github.com/2408550.js?file='></script>
<noscript><pre><code># where to store the screen captures locally?
lefolder=~/Pictures/lescreenshot

if [ ! -d $lefolder ]; then
    mkdir -p $lefolder
fi

lemodifier={query}
leedit='no'

# t is the timed screen capture - 5 seconds after selection the region/window
# p/e/s are going to open some application
case $lemodifier in
    t )
        leopts='-T 5'
    ;;
    p )
        leedit='picturesque'
    ;;
    e )
        leedit='photoshop'
    ;;
    s )
        leedit='skitch'
    ;;
esac

cd $lefolder
lefilename=`uuidgen | md5`.png
screencapture $leopts -i $lefilename 

if [ $leedit == 'picturesque' ]; then
    open -W -a &quot;Picturesque&quot; $lefilename
elif [ $leedit == 'photoshop' ]; then
    open -W -a &quot;Adobe Photoshop CS6&quot; $lefilename
elif [ $leedit == 'skitch' ]; then
    open -W -a &quot;Skitch&quot; $lefilename
fi

# I bet you want to change the ssh and the domain/directory settings
scp $lefilename mysshbox:~/i/
printf 'http://example.com/i/'$lefilename | pbcopy

/usr/local/bin/growlnotify -t autoshot -n autoshot -I /Applications/Skitch.app/ -m &quot;Screenshot uploaded, URL ready for pasting&quot;

unset lefolder
unset lefilename
unset leedit
unset lemodifier
</code></pre></noscript></div>


<p>Copy the code from the gist, edit the local destination at the top and server settings at line 51/52 and use the following Alfred.app (beware: Powerpack feature (You don&#8217;t own it yet? What are you waiting for, it&#8217;s awesome)) settings or any other application starter of your desire.
<img src="http://fabianfranke.de/media/b869bb99e805726f34337467ebcbd2f4.png" title="'Alfred.app extension settings'" ></p>

<p>If you didn&#8217;t guess: After editing a screenshot, overwrite the original file to upload the edit.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Lion: Full Disk Encryption auf externen Platten]]></title>
    <link href="http://fabianfranke.de/2012/04/13/lion-full-disk-encryption-auf-externen-platten/"/>
    <updated>2012-04-13T13:35:00+02:00</updated>
    <id>http://fabianfranke.de/2012/04/13/lion-full-disk-encryption-auf-externen-platten</id>
    <content type="html"><![CDATA[<p>Schritt 1: Wir öffnen das Terminal (über Spotlight oder im Dienstprogramme/Utilities Ordner zu finden)
<img src="http://fabianfranke.de/media/a1014896d4b80bf41890ec94afc50759.png" title="'a fresh empty Terminal'" ></p>

<p>Schritt 2: Devicenamen vom Datenträger finden. Diesen findet man in der Identifier Spalte</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>diskutil list
</span><span class='line'>
</span><span class='line'>/dev/disk2
</span><span class='line'>   #:                       TYPE NAME                    SIZE       IDENTIFIER
</span><span class='line'>   0:      GUID_partition_scheme                        *8.0 GB     disk2
</span><span class='line'>   1:                        EFI                         209.7 MB   disk2s1
</span><span class='line'>   2:                  Apple_HFS sonyvault               7.7 GB     disk2s2</span></code></pre></td></tr></table></div></figure>


<p>Im Beispiel hier mit einem USB Stick wäre das disk2s2, sollte über den Namen des Datenträgers beziehungsweise über seine Größe leicht ermittelbar sein.</p>

<p>Schritt 3: Das Device umwandeln und damit das Passwort nicht direkt sichtbar zu lesen ist geben wir das über die Standardeingabe ein.</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>diskutil corestorage convert {device} -stdinpassphrase</span></code></pre></td></tr></table></div></figure>


<p>Bonus Schritt 4: Nachschauen wie weit die Konvertiertung fortgeschritten
ist.</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>diskutil corestorage list</span></code></pre></td></tr></table></div></figure>


<p>oder für die ganz ungeduldigen:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>watch -n2 diskutil corestorage list</span></code></pre></td></tr></table></div></figure>


<p>Bei der internen Platte geht das auch bequemener Systemeinstellungen/Sicherheit/FileVault und für die Time Machine Festplatte über das zugehörige PrefPane.</p>

<p>Nun haben wir wenn der Rechner aus ist eine schöne verschlüsselte Platte. Dank Firewire und Thunderbolt gibt es die Möglichkeit direkt auf den Arbeitsspeicher zuzugreifen (DMA), was im Grunde etwas Gutes ist, aber in unserem Fall schlimmstens bedeutet dass das Passwort für die Festplatte/n direkt aus dem Arbeitsspeicher gelesen werden kann.
Beim Aufwachen aus dem Standby sollte dieser Angriff erfolglos sein, aber um sicher zu gehen das der Schlüssel beim Wechsel in den Standby Modus verworfen wird sagen wir das Power Management nochmal explizit.</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>sudo pmset -a destroyfvkeyonstandby 1 </span></code></pre></td></tr></table></div></figure>


<p>`</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[tmux as a screen replacement]]></title>
    <link href="http://fabianfranke.de/2012/01/19/screen-replacement-tmux/"/>
    <updated>2012-01-19T13:22:00+01:00</updated>
    <id>http://fabianfranke.de/2012/01/19/screen-replacement-tmux</id>
    <content type="html"><![CDATA[<p>Since I could not find a way to get <a href="http://www.gnu.org/s/screen/">screen</a>
working with split screens <em>and</em> different windows I switched to
<a href="http://tmux.sourceforge.net/">tmux</a>.</p>

<p><img src="http://fabianfranke.de/media/tmux.png" title="my current tmux configuration in action" ></p>

<p>So far, after setting up the same look and feel as my
screen configuration, I quite like it (the tmux configuration is
actually human read- and editable).</p>

<p>Below is my current .tmux.conf file</p>

<div><script src='https://gist.github.com/1639838.js?file=.tmux.conf'></script>
<noscript><pre><code># we like colours
set -g default-terminal &quot;screen-256color&quot;

# change activator to ctrl+z
unbind C-b
set-option -g prefix C-z
bind C-z send-prefix

# history
set -g history-limit 1000

# Allows for faster key repetition
set -s escape-time 0

# Set window notifications
setw -g monitor-activity on
set -g visual-activity on

# aggressive window resizing
setw -g aggressive-resize on

# start window numbering at 1
set -g base-index 1

# default statusbar colors
set -g status-fg white
set -g status-bg default

# pane border
set -g pane-active-border-bg default
set -g pane-active-border-fg blue

# command prompt
set -g message-bg blue
set -g message-fg white
set -g message-attr bright

# default window title colors
set-window-option -g window-status-fg white
set-window-option -g window-status-bg default
set-window-option -g window-status-attr bright
set-window-option -g window-status-alert-attr none
set-window-option -g window-status-alert-bg default
set-window-option -g window-status-alert-fg blue

# active window title colors
set-window-option -g window-status-current-fg white
set-window-option -g window-status-current-bg red
#set-window-option -g window-status-current-attr bright 

# change status window look
set-window-option -g window-status-format '#I: #W'
set-window-option -g window-status-current-format '#I: #W'

# statusline
set -g status-utf8 on
set -g status-left-length 30
set -g status-right-length 60
set -g status-justify centre
set -g status-left '#[fg=green,bright][ #h ]['
set -g status-right '#[fg=green,bright][#[fg=blue,bright]#(uptime |cut -d &quot;:&quot; -f 4-) #[fg=green,bright]][ #[fg=blue,bright]%d.%m.%Y %I:%M #[fg=green,bright]]'

# scrollback buffer n lines
set -g history-limit 5000

# More straight forward key bindings for splitting
unbind %
bind H split-window -h
unbind '&quot;'
bind V split-window -v
bind k select-pane -U
bind j select-pane -D
bind h select-pane -L
unbind l 
bind l select-pane -R
bind m last-window

bind-key C-r source ~/.tmux.conf

unbind-key C-Up
unbind-key C-Down
bind-key C-h swap-pane -D
unbind-key C-left
unbind-key C-Right
bind-key C-l swap-pane -U

# Clock
set-window-option -g clock-mode-style 24

# show pane number longer activator + q
set -g display-panes-time 1500</code></pre></noscript></div>


<p>Need more panes per window?
<img src="http://fabianfranke.de/media/tmux2.png" title="need more panes?" ></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Fotoshop by Adobé]]></title>
    <link href="http://fabianfranke.de/2012/01/10/fotoshop-by-adobe/"/>
    <updated>2012-01-10T20:20:00+01:00</updated>
    <id>http://fabianfranke.de/2012/01/10/fotoshop-by-adobe</id>
    <content type="html"><![CDATA[<iframe
src="http://player.vimeo.com/video/34813864?title=0&amp;byline=0&amp;portrait=0"
width="400" height="225" frameborder="0" webkitAllowFullScreen
mozallowfullscreen allowFullScreen></iframe><p><a
href="http://vimeo.com/34813864">Fotoshop by Adobé</a> from <a
href="http://vimeo.com/jesserosten">Jesse Rosten</a> on <a
href="http://vimeo.com">Vimeo</a>.</p>
Fotoshop is a new beauty product from Adobé (aah-DOE-bay)

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Flashfreier Google Chrome mit Flashfallback]]></title>
    <link href="http://fabianfranke.de/2012/01/03/google-chrome-flashfrei-mit-flashfallback/"/>
    <updated>2012-01-03T13:46:00+01:00</updated>
    <id>http://fabianfranke.de/2012/01/03/google-chrome-flashfrei-mit-flashfallback</id>
    <content type="html"><![CDATA[<div><script src='https://gist.github.com/1369960.js?file='></script>
<noscript><pre><code>(*
    (c) 2011 Fabian Franke
    Licence: Creative Commons Attribution-ShareAlike 3.0
    
    Needs multiple user feature; chrome v16 and newer

    1. disable flash plugin in chrome
    2. create new chrome user/profile with flash enabled
    3. edit theFlashChromeUser to your new flash user
    4. assign an alfred.app global hotkey (or any other comfortable way to envoke) to this script
    5. rage about without-flash-I-suck-website while browsing
    6. press hotkey
    7. enjoy the full legacy web experience

    version history:
    changed the way a tab gets closed
*)

set theFlashChromeUser to &quot;flashy&quot;
set theURL to &quot;&quot;

tell application &quot;Google Chrome&quot;
    activate
    set theURL to URL of active tab of window 1
    close tab (active tab index of window 1) of window 1
    tell application &quot;System Events&quot;
        tell process &quot;Google Chrome&quot;
            tell menu bar 1
                tell menu bar item &quot;Users&quot;
                    tell menu &quot;Users&quot;
                        click menu item theFlashChromeUser
                    end tell
                end tell
            end tell
        end tell
    end tell
    delay 1
    if (URL of active tab of window 1 is not &quot;chrome://newtab/&quot;) then
        make new tab at end of tabs of window 1
    end if
    set URL of active tab of window 1 to theURL
end tell
name</code></pre></noscript></div>



]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[reboot]]></title>
    <link href="http://fabianfranke.de/2012/01/03/reboot/"/>
    <updated>2012-01-03T12:26:00+01:00</updated>
    <id>http://fabianfranke.de/2012/01/03/reboot</id>
    <content type="html"><![CDATA[<p>time to reboot this.</p>

<p>Imagine a picture of some defibrillator paddles here.</p>
]]></content>
  </entry>
  
</feed>

