CSS problems with Internet Explorer
Every webdesigner have to face the truth: there is no code that works the same on all browsers. This site for instance deals with some serious issues concerning to the different ways Firefox and Internet Explorer reads CSS code, although Firefox meets the W3C standards and Internet Explorer doesn't. How to avoid problems with CSS and Internet Explorer then?
Javascript (eew!)
There are too many cons about use of Javascript because it's rendered client-side. It means the script runs when the client's already requested and is loading the website. It means the website might load differently for each browser. There are people also who disable Java Script on their browsers for security matters.
PHP (wee!)
This is a simple code for browser detection:
In this example, should you be using Netscape 6 then the server returns a particular code - otherwise, the code is different. If you want to go deeper, there's a bit more complex trick. This is an example - save a file named "browserdetect.php" on your directory with the following content:
-
<?php
-
/**
-
* $browser will contain one of the following values:
-
* 'iewin' : IE 4+ for Windows
-
* 'iemac' : IE 4 for Macintosh
-
* 'ie5mac' : IE 5 Macintosh
-
* 'nswin' : Netscape 4.x Windows
-
* 'nsunix' : Netscape 4.x Unix
-
* 'nsmac' : Netscape 4.x Mac
-
* 'ns6' : Netscape 6 / Mozilla
-
*/
-
-
function inAgent($agent) {
-
global $HTTP_USER_AGENT;
-
return !$notAgent;
-
}
-
-
( inAgent('MSIE 4') or inAgent('MSIE 5') ) {
-
( inAgent('Mac') )
-
$browser = inAgent('MSIE 5') ? 'ie5mac' : 'ie4mac';
-
elseif ( inAgent('Win') ) $browser = 'iewin';
-
} elseif ( !inAgent('MSIE') ) {
-
if ( inAgent('Mozilla/5') or inAgent('Mozilla/6') ) {
-
$browser = 'ns6';
-
} elseif ( inAgent('Mozilla/4') ) {
-
if ( inAgent('Mac') ) $browser = 'nsmac';
-
elseif ( inAgent('Win') ) $browser = 'nswin';
-
else $browser = 'nsunix';
-
}
-
} else $browser = "unknown";
-
-
?>
With this script on hand, server-side browser detection becomes quite simple. Put this into your page:
-
<?php
-
include(browserdetect.php); ?>
-
<?php if ($browser == 'ns6'): ?>
-
<!-- Netscape 6 specific code -->
-
<?php else: ?>
-
<!-- Code for other browsers -->
-
<?php endif; ?>
Within these lines now you may call the CSS external files written for the specific browser and job's done. Because in my humble opinion IE is the root of all evil, I'm using a slight modification of the code above.
-
<?php
-
function inAgent($agent) {
-
global $HTTP_USER_AGENT;
-
return !$notAgent; }
-
if ( inAgent('MSIE') ) { $browser = 'ie'; } ?>
-
<?php if ($browser == 'ie'): ?>
-
<!-- Code for Internet Explorer -->
-
<?php else: ?>
-
<!-- Code for other browsers -->
-
<?php endif; ?>
Esperanto layout in GTK applications
GTK programs (like Firefox and Gedit) can't properly handle the special characters of Esperanto alphabet (Latin-3) like ĉ or ŭ. It beeps when you try to do the ^+c combination, for instance, although you are yet able to type this letter in another program, even in Terminal.
I use Firefox in KDE and I did exactly what FLOSS & Cia suggested. Simply add to the file /etc/environment
the following line:
GTK_IM_MODULE=xim
Explanation for this trick may be found here.
The messengers salad
Do you like ICQ? Oh, a few relatives use AIM. What, does that girl you have a crush on use Yahoo! Messenger? And you open mIRC every once in a blue moon! I don't know if you like to handle these programs simultaneously, so I suggest you something better.
There's a program that provides capabilities not possible with original network clients, while supporting standard features such as audio chat, file transfers, group chats, chat rooms, buddy icons, multiple simultaneous connections to the same network, server-side contact importing, typing notification, direct connection, proxy support, encrypted messaging, SMS support, and privacy settings.
Before we start, a little thought. My grandma always said commodity degenerates people. Well, she didn't. I intended to give this post some trustworthiness.
MSN has never been so popular. Why, you humbly ask. I tell you - simply by the fact it already comes with Windows, this digital inclusion product doesn't care about discovering better options. Do you want something more stable and functional than ICQ or AIM? What's the matter no one uses it today? I don't know, but I find it pitiful if it's because of avatars, animated icons and epileptic message windows.
Phew... now my conservative self is relieved.
If you're one of those bloody old school users just like me, who use ICQ or AIM since the Jurassic age and still suffer from complexities due to your Windows 3.0 be devouring your boundless 2mb of RAM, although you want to keep in touch with your new friends on Yahoo!Messenger (You bet, I ain't talking about bots), either talk to these lolita-like girls in school outfits with webcam on MSN who TyPe In A BizArRe WaY (and you fancy a possible date ahead... or maybe not) - don't worry, you're not alone. I know how you feel.

Well, I'm telling you some resorts:
1) Go out and have a life
2) Sit down and cry hard
3) Use Miranda
What does Miranda stand for?
It's both a lousy Latin bar dancer and a multi-protocol program for online conversation. This means you're able to use ICQ, MSN, AIM, Y!M, IRC and countless other protocols as new plugins appear day after day. As if not enough, there are many icons, background images and skins made to your visual delight. Thanks to the good souls of Martin Öberg, Sam, Robert Rainwater and Lyon Lim (current Miranda developers). The latest version is 0.4.0.1 and is pretty stable.
At this very moment, I'm using these plugins:
AIM Protocol - provides AOL(r) Instant Messenger support using AOL's TOC protocol.
Anna the Alicebot - a bot that chats with your friends, like Elizatalk but better. This is actually an implementation of an ALICE bot using AIML files to give it the personality of Anna.
Atomic - This plugin retrieves the exact time from a timeserver and sets the clock on your system.
Change ICQ Details - Change your ICQ details from within Miranda.
Chat - provides a group chat interface for any protocol that wish to use it. It does not do anything by itself, it is a service for protocols. It is not a srmm replacement either, it just does group chats.
Send / Receive Contacts+ - allows you to send and receive contacts. It uses protocol API and is completely protocol independent.
History++ - This plugin is improvement over History+. It introduces new history layout, as well as new features.
ICQ Oscar v8 / Joe - ICQ protocol, slightly enhanced.
IRC Protocol - This plugin will enable IRC support in Miranda IM.
MSN Protocol - MSN Messenger protocol implementation for the Miranda.
mToolTip - Shows various contact infos as tooltip.
NewEventNotify - Notifies you when you receive a message, url, file or any other event by displaying a popup.
PopUp Interoperability - supports such new features as text wrapping, emoticons and skinning.
Smart Auto Replier - works as autoreplier - it's able to reply on all incoming messages, making possible use of rules that are applied to specific contacts.
Last Seen - logs when a contact was last seen online. You can choose between contactmenu item, userinfo page and file output. Second feature is to show which users were online while you were away.
Send File Shell Extension - Allows to send files to Miranda contacts through shell' "SendTo" menu
SmileyAdd - A plugin that adds smileys to the standard (split)message dialog.
Send/Receive Messages (Unicode) - This Miranda IM plugin allows you to send and receive instant messages in UTF-8.
TranslitEx - Transliterates messages between Cyrillic < -> Latin.
Typing Notify - show popups when contact is typing.
Urban Underground Farming in Japan
Using computer-controlled temperature and LEDs , an underground rice and vegetable farm called Pasona O2 in Tokyo hopes to have its first harvest this summer (2005).
See pictures of these gardens! Read the rest of this entry »