There's obviously been a lot of discussions on the Miami Heat's teaming of Dwayne Wade, Lebron James, and Chris Bosh. A lot of focus has been on Lebron James and how he handled "The Decision" while humiliating the city that adored him, but a bigger question has come up on how this impacts the NBA. Will top players now be trying to form "super" teams? What will happen to the competitive landscape of the league?
I had just read Magic and Bird's book a couple of months ago and they credited having each other as opponents to pushing themselves to excel and get better. Jordan said as much in his recent comments. We like watching competition and the ones such as those between Magic and Bird was what made the NBA great. While we might enjoy the occasional All Star game, it's not something we want to see night-in-and-night-out.
A lot of people are going to be watching the Heat next year, but are they going to watch basketball or are they going to watch celebrity players? While some people are criticizing Jason Kidd's comment, I kind of agrees with him that the NBA might get a short term boost from the Heat but it might not be good for the NBA in the long term.
Thursday, July 22, 2010
Tuesday, June 22, 2010
My Wing Chun Dummy and Stand
Build your own desk with just a power drill and iron.
I've been itching to try to build my own computer desk, but I'm a total newbie when it comes to woodworking. I haven't done anything since probably middle school shop class, but it's something I wanted to try. I went to the local hardware/lumber store and bought myself some wood which I got the store to cut to size. I bought pre-built legs and just made the table top. The main thing I wanted was to have a way to conceals all the cables on my desk while still having easy access.
I used a power drill to make the holes for the wood dowels that holds the top of the table to the side supports. The top is plywood so it has that rough edge which is covered with wood edge strips that you use an iron to fuse it to the wood. Since it is real wood, you can stain it like the rest wood and have a smooth edge.
It took me about an afternoon to put this all together, but the staining took another 3 days as I had to wait for it all to dry, but for my first effort I'm pretty satisfied. :-)
I used a power drill to make the holes for the wood dowels that holds the top of the table to the side supports. The top is plywood so it has that rough edge which is covered with wood edge strips that you use an iron to fuse it to the wood. Since it is real wood, you can stain it like the rest wood and have a smooth edge.
It took me about an afternoon to put this all together, but the staining took another 3 days as I had to wait for it all to dry, but for my first effort I'm pretty satisfied. :-)
Saturday, June 19, 2010
Restoring My Linux drive
Last week, while I was using my Linux machine the windows manager crashed. Menu bar disappeared, programs shut down, kaput... When I rebooted, it told me during the file system check that something was wrong and that was it. No more booting.
Fedora is a little annoying because during boot up it doesn't show you the start up message unless you hit F8 although the message didn't really help since it said that it couldn't find the UUID of the drive which can be misleading. Most posts on it talks about how UUID mismatches between your /etc/fstab and the actual drive's UUID causes the message. For me, that wasn't the case since what happened was that Linux was unable to find the drive, but the message along with "Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK" in the dmesg log did help me figure out that the problem was with a particular drive (I have two in the linux box).
My first guess was that that partition table was corrupted, but I couldn't use any standard utility to fix it since Linux couldn't mount the drive at all. I feared that it was a hardware failure and I'd have lost all my data (I had an older backup, but prefer to rescue the most recent data if I could). I take out the drive and replaced it with a new drive, booted it up with a rescue disk and recreated the partitions that was on the drive. Initially, the system didn't see the drive and for a moment I thought, "Oh no, don't tell me the controller board is fried 'cause that means having to buy a new motherboard." Calmness prevailed and I realized that I put in a new drive and my motherboard most likely didn't support 3 Gb/sec SATA drive. I put in the jumper that put the drive at 1.5Gb/sec and the system recognized the new drive. That allowed me to boot up the machine again.
Next thing was to see if I can rescue the data on the drive. I put the old drive into an external USB enclosure and plugged it into the Linux box. No dice, Linux still couldn't do anything with it. I then plugged it into a macbook that had macfuse and support for ext2/ext3 file system and the data partitions came up! Now I wanted to copy over the data as quickly as I can in case the drive really fails, but OSX was pretty crappy at it. It would stop or complain and couldn't get through the copying for various reasons including that it isn't a case sensitive file system and so when it runs into errors it would abort the whole copy.
Reformatted my portable backup drive to be case sensitive and used rsync instead. Once I copied all the files over, I plugged the USB drive into my linux box to restore the files. Of course, Fedora boots into the GUI interface and I needed to copy the files over first so that the GUI can boot in correctly. Fedora won't let you boot into the GUI as root so you'll have to be at the machine and using CTRL-ALT-2, go into the console and log in.
I was then able to copy over all my files and get back to work!
Fedora is a little annoying because during boot up it doesn't show you the start up message unless you hit F8 although the message didn't really help since it said that it couldn't find the UUID of the drive which can be misleading. Most posts on it talks about how UUID mismatches between your /etc/fstab and the actual drive's UUID causes the message. For me, that wasn't the case since what happened was that Linux was unable to find the drive, but the message along with "Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK" in the dmesg log did help me figure out that the problem was with a particular drive (I have two in the linux box).
My first guess was that that partition table was corrupted, but I couldn't use any standard utility to fix it since Linux couldn't mount the drive at all. I feared that it was a hardware failure and I'd have lost all my data (I had an older backup, but prefer to rescue the most recent data if I could). I take out the drive and replaced it with a new drive, booted it up with a rescue disk and recreated the partitions that was on the drive. Initially, the system didn't see the drive and for a moment I thought, "Oh no, don't tell me the controller board is fried 'cause that means having to buy a new motherboard." Calmness prevailed and I realized that I put in a new drive and my motherboard most likely didn't support 3 Gb/sec SATA drive. I put in the jumper that put the drive at 1.5Gb/sec and the system recognized the new drive. That allowed me to boot up the machine again.
Next thing was to see if I can rescue the data on the drive. I put the old drive into an external USB enclosure and plugged it into the Linux box. No dice, Linux still couldn't do anything with it. I then plugged it into a macbook that had macfuse and support for ext2/ext3 file system and the data partitions came up! Now I wanted to copy over the data as quickly as I can in case the drive really fails, but OSX was pretty crappy at it. It would stop or complain and couldn't get through the copying for various reasons including that it isn't a case sensitive file system and so when it runs into errors it would abort the whole copy.
Reformatted my portable backup drive to be case sensitive and used rsync instead. Once I copied all the files over, I plugged the USB drive into my linux box to restore the files. Of course, Fedora boots into the GUI interface and I needed to copy the files over first so that the GUI can boot in correctly. Fedora won't let you boot into the GUI as root so you'll have to be at the machine and using CTRL-ALT-2, go into the console and log in.
I was then able to copy over all my files and get back to work!
Tuesday, June 1, 2010
Snake oil salesman.
It's fascinating to me how some salesmen can spin words to make the a bad situation sound wonderful and they can do it with a straight face. Take, for example, the sales pitch that comes from Summerhill's blog (a bay area home builder) which disguises itself as an informational site but is really a commercial.
In one article, they are reporting that the real estate market has turned around. The message is clear: better buy their houses now as they are flying off the self! For "evidence", they use their own sales figures such as how they've sold 14 out of 30 homes... over 12+ months. So that's a rate of about one a months, so hurry up before another 16 months go by and the last house is gone.
Notice that they they spin the words so that it says "40% sold out". What does it mean to have 16 houses available but is 14 houses sold out?
Seriously, though, do they really think consumers are that stupid?!? Do they really think that we don't know what these terms really mean?
Temporarily sold out - The market is bad and so we stopped construction and there is nothing to buy.
Next sales release – We don't have anything to sale now but give us some money and encourage friends to give us money and we might give you something in the future.
Priority list – Please, for the love of green points, please just say you're interested.
Sold Out – We’re sorry but there are no more homes of this plan or this community available for sale by us, but there are 16 other similar plans next to it that isn't sold out.
In one article, they are reporting that the real estate market has turned around. The message is clear: better buy their houses now as they are flying off the self! For "evidence", they use their own sales figures such as how they've sold 14 out of 30 homes... over 12+ months. So that's a rate of about one a months, so hurry up before another 16 months go by and the last house is gone.
Notice that they they spin the words so that it says "40% sold out". What does it mean to have 16 houses available but is 14 houses sold out?
Seriously, though, do they really think consumers are that stupid?!? Do they really think that we don't know what these terms really mean?
Temporarily sold out - The market is bad and so we stopped construction and there is nothing to buy.
Next sales release – We don't have anything to sale now but give us some money and encourage friends to give us money and we might give you something in the future.
Priority list – Please, for the love of green points, please just say you're interested.
Sold Out – We’re sorry but there are no more homes of this plan or this community available for sale by us, but there are 16 other similar plans next to it that isn't sold out.
Tuesday, May 25, 2010
How can Facebook avoid the fate of social networks.
Social networking sites come and go. There hasn't been a social networking product that has really lasted. I believe it is because they were only a single product company and eventually people lose interest and move on to another product. Facebook, despite what they say, is also really a single product company. Everything they do is meant to get you to continue to use that single product whether it is with new features or apps (which are essentially features of FB that they got outside developers to build).
How can Facebook avoid the fate of other social networking sites? They only have to look to Yahoo. Facebook is not the next Microsoft, Apple or Google even though they're trying to be. The product and business offerings are just too different. What they are is really the next Yahoo. I think it's fortunate for them that their user demographic has changed to an older crowd similar to Yahoo's. If they didn't attract this crowd, they'd be like MySpace who lost the mindshare of their demographic and couldn't attract new users. The current Facebook/Yahoo crowd tend to not like change as much and are more conservative. At the same time, they also tend to be pretty loyal to what they know. While the media love to talk about the demise of Yahoo, the reality is that millions of users are used to going to Yahoo for news, sports, horoscopes and nothing will make them change their daily ritual.
This benefits Facebook even though there are short term pains as this group tends to be less open and more concerned about privacy so Facebook has to change itself to fulfill the needs of their current user base. Thus, I believe that Facebook has to decide if that is a future they want. Facebook likes to point out that they have surpassed Yahoo and they did it by becoming the next Yahoo. Now they just need to accept it.
How can Facebook avoid the fate of other social networking sites? They only have to look to Yahoo. Facebook is not the next Microsoft, Apple or Google even though they're trying to be. The product and business offerings are just too different. What they are is really the next Yahoo. I think it's fortunate for them that their user demographic has changed to an older crowd similar to Yahoo's. If they didn't attract this crowd, they'd be like MySpace who lost the mindshare of their demographic and couldn't attract new users. The current Facebook/Yahoo crowd tend to not like change as much and are more conservative. At the same time, they also tend to be pretty loyal to what they know. While the media love to talk about the demise of Yahoo, the reality is that millions of users are used to going to Yahoo for news, sports, horoscopes and nothing will make them change their daily ritual.
This benefits Facebook even though there are short term pains as this group tends to be less open and more concerned about privacy so Facebook has to change itself to fulfill the needs of their current user base. Thus, I believe that Facebook has to decide if that is a future they want. Facebook likes to point out that they have surpassed Yahoo and they did it by becoming the next Yahoo. Now they just need to accept it.
Apple's Garden and Android's Openness
There are a lot of talk lately about Apple's iPhone vs Google's Android. There are comparisons on features, prices, market share, and growth. Since Google I/O, I've also started noticing that there is also a growing focus on the cultural differences between the two platforms.
Apple is, and has always has, been an advocate of control. They follow the school of thought where choice is not good for the consumer because consumers find it difficult to make decision when there are too many choices. It's a lot like Henry Ford's quote "Any customer can have a car painted any colour he wants so long as it is black."
Google believes in providing technology to the masses and letting the masses guide the direction and use of the technology. The consumer might not like having to chose between between 100 nearly identical choices, but the consumer will also eliminate the weak choices until the right amount of choices are left for them to comfortably choose from.
Between these two cultures, who will win? Both? Neither? Google? (Usual disclaimer: I'm an employee of Google but any thoughts here represent my personal views and are not necessarily that of my employer.)
Apple is, and has always has, been an advocate of control. They follow the school of thought where choice is not good for the consumer because consumers find it difficult to make decision when there are too many choices. It's a lot like Henry Ford's quote "Any customer can have a car painted any colour he wants so long as it is black."
Google believes in providing technology to the masses and letting the masses guide the direction and use of the technology. The consumer might not like having to chose between between 100 nearly identical choices, but the consumer will also eliminate the weak choices until the right amount of choices are left for them to comfortably choose from.
Between these two cultures, who will win? Both? Neither? Google? (Usual disclaimer: I'm an employee of Google but any thoughts here represent my personal views and are not necessarily that of my employer.)
Thursday, April 8, 2010
Setting up GIT for home network.
I have a few different computers that I use at home and I wanted to set up GIT that I can access my code from any of them. It took me a bit because I was too used to working with a client-server model where I designate one machine as the "server" that holds the repository and everything else was a client. Instead, GIT seems to operate more like a merge tool and every local copy is its own "master." Once I understood that, it turns out that setting up GIT is very simple and just needs GIT itself and SSH.
Let's start with 2 machines. The first one, "remote", is where you want to store the code and could be where other users will also pull copy of the code from. The second one, "local", is the machine where you want to check out the code and make your edits.
On "remote" we want to store the repository in /usr/local/src:
On "local" we want to work on the code in ~/workspace and we already have some files to populate the repository with so we first create a local git repository:
Now let's push this code to the remote server:
Done! Now we have both servers with the files. Files can be edited locally, commit locally and periodically synced/pushed to the remote server.
Now, on another computer, we want to "check out" the source code to work on it:
Some things to make it easier to work with:
1. Use ssh keys so that you don't have to put in your password each time you push to the remote host.
Let's start with 2 machines. The first one, "remote", is where you want to store the code and could be where other users will also pull copy of the code from. The second one, "local", is the machine where you want to check out the code and make your edits.
On "remote" we want to store the repository in /usr/local/src:
cd /usr/local/src
git --bare init
On "local" we want to work on the code in ~/workspace and we already have some files to populate the repository with so we first create a local git repository:
cd ~/workspace
git init
git add .
git status
git commit
Now let's push this code to the remote server:
git push ssh://@/usr/local/src
Done! Now we have both servers with the files. Files can be edited locally, commit locally and periodically synced/pushed to the remote server.
Now, on another computer, we want to "check out" the source code to work on it:
mkdir ~/workspace
cd ~/workspace
git clone ssh://@/usr/local/src
Some things to make it easier to work with:
1. Use ssh keys so that you don't have to put in your password each time you push to the remote host.
Saturday, March 20, 2010
Google App Engine can further encourage Open Source.
One of the challenges of open source web applications are that they require users to have their own web hosting solution in place, but recently I've been noticing more open source web applications being released as Google App Engine applications. This is a great direction as it removes the barrier of having to setup one's own web servers, network access, etc. Users can download the the GAE project's source and either run it locally using the GAE SDK's own web server or use the free GAE instances that Google provides.
I've been using GAE a lot recently and have come to really like it despite some of the limitations.
I've been using GAE a lot recently and have come to really like it despite some of the limitations.
Friday, March 5, 2010
VIM copy/paste/navigation in Insert mode.
A few months ago, I made a commitment to learn the VIM editor. I was primarily an EMACS user, but I wanted to become proficient with VIM since EMACS is not always available I found myself too slow when using VIM. To learn it, I pretty much told myself that I'm not allowed to use any other editor while programming and just immerse myself in VIM. For the most part, it worked. I've been using VIM daily for about 4 months now and I've gotten used to it... mostly.
I can see the reasoning and benefits of having a separate mode for inserting text, but for me it isn't as intuitive to use. Maybe my fingers are just to conditioned to be able to write chunks of text and still be able to copy, paste, etc. The way I work, I edit text while jumping around a lot and that mode leads to a lot of hitting ESC to the point where I'm using more key strokes then on EMACS (where the criticism is that it requires mult-combos to do an action such as 'C-x C-c'). So I found myself editing text, ESC, move around, 'i', edit text. For the most part, I was willing to live with that, but the breaking point is that I just kept making mistakes editing. I'd hit 'i' when I'm already in edit mode or be typing outside of edit mode leading to typos and jumping to another part of the screen. I figure that 4 months is enough and while I'll stay with VIM, I'll likely be in Insert mode a lot and so I want to reduce bouncing back-and-forth between modes.
I made the following changes to my .vimrc to allow me to do things like move around (without using the arrow keys) and copy/paste without leaving Insert mode:
I can see the reasoning and benefits of having a separate mode for inserting text, but for me it isn't as intuitive to use. Maybe my fingers are just to conditioned to be able to write chunks of text and still be able to copy, paste, etc. The way I work, I edit text while jumping around a lot and that mode leads to a lot of hitting ESC to the point where I'm using more key strokes then on EMACS (where the criticism is that it requires mult-combos to do an action such as 'C-x C-c'). So I found myself editing text, ESC, move around, 'i', edit text. For the most part, I was willing to live with that, but the breaking point is that I just kept making mistakes editing. I'd hit 'i' when I'm already in edit mode or be typing outside of edit mode leading to typos and jumping to another part of the screen. I figure that 4 months is enough and while I'll stay with VIM, I'll likely be in Insert mode a lot and so I want to reduce bouncing back-and-forth between modes.
I made the following changes to my .vimrc to allow me to do things like move around (without using the arrow keys) and copy/paste without leaving Insert mode:
" Key mappings in INSERT mode
" Tired of lifting hand to hit ESC or having ctrl-[
imap ;;
" navigate without lifting hand off of keys
imap
imap
imap
imap
" paste in Insert Mode
imap
" undo
imap u
" Select text
imap vgG
Subscribe to:
Posts (Atom)