How to attach a file to google spreadsheet

asdf

The following setup lets you

  • choose a file from your computer to upload
  • upload it to a defined folder on google drive
  • inserts the link to the current cell

Read More

Tutorial: Django on Appengine using Google Cloud SQL - Adaptations for Python 2.5

Google App Engine has two Python runtimes, either 2.7.3 or 2.5.2. You should try to develop for 2.7, as it’s the current default on GAE and all the documentations often only describe this Python version.

Additionally: If you use Python 2.5 you can only use Django up to version 1.3. (At least I couldn’t find out how to get version 1.4 working, use_library('django', '1.3') would fail if setting 1.4

If you’re stuck with Python below 2.7 for any reason, that’s what you need to change following my tutorial in order to get it working for Python 2.5:

Read More

Tutorial: Django on Appengine using Google Cloud SQL

Google is running an introductory trial for Cloud SQL that runs since Nov 2012 until June 1, 2013. That’s the right hour to test Django on Google App Engine. No need to mess around with their non relational datastore. Just use their MySQL 5.5 in the cloud.

Hence I decided to give it a try and documented all into a very complete tutorial how to start a Django 1.4 project running on “Google App Engine”.

Read More

How to install mysql and python bindings on OS X

For my upcoming post "how to create a Django project on Google App Engine" I needed to install a MySQL instance and configure python to do so. MySQL is a little beast, and it is not so straight forward to install it on OS X…

Read More

How to migrate your wordpress to tumblr. Including images and comments.

So I’ve decided to move my wordpress blogs to tumblr. Although apparently TechCrunch thinks that’s a bad idea. And although Moritz Adler would kill me for that. (Although: He doesn’t have a personal blog and hence has no licence to kill me). Anyway. With tumblr I don’t need to host a blog software myself. And I don’t end up having my blog hacked and then seeing my blog being displayed as a malware site in Chrome/Firefox (happened to me twice). And then with tumblr I create new blogs with subdomains within minutes. Cool stuff. Hail to the cloud, baby!

So here you go: A complete guide how to fully migrate your wordpress blog to tumblr. Including comments and pictures. And still supporting your old url scheme.

Update: I ran into a tool that claims to do a lot for you: import2.com/tumblr. It doesn’t migrate images and 302 redirects. Not sure about comments migration. And it costs 24$. Still, if you can leave out some of the steps below that’d be worth the money. Comments of the author on quora

Read More

How to fix Jambox’ “static noise and no bluetooth sound” problem(includes soldering)

fixed!

Jambox is a pretty cool device: The sound quality is very good, it is small, it has a battery. I liked it. Until it broke. It just didn’t play music over bluetooth any more but instead uttered static noise. This seems to be a quite severe production problem as many many many people have devices with the exact same problem. So going down the “Jambox please replace my device” way didn’t sound promising to me. The possibility that the replacement device is broken as well is just too high.

The problem lies in the aux in port. The device thinks there’s an aux cable plugged in and outputs the signal from the aux input when in fact it should play the bluetooth sound.

Read More

How to detect a files character encoding

iconv is alright - except it’s sometimes hard to know in which encoding the file is I just got.

There is enca which promises to work, but I couldn’t get it working. I was looking for a simple tool that just outputs the encoding without the need of any parameters

Now the python module chardet comes to the rescue. Once you have git forked you can write this boilerplate python script “detect.py”:

#!/usr/bin/python
import sys, chardet
a = open(sys.argv[1]).read()
print chardet.detect(a)

after
chmod a+x detect.py
you can write:
./detect.py my_strange_file.txt

How to reset Jambox when bluetooth completely stopped working

I bought a Jambox about half a year ago. Sound wise it is great, but apparently it is not very stable, especially after recharging it falls into some state where it only utters static noise. In this state it still plays music over the aux cable, but not any more over bluetooth.

Read More

keyboard shortcuts in iTerm2 on OS X

I love having my terminal completely on the server, so I can connect from everywhere and just resume with all my windows.

That’s why I always work on tmux and my iTerm just has one tab.

That’s why I remapped e.g. cmd-t to “new tmux tab” and cmd-w to “close tmux tab”.

Read More

Python: easy way to show progress

I use this quite often to indicate how long a loop takes:

for i, entry in enumerate(entries):
  # do something
  print "\r%s/%s" % (i, len(entries)),
  sys.stdout.flush()

It shows
1/13
2/13

on the same line (similar to a progress bar)