All posts by Michael Sanford

Popups in Print Media 2.0

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

Well, we've come full circle. This morning, I took a Journal métro (while exiting the Métro) to discover that an enterprising marketing guy had stuck a popup on my print media.

An ad sticker placed over a front-page article's headline and content.

I'm a fan of print media. I prefer to read Le Monde Diplomatique or Monocle in their print forms (even considering tablets). I also think that traditional media can learn from new media. But, seriously, let popups and popovers die already.

Compiling xhprof for PHP 5.4

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

We use xhprof to profile our web application framework. The pecl installer was failing with `[xhprof.lo] Error 1` in the make phase with PHP 5.4. Here's how to fix that.

Currently, trying
sudo pecl install xhprof-beta
throws the following errors in the `make` phase for PHP >= 5.4:

In file included from /usr/include/php5/main/php.h:33:0,
from /tmp/pear/temp/xhprof/extension/xhprof.c:27:
/usr/include/php5/main/php_config.h:2396:0: warning: "_GNU_SOURCE" redefined [enabled by default]
/tmp/pear/temp/xhprof/extension/xhprof.c:24:0: note: this is the location of the previous definition
/tmp/pear/temp/xhprof/extension/xhprof.c:236:1: warning: 'visibility' attribute ignored [-Wattributes]
/tmp/pear/temp/xhprof/extension/xhprof.c:240:28: warning: 'visibility' attribute ignored [-Wattributes]
/tmp/pear/temp/xhprof/extension/xhprof.c: In function 'hp_get_function_name':
/tmp/pear/temp/xhprof/extension/xhprof.c:898:10: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
/tmp/pear/temp/xhprof/extension/xhprof.c:909:13: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
/tmp/pear/temp/xhprof/extension/xhprof.c:911:13: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
/tmp/pear/temp/xhprof/extension/xhprof.c:930:34: error: 'znode_op' has no member named 'u'
/tmp/pear/temp/xhprof/extension/xhprof.c:963:9: warning: passing argument 1 of 'hp_get_base_filename' discards 'const' qualifier from pointer target type [enabled by default]
/tmp/pear/temp/xhprof/extension/xhprof.c:856:14: note: expected 'char *' but argument is of type 'const char *'
/tmp/pear/temp/xhprof/extension/xhprof.c: In function 'hp_execute_internal':
/tmp/pear/temp/xhprof/extension/xhprof.c:1650:24: error: 'znode_op' has no member named 'u'
/tmp/pear/temp/xhprof/extension/xhprof.c:1651:59: error: 'struct <anonymous>' has no member named 'return_reference'
/tmp/pear/temp/xhprof/extension/xhprof.c:1652:25: error: 'znode_op' has no member named 'u'
/tmp/pear/temp/xhprof/extension/xhprof.c: In function 'hp_compile_file':
/tmp/pear/temp/xhprof/extension/xhprof.c:1683:3: warning: passing argument 1 of 'hp_get_base_filename' discards 'const' qualifier from pointer target type [enabled by default]
/tmp/pear/temp/xhprof/extension/xhprof.c:856:14: note: expected 'char *' but argument is of type 'const char *'
make: *** [xhprof.lo] Error 1
ERROR: `make' failed

According to a PHP bug report, this issue was fixed by Facebook but not made available on pecl, so you will need to install from the xhprof github repo, like so:

cd xhprof-master/extension/
sudo make install

And enable the module in your php.ini, where `xhprof.output_dir` is the directory into which profiles will be generated.


And restart apache, with either of the following two:
sudo service apache2 restart or sudo apachectl graceful

Existing users who have upgraded to PHP 5.4 may opt for this xhprof-0.9.2 patch.

When the wrong way is the right way: my standards box

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

I'm a meticulous person. I will correct a typo in a 2-year old post. I refactor like I vote: early and often. However, I was recently confronted with a very simple problem that stumped me completely. No, it wasn't FizzBuzz. The solution eluded me because it entirely broke what I thought of as good practice, especially given my experience in accessible web development. Having often been the go-to guy for thinking 'outside the box', I found myself inside one of my own creation. The ugly kludge of a solution was, in retrospect, a perfectly acceptable one given the circumstances. So why didn't I think of it?

My friend, who is not a developer, asked me to give him a hand off the cuff, at the end of the day and over IM. I had a few minutes to offer advice on solving his problem. He complained of "doubled bullets" on an HTML page (which was presumably rendered from an OCR or document export) similar to the following HTML fragment:

    <span class="bullet">• </span>
    <span>First item</span>
    <span class="bullet">• </span>
    <span>Second item</span>

Obviously, the doubled bullet was the result of a hard-coded bullet entity, which has a simple fix: find and replace the whole span string. Done.

What I didn't realize is that there were other, similar problems in the export parsing that had caused output like this:

    <span class="bullet">a) </span>
    <span>First item.</span>
    <span class="bullet">b) </span>
    <span>Second item.</span>

This is only a slightly bigger problem:

  1. Pattern match
    ^<span class="bullet">.*?</span>$
    to find relevant entities (there were a variable number of spaces after the letters throughout the document, or the <span> could be empty).
  2. Ascend to the parent `<ul>` and transform it into an `<ol type="a">`.
  3. Using the pattern from (1), delete all instances of the superfluous `<span>`.

The problem with this solution comes with the fact that there were 250 <ul>s in the document and changing the relevant parent <ul> to <ol> had to be done manually (not every `<ul>` was destined to become an `<ol>`, nor all of `type="a"`).

Sorry, dude, you're on your own!

Yes, I could have written a script to actually parse the DOM, ascend to targeted parent <ul>s by pattern matching ^<span class="bullet">[a-z].*?</span>$ (for `type="a"`) and ^<span class="bullet">[0-9]{1,2}.*?</span>$ (for `type="1"`) and perform the transformations that way.

I didn't realistically have the time or the desire to write such a script, and it was well past dinner time.

Returning from dinner, I see a new message: "OVERTHINKING 101"

The solution someone else proposed was:

ul, ol {
  list-style: none;

li {
  position: relative;

.bullet {
  position: absolute; left: -1em; top: 0px;

Are you serious?!

This, to me, was the ugliest kludge: it breaks semantic convention and doesn't address the fact that `<ul>` and `<ol>` mean something to machines. In my mind, it's akin to using `<p style="font-size: large; font-weight: bold">` for a header, rather than using an `<h1>`. In a vaguely similar vein, the proposed solution takes a semantically unordered list and coerces it into becoming a de facto ordered list with plain text.

But is that even a problem?

In this case, not really! That's the key to this issue. The document was destined for a very specific purpose and a very restricted audience. Visual presentation was the only thing that mattered to both the author and the readers.

I would never deploy this code in a production environment for general consumption because I feel that standards are a good thing and ought to be adhered to. However, I think wilfully disregarding them can be done effectively in certain circumstances and isn't a problem 100% of the time. I would never have devised this perfectly acceptable solution because I had built a cognitive box around my way of thinking, following standards so automatically that a good, quick solution never came to mind.

And that's precisely what my friend needed: a decent, quick solution that responded to his specific criteria (solely visual presentation).

Don't explain special relativity, experience it in a game

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

Several years ago I wrote an article titled How GPS makes use of General Relativity. I was motivated to show how the theory of relativity is not only interesting but actually used in practice in the real world. Researchers at MIT Game Lab have developed a game that attempts (and succeeds, to a certain extent) not to explain the effect of the theory of relativity, but to allow people to experience it.

The game is of the exploration type in which the user walks around collecting spheres. Collecting a sphere lowers the speed of light in the in-game universe. This brings interaction with the universe which is normally outside a human frame of reference down to a human scale: walking speed. Users experience time dilation, the Doppler effectLorentz transformation and the searchlight effect, all effects of special relativity and a consequence of approaching the speed of light from $2.99 \times 10^8 {m/s}$ down to about $1.5 m/s$.

Pedagogically, the idea is simply brilliant. It removes the all-too-familiar "So, imagine you're in a rocket ship approaching c" that precedes every discussion you've ever had about special relativity. As any fan of Douglas Adams will know, humans are generally incapable of doing that. In human terms, how fast is c? It's fast. Faster than you can imagine.

Slower Speed of Light screenshot from MIT Game Labs

Check out the game for yourself, for Windows and Mac:

  • Intel Core 2 Duo T9900 or Core i7 (2.8GHz clock speed)
  • Windows 7 and Mac OS X 10.6.8 (Snow Leopard) or higher
  • AMD Radeon HD 6970M/AMD Mobility Radeon HD 4850/Nvidia GeForce 9600M GT
  • 8GB RAM


Why you should care about your privacy but don't.

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

You have likely heard of the recent growing uproar concerning Facebook's privacy policy and privacy settings. You're also likely asking yourself: so what!? Who cares if everyone on the Internet knows my hometown, my birthday, my name, where I got my degree or can see a picture of me? How else are they going to find me and invite me to a party, find a job or get back in touch years after high school?

In this article I will address these issues and try to explain in simple terms and using concrete examples why you must care about sharing your life with the world. I will use Facebook as a model here because it is the most prolific social network (and arguably receives the most privacy-related attention). Regardless, the take-away message applies to any medium: be careful from the start and don't put anything 'out there' you don't want the world to see.

To quote from Kevin Mitnick's book "The Art of Deception" a chapter entitled "When Innocuous Information Isn’t":

[I]n reality penetrating a company's [or an individual's] security often starts with the bad guy obtaining some piece of information or some document that seems so innocent, so everyday and unimportant, that most people in the organization wouldn't see any reason why the item should be protected and restricted.

This book was what first opened my eyes to security and privacy and I highly recommend you purchase and read it; it's written in everyday language and deals with changing your behaviour, not with technology.

Heck, even The Onion's getting into it: Entire Facebook Staff Laughs As Man Tightens Privacy SettingsGoogle Opt-Out Village, etc



This is likely the first thing you think of when you consider online privacy. You're 22, get drunk at a house party and do something that you might not want a future employer or mother-in-law to see. You don't care if someone takes a picture and posts it on Facebook because you can change the privacy settings of photos you're tagged in so "Only Me" can see it. Sorry, but that doesn't work.

Have you ever noticed this at the bottom of your photo albums: "Share this album with anyone by sending them this public link"? This allows you to share photos with people who aren't even members of Facebook. To be clear, people who are not even logged into Facebook are de facto non-"friends" and are not connected to you because Facebook doesn't have any way of knowing who they are. This should make you raise an eyebrow and wonder how, then, your photos are protected. You could reasonably assume that if you set a photo to "Only Me", someone who isn't even logged into Facebook wouldn't be able to see it.

Only, you'd be wrong.

Facebook keeps photos and albums with long page addresses which are supposed to be "hard to guess" but which actually bypass all of your privacy settings.

I've just created an album which, as you can see, is protected—nobody can see it but me (click image for full-size, new window):

Facebook privacy settings screen, links to full-sized image.

Thankfully, nobody will see that I got a chance to fly in a UH-1 Iroquois, because my friends would be super jealous. Only…

Facebook page of the private album while not logged in.

Not only is that photo page displaying the photo which was set for "Only Me" within an album which was set for "Only Me", I'm not even logged into Facebook, I'm on another computer and I can still see it.

Make no mistake: this is a real problem. There are sites out there that automatically trawl every possible Facebook photo page address looking for, say, racy pictures, then download them and make money selling them. I don't want to drive traffic to this type of site, so I won't link to them, but some creative Googling will get you there in a flash. They're also obviously not suitable for work (you've been warned).

The second problem with Facebook (and all other social networking sites) is that once a photo is displayed to a user, they can do anything with it. They can download it and spread it around as much as they want, since there is no mechanism in place to prevent it. The famous photo-sharing site Flickr is slightly better at it than Facebook but there will always remain a very easy way to capture a photo that's otherwise protected: a screenshot. If it's on your screen, you can take it, regardless of the technological permissions protecting the picture (just like the second photo above).


Contact and other personal information.

If you don't want spam and telemarketing faxes for the rest of your life, or to be tracked down by an ex you tried to leave in the past, keep your contact information private. I'm a freelancer and I have many avenues for clients to contact me, but few of them reveal my contact information directly (until, of course, we have established a business relationship).

If you'd like someone far more qualified than I to explain the thousands of ways even this seemingly limited information can be used to, say, get your credit card number, read Kevin Mitnick's "The Art of Deception".


Basic flaw #1 — you don't even realize what's happening.

Let's take a look at a site like It is an interesting showcase of embarrassing things people have put online. But it also reveals one of the basic flaws in the whole privacy system: people just don't understand how it all works (The New York Times: Facebook Privacy: A Bewildering Tangle of Options).

Take [NSFW] for example. It's a short status update (which is visible to everyone by default) a woman wrote about an evening she had with a man, not realizing that everyone she knew could read it. Not only is this very embarrassing, it showcases a major lack of understanding of the way the social network operates.

The original poster is, like the vast majority of Internet users, simply not computer literate enough to understand the distinction between a message, a wall post, a status update or a post comment. Once she realized what she'd done, she couldn't figure out how to undo it. Social network architects like those at Facebook should (and do) take this into account when designing their system. However, Facebook's privacy model is to let everyone see everything by default in order to maximize your connections. They do not design their network to maximize privacy.

The best way to prevent this sort of thing happening isn't to berate Facebook or to search through their maze of privacy settings. The best way to guard your privacy is to be cautious from the outset and be very selective about what you write and where you write it.

There's a second take-away from this: perhaps the original poster did have privacy settings which would have limited that status update to only her 20 Facebook friends and she figured out how to delete it only 1 hour after it was posted. But it's still out there as a screen-shot, on a major blog with thousands of weekly visitors for all to see.


Basic flaw #2 — things change.

Today I came across a blog post (via Mike Gifford) with an interesting graphic which details which information is now publicly-available on your Facebook profile page, especially that information you may previously have marked as private.

Public information is available to anyone, not just your friends, is available to Facebook Apps and is available to those who don't have a Facebook account at all.

A screenshot of a Facebook page with post-it notes indicating what  information has passed from private to public.

As you can see, the following information is publicly available: your name, your picture, your gender and birth date, your friends, your networks (which usually includes the city in which you live) and your work and education history. Take a good look at yours (you can access yours by clicking here). You may have once configured Facebook to keep your profile photo private. Well, it's not any more and short of having no profile picture, you can't keep that private.

Perhaps you're hiding from an abusive ex-husband [warning: strong language] and the model changes, as it did with Google Buzz, and you suddenly find yourself connected to people you'd really rather not be. Perhaps your only choice is to opt out completely.

In a recent, related story, the US Library of Congress recently announced that the "Library [is] to acquire ENTIRE Twitter archive -- ALL public tweets, ever, since March 2006!" While the Library'sacquisition FAQ does explain that "private information and deleted tweets" won't be retained, that does not necessarily mean that you can delete a tweet once the Library has acquired everything and have it removed from the archive. It is, in fact, highly unlikely that deletes will be synchronized between the active Twitter database and the Library's archive.

Did you tweet something silly 2 years ago? Could you even find it now to delete it? What if you had not one, but hundreds of embarrassing tweets, status updates or photos online?

The point here is that things change, systems evolve and integrate with one another in unpredictable ways. Terms of use and privacy policies are not necessarily maintained when a company is bought. Back in 2007, with daily fail whales, I don't imagine you expected that your drivel about being late to work because your dog soiled your best shoes would make its way into the Library of Congress…


Your movements.

Sure, Foursquare and Brightkite can be fun tools to find like-located people and Google Latitude will let your 500 friends know where you are without having to text every single one of them. They do have uses. But as sites like Please Rob Me (check out these articles on Forbes and Mashable for more detail) have shown, they also have rather significant downfalls.

Publishing your every movement online is a problem for the same reasons elaborated above.


I know where you are anyway.

It's great to have a visitor from {city}, like you are.

EDIT: I've migrated my blogging software 3 times since this post was originally authored and haven't bothered re-integrating geolocation...yet.

How do I know that? Something called geolocation. You connect to this blog and without you even knowing it (or giving permission) it detects your approximate location. This is not a virus nor have I hacked your computer. This is made possible (and easy) by the way the Internet was built. It takes only a small amount of skill to find out where any user on the Internet is. This is how you have seen things like classified or dating site ads targeted to your city.

With a bit of skill, though, it's not hard to start connecting dots.

(If you don't believe this is genuine, send this article to a friend in a different city and ask them what the above text reads.)


What is the alternative model? Is the model even relevant?

In a recent conversation I had with Mike Gifford, he explained that:

It may be that privacy is the issue, might just be that something else takes it's place. Likely there will be a combination of things that move people away.

Seems like most are quite happy if they can send goofy videos to their friends and attend to a virtual farm. However, these are things that will be possible to do in other areas as well. Facebook is no longer cool, and hopefully the new open source social networks will be. But it will be the cool factor that gets folks to move and not the privacy issue.

I think Mike is spot on. In this article I used Facebook as an example of a danger to privacy but the principles of maintaining the privacy of your private life will stand for any social networking medium, indeed for any medium at all.

I certainly don't think that Facebook is some kind of evil entity with a malicious intent to expose your private life for some clandestine gain (as some people do). Facebook is a business borne of a desire to connect people. It's raison d'être is precisely to allow you to share personal information with people you know, as well as with people you don't yet know but whom you might want to meet.

The two basic premises of this article is that (1) individuals should be concerned about their privacy, and (2) should be careful about sharing private information at all. The model (e.g., Facebook) is only the vehicle used to share the information. It could just as easily be a blog, MySpace, your LinkedIn page, or in a thread of inter-office emails.


What you can do about it.

The French have preserved a Latin expression for this: La parole s'enfuit, l'écrit reste (the spoken word evaporates but the written word is permanent). Always assume that anything you put on the Internet or down on paper will be around forever. This is especially true with (aka The Wayback Machine) and others gobbling up and saving everything they
can get their hands on.

These links will open your Facebook pages. Go to your profile settings and delete everything you don't want everyone in the world to know. Then go to your application settings and disallow everything they let you; your public information will still be visible. As I've demonstrated above, you can't rely on Facebook's photo privacy settings, or your account's privacy settings, so don't even bother editing those. Remove information you don't want everyone to know, don't just hide it.

Do the same on every social network and web site you belong to (with the potential exception of sites you feel confident about, like your bank, who legitimately need information like your postal address).


As I'm publishing…

While writing this blog article, The New York Times published this story: Facebook Unveils Simplified Approach to Privacy. If you've taken anything away from this article, I would hope that it would be the idea that privacy tools are only a stop-gap and that real privacy comes from not putting too much private information out there in the first place. To wit, the Ottawa Citizen  published this article at the same moment: Border guard used private info to woo women on Facebook.


The photograph of the UH-1 pilot was taken by Pte Melissa Spence, sourced from the press album of the Department of National Defence with the following caption "English\Anglais; GD2008-0687-01; 20 Aug 08; 14 Wing Greenwood, NS, Canada. 413 Squadron (Sqn) Cormorant pilot, Captain (Capt) Andrew Mercer, flies the Search and Rescue (SAR) helicopter from 14 Wing Greenwood, Nova Scotia (NS) to Shippegan, New Brunswick (NB)."

Uncaught exception: java.lang.error on BlackBerry

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

I've been downloading applications for my BlackBerry as though they were going out of style. However, since my BlackBerry Bold 9700 takes almost 8 minutes to come up from a full reboot (like a battery pull, not simply from standby, which is nearly instantaneous) I don't do it very often.

Recently, after installing a number of applications, I saw an error message on boot:

Uncaught exception: java.lang.error

Where could this be coming from?

I asked Google but all he had to offer was a list of people with similar problems, caused by third-party applications, and some users offering solutions like "Wipe your blackberry and re-install each app one at a time." Well, at 8 minutes per full boot, plus 30 minutes to wipe and reinstall the OS, we're talking about an entire afternoon of mucking about with applications just to debug someone else's error.

I wanted a better solution.

The second place I went after Google was to the Crackberry Forums, where I asked directly: But from which app? "Uncaught exception: java.lang.error" Being a former Linux system administrator and a current developer, I wanted to see logs. I specifically wanted to know if there was an error console available to the (power) user which would allow me to identify the application throwing the error since the error dialogue box does not. I instantly discovered that it was LastPassBB.

For those power-users out there who would like to know, there is an error console for the BlackBerry 5.0 OS: from the home screen, type <ALT>lglg

Good luck deciphering the logs though; you might have luck if you ever had to configure manually.

For a select few non-sensitive sites, I've been trying out LastPass, a web-based password management service with a mobile companion application suite for almost every major smartphone OS, including BlackBerry. The service is free to use, though there is a premium version for 12 $ per year which will allow you to use the mobile companion application past the 2-week trial period. I submitted a bug report with detailed error logs hoping to get a response later in the week, or perhaps the following week, especially given it was a civic holiday.

I got a reply within an hour containing a custom build that solved the error. I'm not even a paying customer yet!

I think the folks at LastPass deserve big kudos for this type of customer attention. Not only is their service pretty darn great but the LastPass folks clearly attend to the needs of their customers.

Pravda on Charlie Wilson

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

Pravda takes a not unexpected, yet scathing stance in Charlie Wilson's death notice this evening.

A photograph of Sen (D) Charlie Wilson at a podium.

The headline reads "[i]n the USA, the congressman who authorized the supply of weapons to the mujahideen has died." (В США скончался конгрессмен, занимавшийся поставкой оружия моджахедам) The article goes on to tersely mention his appropriating funds for covert missions arming the mujahideen to fight the Soviets. It ends with "[i]n 1980 he was charged with drug use, but the investigation conducted by the Justice Department's prosecutor, the future mayor of New York Rudolph Giuliani, had to be abandoned due to lack of evidence." (В 1980 году ему было предъявлено обвинение в употреблении наркотиков, однако расследование, которое вел прокурор министерства юстиции США, будущий мэр Нью-Йорка Рудольф Джулиани, было прекращено за недостатком улик.) The translations are mine.

This comes on the heels, coincidentally, of an RT special today on the American 'media machine' (I believe they called it) which is, they claim, designed to distract viewers from the substance of news with flashy presentation of the news.

I would like to contrast this presentation with that of two other news agencies: CNNAl Jazeera and the BBC. I will attempt to decompose the rhetorical moves in each of the four articles and show how each news agency drew attention to specific aspects of the story. I will not judge or discuss the factual accuracy of any article.

Pravda's article is terse, at only 3 paragraphs: it offers a short account of his tenure on the Senate and essentially ends with the above quotation.

CNN's article is written as an obituary. It focuses on his life, on his accomplishments and on the film made about him, "Charlie Wilson's War." In fact, the author mentions Tom Hanks by name (as the actor who played Sen. Wilson) and even provides theatrical criticism of the accuracy of the film's plot.

CNN's first rhetorical move provides a context for the late Senator's death, giving an account of this health problems in the days leading up to this death. The second move offers what I would liken to an elegy in the form of three accounts given by Mr. Robert Gates, Senator Rick Perry (TX) and David R. Obey. Robert Gates is quoted as saying, aptly "As the world now knows, his efforts and exploits helped repel an invader, liberate a people and bring the Cold War to a close. After the Soviets left, Charlie kept fighting for the Afghan people and warned against abandoning that traumatized country to its fate -- a warning we should have heeded then, and should remember today." The third move offers an account of the film.

Despite the admiration many had for Senator Wilson, Senator Perry is quoted revealing at least some indiscretion: "Charlie Wilson led a life that was oversized even by Hollywood's standards[.]"

The fourth move describes his involvement with Afghanistan, his training at the Naval Academy and includes a quotation by then-Pakistani President Muhammad Zia ul-Haq given in a 60 Minutes interview. The article ends with the list of this family members left behind and declares that funeral arrangements are pending.

The emphasis on this article is clearly accorded to the late Senator's achievements in thwarting communism and on his unapologetically grandiose lifestyle.

Charlie Wilson, front, was the architect of the CIA's mission to end the Cold War [AP]

Al Jazeera's article resembles CNN's in many ways and follows essentially the same rhetorical structure, with one major exception. Al Jazeera, not unexpectedly, devotes nearly half of the article to the aftermath of the failure to establish an interim political and social solution after the departure of Soviet armed forces. Al Jazeera, unlike CNN, also included a culturally-relevant quotation from Senator Wilson in a 2001 AP story: "People like me didn't fulfil our responsibilities once the war was over [...] We allowed this vacuum to occur in Afghanistan and Pakistan, which enraged a lot of people. That was as much my fault as it was a lot of others'."

The article then goes on to elaborate on that fall-out after the withdrawal of Soviet troops. "This was a failure of US policy at the time. They did not listen to Charlie Wilson. Had they listened, things would have been different," Wajid Shamsul Hasan, the Pakistani High Commissioner to the UK, said in an interview with AJ.

Al Jazeera also mentions other relevant events, such as the dedication of the Charlie Wilson chair for Pakistan Studies at the University of Texas, Austin.

The BBC's article is extremely terse in comparison to the other two. It mentions the circumstances of his death, that he served as a Congressman, that he helped to repel the Soviets. It makes no mention of his lifestyle. It ends with shining praise in the form of an AP quote from his former chief-of-staff, Charles Schnabel: "Charlie was perfect as a congressman, perfect as a state representative, perfect as a state senator. He was a perfect reflection of the people he represented. If there was anything wrong with Charlie, I never did know what it was."

What they all have in common

They all mention the film, his arming the mujahideen in a Afghanistan to repel a Soviet invasion. However, CNN and Al Jazeera (parts of which bare a striking resemblance to CNN's article) both explain, from their own perspectives, the aftermath in Afghanistan of the soviet repulsion.

CNN quotes the delicately-phrased Gov (TX) Rick Perry: "Charlie Wilson led a life that was oversized even by Hollywood's standards." Compare this with Pravda's assertion in the first paragraph, the quotation offered by the BBC attesting to Senator Wilson's "perfection," and Al Jazeera's quite balanced assertion that he was an avid party-goer.

The Machine is Us/ing Us.

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

Michael Wesch, assistant professor of cultural anthropology at Kansas State University has created an interesting video about the way the Internet has changed human interaction. Though it begins with a foray into back-end technology by contrasting HTML and XML, it quickly becomes accessible even to those with a limited understanding of the technology that powers the Internet.

For those who have heard the buzz-word "Web 2.0" and not understood its meaning, it is essentially the inter-connectivity represented in the video. Wesch's video makes two very important points:

  1. That recent technological revolutions have worked to divorce form from content.
  2. That the Web is becoming so vast and the connections between people and ideas so easily made that institutions like intellectual property, copyright and even one's identity seem to be in the process of changing.

Regarding the first point, I have recently been having a small amount of difficulty in keeping with APA citation style (as some of my past courses have used LLSA, some MLA). I was thinking how wonderful it would be if I could write a paper in XML, create entities for all the necessary information, and then pass that XML document through a parser that would generate a document in the appropriate style. What a neat programming project that would be. Naturally, I would have to work on it after my Master's because, right now, I just don't have time for something of that scale.

Making science accessible

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

Perusing the archives of the scientific journal Nature I came across an article dealing with ethics boards:

Sieber says review boards need to be more rigorous in their risk assessments and decisions, and says they should call in outside experts where necessary. She adds, however, that a more common problem with institutional review boards is not a willingness to allow dubious studies, but an overly cautious approach that comes from ignorance of the experimental methods involved.

I think the moral of the story is: make sure you make your experiment accessible to others so they'll understand what the heck you want to do, or have done. Giles, J. "Warning flag for ethics boards"Nature 443, 127 (14 September 2006) | doi:10.1038/443127 (link).

How GPS makes use of General Relativity

Tweet about this on TwitterShare on Google+Share on RedditShare on LinkedInShare on FacebookBuffer this page

I recently went to a show at the Dow Planetarium that dealt with relativity. Like most science shows designed for the general consumer, it told me little I didn’t already know. I don’t mean that to sound arrogant, I’ve simply been studying astronomy and relativity since grade school. But, it did bring up an intriguing point that I had never considered: without the theories of General and Special Relativity GPSwould be of no use at all.

History of GPS

GPS was developed in the 1960s by the US DoD but its stewardship was later transferred to the IGEBcommittee on which sits members of the Joint Chiefs of Staff, NASA, Department of Defense and the Department of Transportation, among other agencies.
From its inception, GPS had–and still has–the ability to intentionally provide corrupted solutions to receivers through a mechanism called Selective Ability:

SA was a technique implemented by the DOD to intentionally degrade a user’s navigation solution[…]The net result of SA was about a five-fold increase in positioning error. DOD achieved signal degradation by altering (also known as dithering) the satellite clock. Another means designed by DOD to degrade GPS performance was to broadcast less accurate ephemeris parameters.
The DOD-authorized users were able to undo SA. However, due to the fact that SA is spatially correlated, civil users were able to eliminate SA through the implementation of Differential GPS (DGPS), albeit an additional expense on the part of the users.
SA was used to protect the security interests of the U.S. and its allies by globally denying the full accuracy of the civil system to potential adversaries.

A presidential order in May 2001 discontinued the active implementation of SA; though it still remains an option, the military has preferred the tack of locally impeding GPS reception where desirable, rather than diluting the global network.
Something to keep in mind is that it is wholly owned, operated and maintained by the US government. Like a driver’s license, its use by any civilian is a privilege, not a right, and like a driver’s license, most do not understand this.

The Orbital Assets

At any given time there are, as a baseline, 24 satellites in orbit around the Earth, though at the time of this writing there are actually 29 in service. They orbit in such a pattern and altitude (approximately 20 000 km) as to ensure that at least four satellites are visible from a clear horizon from any location on Earth. The group of orbiting GPS satellites is known commonly as the “GPS constellation”.
The GPS constellation is not actually made of a series of satellites in geosynchronous or geostationary orbit–they instead have a period of about half a day. How, then, can we determine our position, one may ask?
For the most simplistic co-ordinate triangulation on Earth, we use a single emitter and at least two receivers. These receivers then compare the times that they received the signal from the common emitter and from that determine its position. What may not be immediately apparent is that this works not because both receivers are stationary but because their relative positions are known at the time of signal acquisition. It is just as easy and reliable to tri-angulate with two receivers on jeeps moving in a random pattern as long as the instantaneous position of both jeeps is known at the time of signal acquisition.
This is precisely how GPS works. The ephemeral data transmitted by the satellite, along with the time from an atomic clock are used to compute the receiver’s position. Though in the previous example we had one emitter and many receivers, many emitters and one receiver work just as well if the emitters broadcast not just a ping but their own co-ordinates and time, as in GPS.

The Role of Relativity

To achieve a navigation resolution of a few metres, the time of the satellites must be known to an accuracy of approximately 30 nanoseconds. However, relativity intervenes to predict that because the satellites are orbiting with a velocity of around 14 000 km/h a ground-based observer will perceive the atomic clocks on the GPS satellites tick more slowly than their own, losing slightly less than 10 microseconds a day. However, because the constellation maintains an extremely high orbit, General Relativity predicts that the weaker distortion of space-time in high orbit compared with the stronger one at the surface of the Earth will cause the clocks on the GPS satellites to tick faster than those on the ground, gaining slightly less than 50 microseconds a day. This leads to a net imprecision of about +35 microseconds that accumulates every day.
Since the time of each satellite must be known to an accuracy of 30 nanoseconds, but the satellites’ clocks gain 35 000 nanoseconds a day, the system becomes useless by the time it takes to start-up most hand-held GPS receivers.

The Simple Remedy

The designers of the GPS constellation took into account the faster atomic clock-ticking predicted by General Relativity and slowed the clocks down so that the observer’s time would appear correct.
As Ohio State University professor of astronomy Richard Pogge put it

Relativity is not just some abstract mathematical theory: understanding it is absolutely essential for our global navigation system to work properly!

Sources & Links