Wednesday, December 31, 2008

Zune Y2K8 Global Meltdown (1st Gen 30GB) (AKA Z2K)

UPDATE: My Zune now works.  The MSFT people "jumped onto the problem" and came up with the precise technical solution of telling us to wait and see if all is good come Jan 1st 2009.  So they worked really hard to tell us to do nothing and excuse their error.

They need to make amends and win back the group of users that the likely have lost due to this mistake.

Also why does the Zune have an internal calendar anyway?  What purpose does it serve? Perhaps for syncing....would have been nice if they gave a real explanation.

I am a rabid user of my Zune.  I bought it on woot last year for $99 and have greatly enjoyed it.  I use it to listen to about 20 regular podcasts, house my music collection and photos, and keep tons of videos on it (especially useful with the TV out to have movies to entertain my kids just in case when at other people's houses).

So this morning I was listening to the zune without problem as I went to work.  I even showed some xmas photos to some coworkers right after I arrived.  However, soon after 9 AM in Spain (where I live) I tried to listen to the Slate weekly Gabfest and the device rebooted but froze in the bootup screen.  I just sat there with the loading bar full but non responsive.  None of the normal reset options were working.

Quickly I found some recent forum posts in Google and saw that this was d-day around the world for the 1st Gen 30 GB zune.  Later generation zunes seem unaffected.

I was able to fix the problem by unplugging the battery.  To do so:
  • Remove the clip covering the connector port
  • Remove the 2 small Phillips screws
  • Gently open the case (I used a credit card) starting from the bottom and moving to the top slowly
  • Unclip the battery connector (small ribbon coming from black battery)
  • Let it sit for 10 seconds
  • Reconnect everything by following the above instructions in reverse order
It will be interesting to see how MSFT responds to this disaster.  I sure hope that they make things right for their loyal users.  Giving freely the firmware updates to all users was a very smart move in my opinion (unlike some others who charge for their updates ).  Now they need to continue in that direction and do the following:
  1. Make a big public apology
  2. Get a fix out ASAP via firmware update
  3. Offer some good compensation (Free $ for music in their marketplace or decent discount on new device)
If they do not do this correctly:
  • They will have a big PR problem - the last thing they need is to hurt the Zune brand, especially if they are looking to expand it to mobile (for other branding problems see Vista)
  • They will undermine one of their differentiating factors against Apple.  Apple basically screws ignores its users and makes most pay for updates or ignores them completely (hello copy/paste in iTouch)
  • They will lose a large group of potential repeat purchasers that feel alienated and have lost their trust in MSFT.
Some of the more active forum threads:

Friday, October 17, 2008

Pimp My iGoogle – Greasemonkey Script

Update May 2011: Complete rewrite to handle new internal structure of iGoogle.

Update: I ported the script to Chrome:
Pimp My iGoogle - Chrome Version  use the main userscript on

Pimp My iGoogle –
I am not a big fan of many of the changes to the new iGoogle. I tried it back many months ago when it first was launched. I sent them a lot of feedback. Unfortunately, a lot of that feedback seemed to fall on deaf ears at Google (what a surprise - sarcastic emphasis added).

Anyway, there are 3 main things that Pimp My iGoogle does:
  1. Simplify and reduce the space needed by the header - I also unbury the link to Google Reader
  2. There is a button to hide/show the annoying left-hand nav bar (they really should allow users to customize the order and styling of those links in the nav bar).
  3. Brought back the max/min button to load and unload modules. Google decided to move this funtion from its original home to the options drop down layer...forcing users to make 1 more click to move open and close the modules. This script puts the function back where it belongs (on the header of the module)
Sadly, I have not yet fixed my last main gripe with the new iGoogle.
Individual feed items used to have the same max/min functionality as modules. That was great if I wanted to read a post then and there without really changing the screen. Well, that is gone now and you only get a snippet of each post. That makes each feed module take up too much space by default and it forces users into the expanded mode.
UPDATE: Google has since brought back the old functionality

My suspicion is that these moves are mostly aimed at forcing more people into canvas mode where Google will have more ability to show ads targeted to the active module's content. If they try that, I'll just update Pimp My iGoogle to block d'em ads.

Friday, October 3, 2008

Blog - "I am the Diva" giving away Zune

A Free Zune for me = a Free Zune for you! is the title of a contest that the blog i am a diva is holding for a free little Zune.

I sure would like to win it. I have a Zune 30 and am quite pleased but would like a small one to along with it.

Thursday, September 25, 2008

Updated Google Analytics Export to Google Docs

Google Analytics has updated the layout for the graphs and export links in their reports...breaking the script. Now it is updated to v2.6 and works smoothly.

New links:
Greasemonkey Script Page
Download GM script directly


Wednesday, September 17, 2008

Yahoo Mail in iGoogle

iGoogle is my homepage and although I have a Gmail account, I still prefer the Yahoo! Mail experience.

Here is a link to the Google Gadget using the mobile interface of Y! Mail

However, the mobile interface has a lot of fluff and does not fit perfectly in the gadget frame. Therefore I created some gm scripts to make it more useful and provide a better fit.

Greasemonkey Scripts
Main Script:
Detail Page Script:

Wednesday, September 3, 2008

Chrome 1st Impressions

I have been testing out Google's new webkit-based browser, Chrome, for about 1 day now and so far I am pretty impressed.  The performance is generally fantastic, although I did have some sluggishness switching between open tabs when some CPU intensive activity (loading a lot of JavaScript and playing Flash video) was going on in my current tab.  Otherwise, it seems to be very very fast and lightweight in the memory department.

I wanted to compare Chrome vs. Firefox 3, especially in the area of JavaScript execution.  My favorite js library is jQuery, so I decided to test how well each of the two browsers can rapidly process all of the appear/disappear effects.  Here are the video results:

Monday, July 28, 2008

USA Basketball as a microcosm of the USA today

It was 1992. The wall had fallen only a few years before. Communism was virtually dead. We had enjoyed a quick and easy victory in Iraq (GW1, at least seemed easy). Long live the free market, democracy and the USA.

That was when arguably the best set of talent in one sport had ever been assembled to play together for the Olympic Games in Barcelona. Who knew that would end up being my future home city. The names were legendary and the talent was spectacular.

Team USA basketball went onto to win the gold medal, going 9-0, with an avg. margin of victory of 43.8 points (thank you Wikipedia), and never used a timeout. That is pure dominance.

For the next 8 years, Team USA continued to win, but every year the margin of victory was smaller and the effort required was greater. Finally, in 2002 Team USA finished 6th the World Championships in Indiana.

Two important things happened between 1992 and 2002 to bring about this dramatic turn of events:

  1. The rest of the world greatly improved. The teams that the USA faced in 2002 were composed of players who grew up playing basketball. Motivated and inspired by their childhood heroes who played on the Dream Team - Bird, Magic, Jordan, Barkley, etc... - the talent level has significantly improved. Team USA had just assumed that foreigners could never play as well as Americans

  2. Team USA lacked discipline and did not prepare for the future. We were lazy and sloppy. There were virtually no team practices and assembling a team was a joke. Basically, we just scrapped together what players we could get to play (with permission from the companies who paid their endorsement contracts as well). Meanwhile, all other countries maintained a permanent team roster, scheduled practices, exhibition matches and participation in other tournaments.

Team USA was in denial for the next 4 years. It could not put together a solid team, which understood how to play as a team, and floundered in the 2004 Olympics.

Finally, in 2006, the NBA realized that it had to get smart and serious in its cooperation with Team USA. They would have a permanent coach and players would have to commit to play for 3 years on the team. Invitations were given and tryouts conducted in Las Vegas. While they still failed at the 2006 Championships to get a gold medal, it was early in the process. All eyes are focused on the Beijing Olympics.

Who knows what will happen next month, but my money is on Team USA bringing home the gold. When the USA puts its mind to it, it can accomplish great things. But, we can never forget that it requires determination, a commitment to excellence, and
a willingness to not cut corners.

OK, but why is the title of this post "USA Basketball as a microcosm of the USA today"?

The USA is like Team USA Basketball around 2002. My country has been lazy, arrogant, and has not made the right investments while the rest of the world has been raising its level of competition and competence. The election this year is basically between those who still see the USA as the Dream Team (McCain) and those who recognize that while we used to be the Dream Team, we lost our step along the way (Obama). Much of the country is still in denial about the rise of China and India and a mature EU as true economic competitors across the board.

A lot of the focus on patriotism in this election, is really a reflection by one side that they are unable to admit that the USA needs to get its act together. They are sticking to their belief in American Exceptionalism even though everyday the USA without improvement is just a little less exceptional. This exceptionalism came from continued investment in people, infrastructure, and ideas. Unfortunately, the lack of smart investment in infrastructure and people made beginning in the 80s through to today reflects itself in a crumbling K-12 educational system, collapsing bridges and levees, and faltering mortgage market (A lot less people who are now foreclosed on, would have bought the house in the first place if they had had a reasonable economics education).

It is time for the USA to recognize that it needs to compete not on talent alone, nor intimidation, but simply by being better than everyone else. That will not happen until we rebuild our education system, provide healthcare, build infrastructure intelligently, and approach the world with the understanding that "you know, they've got game too".

Updated Greasemonkey Script Integrate Google Analytics with Google Docs

Google seems to have updated their security in Google Analytics for exporting data, so I updated the Google Analytics to Google Docs Greasemonkey Script to accomodate the GA improvements.

Wednesday, July 2, 2008

My Dropbox Gadget

Update 01/12/2009: Dropbox changed their primary domain and iGoogle does not handle the redirect correctly, nor have I found a way to update the link via iGoogle.  Here are the new links to add a new module that works. Sorry for the delay.

UPDATE #2: I have just released v2 of the dropbox gadget. I have changed the gadget type to URL instead of HTML and I am hosting the gadget files directly using Dropbox. This allows the gadget to test if 3rd Party Cookies have been allowed for the domain.

It seems that Dropbox has updated their privacy settings on their site so that IE now will let users access the gadget using the default privacy settings. In Firefox, however, if you have deselected "Accept 3rd Party cookies" you need to add to the exceptions list.

The V2 version of the gadget is available:
Download V2 My Dropbox Gadget

Thanks for all of your support and the for the mention from Lifehacker.

UPDATE: After the initial release of the gadget I did some more testing based on feedback that I received. In the end, there appears to have been two separate issues:
  • The new iGoogle gadget.* API does not appear to be available for all users and browsers just yet. I switched back to the legacy API for all of the code.
  • The cookies set by Dropbox are considered 3rd Party cookies and so they are blocked by the default cookie security rules in IE 7. These are usually blocked because of advertising servers, but there are "white hat" uses as well...such as the case with dropbox.
I will add a test to the gadget to see if 3rd party cookies are enabled. Separately, there might be a way for Dropbox to change their cookies so that they will be accepted as a 3rd Party cookie.

If you have not heard of it, Dropbox is a fantistic service for syncing files between computers and a central web repository. They are in beta but you can signup here. Here is a screencast they have that shows the tool in action:

Although you can sync multiple boxes, I only sync the service with 1 PC currently, but I use the web interface frequently and a common file backup and anywhere access solution.

The idea occurred to me to build a Google Gadget where I could have even easier access to my dropbox whereever I go, especially on the computers that I frequently use but do not want to install the client software. So, I created the My Dropbox Gadget.

I submitted it to the Google Gadget Directory and will update the link soon. In the meantime, you can download the Dropbox Gadget here.

Once I got that working, I found that the natural width of the dropbox table did not fit well with the standard module width for iGoogle, so I created a greasemonkey script that adjusts the table style so it alwasys fits the gadget with in iGoogle. you can download the Fix Dropbox Width script here.

Friday, June 27, 2008

Google Captcha Gotcha!

So we are setting up some new buisness processes at work using Google Video and I had the lovely task of creating new Google Accounts for various groups in my business. Actually, the form is quite simple and easy except for the captchas. I think google uses some of the most difficult captchas today (they range from simple to impossible). I guess that is something they need to do.

However, it seems to me that they could make it more difficult for bots without making it so hard for humans to understand.By surprise, I came across what seems to be a bug in their system today. A few years ago, Google added an Audio Captcha to improve its accessibility.I was totally stumped with this captcha:

I really could not tell if that was gnttyled or grityled or I decided to click the wheelchair icon to hear the audio. This however, is what I heard:

It would be easier to decipher a drunk Bob Dylan arguing with Tom Petty, in Japanese, than to figure out this audio captcha.

Now Google does admit that they audio will be challenging:

To keep the audio captcha as challenging as the visual captcha when confronted by automated agents, we add some distortion to the spoken digits, and we're still experimenting with different distortion techniques to ease the burden on the genuine human user while locking out automated agents.

However, that is just ridiculous! Try it for yourself and you can send them feedback.

Saturday, June 21, 2008

Looks like I picked the wrong month to start blogging!

As the days have passed this month, I really started to feel like Lloyd Bridges in the movie Airplane!.

As the events keep piling on top of one another, he says to himself that it was the wrong week to quit (blank) like smoking, drinking, speed, and sniffing glue.

OK, I don't do any of that, but I did find myself saying...Looks like I picked the wrong month to start blogging.

After my first posts, I noticed a decent bump in traffic due to my script for integrating Google Analytics with Google Docs and Spreadsheets. I got really excited and starting working on my next two scripts: Integrate Google Trends with Google Docs and Spreadsheets and Adding PR to my referring traffic reports in Google Analytics. After getting decent progress on the two scripts (the Trends script is about 50% done & the pageRanker script is closer to 85% done) I was hit with a triple whammy of time consuming events:
  1. At work, I am overseeing a full redesign of our 12+ sites and we just finished development and started QA in a compressed schedule
  2. At home, I had family visit from the USA. Absolutely excellent, but there goes lots of time...
  3. And finally, I have the fortunate distinction of being the parent responsible for making the end of year DVDs for the two public daycare centers in town. This project has given me such an appreciation for film editors and the time it takes to make quality shows.
The bad news is that all of these big-time to dos have cut into sleep and my feeble efforts at my nascent blog. The good news is that I see light at the end of the tunnel - not the bright light near-death experience kind of tunnel - but more like when you get stuck on a regional train and it finally starts moving again.

I hope to post back soon with some code updates and also my take on why I think the USA in the world today mirrors the recent experience of the USA Olympic basketball team.

If anyone out there has any suggestions for a good video editing tool that is flexible, feature-rich and does not require a monster of a machine to run, please leave a comment. Thanks

Monday, June 2, 2008

Integrate Google Analytics with Google Docs using Greasemonkey

UPDATED 07/31/09: Not sure if the problem was upgrading to firefox 3.5 or if the GDocs API folks changed how they handle uploads, but the script started returning 415 errors from GDocs.  I worked with Google and now we have the problem fixed.  Should work for all again.

Any suggestions? Please add them in the comments.

UPDATED 05/04/09: All fixed now. However, I am starting to notice some odd 404 errors coming from the Google Docs API. The file uploads nonetheless, but every once in a while the confirmation message comes back as a 404. Any suggestions? Please add them in the comments.

UPDATED 04/30/09: Google just made another change to their code which broke the script. I will work on fixing it starting next week. When it is fixed, I'll make another post. Thanks for your patience.

UPDATED: I updated the script with many improvements to reliability and functionality.

UPDATED: I updated the script to handle security changes made by Google to Google Analytics

Recently I was inspired to start tinkering with Google Analytics using Greasemonkey after listening to a presentation by Avinash Kaushik.

One problem that we have at work is that our version of Excel for some reason does not like the CSV files that GA exports. Our copies of Excel XP (I know its 6+ years old, but we just moved to it last year) only see the graphing data, but they do not recognize the tabular data further down in the CSV files.

After seeing the Juice Analytics integration for seeing new reports in GA, I realized that I probably could solve my export problem too using Greasemonkey. I decided to integrate GA with Google Docs, so I can do a one-click export to create a Google spreadsheet for analyzing the GA data.

Now, on any report that offers a CSV download, the user sees a new option for Google Docs:

Clicking the link will log the user into the Google Docs service and upload the report. Currently I have the # of records limited to 10000 rows of data, but I may make that a configurable option. After the report is successfully uploaded, the user received a confirmation message with a choice to open up Google Docs in a new tab or just to remain in GA:

Greasemonkey handles your data securely and only limits access to values stored by the user script to the user script itself. There is an additional measure of security I added that fully encrypts user passwords. Finally, the export service can only upload to Google Docs using the exact same account that you are currently using in GA. If you want to share, I suggest you share the spreadsheet after it has been created.

Installation Instructions
  • You need Greasemonkey & Firefox 2+ installed
  • If you have Greasemonkey working you will see a little monkey icon in your status bar:
  • Now, download and install the user script (click OK/Accept on any message boxes. The file used to be called exporttogoogledocs.user.js, but apparently renamed the file!)
  • After opening choosing to open up Google Docs, the pop-up blocker may stop the new tab from launching...if so, you will need to allow pop-ups from the domain because of the way Google handles the redirect.

Happy Analysis!

Sunday, June 1, 2008


Welcome to my new but sparsely populated blog. It seems like I have been dragging my feet too long to get this started, but I guess it is about time to begin.

OK, you might be wondering what the heck is a Spanish Gringo?
Well, that is me. I moved to Spain from Los Angeles back in 2006 and still I am in the continuous process of figuring out how to live in another country.

Why are you here?
My plans are to use this site to offer commentary, tips and other random thoughts on a broad range of subjects --- mostly in the areas of
  • Technology - from coding to websites to devices to companies
  • Politics - mostly US politics with a view from abroad
  • Business - talk about "big stuff" like company strategy but also day to day corporate culture
  • Surfing - my is a bit hard to keep it up in the Mediterranean, but I manage somehow
  • Other - sometimes something just hits me.
OK, that is the first post. Let's hope that this keeps on chugging along...Bye