30 December 2005

Two Tiered Internet

I just read an article by Michael Geist about network neutrality.

Don’t get me started.

Not good news but it’s inevitable that companies with low imagination that have survived for years by screwing their customers will continue to try to use the same strategy when they are faced with competition and shrinking profits due to commoditization of their products. Hey, it has worked for them so far, so it will continue to work, right? Wrong. People increasingly have more and more choices about where they spend their money, and more importantly, where they direct their attention. And we remember when companies rip us off and as soon as the technology allows we will switch.

The telephone companies used to force us to rent our phones from them. Then when we were finally allowed to purchase a phone they forced us to pay for every line into the house. Then they forced us to pay outrageous amounts for long distance. We haven’t forgotten that.

Cable companies have screwed us for years with their television channel bundling, charges for individual TV hookups and poor service and support. We tend to remember this sort of thing.

Cell phone companies have held us hostage for years by charging us for every little conceivable feature so that our communications costs at the consumer level have skyrocketed. They do this by keeping us locked in to plans and charging us outrageous amounts to get out of the plans, and by holding our phone number’s hostage.

The basic business model for all of these companies is… because we have a monopoly we will screw you with our old outdated technology as long as possible as long as you keep paying us way more than it costs us. It's nothing personal, it's just business.

News flash. Your monopoly might not last forever.

We won’t hesitate when the next disruptive technology comes along that causes these dinosaurs to become extinct. Nothing personal, it's just business.

Now middle level internet service providers, who also happen to be into telephony, cable and cellular, are lobbying to get the right to restrict certain types of traffic to prop up their old business models. Some of them are already doing it! This is outrageous, not only from the perspective of being manipulated by corporate greed but, as a friend of mine pointed out, from the privacy aspect as well. How do these companies have the right to listen in on users' internet traffic? Do they have court orders?

Innovations such as Skype are being lablled as 'parasitic' and sometimes data is even being blocked! How about the Telus decision to block their opponent's web site during a recent labour dispute this summer? (Not to mention the 600 additional sites that were inadvertently blocked). Where does that right come from?

Good question. Do ISPs have the right to block IPs and ports? It's bad customer service, to be sure, but since they don't have to evesdrop to do that, is it OK? I don't know. I know am opposed to the practice but I don't know who has rights in this area. If anyone reading this does please enlighten me.

In any case, I am all for innovation and freedom to choose.

Goodbye outrageous long distance charges… hello Skype!


27 December 2005

Pandora in Fast Company

There is a great article in this month's Fast Company magazine about Pandora. The article talks about the history of the company and how the thing works. For one thing, I had no idea Pandora has been around for several years. Anyway, check it out if you are interested in learning more about Pandora. Also, I have to put a plug in for Fast Company. It's a great magazine for entrepreneurs and business people in general. It's how I discovered Seth Godin years ago and although Seth no longer writes for them (at least not regularly) they have plenty of other great writers that are worth reading.

26 December 2005

Python Is Not Java

Here's an article about Python and Java dirtSimple.org: Python Is Not Java from Phillip J. Eby which rang true for me in a few places.

One of the things he mentions in this article is XML and how in a clamour to get on the bandwagon people use XML in places where it's really not helpful.

XML is great for interoperability but if you're just storing data or moving data around inside your application, you don't need XML. XML comes with a price tag in performance. It needs to be parsed.

If your language of choice is capable of doing the data work on it's own (*get python*, *get python*) then use that.

Don't get me wrong, I love XML and coming from a few projects where I had to deal with EDI formatted data, XML is a blessing.

XML is also a darling of computing media and of the big guys, and although it has a nice ring to it, remember, it's not magical, its a file format.

19 December 2005

Google Movie Finder

I seem to be stumbling accross a lot of cool stuff these days. Here's another one. You can now get movie schedules with Google. Just go to the usual Google home page and type "movie: king kong" or whatever movie you want to see instead of King Kong and you'll get the listings. Put your postal code in there and voila! Very fast, very clean, very Google.

12 December 2005

The Startup News

Here's a cool site. It's simple. It's clean. It does one thing really well. It provides links to news about startups. That's it.

The Startup News

10 December 2005

Children are People Too

I have a lot of trouble with adults who treat children with any less respect or positive regard than they would treat another adult, like they are lesser beings, like they don't deserve the same respect as other people.

Is there a word for discriminating against children?

We have a responsibilty to provide clothing, food and shelter and keep them safe from harm, to help and teach them and to be there for them when they need our help. We can teach them about responsibility, discipline, respect and consideration for others and we can teach them how to take care of themselves financially, emotionally and physically.

Yes, we temporarily know more than our kids. We are temporarily bigger and stronger than they are. But we don't have the right to control and/or manipulate them.

I hear parents telling kids that they are rude and disrespectful if they don't conform to the right set of manners at the dinner table. Seems to me that trying to force kids to do what you want them to do, the way you want them to do it, is a tad rude.

I see parents warning kids about consequences of their actions - like "if you spend all of your allowance on candy you wont have any to buy that toy" - and then bailing them out effectively robbing them of a real world learning opportunity.

I see parents getting angry with their kids because the child questions the adult's authority and then acting as if getting angry with them is OK because it was the child's fault. What's wrong with questioning authority?

This type of behaviour is draconian. It may be a leftover from how some of these parents were treated when they were children. Thankfully we weren't all treated this way. Why would you treat your own child with any less respect than you would a co-worker or a friend? I don't know.

I came accross this quote a couple of weeks ago. I like it. I couldn't find a web site with a clean posting (without some site problems and with the credit to the author) of this so here it is:


When we adults think of children there is a simple truth which we ignore: childhood is not preparation for life; childhood is life. A child isn't getting ready to live; a child is living.

Children are constantly confronted with the nagging question: "What are you going to be?" Courageous would be the youngster who, looking the adult squarely in the face, would say, "I'm not going to be anything; I already am." We adults would be shocked by such an insolent remark, for we have forgotten, if indeed we ever knew, that a child is an active, participating and contributing member of society from the time of birth.

Childhood isn't a time when a pre-human is molded into a human who will then live life; the child is a human who is living life. No child will miss the zest and joy of living unless these are denied by adults who have convinced themselves that childhood is a period of preparation.

How much heartache we would save ourselves if we would recognize children as partners with adults in the process of living, rather than always viewing them as apprentices. How much we could teach each other; we have the experience and they have the freshness. How full both our lives could be.

The children may not lead us, but at least we ought to discuss the trip with them, for, after all, life is their journey, too.

From Notes on an Unhurried Journey by John A. Taylor. © 1991



07 December 2005

Pandora

www.pandora.com

Check it out. It's remarkable.

05 December 2005

Lucky Javascript

The latest wave of web applications flying under the AJAX banner is a striking reminder to me of the power of a punchy label (or brand).

This technology has been sitting around for years. When Javascript first came oul many sites embraced it.

But it added too much complexity, so, is was considered smart to use Javascript sparingly if at all.

Now it has a new name, AJAX.

Paul Graham says that "Ajax" means "Javascript now works".

So, it seems Javascript is going to get another chance. That's pretty lucky. Technologies don't often get a second chance these days.

04 December 2005

a beautiful thing

Seth Godin had a blog entry pointing to a very interesting new service with the strange name Amazon Mechanical Turk.

You have to check this out for yourself but basically what they are offering is work doing small tasks called Human Intelligence Tasks or HITs. These are tasks that are very difficult to get a program to do but easy for humans to do.

I love the idea. I will be signing up to try out the HITs as well as learning how I might use these web services in my programs.

Am I the only one that thinks it's a little bit creepy though? Is this one more step toward the Matirx where humans are servants of machines?

What do you think?

Google Analytics

Google is launching another cool new service called Google Analytics.

http://www.google.com/analytics/index.html

They have shut down new registrations claiming that they had extrodinarily high demand so they have stopped taking new users temporarily.

I don't know if I believe that. I don't want to say they are lying but c'mon, this is Google. It's hard to believe that they are having load problems with this since everything else runs so astoundingly well.

Anyway, it doesn't matter. All this temporarily closed door does is builds up demand and buzz... just like their gmail launch, where you had to be recommended by someone and each recommender could only recommend 10 people.

Genius. Ya gotta love it.

30 November 2005

Virtual Monopolies

I just read an article about how great ideas are a myth and it reminded me of a thought I had the other day while standing in Starbucks. I was looking around the coffee shop thinking what a great execution it was. I mean they sell coffee for goodness sake. That's hardly a great idea. And yet, I was in awe at how amazingly well they have figured out how to supply me with a cup of joe.

Great ideas are cheap. I can go to coffee with my friends any day of the week and we'll spin off a few great ideas, guaranteed. But, we hardly ever act on them.

What's really great about Starbucks is what's really great about Dell and Apple and other companies that dominate in their niches... great execution.

When you walk into Starbucks you get a certain familiar feeling. Look around, the place is totally engineered. The colours are great, the smell is great, the packaging, the desk where you put in your creme, the cups, the gifts, the dress code, all done deliberatly. A Starbucks outlet is the result of someone taking the time to look at the details and make sure it all fits and leaving very little to chance. It's the result of a whole bunch of great ideas that have been executed flawlessly so that the entire package of great ideas is executed so that it is recognizable as a Starbucks.

How much attention are you paying to how you execute in your business. When you deliver your product or service does your customer know or care that it was you that did that? Was your widget remarkable enough that she said, "ah yes, the familiar feel of an Acme Widget, nothing like it", or is your customer saying, "I think I saw this cheaper last week... where was that?".

The reason Starbucks and Dell and Apple put so much attention into their products and services is because it gives them an edge. They have virtual monopolies. Sure, you can get an MP3 player from anyone but the only place you can get an iPod is Apple, and the only place you can purchase a cutting edge screaming machine completely online for a low prce and have it delivered to your door in a week is Dell, and of course the only place you can get a grande soy extra-hot gingerbread latte with room in a familiar friendly comfortable environment anywhere on the planet is Starbucks.

Forget your great idea. What's your monopoly?

29 November 2005

IronPython

I just viewed an intro video by Jim Hugunin about IronPython, Microsoft's rendition of Python on the .NET platform, and I am stunned.

I predict that this is going to have a huge impact in several ways.

First, Python is interesting in that it is quickly becoming the only language that can actually deliver on the "run anywhere" promise of Java (and the C language before it). Java does not run anywhere and neither did C, however, Python can run on pretty much any platform, right out of the box, PLUS (thanks to Jim), it can run inside Java (as Jython) and now by being integrated into .NET is can run anywhere .NET is. To me, that is very impressive. As a programmer it is now possible to take my favorite language with me no matter what project I am working on.

Second, the fact that IronPython is a .NET language means that it runs seamlessly inside Visual Studio. Whether or not you see that as a plus, I think it is definately a plus for those people who use Visual Studio and like it. It also makes them much more likely to give IronPython a try.

Third, .NET gives Python a fighting chance of being accepted in the most restrictive pro-proprietary corporate and government IT shops. A lot of apps that are being written with the .NET moniker are actually Visual Basic apps (ugh!). Now, IronPython as a real .NET language offers a really viable choice to developers, and let's face it, if it's OK to write in Visual Basic then it's got to be OK to write in Python. Right?

I know there are many other benefits, but those are the ones that are coming to mind right now, and frankly I have to go now because I need to play around with IronPython. Very cool.

24 November 2005

Good Job

ksblog has an entry about getting a "good job", which I loved.

My experience working within a large organization was that in order to really get things done, to innovate in new ways, it had to be a secret. As soon as people popped their creative heads above ground they would be squashed by the machine. (wow, that was kinda descriptive and yet vague at the same time!)

My point is, it has been my experience that often if you want to be innovative, just be innovative, and don't tell people that's what you're doing.

In my old job we used all sorts of creative methods to hide our innovations, like creating new phrases to describe what we were doing (only if asked), downplaying the good we were doing (kinda like the opposite of marketing), and co-operating by jumping through hoops whenever asked so as not to raise suspicions (hoops are inevitable).

As a result, we were able to do some really great stuff that if we had asked permission for, would have been rejected. We got our work done much faster and produced way more than was expected and our automations had positive spinoff benefits for the entire organization. Soon we were asked to take on other people's work in the same way.

It grew from the ground up so by the time the old school power keepers of the organization figured out what was going on, it was too late, the organization had already adopted our work and was loving it.

My advice is:

  • always keep your boss informed, without actually asking permission.

  • use creative names (i.e. we called our LAN a "File Sharing Device" for years because we weren't supposed to have a LAN. Fortunately, they didn't actually know what a LAN was.)

  • always jump through the hoops with pleasure (if you don't, you will be seen as a risk)

  • if you get attacked you can always use the bureaucracy against itself to slow down the people who are trying to stop you (i.e. "Let's schedule a series of focus group meetings to talk about how we might move resolve this.")

  • get buy-in from people you need by giving them lots of credit and sharing the love (i.e. "I would like to thank my boss, the IT department and the security folks for making this wonderful thing possible") even though they were in fact causing you the most friction.



And most of all, have fun. Life is too short to get the life sucked out of you by a big organization. Even innovation hostile environments can be fun places to work if you understand how they work.

Remember, they move slowly. You move fast.

22 November 2005

Subversion on Sourceforge

Sourceforge has annoucned that they are working to offer subversion services to developers as one of the many services they offer to open source project developers. This is great news. Subversion is significantly more efficienct and powerful than CVS so many of us have already adopted subversion but since Sourceforge hasn't had svn as a service offering our code has had to be housed separately from the rest of our project information.

This severely inhibits the seamless experience that Sourceforge had achieved in the past. I don't understand why it has taken so long to make the move except perhaps that as sometimes happens in the techie world people get so entrenched and committed to their existing toolset that it's hard to justify the switch.

Building and maintaining your software development arsenal is tough enough without having to go back and replace entire core systems. And changing a version control system has a whole set of challenges that say, changing your file server doesn't have. To switch from say a Windows based server to a GNU/Linux based file server is really not that big of a deal. Build the server, create the shared resource, create user accounts, copy the files over, grant access to the new share, change the system that you connect to... voila! Switching source code control systems has similar elements to those above plus you have to deal with the history... which is not backwards compatible. Yikes! So, you lose the history or you maintain two systems or you somehow kludge some of the releases of the old system into the new.

These are arguments for why users would might be reluctant to switch but are not reasons why Sourceforge might hesitate. It should be relatively straightforward to offer both CVS and Subversion at the same time. Other than massive numbers of projects switching over to Subversion I can't see an issue, especially since Subversion is quite efficient. Furthermore, given that a lot of developers will be slow to change old projects over right away because of the lost past data issue, mostly they would be dealing with new projects making use of the system which presumably will be less taxing than the existing CVS system.

Anyway, it's great to see this happening. I for one like the idea of devleoping open source projects in a mature, supported and modern environment with the full suite of tools available for team development.

21 November 2005

Getting what you want

I am a freedom freak. I thrive on freedom and flexibility. When choosing, I like to keep my options open where possible. And, like most people, I don't like being manipulated. Given that, what do you do if you want someone to do something? For many people the tools of manipulation are the tools of choice. Guilt, intimidation, bullying and talking-down-to are common tactics and the result is often resentment, resignation and loss of power.

There is a better way. In fact, there are many better ways. Here are just two.

1) Make a request
The single most effective way to get what you want from someone else, is to ask for it. There is no substitute for clear communication and making an honest request for something by clearly stating what you would like, without any fluff or justification or manipulation is your best bet to get what you want. The difference between a request an manipulation is that with a request the person you are making the request of feels free to choose whereas with manipulation there is this subtle or not so subtle feeling that comes with the words that let the user know that not giving you what you want is not okay. One way to tell if you are actually making a request is whether or not you are satisfied with either a "no" or a "yes" answer. If you ask someone to do something for you for which they say "no", and you are upset or have a feeling of resentment... that's manipulation. If you ask someone to do something and they say "no" and you can honestly say, "Okay, great. Thank you for considering it", that is a clean request.


2) Make it a better deal
Another effective way to get what you want is to make it a better deal. If you want another person to do something, think about it from their perspective. Put yourself in their shoes, so to speak, and imagine, "what's in it for them?" If you can tweak your requirements or add something or take something away so that the resulting offer is something that they can clearly benefit from you have a much better chance of getting what you want. So, for example, you tell people that you would like to switch the company policy manual from three ring binders to a wiki, and you explain how once on the wiki people will be able to contribute freely and concurrently and not only that, they can subscribe and be notified of any updates automatically... that creates a compelling feedback loop for them. It's easier for them to have software notifying them of the latest changes in policy than to have stuff filling up their inbox. It's a better deal.

There is no good reason that I can think of to try to force people to do what you want. People naturally resist being forced to do things. You can always find a way to offer what you want and allow people to choose freely from a number of options. And given a free choice, people will often want to help you.

Manipulation is a relic of the past. Collaboration, cooperation, shared vision will lead us to a more productive future. You stand a much better chance of getting what you want by speaking clearly and enrolling others rather than attempting to manipulate them.

06 October 2005

TBR

Seth Godin has come up with a new insight into work related attitude or philosophy for which he says the two extremes are Abundance and Technicaly Beyond Reproach (TBR). You can read it here.

What I wanted to add is that it seems to me that part of what he is seeing here is a fear based dynamic. I am no psychologist but I have spent many years working for and in large organizations and I have often wondered why large organizations tend to innovate less. I understand that part of it is just bureaucratic friction but I think there's more to it. I think it has to do with incentive, or rather lack of it, and fear.

Innovaters love to innovate but and will go to great lengths to make it happen but they are also people who have bills, mortgages, kids, etc., and when the organization is set up so that failure is pretty much guaranteed to bring you negative consequences, AND success could likely do the same, there is 1) no incentive to innovate - you can't personally benefit (other than a nice warm feeling) and 2) great reason to fear - loss of job, loss of opportunity for future job satisfaction, etc.

I love to innovate, and I spent the better part of my professional life working for large organizations that used my innovations to great advantage but to this day consider me a bit of a cowboy - rogue - amateur. Beacuse my innovations didn't come with binders three inches thick with Project Charters, Work Plans, Risk Assessments, Communications Plans, Implementation Plans... oh, and because they didn't cost a million dollars, they were/are considered amateur.

Most large organizations are set up to sqelch innovation. When you are a senior executive only 4 years from the big "R" (retirement) with a great pension, you have no incentive to rock the boat and a huge incentive to stay the course just four more years. People still need to get things done though, or at least be perceived as getting things done, so when that happens the best thing to do is to hire a huge company to come up with a solution over say.... 5 years, because we all know that doing projects with huge companies is way less risky than doing them with smaller innovative/rogue companies. ;-) (The old saying, "No one ever got fired for hiring IBM" comes to mind.)

I'm not bitter. Really. It's just a matter of learning the game. Recognize that it's a game and get better at it. That's the ticket. Ultimately, I beleive that innovation prevails and adapts, even in hostile environments (like the bacteria that lives in the mouths of deep ocean volcanos). It's possible to waste it but I don't think it's possible to stop it. Thank goodness.

Like Seth has written long ago, I think there should be a CNO - Cheif No Officer - that is the person who has to ultimately approve all No decisions in the organization. I wouldn't apply for that job because it sounds too risky to me... imagine ignorantly saying "no" to an idea that could save millions of dollars or that could improve the lives of others. Luckily there are lots of people around that are willing to take that kind of risk.

03 October 2005

Took ya long enough!

I can't beleive it has taken me so long to get into blogging. I have seen many of my friends get started and in fact have helped several others get started but haven't seriously started my own. Mostly I think it is a bit of fear about "what will I say". Like that's ever been a problem. Actually, what won't I say is probably more accurate. There are obviously some things that go on in our lives that are not blog friendly, so I guess part of the learning curve is learning where that line is for the writer. The other thing is I am not completely commited to the software platform. If you are reading this in 2005 you are likely reading it on blogspot, which is a pretty cool bit of software, but there are some features missing here (at least I haven't found them yet) that I see in other blogs. Things like categorizing my posts. I want to post about tech, family, philosophy and other thoughts. Do these things all belong on one blog with categories or on separage blogs. One blog is scary enough, multiple blogs doesn't make sense at this point. So, I will try this out and see if I can live without categories (or I will find that I have overlooked them), or I will switch to wordpress or something like that. One of the benefits of being a tech guy complete with a hosting business is that I can swich pretty painlessly. Once I have a bit of content going though it will be a different story so choosing the software wisely now will pay off in the end. Hey, I am I supposed to us paragraphs? Probably. Maybe next time. :-)

22 September 2005

DataZoomer One

DataZoomer lives, then dies, then lives...
I was coming close to being at the stage where I could say that DataZoomer was 80 percent complete. And then, I got a better idea. Hackers have a love/hate relationship with better ideas. One the one hand, better ideas appeal to our inner struggle for perfection but on the other hand, after we have been thrashing our neurons at a problem for some time and those neurons have spent some effort adjusting the model to fit the seemingly perfect solution, the notion of shattering that perfection with something new is crushing. For an instant, we die, just as when we deliver a solution and detect a glimmer in our client's eye, we enter an reality transcending state of satisfaction. So, it is with some anst that I notify you that I have come up with a better idea for the DataZoomer HTML rendering engine. That means I am going to pursue it. I have no choice.