by far not as powerful as the Fastest Fourier Transform in the West but maybe sometimes useful for a quick data analysis or de-noising. Reads stdin and writes to stdout.
Algorithm taken from Meyberg, Vachenauer: Höhere Mathematik II and ported to plain ruby myself.
< ![CDATA[
#!/usr/bin/env ruby
require ‘complex’
class Array
# DFT and inverse.
#
# Algorithm from
# …
to clean up your installed macports and remove cruft you need to uninstall them in the correct order – according to their dependencies.
A graphical visualisation might help doing so:
Call
$ ./port-deps2dot.rb | dot -Tpdf -o port-deps.pdf ; open port-deps.pdf
with the ruby script port-deps2dot.rb (github gist) as follows:
#!/usr/bin/ruby -w
# visualize macports dependencies.
# pipe the result through …
wie schon in einem älteren Artikel angerissen möchte ich zeitgesteuert Radiosendungen aufnehmen – und zwar auf einem Rechner (mit Apache Webserver), der rund um die Uhr läuft.
Nun habe ich kürzlich einem großen Zündfunk-Fan, der selten Zeit hat ihn zu hören, diesen Mitschnitt als Podcast zum Geburtstag geschenkt. Das ganze wurde aufwändiger als ich dachte …
¶
Posted 27 März 2010
† Marcus Rohrmoser
§
Artikel auf deutsch § sysadmin
‡
°
Also tagged: Bayern2, cron, Debian, github, iTunes, Linux, Mitschnitt, Podcast, Radio, RSS, scrAPI, Screen Scraping, SQLite, streamripper, Zündfunk
Weil große Email Anhänge stinken, bietet sich z.B. die Dropbox als Dateiaustauschplatform an.
Einfach die Datei in den (lokalen) Dropbox/Public Ordner verfrachten, syncen lassen und per “Rechte Maustaste -> Copy Public Link” in die Mail kopieren.
Redirect
Nun sind solche Links nicht besonders hübsch (Branding!, Branding!, CI! ruft die Marketingabteilung) und spätestens wenn man’s abtippen muß oder …
über T-Mobile RechnungOnline kann man sich die Rechnung als gpg-verschlüsselten Anhang per Mail schicken lassen – incl. Einzelverbindungsnachweis. Und obwohl’s nur 1x im Monat kommt, ist das Auspacken und Umbenennen in sinnvolle Dateinamen eine lästige Routinearbeit.
Also – automatisieren. Das folgende Ruby-Script erledigt das, nachdem der Rechnungsanhang in einen der Ordner “Downloads” oder “Desktop” gelegt …
Yields a hashmap for every line:
require ‘date’
class Apache
def self.each_request(src=$stdin)
ip_pat=/(?:+\.){3}+/
date_pat=/\]+\]/
req_pat=/”(+)\s(+)\s(+)”/
ref_pat=/”(+)”/
date_fmt = ”
apache_pat = Regexp.new( “(#{ip_pat})\s(+)\s(+)\s” < <
“(#{date_pat})\s#{req_pat}\s(+)\s(-|+)\s#{ref_pat}\s#{ref_pat}”)
src.each_line do …
ok, make yourself comfortable, fasten your seatbelt and stop smoking. This will be quite a journey:
Get gammu and backup the phone data:
$ gammu backup phonedata.txt -yes
open phonedata.txt and save it in “MacRoman” encoding with Unix line endings
run it through this ruby script:
#!/usr/bin/ruby -w —
# http://www.rubycentral.com/pickaxe/
# http://homepage.mac.com/phrogz/CSV2vCard_v2.html
records = {}
fields = {}
eor = /^*$/
bor …
Es ist schon etwas her aber dennoch einen kurzen Eintrag hier sicher wert.
Ragel habe ich für ein Experiment (ist SVG als 2D Szenengraph Format für piccolo2d machbar?) benutzt um einige Parser zu bauen.
Als Vorlage dienten die BNF Grammatiken direkt aus der W3C SVG Spezifikation. Nachdem der erste funktionsfähige Stand erreicht war habe ich noch …