sd.vg
(Notiz-) Blog rund um das Thema Webentwicklung

Bootbaren USB Stick mit OSX Bordmitteln erstellen

Geschrieben am

Auf evan.borgstrom.ca habe ich eine Anleitung gefunden, die beschreibt, wie mit OSX Bordmitteln ein bootbarer USB Stick, z.B. für eine Betriebsystem-Installation erstellt werden kann.

Ich möchte die benötigten Schritte (kombiniert mit einer sinnvollen Ergänzung aus den Kommentaren) hier kurz zusammenfassen:

Vorbereitung: Leeren des USB Sticks

  1. Festplattendienstprogramm öffnen
  2. Den USB Stick auswählen (das Gerät selbst, keine der untergeordneten Partitionen)
  3. Reiter “Partition” wählen
  4. Links als Partitionslayout “1 Partition” auswählen
  5. rechts als Format “Freier Speicherplatz” wählen
  6. “Anwenden” klicken (löscht übrigens alles vom USB Stick)

iso zu img konvertieren

Die vorhandene .iso-Datei muss zunächst zu einer .img-Datei konvertiert werden.
Dazu sind folgende Schritte im Terminal notwendig:

  1. Zum Ordner mit der iso-Datei navigieren
  2. Folgenden Befehl ausführen, Dateinamen entsprechend anpassen:
    hdiutil convert -format UDRW -o xbmc-9.11-live-repack.img xbmc-9.11-live-repack.iso

    Die resultierende Datei bekommt die Dateiendung `.img.dmg`. Das stört aber nicht weiter.

Daten auf USB Stick schreiben

Zunächst muss der Device Point des USB Sticks ermittelt werden. Dazu ruft man eine Liste aller Speichergeräte mit diskutil list auf.
In der Liste müsste der USB Stick dann recht leicht anhand der Größe zu finden sein. Bei mir war der Device Point (wie bei meiner Informationsquelle) /dev/disk1.

Anschließend kann auch schon der Schreibprozess gestartet werden:

dd if=$imgFile of=$devicePoint bs=1m

#Beispiel:
dd if=xbmc-9.11-live-repack.img.dmg of=/dev/rdisk1 bs=1m

$imgFile wird mit der vorhin erstellten .img.dmg-Datei ersetzt.
$devicePoint mit dem ermittelten Device Point, wobei hier vor dem discX noch ein r platziert wird (siehe Beispiel).

Der anschließende Prozess sollte nur ein paar Minuten dauern und der Status kann mit ^t eingesehen werden.

Neues Blog mit WordPress

Geschrieben am

Mein kleines Blog wird heute ein Jahr alt!

Ich habe den Tag auch mal zum Anlass genommen, das neue Blogsystem mit WordPress und neuem Design zu veröffentlichen :)

In der Ansicht auf sehr kleinen Auflösungen (Smartphones) sieht es leider noch nicht perfekt aus, da machen große Bilder und der Footer noch Probleme.
Außerdem will WordPress’ move comment form-Funktion noch nicht so, wie ich will.
Aber ich bin zuversichtlich, das alles spätestens am Wochenende noch zu lösen :)

Abgesehen von WordPress verwendet das neue Blog:

Frontend

HTML5 Boilerplate

Sollte man kennen. Eine Codebasis, die best-practices fürs Frontend umsetzt. Von H5BP sind in erster Linie die .htaccess-rules und normalize.css übrig geblieben.

prism.js

prism.js ist der von mit verwendete Code-syntaxhighlighter. Die kleine Library hat gerade einmal 7.52KB und kann die Syntax von HTML, CSS und JavaScript hervorheben.
Die Erweiterung für PHP habe ich von hier. Der Bugfix aus einer der Kommentare wird allerdings auch noch benötigt.

Font Awesome Icons

Alle Icons auf der Seite kommen aus dem Font Awesome-Set.
Font Awesome ist ein so genannter Icon-Font, der Vector-Icons in einfach zu nutzenden Webfonts verpackt.
Font Awesome kommt außerdem mit fertigen CSS-Klassen für alle Icons daher. In plain-CSS, LESS- und SCSS-Syntax.
Eine größere Aufstellung mit vielen Icon Fonts gibt es übrigens bei CSS-Tricks.

WordPress Plugins

.html on PAGES

Ermöglicht schönere URL’s für reine Content-Seiten (keine Blog-Einträge). Normalerweise wären nur URL’s möglich, die auf / enden.

WP No Category Base

Noch eine URL-Sache. Wenn man z.B. die Kategorie JavaScript öffnen möchte wäre die URL normalerweise sd.vg/category/javascript. Mit diesem Plugin: sd.vg/javascript

Exec-PHP

Erlaubt es, PHP-Code in Artikeln und Seiten auszuführen.
Wird z.B. hier benötigt: Debugging für die eigene IP-Addresse

PS Auto Sitemap

Generiert mir die oben verlinkte Sitemap. Den Link zum Autor kann man auch deaktivieren.

Remote Click’n'Load einrichten

Geschrieben am

Hier beschreibe ich, wie unter Linux, Windows und Mac Port-Forwards für Click’n'Load eingerichtet werden können.

Das Ziel dabei ist, dass man auf seinem lokalen Computer im Browser auf einen Click’n'Load-Link klicken kann und die Informationen sofort und automatisch an den Download-Server, auf dem z.B. ein pyLoad-Webinterface läuft weitergereicht werden können.

➥ Weiterlesen

Chrome-Extension: simpleClock

Geschrieben am

Da ich im Store keine nette, einfache Uhr für den Chrome finden konnte, die mir die Uhrzeit oben rechts anzeigt habe ich kurzerhand selber eine geschrieben.

Screenshot simpleClock
Screenshot von Chrome mit Uhr

Die Erweiterung besteht aus ein wenig JavaScript und 2x 1.440 Grafiken, die je für eine Minute des Tages stehen.

Features:

  • minimalistische Anzeige im Browser oben rechts
  • Datum und Uhrzeit im Titel bei Mouseover
  • Öffnen eines neuen Tabs mit frei konfigurierbarem Ziel bei Klick auf das Icon (Standard: Google Calendar)
  • Wählen zwischen schwarzer- und weißer Schrift (letztere für dunkle Designs)

simpleClock im Chrome WebstoreSource

[Snippet] Dateien mischen

Geschrieben am

Hier ein Codeschnippsel, mit dem man die Namen von Dateien “mischen” kann:

Hierzu werden die Dateien im aktuellen Verzeichnis zufällig angeordnet und mit dem Prefix “ZAHL-” im Dateinamen durchnummeriert.


<?php
$files = glob('*');
shuffle($files);
 
$c = 0;
foreach($files as $f) {
    //echo $f.' ====> '.$c.'-'.$f."\n";
    rename($f, $c.'-'.$f);
    $c++;
}

Debugging für die eigene IP-Addresse

Geschrieben am

Hier einmal zwei Codeschnippsel, mit denen man komfortabel live-Systeme debuggen kann, ohne dass Benutzer etwas davon mitbekommen. Wenn es denn mal sein muss.

Hierzu wird einfach geprüft, ob der aufrufende Client die eigene IP-Adresse hat.

In den folgenden Schnippseln für php und Smarty wird deine Addresse automatisch eingebaut.

PHP


if( $_SERVER['REMOTE_ADDR'] == '107.20.129.212' ) {
    //Debug-Ausgaben hier
}

Smarty

{if $smarty.server.REMOTE_ADDR == '107.20.129.212'}
    {*Debug-Ausgaben hier*}
{/if}

Sinn dieser Seite ist übrigens, fertige Schnipsel zu haben, die man schnell kopieren kann :)