Jump to Navigation

Archive for the ‘web design’ Category

Preventing multiple instances of Flash Movies

Currently, Flash does not natively support prevention of multiple instances, so a workaround is needed. Why would anyone want to prevent multiple instances anyway? Well, I use Flash as a Chat client, so allowing a user to run multiple instances would mean that they could join the chat multiple times, which is not really a wanted feature. So how do I prevent users from joining the chat multiple times?
Read more »

Adobe Flash’s ExternalInterface and Microsoft Internet Explorer

As my new community project is using a lot of Javascript and Flash Communication, I rely on Flash’s ExternalInterface. ExternalInterface allows me to create simple functions in Flash, which are callable from Javascript. I developed everything using Firefox, where everything worked just fine, but when using Internet Explorer, I encountered the problem that no ExternalInterface functions would register, breaking the Flash/Javascript Communication completely.

After endless hours of testing, I found out that for ExternalInterface to work in IE, 2 conditions have to be met.

  1. The Flash needs to visible. Loading a flash into a hidden div does not work.
  2. It has to be loaded before the document onload event. All Flash files loaded after the onload event can’t register any functions with ExternalInterface.

There seems to be an issue with transparent PNGs (with alpha channel) in IE 7, too. I had some ugly black background in the pictures even though other PNGs worked just fine. The reason was that it the div was hidden first. I guess IE 7 has some serious issues with invisible divs.

Subwoofer for my car

Good sound systems have a subwoofer, that’s why I needed one for my little car. Because my car’s trunk is extremely small, I needed a special subwoofer case to fit it in without robbing space or removing the spare wheel. So I constructed one myself. Read more for some more pictures.

Read more »

Strict HTML/XHTML and target=”_blank”

To keep this short: THERE IS NO target=”_blank”! It’s not valid “Strict HTML” or “Strict XHTML”. There is a huge discussion on the web about this, and frankly I don’t care. I see reasons for opening new windows, so I want new windows and “Strict XHTML”. But how to do that? Easy, I coded a short Javascript which will find all external links and links to PDFs and Ads and makes them open up in new windows.

Read more »

PuTTY and WinSCP

PuTTY is great, but it’s even better with WinSCP. You can let WinSCP manage all sessions, press Ctrl+P and PuTTY will pop up, with your session password saved and passed to it. But there are some configuration issues coming from this kind of setup.

Read more »

first confrontation with AJAX

AJAX stands for Asynchronous JavaScript and XML, which is an old technique which has gotten very popular now. The best example for this is Google Suggest. The site reacts instantly to your input without reloading the page.
Read more »

Mozilla Firefox cursor bug

It seems like Firefox has a problem with disabled and re-enabled text input fields. Once deactivated and then reactivated, the blinking cursor disappears. It is also not possible to see the selection. Although everything works just fine, it is pretty annoying. Here is the solution for this problem. It involves Javascript, but you probably won’t have this problem when you don’t use Javascript to de- and re-activate text fields:

var inbox = document.getElementById( 'idOfInputBox');

Moving to WordPress

I have used my own CMS for about a year now, but last week, when I installed WordPress for my girlfriends homepage, I was kind of fascinated by its features. Although WordPress has no multilangual support out-of-the-box, but there was a plugin which made it possible. It’s called Polygot and allows the usage of multiple languages. Because WordPress is W3C conform by default, I decided to do the same with my design.

Read more »

qobject and mysql

After years of programming web applications, I often found myself debugging MySQL queries. Usually, they don’t even show that fast. Sometimes I spend hours trying to find the error of my php script, changing code parts, I once even redone the whole script and wondered why it still doesn’t work until I found the error in the SQL query. Well, people learn from the faults the make, but I didn’t, at least until some time ago. You maybe read an earlier blog entry of mine about QCMS, an object-oriented php5 content management system I was making. I have used a lot of other CMS, in fact, I am still using Mambo for my free hosting service Kawaii Page. Something was always bugging me about programming modules for other CMS, so I figured it isn’t php but MySQL! Creating tables, queries and all those properties… I wanted to improve this behavior in my CMS. Anyway, I ported the key element QObject from php4 to php5, to test it on a production system (China-Restaurants in Berlin).

Read more »