Global Voices does Valentines: Teach someone to blog!

Back when there weren’t a lot of easy ways to start blogging elegantly I’d give blogs to any of my friends who showed interest, setting up Movable Type/WordPress/Blogger for them and working out simple templates I thought they’d like. Some of them are still up and going ( Mira, Woo! Room206, Speaks the Gimp, Tom Makes Pictures, A Collection of Works, The Creative Act, St-Francis Jigger, ) while others were abandoned a long time ago in favor of social networking or other hobbies (Brian, Princess Camp and Poison Frogs, Girl Riot, No, You’re a Blogger Geek, Lyss). Just making that list took me so long, I don’t think I ever added it all up like that before.

Anyway, these days I usually just point people at WordPress.com, since they have great themes, the best software around and an easy way to take it to the next level.

So what’s left to do? The other half of giving someone a blog: Showing them how to use it!

Global Voices Valentines Teach someone to blog or microblog

Global Voices’ core mission, aside from reporting on what’s happening in blogs all over the world, is to get more blogs and bloggers going whenever possible. Writing is good for you, it helps you clarify your thoughts and hone your writing, and it also helps people find you and keep up with you online.

GV is having a drive to get people to teach someone else how much fun blogging can be, or alternately blogging’s little cousin, microblogging (which means services like Twitter or identi.ca similar to “status” on facebook but with more power and more fun. btw I’m almost always @jeremyclarke).

I signed the pledge to write about it and teach someone, but as the above list implies, my life is already pretty saturated with people I’ve taught to blog, so if you live in Montreal and want to learn how to blog (or want some advice about it too I guess) drop me a line and I can help you out sometime.

If you have someone in your life with problems getting their message out (or a business to promote, or any other problem that could be solved if they had a TV channel) then consider taking some time to show them how blogging could improve their life <3

Greyhound.ca is a piece of shit website that is probably convincing people to buy cars.

UPDATE: Some commenters are reporting that the Greyhound.ca site works with Chrome despite still not working with Firefox, so maybe Chrome is the solution you are looking for. Read below for my take on how the site didn’t work in 2009, obnoxiously still relevant today.

From: Jeremy Clarke <jer @si….ing.com>
To: <webmaster @greyhound.ca>
Date: Fri, 6 Feb 2009 19:49:45 -0500
Subject: Greyhound.ca is completely broken if you haven’t noticed

Hi, I am a person who likes to use the bus as well as the internet.

Your site has been broken for years now and makes it harder to take busses. Lately it has become completely broken. You can’t search for any bus schedule without incurring an error.

Please try using your site and notice how broken it is, then fire whoever is in charge, hire someone who knows how to program a website, then make sure they fix the website. If you cannot handle this task please fire yourself, you do not deserve to be answering the ‘webmaster’ address at this domain.

error message from greyhound.caAnyone who rides the intercity busses in Canada has probably noticed that there is no way to get the Greyhound site to give you a proper quote on a bus fare, its been like that for years: they actually told me once at the terminal that I shouldn’t trust times and prices on the site because it is innacurate.

What’s new is that it now shows an error any time you even try to find the times that the busses leave. This means that the Greyhound.ca website is now 100% LESS USEFUL than the flyers they print out and offer a bus stations with departure times.

It’s pathetic and frustrating. They end up making you call them and waste human phone time instead of fixing their site. While getting angry I noticed a link on the site saying “have a problem? Email webmaster@greybound.ca”, so I sent them the message above.

Their response?

From: <postmaster @firstgroup.com>
Date: Fri, Feb 6, 2009 at 7:49 PM
Subject: Undeliverable: Greyhound.ca is completely broken if you haven’t noticed
To: jer@si….ing.com

Delivery has failed to these recipients or distribution lists:

webmaster@greyhound.ca
The recipient’s e-mail address was not found in the recipient’s e-mail system. Microsoft Exchange will not try to redeliver this message for you. Please check the e-mail address and try resending this message, or provide the following diagnostic text to your system administrator.
________________________________
Sent by Microsoft Exchange Server 2007

Thanks for the confirmation, assholes.

Lingua flexes its muscles.

On the site I work on, Global Voices we call our translation project Lingua. It is mostly composed of volunteers who love our mission so much they want to make sure people can read it in languages other than English (the default for Global Voices at this point, hopefully to change going forward).

Each translator chooses which posts they want to translate (we have too many in English for the other languages to translate everything) so usually we get 2 or 3 of the dozen or so active languages that translate any given post, and we show links at the top of the post to the translations (a mix of showing off and making it easy for people who’s first language isn’t English to find more convenient versions).

This is something wonderful for me to see: One post that the whole Lingua community got together and translated, resulting in a ridiculously long list that shows the truly amazing variety of letterforms, if nothing else, that Global Voices is printed in.

screenshot of language listing on a post that was translated into every lingua language

We use the ISO codes for languages (like wikipedia, i.e. fr.wikipedia.org) but in case you’re curious, the post is available in: French, Chinese Traditional, Chinese Simplified, Macedonian, German, Malagasy, Bangla, Swahili, Albanian, Spanish, Italian, Dutch, Russian, Serbian, Portuguese, Arabic, Polish, Indonesian, Japanese and Farsi.

That’s a mouthfull. I love my job.

Brain Controller for Video Games: WTF Awesome.

youtube video of the brain controller in action.

This is so badass, the OCZ NIA (Neural Impulse Activator). You wear a headband and are able to control video games using the muscles in your head as well as your mood brainwaves.

Seems like it could really compete with the keyboard as a means of information entry, though controlling a game with your face isn’t that much closer to the real thing than than your hand, it just more freaky.

Okay I lied: We are whores for cuteness

Donate to Global Voices - Help us spread the word

When the Global Voices community saw the baby joke (pictured in the last post) they loved it so much they demanded a lolcat-based campaign and the above was born.

Just to keep it classy we also have a more subdued badge:

Donate to Global Voices - Help us spread the word

Donation page, All badges.

New Global Voices Funding Drive Campaign?

joke global voices donation campaign

I think it will really rake in the dough, don’t you?

Note: This is obviously a joke. Global Voices would never resort to ridiculous, cute graphics as a branding tactic.

Keeping your server alive with Monit

NOTE: This is super web/development/sysadmin stuff, casual non website people should probably check this instead

Lately GV has been pretty out of control and our server has been crashing way to regularly due to too many visitors or bots. I’ve been working to find all the little holes in the Apache/PHP/MySQL configurations that are causing the crashes when load gets high, but it’s impossible while you’re constantly putting out fires and restarting the servers manually.

monit logoI’ve been having frustrating fun with a tool called Monit that helps stop your server from completely crashing by watching it’s system stats and selectively restarting processes or executing whatever command you want. It installs pretty easily on Linux servers (I think it’s in both Yum for CentOS/RH and in apt for Debian/Ubuntu) and it uses text files similar to Apache to set up different status conditions and what to do. The configuration took me awhile to get right, but once the percentages were tuned based on watching it for awhile it has kept the server from crashing even once for more than a minute despite some record traffic related to our Mumbai coverage. If it weren’t for Monit I’d probably still be getting calls in the middle of the night saying the site was down.

You still need to find the bugs in your server configuration, or move to more powerful hardware (what we’re doing), but even if its annoying that the apache needs to be restarted every few minutes in order to not crash the server, its better than having it crash randomly when you’re not around. While you’re still tuning the system, you can have it email you based on certain conditions, so you can see how often a certain status is reached and determine whether a restart is necessary. The manual explains the functions pretty well and isn’t too long.

My advice if you’re setting it up

Setting the reset/exec levels

If you’re setting it up for the first time and you’re not having any problems at the moment you should be careful not to set the percentages too high, or the server might crash before it got that bad. I was giving a Memory/RAM max around 80%, but the remaining 20% didn’t seem to be enough to save the server, it was already to late. Here are my settings for our Apache webserver:

check system server1.globalvoicesonline.org
if loadavg (1min) > 5 for 2 cycles then exec "/etc/init.d/httpd restart"
if loadavg (1min) > 7 for 1 cycles then exec "/etc/init.d/httpd restart"
if memory usage > 65% for 3 cycles then exec "/etc/init.d/httpd restart"
if memory usage > 75% then exec "/etc/init.d/httpd restart"

The ‘exec’ action is running the apache restart command directly, which will clear out all appache processes and restart them, freeing up RAM temporarily. I’m also running two levels of Load checking, which will measure the strain on the CPU. Together these cover a lot of situations that result in crashes, and there are two versions of each, one for bad situations that have gone on for awhile (“for 3 cycles” i.e. 3 minutes) and one for terrible situations that are seen even once (“for 1 cycles”, which is actually unnecessary to write).

You can actually also set up monitoring of specific processes like Apache or other servers, but its been a lot buggier (thinks the program’s not running when it is) for me than the raw server statistics, so use at your own risk.

Alternate Email Formatting for Monit

The default email format template that comes with Monit is pretty hard to read to the point where it’s kind of maddening to recieve messages from it. Luckily they offer a custom mail formatting api so you can make one that makes sense for you. The pieces they give you are a bit limiting but I worked out one that is very short and clear and should even work okay as an sms:

set mail-format {
from: monit@yourserver.org
subject: [$ACTION] $EVENT on $SERVICE
message: $DESCRIPTION
– – – – – – – – – – – – – – – – – –
Action: [$ACTION] at $DATE from $HOST

–monit
}

Which sends you emails like:

[exec] Resource limit matched for server2.globalvoicesonline.org
‘server.yourdomain.org’ mem usage of 71.9% matches resource limit [mem usage>65.0%]
– – – – – – – – – – – – – – – – – –
Action: [exec] at Fri, 28 Nov 2008 19:35:22 -0500 from server.yourdomain.org

–monit

Which I think is a lot better than the default. Any Monit users out there with a good format I’d love to see what else you’ve come up with.

Awesome: Global Voices website being shown on CNN!

It’s too bad that GV only gets attention when something horrible happens in a part of the world we cover well (in this case the nightmare attacks in Mumbai), but it’s pretty thrilling to see the site I run and design actually being shown on CNN TV!

global voices website being shown on CNN, photo of a tv

click image for larger version

Thanks to Jules Rincon for her quick reflexes getting this photo of the tv for us all!