For a long time I’ve been wanting to do this. Now I finally found the time.
I’ve been living in Berlin for exactly five years now. As you probably know this city was divided into two parts by the Berlin Wall from 1961 until 1989. Nowadays there are almost no relics of the wall anymore. For I live only a few hundred meters from the former inner-city border, often times when I wander around here I ask myself on which side of the wall I would be if it still existed.
For that reason I created West || Ost. It’s a simple web app for your mobile phone, and it will tell you if you are in the former Western or Eastern part of Berlin (or that you are not in Berlin at all) – nothing more, nothing less. I hope it is of use for someone else.
iOS users: add the app to your homescreen to see it in all its minimalistic glory.
It’s been over four months that I launched haz.io back in July. Four months is a long time in web development nowadays, and quite a lot has changed in the browser space. To catch up with that I gave haz.io an overhaul today. haz.io has made use of all available tests in the default Modernizr build. And Modernizr did not have an official release for a while. But a whole bunch of community add-ons have been contributed, and we are adding most of them to haz.io today.
For a few months now I have been a huge fan of Alfred, the super smart application launcher (and more) for Mac OS X. After having used Quicksilver, Butler and LaunchBar before, I now feel at home with Alfred.
With the latest release (0.9.9) came a long-awaited feature: extensions! Before you were already able to create custom queries – something like jq foo being translated into a URL like http://docs.jquery.com/Special:Search?search=foo that is then opened in your browser. And that was already cool. But now you can create custom extensions that trigger Shell Scripts, AppleScripts, Automator Workflows, etc. And it could not be easier. What’s even cooler is that you can easily import others’ extensions or export yours and share them with others.
I have recently created a few extensions for myself which I want to share with you here. Maybe there’s something useful in it for you.
Quite often I find myself looking at a browser I’m not 100% familiar with and wondering which of the fancy new HTML5 oder CSS3 features does it support. Does IE9 support SVG – or do I need to use a polyfill? Can I use the Geolocation API in Opera?
Until recently what I did was simply go to the Modernizr website because on the frontpage they had this table of features they are able to detect with their awesome library, and next to each a green checkmark if the browser you were using supports this feature.
Yesterday I was looking for a simple way to add a geoposition (latitude and longitude) field to a Django model without the whole GeoDjango aka django.contrib.gis hassle but unfortunately was not successful. The approaches I found were either too minimal, overloaded or outdated. So I came up with a simple solution myself.
While building this website I wanted to incorporate an overview of conferences that I’m going to. The data is already out there at Lanyrd but unfortunately there is no API yet. There are badges available to embed in your site but that didn’t cut it for me.
I then saw that they are offering iCalendar files on the calendar page (in the end it turned out not to be what I want because this data also includes conferences that I’m tracking and not only those I’m attending, but that’s another story). Maybe I could take advantage of this somehow using YQL. Turns out you can consume Atom, RSS, CSV, and tons of other formats, but no luck with iCalendar data.
So I sat down and put together a tiny web service that pulls in iCalendar data from a URL and converts it to JSON. Here’s how to use it:
I should have done this much earlier, but a few minutes ago I uploaded my first Django app to PyPI, the Python Package Index a.k.a. «The Cheese Shop». The app itself is nothing more than a simple tell-a-friend functionality that I extracted from some client project.
While writing the setup.py file (which was really easy in the end) I found this tutorial to be very helpful. The most exciting and surprising part was that python setup.py register is all you need to do to register the package with PyPI, and python setup.py sdist upload to create a source distribution and upload it. After that it’s only a matter of pip install django-tellafriend for anyone to install the app.
And as if that was not already enough new insights for today, I even created some basic documenation using Sphinx. Woohoo!
The app does not (yet) have its own page on this site, but the source is available on GitHub and on PyPI.
For a website I’m currently working on I needed a way to have an image and on top of that a text box with a partly transparent background color. I didn’t want to use any hacks with AlphaImageLoader and stuff but preferred a pure CSS solution. And I found a nice one, I think.
First, this is what the designer wanted it to look like:
The problem is the partly-transparent background of the tabs and the darker section with the inactive tab titles. For modern Browsers that’s just a matter of background-color: rgba(134,161,11,0.6);. But of course Internet Explorer is a bit late to the party and does not support this.
The main intention of this project is to cast an invisible layer of subjective, unauthored information on public space.
To achieve this, we hand out prepared «toolkits», comprised of an ultraviolet-fluorescent pen (UV-pen), a speech-bubble-shaped stencil, and an ultraviolet-torch (UV-torch). The UV-pen and the stencil function as the «authoring tool» while the UV-torch plays the role of the «imaging device». The UV-pen works in a way that allows for leaving a message on a surface, invisible to the human eye, until the message is illuminated with the UV-torch, revealing it fluorescing, temporarily visible to the human eye.
Equipped with the toolkit participants now tag, flag, or comment on things, spaces and places by invisibly but physically writing or drawing on them. Eventually the invisible layer grows into a secret parallel world, with messages potentially lurking in corners, comments unknowingly on display right in front of one’s face, subversively augmenting public space.