Friday, July 9, 2010

Notes on re-imagining democracy

There's this very deeply embedded idea that democracy (the rule of the people) can only be possible with elements such as simple majority (50 + 1), representation (a proxy represents a sub-group) and partisanship (democrats vs republicans).

Simple majority, since you only need half of the voters at most to win, creates a very polarized discussion while leading to the passage of still widely (often close to 50%) unpopular laws. Partisanship leads to too many qui pro quo (I help you pass this law if you help me pass this one) and favors groupthink. Representatives often largely frustrate their voters and tend to create compromises based on geographically defined subgroups instead of abstract ideals. The whole mess leads to contradictory and complex laws with very many unrelated items that very few persons of "the people" can understand (and that "representatives" don't really read or understand anyway).

Looking at the often terribly messy, porky, corporate-influenced systems such as the United States various legislatures, most will give up and say "it's politics"...

However, it's important to get this right as many non-democracies tend to point at these less than ideal systems and say "see! democracy doesn't work as well as our dictatorship / repressive regime / centrally planned system!". Fist fights in parliaments don't help either...

However, there are many forms of democracy out there. For example, Nunavut has a non-partisan consensus government while Switzerland requires a double majority on constitutional matters.

With the advent of modern technology, such as instantaneous multi-point communication and ability to track in real-time billions of pieces of data we can implement many new and possibly better alternatives that could address some of the downsides of most established democracies.

If I were to try to imagine an ideal democracy, I would start by making it direct but with a very high threshold for passing new laws.

Issues could be raised with a simple majority supporting discussion on a neutral presentation of a subject/issue.

There would be no permanent representatives to discuss the issues but instead, on each individual issue raised, freelance "thinkers" (with hopefully some expert credential) that would explain in public forums their initial position and recruit supporters from the voter pool.

The most popular thinkers (selected on the basis of the supporters) on a particular issue would then be remunerated by the state to meet for a fixed duration and come to a possible consensus on a proposal that would finally be submitted to referendum with an high threshold (75%) to demonstrate wide consensus.

Wash and repeat for the numerous issues (and hopefully less of the non-issues) facing legislators.

The process would be highly automated and electronic, open (no hidden lobbies here) and easily accessible.

Of course, the idea is not that I have the perfect proposal yet but the hope is to encourage alternative thinking to come to a solution that is effective at creating the minimal set of reasonable and well thought out laws to make a political entity run well while maximizing voters interest and participation in the legislative process. Think "Wikipedia for bills"!

It would probably be best to fine tune this system on a small scale first, maybe by creating a "virtual government-in-waiting" somewhere to experiment while waiting for most constituencies to catch up on a certain political awareness and ease with modern electronic tools.

Researchable questions:
  • How would issues to be considered (subjects of discussion) could be submitted?
  • How well does the Nunavut system work in practice?
  • How do we ensure that all citizens have access to discussions and voting mechanism?
  • How do we make the participation system safe and secure?
  • What kind of social values would be necessary to be make this work?

Wednesday, July 7, 2010

Notes on America

As a Canadian and a Quebecker, there's a vested investment in our neighbors (and currently my hosts) to the south prospering. With 77% of exports and and 52% of our imports (in dollar value, CIA World Factbook) going to and from the US and close political relationship we can't afford a sick country to the south - politically, socially or economically.

The US is a society that achieved greatness under pressure and gave an achievable "American dream" to many around the world, constructing a society made up of every ethnic groups allied in the search of happiness in an atmosphere where an equitable chance was afforded to most. A society that set an example (not by force, but by success) to many all around the world. And the USA is still home to greatness: world's best universities, Silicon Valley home of the top technological companies and a list of Nobel laureates that far exceeds, at 320, any other country.

But increasingly (not that the sentiment is new) the greater dream now seems soiled, dirty, unattainable. Surely the economic, cultural and increasingly military empire will last for a while longer but with the economy veering off track it seems that the dream can turn into a nightmare.

Lack of confidence from the population in government entities justified by ineffective governments and transformation from democracy to corporatocracy. An unworkable corporatocracy because of widespread (and again justified) increasing distrust of corporations.

An economy increasingly centered around the military industrial-complex which can only produce hammers in a world where every problem then looks like a nail. The continued slide towards imperialism accompanied by the inevitable widespread violation of the values and human rights.

Lost of real, true "friends" in the world adds to the uncertainty about and worry about the US future global competitiveness (culturally and economically).

In the meantime, reactionary and self-centered citizens are engaged in bitter social debates in all parts of the political compass. This is poorly represented and contained by two parties leading to unbalanced politics without nuance pulled between two extremes and no possible negotiation. This naturally leads to increasing screeching calls to violence towards those of opposing views with only empty nationalism and empty slogans trying to hold the citizenry together.

How do you get the dream back on track so that the nightmare doesn't infect others?

Tuesday, July 6, 2010

Notes on Modern Nomadic Life

From the ancient Phoenician trading in the Mediterranean to the warring Mongol empire to modern day immigrants trading skills, there has always been a strong impulse for a subset of humans in each competing society to up and go in search of better opportunities. Large diasporas made up of Chinese, East Europeans, Asians and including a large chunk of the direct descendants of the Phoenicians, Lebaneses.

Formed around city-states, Phoenicians mirror modern electronic nomads moving from metropolis to metropolises: San Francisco, New York, Montreal, Vancouver, Paris, Munich, Shanghai, Buenos Aires... Centers of composite multicultural societies or melting pots , they've far outproduced and out-innovated sedentary locals by exposure to a large variety of cultures in the same lifetime.

Whether genetic impulse or societal pressure or maybe both (after all, migration is part of the human experience), these movements have led to a global culture further extended in modern time by the Internet and air travel.

Strong and welcoming cultures to immigrants have created liberal and open-minded city-societies with an appetite for constant changes. Trading has moved from physical objects to ideas or at least ideas of physical products and the rate of exchanges has accelerated.

Modern nomads have few physical possessions and rely instead on their electronic assets as the center of their identity. Instead of buying souvenirs to collect dust, they keep their possessions light with a focus on consumables and digital copies. Their life is often anchored by sedentary family members and friends in many countries with which they keep contact through intellectual exchanges, common interests and local news that could have global relevancy.

Being well remunerated for their experience, skills and knowledge they move from countries to countries while staying connected. They often live in self-contained family cell of 2 to 4 individuals. They follow opportunities without any of mental and financial burden of mortgages, car loans or pets. Atheists or philosophical with few fixed traditions or with religions that are either very personal (portable) or for which centers of worship exists everywhere, they move around freely. To prosper, they favor tolerance and political neutrality but seek discussions and exchanges of views as a way to experience the world. Their closets are full of clothes and styles varying not only through time but through cultures. They are suspicious and critical of nationalisms and borders, politicians hostile to immigrants (legal or not) although they'll also often develop an exaggerated and paradoxical sense of how good the home country is through many comparisons.

There are downsides of course. Unable to own profitably houses, they rent, moving around constantly and having very little motivation to customize their nest to make it welcoming.

Keeping in touch with friends is difficult and it is hard to create additional interconnections in their global social circle to strengthen it. They often isolate themselves to their small and tightly wound family cell outside work connections.

When not staying long enough, they only skim cultures without any real depth and often forget large chunk of cultural knowledge if they move too quickly. They are generally blind to the majority of the country, living in the very special and exceptional metropolis of each where life often has no relationship with the "countryside" where real power is often held.

Often assaulted by waves of differences and working at assimilating the basic cultural necessities, they often miss on grabbing deeper opportunities.

Various taxation, working visas and regulatory systems make moving around painful.

Some ideas to work around the issues faced by the modern nomad:
  • standing invitation to family and friends to serve as a forward base for tourism expeditions;
  • renting fully furnished and equipped apartments (beyond even current standards) to provide an "home sweet home" without having to sacrifice comforts;
  • participation in sports activities popular worldwide (association football aka soccer);
  • self-expectation of continuous language and cultural acquisition;
  • move often and aggressively outside the boundaries of the metropolis;
  • acquire a good understanding of local history for at least the last 100 years;
  • share your growing understanding of local culture online;
  • add alerts or subscriptions to local news sites for the current and past cities you've lived in;
  • keep notes of the opportunities as you discover them;
  • open yourself to opportunities to socialize with all social stratas and castes;
  • stay off the beaten path;
  • get to know locally popular artists and culture (and hopefully learn to like some!);
  • keep "bookmarks" on cultural artifacts that you like (movies, songs, books);
  • stay more than a year in your host country (3 years?).
Interesting researchable questions:
  • What countries have the largest net inflow and outflow of migrants?
  • What % of GDP is contributed by migrants (organized by length of stay)?
  • What attracts migrants? Can being the "world's university" and center of business startups be the main economic driver for a country?
  • Can migrants replace low birth rate in western societies?
  • How do countries integrate new migrants well?
  • What's the top inflow that a country can realistically support without creating inter-cultural tensions?
  • What country grants the most work visa per capita?
  • What further parallels can be made with past nomadic groups?
  • Are nomadic groups cyclical? Are they only possible currently because of the American empire?
  • What are the consequences of the differences between economic and political refugees and highly skilled / rich migrants?
  • All other things equals, what are the compensation benefits or knowing 1, 2, 3 languages?

Thursday, April 29, 2010

Recommend Books to learn Mandarin

I've got a pile of books, but only two have been useful so far:
  • Mandarin Chinese phrasebook & dictionary (pocket book from Berlitz)
  • Reading & Writing Chinese, Simplified Character edition (William McNaughton, Tuttle Language Library

Recommend websites to learn Mandarin



Trying to learn Mandarin without knowing Pinyin is like trying to learn English without knowing the alphabet. Start here to get the basics.

MDBG Chinese-English Dictionary

The word dictionary "Look up all chinese words in a text" is particularly powerful and produces beautiful results. It also has facilities to create your own quiz.


This works great to annotate entire article as you can provide a URL.


Really great and well made videos... Check out "Lesson #1: Vegetables" and go from there. I thought I would go crazy with the same music track over and over but I didn't so you should be safe!


Good article to read before embarking on the adventure... From it:
I have seen highly literate Chinese people forget how to write certain characters in common words like "tin can", "knee", "screwdriver", "snap" (as in "to snap one's fingers"), "elbow", "ginger", "cushion", "firecracker", and so on.
It really is true; I've tested those words on my Taiwanese born wife and she wasn't able to write down a single one...

One point to think about however before giving up: I think with the advent of various supporting software and portable computing devices such as Android mobile phones with on board translation software it is becoming increasingly feasible to learn Mandarin in a "reasonable" amount of time.

Writing Chinese characters with pinyin, auto-translating text and the ability to look up instantly every word in a text removes some of the barriers of learning Chinese. This means you should "cheat" your way to learning Chinese at every opportunity.

Otherwise, yeah, learning Chinese is definitely one of the crazier adventure someone can embark in!

Recommended PC software to learn Mandarin


Flashcards on steroids with pictures and audio. It keeps track of "stale items" and makes you review them based on how much trouble you had remembering them in the first place.

What I don't like is that it won't take inputs from the Microsoft IME as-is right now in my copy of Windows 7 but apart from that it's great.

The 13 free flashcards decks will take about 25 hours to master so I would recommend starting with those before buying the full version.


MDBG Chinese Reader is a PC client version of the very useful MDBG website (or is it the other way around?). When it hovers over Chinese characters it shows up you instant definitions and romanization. Another trial software, but very well made and I'm tempted to buy the full license as I'm relying it more and more.

Rosetta Stone

If you can afford it, I think it's an environment that works very well and is very complete. I love the fact that it's web based! I've had access to a license at work for a while and I'm looking forward to find an affordable license again...


Recommended Android Software to learn Mandarin

I personally use these everyday as I'm learning Mandarin/Chinese on my Motorola Droid.

Search for these on Android Market:

Google Pinyin

This is an IME, so once installed you need to enable it in Language & keyboard. Long press a text field to select it. Use ctrl-space to switch between Chinese and English, which makes the Android default keyboard unnecessary (except if you need to input a third language...).

Very smooth, easy pinyin input with good suggestions and clear, readable fonts.

Google Translate

Although complex sentences translation is generally poor, the interface is quick and fun to use with a tons of little features (such as copy to clipboard on tap, voice recognition, suggested translations, romanization, pronunciation, etc)

Hanping Ch-En

Great to look up individual words and star them offline (example: if you're travelling to Taiwan or China...). Much more reliable definitions than Google Translate since it is based on the well-known CE-DICT dictionary. Buy the Pro version, worth the (small) price of admission.

MortPlayer

Great to play audio books (such as the Pimsleur audio books). It also helps keeping your audio books apart from your music player.

Sunday, March 14, 2010

List of English words I can't pronounce...

Partly because I've learned English by reading and partly because of my French native tongue, I have enormous problems correctly pronouncing some words - especially those with a th sound

I'll update as I'm reminded of those I can't say correctly:
  • threaten
  • three/tree
  • earth
  • analytics

Friday, March 5, 2010

O Canada!

This is Canada. This is Canadian culture. Rick Mercer is Canada. Or at least Anglo-Canada, as I bet very few French-Canadians would know about Rick Mercer.

But they should, as all should you: funny but also deeply opiniated, Rick Mercer is at ease interviewing anyone. Manitoba trappers, roller derby players in Montreal, the prime minister and the fantastically interesting mayor of Mississauga - everyone gets the treatment but usually comes out more human, more Canadian.

A must-see, must-subscribe and must-follow kind of show for the Canadian expats and those who want a funny but informative outlook on Canada. Based on the very low view count, this is an unrecognized show...

in reference to: http://www.youtube.com/user/MercerReport (view on Google Sidewiki)

Monday, March 1, 2010

Intel VTune tools are broken on Windows 7 64-bit

If you want to profile C++ executables on Windows 7 64-bit with an Intel CPU, don't bother downloading Intel VTune or Intel Thread Checker or Intel Profiler (AFAIK, all the same thing) - they all crash as of these versions:

"Intel(R) VTune(TM) Performance Analyzer 9.1 Build:385" and
"Intel® Thread Profiler 3.1 Build:0.27583"

...with this uninformative error message:

SERA_Set_Platform_environment() Failed

For those like me having the same problems who are still looking for a free profiler that works and can't wait for Intel to fix VTune, check out AMD's CodeAnalyst.

And yes, the time-based profiling for this AMD product works for an Intel CPU (i5 in my case) on Windows 7 64-bit as I've just confirmed... and the download size is a fraction of VTune. You can also see this blog post if you don't believe me!

In CodeAnalyst, you can get functions level percentage by clicking your application process cpu usage bar in the system graph - it will then open a separate tab with function level samples.

Interesting that the trial software from a big company like Intel doesn't work as well as a free (as in beer) software from a company one tenth the size. The fact that Microsoft can't be bothered to provide such a basic development functionality except in their very costly Visual C++ premium edition is unforgivable... Doesn't Microsoft want to show off the fastest apps on their platform?

Note also how much of a pain and expenses are involved in profiling on win32 compared to apt-get'ing gprof and running that on any Linux box!

It's frustrating to have to go through registration screens, Internet Explorer specific sites and a few hundreds megabytes download to discover these facts...

Tuesday, February 23, 2010

Need privacy? Use Enigmail!

  • Do you want to send love letters that only your spouse should be able to read?
  • Do you want to make sure that emails you received are indeed sent by the person it is supposed to come from (and not some impersonator)?
  • Do you want to store confidential information at an untrusted location (on a network drive for example) without anyone else having access to that information?
  • Do you want to exchange sensitive information such as passwords, personally identifying information or proprietary secrets?
  • Do you want to limit the ability of hostile party to impersonate you electronically?
...then you need PGP (Pretty Good Privacy)!

First, a quick explanation of why PGP encryption is so interesting:

PGP, based on principles of public-key crytography, is a way to hide messages using a private (or secret) "key". The "hidden" (or encrypted) message can only be then returned to its original form using the public key. The reverse is also true: a message transformed by the public key can only be read by the private key.

That has all sorts of really interesting and sophisticated applications but two stand out:

First, you can digitally sign data by encrypting the result of a computation uniquely representing the data with your private key. Since only the public key can open that result, this can be used to prove that the data received matches the data sent.

Second is to create and send a message that can only be read by the person receiving it by using that recipient public key.

An email client to securely exchange email is a great start to add more privacy to your life. Best way to go about sending encrypted email is a combination of the following set of software, all OpenSource, free and cross-platform:
There are other tools, such as gpg4win, that will give you additional feature but they all use GnuPG.

BTW, on Windows installing gpg4win also installs GnuPG. The equivalent on Mac is MacPG. On Linux, these tools are generally all part of the distribution (look for Seahorse on Gnome for example).

Also note that Enigmail can be installed from inside Thunderbird by using Tools > Addons.

I'd also like to add that configuring Thunderbird 3 with Gmail is actually very easy; as soon as you enter your email as being @gmail.com, it sets the correct settings. In addition, everything is kept on the gmail IMAP server.

The Enigmail documentation is very good (better than what I wrote above!) and has an example that you can practice with.

Don't forget that when you send an email out you want to encrypt it with your recipient public key so that he can read the message.

When sending an email to someone that has a public key, make sure you've correctly imported the person's key here:

OpenPGP > Key Management > Display All Keys by Default

You can retrieve keys through the key servers:

OpenPGP > Key Management > Key server > Search for keys

However, make sure you exchange and verify the fingerprint for your keys through a secure channel to ensure you've got the correct key!

I would also recommend change the setting to use email addresses to decide intelligently which key to use (just make sure you verify that the key fingerprints you import indeed match the peer they are supposed to represent!)

OpenPGP > Preferences > Key selection > By email addresses

In Thunderbird, don't forget to save your drafts locally, and not on the server, otherwise there is a danger you would store your sensitive message as clear-text in the cloud:

Tools > Account Settings > Copies & Folders > Keep message drafts

I would also suggest disabling automatic decryption as you don't want to accidentally have someone see your encrypted emails over your shoulder:

OpenPGP > Automatically Decrypt/Verify messages

Use the menu option instead:

OpenPGP > Decrypt/Verify

A few things to remember:
  • be generous with your public key; you can and want to share it with everyone and distribute it through any public servers
  • be very protective of your private key: although this is itself encrypted with a key phrase, losing or exposing it to untrusted software should be prevented
  • don't lose it: your public/private key pair should become a way to enforce your identity
  • one weak point in all this is the software you use to manage and use your keys; be sure you trust the source and where you got it from!
Some settings that might satiate your extra paranoia:

Don't store emails locally where they are vulnerable to getting stolen:

File > Offline > Offline Settings > Message Synchronizing

Don't send emails with subjects:

OpenPGP > Preferences > Sending > Don't warn about subject line

Don't add more information on your setup than you should:

OpenPGP > Preferences > Advanced > Add Enigmail comment in OpenPGP signature

Use the Web of Trust (key signing parties!) by unchecking:

OpenPGP > Preferences > Sending > Always trust people's key



Saturday, February 6, 2010

TechRepublic is spammy

For some reason unrelated to newsletters, I opened an account with TechRepublic.

Two weeks later, this is what my spam-catcher inbox looked like (and note that the whole list does not fit on the screen!):



The number of email that site sent me far exceeded any other email sender (including the prolific local wine store). I'm having an hard time believing that anyone wants so much email from one site! I guess they haven't heard of "information overload".

And of course, when you do try to reach them through their email contact, they pop up a form to protect their own email...

I unsubscribed to all - hopefully they'll respect my wish.

Sunday, January 24, 2010

SACK not necessarily a good thing

Having fun testing large data transfers between Mac OS X, Linux 2.6 and Win7 machines.

I was getting very low transfer rate between the Win7 and Linux boxes (12 Mb/s) versus 92 Mb/s for other combinations.

This setting fixed it:

/sbin/sysctl -w net.ipv4.tcp_sack=0

From: http://datatag.web.cern.ch/datatag/howto/tcp.html

SACKs (Selective Acknowledgments) are an optimisation to TCP which in normal scenarios improves considerably performance. In Gigabit networks with no traffic competition these have the opposite effect.
But now, I have to figure out why I'm getting less than 100mb/s>

Saturday, January 23, 2010

Remote ssh connections, No buffer space

While testing the wonderful UDT, I had the following problems on Mac OS X:

#1

ssh connection being denied (even if Preferences > Share > Remote Login was enabled).

It appears that the UI configuration tool is broken and doesn't allow sshd-key-agent.

Change Preferences > Security radio button to Allow some connection. You should then be prompted for sshd-key-agent.

#2

While starting the client app that creates rather large buffer and UDP packet, I got the following:

$ ./appclient 192.168.0.195 9000
connect: Connection setup failure: unable to create/configure UDP socket: No buffer space available.

This can be solved with:

$ sudo sysctl -w kern.ipc.maxsockbuf=80000000
kern.ipc.maxsockbuf: 8388608 -> 80000000

Friday, January 1, 2010

Start Up Nation

http://freakonomics.blogs.nytimes.com/2009/12/04/how-did-israel-become-start-up-nation/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+FreakonomicsBlog+%28Freakonomics+Blog%29

Travel tips

Buy a good carry on, certified by an airline for cabin use. It should have good, large wheels (rollerblade type), a solid handle and many pockets with high quality metal zippers.

Attach a colorful piece of clothing on your luggage to make it easy to identify when you do the luggage claim.

Always bring a pen. For some weird reason, some places such as the US customs in Montreal's PET airport never have any pen.

Always check in online 24 hours before the flight. You may save money (discounts on checked in luggage), time (use of the self checkin terminal) and also a good safety net since the airline knows you'll be online.

Bring snacks; airlines are increasingly skimpy on food.

Make sure to fill out all the necessary forms before you get to customs.

Layer comfortable clothing so you can put and remove items as ambient temperature changes.

Make a checklist and keep updating it as you think of things to bring days before actually packing.

Travel lightly: figure out clothes that can be combined on your trip.

Bring moisturing cream to get around the dry air in the plane cabin,

Don't hesitate to remove your shoes to make yourself confortable.

Essentials: toothbrush, toothpaste, floss! Medication too of course.

Like to swim? Bring your bathing suit - you never know when your hotel will have a pool or a sauna.

Check EVERY pocket for liquids in your backpack and carry on before going through security.

Review visas and passport expiry date weeks before leaving. Renew passport so it is never less than 6 months before leaving.

Have currencies (or even better, credit cards) for both your origin and destination.

Make sure you have sufficient cash in your bank account. Make sure your debit card has a NIP of more digits (ATM in some countries have a limit of 4 digits) and setup automated payments for all accounts.

If you buy plane tickets months in advance, buy insurance for unexpected cancellation. Preferrably buy plane tickets in a window of 30 to 14 days before departure.

Packing your pieces of clothing in rolls instead of flat is more efficient and leads to better packing.

Make sure any bottle of liquids that could accidentally open or break are in an hermetic plastic bag.

Stick fragile objects in a box placed in a luggage for extra protection.

Squeamish? Bring a bottle of anti-bacterial hand cleaner.

Comfortable, slip on leather shoes that look both nice and can be used to walk anywhere. Don't skimp on both time and money to find the ideal pair of shoes. Personal prefence is for Ecco, but try them all!

Don't forget to bring a book or a magazine: it will make transit and waiting lines not as painful. Consider getting an ebook (such as a kindle).

Don't forget to charge all your electronic devices and spare batteries. Pack the various chargers and adapters.

Read up on the Wikipedia entry for your destination to make sure you don't miss out on anything.

A smartphone with wifi is increasingly useful as a portable mini computer to make reservations on the road.

A bottle opener can be useful but make sure it ends up in the checked in luggage.

Small first aid kit just in case.

Sunscreen is a must in sunny destination. Get the highest SPF possible.

Clean up your wallet and remove anything you won't need before leaving.

Keep all your passport number, credit cards, emergency phones online (suggest Google Docs).

Keep your addressbook (on your phone?) updated with your friends and family addresses so you can send them postcard.