Tuesday, September 26, 2006

GSM is Dead; Long Live GSM

My trips abroad usually involve a little side venture to the Vodafone store to get a SIM card for my GSM phone.  I find it convenient (and geeky) to have a phone when I'm over there.  I did so last week while in the UK.

One of the things that surprised me was how few people were using WCDMA handsets.  I figured by now it would be in the hands of a lot of consumers.  More surprising is how few were being offered at the stores (with the notable exception of Three of course).  I checked out Orange and Vodafone company stores, as well as Cell Phone Warehouse and Phones 4u in Edinburgh.  Few had 3G phones out on the shelves, or had signage related to 3G plans.  Only Three was actively advertising anything about it.

Same thing is true here with our GSM providers.  T-Mo doesn't even have 3GSM/WCDMA deployed.  Cingular has it deployed but has like one handset. They actually lie on their site and say that EDGE is 3G.  Not even GSMWorld makes that claim about EDGE.

Meanwhile, on this side of the Atlantic, take a look at two of the main providers:  Sprint and Verizon.  They've made massive rollouts of EV-DO service (see: Sprint, Verizon) and almost all of the phones priced $50 or above on Verizon are EV-DO enabled (Sprint has less phones with EV-DO--3 by my count).  Both have PDA services that use EV-DO (Sprint: a couple Treos, Verizon: a bunch more). 

Which brings me to my next observation... I hardly saw any recent Blackberries (only saw older models) or any Treos in the UK.  The only data services I saw people using were PIX and TXT messaging.

Getting down to the point of this post, it's shocking that the GSM customer base has still not migrated to higher standards like WCDMA or HSDPA in one of the world's most lucrative mobile markets (the UK).  Where are the deals on cool 3G technology, like we have here in the US?  Why didn't I see Vodafone pushing Vodafone live?  The only advertising I saw for any 3G service was being able to check your Hotmail on Three.

What it speaks to is the relative lucrativeness of the technology.  The United States' CDMA mobile providers seem to be proving that the Qualcomm technology path has a much, much faster rate of high speed services growth than the GSM technology path.  Looking at the GSM Association statistics, 11% of CDMA users are now on EV-DO, only 4% of GSM users are on any form of W-CDMA (most of which are in Japan, I think).  On the EV-DO side, a huge number of those are in the United States, the most lucrative mobile market in the world, thanks to the consumer push of Verizon and their VCAST services, and Sprint's mobile data push.

Final thought.... Vodafone, a stock I own and have now owned twice over the last five years, should not sell that Verizon Wireless stake they have under any circumstances.  It's easily proving to be their most valuable growth asset in a huge lineup of assets they acquired in the 90s.  I guess as a shareholder, I should be indifferent.  I own part of that network through Vodafone's stock, and whatever they do with it, I will end up owning part of it or getting a cash payout.

Monday, September 25, 2006

Yahoo making employees use vacation for Xmas

Now this is interesting, courtesy of ValleyWag

When SGI did this to their employees, that was the beginning of the steady downfall of that company.   I don't think Yahoo is in that position, but maybe the pressure to keep advertising income look good is forcing them to make this move.   Are we at the beginning of the downward trend for the online advertising bubble?

I am back from the UK

So I have a bunch of stuff to write about. See above.

Friday, September 15, 2006

Wii60? Guess not.

Nintendo announced yesterday that the Wii would retail in the United States for $250 on November 19, 2006. With a second controller, that will easily kick the price over $300.

For the past few months, most people had been anticipating a lower price because, unlike PS3 and 360, the Wii is not really an innovative machine in terms of graphics and CPU power (it lacks High-Def, etc). It innovates in gameplay via its controller. Someone coined the term "Wii60", a clever way of saying "Buy a Wii and an Xbox 360 instead of buying a PS3 -- both consoles will cost the same as the $600 PS3!"

In the end it turned out not to be true... Wii60 would cost $700+ with dual controllers, PS3 will cost around $650 with dual controllers. Though you could get the cheaper version of the 360 and cut the price down by $100.

Personally I have very little interest in the Wii. I enjoy playing HD games on the 42" plasma, or using the VGA cable I got to connect my 360 to a 20" Dell LCD computer monitor. Since my favorite game is Madden, and I play a lot, I can't really really imagine playing for several hours on end swinging my arms around with the Wii controller. I suppose I'm not really the Wii target audience, but I thought my Gamecube was a great console in the last generation.

Btw, what's up with J Allard's gamerscore? He really played 30 seasons on Madden 06? Did he simulate it for the achievement? I'm a huge Madden fan and I didn't even get that far. I didn't like the 360 version compared to the Xbox version last year. This year's 360 version is much better, though.

Thursday, September 14, 2006

Ice cap melting in winter

Well obviously a lot of people who come to my blog lately are interested in the environment. The San Francisco Chronicle has an article this morning describing how our northern ice cap is melting in the winter.

I wonder if the northern cap would melt faster than the southern cap because the northern hemisphere is more industralized, having cut down more trees, etc. Or does heat diffuse out on a global scale?

I'm only going to write about loan consolidation...

...and put AdSense on my site. Or not. But check out the most expensive adwords.

Of course, Trimbo is ad-free. I tried adsense one time on one of my sites and made a total of $0.70 over 6 months. I guess I didn't write enough about insurance or loan consolidation.

Based on this I might as well do a little SEO here to get some more viewers: save money with 0ur looooow car insurance / loan consolidation rates! Lawyers Lawyers Lawyers!

Wednesday, September 13, 2006

Google's main product improving lately

Their main product being Google's search engine, of course.

I've noticed that Google's giving better results than about 6 months ago, when I started using Yahoo search for the most part. Google had been overrun by SEOs and it was annoying me. Now Google's search index is updated much more often than the competition, especially Microsoft. I'm not sure if this is their strategy to get rid of search spam, but it seems to be a much more enjoyable experience all around. I see news articles in the main index sooner, and I'm seeing a lot less spam.

Bottom line, it looks like I'm back to using Google for search, though I still like My Yahoo a little bit more than personalized Google.

Monday, September 11, 2006

More Software Efficiency Shout-Outs

I wrote a small comment on Mark Shuttleworth's blog in response to the furthered Ubuntu development of XGL/desktop effects/compviz, etc. 

While I think those are neat in terms of getting more popular acceptance of Linux, maybe the thing to do is focus on the "green" ness of Linux, instead of developments that make it less green.

Anyway, the purpose of this post is I wanted to give a shout-out to software developers that might be wasting cycles. 

The requirement is, this is something about the runtime that isn't constantly needed, but is costing overhead all the time.  Obviously if you're playing a game, or doing number crunching, or scanning your disk for a document, then you'll need the power you can get.  What I'm looking for are things that have needless overhead.  For the most part, I'm throwing these out for discussion, I don't have hard numbers (the exception is Vista).

  • Windows Vista Aero.  I called this one out on Shuttleworth's blog specifically because I've actually measured the effect of running Vista.  It uses an extra 20w at idle over XP on my machine when running Aero just because the GPU is fired up and running its fan.
  • MacOS X UI.  See Windows Vista Aero.  There's really no way to measure what kind of power the UI is using, since there is no mode for OS X where the fancy effects are not active, I think (I'm not a Mac user).  But I think it also uses the GPU for its fancy effects, so mark this one down.
  • MacOS X - Objective-C.  Again, I'm not a Mac user, but I was a NeXT user, so maybe someone can clear this up for me.  When I was using MacOS X a few years ago,  Objective-C's pre-binding, late-binding, all kinds of binding takes a lot of cycles compared to C++ or C apps written in Carbon.  Should this be on the list?
  • Java and .NET.  I wonder how much we are spending by having these languages be interpreted by the CLR/JVM instead of compiling them to machine-native code with a garbage collector?  The JITting has become really amazing for both of these.. the performance is really good.  But it still makes me curious.
  • Bittorrent.  People leave their computers on all the time to try to make a download faster when, if it's legal material, they can probably get it from a fast download site somewhere.  Conceptually, I like Torrent in terms of network traffic.  However, it's probably incredibly inefficient when you take into account all of the computers, routers, switches, fiber, etc.
  • PDF.  I'd be curious to hear more about PDF vs. HTML for a lot of documents.  I get sent PDFs all the time when it probably doesn't demand that much.
  • XML.  Is really wordy and people are using it inefficiently out there in the world.   It's being used for all kinds of data storage that should really use a SQL database or just plain old text files.  I wonder how much XML is contributing to wasted cycles out there, just because people are too lazy to use a SQL database.
  •  Object-Relational Mapping.  Speaking of that, how about ORM instead of just coding your own SQL queries in a DAL?  ORM seems very inefficient in the automated/no-coding ways that are out there (like ActiveRecord), compared to coding up your own queries (well, when the queries are complex, of course -- but who knows how many people using Hibernate to handle everything about their large JOIN code?).

Just a few that I could think of.  Post more into the comments, or feel free to refute some of these.  The goal isn't to get people pissed off.  The goal is to get people asking whether we should pay more attention to efficiency in software as a green practice.

Friday, September 08, 2006

Why Web Apps Could Be Bad For The Environment -- the Layman's Version

I was telling a friend about my last article about this topic and he mentioned it might be good to write a layman's version. So here it is.

When you use a word processor like Writely on the web, it potentially uses a lot more electricity than when you use a word processor on your computer.

Three things can increase the effect of this:
  • There is software running on the computers at Google that store the information. This takes dozens or hundreds of computers to store the information for the users. Just the fact that you're involving two computers to do the word processing of one person means you are adding to the electricity used for the task.
  • If the programs running on the computers at Google are inefficient--it is not in the case of Writely, but imagining it was--this adds to the number of computers they need to have on their end to handle all of the users.
  • Lastly, the program you actually see is running through your web browser (Internet Explorer or Firefox). The programming language used to create this experience (JavaScript) is not known to be very efficient compared to the programming languages used to create a desktop application like Microsoft Word or even OpenOffice (those languages are called C, C++ or Java in the case of OpenOffice).
To reiterate an analogy to cars: imagine if you need to transport a small cardboard box and you buy an SUV to do it instead of a Hybrid car. You've spent a lot more on gas than you really need just to transport the cardboard box.

However, it should be said that desktop applications like Microsoft Word are not completely off the hook on this! Those applications are getting more complicated all the time, needlessly so, and wasting electricity in the process. If the upcoming Office 12 takes 1 second more to do a mail merge than the current Office 11, that adds up. I don't really know if mail merge is slower or faster, but imagine the millions of people who are doing mail merges out there. When my computer is just sitting there, Windows Vista takes 20 watts more than Windows XP, because of the fancy new graphics Microsoft has added to Vista. Imagine that across a billion computers and it becomes clear that if Microsoft had made this more efficient instead of spending time on needless features, it could actually have an impact on global electricity use.

All I've been trying to say with this is that computer programmers who allow inefficiencies to stay in place because it's easier, or to make a quick buck, should own up to their responsibility when that inefficiency is pushed out on a wide basis. Like, for example, the internet. This is not morally different than carmakers pushing SUVs. They do it because it makes a quick buck and it's easy.

Thursday, September 07, 2006

The natural cycle of warming

I've often said that it doesn't really matter whether humans are causing global warming -- we should get off of oil and coal anyway because of the socio-economic concerns surrounding those fossil fuels and localized pollution problems (ever been to Pasadena on a bad smog day?).

Well, more indications are coming around that there's little we can do to stop global warming when it starts (for whatever reason, humans or not). Courtesy of USA Today, America's Hotel Newspaper.

Wednesday, September 06, 2006

Team Xbox's take on Sony delay

 Granted, they're biased from the domain name, but their phoney interview with Kutaragi is pretty classic.


Tuesday, September 05, 2006

Your AJAXy Rails app is ruining the planet; or, "Green" Software Practices

I was reading a blog the other day touting the slowness of Ruby and this concept occurred to me:  using "developer efficient" languages is ruining the environment. And if you look around, all of us who use these inefficient technologies are counting on hardware makers improve efficiency so we can continue the habits we prefer.  That's just not right.

An Analogy to cars.

Consider for a moment if you're driving a gas-guzzling SUV.  You believe that they should just find more oil, or that carmakers are responsible for making cars more efficient.  You believe that we should bomb OPEC to get you cheap oil.  Anyway you cut it, the responsibility isn't yours.

Or imagine you're somewhat energy conscious and own a fuel efficient car.  You desire the electric car, or the solar panel, or fusion.  We geeks have been screaming for years that these things need to have time spent on them, yet we ourselves refuse to drive 55mph instead of 70mph, which would use a lot less gas, or take the less convenient but more efficient public transportation around here. 

And still carmakers keep churning out gas cars.  Why?  Because it's easy and it's profitable, and we don't care enough to spend the money to get away from that.

Back to code.

Guess what, we the lazy programmers using AJAX and Ruby on Rails or Python to gain programming efficiency are the same way.  If you cared about the environment, you'd use C++, or at least Java or C#.

Face it:  every layer added between your code and the hardware costs something once you scale it up, just like it does for a million gasoline cars.  In the case of web pages and applications, that something is electricity.  Most of which is generated by fossil fuels.  Most of which comes from coal mines or oil imports.

If your code is 50% slower than desired on a machine that takes 150w at full load (i'm being generous), that's a wasted 150w, because you need a second box.   If your code is 90% as fast, that's still 150 watts wasted -- you still need a second machine to get the same performance as the optimal solution.  Those numbers suck.

Right, It's all about Scale

Now imagine you have a farm of these machines. 

Now imagine a co-lo the size of Google's site in Oregon filled with that inefficient code.

Now imagine that you've written code that pings the shit out of your machine just to get someone's AJAXy email, or to fill a search box interactively.

Now imagine all of those browsers out there running horribly inefficient Javascript code just to make your little app.

The bottom line is that it adds up.  Every CPU cycle burned on interpreting your "10x faster to program" scripting language code is a cycle that could have been used to get some work done using a lower level language.   And every router or browser client dealing with your bullshit is also wasting electricity in the process.

And if you look at solutions that David Heinemeier Hansson had made for Rails' scalability, they always come back to buying more machines.  Yes, I agree that Rails is desirable when compared solely against developer time.  However it is NOT desirable when compared over the long term with scalability, air conditioning and electricity costs.  If I can do on one sever what it takes to do on 10 with Rails, I would certainly spend the time to do what it takes on one.  If the funding wouldn't last long enough, then I guess the idea wasn't that great, now was it?

I guess it all comes back to social responsibility

If you care about the environment, you'll try to make the most efficient software solution to the problem, not just wait for hardware manufacturers to make the uber-efficient hardware solution to accomodate your software programming whims.

If anyone ever reads this post who has a vested interest in Rails, they'll probably be all pissed off and defensive.  Well, don't worry, you're not alone.  Python is also in that category, and I love Python.  Frighteningly, I think the most "green" language out there right now is C++, C or Objective-C, followed by Java and C#.  Once you get down to assembly, the amount of energy spent in maintaining the code is probably too high for the energy benefit.  It would be interesting to see some real numbers on "green" language choices and development practices. 

One thing is sure, green software practices probably don't involve javascript and AJAXy code.  Imagine all of the servers, routers and clients it takes just to tell you that you have 5,000 results for a search on the word "Jimmy" as you type it.  That scale is just insane.

Save the planet, defeat the terrorists, code in C++.  I kind of like the sound of that, even though I don't practice nearly enough myself.

ps - even if you don't believe humans are the cause of global warming, consider the socio-economic reasons to get ourselves off of oil and coal as incentive enough to cut back on fossil fuel use.

Monday, September 04, 2006

Imaginative Game with Wii Controller

From YTMND, of course.


Whoa, can this be true?

A quote from this story: http://xe360.com/article/Madden_NFL_07/3761.html

More than 50 million downloads of gaming and entertainment content from Xbox Live Marketplace to date
Over 2 billion Microsoft Points sold to date
When I read the first item, I wasn't that impressed because a lot of stuff can be downloaded via Xbox Live for free. I've downloaded a lot of demos that way (Dead Rising, Saint's Row, many XBLA games).

But then I read the second item and said "whoa." Each Microsoft Point is worth $0.0125 -- so 800 of them come out to be $10. This means that Microsoft has sold $250m worth of Microsoft points. That's huge. It basically means that every owner of an Xbox 360 so far (about 5m of us) is willing to spend ~$50 on games and other materials via download. Considering that we spend $50 a year on Xbox Live Gold in the first place, this is no small feat.

In addition to my Xbox Live Gold account, I've purchased $25 worth of Microsoft Points to buy demos and such over the last 6 months -- about $12.50 every 3 months. Granted, this is not much money when you look at what a typical Dead Rising sale can make @ $60. However, it requires no middle men. No trucks, no disc manufacturing, etc.. There are no retailers involved. There's just a website and "microtransactions" that have a weird math scheme to make it seem like you're spending less than you really are.

To really put this in perspective, consider how long it took Apple to get to $250m of revenue from iTunes Music Store -- it took selling 250m songs, which took a number of years IIRC. It certainly took longer than 9 months. But really consider how many users it took to reach that. Way more than the ~4m on Xbox Live (60% of 6m XB360 owners).

I've long said that Xbox Live might be Microsoft's best online play yet, and these stats seem to be showing that. When I first bought an Xbox circa 2002, I was not thrilled about paying a yearly subscription fee to Microsoft to be on this network. I had been playing Madden around the same time on my PS2 with the online adapter and hadn't paid anything to do it. As it has turned out, I've really enjoyed the controlled experience of Xbox Live, to the point where I don't mind paying for the Gold subscription. The community, the reliability and the ease of use are all worth paying for. I'm glad to hear it's going this well for them.

XNA is cool, but I want Collada

As a long time .NET lover, it's good to see it being pushed in the direction of gaming. I think it will be many, many years before we see any major third party game entirely written on he .NET framework but I hope we get there someday. XNA is really cool for that reason, and it's great to see game development be more accessible than ever. It's like when video cameras became available to kids to make little stories and stuff, and those kids are now directing the stylish movies you see every day. XNA is another example of a new creative outlet for a medium to grow upon.

But I haven't done much with XNA except install it. One reason I haven't done much is because there's no content pipeline. It can't load .X files. So a bunch of people out on the web are writing their own importers as a result. Hopefully someone will code up a Collada reader before I really get into using XNA so I don't have to write it myself.

Oh, and if you're in the market for an interchange format, might I recommend Collada? I've been working with various companies and individuals to smooth out some of the kinks in this format and it's coming along very nicely. I'm kind of surprised that Microsoft is going to support FBX in their default content pipeline over Collada. I know Collada is originally Sony's thing, but FBX is even more closed than Collada. Collada has been handed over to a standards group that anyone can join. Alias/Autodesk should really set something like that up if they want to make FBX a competitor to Collada.

In any case, we have enough of a format war right now with BDD and HDDVD, can we just agree on a 3D interchange format?!

BTW, I love that the default background color when you create an XNA project is Cornflower Blue. Why is it that in the games industry we reference Fight Club really, really often? Underlying anger, perhaps? :)