Blog

PHP Markdown Extra 1.0

A little while ago, I introduced PHP Markdown Extra, a special version of PHP Markdown with some extra features. Added to standard Markdown syntax are smarter HTML block processing, the ability to parse Markdown inside such HTML blocks, simple tables, definition lists and a small change to underscore-emphasis rules. Today I’m fixing some small bugs, adding a new extra feature and bumping version number to 1.0.

Have you ever tried to make intra-document links with Markdown? This is a little painful since you have to write headers in their HTML form because you can’t set the id attribute required to be able link to it. To remove some of this ugliness, PHP Markdown Extra has a new special syntax for this:

Header 1            {#header1}
========

## Header 2 ##      {#header2}

When using this syntax, headers will have their own id attribute and you will be able to link to them this way:

[Link back to header 1](#header1)

PHP Markdown Extra can be installed anywhere PHP Markdown can (WordPress, TextPattern, etc.). It is available from PHP Markdown main page. You can also read the complete PHP Markdown Extra syntax description.

Finally, if you like this software and want to encourage me pursue its development, you are invited to make a donation to me; please specify it is for PHP Markdown Extra.


Humanitarian Crisis

There are many humanitarian crisis around the world each year, but today there is a very special one. It is special because it is nearer than usual (United States), is of an unprecedented scale (for that region), has mostly destroyed a city (New Orleans), and it seems that authorities don’t even know what to do. Kinda science-fiction. But sadly, this isn’t fiction at all.

Blog readers have probably seen that by now, but if you are a United States citizen, here is what you should do to help.

Right now, many people are dying, thousands of people are searching for food and a place to sleep at night. That’s called a humanitarian crisis. There are specialists of humanitarian problems at United Nations. They have handled problems like that before. Here is what they have to say:

Hurricane Katrina

“On behalf of the United Nations Office for the Coordination of Humanitarian Affairs, I offer our deepest sympathy to the victims of Hurricane Katrina, and to all those affected by this latest disaster to sweep the Gulf Region. The United Nations stands ready to assist the government and people of the United States. The United Nations Staff Union is currently raising funds to support the efforts of the American Red Cross in the areas affected.”

Jan Egeland Under-Secretary-General for Humanitarian Affairs and Emergency Relief Coordinator

The UN responds to disasters upon requests from national governments. The UN has not been requested to assist in this case. If you would like to contribute to relief efforts in the affected states, please see the FEMA site for more information.

So the US isn’t asking for help. Fine, but they don’t seem able to coordinate things by themselves either. Could it be possible that the current US administration refuse the help only because they refuse to give any credibility to the UN? I wouldn’t be surprised by this.

After all, what I see on TV is Bush currently giving press conferences all around the affected area thanking everyone who helps like if he was in a political campaign for an election. Doesn’t that seems stupid?

(I should also note that many other contries have offered help, but this “isn’t needed currently” they were said. That may be good or wrong, depending on the time it takes to arrive, and the kind of help.)

Update: It seems that finally they decided to accept international help, including United Nations.


My grandmother passed away today (not related in anyway to this), and I’m crying for these poor souls far away. I can’t believe it. I’ll go pray for my her now.


More on Reflex

I’m sorry, Reflex won’t be ready in august as promised. I’ve tried put this fuzzy artificial deadline thinking that some pressure will help me do things faster, but it didn’t work at all. I believe it could have been done by rushing some design decisions, something I don’t like and decided not to do. And there are many design decisions to be done in Reflex.

I think the project is becoming bigger than I first expected which is, in part, responsible of this delay. Currently, Reflex has:

  • a database abstraction layer with a special PHP-made syntax for database queries;
  • a database manager that create and drop tables and fields in the database as required by modules;
  • a record class reminding me ruby on rails’ active record;
  • an event system to implement many automatic behaviours;
  • a template system that can be compiled to dynamic PHP code, static HTML file, or a mix of the two;
  • a completely hookable administration interface (half done); and
  • basic modules for static pages, weblogs and comments (half done).

As I said before, the idea behind Reflex is to have a good framework for creating web applications that can simultaneously share the same database while making it easy to design a completely custom website layout (including URL layouts). What links these two concepts together is a template system inspired from the one in Movable Type, but that can handle arbitrary datatypes instead of just weblog entries and comments.

Well, I’ve said enough for now. I’d better return to work if I want this ready one day. Feel free to add your thoughts, comments, suggestions, questions to the discussion below.


New Hosting Provider

When I put my website on the “michelf.com” domain last year, I chose a Montreal-based company that doesn’t cost too much. But recently their service — it wasn’t very good — just got worse, so I decided to make a change. If you can read these lines, it means my domain name now points to a new server from Pages-Web.com (also Montreal-based).

The principal reason for choosing my old provider wasn’t the price, even if it was pretty low. They offered unlimited bandwidth, which reduce the chances of bad surprises (bills for going over the limit). It was particularly important to me one year an a half ago since I did not have any statistics about how much popular were my software projects and how much bandwidth downloads would take.

Now, things are different. I know this website never exceeded 1 Gb per month during the last year and a half, which means I can choose without much worries a provider with limited bandwidth but with better quality and service.



  • © 2003–2025 Michel Fortin.