Strike One


Microsoft Office Live Fails
August 6, 2009, 1:56 am
Filed under: rant, tech | Tags: , , , , ,

So, I said – why not? I will check out how Microsoft’s new “Office Live” works. I’ve seen Google Docs, I’ll just compare the two. So, I start Firefox, head over to the website, try to log in with my live.com account and I get hit by this message:

To use Microsoft Office Live, your computer must meet one of the following requirements:

  • Microsoft Internet Explorer 6, 7, or 8 running on Microsoft Windows XP, Windows Server 2003, or Windows Vista. You can download Internet Explorer from the Internet Explorer page.
  • Mozilla Firefox running on Windows XP, Windows Server 2003, Windows Vista, or Mac OS X 10.2.x and later. You can download Firefox from the Firefox download page.

It seems like the only operating systems “supported” are Windows and Mac OS X. What’s the difference between Firefox on Mac OS X and Linux anyway? And why does it matter what operating system one uses to access a web-based product or service?

This is a typical Microsoft move – they fail to acknowledge there’s anything besides Mac OS and Windows on consumer desktops. It serves their Mac vs. PC propaganda, Windows claiming to be the “PC”; just like Apple, but not quite as bad or as deep. Great – I thought I could “share with anyone” just like they claim on the office live front page – except that “anyone” excludes all Linux users. Back to Google Docs, should have known better.



Amzer 82000 Cradle / Charger for G1
July 26, 2009, 11:36 pm
Filed under: android, tech | Tags: , , ,

The Amzer 82000 is a cradle/charger for the G1 phone with the extra spare battery charging slot. It is a great product and I am glad I did a bit of research before purchasing a cradle/charger for my phone.

If you read the reviews and/or all of descriptions on other similar products you’ll find that they only charge the phone over USB connection and only charge the spare battery with the AC power connection. Not so with this product. I can charge both the phone and the spare battery while only connected to the AC power. It also has the light letting you know when the spare battery is done charging. There’s no such light for the phone, but that’s not an issue because the phone itself has the LED indicator which changes to green when it’s fully charged.

It is also extremely easy to place and remove the spare battery from the charging compartment. The phone compartment has an extra space for the USB cover, and has no problem with extra size added by the InvisibleShield plastic. In addition, the product looks good with the nice black shiny finish, although it does attract fingerprints due to the same. I would definitely recommend it over other similar devices available to-date.



Battery Reviews for T-Mobile G1, ADP1, HTC Dream
July 26, 2009, 11:09 pm
Filed under: android | Tags: , , , , , ,

If you recently bought into a T-Mobile G1 or Android Dev Phone 1 (ADP1) or HTC Dream phone and think the battery life leaves something to be desired, you are definitely not alone. I myself had bought an ADP1 and had come from a previous  background of Blackberry Curve and Motorola E680i. Both of those previous phones would last me about one and a half days, so I’d end up charging them every night regularly.

However, there are 2 problems with the HTC Dream device. First of all, this phone has a bigger screen, is mostly a touchscreen device, has a better processor, more RAM, and has support for 3G. All this means it needs more power to operate. Secondly, since the Android operating system is so open to 3rd party applications and customizations, users find a lot more uses out of the device than with the most other phones. This means less sleep time for the phone and more battery usage overall. Due to the above 2 reasons in some cases power users don’t even make it through a busy day on a single charge.

So, what are your options besides charging during the workday, like your compatriot iPhone users? Well, if you don’t want to double your phone thickness with the extended batteries and their custom back covers, there are 3 options:

  1. Buy extra factory battery from HTC
  2. Buy Seidio 1400 mAh battery
  3. Buy Fommy 1600/1700 mAh battery

But which one do you buy, and how do they compare? Good news, because I got all 3 and I can let you know. This is by no means a scientific report, but just an advice based on my day-to-day use of the phone and the above-mentioned batteries.

The factory replacement battery

First of all, apparently, the G1 devices that came out through T-Mobile for the first few months had a really poor (almost defective) battery. HTC can replace those at no cost to customers by simply calling the HTC customer support. The batteries included with ADP1 and replaced HTC batteries fare a lot better. So if you have a G1 that you bought through T-Mobile, you can check with HTC if your battery can be replaced.

The factory replacement battery is exactly what you’d expect. It’s a quality product that will power your device exactly the same as the original. After 5-6 months use I didn’t notice any drop in its ability to hold charge.

The Seidio battery

Even though the Seidio battery is rated higher than the original, I didn’t notice any improvement in its performance. Actually, I routinely exchange between this and the factory battery, and I cannot tell which one I am using because they last me about the same time and they take about the same to charge as well. In short, there’s no noticeable difference between the Seidio and the factory batteries.

The Fommy battery

The Fommy model is rated the highest at 1600 mAh and is the most expensive out of the three. When you receive the shipment, the sticker on the battery will actually say 1700 mAh, so you think you are in for a pleasant surprise. But beware! This battery is the worst out of the three. First of all, it drains a lot quicker, probably lasting around 2/3 of the other two. Also, the only 2 times I put this battery in my phone, I ended up with the corrupt files on the micro SD card. Could it have been a coincidence? Possibly, but I am not willing to risk my phone to this product. It seems like a low quality battery that should be avoided.

Bottom Line

Avoid Fommy. Stick with the factory batteries, they deliver the same performance as the higher rated Seidio battery; and they will not void your  device warranty. Also, they cost the least out of the other alternatives.

Oh and one more tip – do get the Amzer desktop cradle with the extra battery charger. This cradle beats out all the others as it can charge both the spare battery and the phone at the same time; and it does not require (even though it can be used with) the USB connection to the computer. Get it from Amazon – as of this writing $39.95 with free shipping.



Google’s Chrome OS Too Late?
July 18, 2009, 5:13 pm
Filed under: tech | Tags: , , ,

When Google announced their Chrome operating system last week, the tech (and non tech) news and blogs were filled with so many posts about it I got a headache simply thinking about the subject. The lists were my favorite. The trick is if you don’t have much to talk about (and Google didn’t reveal enough to talk about it in depth), come up with a list. There were lists for pretty much everything – top 10 things it will do, top 5 things it will not, 7 questions it needs to answer, 13 reasons why it will fail, 3 reasons why Microsoft should be worried and so on. These were not the exact lists but you get the idea.

However, one thing I am wondering is whether Google will be too late with this on the market. The netbook market which it initially aims for is peaking right now, and companies are already offering devices that are subsidized by wireless carriers. Given that there will be no national free wifi in the U.S. when this product will launch, these netbooks will have to be tied with the wireless carriers too. This makes sense, as Google has already established these relationships with Open Handset Alliance and Android devices.

However, expected launch date of late 2010 for the first netbook is way too far in the future. Even though Linux had a strong start in the netbook market, Microsoft came to its senses and strong-armed the OEMs into mainly making Windows-only products available to market. Most netbooks now run Windows and this means they have a familiar user interface, familiar quirks, but also run familiar applications. Windows 7 will replace XP on those netbooks later this year. What will it take to compete and gain any significant share in this market with a web-heavy device over a year later? Is this giving too much advantage to the competition, especially now when Apple is about to come out with similar products too – maybe netbooks, or tablets?

Obviously, Google is planning a lot more than just a stripped down OS with a browser. That would take less than 2 days to accomplish. The details are scarce, and questions are many. But over a year’s time seems like a lot in the tech industry. Maybe a little too long.



Mounting NTFS in openSUSE
March 2, 2009, 12:17 am
Filed under: tech | Tags: , , , ,

Do you use openSUSE 11.0 and have a portable hard drive that you use between a Windows XP/Vista/etc. system and it? Then it is likely that the portable HD is formatted using NTFS and it is also likely that it is being mounted as read-only by default in openSUSE.

Why? This openSUSE NTFS page explains why. And in case that page ever gets changed or removed, the solution to automatically mount removable NTFS media read-write by a non-root user is to:

cd /sbin
sudo ln -s mount.ntfs-3g mount.ntfs

root user should automatically mount those as read-write by default. To revert to default behavior, simply delete the symlink. Also, to mount non-removable “permanent” media as read-write, edit /etc/fstab and set dmask=002 for the desired NTFS entries. Default entry for reference is dmask=022.



Nintendo Still Doesn’t Get the Internet
January 5, 2009, 11:43 pm
Filed under: rant, tech | Tags: , ,

They can have the best-selling and the most affordable console. They can have the best joystick/remote in the industry. They can have the best interactive games. They can have their Mario and Zelda, and Metroid. They can sell their games from 2 decades ago at $5-10 a download. They can do all that, but they still don’t get the Internet. “They” are Nintendo. And yes, I checked the year today, just to double-check – we are indeed in the year 2009.

Here’s the situation – I have a Wii. I have 2 wireless routers at home – well, 1 router and one access point to be exact. The router is the D-Link DI-524 – yes, it’s crappy, and yes, it works most of the time. The access point is Cisco – not D-Link, not Linksys, not Netgear, the enterprise-grade Cisco 350 series access point.

As I said, the D-Link router works most of the time – i.e. it has 99.9% uptime. Once in a blue moon its routing gets messed up somehow and latency shoots through the roof and I have to reset the thing. But again, it works most of the time. The Cisco access point, on the other hand, has yet to fail in anything it does – the thing so far has had 100% uptime and has proven to be extremely reliable with very good coverage.

Here’s the situation #2: I have many wifi devices – I’ll try to list most of them – 4 or 5 laptops, Blackberry, G1 android phone, Playstation, Sharp Zaurus (although not recently used), and yes – as I mentioned – a Wii.

NONE of the listed devices, with the exception of the Wii, have any problems associating with either of my wifi networks. Most of the time, Wii cannot connect to any of the networks. I get error codes like 32007 and 32002 when trying to update, and I’ve seen some others that I didn’t bother to write down. Also, the Internet connection test succeeds only about 50% of the time. So, I search the web – find suggestions to set the wireless router channel to 1 or 11. I do as asked. I restart the router. ALL devices reconnect just fine – EXCEPT the Wii. I find another suggestion to change the router channel to 3, or 6, or something else. I do as it says – result is exactly the same.

There can only be one conclusion – the reason for these problems are not my wireless networks, or any kind of interference. If this was true some or all of my other devices would be having the same problem. The reason instead is the Wii – either its software or hardware is inadequate to connect to a wireless network.

Nintendo tried, however. They got Opera to make the browser, they got their online updates, online store, virtual console, online gameplay – oh they tried probably as “hard” as they could. But unfortunately for them and for too many of their customers (like me), they didn’t get it. They screwed up, they mailed it in. And now, I am whacking them with this post in a complete disappointment. Yes, it’s the year 2009, and no, a Nintendo console still can’t reliably connect to the network!



MySQL Insert Trick without Transactions
December 24, 2008, 3:34 pm
Filed under: tech | Tags: , ,

A lot of developers use the MySQL client’s affected rows count to determine how many rows the last executed statement affected (update, insert, delete). This is especially handy for updates, and specifically, updates where you want to make sure the data you are updating is the data you had in your “hand” before.

Say, you have a table like below:

create table a (id int(11) auto_increment, name varchar(100) null, primary key (id));

In your application you present a record to your user Joe who wants to edit the name of the selected record. User Jim also accesses the same record before Joe saves. User Jim actually saves the record first. Now, Joe has no way of knowing that Jim made changes and Joe’s changes are going to overwrite Jim’s. If in your application you wanted Joe to be aware of Jim’s changes prior to saving/confirming his, you’d run an SQL like:

update a set name = 'Edited by Joe' where id = 15 and name = 'Original Value';

This way, the affected row count on this update statement is going to return 0, and your application can let Joe know the value had changed while Joe was looking at his screen, and confirm to overwrite the new value set by Jim.

The above works fine for updates, but what about inserts? Say, you have the same table `a` as above. As  you can see, the name column is not unique and you may have several records with the same name. However, consider that in some cases – i.e. not globally – you’d like to enforce that if there is an entry with the given name, the application should use that, instead of creating a new record.

So, naturally, you would need to first run the select from the table:

select count(*) from a where name = 'New Unique Record';

Then, if this returned 0, you’d run an insert that would create the new record.

This would work as long as you didn’t have any concurrent processes or threads executing this same code. If you had, say 2 concurrent processes, you would end up with 2 records since they’d both execute the select statement first, finding 0 records; then they’d both execute the inserts.

So, then you would think of ways to serialize the process, probably using transactions or lock the table, depending whether you are using InnoDB or MyISAM, introducing another level of complexity. You could be thinking that there must be a simpler way to do this, like with the update statements, you should be able to check whether the record existed, and only insert if it didn’t – all in a single SQL statement. Then know what happened with the affected row count.

Well, there is a way:

insert into a (name) select x.name from (select 'New Unique Record' as name) x left outer join a on x.name = a.name where a.name is null;

The above “insert … select …” format would only yield a row if the name match was not found in the `a` table; and you could use the affected row count of the insert to find out what happened.



Windows Vista is “Great”
November 11, 2007, 8:13 am
Filed under: rant, tech | Tags: ,

So, I tried to download a 4GB ISO file on Windows Vista using a web browser the other day. Obviously, I left my laptop on, plugged in the power outlet, with the lid open and walked away because I can’t stare at the progress bar for 6 hours.

I came back after about 5 hours to check on the download only to find out that Windows Vista had suspended itself to the RAM. Of course the download had stopped at 10% and there was no way to easily continue.

I haven’t touched any power settings in the OS configuration. I would expect an OS to do this in late 90s. It’s 2007 now – almost a decade later – we need better software! Windows Vista does NOT deliver.