This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/opt/local/bin/ruby1.9 | |
require 'rubygems' | |
require 'nokogiri' | |
require 'open-uri' | |
txt = open("http://www.studentenwerk.bremen.de/files/main_info/essen/plaene/uniessen.php").read | |
txt.gsub!(/<</, "«") | |
txt.gsub!(/>>>/, ">»") | |
txt.gsub!(/>>/, "»") | |
doc = Nokogiri::HTML(txt) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# convert a filename into an array suitable for sorting | |
def filename_to_sortable(fn) | |
# convert numeric parts of the string given into actual numbers. | |
# Keep a string (third element) to disambiguate | |
fn.scan(/(\D*)(\d*)/).map{ |alpha, numeric| [alpha, numeric.to_i, numeric]} | |
end | |
# sort filenames in a "natural" way, keeping numeric parts ascending numerically | |
def sort_filenames(a) | |
a.sort_by{ |fn| filename_to_sortable(fn) } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/opt/local/bin/ruby1.9 | |
require 'zip/zipfilesystem' | |
require 'nokogiri' | |
MS_S = "http://schemas.openxmlformats.org/" | |
MS_W = MS_S + "wordprocessingml/2006/main" | |
MS_W_OD = MS_S + "officeDocument/2006/relationships/officeDocument" | |
ARGV.each do |fn| | |
Zip::ZipFile.open(fn) do |zf| |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/opt/local/bin/ruby1.9 | |
require 'digest/md5' | |
require 'shellwords' | |
# argument processing -- goes through Dir[], so can use '**/*' etc. | |
ARGV[0] ||= '.' | |
filenames = ARGV.map do |dirn| | |
Dir[if File.directory?(dirn) | |
"#{dirn}/*" | |
else | |
dirn |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(set-language-info-alist | |
"German8" '((tutorial . "TUTORIAL.de") | |
(charset unicode) | |
(coding-system utf-8 iso-latin-1 iso-latin-9) | |
(coding-priority utf-8 iso-latin-1) | |
(nonascii-translation . iso-8859-1) | |
(input-method . "german-postfix") | |
(unibyte-display . iso-latin-1) | |
(sample-text . "\ | |
German (Deutsch Nord) Guten Tag |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# IPv6 address regular expression done right | |
# [email protected] 2010-02-11 | |
# from a NANOG thread: | |
# (corrected version of) http://gist.github.com/294476 | |
# Use the tests in that gist if you actually want to change this | |
ORIGINAL_IPV6_REGEX = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f |
NewerOlder