Last Update: The WordPress Plugin manager is no longer available for download and support has been discontinued. More info here.
10/20/04 Update: Check out the new version

If you are a WordPress user, go check out the shiny new WordPress Plugin Database!

If you have written plugins for WordPress, go add them already!

If you do not use WordPress, then, well… you should.

But I’ll still talk to you if you don’t…

Continue reading

Finally got around to writing some kind of doc for my mail posting script for WordPress. And I can therefore finally release it for the world to use and enjoy.

Please welcome a new member in the WP plugin & hack family: wp-keitaimail v. 1.0b!

Actually, it is not technically a plugin, nor a hack, rather a standalone script that interfaces with WP to let you post entries to your blog via Email.
The name ‘keitai’ simply means ‘cell phone’ in Japanese… This script might as well have been called wp-cellphone-mail, I just liked the sound of ‘keitai’.

You can see a working demo on the right-hand side of this blog where it powers the “keitai log”. I have been using it for nearly a month now and it should be really stable albeit a tad complicated to set up (see below).

Continue reading

Just installed the awesome language picker plugin for WordPress.

At long last, Dr Dave’s Logs is joining the truly multilingual blogging crowds !

Do not expect real full-on translations for any of my posts. I have neither the time nor the slightest motivation to post redundant content. However, I will probably post from time to time a full entry or an extended discussion in the language relevant to certain items of a particular country/culture, without fear of boring my beloved ignorant American English-speaking-only readership.

Japanese is a special case though: half for my own practice, half to spare my poor Japanese friends the pain and suffering of reading my already convoluted English through Babelfish, I’ll try as much as possible to post a small sum-up of every entries somewhat relevant to my life in Japan and/or my friends here. If you are a student of the Japanese language trying to improve your practice, I strongly sugest you stay the hell away from these, as they certainly won’t do you any good. I do not assume any responsibility for the permanent damage to your practice you might incur by exposing yourself to my crappy grammar and overall appalling level of written Japanese.

If you are really bored with yourself and have a better master of the language than me (basically: if you speak any Japanese), feel free to mock my errors and even possibly point them out to me. I yearn to learn.

Note: if you are reading this blog through RSS, you won’t be able to see alternate language content or links. You need to use the website version. I’ll work on fixing this later.

J’ai enfin installé le formidable plugin language picker pour WordPress.

Dr Dave’s Logs peut donc enfin rejoindre le camp des blogs véritablement multi-lingues !

Ne vous attendez pas à des traductions complètes du moindre de mes billets. Je n’en ai ni le temps, ni vraiment la motivation. Néanmoins, je posterai probablement de temps en temps des remarques ou des développements de discussion spécifiques à une langue/culture.

Le japonais est un cas à part: autant pour pratiquer que pour éviter à mes amis le douloureux passage par babelfish, je compte essayer de fournir un résumé succinct de tous les billets qui se rapportent à ma vie au Japon ou à mes amis ici. Je vous déconseille fortement de vous inspirer de ma grammaire ou d’un quelconque élément de mon style litéraire japonais (la seule utilisation du mot litéraire dans cette phrase devrait pousser plus d’un citoyen japonais au suicide).

En cadeau bonus spécial pour mes chers lecteurs francophones, voici un petit post que je viens de retrouver et qui date de l’époque plus ou moins lointaine ou j’étais tellement désoeuvré que je trollais même en Français sur Usenet… C’était vraiment très stupide, mais je le reposte pour la postérité… et aussi pour prouver que j’ignore jusqu’à la définition même du mot honte.

Cher Monsieur,

Conformement a votre commande, vous devriez recevoir prochainement votre Kit de Cat-Trap via FedEx.

Neanmoins, j’ai oublie d’inclure les instructions et c’est relativement
complexe, donc voici une retranscription fidele du mode d’emploi:

—-
Notisse d’emploi
—-
Bonjoure, tu vient de recevoir la kit de Cat-Trap Nvgrdå (TM)(R)
de Ikea, voicie les explicaziones pour construire et te servire de ton
Nvgrdå (TM)(R)

1) sort precautionamment du carton la partie A (voir shema 1) que tu
fixes a l’armateur B a l’aide des vis C et D que tu fixes dant les
emplassements E et E’. A l’aide de la manivelle F, rotationne plusieurs
fois l’axe G jusqu’a ce que la partie H soit tendue aux maxima. En
manipulationnant la vis H, inclinationner le partie A a drei-und-zwanzig
degres avec respect pour l’armature B. Replacer la manette H pour le
levier J.

shema 1)
                   ------------  <- A
                   X X X X X X  
                   /         \
             H -> X H X X X X X   <= B
                   \         /
                   X X X X X X
 

                   ----------- 
                   X X X X X X  
             J -> X J X X X X X  
                   X X X X X X

                   ___
                      `---\___
                   X X X X X X  
                  X J X X X X X  
                   X X X X X X

2) Sorter maintenans de l’emballage le Bazooka Vrbrø Krgki (TM)(R) en
prenant soin de ne pas titillationner la gachette K. Placer le Vrbrø
Krgki (TM)(R) sur le trepied L et regulant l’orientation vers
aproximativetivement funf-und-sechszig degree vers les cieux. Enfilez la
rocket M dans le tube N de votre Vrbrø Krgki (TM)(R) (au cas on
l’enfilationnement de la rocket M echouerait, vous trouverais dans le
carton une rocket M’ de rechange). Placez alors le trepied L comme
indique sur le shema et branchez le connector O dans les emplacements J
et P en respectant les couleurs indiquees sur le shema 2).
  N-> =p====        ___
      /\__ < -P        `---\___
      |-| \         X X X X X X  
 L => | |  \       X J X X X X X  
      |_|   \____/  X X X X X X

3) Prenez maintenant le chat et installez le a environ 25 pieds et
demi de l’armature et posez le sur un coussin suffisament douillet pour
qu’il ne bouge pas dans les 5 suivantes minutes.

4) Prenez alors position sur la partie B de votre Nvgrdå (TM(R),
prenez une grande perspiration et tirer un coup sec sur le manette J.

5) Si tout s’est bien deroule et que vous avez encore ce brochure
entre les mains, vous avez maintenant atteint votre vitesse de croisiere
de 163.5 mph et votre altitude est de 425 pieds. Vous aurez notice qu’il
n’y a pas de parachute fourni dans le kit, neanmoins, le minuteur que
vous venez de declencher sur le Bazooka Vrbrø Krgki (TM)(R) devrait vous
eviter la peine d’une douloureuse chute au sol en declenchant le
lancement de la rocket remotement controlee M d’ici quelques dixiemes de
seconds.

6) Le systeme visuel et auditif des chats est extremement develope et
tres sensitif a la moindre stimulation, essayez donc de faire de grands
mouvements coordonnees de vos membres inferieurs et superieurs tout en
poussant de hauts cris afin d’attirer l’attention de votre fidele
compagnon qui ne manquera pas d’assister a votre magnifique ascension
suivie d’un feu d’artifice qu’il n’est pas pret d’oublier.

7) Nous esperons de vous avoir completalement satifactionne avec votre
kit de Cat-Trap Nvgrdå (TM)(R) et esperons de vous rester fidele a notre
magazin…

これから日本語で書いて見る!間違えるとき教えてください。
Ich könnte jetzt auf Deutsch also schreiben. Ich werde aber es vermutlich nie machen.

In my ongoing quest to bring flawless multi-language (multi-encoding to be more accurate) support to WordPress, I just had a blindingly simple, yet highly efficient, idea for an improvement.

If your blog is accustomed to receiving trackbacks or comments containing non-standard characters (accents, kanjis etc.), then you have probably noticed that a fair share end up getting mangled in the process. WP is not really at fault here, since this is caused by some browsers’ failure to respect the encoding set in a page when sending form content (e.g. submitting a comment). No need to tell you which poor excuse for a browser so shamelessly ignore proper web standards. This is of little comfort anyway, since in the end, all that matters is that WordPress is getting toh-mah-toh when it is expecting toh-may-toh, and pretty much ends up displaying poh-tah-to to everybody else.

The fix, as I was saying is ridiculously easy. And to the best of my knowledge it won’t break anything in your current WP install. Worst that could happen is that it won’t fix your problem, but it won’t break your blog.

Continue reading

UPDATED 07/24/04 18:02 JST
Super Geeky entry on Blog migrations… you can safely skip if you do not have any idea what the names “WordPress” and “Movable Type” stand for. [I also added 100% WP stuff down there]

A temporary entry on the work in progress that is my move from Movable Type to WordPress.

I ported a bunch of scripts and plugins I was previously using with my MT installation. Also hacked happily through WP’s PHP sources…

Not completely done, but here are already a few usable hacks (I would not quite call them “plugins” given the amount of tweaking required to use them):

  1. mt2wp: Redirecting old MT entries to WP entries

    This script will not only redirect your old Movable Type archives (both categories and monthly), it will also redirect direct entry permalinks (e.g. “000123.html#000123”).
    To do the latter, you will need to have your old ‘mt_entries’ table in the same database as your current WP tables (you do not need the full MT install, just this table), but you can still have archive redirection by date and category even if you have thrown out your MT tables.

    Please read the instructions for more details on how to install and use.

    Overall, don’t forget to:

    1. Edit the script (mt2wp.php) with your blog archive’s URL
    2. Upload the script to your WP directory
    3. Edit your index.php template file
    4. Edit your .htaccess file
    5. Optionally edit your css file (usually wp-layout.css)

    SourcesZip File

  2. Picture Glue: Image Posting Plugin

    A port of the small plugin I had written for MT. By far not the most advanced picture import plugin for WP: there are better and nicer plugins out there doing roughly the same. But I needed backward compatibility and after all, it’s a convenient lightweight plugin to seamlessly upload and insert pictures in an entry.

    Picture Glue automatically looks in a predefined location for folders containing pictures (presumably uploaded through FTP), generates thumbnails and insert HTML code (with css tags) at the top of appropriate postings. Each picture folder must contain the ID of the post it is to be inserted into and must be writable by anybody (for thumbnail generation). This plugin updates the entry content in the DB once and for all, instead of dynamically filtering, thus creating less runtime overhead.

    To use, upload the php file in your plugin folder (located in WP wp-content directory). Read the plugin instruction for details.

    SourcesZip File

  3. Updated! wp-Filterz: Dynamic meta-filtering of your main content

    This plugin lets you define a bunch of meta-filters controlled by checkboxes. Checking/Unchecking boxes will show/hide entries dynamically. You can try it by going to the left bar of this site and playing with the boxes under the “Filterz” section.

    Now supports both IE and Mozilla-like browsers.

    To use it:

    • drop the plugin file into your plugin folder (located in WP wp-content directory)
    • edit the sample preferences with your own categories (you will need to know the ID of the categories you want to filter by)
    • upload the pref file to the wp-content directory (*not* the plugin directory)
    • edit your index.php file to include <?=filterz_class()?> inside the class declaration of your entry divs. Your template should look something like this: <div class="storycontent<?=filterz_class()?>">
    • use <?=$filterz_html_code?> in your template to output wp-filterz’ checkbox list
    • BTW: make sure you activate the plugin in WP’s admin tools.

    Plugin SourcePrefs file sampleZip File

  4. wp-Mood-Quote: Random quote matching your mood (codeveloped with Masquerade)

    This plugin lets you define a list of quotes/taglines/sentences to be displayed randomly when people load your page… with a small extra feature over the countless other random quote generator: this one will let you assign a “mood” to each quote and will then try to match the random quote with the current mood of your blog (using the last “mood” tag you set in one of your post). See docs for more details. (docs wiped out from Masquerade’s server, following some infortunate adventures in shell scripting involving the use of ‘rm -f *’ and no backup whatsoever).

    Zip FileTar Gz File

  5. New! Getting the “updated links” feature to work

    Not a hack. Just a little bit of help to those who might be confused on how to get that sort-by-last-updated feature to work in WP.

    Supposedly, WP lets you sort links. But simply following the instructions and calling get_links() with the proper parameters won’t suffice to enable that feature. To enable it, you must also:

    1. include (before calling any link output function) the file links-update-xml.php as such: include_once(ABSPATH.WPINC.'/links-update-xml.php');
    2. if you have upgraded (and still possibly if you have not), you must make sure you have a file named links-update-cache.xml in your wp-content folder and that it is writable by the server (chmod 666). caveat: it looks like previous versions of WP used a slightly different file name (link-update-cache.xml: mind the missing ‘s’), make sure you have the correct filename.

    Of course, you must also set the parameters in your function call correctly, as well as the options in WP-admin option panel.
    As an example, here is the code I use to output the bookmarks section on this site (it uses a list of IDs for the groups of links I want to display there). Feel free to adapt to your needs and reuse:

    <?php
    include_once(ABSPATH.WPINC.'/links-update-xml.php');
    foreach (array(2,3,5,9,7,8) as $this_cat)
    {
    echo "<li>", get_linkcatname($this_cat), "<ul>";
    get_links($this_cat, '<li>', '</li>', '<br>', false, '_updated', false, false, -1, 1);
    echo "</ul></li>";
    }
    ?>

  6. More will be coming… including:

    • a patch for MooKitty’s show_category plugin to generate a side blog from a specific category (the patch adds date synchronization between the main entries being displayed and the sideblog). it’s already being used on this very blog, I just need to clean it up and write a blurb for it.
    • small snippets that display smart navigational bars at top and bottom of the page… need to put these in a plugin and will release.
    • a patch on wp-mail plugin (allows posting of pictures through email) to use my Picture Glue plugin and generates thumbnails automatically (doesn’t do it at the moment). Actually, I made a whole plugin to do that (and more), it’s there: Keitai Mail Plugin
    • probably other stuff as I come across it…

I am currently carrying over a double move involving both my hosting solution and blog engine (switching from MT to WordPress, more on this later).
In the meantime, please excuse the many visual glitches, spare body parts scattered on the ground and blood stain on the walls. I’ll be working hard this week on making everything the way it used to be, when all was green and happy in drDaveLand…