(Archiv für die Kategorie "Geekstuff")

Empfehlung: Der Make Magazine-Podcast

bre
Das “makezine” ist eine Plattform über Basteleien allgemein (im Englischen anscheinend gerne als “hacks” bezeichnet), die ein Blog, ein Verzeichnis von Projekten, einen Podcast und einen Versandhandel bietet.

Als Freund der gepflegten Frickelei habe ich den RSS-Feed des Make-Blogs schon lange abonniert, der Podcast war mir allerdings bis vor kurzem noch gänzlich unbekannt – schade eigentlich, denn der nett gestaltete und von dem geradezu sagenhaft nerdigen Bre Pettis (siehe Photo) moderierte Podcast bietet viel Unterhaltung und Inspiration für eigene Projekte.

Der Podcast befindet sich selbstverständlich im iTunes-Podcast-Verzeichnis, und allgemein möchte ich noch loswerden, dass Projekte wie “make” IMHO zu den wenigen echten Perlen des Netzes gehören.



Ich liebe Perl…

sub runde
{
(my $p = ((grep /\./, @_) != 0) ? sprintf("%.2f", @_) : @_) =~ s(\.) (,);
return $p;
}

…denn welcher andere Compiler/Interpreter würde diese fünf Zeilen Code bedingungslos akzeptieren, und in welcher anderen Sprache kann man mit derartig wenig Code derartig viel bewegen?



Russisch Roulette, die Unix-Variante

sudo /bin/bash -c "[ $[ $RANDOM % 6 ] = 0 ] && rm -rf /"

(Achtung, für die Nichteingeweihten: Nie im Leben wirklich diesen Kommandozeilenbefehl ausführen!)



dublettenfinder.sh

Irgendwie muss ich gerade in einer produktiven Phase stecken. Soeben habe ich den “dublettenfinder” fertiggestellt, ein kleines Shellscript (präzise: Bash-Script), das die md5-Prüfsummen aller Dateien eines gegebenen Verzeichnisses berechnet, diese vergleicht, und so doppelt vorhandene Dateien findet.

Sicher ist das Script grade bei großen Dateien ziemlich langsam, es verrichtet aber zuverlässig seinen Dienst. Dinge, die ich noch ändern möchte, sind:

  • Die Performance (ließe sich evtl. mit einer Art Vorauswahl lösen, bei der nur die md5-Hashes von Dateien gebildet werden, die auch die gleiche Größe haben)
  • Anpassen für Linux und andere Unixe

Hier steht es übrigens zum Download bereit.



“Ordner im Terminal öffnen” beta

Meiner bescheidenen Meinung nach ist es höchst erstrebenswert, die Grundlagen so vieler Programmier- und Scriptsprachen wie möglich zu kennen. Genau dies hat mich auch motiviert, mich mal einen Nachmittag mit Applescript zu beschäftigen. Applescript wurde von Apple geschaffen, damit häufig benutzte Arbeitsabläufe automatisiert werden können. Leider unterstützen nicht viele wenige Programme Applescript, es ist mir jedoch gelungen, ein Script zu schreiben, welches das vorderste Fenter des Finders im Terminal öffnet, hier der Code:

--
--	mein Dank für die Funktion "austauschen()"
--	geht an http://betabug.ch/austauschen.html
--

on austauschen(suchen, ersetzen, theString)
	set olddelis to my text item delimiters

	set my text item delimiters to (suchen)
	tell me to set theList to (every text item of theString)

	set my text item delimiters to (ersetzen)
	set theString to theList as string

	set my text item delimiters to olddelis

	return theString
end austauschen

tell application "Finder"
	if the (count of windows) is not 0 then
		set pfad_mit_doppelpunkt to the target of the front window as string

		tell me to set pfad to "/Volumes/" & austauschen(":", "/", pfad_mit_doppelpunkt)

		tell application "Terminal"
			activate
			do script with command "cd \"" & pfad & "\""
		end tell
	end if
end tell

Auch wenn dieses Script sicherlich kein Meisterwerk der Programmierkunst darstellt, macht es mir das tägliche Arbeiten am Mac etwas bequemer, vor allem, wenn man mit Rails entwickelt, und nun nicht mehr manuell im Terminal zu den entsprechenden Ordnern wechseln muss.

PS. Um aus diesem Script ein Programm für Mac OS X zu machen, muss man lediglich den ScriptEditor (/Programme/Applescript/Skripteditor) öffnen, den Text in das Fenster kopieren, und das ganze als Programmbundle speichern.



GLTerminal

glterminalGLTerminal ist ein Tool, das Kommandozeilenfans und Unixveteranen begeistern wird: Es handelt sich dabei um die Emulation eines Terminals aus den 70ern, das alle wichtigen Eigenschaften hat, die ein derartiges Terminal eben haben muss: Langsame Übertragungsgeschwindigkeiten (einstellbar von 50 bis 19200 Baud), Flimmern, und wahlweise orangene, grüne oder weisse Schrift.

GLTerminal gibt’s hier zum Download, allerdings hat die Version ein paar Macken und funktioniert nur, wenn man als Renderer (Session » Preferences, dann unter dem Reiter “Renderer”) “Classic Terminal” einstellt.



In unpassenden Sprachen implementierte Webserver

Wer einen Webserver, der in Perl oder PHP geschrieben ist, für ungewöhnlich hält, sollte sich mal diese Liste ansehen:

- sh-httpd: Ein Webserver, in Shellcode geschrieben

- bash httpd: httpd, in Bash geschrieben

- dd/sh httpd: Ein Webserver, der angeblich nur dd und sh verwendet; die Domain hat mittlerweile leider den Besitzer gewechselt

- awk httpd: Wie der Name schon sagt, dieser Server ist in awk geschrieben, leider ist die Seite zzt. ebenfalls down

- sed httpd: Dieser httpd verwendet das Kommandozeilentool sed, blöderweise ist auch diese Seite down, aber man hofft ja auf bessere Zeiten…

- httpd.el: Ein Webserver, der – kein Witz! – auf dem Texteditor “emacs” aufbaut

Und jetzt kommt das – imho – derbste:

- ps-HTTPD: Ein ausschließlich in Postscript geschriebender Webserver

PS. Hat einer von euch den bash-httpd ans laufen bekommen?



« 1 2