Text Editors on iOS →

Brett Terpstra:

This is a feature comparison of text editors on iOS. The information was compiled by the web community on an open Google spreadsheet. I cannot vouch for its current accuracy, but will be verifying everything as I’m able. It’s meant to help you find the most useful way to write, code or take notes for your personal needs. Every editor is geared toward a slightly different purpose, with their own strengths and focus.

Great comparison of text editors on iOS.

Is Spotify fair?

Ever since Spotify started there is a lot of discussion wether it is fair or not. I just found an article (German), that claims Spotify pays 0,41 cents per streamed song to the music industry. According to my last.fm profile I have listened to 218,380 songs since March 18 2006. If I would have listened to all these songs in the last six years on Spotify, Spotify would have paid 895.36 Euros to the music industry. That would be approximately 12 Euros per month.

At first sight this number seems quite low, but when we talk about All You Can Listen services we can not compare it with the number I would have spent if I had bought all the records I listened to in the last years, but rather how much I actually spent on buying music records. (How much money did the restaurant industry loose because we cook at home most of the time?) If I quickly look at my CD and record collection, I think that I probably spent 20 Euros per month on buying music. Of course, in some month I spent 100 and then there were times where I didn’t buy a record for six months. I think it is safe to assume that I spend a little less on buying records since I started subscribing to Spotify. In the firsts three month of 2012 I spent about 25 Euros on music. When I add the Spotify subscription fee 10 Euros/month that would be about 20 Euros per month.

You maybe think 20 Euros per month for music is low, however you should consider that for the most of the last six years I was a student. If you add budgets for concerts, apps, cloth, books and movies you quickly reach the amount I can spend per month on fun stuff. Sure, I could cut back on beer and cigarettes, but, …. Nevermind.

Re: Echt krass: Game of Thrones

Johnny Haeusler über die explizite Darstellung von Gewalt in Game of Thrones:

Horror soll Horror sein. Schon klar. Doch je mehr ich davon in einer TV-Serie sehe, desto weniger Empathie empfinde ich für die Opfer. Denn ich gewöhne mich an den Horror, etwas anderes bleibt mir auch kaum übrig.

Vielleicht ist es nur bei mir so, aber ich sehe das genau umgekehrt. Wenn ein Charakter von einer scharfen, kräftig geschwungenen Axt am Kopf getroffen wird, tot umfällt, aber abgesehen von einem bisschen Blut das ihm aus dem Mund läuft keine weiteren besonderen äußerlichen Verletzungen aufweist, dann ist das für mich Verharmlosung von Gewalt. Sehe ich stattdessen den zerschmetterten Kopf des Getöteten, dann sehe ich welche Auswirkungen so eine Axt wirklich hat.

Persönlich musste ich bei Game of Thrones einigen Stellen wegsehen, da es mir zu grausam wurde, aber durch die gezeigte Brutalität wird einem auch die tatsächliche Brutalität in einem Kampf um Leben und Tot bewusst. Wenn ein Familienmitglied vor den Augen des Charakters grausam umgebraucht wird, erhält der Schmerz den dieser empfindet ganz neue Dimensionen.

Dieser Text würde sich wesentlich leichter lesen lassen, wenn ich spoilern würde. Aber ich bin nicht so gemein.

Game of Thrones Season 2

Joffrey "The Asshole" Baratheon

Finally. I waited for eight long months and yesterday I could finally watch a new episode of Game of Thrones. For those who don’t know the show and the books (A Song of Ice and Fire by George R. R. Martin), it is a story placed in a fictional world, where seven kingdoms are ruled by one king and everyone tries to gain power. Although I read all five books during the summer, I hardly could await the new season.

The great thing about Game of Thrones is that you are playing the game of thrones together with the characters. At each point in the series you have a favorite character and while watching (or reading) you are trying to figure out how this character could win. However, this can change any time. Some die, some become assholes, while other characters find their way into your heart relatively late in the series. You think you know how a character will act, but suddenly he throws family and duty over board, falls in love and acts insanely stupid. Of course, you also have outsiders, that suddenly raise to power. But you never know when they will fall again.

While reading the book I often thought that it was not written for television. Main characters, the ones you think will play an important part in the rest of the story, suddenly die and others appear. It is probably not world literature, however they where certainly among the most entertaining books I have ever read. The bad thing is, since the new season started, I thinking about the story all the time and now I can’t wait to read the next book. Sadly, for the last two books George R. R. Martin needed five respectively six years. I WANT TO READ THE WINDS OF WINTER NOW! Why it is so hard not being able to read a book?

Proposal: Move Media Queries from CSS to HTTP

Martin Wolf in reply to my reply to his earlier post on Bandwidth Media Queries:

So I could show a small image on an iPad 3 which is on LTE, but a big double sized image on an iPad which is on wifi.

I still believe Bandwidth Media Queries are a bad idea, but I do believe that bandwidth is an important factor in the user experience. However, I think that detecting the bandwidth is a wrong solution for a right problem. We want to provide content that fits and loads fast on the users device and network. As I mentioned in my previous article, in practice it is not possible to determine the real bandwidth the user currently has, we can only estimate it by detecting the network the user is currently on. Martin mentioned that he does not want to mess with the users data limit. This might be a problem in Germany and some other countries, but if I am in Austria and have a good 3G connection I want to view the full image, not a shitty JPEG with 50% compression. If you truly want to serve the best image for each device and connection you have to do something like this:

  • (country: 'de') and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 2) and (max-bandwidth: 15Mbps) { // shitty JPEG with 50% compression }
    Retina iPhone in Germany on a 3G network.
  • (country: 'at') and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 2) and (max-bandwidth: 15Mbps) { // good JPEG }
    Retina iPhone in Austria on a 3G network.

You have to repeat this for mobile devices without a retina display, for iPads, for iPads with retina display, for notebooks, for notebooks on a 3G network and so on. Probably you will end up with hundreds of different media queries. That is not practical.

As a web developer I do not even want to deal with the display size of the device and I want for sure not have to deal with the bandwidth the user has and the network the user is on. That is like developing web applications in C instead of PHP or Ruby.

Here is a proposal:

CSS seems to me the wrong place to deal with hardware related features. I suggest: Remove media queries. Instead of media queries add native support for grids to the standard. Additionally there should be properties to define how the layout should be resized. For example, there could be a property to define that it is ok to display this column beneath the previous one if the device is to small to display them side by side.

Second of all, we should move the part of delivering the right image to the web server. If devices would send a HTTP header like X-MAX-WIDTH: 640px the web server could determine the which image to serve. It could even dynamically call a tool like ImageMagick or a PHP or Ruby script to resize the image. This is very similar to the Adaptive Images technique, although instead of hacking it together using cookies (which breaks if the browser prefetches images) it would be supported natively and therefore it would work. One small problems remains, that if an user opens an image explicitly in the browser he probably wants to view the full version, not the version optimized for mobile devices. Therefore the browser should additionally send a X-EMBEDDED: 1 header which signals if the image is embedded in a HTML page or requested explicitly.

I don’t like media queries because it requires me to deal with low-level hardware stuff instead of creating a great user experience on every possible device. As a developer I can not test and optimize my website for each new phone or tablet. Thus I want to be able to trust the browser vendors that my website will look great on each new device the produce

Bandwidth Media Queries

Chris Coyier:

That issue is: bandwidth. If I’m in a place / on a device that has super slow internet, I’d love to be served a very light web page so browsing is still acceptably fast. If I’m in a place / on a device that has super fast internet, by all means ratchet it up and deliver me more.

Martin Wolf:

But even a picture tag, which could deliver different files for different screen sizes would be a step forward. Yes, there are Javascript solutions for that, but it is not perfect and it would be better if there was a simple HTML solution.

First of all, JavaScript is not really a solution for serving different image sizes. Any solution that I currently know of needs at to download at least the smallest version in addition to the appropriate image. A very clever solution which nearly worked is described by Mat Marquis.

My problem with bandwidth detection is that it will never be really accurate. In its simplest case the browser would just send the speed of the network the user is currently on. However, I can be on 3G but since I am also currently updating a dozen of iPhone Apps, I don’t really can surf using 3G speed. If the browser wants to detect the real bandwidth I currently have, it would need to download some Megabytes and measure how long it takes. Since my available bandwidth can change quite often, he would need to repeat this on a regular basis. Thus it would use a quite big amount of my network just to detect my bandwidth.

This seems to be a lot of work for a feature I can’t come up with a single use case where this would be absolutely necessary. I still need to detect the screen size and ratio (has the device a retina display?) in order to provide the browser with the correct image. Of course I would be able to serve, for example, two different versions to mobile clients. One JPEG with 60% compression if the user is on a slow connection and one with 90% compression if the user is on a fast network. However I am quite sure that only a small minority of web developers will go through the trouble creating even more different versions of an image. If only very few web developers would use this feature, it seems like a bit of overkill to detect the real bandwidth (and therefore use up my monthly download limit) just to improve the quality of these few sites.

Microsoft employees seize Zeus botnet servers with the help of US Marshals →

Jeff Blagdon:

Accompanied by US marshals, Microsoft employees raided office buildings in Scranton, Pennsylvania and Lombard, Illinois on Friday; seizing servers believed to be running botnets used for identity theft. The botnets are infected with the Zeus family of malware, which uses keylogging to go after a user’s financial information. Microsoft is reporting 13 million suspected Zeus infections worldwide since 2007, with more than three million just in the US.

Am I the only one who finds it scary that a private company is able to raid a building and seize servers?

How I Became a Developer

It all started when I was eight or nine years old and my parents allowed me to invest all my savings into a computer. Just like nowadays I was only interested in cutting edge technology therefore I bought an Intel Pentium with 100 MHz. I spent the rest of my money on games, but my father also bought Microsoft Office and a printer for himself. After a while my father was the only one playing the games while I started creating magazines using Word or calculating the popluation of my LEGO town using Excel. I also printed out these magazines and sold them to my parents and my relatives. A few years later Microsoft added FrontPage to their Office Suite and I immediately started to create websites. Having an ISDN flatrate I spent most of my free time in the internet.

At some point I discovered that it’s necessary to upload a website on to a server in order to allow other people to access it. Once I figured this out I had to realize that nobobdy was interested in the life of a 12-year-old.
Well, with the rise of social networks this definitely has changed but back then the counter I embedded in my website only increased when I visited it.

There was no doubt that I had to find some other reason for creating a website. Usually I was playing Pokémon on my GameBoy when I was not sitting in front of the computer. Obviously I needed to create a Pokémon fan site. Since a lot of other people were also interested in Pokémon the counter was constantly increasing. At some point my site had hundreds of subpages, all of them created in FrontPage. Everytime I needed to add a new item to the navigation I needed to change all of these subpage. That was the time when I discovered PHP. I never heard of programming before and the fact that I was able to dynamically create the content of a website was fascinating me.

After Pokémon I really was into Japanese comics and cartoons so I ditched my Pokémon website and started an Anime and Manga fansite. Sometime before I met a German kid on a forum and we decided to build the website together. The amazing thing was that we never met each other, we didn’t even know our real names or what we looked like. I only knew his nickname and we would communicate using AIM or ICQ. Throughout three years we built different websites together and at some point we would have thousands of visitors per day and hundreds of new postings on our message boards. Building a website which other people visited on a regular basis and where they participated in discussions was an amazing experience for me. Of course, at that time we didn’t know how to run a website professionally and we never earned a Schilling with it.

Still, I learned a lot. The first version used two “include” statements to separate the header and footer from the rest of the layout. In the end we had created a full featured, custom CMS, which allowed us to edit TV programmes, create news and articles and upload images and videos. I even developed a custom web analytics software which was used by dozens of other fan sites.

I never learned programming because I wanted to learn programming but rather because I needed to learn programming in order to create the things I wanted to create. Looking back at the projects I did at that time I realized that private projects where much more sophisticated than projects I created for clients. This has changed in the last few years as I became more professional in dealing with for-profit projects, especially since I now work as Developer in an internet company. Nevertheless, one thing will always remain true: I am driven by passion, not money.

First Days of Spring

Schlosspark Schönbrunn

Der wahrscheinlich einzige Vorteil in Meidling zu wohnen ist es, in 5 Minuten im Schlosspark Schönbrunn zu sein. Recommended listening: Noah & The Whale — Last Night on Earth (Play in Spotify).

Betreten der Grünflächen verboten

Anstatt die Grünfläche zu betreten, belag ich sie

Haar & Himmel

Teich und Himmel

Lässig (mit zersaustem Haar)

Lieblingsmädchen

Hipstermädchen

Schattenmädchen

Noah & The Whale

Schokoladeeis und Erdbeeren. Mjam.

This is my blog and I will use it to try things out and improve my skills

Since some time now I wanted to start writing more in English. I like to believe that I’m quite good in reading and understanding English texts. For example, whenever I think about technology and Computer Science related things I already phrase my thoughts in English. Nevertheless, I often encounter situations where I think in German and then need to translate them into English in order to write them down. I want to be able to think and write in English without needing to translate every word and without making too much mistakes. At first I thought about starting a new blog and continue to write Web Adventures in German. I also considered writing all future posts here in English, but for now I will write some future posts in English and some in German. You may don’t like this dual language strategy, but this is my blog and I don’t care.

If you encounter any mistakes in my texts I would appreciate it if you let me know. Either write a comment or send me an email ([email protected]).