A little adventure into web dev

My real life has been holding me off from blogging and all that stuff for the last month. However, as I was sick and staying at home for the last two days, as there was nothing on TV (I really oughta get that satellite dish!), I pulled out my Dreamweaver...

First, I conscientiously fixed all open bugs on b2evolution and released a maintaince package. Then I went on playing with the homepage at http://b2evolution.net/ .

Check out that totally fluid 3 column layout. Try resizing the window. Try changing the font size. What do you think? ;)

By the way, tweaking with CSS layouts is a very efficient way to kill time! :>>

Anyway, the most interesting part of that new homepage is in the right column. There is a list of recently updated b2evolution blogs. I had added a feature in version 0.8.6 where b2evo sends a ping to its homesite everytime it is used to post a blog somewhere on the internet (unless you disabled that pinging in the conf). These pings actually get stored and here they come out of the darkness.

Now the homepage is different everytime I visit it and I can see b2evolution in action even when I don't feel like blogging myself! :D

Okay, enough self pride...

IE 6 not refreshing

Just stumbled upon yet another funky IE6 "bug" (if I may say so...

When you want to automatically refresh to another page, you send a header that looks something like:

Refresh:0;url=http://blah.blah.blah

The funky thing is that if that header exceeds the maximum size of 263 characters, IE won't do the refresh!

Okay there's got to be a limit, but why so low? And why "263" ??

No need to say, auto refreshes work fine in Firebird with headers much longer than that.

I guess this is why you still need to put some dirty message underneath like 'if nothing happens, please click here! :/

PS: Please don't tell me to use a Location: instead. This would make it impossible to set cookies.

Introducing i18n and l10n

When you develop a piece of software or a website up to a certain point, there comes a time when you try to reach an international audience.

No doubt your first move will be to provide an English version of your software or website.

However, you will soon realize this is not enough. Of course, many people do understand English to some extent; but you have to realize how painful it can be for them. Maybe you don't even realize how easily you can understand English compared to the average. Of course, if you are yourself a native English speaker, you need to try and imagine that every software you use comes in French or German by default! How would you feel about that? :P

Furthermore, you may have spent some time on making your software or website accessible. Users can now change the font size and enhance contrast if they have trouble reading those lines of funky rendered text... That's fine... but what's the use if their problem is not with the formatting but with the language!?

Full story »

Date Arithmetic With MySQL

MySQL offers pretty useful functions when you want to manipulate days:

  • You can add a time interval to a date value with ADDDATE() or DATE_ADD()
  • You can subtract a time interval from a date value witf DATE_SUB()
  • You can find the interval between two dates with  DATEDIFF()

It's often easier to compute this stuff directly in MySQL rather than in PHP.

For all date functions see the MySQL Manual.

IE, CSS & TEXTAREA hell !

We used to have an article here about styling textareas with CSS in IE. It was one more post on the web about one more bug in Internet Explorer 6. It has been fixed in between.

In case you still need this, we had a workaround which consisted of applying width:100% on a div around the form, like this:

<div style="width:100%">
  <form>
    <label for="t1">Try to type in here:</label>
    <textarea id="t1" style="width:100%">Try to type here!</textarea>
  </form>
</div>