Thursday, October 28, 2010

Open source marketing sucks. Here's how to fix it.


There's no doubt that the open source model of developing software is superior to ones where code is kept in secret rooms and people get fired if any of it gets leaked to the public. The open source model provides a way for everyone, not just developers within a company, to participate in the design of the software. Average, ordinary, users have every bit as much say in a well run open source project as the project leader does and, sometimes, perhaps even more. This model of community based software development has given us some amazing products: OpenOffice, Linux, Android, and countless others who might never have seen the light of day had it not been for a vibrant community.

It is perhaps because of the sheer brilliance of this community, and the great products they are able to produce, that it is equally sad and frustrating to see how badly they suck at marketing. From the names of the product themselves to the guerrilla marketing tactics used to get the word out, almost everything screams 'armature, toy project' which, in most cases, couldn't be further from the truth.

We in the open source community love to talk about how Microsoft and other companies like them have 'won' the market through dirty tricks. Some of that might be true, but not all of it. Microsoft won the market through absolutely brilliant, mostly well thought out, targeted marketing. For every bit of technological ineptness Microsoft has shown in product design, they have made up for it by three times in their marketing. Apple is another good example of great marketing at work. There's nothing particularly innovative or absolutely mind blowing about almost any Apple product. But you'd think there was based on the drooling fans that line entire city blocks to buy their latest products.

What both Apple and Microsoft have figured out and what I don't think the open source community has is that having a good product is only part of the equation. In some cases, it's not even that important. What is important is how your consumers perceive you. Microsoft is perceived as a company that is serious about business. They can be counted on to provide every possible IT system most offices could ever need. They have marketed themselves as a trusted advisor for businesses and businesses have responded to that in a huge way. Consumers, as an outgrowth of their offices, schools, and other points of contact, have bought into the marketing too in the 'if it's good enough for X big company, it's good enough for me, the little guy' mindset.

Apple's marketed itself as the hip, innovative, scrappy company that can be turned to for entertainment. If you want serious fun, you want Apple. Their products, we're told, are innovative, cutting edge, and sexy. They even have a cult like leader in Steve Jobs who's willing and ready to lead the masses to the Mecca that is everything 'i'.

Where do you see that in the open source community? Nowhere. You have a bunch of believers largely telling other believers how great open source is and exchanging high-fives over their latests cool code hack. We talk among ourselves about how great Linux is but where are the cool commercials? Where are the splashy magazine ads? Where are the snazzy conferences with people who don't smell like they haven't taken a bath in six weeks? Where is the coolness of it all?

The fact of the matter is, of everything that can be done by the community, public relations and marketing generally isn't one of them. Not on the levels that Microsoft and Apple do. Usability studies, psychological analysis of consumer buying trends, focus groups, all that goes into creating an incredible marketing campaign cost money. It's almost impossible to get people to pony up $10 towards supporting a piece of software they use every single day. Do you really think you're going to raise the $2-$3 million dollars a kick ass PR campaign is going to costs from the community?

As I write this on the morning of October 28 – 3 days before the end of the month, a very well known and widely used Linux project; one that is almost essential to the proper functioning of the desktop, is proudly proclaiming on their website that they are 'running on $269 from the community so far this month!'. That's right, they didn't even hit three hundred bucks for the month. Far, far, short of the millions they'd need for a serious PR push if that would be their goal.

Thankfully, while I believe real money is going to be the only key that will really push open source software into the collective mindset, I also believe there are a few things that the community can do in their marketing efforts to help their pet projects along:

  • Stop talking geek to users. Users don't care about the technology behind your product. They care if it can do something cool or it it came give them a bit of street cred amongst their friends, and, maybe, if it helps them do something at work. Proudly touting that your product is 'built on the latest Qt release using Python 3” doesn't mean anything.
  • Stop talking standards as you battle Microsoft. Sure, Microsoft Office might break every standard known to man and you product might be 100% compatible with the established international standards set forth by some standardization body nobody but geeks have heard of. Cool deal. It's meaningless to Joe Consumer when his boss and colleagues who use Microsoft Office can't read the report that's due today and he spent all night laboring over in OpenOffice. Standards matter when the products the majority of users use in their day to day lives conform to them. Otherwise, nobody cares.
  • Stop talking in silly 'it's free as in beer' terms and telling people 'you even have the freedom to change the SOURCE CODE! You can't do that with Windows!' Want to know why you can't do that with Windows? Because most people don't want to...or even know how. I'm a professional software developer and do you know how many times I've dug into the source code of a product and changed anything in the last ten years? Twice. If a product doesn't do something I need it to, it's usually easier for me to go out and find another one that does. I'm an altruistic guy but I also need to work on, you know, stuff that puts food on my table. I don't have time to spend two weeks integrating a BASIC feature that should already be there into a product. I need my software to work now. Quit telling me I can change the source code. It doesn't matter to most people.
  • Start focusing on the cool stuff – not the geek cool stuff but the real people cool stuff. Linux being open source and free isn't cool. Showing somebody something like Compiz running with full blown effects is. OpenOffice running on the desktop isn't cool. But showing how Bob saved the day by producing his companies latest brochure in a few days without spending a penny is. Users are real people. Geeks are ideologues. Speak normal and show them what's cool.
  • Break things until you win. Like we've already talked about, Microsoft breaks standards and conventions in almost every single product they have. Still, they have the market share so they can pretty much do anything they want. To compete with them, we're going to have to play their game, beat them, then move users to a better place. Quit focusing on what Microsoft is doing wrong and do it wrong yourself while you tout price, reliability, and availability. Bring the users over then move in the right direction. Being 'wonderful' when nobody really cares or uses your products isn't really a victory.
  • Get some better product names. This is my last and maybe one of the most important points in this entire post. What the hell is with open source developers and product names? Am I to believe that the absolute best name a massive collection of people who are passionate about their office suite could come up with is OpenOffice.org? That's not a product name, that's a website. LibreOffice? Do most users know what the hell 'Libre' even means? Naming is one of the keys to setting the tone for your product. I'm an open source developer and even I think the names are stupid. Stop sucking at it.

With all that said, it might seem like I see the open source landscape as almost hopeless. I don't. I believe there is a massive glut of people waiting anxiously for something better than what they have to come along and who don't realize that it already has. I think the community is doing a tremendous disservice to a huge section of the consumer market by sticking to some of the conventions they do when winning the market should be everything that it's about. It should be our laser focus.

We constantly complain about companies like Microsoft and Apple holding their users hostage. I believe we are accomplices to that because we haven't clearly and aggressively led users to their freedom. We've sat around and bitched to each other and whined about how Microsoft's unfair practices have kept us down. It's a classing 'fight the power' move and it's not working. We have the power to free users from their bondage, we have the power to lead them to the promise land of technology, and I believe we're wasting it on stupid crap that doesn't mean anything to most people.

 So here's my challenge to the open source community: stop thinking like geeks and think like users. It might give you a whole new view of the tech you're creating.

Saturday, October 23, 2010

Wikileaks: a citizens best friend for government accountability

Over the course of the last year, the popular leak website Wikileaks has released over a million secret US military documents that detail everything from the mundane work our soldiers do to some of the atrocities they've committed.  For its part, the US government is trying to squelch the site using the 'national security' argument claiming that the leaks are putting our 'men and women in uniform' at risk.

Personally, I applaud the work that Julian Assange and the Wikileaks team have done to hold the US and other governments accountable for their actions.  For too long, governments have hidden under the blanket of national security while committing some of the most vile acts known to man.  Rape, torture, and the outright murder of innocent civilians are all things that the government believes would 'compromise national security' if the knowledge of them came to light.  Those who dare question such obviously faulty logic and patent lying are quickly labeled 'unAmerican' or smeared because they don't care about the men and women in the field.

Bullshit.

I care about our soldiers. I am thankful every single day that they choose to put their lives on the line to protect my safety and ensure that future generations will grow up in at least a somewhat free country. But killing innocent people, raping non-combative women, torturing potential informants for information has nothing to do with protecting my freedom and safety and I'm deeply offended that the government believes the American people are so collectively stupid that we will continue to believe the lies as long as they keep feeding them to us and demonizing those who question or confront them.

In an age where we're flooded with brainless prattle like 'you're either for us or with the terrorists', it's refreshing to see men and women of conscious standing up and boldly confronting that which is wrong, unethical, and immoral.  I believe they are every bit as much of a hero as the battlefield soldier who braves enemy fire to pull his wouned comrade to safety or the young Private that runs into hostile territory to accomplish the mission with no thought to his own safety.

I refuse to accept the 'we'll take care of you, you don't need to know the details' doctrine anymore. We do need to know. We need to know when our government, as our representatives to the world, is murdering innocent people, torturing people to madness, and running secret detention facilities where who-knows-what goes on. Yes, Mr. Gates, President Obama, Senators, we do need to know that. More importantly, we have a right to know and no amount of 'national security' foliage that you use to hide your actions is going to take away that right or lessen our determination and dedication to the truth.

So this is my personal 'thank you' to Jullian Assange and Wikileaks for the incredible work you do in exposing the truth. The government might war against you but the people are standing strong at your side.

Keep up the great work!

Thursday, October 21, 2010

Fragmentation: What Steve Jobs and Apple got right


In a recent quarterly earnings call, Apple CEO Steve Jobs spent more than five minutes trashing competitors Research in Motion, makers of the popular Blackberry devices, and Android, a smartphone system designed and maintained by search giant Google. Though the remarks he made were prepared, that did little to hide the seething rage and disdain that Jobs holds for his two toughest competitors.   Jobs' remarks were angry, inflammatory, provocative, and absolutely dead on the mark.

The IT community, a community in which 'How much do we hate Steve Jobs today?" seems to have become a popular game, was, as you might imagine, driven to madness. Attacking RIM and the Blackberry were bad enough, but attacking Google and Android? That's just too far!  What the slobbering fanboys missed in the Jobs message, however, was the fact that nearly everything he said was true.

The main thrust of Jobs' message was focused on the fragmentation that Android has brought to the mobile application market.   Most device manufacturers don't run the stock version of Android provided by Google. They run a modified version, tailored to either their specific tastes or the whims of the carriers they service. Add to that the fact that some manufacturers are considering running their own version of the Android marketplace and you can see a situation developing where users will have so much choice that they will be  crippled. Where do users go for apps and what app stores are particular applications listed in are becoming the million dollar questions for Android users. Ultimate freedom has become ultimate chaos and it doesn't seem to be getting any better.

Now, let's compare this fragmented approach with that of Apple. There is one application store and only two targets for developers to hit: the current release of iOS and the one immediately previous to it. A single company controls both the operating system and hardware so developers know exactly what type of environment their software will be running in and what kind of services and resources will be available to it.

From the users standpoint, it's near paradise: one place to go for all applications. It doesn't matter who your carrier is (AT&T right now but more coming soon) or if you're in the US, UK, or somewhere else, it's the same store, If you find a cool app in the store that you want to tell a friend in another country about, chances are good that it will be available to them too and, if it is, it will run the same on his iPhone or iPod Touch as it does on yours.

No moving targets for users or developers. No fragmentation.

We in the open source community love to talk about choice; how, when users are given a variety of choices, competition and the free market thrive. I prefer to think of the perfect solution as 'choice within reason'.  There is absolutely no good reason for a particular phone maker to have their own app store when the Android Marketplace is already there and insanely easy to use. There's no reason why developers should have to submit to and wait for approval from multiple app stores just to get their software on users handsets. Allowing users the freedom to choose what applications they want on their handset makes sense.  Allowing them to choose which app store to use doesn't.

Users don't care about openness, they just want software.  The sad fact is that, as much as we'd like to think they do, most users don't really care if a handset is built on open technology. Ask the average Android user 'is this whole Android thing open?' and they will return a nice, blank stare.  We're fooling ourselves by pretending the majority of users actually care about 'handset freedom' and the ability to browse and modify source code. Geeks care, users don't.

Steve Jobs has it right: the false flag of 'open' versus 'closed' in the mobile space is really just a cover for fragmentation.  Apple offers a superb user experience from an integration standpoint, Android, not so much. When I pick up an iPhone, I know pretty much what's going to be on it, where things are, what the interface is going to look like. On Android, I have no clue. Those things are totally up to the manufacturer. 

What would be so evil about Google standardizing the system or saying "only one Android store"?  Would that be the end of civilization? Would that make Android "not" open?  It wouldn't matter one bit. Not a single user would complain and most wouldn't even notice. Developers would jump for joy because they would know exactly what they were developing for instead of the sludgy pile of mush that is Android today.  It would help the platform in enormous ways and would not effect usability a single bit. In fact, it would help usability too because, regardless of the Android device you used, you'd be fairly familiar with the interface and features.

Don't get me wrong, I haven't become and Android hater or an Apple fanboy.  But the fragmentation of Android is something that drives me nuts as a developer and the integration of Apple calls to me. I dream of a day of developing an application and not worrying so much about where it's deployed and on what hardware,  Hate him as you may, Jobs is an absolute genius at crafting the user experience. When he calls something 'sexy', he's usually right and at the very least I know exactly what I'm getting with an Apple product from both the user and developer perspective.

Am I going out and buying a Mac? Probably not. But I certainly thank Steve Jobs and Apple for bringing sexy back to the tech industry and for making an experience for their users like no other.

Wednesday, October 20, 2010

Protecting your privacy while you search and browse the Internet

Did you know that every time you visit a website, your privacy is violated? Not only does your Internet provider know where you've been, but every single site you visit keeps a log with identifying information. :Law enforcement, hackers, and various other interested parties can use those logs to piece together everything from evidence of a crime to a fairly complete and accurate psychological profile based on where you've been, how long you stayed, and what you clicked on next.  It's a privacy nightmare.

In my last post on privacy, I discussed some ways to mitigate the privacy violating policies of many popular sites like Google, Facebook, and MySpace. Unfortunately, that advice can only go so far as just about every single website you visit is going to keep a log of that visit. And, while most don't keep these logs for long, there's no real way to determine how long they do keep them or what they do with them.

I'm a huge proponent of using good security. I believe you should protect your privacy even if you have nothing to hide; perhaps especially if you have nothing to hide. That's why I've been using StartPage.com as my primary search engine for a while now and it's why I recommended it as an alternative to Google in my last post.  But as I use the service, things just keep getting better. This morning is a good example of that when I discovered proxied browsing through StartPage.

Normally, when you click on the link for a search result, your browser is transferred to whatever site you clicked on. Your ISP logs that visit, the search engine you used to find the site logs that visit, and, of course, the site logs that visit, all associated with your unique internet address.  Proxied browsing through StartPage allows you to securely click on a search result, visit the site, and never leave a trace that you've been there.

When you use StartPage's 'proxy' links, the service acts as your agent and inserts itself between whatever website you're going to and you.  From your ISP's point of view, you've only visited StartPage, from the target websites' point of view, it is only being visited by StartPage. No record of your visit is EVER recorded anywhere - not even by StartPage. It's SSL encrypted so your browsing session can't be snooped on, no cookies are stored on your computer, and no records are kept. It's the perfect secure browsing solution.

As fantastic as the service is, it's not without its faults. In many cases, you won't be able to submit web forms because they require certain information about you that StartPage isn't willing to offer up. You'll also take a slight speed hit since your browser isn't actually loading the target page itself but waiting on StartPage to fetch it and feed it back to the browser. Overall though, the service is zippy and useful and I haven't experienced any problems using it with most of the websites I visit regularly.

Using proxied browsing through StartPage is easy. Do a search like normal and, instead of clicking the result link, click the "Proxy" link under the result. That will open the target website in proxied mode and you are completely protected. You can click links on the site, even be transferred to other site by links and you're still protected.

If you're noticing a trend in these security post, you're probably right in your observation: security requires a little extra work. You'll have to change the way you do things sometimes because, unfortunately, the most convenient way to do things on the Internet is usually the least secure. That's by design, don't be fooled.  Take a little extra time and effort to protect yourself and you can rest at night knowing that your privacy has not been violated.

It is well worth the extra work and you're actually making society better for all of us by doing it.

Tuesday, October 12, 2010

Day One: Is this the beginning of the end (of soda) for me?

When I was 12 years old, I had stomach problems.  When my mother took me to the doctor, we found out that I was drinking too much Coke and the doc said I was on the verge of developing an ulcer.  Naturally, my mother cut back (not out) my Coke consumption which lasted about two weeks.  After that, my previous love affair with my brown, fizzy, master, continued.   I wasn't drinking as much Coke as I had been, but I still was taking in a lot of Coke.

The affair continued for years, unabated,  until last year when I turned 35 and was diagnosed with Diabetes. That meant no more sugary drinks or foods and I had to find a substitute for my first liquid love. Thankfully, all sorts of diet drinks waited in the wings, all calling my name and offering me different and exciting taste possibilities.  Most, if not all of the drinks I was interested in, were not sweetened with sugar but with a sugar substitute called Aspartame (also sold as Equal and NutriSweet and contained in almost 6.000 foods and also marketed under the new name AminoSweet as of 2007).  Aspartame promised me a solution I could live with: I didn't have to live a sweetless life and I could take care of my Diabetes at the same time.

Sweet!

Then, I began doing research and what I found scared me.  I started by watching the film Aspartame: Sweet Misery, A Poisoned World which discusses the dangers of the chemical and the back room deals that were done to get it approved in the 1970's.  I also spent a lot of time on Google looking at both sides of what turned out to be a huge controversy: is Aspartame safe or not?  It turns out it probably isn't.

So last year, I decided to give up diet drinks completely and cut what I believed to be a deadly poison from my body.  Even while thinking that Aspartame might be responsible for everything from my eyesight problems to my Diabetes, I only lasted two weeks and went back to drinking diet, Aspartame laden, soft drinks. I slowly came to realize I was truly addicted.

So here we are at the end of 2010 and I'm once again resolving to rid my life of this horrible chemical.  But this time, I'm doing it sensibly. Instead of cutting all soft drinks from my diet, I'm simply going to remove the ones that contain Aspartame. I'm probably addicted to multiple chemicals in these drinks so slowly coming off of them while eliminating their most dangerous chemical sounds like a good idea.   I'm starting to wean myself from soft drinks by doing two things:

1) I'm reducing the total amount of soft drinks I consume a day dramatically. On average, I was drinking about six liters of diet drinks a day. I'm immediately reducing that to only two.

2). I'm totally eliminating Aspartame from the drinks I buy. Tonight, that meant buying a 2 liter of Diet RC Cola. It doesn't have Aspartame and taste pretty damn good at the same time.

The two points above are my starting point. My goal is to completely eliminate soft drinks from my diet within 3 months, replacing them with natural, healthy, water.  No doubt, this new road is going to be hard. Not only will I be battling several simultaneous addictions, but I'm also giving up something I truly enjoy.  But I'm determined to live a healthier, more natural life, as well as lose some weight and this is the first step in that direction.

So this is Day One. The first step. I'm ready for this. I'm also worried about how hard it might be. In the end though, I have absolutely no doubt it will be worthwhile. My health is worth the sacrifice.

I'll keep you all posted.

Privacy in the age of Google and Facebook

It used to be that managing your privacy was simple. If you didn't want someone to know about the private parts of your life, you didn't discuss it. In those days, the only privacy issues you had to worry about were nosy neighbors and gossiping friends. And once an event had occurred, there really wasn't a way for those who hadn't experienced it first hand to go back and review it with the same intensity of those who were there.

Of course, those times are long gone. The introduction of Google, Facebook, FourSquare, and other services has forever changed the landscape of privacy. Now, it's possible to learn almost anything about you by spending an hour in front of a computer. Using only the three services anyone mentioned above, they can find out your political and religious affiliations, what you ate for supper, where you shop, how close you are with family, where you work, and, often, where you live and how much time you spend there.

If they want to dig further and spend more time, they might be able to find who the last girl you dated was, when you and your wife last had sex, when she had her last menstrual cycle, and what your opinion of the last movie you saw was. Using that information, even a fairly unsophisticated person with decent research skills can create a fairly accurate and wide reaching profile of who you are and what your preferences are. Or, they might use it to find out if you might be a security risk to a company, or if you fit for employment within an organization.

The information that can be found about you is almost limitless and, with a bit of creative software programming and the tools for accessing your personal data most of these services provide, anyone can use that information to extrapolate other, more intimate information that you might not have publicly shared. Things you might not want others to know. Things that might be embarrassing or damaging to your career, marriage, or family.

We live in an age where it seems like the technologies we use everyday are engaged in a literal war with us for our privacy. Do you need to look up information? Google will do it for you but it's going to cost you an entry about you in their database. Want to let your friends and family know where you are? Use FourSquare but your data is going to be mined and analyzed in ways we don't fully understand or even know. Almost everything we do in our daily lives involves technology that is hell bent on tracking, logging, and cataloging us for later analysis. For the last decade, the United States government has spoken about a program called Total Information Awareness. It's here and it wasn't developed by the government. It was developed by companies offering cool new services and, instead of fighting for our privacy at every turn, we willingly gave it up to them

With all the technology that seems devoted to invading and eliminating our privacy, it might seem to some that the battle for it might be futile. People like Mark Zuckerberg, the founder of the popular social networking site Facebook, have even declared privacy dead and the idea of living a private life antiquated. In their future, we will all be connected all the time with everyone knowing our every move, thought, and action simply by scanning our Facebook or Twitter profiles. But, the truth is, privacy isn't dead - even to those who say it is. Ask any of them if they wouldn't mind installing cameras in every room of their house that broadcasts everything that happens there and you'll quickly see lines being drawn and exceptions being made. Would Mark Zuckerberg allow us, his loyal fans, to watch him take a shower? Have sex with his girlfriend? Probably not. But it's not just in times like that where privacy matters, it's anywhere I simply want to be left alone and remain anonymous and unaccosted.

So the question could be asked how can you protect your privacy while still using tools like social networking, location based services, research tools, and the like? You can't. Remaining completely anonymous while doing even mundane things on the Internet is nearly impossible. But there are a few things you can do to maintain a small shred of privacy while still enjoying the interesting tools technology brings us.

1. Only friend people you really know. Ever notice how some people have thousands of friends on Facebook or Twitter? Do you think they really know all those people? Probably not. But all of those strangers see everything they post. Some of them may not even be real people but software programs designed to harvest private data. Friending only people you know in real life makes sure you're provided with some real world, non-loggable, privacy.

2. Use the privacy tools services give you. Social networking and location services are all about connecting people. But most of us don't want our ex-girlfriend who tried to kill us three times being able to track our every move. Sites like Facebook allow you to manage, often in granular detail, who sees our updates. You can even segregate people based on their relationships to you so one set of people see some of the updates while others don't.

3. Don't check-in regularly. Services like FourSquare make us want to reach for our mobile phones every time we walk into a place. Even though we know there's a good chance that nobody we know will actually be at that same location, we obsessively and obediently check-in, logging our exact location and posting it to the Internet. In addition to giving friends a glimpse into your life and habits, it also arms those who would invade your privacy or even break into your home or stalk you, with valuable information for them to use. By checking out a users location history, it's easy to figure out their daily routine or know when they're going to be somewhere for an extended amount of time. Vary your check-ins. Resist the urge sometimes.

4. Don't use Google. Yes, I know I've just committed a mortal sin and will burn in the ninth level of hell for all eternity for my transgression against the all knowing one. But privacy experts worry about Google more than just about any other service on the Internet. Google knows what our interests are, our health history, who we email and chat with, where we shop, and even our exact location. While there's no hard evidence that the company has ever deliberately misused any of this information, it would be incredibly easy for them to do so by writing a few lines of software code.

Unfortunately, replacing Google is probably the hardest thing on this list to do because using their services is both convenient and habitual. 'To Google' has even broken into the lexicon and their superiority is so ingrained in us that many people never even consider the alternatives. They are out there.  StartPage.com, a search service that searches Google, Yahoo, and other big search engines for you while keeping you completely anonymous, is a good place to start. They're even working on an anonymous email service that will provide secure, non-logged email accounts that aren't data mined to death.

5. Educate yourself about the privacy policies of the websites you entrust your data to. Any site that collects personal data must have a privacy policy. These are often long, complicated, documents that are written with so much double speak and with so many exceptions that it's hard to make heads or tails of them. Read them. Know what the site or service is going to do with your data and, if you don't understand something, email and ask about it. Get clarification on what happens to your data, who owns it, and how it's going to be used, BEFORE you sign up to the site. Once you sign up, providing your name and other information, you're logged. Don't jump in without knowing the limits of how they use your data.

Some of you might claim that the advice above is a bit paranoid and it well might be. But the fact is that, if we are to keep our privacy, we must be proactive about guarding it. Companies invade our privacy for the sole goal of making money. Is it worth losing your privacy just so you can send an email and say you use a cool service to do it? Is convenience worth becoming a statistic in their massive, growing databases? I don't think it is.

Lastly, the argument could be made that our ISP is going to log everything we do online anyway and, to some degree, that's true. We can mitigate that some by using secure, encrypted, connections (called SSL) to sites that allow it. But this will only protect the data traveling between our computer and the site. It won't protect us from the site logging our information or our ISP logging that we've visited the site. Still, it's another tool to help us maintain some measure of privacy and it should be used whenever possible.

The bottom line is that it's your job to protect your privacy. You must be proactive, a bit paranoid, and, more than anything else, willing to buck the trend of 'popular' services. Maintaining privacy is possible. Not being an entry in a database is possible. It's just going to take a little bit of work. In the end, it's work that's well worth it.

Friday, October 8, 2010

Downloading images from a website in Python

From time to time, you might find yourself needing to sift through a website and grab images from it. While this isn't terribly difficult in any language (except, maybe, Perl and Java), it's amazingly easy in Python:


import urllib2
import re
from os.path import basename
from urlparse import urlsplit

url = "http://www.yahoo.com"
urlContent = urllib2.urlopen(url).read()
# HTML image tag: some_text
imgUrls = re.findall('img .*?src="(.*?)"', urlContent)

# download all images
for imgUrl in imgUrls:
try:
imgData = urllib2.urlopen(imgUrl).read()
fileName = basename(urlsplit(imgUrl)[2])
output = open(fileName,'wb')
output.write(imgData)
output.close()
except:
pass


As you can see, the code above is incredibly simple. All it does is connect to the URL specified in the 'url' variable, searches for the HTML '<img>' tag using standard regular expressions and downloads whatever file is specified in the 'src' parameter. Earthshaking code? No. Useful? Yes!

The code could be made better if you added the ability to also parse URL's that were on the page and follow those to continue parsing. That way, you could point the program to a URL and have it automatically explore associated URL's and grab images from their sites too. Still, even as it is, it's pretty useful.

** Thanks to the folks at ActiveState for this Python recipe!

Wednesday, October 6, 2010

Book Review: I, Cyborg



Dr. Kevin Warwick is perhaps the most interesting person you will ever meet. In the truest sense of the words, Dr. Warwick has successfully integrated robotics and other physically enhancing technologies into both his life and his body. He has, indeed, become a cyborg, and he's not done yet!

"I, Cyborg" is a book that will capture your imagination from the first page and not let go until you sadly read the last paragraph. In the book, Dr. Warwick, a professor at the University of Reading, discusses experiments in cybernetics, brain enhancement, and life extension technology, some of which have had surprising results. You will be continually surprised at how relevant an extremely high tech book written in 2004 is to the science we're exploring today and you're sure to be left with wonder at how little progress we've actually made in life enhancement through technology over the last six years.

Overall, the book is really an exploration of Dr. Warwick's self-experimentation with crossroad detours into broader topics including bioethics and just how far we can push the human body through technology before we hit a virtual wall. The book definitely answers many questions, but, I think, raises just as many at the same time.

All-in-all, while I've just gotten deep within the book myself, I think it's a fantastic read and recommend it to you if you're even remotely interested in human technological enhancement.

Tuesday, October 5, 2010

Ubuntu 10.10: Nothing new here, move along please

Last night, I decided to bite the bullet and see what all the fuss around the upcoming release of Ubuntu 10.10 was all about. So I pulled out my external hard drive and installed the software, expecting to see enormously huge leaps and bounds in the progress of the OS. What I got instead was a mildly disappointing waste of my time that will make sure I won't be upgrading my os until the next LTS release in 2011.

Ubuntu 10.10, for all the typical hype Canonical puts behind these new releases, really doesn't add anything that would benefit a typical desktop user and, especially, a power user. In the desktop edition of the software there are six changes:

1. GNOME has been updated to the latest version
2. Evolution Mail has been updated to a new, faster, version
3. Shotwell has replaced F-Spot as the default photo management software
4. The sound indicator now has play, pause, forward, and back buttons
5. The software center has an updated look and feel
6. Gwibber has been updated to work with the new Twitter oAuth system

None of these things are going to matter to the average user and, I believe, the switch to Shotwell from F-Spot is actually a step BACK for the distro. But, with the way Canonical is pimping this release as the greatest thing since sliced bread, many novice users probably won't take the time to find that out. Instead, they will rush to upgrade their systems in a glassy eyed greed for new features that aren't there. Of course, that upgrade will come with tons of new problems that will need to be worked out by updates over the next few weeks and months and some users might be left with an entirely non-functioning system just because they wanted the latest and greatest upgrade which is, at best, a snorefest.

Don't get me wrong, I understand the importance of interface upgrades. I know that one of the things that makes Ubuntu so popular is that it looks so damn good. It can just about go head to head with Windows 7 and compete on look and feel and that's a very good thing. But why do we need an entire release just to implement the six features listed above? Does Microsoft wait to implement new, non-integral, parts of the OS until there's a new version of Windows out? Of course not! Canonical pushes these silly do-nothing upgrades to give users the appearance of movement and cutting edge. In the end, you end up with a slightly disappointing release like 10.10, one which I'm going to skip for the time being.

What I'm more excited about is the next LTS release - 11.10 12.04 I believe. It seems that the LTS releases are where the magic usually happens in Ubuntu and I suspect that 12.04 is going to be no different. I expect a lot of movement on the GNOME desktop, huge improvements to the Software Center, tons of work on Ubuntu One, and a lot of new hardware support. That's been the case with other LTS releases and I hope that continues to be true here.

Overall, I'd suggest skipping the 10.10 release and waiting for either 12.04 or 12.10 before doing an upgrade. Right now, there's just nothing really that exciting to see.

Friday, October 1, 2010

Product Review: Kindle DX Wireless eBook Reader




Generally, I don't do a lot of product reviews on this blog. They're something I'd like to do a lot more of, but can barely find the time to post regularly, much less do full product reviews. But the latest iteration of the popular Amazon Kindle ebook reader has me so excited that I thought now would be a great time to post my first review.

The Kindle DX wireless eBook reader is probably one of the best pieces of technology I've ever owned. I was excited about the original Kindle but this one just has me totally wowed. From its physically beautiful black graphite finish to its large, clear, anti-glare screen, Amazon got almost everything right about this product:


  • A big, bright, stunningly clear, 9.7 inch, anti-glare, screen that makes reading in direct sunlight incredibly easy.

  • Super thin one-third of an inch depth makes it as thin as most magazines. It's almost as light as a magazine too!

  • Incredible battery life. The Kindle 2 had great battery life but the Kindle DX kicks butt. Read for a full week before having to charge it again!

  • Great PDF support means you can take your existing documents with you easily without needing to convert them to the native Kindle format.

  • Global coverage means you can get books wherever you are - anywhere there's a 3G or Wifi signal.

  • Auto rotating screen. Yep, that's right, flip the Kindle DX to the side and it will reorient itself to a sidelong view.

  • Same great features other Kindle's have


If you're a reader and you purchase only one device this year, the Kindle DX is the one for you. Amazon has put a lot of work into the new design and it shows. The Kindle is one of the few devices that, like the Apple iPhone, continue to get better with each iteration. The DX is no exception.