Matrix I/O in PHP 5.3

Inspired by the Grid Computing challenge at Code Golf, I came up with a couple of useful functions for reading and writing matrices in PHP 5.3

{[.matrix | 1.hilite(=php=)]}

Here is a demo page

{[.demo | 1.hilite(=php=)]}

whose result is

 

$input = ' A, B, C, D, E FFF, G, H, I, J K, L, MM, N, P Q, R, S, T, UUUU VVVVV, W, X, Y, Z ';
$output = ' A, B, C, D, E FFF, G, H, I, J K, L, MM, N, P Q, R, S, T, UUUU VVVVV, W, X, Y, Z ';
$output === $input

After uncommenting the transposition line, the result is

 

$input = ' A, B, C, D, E FFF, G, H, I, J K, L, MM, N, P Q, R, S, T, UUUU VVVVV, W, X, Y, Z ';
$output = ' A, FFF, K, Q, VVVVV B, G, L, R, W C, H, MM, S, X D, I, N, T, Y E, J, P, UUUU, Z ';
$output !== $input

WordPress on Chrome has the messiest editing bug

I found this bug recently, and there seems to be very little evidence of it in Internet.

I have the last versions of WordPress, Chrome, and WinXP. When editing a post in Visual mode, if I write normal text, all is well, and if I change to HTML mode and back to Visual, all is fine too. But if I click the bullet list (or number list) button in a paragraph, the bug is reproduced: the path at the left bottom corner of the editing box says “Path: ul li span”.

This additional span has a style that sets the size of the font to 13.3333px !!

The formatting, as seen in the HTML mode, is:

And if I undo the bullet list (or number list), it becomes:

The real nasty things about this bug are:

  1. It doesn’t show up in Firefox (the most common default browser among web developers)
  2. It’s pretty common, but almost nobody noticed it
  3. It shows up when doing/undoing a bullet list or a number list
  4. The bug adds ghost spans, one per item, that you must remove manually (like in the following entry)
  5. And manually means manually in HTML mode, because in Visual mode, the “Remove formatting” button usually removes too much formatting
  6. The bug is so strong that if you remove the ghost spans and then undo a list, the same number of ghost spans are added back again
  7. If you don’t remove the garbage as you go, it gets messier and messier, because the ghost spans start to appear also where never there has been a list
  8. I wasn’t able to find where the bug comes from: a search of all WordPress code returns nothing interesting

I’ll look at my theme and plugins code.

For now, it’s a filed bug.