Tag Archives: change

Thoughts on Dystopian Tech Future Vision

[fr] Quelques idées qui me sont venues en écoutant le podcast On The Media. Les visions dystopiques de notre futur technologique nous tiennent souvent pour des victimes passives et oublient de tenir compte des mécanismes de compensation que nous mettons inévitablement en place pour résister au changement. On met nos téléphones mobiles sur silence, et si tout le monde commence à porter des verres de contact avec reconnaissance faciale, on portera des masques ou on trouvera d'autres stratégies pour compenser (plus réalistement, il y aura peut-être moyen de bloquer la reconnaissance, tout comme on peut bloquer les moteurs de recherche).

J'aime l'idée selon laquelle la technologie nous permettrait "d'être plus de ce que l'on est déjà".

These last weeks I’ve been catching up with On The Media (partly thanks to being back in the saddle), and earlier this evening I was listening to the February 18 piece on “Our Future With Technology”.

I had a few thoughts as I was listening that I’d like to share with you.

First of all, I quite strongly believe in the position defended by Brooke at some point which says that technology mainly allows us to become more of what we are. This is along the line of what I try to explain about “dangers” of the internet regarding teenagers: most of the trouble they face online is the same kind of trouble they face offline. Yes, sometimes with a twist, and other consequences. But in a very general way, the internet is not a completely alien place — as our local online world sociologist Olivier Glassey said a few months back during a talk I attended, we need to stop thinking of the “online” as a “separate space” (the expression he used is “le lieu de l’altérité”).

A bit later in the show, they are talking about augmented reality: what will it be like when we can wear glasses or contact lenses which, along with facial recognition software, will allow us to identify the people we come upon in the streets? OMG-there-will-be-no-privacy-anymore the-end-of-the-world-as-we-know-it <insert more dystopian panic here>.

I’m always surprised that this kind of thought experiment never includes things like “well, some people might end up covering their faces” or “we’ll start wearing masks” or “there will be a way to opt out of being ‘facially recognized’” or… whatever coping mechanism one can imagine. Because as technology advances and disrupts the way we are used to living, we also evolve coping or evading mechanisms to resist change. Why does run-of-the-mill dystopian thinking always depict us as passive victims of the unstoppable advance of technology?

We’re not passive. We usually actively resist change. For example, we now carry on our phones everywhere we go, but we choose to mute them or screen our calls — something that was pretty unthinkable 30 years ago when all we knew was landlines.

With the dystopian glasses on (the show was constructed as an attempted dialogue between utopian and dystopian visions of our tech future) the idea was brought up that augmented reality might at some point allow us to ignore or obliterate what we disagree with — extreme example: not seeing people with radically opposed views to ours. Bob concluded “people obliterate people”, which in my sense is right: we are already obliterating what we don’t want to see. Technology might allow us to do it better (“becoming more of what we are”) but sticking to what is familiar and ignoring the rest is fundamentally human. If I wasn’t so tired right now I’d fish out this article I read (no memory where) which shows how we very selectively remember what already fits in our worldview and obliterate the rest.

I see the “people obliterating people” thing at play in India. In the same spaces (I’m talking of streets or neighbourhoods here), you have completely parallel and distinct societies that live on with very little knowledge or understanding of each other. Literally invisible to each other.

Similar Posts:

Posted in Technology | Tagged cellphone, change, coping, dystopia, face recognition, future, on the media, strategy, Technology, Thoughts, vision | Leave a comment

Scale in Community and Social Media: Bigger is not Always Better

[fr] Plus, ce n'est pas forcément mieux. Quand une communauté grandit, sa dynamique aussi. Un outil comme Twitter est peut-être plus gratifiant avec quelques centaines ou milliers de followers. Quand on arrive dans les dizaines ou centaines de milliers, le côté "conversation" disparaît. Au cours des dernières années, la blogosphère s'est aussi transformée: plus de blogs, plus de gros blogs, plus de lecteurs, et la disparition du sentiment d'être un peu "spécial" que l'on avait, tant lecteur que blogueur, au début.

Faire équivaloir le plus grand nombre au succès, c'est à mon avis faire fausse route. Ce n'est pas parce qu'un blogueur a plus de lecteurs qu'il est meilleur qu'un autre. Ou parce qu'on a plus de suiveurs sur Twitter qu'on exerce plus d'influence, comme l'a démontré une étude dont a parlé ReadWriteWeb.

In his blog post Defriendization is the future of social networks, that I commented upon in Defriending, Keeping Connections Sustainable and Maybe Superficial, Laurent Haug mentions his previous article Openness is difficult to scale, about how the kind of community involvement that worked for Lift in the early days just did not scale once the conference became more successful. This is a rule we cannot get escape from. Scale changes things. Success is a double-edged sword, because it might bring you into a country where the very thing that made your success is not possible anymore.

Clive Thompson explains this very well when it comes to the number of followers on Twitter, for example, in his Wired piece In Praise of Obscurity. Even if as the person being followed, you don’t really care about the size of the community gathered around you, the people who are part of that community feel its size and their behaviour changes. Bigger is not always better. More people in a community does not make it a better or even more powerful community.

This is one of the reasons it annoys me immensely when people try to measure the value of something by measuring its size. More readers does not mean I’m a better blogger. More friends on Facebook does not mean I’m more popular. More followers on Twitter does not mean I’m more influential.

I think that this is one of the things that has happened to the blogging world (another topic I have simmering for one of these days). Eight-ten years ago, the community was smaller. Having a thousand or so readers a day already meant that you were a big fish. Now, being a big fish means that you’re TechCrunch or ReadWriteWeb, publications that for some reason people still insist on calling “blogs”, and we “normal bloggers” do not recognize ourselves anymore in these mega-publications. The “big fish” issue here is not so much that formerly-big-fish bloggers have had the spotlight stolen from them and they resent it (which can also be true, by the way), but more that the ecosystem has completely changed.

The “blog-reading community” has grown hugely in numbers. Ten years ago, one thousand people reading a blog felt special because they were out-of-the-mainstream, they could connect with the author of what they read, and maybe they also had their own little blog somewhere. Nowadays, one thousand people reading a blog are just one thousand people doing the mainstream thing online people do: reading blogs and the like. The sense of specialness has left the blogosphere.

If you want to keep on reading, I comment upon another of the links Laurent mentions in Log-Out Day: Victims of Technology, or a Chance to Grow?

Similar Posts:

Posted in Thinking | Tagged bigger, blogging, change, clive thompson, community, laurent haug, publication, scale, size, twitter | Leave a comment

My Journey Out of Procrastination: Five Principles

[fr] Cinq principes importants que j'ai découverts au cours de mon voyage pour me libérer de la procrastination:

  1. le changement radical ne fonctionne pas
  2. ne pas se lancer seul; trouver du soutien
  3. gérer les "arriérés" aussi bien que changer le processus (l'hygiène de vie)
  4. trouver du plaisir dans le "faire", et pas juste dans le résultat
  5. connaître ses limites et les faire respecter (apprendre à dire non)

Les solutions qui ne reposent que sur un de ces principes (comme GTD, même si c'est un système excellent qui m'a beaucoup aidé) courent de grands risques d'échouer, si l'on ne se préoccupe pas des causes profondes qui ont mené à la mise en place (et au maintien) d'un fonctionnement basé sur la procrastination.

When you’re trapped in the procrastination rut, solutions coming from those who are out of it just seem inapplicable. “Just do it,” for example.

I think I’ve recently pulled myself out of the rut for good (fingers crossed), and before I forget what it is like to live with the heavy black cloud of “things I should have taken care of last week/month/year” over my head, here are a few thoughts on what helped me build a life for myself where my invoices are sent, my bills are paid, my deadlines are met, and I actually have guilt-free week-ends and evenings.

It wasn’t always like that. Actually, for most of my life, it wasn’t like that.

Changing, like most changes, has been a gradual process. I know that (for me, at least) one of the thick roots of my procrastination lies in a very archaic urge of mine to not be alone, to not do things alone. I rarely found it hard to do things (even the washing-up) if I had company, and I understood at some point that putting things off until I got myself in an unmanageable mess was in a way something I did to either force myself to ask others for help, or manipulate them into helping me out.

I think it was really important for me to understand this, because unfortunately, freeing oneself of life-threatening procrastination is not just a question of tricks and methods, but also about understanding what role such a behaviour plays in one’s “life ecosystem”, and what can be done to replace it. In my case, it included being proactive about asking for assistance or company, making sure I was having enough of a social life, and sorting out a few personal issue I’m not going to dive in here.

That being said, I learned five important principles throughout my journey that are worth sharing.

The first is that radical change will not work. If you tend to live in a messy home, it’s not spring-cleaning once every three years which will change that. Going from living in a messy home to living in a more or less ordered home is a lifestyle change. It’s like quitting smoking or starting to exercise regularly, or eating more healthily. Reading GTD, spending two days setting up your system, and “sticking to it”, will not be enough (though I’m a great fan of GTD). Be aware that you’re in for a long process, which will probably take years (it took years for me, in any case — maybe even half my lifetime). This means that you need to start by making small changes to the way you do things, instead of aiming for a revollution.

The second is to not do it alone. By that, I mean involve others to support you. Things I’ve done include buddy working, asking a friend to come over to help me clean the flat, or having my brother literally hold my hand during three months whilst I started getting my finances back in order. If it’s easier to do with somebody just sitting next to you, then ask somebody to do just that. I remember one of my first experiences of this was being on the phone with a friend, and we both had a horrible awful pile of dirty dishes to deal with. We both decided to hang up, do it now, and call again an hour later when it was done. Somehow, it felt easier to be doing the dishes when I knew my friend was doing the same thing in another country.

The third is that backlog and process both need to be dealt with. When you procrastinate, you start off in the worst of places: not only do you not have a healthy “lifestyle” process in place for dealing with things (you let them wait until it’s so urgent the only thing left to do is to call in the firemen), but you also have a (sometimes huge) backlog of “stuff” that needs dealing with. Be patient with yourself. Also, understand that there’s no point in just dealing with the backlog if you’re not fixing the process. GTD is mainly about the process. “Do it now” is also just about the process.

The fourth is to find pleasure in the doing. One component in my procrastination is that I’m overly goal-focused. One thing I had to learn to do was to enjoy doing things, and not just enjoy having done them. Life is now, even when you’re doing the dishes or cleaning the flat or paying bills. What can be done to make the process more pleasant? Well, there are things like listening to music or focusing on the task at hand in a zen-like way, but it’s also possible to keep in mind that by paying my bills now, I’m being kind to myself and treating myself well (by keeping myself out of future trouble). It helped me to realise that I really didn’t mind doing the dishes for friends when I was invited — it was doing them for myself that sucked. It wasn’t about the dishes: it was about doing stuff for myself. (Which opens a whole new can of worms: is it easy to treat yourself kindly?) When I started doing my dishes as if I were my own best friend that I loved, things started changing.

The fifth is to know your boundaries and enforce them (aka “say no”). When there is too much to do that you can’t keep up, it means that you’ve been accepting or taking on too much. This is a major chapter in itself (and as I’m getting increasingly better at setting limits and saying no when needed, I’m starting to realize how hopelessly bad most people are at this). If you catch up on the backlog, set up a good process, but keep on piling up your plate with more than you can eat, there’s no way out. Again, this principle opens up potential cans of worms: why is it difficult to say no? Fear of rejection or angering the other are not to be taken lightly. “Just understanding” this is often not enough, as the root of such behaviour is often emotional and needs to be treated with respect. (You’ll probably have noticed: you won’t get much out of yourself — or anyone — if you don’t treat emotional components of problems with respect.)

I think that before diving into any “method” to change one’s procrastinative habits, it’s worth pondering on all five of these principles and trying to keep them in mind whilst going on with one’s life: change will be successful only if you pay attention to them all. This is, in my opinion, where GTD on its own fails at “solving the problem”: it’s mainly about the process (part of the third principle here). You can get started implementing GTD, but if the deeper roots of your procrastination are not dealt with, you will simply fail at implementing GTD properly enough for it to be “the solution”, just like I did. Not that implementing GTD isn’t useful: it was a very important step for me, and helped me a lot (it changed my life, clearly), but it was not enough to free me from procrastination.

Another element I’d like to add, in case it comes handy to somebody, is that I noticed at some point that when I am under stress, I tend to feel down, and when I feel down, I tend to find it difficult to do things, and therefore procrastinate. Figuring out this vicious circle was a really important milestone for me. Of course, it then took many months of careful observation of myself to reach the point where I could go “Oh! I’m feeling down and crappy, am I stressed? What’s stressing me? Oh, let me deal with that now so I can climb out of the pit!” — and now, it never even gets to that stage (or very rarely) because I catch it even earlier and nip it in the bud.

Similar Posts:

Posted in Life Improvement, Personal, Psychology | Tagged backlog, boundaries, buddy working, change, doing, goals, gtd, journey, life, pleasure, process, procrastination, saying no | 6 Comments

Triggers and Dopamine

[fr] Deux idées importantes concernant la façon dont on fonctionne, particulièrement pour ce qui est de nos habitudes: les déclencheurs, qui appellent un comportement stéréotypé ou enregistré (une bonne ou mauvaise habitude), et la dopamine, qui lance plutôt l'appel du "reviens-y" que du plaisir, et qui s'active face à la nouveauté (ce qui explique que nos comportements un peu obsessionnels ou addictifs ne se soldent pas forcément par plus de plaisir).

As I have slowed down my work life for the end-of-year celebrations, I’m taking more time to read and write, something I want to keep going throughout 2010 and beyond.

These last days I’ve stumbled upon two interesting ideas that I’m adding to my understanding of how we change and why we do what we do — a subject of endless fascination for me.

The first is triggers and their importance in forming habits. I had never really thought of this until I looked at the new website 6 Changes. The idea here is that a habit is linked to something that triggers it. For example, feeling down and reaching for the fridge or the remote. Or putting your pyjamas on and brushing your teeth. Or getting up from a meal and doing the dishes.

In a way, this is something that FlyLady teaches you to put in practice by establishing morning and evening routines. (See the “Baby Steps” page on FlyLady for more similarity with what Leo explains in 6 Changes.) Creating routines is a way to have a series of habits where each one triggers the next.

I’m now keeping an eye open for triggers (think “API hooks” or “CSS classes” for the geeks out there) that I can build on to put in place new habits or replace undesirable ones.

I have a (minor) problem when I watch TV series, for example: I tend to watch one episode after the next more or less until I drop — I find it very hard to just watch one or two and be done with it. So I thought: “what could be the trigger here?” Obviously, the end credits of an episode. So, what I’ve decided to do now is pause the DVD, remove my headphones, get up and go to the kitchen or the bathroom when the end credits roll. Then I can go and watch the next episode if I want. See the idea? Clearly, I’m not building a new daily habit here, but using the idea of the trigger, a small first step, and incremental change to modify an undesired behaviour. Next step will be adding something more to “pause the DVD, remove headphones, get up” once that habit is established, which goes in the direction of helping me not dive mechanically back into my season, however fascinating it may be.

The second is the role of dopamine in relation to novelty. Dopamine is in fact not the “pleasure” drug, but more the “gimme more” one — it’s activated when we’re faced with novelty, and encourages us to come seeking it again. I’m not sure how I’m going to apply this to my daily life, but for me it’s important to understand that craving for something is not necessarily linked to pleasure in getting the something in question. In my opinion it explains why we can get stuck in compulsive behaviours (checking e-mail or iPhone being the most obvious) which do not make us really happy when we indulge in them — on the contrary, I know that I often end up feeling a bit empty when I’m stuck in a compulsion circle.

I find the last paragraph of the HuffPost article linked above very wise:

Given all of this, what can we do to prevent ourselves from becoming novelty-seeking zombies? The first thing is to simply become mindful of one’s use of media and devices. I find that one of the best things to do is to institute regular vacations from email. It usually takes a couple of days for the itch to check my email every five minutes to go away, and watching it happen reminds me just how obsessed I can become, but it also shows that it’s possible to lead a perfectly normal and fulfilling life without constant email access. Once we see that we can live without constant access to our devices, we can start trying to exert some control over device use in our daily lives. Evolution gave us the ability to overcome our urges, but we have to have the will to employ this control. One bit of good news is that we can improve our self-control with practice [...].

Russell Poldrack

I think the most important thing that Russell says here is that technology is basically putting us in a position where we have to grow as human beings if we do not want to be slaves to our impulses. This is true in general, but once more, technology is magnifying and making apparent issues which are already there, but which might not have been that visible until now.

Similar Posts:

Posted in Life Improvement, Psychology | Tagged 6 Changes, addiction, addictive, change, compulsive, dopamine, flylady, habits, triggers | Leave a comment

6 Changes For 2010 — and My Objectives

[fr] 6 Changes est un site qui vous encorage à mettre en place 6 nouvelles habitudes (ou à éliminer des anciennes) pour 2010, plutôt que de vous acharner sur de "bonnes résolutions" qui font long feu. L'auteur du site propose une méthode très progressive pour effectuer ces changements, et qui est complètement en ligne avec ce que je prêche à droite et à gauche: commencer très petit et modeste plutôt que de viser les grandes révolutions.

Nathalie just pointed me to the website 6 Changes, which I’ve quickly read through, and which is very very good. It’s an antidote to the failure of New Year Resolutions. It’s very FlyLady-ish in spirit (read my post “The Wisdom of Small Changes“) and is completely in line with many conversations I’ve had lately about changing things in one’s life.

From the site’s Quick Start Guide (the author is Leo Babauta of Zen Habits):

Here’s a quick overview of this site and how it will help you.
  1. About this site. What is 6Changes.com? Choose 6 habits for 2010, and I’ll help you form them.
  2. The 6 Changes Method. Here’s the method that you’ll use to form each of the 6 habits.
  3. Suggest habits. Which six will you choose? Some recommendations.
  4. The Importance of Public Accountability. Why it’s one of the foundations of the method, and how to do it.
  5. What’s a Trigger & Why Is It So Important? Another key to the method.
  6. Why You Should Do Only One Habit at a Time. Answers one of the most common questions people have about the method.
  7. How to Be Patient as Your Habit Develops. It’s not easy to do it this slowly, but here’s how it works and how to do it.
  8. The Problem With New Year’s Resolutions. Actually, a number of problems. And how this method will solve them.
  9. The Art of the Start of a Habit. Why starting is so hard and how this method overcomes it.
  10. How to Kick a Bad Habit. Suggested method that has worked for me in the past.
  11. How to Form the Exercise Habit. One of a series of planned posts about how to apply the method.

I’ve never been a New Year Resolutions person, because I understood early on that they didn’t work. Over the last years (and especially the last) I’ve really learnt that dramatic change rarely works, and how important habits are. I have to say FlyLady really helped with that.

I had a few objectives for 2009, though:

  • get my finances back on track (being up-to-date with bills, earning enough to live on, starting to pay off debt)
  • get my flat back under control (it’s now “visitor-ready” at all times even though it’s far from perfect, and I’m housecleaning almost every week)
  • have a healthier lifestyle (I’m not sure this was a conscious decision at the beginning of the year, but I’ve reclaimed my evenings, week-ends, and lunch breaks, continued to pay attention to what I eat, and started exercising almost daily)

So, what do I want to achieve by the end of 2010?

  • decorate my flat (I’ve been living in it for nearly 10 years!)
  • improve the “packaging” of my professional services (that’s the “selling myself” department)
  • save up enough money and time to go on a “big trip” somewhere (India, most probably)
  • move beyond weekly planning.

Now, can I translate those into 6 changes? I’m going to think about it seriously.

Similar Posts:

Posted in Life Improvement, Personal | Tagged 2010, 6changes, change, lifehacks, new year, new year resolutions, psychology, zenhabits | 5 Comments

A Week of FlyLady Inspiration

[fr] Une semaine à faire 15 minutes de rangement par jour. Les petits pas fonctionnent pour moi! Mon hall d'entrée est rangé, et plein d'autres changements sont en route.

Last week-end, I wrote about the Wisdom of Incremental Change, or something like that. I’ve spent a week now on my FlyLady-ish programme, and am reporting now to the world so you can witness my progress.

Huge progress.

I feel like I have a new life. I feel like soon, I’ll actually be able to bake cookies (one of my fantasies, representing a stress-free life where one has enough time to do useless but pleasant things like baking cookies).

Here’s what I’m doing:

  • morning routine (includes making the bed and rincing the bathroom sink clean)
  • unclutter 15 minutes a day
  • evening routine (includes checking my calendar for the next day, planning train times, and major work activities)
  • clean sink, bathtub, two counters, mirror and toilet with detergent on Sunday
  • clean kitchen sink with detergent on Sunday
  • empty my GTD inbox 15 minutes a day
  • Sunday = bath day!
  • generally, keeping clean/uncluttered areas that way
  • going to bed at midnight (Cinderella technique)
  • set alarms for all regular things throughout the week, including mealtimes

Here are the things I’m thinking of slowly easing into my routines; not all at once, but next on the list:

  • set Roomba to work in a different room each day
  • go through projects, clients, and tasks 15 minutes a day
  • prepare stuff I need the night before (ie. judo bag, snacks)
  • set alarms for snacks between meals
  • do “weekly home blessing” (not right away though)
  • get an indoor bicycle for my bedroom and cycle 20 minutes a day on it
  • add stretching and other exercises to my morning and evening routines (gradually)

It’s interesting how cleaning/uncluttering is contagious: in addition to straightening out my hallway (photos below) I also emptied my big suitcase (it had been lying around since October with stuff still in it), but a few hooks up in the kitchen, and removed all the dead leaves from my plants (poor neglected plants).

Equally of note, I put my clean laundry away the very day I unhung it (it’s easier when the last load of clean laundry isn’t still lying around the room), cleared out my fridge before I went shopping, and threw out a few scary things that were in my freezer (like 2 or 3 year old chicken legs and fish).

Here’s a before and after pair of photos taken from my hallway; click on the photos to read notes:

next cluttered-up space in the zone Uncluttered hallway

I’ve also reorganised the entrance part of my hallway (again, click for notes):

Uncluttered and reorganized hallway

I realised that I have a lot of stuff in my flat which has no home. But I also have lots of spaces which are not home to any stuff. For example, those white shelves in my hallway where just layer upon layer of “things dumped here”. What are they going to be home to? As you can see in the notes, I’m trying to figure out what to put in them — but I’m sure it’s not final. I have cupboards and drawers which are just full of “stuff” that was dumped there at some point when I moved furniture around — I need to have a long hard think about what goes where at some point. (That’s an idea for a future blog post: a list of stuff that I’m keeping but I don’t know where to keep.)

A side-effect of this “more sleeping, more cleaning” regime is that I’m way less stressed (I feel like a big cloud has lifted off my life) and I’m taking time to do things, like eat and cook. I cooked my first chicken last night, and today made chicken salad, chicken soup, and cooked some minced meat that needed it. I think that for quite a few years, I’ve put a lot of energy trying to “escape from” my flat (well, my chaos) when I was in it. Now, I’m happy to be around. Happy to see that I’m taking control of things.

2009 is the year of taking control of my life again. I’ve been letting it happen to me for way too long. So here we go:

  • keeping track of my finances with buxfer — which has a great iPhone site btw, and allows updates from Twitter, so you can enter all your transactions on the road if needed
  • regaining control of my living space with FlyLady
  • keeping control of the “stuff” I want to do with a sprinkling of GTD (and having an office).

I’m going to love 2009!

Similar Posts:

Posted in Life Improvement, Personal | Tagged change, cleaning, flylady, life, lifeimprovement, myflat, Pieces of Me, Practical, user/07467067922840649993/state/com.google/read | 8 Comments

Musings on a Multiblog WordPress

[fr] Je réfléchis à comment on pourrait donner à WordPress la capacité de gérer plusieurs blogs avec une installation. Je me heurte à un problème concernant les includes PHP. Feedback et autres idées bienvenues!

Update June 2007: Try WordPress Multi-User now.

I’ve used Shelley’s instructions using soft links. I tried Rubén’s proof-of-concept, but got stuck somewhere in the middle.

So I started thinking: how can we go about making WordPress MultiBlog-capable? Here is a rough transcript of my thoughts (I’ve removed some of the dead ends and hesitations) in the hope that they might contribute to the general resolution of the problem. I have to point out my position here: somebody with a dedicated server who’s thinking of setting up a “WordPress weblog-farm” (for my pupils, mainly). So I’m aware that I’m not the “standard user” and that my solution is going to be impractical to many. But hey, let’s see where it leads, all the same. Actually, I think I probably reconstructed most of Rubén’s strategy here — but I’m not sure to what extent what I suggest differs from what he has done.

From a system point of view, we want to have a unique installation of WordPress, and duplication of only the files which are different from one blog to another (index.php, wp-config.php, wp-comments.php, wp-layout.css, to name a few obvious ones). The whole point being that when the isntall needs to be upgraded, it only has to be upgraded in one place. When a plugin is downloaded and installed, it only has to be done once for all weblogs — though it can of course be activated individually for each weblog.

From the point of view of the weblogs themselves, they need to appear to be in different domains/subdomains/folders/whatever. What I’m most interested in is different subdomains, so I’ll stick to that in my thinking. (Then somebody can come and tell me that my “solution” doesn’t work for subfolders, and here’s one that works for subfolders and subdomains, and we’ll all be happy, thankyouverymuch.) So, when I’m working with blog1.example.com all the addresses need to refer to that subdomain (blog1.example.com/wp-admin/, etc); ditto for blog2.example.com, blog3.example.com, blogn.example.com (I used to like maths in High School a lot).

As Rubén puts it, the problem with symbolic links (“soft links”) is called “soft link hell”: think of a great number of rubber bands stretched all over your server. Ugh. So let’s try to go in his direction, for a while. First, map all the subdomains to the same folder on the server. Let’s say blog1.example.com, blog2.example.com (etc.) all point to /home/bunny/www/wordpress/. Neat, huh? Not so. They will all use the same wp-config.php file, and hence all be the same weblog.

This is where Rubén’s idea comes in: include a file at the top of wp-config.php which:

  1. identifies which blog we are working with (in my case, by parsing $HTTP_HOST, for example — there might be a more elegant solution)
  2. “replaces” the files in the master installation directory by the files in a special “blog” directory, if they exist

The second point is the tricky one, of course. We’d probably have a subfolder per blog in wordpress/blogs: wordpress/blogs/blog1, wordpress/blogs/blog2, etc. The included file would match the subdomain string with the equivalent folder, check if the page it’s trying to retrieve exists in the folder, and if it does, include that one and stop processing the initial script after that. Another (maybe more elegant) option would be to do some Apache magic (I’m dreaming, no idea if it’s possible) to systematically check if a file is available in the subdirectory matching the subdomain before using the one in the master directory. Anybody know if this is feasible?

The problem I see is with includes. We have (at least) three types of include calls:

  • include (ABSPATH . 'wp-comments.php');
  • require ('./wp-blog-header.php');
  • require_once(dirname(__FILE__).'/' . '/wp-config.php');

As far as I see it, they’ll all break if the calling include is in /home/bunny/www/wordpress/blogs/blog1 and the file to be called is in /home/bunny/www/wordpress. What is wrong with relative includes? Oh, they would break too. Dammit.

We would need some intelligence to determine if the file to be included or called exists in the subdirectory or not, and magically adapt the include call to point to the “right” file. I suspect this could be done, but would require modifying all (at least, a lot of) the include/requires in WordPress.

Maybe another path to explore would be to create a table in the database to keep track of existing blogs, and of the files that need to be “overridden” for each blog. But again, I suspect that would mean recoding all the includes in WordPress.

Another problem would be .htaccess. Apache would be retrieving the same .htaccess for all subdomains, and that happens before PHP comes into play, if I’m not mistaken.

Any bright ideas to get us out of this fix? Alternate solutions? Comments? Things I missed or got wrong? The comments and trackbacks are yours. Thanks for your attention.

Similar Posts:

Posted in Wordpress | Tagged apache, change, farm, folder, hack, htaccess, modify, multi, multiblog, multiple, multisite, server, site, subdomain, Wanted, weblog, Weblog Technology, Wordpress | 50 Comments

Life and Trials of a Multilingual Weblog

[fr] J'explique ici quelles sont les modifications que j'ai faites à WordPress pour gérer le bilinguisme de mon weblog -- code php et css à l'appui. Je mentionne également quelques innovations que j'ai en tête pour rendre ce weblog plus sympathique à mes lecteurs monolingues (ce résumé en est une!) Un canal pour le weblogging multilingue a été ouvert sur TopicExchange, et vous y trouverez peut-être d'autres écrits sur le même sujet. Utilisez-le (en envoyant un trackback) si vous écrivez des billets sur le multinguisme dans les weblogs!

My weblog is bilingual, and has been since November 2000. Already then, I knew that I wouldn’t be capable of producing a site which duplicates every entry in two languages.

I think this would defeat the whole idea of weblogging: lowering the “publication barrier”. I feel like writing something, I quickly type it out, press “Publish”, and there we are. Imposing upon myself to translate everything just pushes it back up again. I have seen people try this, but I have never seen somebody keep it up for anything nearing four years (this weblog is turning four on July 13).

This weblog is therefore happily bilingual, as I am — sometimes in English, sometimes in French. This post is about how I have adapted the blogging tools I use to my bilingualism, and more importantly, how I can accommodate my monolingual readers so that they also feel comfortable here.

First thing to note: although weblogging tools are now ready to be used by people speaking a variety of languages (thanks to a process named “localization”), they remain monolingual. Language is determined at weblog-level.

With Movable Type, I used categories to emulate post-level language awareness. This wasn’t satisfying at all: I ended up with to monstrous categories, Français and English, which didn’t help keep rebuild times down.

With WordPress, the solution is far more satisfying: I store the language information as Post Meta, or “custom field”. No more category exploitation for something they shouldn’t be used for.

Before I really got started doing the exciting stuff, I made a quick change to the WordPress admin interface. If I was going to be adding a “language” custom field to each and every post of mine, I didn’t want to be doing it with the (imho) rather clumsy “Custom Fields” form.

In edit.php, just after the categorydiv fieldset, I inserted the following:

<fieldset id="languagediv">
      <legend>< ?php _e('Language') ?></legend>
      <div><input type="text" name="language" size="7"
                     tabindex="2" value="en" id="language" /></div>
</fieldset>

(You’ll probably have to move around your tabindex values so that the tabbing order makes sense to you.)

I also tweaked the wp-admin.css file a bit to keep it looking reasonably pretty, adding the rule below:

#languagediv {
    height: 3.5em;
    width: 5em;
}

and adding #languagediv everywhere I could see #poststatusdiv, so that they obeyed the same rules.

In this way, I have a small text field to edit to set the language. I pre-set it to “en”, and have just to change it to “fr” if I am writing in French.

We just need to add a little piece of code in the form processing script, post.php, just after the line that says add_meta($post_ID):

 // add language
    if(isset($_POST['language']))
    {
    $_POST['metakeyselect'] = 'language';
        $_POST['metavalue'] = $_POST['language'];
        add_meta($post_ID);
        }

The first thing I do with this language information is styling posts differently depending on the language. I do this by adding a lang attribute to my post <div>:

<div class="post" lang="<?php $post_language=get_post_custom_values("language"); $the_language=$post_language['0']; print($the_language); ?>">

In the CSS, I add these rules:

div.post:lang(fr) h2.post-title:before {
  content: " [fr] ";
  font-weight: normal;
}
div.post:lang(en) h2.post-title:before {
  content: " [en] ";
  font-weight: normal;
}
div.post:lang(fr)
{
background-color: #FAECE7;
}

I also make sure the language of the date matches the language of the post. For this, I added a new function, the_time_lg(), to my-hacks.php. I then use the following code to print the date: <?php the_time_lg($the_language); ?>.

Can more be done? Yes! I know I have readers who are not bilingual in the two languages I use. I know that at times I write a lot in one language and less in another, and my “monolingual” readers can get frustrated about this. During a between-session conversation at BlogTalk, I suddenly had an idea: I would provide an “other language” excerpt for each of my posts.

I’ve been writing excerpts for each of my posts for the last six months now, and it’s not something that raises the publishing barrier for me. Quickly writing a sentence or two about my post in the “other language” is something I can easily do, and it will at least give my readers an indication about what is said in the posts they can’t understand. This is the first post I’m trying this with.

So, as I did for language above, I added another “custom field” to my admin interface (in edit-form.php). Actually, I didn’t stop there. I also added the field for the excerpt to the “simple controls” posting page that I use (set that in Options > Writing), and another field for keywords, which I also store for each post as meta data. Use at your convenience:

<!-- BEGIN BUNNY HACK -->
<fieldset style="clear:both">
<legend><a href="http://wordpress.org/docs/reference/post/#excerpt"
title="<?php _e('Help with excerpts') ?>"><?php _e('Excerpt') ?></a></legend>
<div><textarea rows="1" cols="40" name="excerpt" tabindex="5" id="excerpt">
<?php echo $excerpt ?></textarea></div>
</fieldset>
<fieldset style="clear:both">
<legend><?php _e('Other Language Excerpt') ?></legend>
<div><textarea rows="1" cols="40" name="other-excerpt"
tabindex="6" id="other-excerpt"></textarea></div>
</fieldset>
<fieldset style="clear:both">
<legend><?php _e('Keywords') ?></legend>
<div><textarea rows="1" cols="40" name="keywords" tabindex="7" id="keywords">
<?php echo $keywords ?></textarea></div>
</fieldset>
<!-- I moved around some tabindex values too -->
<!-- END BUNNY HACK -->

I inserted these fields just below the “content” fieldset, and styled the #keywords and #other-excerpt textarea fields in exactly the same way as #excerpt. Practical translation: open wp-admin.css, search for “excerpt”, and modify the rules so that they look like this:

excerpt, #keywords, #other-excerpt {

height: 1.8em;
width: 98%;

}

instead of simply this:

excerpt {

height: 1.8em;
width: 98%;

}

I’m sure by now you’re curious about what my posting screen looks like!

To make sure the data in these fields is processed, we need to add the following code to post.php (as we did for the “language” field above):

// add keywords
    if(isset($_POST['keywords']))
    {
    $_POST['metakeyselect'] = 'keywords';
        $_POST['metavalue'] = $_POST['keywords'];
        add_meta($post_ID);
        }
   // add other excerpt
    if(isset($_POST['other-excerpt']))
    {
    $_POST['metakeyselect'] = 'other-excerpt';
        $_POST['metavalue'] = $_POST['other-excerpt'];
        add_meta($post_ID);
        }

Displaying the “other language excerpt” is done in this simple-but-not-too-elegant way:

<?php
$post_other_excerpt=get_post_custom_values("other-excerpt");
$the_other_excerpt=$post_other_excerpt['0'];
if($the_other_excerpt!="")
{
    if($the_language=="fr")
    {
    $the_other_language="en";
    }

if($the_language=="en")
{
$the_other_language="fr";
}

?>

    <div class="other-excerpt" lang="<?php print($the_other_language); ?>">
    <?php print($the_other_excerpt); ?>
    </div>
  <?php
  }
  ?>

accompanied by the following CSS:

div.other-excerpt:lang(fr)
{
background-color: #FAECE7;
}
div.other-excerpt:lang(en)
{
background-color: #FFF;
}
div.other-excerpt:before {
  content: " [" attr(lang) "] ";
  font-weight: normal;
}

Now that we’ve got the basics covered, what else can be done? Well, I’ve got some ideas. Mainly, I’d like visitors to be able to add “en” or “fr” at the end of any url to my weblog, and that would automatically filter out all the content which is not in that language — maybe using the trick Daniel describes? In addition to that, it would also change the language of what I call the “page furniture” — titles, footer, and even (let’s by ambitious) category names. Adding language sensitivity to trackbacks and comments could also be interesting.

A last thing I’ll mention in the multilingual department for this weblog is my styling of outgoing links if they are written in a language which is not my post language, using the hreflang attribute. It’s easy, and you should do it too!

Suw (who has just resumed blogging in Welsh) and I have just set up a “Multilingual blogging” channel on TopicExchange — please trackback it if you write about blogging in more than one language!

Similar Posts:

Posted in Language Geekiness, Wordpress | Tagged admin, administration, attribute, bilingual, blog, blogging, blogtalk, category, change, code, css, custom, data, differenciate, excerpt, exchange, field, hacks, hreflang, interface, keywords, lang, language, Languages / Linguistics, link, Meta, modify, monolingual, movable type, multilingual, outgoing, php, post, printscreen, reader, Real Live Code, screenshot, style, suw, topic, topicexchange, Weblog Technology, welsh, Wordpress | 38 Comments