Posts Tagged ‘Mac OS X’

Mittwoch, 24. April 2013

YouTube-Links in einer Textdatei sequentiell herunterladen

Heute hat Kollege Burgdorfer auf Facebook folgenden Artikel gepostet: 15 Fascinating TED Talks for Econ Geeks.

Natürlich möchte ich mir diese jeweils sehr lehrreichen Mini-Vorlesungen nicht entgehen lassen. Doch wie kriege ich nun die Videos auf die lokale Festplatte, damit ich sie bei Gelegenheit mit Air Video via iPhone/iPad über unseren Apple TV auf 42″ Plasma-Fläche abspielen kann?

Zuerst habe ich im Zielverzeichnis eine Text-Datei namens links.txt erstellt, in welcher ich pro Zeile einen der 15 YouTube-Links hineinkopiert habe:

http://www.youtube.com/watch?v=uXl-mKZ7aSc













http://www.youtube.com/watch?v=dIbkqUm_xKk

Um YouTube-Videos auf die lokale Festplatte zu kopieren, bedient man sich des folgenden quelloffenen Scripts:

youtube-dl — Download videos from YouTube.com

Dieses platziert man in einem leicht zugänglichen Ort; bei mir liegt es beispielsweise mit einer Ladung anderer Scripts unter /Users/mario/Scripts.

Anschliessend habe ich auf der Kommandozeile im Zielordner folgenden Befehl ausgeführt:

while read line; do (~/Scripts/youtube-dl.sh "$line" &); done < urls.txt

Nun werden nach und nach alle Videos heruntergeladen, und spätestens heute Abend kann ich mir dann das eine oder andere Video zu Gemüte führen.

youtube-dl.sh

#!/bin/sh

YDL="/Users/mario/Scripts/yt-dl"

$YDL -q -o "%(title)s.%(ext)s" "$1"

exit 0

Tags: , , , , , , , , ,
Labels: Linux

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 20. März 2013

Mit scp eine Datei mit Leerschlägen im Dateinamen kopieren

Das geht ganz einfach — sobald man herausgefunden hat, wie man den Pfad aufschreiben muss:

scp user@server:"'/Movies/Documentaries/The Power Of Nightmares/Documentary.The.Power.Of.Nightmares.01.Baby.Its.Cold.Outside.avi'" ~/Desktop

Konkret: Man schliesst den Pfad in Anführungszeichen und Apostrophs ein: „‚[pfad]'“ (Achtung: WordPress wandelt die Anführungszeichen in diesem Paragraphen in typographische ansprechende Zeichen um — was aber leider zur Folge hat, dass Copy & Paste der Zeichen in ein Shell-Fenster nicht mehr funktioniert).

Via Spaces and SCP

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. März 2013

Web-Sites unter Mac OS X mit Internet Explorer testen

Obwohl ich kaum noch Web-Sites entwickle und seit ein, zwei Jahren auch nie mehr Web-Sites mit HTML und CSS gelayoutet habe, finde ich folgende Anleitung äusserst nützlich:

Internet Explorer for Mac the Easy Way: Run IE 7, IE8, & IE9 Free in a Virtual Machine

Zusammen mit der quelloffenen VirtualBox, welche mittlerweile Oracle gehört, und dem Shell-Script des Github-Benutzers xdissent richtet man sich unter Mac OS X oder Linux insgesamt vier Virtual Machines ein, welche Microsoft Internet Explorer 6 bis 9 bereitstellen.

Tipp: Das Passwort für die Konten Admin und Administrator lautet … Password1.

Tags: , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 3. Februar 2013

Einen lokalen Ordner in ein unter VirtualBox virtualisiertes Linux einbinden

Über das Wochenende durfte ich mich mit Compass Network Security AGs Hacking-Lab Live-Distro und darin enthaltenen Hacking-Übungen herumschlagen.

Die Live-Distro kann man als Image im ova-Format unter Mac OS X über den quelloffenen Virtualisierer VirtualBox in Betrieb nehmen.

Damit der Datenaustausch zwischen Gastgeber- und Gastbetriebssystem problemlos klappt, habe ich ein Ordner auf einer physischen Festplatte meines Mac minis in das Ubuntu-Linux integriert.

VirtualBox

Zuerst muss der künftig mit dem virtualisierten Betriebssystem geteilte Ordner mit VirtualBox selber bekannt gemacht werden:

  1. Rechtsklick auf die virtuelle Maschine
  2. Settings
  3. Shared Folders
  4. Machine Folders
  5. Add shared Folder definition
    • Folder Path: <Pfad auf den Ordner des Gastgeberbetriebssystems (hier: Mac OS X)>
    • Folder Name: <Eindeutiger Name, welcher bei der Einbindung in das Gastbetriebssystem benötigt wird (s. unten)>
    • [ ] Read-only (je nachdem, ob man Daten nur lesen oder aber auch unter Linux bearbeiten will)
    • [x] Auto-mount (bei mir musste ich das Laufwerk trotzdem manuell einbinden)

Ubuntu in der VM

Unter Ubuntu erstellt man zuerst einmal ein Verzeichnis, welches künftig als Mount-Point für den geteilten Ordner dienen soll:

# mkdir /mnt/Shared
# chmod 777 /mnt/Shared

Anschliessend führt man folgenden Mount-Befehl aus:

# sudo mount -t vboxsf <in VirtualBox definiert Folder Name (s. oben)> /mnt/Shared

Fertig!

Ab sofort kann man bspw. mittels TextMate unter Mac OS X ein Python-Script im geteilten Ordner bearbeiten und in der VM auf der Kommandozeile ausführen.

Tags: , , ,
Labels: Uncategorized

Keine Kommentare | neuen Kommentar verfassen

Samstag, 24. November 2012

Text in PDFs greppen

Da haben also die SBB einen Wettbewerb online, welcher die Eingabe von Ticketnummern erfordert. Und gleichzeitig habe ich Quittungen von über SBB Mobile georderte Tickets für Geschäftsreisen auf meinem Computer abgelegt.

Was macht man da? Richtig, man filtert die PDFs nach den geforderten Ticket-Nummern, und zwar so:

pdftotext

Ich gehe davon aus, dass jeder Terminal.app-Hacker macports installiert hat

Man benötigt zuerst einmal das in xpdf enthaltene Tool pdftotext:

# port install xpdf-tools

Shell-Magic

Nachdem das Tool installiert ist, navigiert man in den Ordner, welcher die PDFs enthält und gibt folgenden Befehl ein:

$ for i in *.pdf; do pdftotext "$i"; done;

Die in PDFs enthaltenen Textzeichen werden extrahiert und automatisch in eine Textdatei mit Endung .txt gespeichert, welche denselben Basename trägt wie die PDF-Datei.

Nun kann ich problemlos greppen:

$ cat *.txt | grep "OT"

… und schon erhalte ich eine schöne Liste in der Form

OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000

Tags: , , , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Sonntag, 18. November 2012

Wieso Mac OS X aus seinem Schlaf aufwacht

$ syslog | grep -i "Wake reason"

Quelle: Determine Why Your Mac Wakes Up From Sleep

Tags: , , , ,
Labels: Apple

1 Kommentar | neuen Kommentar verfassen

Sonntag, 18. November 2012

Adobe Source Code Pro: Quelloffene Programmierer-Schrift

Adobe überrascht für einmal und offeriert mit Source Code Pro eine quelloffene OTF-Schrift, welche speziell für Entwickler geeignet ist, welche eine leicht lesbare Monospace-Schriftart benötigen.

Wer das Ding kompilieren möchte, kann sich an Adobes Git-Repository vergnügen:

adobe / source-code-pro

Alle anderen laden sich das OTF-Binary von hier herunter:

Free Font Source Code Pro by Adobe

Nicht mit Apple Terminal

Leider unterstützt Apples Terminal.app unter Mac OS X 10.7 keine OTF-Fonts:

Terminal.app won’t display OpenType fonts (.otf)

Mist! Dann verwende ich die Schrift halt nur in TextMate … Als Ersatz kommt in Terminal.app Microsofts Consolas zum Einsatz.

Tags: , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 18. November 2012

bash Startup-Konfigurationsdateien unter Mac OS X

Wer seine Shell unter Mac OS X nach eigenem Gusto konfigurieren möchte, legt an eine oder mehrere der nachfolgenden Dateien Hand an — je nachdem, ob man Anpassungen systemweit (/etc/profile, /etc/bashrc) oder nur für den eigenen Benutzer eingerichtet haben möchte (~/.*; siehe unten).

Es muss dabei zwischen Login- und Non-Login-Shells unterscheiden werden. Was für einen Shell-Typ man gerade verwendet, findet sich ganz leicht mit folgendem Befehl heraus:

$ shopt | grep login_shell
login_shell    	on

Login-Shell

  1. /etc/profile
  2. Die erste existierende der folgenden Dateien (nur eine!):
    1. ~/.bash_profile
    2. ~/.bash_login
    3. ~/.login

Non-Login Shell

  1. /etc/bashrc
  2. ~/.bashrc

Quelle: What startup files are read by the shell? (shell configuration)

Soweit so gut … Die Sache wird nun aber noch weiter verkompliziert, indem man beim Login mit dem persönlichen Benutzer standardmässig eine bash-Shell vorgesetzt bekommt:

$ echo $SHELL
/bin/bash

Nachdem man aber mit sudo su zum root-Benutzer wechselt, hat man „nur“ noch eine sh-Shell:

# echo $SHELL
/bin/sh

Wie in einem SuperUser-Thread dargelegt handelt es sich bei /bin/sh seit Mac OS X 10.6 um ein bash-Binary, welches aber mit dem Flag -enable-strict-posix-default kompiliert wurde. Da sich aber /bin/sh wie ein Bourne Shell verhält, werden gar keine Konfigurationsdateien eingelesen:

Note that when bash is invoked with the name „sh“, it tries to mimic the startup sequence of the Bourne shell („sh“). In particular, a non-login shell invoked as „sh“ does not read any dot files by default. See the bash man page for details.

Quelle: What startup files are read by the shell? (shell configuration)

Fazit

Wer möchte, dass /etc/bashrc auch bei einem sudo su ausgeführt wird, muss die Login-Shell des root-Benutzers ändern:

# chsh -s /bin/bash root
Changing shell for root.

In den root-Benutzer wechselt man dann mittels

$ sudo -i

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 17. November 2012

Bilddateien unter Mac OS X mit Rechtsklick auf Flickr laden (Python und Automator)

Rückblickend — wie so vieles — eine ganz simple Aufgabe.

WICHTIG: Das neueste, überarbeitete Script findet sich auf Github unter emeidi/flickrUpload

flickrUploaderLean.py

#!/usr/bin/env python

import os
import sys
import re
import flickrapi

api_key = ''
api_secret = ''

flickr = flickrapi.FlickrAPI(api_key, api_secret)

(token, frob) = flickr.get_token_part_one(perms='write')
if not token:
    raw_input("Press ENTER after you authorized this program")
flickr.get_token_part_two((token, frob))

numArgs = len(sys.argv)
if(numArgs < 1):
	sys.exit("Usage:" + sys.argv[0] + " ")

photo_path = sys.argv[1]

if(os.path.isfile(photo_path) == False):
	sys.exit("File not found: " + photo_path)

res = flickr.upload(filename=photo_path, is_public=u'1')

t = res[0]
if t.tag == 'photoid':
	print 'http://www.flickr.com/photos/upload/edit/?ids=' + t.text
else:
	print 'http://www.flickr.com/upload+failed'

sys.exit(0)

Anschliessend erstellt man mittels Apple Automator einen Service, welcher nach dem Abspeichern mittels eines Rechtsklick auf eine Datei im Untermenu „Services“ aufgeführt wird:

Konkret:

  • Service receives selected files or folders in Finder.app
  • Run Shell Script
    • Shell: /bin/bash
    • Pass Input: as arguments
    • (Textfeld): /Users/mario/Scripts/flickrUploadLean.py „$@“
  • Display Webpages

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 29. Oktober 2012

Web-Videos von arte, ARD, ZDF & Co. herunterladen

Das kriegt man offenbar mit folgendem Mac-Tool hin:

Mediathek for Mac

Leider ist ausgerechnet die arte-Doku, an welcher ich interessiert bin, offenbar nicht verfügbar:

Quelle: GOLDMAN SACHS – LA BANQUE QUI DIRIGE LE MONDE

Tags: , , , ,
Labels: Medien

Keine Kommentare | neuen Kommentar verfassen