I had to get some statistics about file sizes today, but couldn’t really find a tool for the job, so naturally, I wrote one.
Tag Archives: Work
Keeping ssh connections alive
I’ve got nothing more to say than:
mads@workmads ~ % cat .ssh/config ServerAliveInterval 60
Happy ssh’ing.
Python http_head method
Seeing as there is no really easy way to do a HTTP HEAD request from python, I wrote up the following small method:
In advance I’d like to apologize for the method that assemblies the request path.
Update: Added handling of redirects.
def http_head(url): import httplib import urlparse redirects = 0 while redirects < 10: scheme, netloc, path, query, fragment = urlparse.urlsplit(url) if scheme == 'https': conn = httplib.HTTPSConnection(netloc) else: conn = httplib.HTTPConnection(netloc) conn.request("HEAD", "%s%s%s%s%s" % (path, query and "?" or "", query, fragment and "#" or "", fragment)) res = conn.getresponse() if res.status in (301, 302) and res.getheader('location'): url = res.getheader('location') redirects += 1 else: break return res.status, res.reason
Formatting xml with xmllint
I keep forgetting how to format and indent xml from the command line. The tool xmllint does a fine job of doing just that, which has saved me numerous times whilst working with sports results. So. Much. Data.
Running
xmllint --format <file>
will re-format and re-indent the xml in the input file, and check it for various errors while doing it.
Very simple email sending method in python
I needed to send an email, so I came up with this:
def send_plain_mail(subject, body, from_mail, to): import smtplib from email.MIMEText import MIMEText from email.Encoders import encode_quopri msg = MIMEText(body, 'plain', 'iso-8859-1') msg['Subject'] = subject msg['From'] = from_mail msg['To'] = to s = smtplib.SMTP() s.connect() s.sendmail(from_mail, [to], msg.as_string()) s.close()
Not rocket science, but it gets the job done.
Using mercurial with eclipse to edit actionscript files on os x
We have recently switched to use mercurial as our DVCS. We’re hosting our many repositories on bitbucket.
I love it.
When it comes to actionscript files, flash has always had odd newlines. For some reason, it has always used r as it’s newline. Mercurial, beeing a unix tool, likes it’s newlines to be n. So what better to do, than to make mercurial encode/decode the files for us.
To do that, we can simply add the following to our .hgrc file:
[encode] *.as = perl -pe 's/r/n/g' [decode] *.as = perl -pe 's/r/n/g'
I don’t really know wether the decode part is necessary, but I like to keep it around (if someone should commit poison).