Leaving Wordpress, PHP and MySQL

Published on:

Dear wordpress. I'm saying goodbye to you. It will take some time to migrate but I already managed to import all your posts into a new and shiny database. I even managed to wrestle with MySQL encodings to get it all to UTF-8! Here is how: First of all MySQL had latin1 as default character set. Now wordpress didn't care and wrote utf-8 bytes into MySQL which didn't care either and happily accepted the UTF-8 bytes. Now when I dumped the DB my shell was set to UTF-8 and so MySQL thought, well - got latin1 here - better convert it to UTF-8, although the tables already contained UTF-8. This is called double encoding and is a common issue when dealing with MySQL / Wordpress. So I dumped the db like this to prevent MySQL from doing any more encoding / interpretation.

mysqldump -u root -p --opt --skip-set-charset --default-character-set=latin1 --skip-extended-insert dbname > dbname.sql
Then I searched and replaced the dump and substituted »DEFAULT CHARSET=latin1;« with »DEFAULT CHARSET=utf8;« Now I imported the dump and MySQL set the tables to UTF-8 but still tried to convert it to UTF-8 which produced another double encoding. The only thing that helped was logging into the mysql shell and repeating the following three steps for all affected tables and columns *sigh*:
alter table wp_posts modify wp_posts.post_title longtext character set latin1;
alter table wp_posts modify wp_posts.post_title blob;
alter table wp_posts modify wp_posts.post_title longtext character set utf8;
Now I had a proper UTF-8 MySQL Wordpress data set which I could import into my new blogging engine. So here is a nice big F*** YOU MySQL once again. I don't really blame the early wordpress versions which failed to take care about mysql encodings - it just reflects the general spirit and quality of PHP projects. Also A BIG THANK YOU for this blog post: http://www.blueboxgrp.com/news/2009/07/mysql_encoding Without that it would have taken years to debug it.

IPv6 is there, everybody is waiting for you

Published on:

Preface

For a couple of years now, people are scared of running out of oil because when it does it means big change for almost the entire population of earth. Similar to oil, another resource will experience a massive shortage soon. At least that is what we are told. Compared to oil however it is already hard to get new IPv4 addresses. The good news is that there is a replacement called IPv6 and there is so much of it that »there are approximately 6.67 * 10^27 IPv6 addresses per square meter on our planet«. This replacement now exists for over ten years but still the adoption among providers and users is almost insignificant. I assume this is because the internet still works as it has been for the last two decades without any noticeable consequences for most of the people. They are accustomed to the »little« drawbacks of being behind a NAT. They know that for some reason they don't get the »real« internet at home through their dsl connection over their little plastic router. They accept it that file transfers over instant messaging do not always work, that their peer to peer transfers are slow or unusable and that they cannot connect to their working station at home when they are at the office or on a business trip. So did I but a couple of weeks ago I decided to stop ignoring these issues and to do something about it. The theory is simple. Since there are so many IPv6 addresses available, every one can have one, or to be more accurate 4.86117667029912… x 10^28 which is obviously more than anyone could even think about. This make things like NAT obsolete. Everyone can have tons of real, globally accessible IP addresses which will eliminate all these issues mentioned above and many more. If you will most of the people will get »more« internet than they were ever able to get, even in the early years when there was plenty of IPv4 addresses available. But there is really no need to use the future tense here because you can be part of the IPv6 internet right now and you really should. Since I already mentioned why it is a good idea, I want to talk about how you can do it.

Prerequisites

To use IPv6 you really don't need that much and the most important thing you need is a computer running a moder operating system. Anything newer than Windows XP Service Pack 1, Mac OS 10.2, FreeBSD 4.0, Ubuntu 4.10 will work. The second important thing you need is a IPv6 provider. Some of us are lucky to have an ISP which already enabled IPv6 for its customers but most people are still only given IPv4 addresses. If your provider is already IPv6 ready you really don't have to do anything else. It seems as if many ISPs will enable IPv6 by the end of the year but its almost certain to say that there will be many left running IPv4 only. So if you have an ISP without IPv6 you don't have to stop here. There are quite a few official transition techniques to give you IPv6 even if you are on an IPv4 only network. Most if not all techniques use so called »tunnels« to give you IPv6 encapsulated in IPv4 and its not as bad as it sounds. In fact this is the most common way for IPv6 distribution today.

How to get IPv6 on a IPv4 network

If you own a recent (as in one or two years old) Airport Extreme base station from apple and you have it directly connected to you dsl router or cable modem there is almost nothing you have to do because Apple took care of that for you. Their base stations use a IPv4 to IPv6 transition technique called »6to4« The good thing about 6to4 is that there is very little to do to get it running. In fact all you basically have to do is to enable IPv6. You then have to configure an IPv6 6to4 gateway which has the address 192.88.99.1. This is an anycast address which means no matter where you are, when you connect to that IP, you get the 6to4 gateway which is closest to your current location. You can try that by tracerouting that IP from various locations:
traceroute 192.88.99.1
Once you've done that you get a IPv6 address based on your current IPv4 address and you are ready to go. Not only can you connect to IPv6 hosts but others also connected via IPv6 are able to connect to your machine, no matter if you use a dynamic IPv4 address (e.g. via adsl, cable or dial up) or a static on (e.g. university network, company network, server). This is the same thing the Apple Airport Extreme base stations uses. There is another tunneling technique which allows you to have IPv6 no matter where you are and no matter if there is an Apple base station around you or not. For that you have to explicitly setup a tunnel which connects you to a so called »tunnel broker«. The most popular seems to be SixXS but there are others available. You can get a tunnel for free but the setup requires a lot of interaction with the broker compared to the easy 6to4 setup. However it usually takes only one or two days until you have a tunnel requested and setup. Now you can run a tool which sets up the tunnel, either manually or as a daemon and voila you just got IPv6! When it comes to servers its also pretty simple. Either you ISP offers v6 which more an more do or you can get it easy via 6to4. As an example these are the lines you need to add to /etc/rc.conf on a FreeBSD machine to set up 6to4:
ipv6_enable="YES"
cloned_interfaces="stf0 lo1"
ipv6_ifconfig_stf0="2002:f222:cef7::/48 prefixlen 16"
ipv6_defaultrouter="2002:c058:6301::"
ipv6_ifconfig_bge0="2002:f222:cef7:c:: prefixlen 64"
Not that bad right? Next: get your web servers, ssh daemons, name servers IPv6 ready if they are not already. Lots of packages come with IPv6 support enabled by default now but if something isn't working when you use the v6 address explicitly then check if your ports and packages need an update. Now the whole point of all that is to significantly increase of IPv6 usage to accelerate deployment on the ISP side as they put more effort behind it the more it is used. Get your name servers to listen on your new v6 addresses, create AAAA records for your hosts so that people already using IPv6 can access more and more resources through it without having to fall back to good old IPv4.

Evangelize!

Once you have taken care of the IPv6 connectivity your own machines, go out and tell others about your experience. Write mails to your favorite websites (twitter.com, github.com, google.com), ask your provider about IPv6, or even better, demand it! Point them to this article: »Deploying IPv6 is vital to the continued development of the Internet«. Help them by sharing your migration experience and knowledge.

Why?

Most of the articles in the web only say »BECAUSE IPv4 ADDRESSES WILL BE DEPLEATED SOON!!!!« but they completely forget about all the benefits you can get with IPv6. You can: Also think about things you can do with every computer fully connected to the internet in terms of distributed systems. It could allow alternatives to the classic server - client relationship, enabling and simplifying distributed file systems, distributed knowledge bases like a distributed wikipedia, distributed chat and p2p systems etc etc. I know its an unpopular term in some circles but I think that cloud computing really starts to make sense that way. Don't just look on the IPv4 shortage as only reason to switch to IPv6, think about all the benefits and free your brain of the old IPv4 / NAT limitations! Closing Thoughts I strongly encourage all of you to get involved with IPv6. Either by using it as end user or as a system administrator by providing / exposing more services via v6. Read about it, play around with it enable it. Its quite different to IPv4 which we are all more or less used to. It took me a week or two to wrap my mind around it. It takes time to understand how to create v6 DNS records etc etc. But as far as I can tell its totally worth it as it is giving back qualities of the internet that were almost forgotten. My personal mission of enabling IPv6 on all host which are under my control goes on. So far I've enabled it for an entire faculty of the UdK Berlin via 6to4, also enabled the autoconf feature for all student computers within the building. You get there, you get v6. I configured v6 on most of my servers and began to create AAAA DNS records for all the hosts (there are many of them so I'm far away from being done). I also enabled a couple of web hosts but this is work in progress. I will report once I'm done.

smyck.org on IPv6

Published on:

I'm pleased to announce that all web hosts running on this machine and especially in this jail are now serving content via IPv6. Please try to browse this blog via http://[2002:50ed:991c:50ed:c411::]/ to explicitly request the v6 version. Report any issues you might have.

New year new software

Published on:

Just threw away all the installed ports on smyck.org and started from scratch and got rid of all the software jungle that grew over the years and was close to be unmaintainable. Also I wanted to make sure that _all_ the software involved was IPv6 ready. As expected setting up PHP5 was the biggest pain so far. More soon

MySQL - nie wieder! (wenn ich nicht muss)

Published on:

"hey wir sind mysql und wir können alles aber alles irgendwie nur so n bisschen und auf jeden fall nicht standard konform. jaaa unicode aeh utf-8 aeh oder sowas ähnliches können wir auch aber nur wenn du durch drei reifen springst und die richtigen 23 optionen setzt denn ansonsten tun wir so als würden wir utf-8 machen aber wenn du doch mal etwas funky characters reinsteckst - aeh dann sei nicht böse wenn wir das für nen invalid string halten" und ich so: sudo port install postgresql84 ne?

Tired of wordpress or even blogging?

Published on:

I think I'm going to shut down this blog. Tired of these wordpress security issues. Tired of the wordpress interface too. Somehow it gets worse every upgrade. I just need a lean and clean blogging app not a content rich media publishing platform …

Link collection about version control systems

Published on:

Recently I was talking about decentralized version control systems in a german podcast show. For preparing myself I read a lot of articles on that matter and I thought it would be useful for others to share the URLs I stumbled upon.

Metaclasses in Ruby Part II

Published on:

Thanks you "The Ruby Programming Language Book" and why the lucky stiff and his poignant guide to ruby for clueing me in. Again - consider this a note to myself or as practice. http://gist.github.com/84216

Metaclasses in Ruby Part I

Published on:

This is mainly an exercise for myself. Nothing new here. Just a place for me to keep all that in mind. http://gist.github.com/84205

iPhone - The first 7 days.

Published on:

Actually I didn't want to write about the iPhone because I was sick of this whole hype. It was almost like in the movie »Being John Malcovich« when John Malcovich enters his portal and all he can say or hear is his name »Malcovich«

»i'm sick of these iphone news - i want mac and mac os x rumors and news. come on - one day without any iphone news please!« via twitter
Now more and more people around me got themselves an iPhone and there were plenty of occasions for them in the last couple of months to show how cool this device really is. Still I had doubts, touch keyboard and everything but right from the introduction of the original iPhone it was clear to me that it was superior to any other device out there. I'd like to point out that it was clear to me. I'm well aware of other opinions from other people but I don't care about those for this post. At the 25C3 (25th Chaos Communication Congress) even more people showed off with their iPhones which lead me to the spontaneous decision to buy one for myself. This is how it happened. The salesperson was very friendly and the whole setup wasn't taking too long. Since that day I'm extremely happy with it. I have to say though that I was not using any kind of internet service on a mobile phone before. It seemed kind of wrong on my previous phones and I didn't see any potential use for it on other available devices. It reminded me on the story about my very first computer. Back in 1994 when all my friends had Amigas, C64s, Ataris or even Windows 3.11 machines, i couldn't see any potential use for me. Sure enough they were good for games but even the games were kind of, uhm bad. There were exceptions but for me it just wasn't worth spending so much money. Then one day, my best friend from school (probably 4th or 5th grade) got the first PowerMac as a christmas present. We spent lots of time together and sure enough we did spend a lot of time in front of his mac as well. It was instantly clear to me that this computer, this operating system was really something good and way more sophisticated than all the other systems I mentioned before. Hell it had 1024x768 resolution and 16 Bit colors where all my other friends were still in the Vesa/VGA world. It was clear to me that if my parents would buy me a computer, i had to be an Apple Macintosh. While all my other school friends spent their time playing dull little computer games, my friend and I would create a small school magazine, created graphics for school presentations and played with Macromedia Director to create foolish little adventure games of our own. A whole different story. In a way using the iPhone feels the same. There are a lot of people with Blackberries or Nokia Communicators etc. For some reason you don't see those people using it for anything other than writing emails, sending sms, calling people, managing addresses. In rare occasions you see them actually browse web pages. If you held one of these devices in your own hands you know that it is no fun to use them - everything is in this »serious business« theme. I don't know how to describe it, I just have the feeling that the iPhone is the complete opposite of every other device out there. It is fun to use, in every aspect and emailing, phone calls and sms are probably the most normal things you would do and I mean it in a way that you do it when you have to do it but there is so much more on this device that you can do. Things you want to do, things that I haven't seen on other devices and if I've seen them the differences were like comparing Photoshop and Paint although thats probably a little exaggerated. On the other hand - have you seen the illustrations / drawings that people do with an app called brushes on the iPhone? http://www.flickr.com/search/?q=iphone+brushes&m=tags or Disneys Art Director: http://flickr.com/photos/stefsketches/sets/72157607051336347/detail/ And that is really just one aspect of this device out of a million. All the apps Apple is shipping a very good. Much higher quality and usability as any other windows mobile counter part. The interfaces are just beautiful, as if they were made just for your fingers to touch (as a matter of fact they are). I'm kind of laughing at the people who are using their phones with a stylus. The other part I really like is the app store. Call me fanboy but I think the user experience to get new apps is very good. Of course there is lots of room for improvements but again, its working very well. I already bought a couple of apps and I downloaded bunch of free ones. The process of installing (once you set up your store account *sigh*) updating and uninstalling is so smooth its completely effortless. The apps themselves, as well as the games are usually a lot of fun. Of course there is a lot of crap too but I already found so many good or fun ones, I really don't care if 100.000 people freak out about iFart. I got my iPhone for about a week now and it already helped me in a handful of occasions with its location aware features or the UMTS/EDGE connectivity in combination with a really good web browser or other apps. I'm really happy with it and no matter if the Android will be on the same level or better - for now the iPhone feels far superior to any other device. The touchscreen, the user interface, the applications and the games. (Yes I had the Android in my hands for a couple of hours. Yes I tried couple of applications, pre-installed and downloaded ones) In the end I have to admit that I am not entirely sure about being completely in this Apple vendor locked in world. I look at it carefully but its hard as it is working so smoothly and bringing me so much joy, joy I really haven't anticipated from a mobile phone with a touch screen interface. Not sure if a post like this can be taken seriously, but I was so happy that I needed to write about it. Mission accomplished, like it or hate it ;) Update 1: A friend just told me that this post was 18 months too late - I'm aware of that.

Rails on Windows

Published on:

The new year has just begun and I'm spending the last couple of days of my vacation. The last three weeks were my first real vacation since march. For the last 9 months I was busy building a website for an international corporation with ruby on rails. I thought I should share some of the experiences we (the entire development team) made. For anonymity purposes I will call this project miracleCMS2.0. This post is about rails and windows, or deploying rails on windows. When the project started it wasn't really clear what technology would be involved. When I joined the team, Zope was chosen to build the new customers website and content management system. The only problem was that there was nobody in this company with deep knowledge of the Zope framework. To make it worse, there wasn't any real web developer either. My knowledge of Zope was so limited that I wouldn't be any help as well. Needless to say that the timeframe for this project was so narrow that chances for getting it done in time were close to zero with any framework or cms. Based on very good experiences from recent projects I made a pitch for rails as base technology and after some internal presentations and meetings it was agreed that we would use it. There was only one problem. The customer had a homogeneous Microsoft environment, which meant Windows 2003 Server, MS SQL Server and IIS. We all know that rails isn't famous for working smooth on windows, many of us tried, many of us gave up. We tried to convince the customer to give us a linux/bsd virtual machine in their Microsoft world but they refused. After a couple of days it was clear that we would have to deploy on windows no matter what. Windows alone scared us but MS SQL Server and IIS really made us reconsider our rails choice although it wasn't based on first hand experience. Anyway, it was too late to go back. We started internally on linux only, of course with mysql as db backend. We hired another guy who was only there to figure out how to run our rails app on windows and after a couple of weeks we had a capistrano task to deploy from our linux / mysql machines to the windows / ms sql machines. We chose to try it with IIS and Pen as a load balancer for a couple of mongrels. We also installed the ISAPI rewrite module so we could rewrite requests to the Pen load balancer and to the mongrels. For the first hours it seemed to run. That alone was a success. We managed to make a capistrano task that would deploy the software, the data and interact with the windows machines, restarting services and everything. At least that was what our first euphoria was suggesting. After another couple of hours the whole setup broke together like a card house as the Pen load balancer would stop working once in a while. The IIS itself stopped working too because the ISAPI rewrite module didn't rewrite properly or the whole machine was just so busy with doing nothing it couldn't do anything else. Now the customer insisted on his Microsoft software as he payed so much money for license fees and all and so we invested hours, days and maybe even months to make it work but if we got some part working, another one would break apart. The whole setup just felt unstable. One day I had enough and installed Apache2.2 on one of the windows machines as a proof of concept. Apache comes with mod_proxy and mod_rewrite which just eliminated two (or three if you count IIS) of the fragile software parts right away. To make this short - it worked right away and without any issues. Over the next days I told my colleagues that I installed apache and how much smoother everything was running and as much as they liked the good news, they new how bad the news for the customer would be. Fortunately, the customer was also pleased with the new stability and found acceptance for the apache setup over the next couple of months (yes - it was a process). The MS SQL was also an issue of course as you wouldn't get real utf-8 encoding and other quirks but these problems were mostly manageable but they costed a lot of time and money. Actually that was the one big lesson of deploying on windows. It costs a lot of time and money to make it work. It slows your development down, massively. Thats why I'd like to postulate the following advices: If you want to use rails, do whatever you can to convince the customer not to use windows. If you fail at convincing your customer not to use windows, try at least to get a virtual machine with linux to run the web server on If that fails too, try to convince him not to use IIS but Apache. Try also to use PostgreSQL or MySQL instead of MS SQL As I said, if you fail at one of these steps, you will have so much pain, so much waste of time, money and resources for making _everything_ work in a smooth and performing way. Besides that you'll get deeply frustrated! I mean there are solutions, blog posts and stuff but you have to patch them together and most of them are for specific software versions, some google results point to non existent pages, promising forum threads have nothing but more questions, the plugins you could use were abandoned a long time ago and make everything unstable. Oh and I forgot to mention the windows clean install after you messed up the first time. I don't know if I have to say more but maybe previous experiences with Cygwin ring a bell. You'll just end up with a pile of software and configuration that wasn't meant to work together. Get as far away from it as possible! Seriously! Not fun! Having a ruby installed in the Windows and Cygwin world … *shiver* Our project currently runs on Windows2003 Server with Apache 2.2 with mod_rewrite, mod_cache and mod_proxy and does so pretty fast and stable. The db server is a MS SQL machine. Until something fundamentally changes, I hereby swear not to deploy a rails web application on windows again.

New Mobile Phone Number

Published on:

Got myself a new phone and a new contract. So from now on please consider all mobile phone numbers you have from me as invalid and update your address books with that one: +49 (0) 151 240 67 434 If you haven't got received an SMS with a similar announcement, it is likely that I don't have your current number. KTHXBYE

rm -rf /opt

Published on:

I'm a heavy macports user. I've installed tons of ports and for a while now, I was under the impression that macports matured enough to stop worrying about potential dependency nightmares. Basically macports already felt like the FreeBSD ports collection. Sure, there are b0rken portfiles now and then but thats ok. As I said - I already had a huge collection of ports installed and updated and everything was fine. Until yesterday. When you have that many ports installed, the command line interface can get a little messy which is why I thought: » Hmm, aren't there any good GUI tools out there for managing macports? « The only thing I found was Porticus (no, I won't link to it - for your own safety). It basically promised nothing more than a decent GUI. Well in a way it even did but as you might know, there is this (unwritten?) law: » Thou shall not use a GUI wrapper for a command line tool « So I broke this law. I used Porticus to update some ports, I clicked some options which seemed right at the moment and only one hour later I found my whole macports installation disrupted. It started out real simple. All I wanted was to install apache2 which needed the port uuid. Now I already had that, but in the wrong version. Now macports wouldn't let me update that port that easily but instead of reading the macports help, I fired up Porticus and said: » Well, just update what you need to update, so I can have apache2 in the end hmmkay? « What porticus did was upgrading _all_ ports because in a way, every port can be linked to some other port. » You want apache2? You need uuid, but then you'll have to update postgres as well and uhm yeah somehow openssl and gnome. You said I should update what I need to update. « Now this would be fine, in a way, but all the updates failed for some reason. Porticus didn't stop though and went through the whole dependency chain do break all the other ports as well. Now there might be even an explanation for all this. Maybe its not Porticus'es fault at all. The thing is though, when you use a GUI tool which doesn't give you _all_ the options of the command line tool it is wrapping, nor does it give you proper explanation of the options it exposes, you end up clicking on checkboxes you shouldn't have clicked. If I had uesed the commandline tool, I would've read the man page, I would've read all the explanations for the various options and I could've picked even the right ones, based on this information. So in the end, I rm -rf'ed the whole ports directory and started over. I already got half of my work related ports installed. Hoorray! » THOU SHALL NOT USE GUI WRAPPERS FOR COMMAND LINE TOOLS « If you do it anyway - there is no point of being angry if something went wrong. You should be prepared for this moment and take it with dignity. Your co-workers and friends will thank you.

Beep Beep

Published on:

Just upgraded to the most recent wordpress as I intend to write more than 140 characters soon. Maybe. Wasn't sure if I should abandon this Blog. In the last couple of days though, I thought I might be in the mood again. In the meantime I got hooked on twitter which was just what I needed on my current 10to6 job (follow me: @hukl). Now as the current project is getting closer and closer to the finnish line, I am planning to share all the experiences. I've read through so many blogs, manuals and api's that I have to contribute something back. Read you soon - If anyone is still out there!?

My new Textmate Bundle

Published on:

Pops up a dialog asking for a search query, then runs grep on the selected dir in the project drawer and shows the results in a HTML output window with the search query highlighted. Just have a project with 8000 files in it and TextMates » Find in Project « command is just too slow and I'd have to clear the logfiles before that. With this bundle I can use grep which seems a lot faster and I can ignore logfiles and svn meta data files. Have to make this bundle a little more customizable and prettier but for now it does the job. The command line equivalent would be: grep -r "query" -n --exclude=\*.svn\* --exclude=\*.log\* /your/path/ Credits go to: Andreas Marr for giving me the grep command as it is used in this bundle.

Screenshots

DialogResults

Bogosort in ruby

Published on:

Yesterday, I stumbled across the Bogosort sorting algorithm. The example implementations looked horrible so I tried to implement it in a short and readable way, in Ruby of course. Here is my first and only attempt of a Ruby Bogosort.

# Use: ruby bogosort.rb a b c

def sorted
  for i in (0..$array.length-2)
    return false if $array[i] > $array[i+1]
  end
  return true
end

$array = ARGV
$array = $array.sort_by {rand} while not sorted
puts ">>>>>>>>>>>>>>>> #{$array}"
You can find the Java implementation on the wikipedia page:Bogosort Here are other C, Java and Python implementations: http://www.algorithm-code.com/wiki/Bogosort I wonder if the C and Java examples really have to be that long.

Web Applications

Published on:

After being in a radio show (german) about web browsers recently and reading all that hype about client side web applications, I got more and more thinking. I can't see really the use case now and I wonder if I'm that alone with this opinion. But let me explain my thoughts on it. For now there are several kinds of client side web applications. There are text processors, photo managing tools, presentation slides editors, spreadsheets etc etc. But is there a real use for them. Personally I'd rather have my text processor on my hard disk, I'm also not processing my camera RAW pictures in a web browser and so on. For all of these serious tasks there is already software exactly suited for the job. Its hard to imagine that one day an online text processor would outperform Word, Pages or even editors like Textmate or Eclipse. There is also no real advantage to do these kind of tasks within the browser. Even the software, although it is distributed directly through the net, is practically on your hard disk and the whole purpose and the recent efforts are about making these web applications run in your browser even when you're offline. So your work is kind of stored on your machine within the browser context, the software you're using is on your machine and you don't even have to be online to work with it. It just doesn't sound like a web application. The whole point of doing something in the web is to connect people and information. There were plenty of implementations of Hypertext prior to its premiere in the world wide web. Bringing this concept to the web also brought a very useful extension. Rather than creating local hyperlinks only you could set hyperlinks to completely different servers across the whole planet. You could connect information that was impossible to connect before. The web is also a lot about communication these days. Look at these endless lists of online communities or projects like twitter. Its about connecting people, sharing and distributing information. A word processor simply doesn't make sense within the web context without making explicitly use of these features of the web which I just mentioned. Now managing my photos online only makes sense if I want to share them. Flickr is the perfect example for that. You have a very good chance improving flickrs user experience by using frameworks like the recently hyped sproutcore to make everything look like serious application environment but it is only an enhancement to a service that had no desktop equivalent before. Webmail is kind of the same story, told from a different angle. There are a lot of desktop mail client applications. Still there are also a lot of webmail interfaces out there. GMail is probably one of the most famous ones as its making heavy use of client side javascript to make the whole interface feel like an application rather than like a website. Webmail has several reasons why it exists. You need webmail when you travel without your own computer and you want to check mails. But that is only because your mails are online. You have to go online to work with the medium mail. So when there is a web application that is more or less cloning an existing desktop application without adding capabilities that are unique to the web environment, it is completely useless. Why I create my presentation with a 10 times slower version of keynote online? Why would I edit my photos online where I have limited tools and therefor limited possibilities? Why would anyone re-implement the Desktop itself in a web application when it has no features could really need? Check the EyeOS Website. I mean hello? When I read about it I imagined a person who doesn't have a graphical operating system but wants to have a desktop like look and feel on the screen. This person than decides to install a browser in order to use EyeOS's web based desktop. Thats the only use case I can come up with. They've entirely forgotten what the web is and what it is good for. In the end your favorite web application is currently not available due some stability or scaling issues or maybe both. Now you're sitting there, can't edit your documents, can't manage your mails, can't work with your photos, can't access your bookmarks etc etc. In this scenario you got one new major dependency to able to work. It isn't enough that your computer works and that you have the proper software installed, you must also hope to get a decent internet connection without people in the same cloud sucking all the precious bandwidth with their heavy downloads etc. I know I'm exaggerating here quite a bit. Apologies. My point is that I'm not against the idea of client side web application. Not at all - the recent developments and achievements are truly awesome. in fact, before writing this post I played around with sproutcore. I'm just against this whole hype of cloning the desktop experience into the web without any sense for the web itself. I think we should rather focus on enhancing and developing present and new concepts which progressively explore the possibilities the web offers for us. Think Wikipedia not Word. Think flickr not iPhoto. Sync, aggregate, share and communicate over the web rather than building self contained and therefor boring and uninteresting islands. I mean sure, Keynote or iPhoto in the web browser is impressive but - yeah - thats basically it. Wikipedia is a lot more impressive, even with a old school interface. But we'll see how far everything goes, with client side storage and all that. In my opinion though the whole "software distributed through the browser" thing is as visionary or useful as the 3D desktop.

Wettermanipulation am 30.05.2008 um 6:00 ?

Published on:

Irgendwie gab es heute morgen um 6:00 Uhr auf sämtlichen Regenradarbildern eine Anomalie. WetterOnlineWetter.comunknownWikipedia: Wettermanipulation strange. Wüsste gern was da passiert ist.

My favourite Ruby (on Rails) Books

Published on:

I've read a couple of Ruby and Ruby on Rails books now and for those who wonder which book is right for them, I want to give recommendations. Ruby Books: My favourite ruby book is the "The Ruby Programming Language" from O'Reillys shelf. It is written by David Flanagan (author of Javascript, The Definitive Guide) and Matz himself. This book is like a Definitive Guide but its not as heavy as the Javascript version as it is "only" 430 pages thick. The big benefit of this book is that it covers all the new stuff from Ruby 1.9. I also like that it completely leaves out any kind of tutorial like part. It's really all you need to know. Well written and reference like. My second favourite book is from Addison Wesley and its called "The Ruby Way". With 888 Pages this is even more like the definitive guide but there are some minor things that I don't like about this book. So minor I won't even mention them. If I had to chose between the O'Reilly book and this one I'd choose both. The third book I can recommend is the Pragmatic book. This one is more for beginners as it starts with a tutorial that gives you a somewhat playful insight into the world of ruby. But once you've read this book and want to know more you will put this book aside and consider the previously mentioned ones. Rails Books: Same here. I'd highly recommend the Addison Wesley book "The Rails Way" because it is more like a reference to Rails and covers each aspect with way more details than the famous Pragmatic book which again starts with a tutorial that takes up half of the book. Its a very good and easy start for early Rails developers but it leaves so many questions open that you will definitly need another one. In this case - take the Addison Wesley one.

One of my ideas became reality - without me: Port of the Processing language to JavaScript and Canvas

Published on:

A couple of semesters ago, when i was still enrolled ad UdK I've had the idea of porting processing to javascript. I wanted to use SVG instead of canvas but at that time canvas wasn't really that big. I've never had the time to pursue that idea because I was busy with lots of other things but today I've read on that someone had the same idea and actually realized it. See here: Port of the Processing language to JavaScript and Canvas The results also look pretty cool - not sure if I would've been able to get it to this level. Thumbs up for another project that uses web technologies completely out of their initial scope of use cases.

Install mysql native gem on Mac OS X with MacPorts

Published on:

sudo gem install mysql -- --with-mysql-include=/opt/local/include/mysql5 --with-mysql-lib=/opt/local/lib/mysql5 --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config Building native extensions. This could take a while... Successfully installed mysql-2.7 *sigh*

Updates, really

Published on:

I haven't forgotten my weblog. It's just that if you have lots of stuff to blog about, you don't really have time to do it. At least that's the case here. On monday for example, I booted my very first computer. I was kind of late though so its a pretty decent machine compared to what most of my friends had. It's a Apple Macintosh Performa 6200 with a stunning, Pentium smoking 75 MHz PowerPC, 24MB Ram and 500 MB HDD. I got this thing 1995 I believe, so it's 13 years old and it was running almost every day since because my dad was still using it after I got a new computer. He used Filmaker 3.0 for writing bills and keeping track of customers. He ran it until last monday when I was at my parents and thought that it might be a good idea to finally transfer all his sensible data to another machine. The HDD would fail some day and I wanted to prevent an emergency call. But there was a problem. This machine had almost no useful interfaces to retrieve the data. There's no USB, no Firewire, no Ethernet - nothing! It has a SCSI connector but I don't have any SCSI capable machines anymore. So I took my computer to the CCCB in order to remove the HDD and plug it into a new machine. The Performa 6200 was one of the first Macs which got an IDE HDD instead of SCSI. I was hoping that I could simply put it into an old G4 desktop in order to copy the files. It turned out though, that at the time they shipped the Performa, Apple was formatting the HDDs in their factory in a special way. This was changed late but appearently my disk was special because no modern computer I connected it to was able or willing to show me the files. Meanwhile I was thinking that I might destroyed the filesystem by putting it in the G4. I didn't bring the 15" screen, the ADB Mouse and Keyboard with me, so I couldn't boot it. After I got the missing pieces from my parents I connected everything and my Mac booted as it used to be: My first Computer It was like christmas. Or my birthday when I got my Mac. I went through all my files, played F/A 18 Hornet 2.0, Cyclone II and Rescue and was smiling all over my face. Then I connected my old Syquest EZ 135 Drive with 135 MB cartriges via the SCSI port to backup my dads files. A friend then retrieved the files via his old mac which had a 10 MBit ethernet port. Now Filemaker 9 Pro was even able to convert the 3.0 database files and everything went through successfully. Now I can keep my first computer and play F/A 18 Hornet with it. By the way, if someone out there really wants to make me happy - buy me this game: http://www.graphsim.com/games-fa18-oif.html After all these emotions I have to say that this computer still looks nice on my desktop. Imagine a 13 years old PC box! The Performa case is well designed. Doesn't look like it is that old. I can even connect a TFT display so everything looks real crisp. The machine never had any problems. The battery faded out but it can be replaced. It was really worth the money.

Klimaschützer der Woche

Published on:

Ich kam grad über diverse Ecken auf diesen Link: http://www.atommuell-endlager.de/index.php?option=com_content&task=view&id=15&Itemid=1

Im Höhenzug Asse, nahe der Ortschaft Remlingen im Landkreis Wolfenbüttel liegt das „Forschungs“-Bergwerk Asse II, in dem in den ´60er und ´70er Jahren Atommüll eingelagert wurde - vorgeblich nur zu Versuchszwecken. Aber, diese Versuche sind zu Ende und der Müll noch immer in der Grube. Seit 20 Jahren dringt Lauge in das angeblich so „standsichere und trockene Lager“. Nun soll das Bergwerk geflutet werden – mit dem gesamten eingelagerten Atommüll.
Da kommt einem wirklich alles hoch wenn man dann Plakate, wie diese, in den Bahnhöfen sehen muss: Klimaschützer der Woche Dann doch eher: Radioaktiv Die Geschichte hat jetzt mal wieder deutlich meine Stimmung gedämpft. Man sollte die Verantwortlichen gleich mit in die Grube stecken wenn diese geflutet werden sollte. test

Problems with FontExplorerX under 10.5.2

Published on:

I just updated my system to 10.5.2. After the reboot my dock and my menu bar hung. The Menubar gave me the spinning beachball of death right after login and the dock just didn't react at all after i changed a stack to folder view. I deactivated all 3rd party tools that start up at login. Everything worked again after I quit FontExplorer X (Build 435). If you have the same problems, please drop me a line and write a mail to info@linotype.com UPDATE: Issue is resolved. Linotype released FontExplorer X 1.2.3 which fixes those nasty bugs. Thank you Linotype for reacting so fast!

Flickr

Published on:

Flickr works as a community. You upload photos, people find them and ask you if they can use them. You get feedback without advertising them or something like that. Sometimes however people use your pictures without letting you know. This happens of course when you attach a proper license to your photos. This happened to one of my 24c3 photos. The german newspaper »Die Zeit« used this one on their website in this article. I think flickr is amazing in many aspects as it is one of the few web communities that are useful. 24c3 bcc

Children as Inspiration

Published on:

Just found this via monoscope: children vs grown ups The artist David DeVries from South Orange New Jersey takes drawings from children as inspiration and redraws them in a grown up way. A really awesome collection of monsters and superheros. I wish I still had all my childhood drawings so he could redraw them. Check out his website for more drawings: http://www.themonsterengine.com/art.html Actually, this would be a nice little task at art school: »Bring one of you childhood drawings and redraw them with you current skill set« - Or something like that.

My latest ambition

Published on:

guitars.png Its really fun. I hope I'll get good enough to play in front of other people. Currently this would be either boring or painful, although I'm practising for two months now - so its not _that_ bad.

guitars.png

Published on:

New GPG-Key!

Published on:

So my precious gpg key expired a couple of days ago. KeyID: A9349167 Since my signature key also expired I had to start again from scratch. So from now own please use this new key instead: KeyID: 7F529183 Fingerprint: AF85 EEA9 BE5B B23D 673B 0D60 2BAC 4AAA 7F52 9183 It is a signature key that will never expire unless I revoke it for some reason. My encryption key will expire in two years but in 2009 I wont have to start from scratch - its just the subkey that changes - woohoo! So my signing policy is: I don't sign id cards, I sign email adresses. I don't sign anybody remotely over the internet with no other communication involved. I will ignore signing requests that just pop up. I only give people full trust who take care of their keys and don't take part in key signing parties. My key is already on the keyserver so you can get it right away.

10.5 Accounts Advanced Options

Published on:

1. Go to the System Preferences 2. Click on the Accounts Preferences 3. Open the lock at the bottom right 4. Right-Click on your account name in the list - and select the Advanced Options 5. Voila: Advanced Account Options