It's definitely summer time in Silicon Valley. Day time temperatures are up at around 30°C and nights are pleasant enough to walk around without a jacket. This is no where near as hot as Bombay's summer that, while I'm used to, I really cannot handle. Summer in the valley also means longer days, and lots of birds in the shrubbery outside my patio.
It's been a while since I updated this journal, and this time, it's on a far more pleasant note. I've been cooking a lot, and cycling a lot. A new pedestrian/cycle bridge across the 101 means that I now have another safe route to use when biking to the office. That's always welcome. The older route was longer and had far less shade, which made it a bad choice for summer cycling.
Last night some of my old college classmates dropped in. I decided to cook up something new to mark the occasion (a word that I always fail to spell correctly), and ended up with Sweet and Sour vegetables with pears. I think it came out well, and unless my friends were lying to avoid hurting my feelings, I think they liked it too. I've also tried a whole bunch of stir fry and Thai curry recipes to varying degrees of success, but I haven't posted any of those.
The heat out here also means finding ways to cool off. My apartment has a swimming pool, which I used for the first time today. It was wonderful. 35 minutes of uninterrupted swimming was good to cool me down, and probably good to build up muscles in the long term, but in the short term it means aching joints and burning eyes from the chlorine. Easily remedied though. I think I'll keep it up for a while.
Finally, a new website I've found. I was heading home on Caltrain from San Francisco last Wednesday night, and another guy on the train parked his bike on the same rack as mine. We started talking and realised that we might have common friends. He's also started his own company (a YCombinator funded startup) called hab.la. I'm always interested in projects such as these because of my history with libyahoo2, ayttm and a few chat related hacks at Yahoo! in my attempts to build something like this. Let's hope they add in openid support soon.
this, is bluesmoon
bluesmoon is Philip Tellis, a
geek living in Sunnyvale, California,
USA and working with Yahoo!.
He can be reached at philip@bluesmoon.info and his PGP public key
id is 1F14 0E17.
bluesmoon is currently rofl @ pearls before swine: http://community.livejournal.com/pearlswine/461609.html
-
Summer in the valley
Leave a comment -
Sweet and Sour vegetables with pears
Last night a bunch of my old classmates dropped in for the evening. To mark the occasion, I decided to try something new. This recipe was the outcome. It's based on the sweet & sour recipe that my parents used to make while we were young, but I've used different spices.Leave a comment
Ingredients:- 2 tbsp vegetable oil
- 4 tsp chinese 5 spice
- sweet red chilli sauce to taste (I used thai)
- hot chilli sauce to taste (I used maggi hot & sweet tomato chilli sauce)
- 2 tsp white vinegar
- 1 tsp lemon juice
- 1/2 tsp salt
- 1/4 cup Straw mushrooms
- 1/4 cup baby corn
- 1/4 cup bamboo shoots
- 1/4 cup baby carrots
- 1/4 cup brocolli florets
- 1/4 cup cauliflower florets
- 1/4 cup tofu cubes
- 1/4 cup sliced pears (either canned or fresh but stewed to soften them)
- Preheat a large skillet on high
- Add the 2 tbsp oil and heat for 1 minute
- Reduce heat to medium
- Add the chinese five spice and fry it for 1 minute
- Increase heat to high, add the tofu and stir fry until well coated with the oil and spice
- Add in carrots, brocolli and cauliflower and stir fry until tender but not soft
- Add in the mushrooms, baby corn and bamboo shoots and stir fry until all vegetables are coated
- Add in the pears and mix well
- Sprinkle vinegar and lemon juice into the skillet and mix it up
- Add sweet red chilli sauce - 3tbsp is the base line, increase or decrease depending on desired sweetness level
- Add hot chilli sauce - 3tbsp is the base line, increase or decrease depending on desired heat level
- Stir fry for an additional one or two minutes
- Reduce heat to medium for 1 minute, then cover skillet and reduce heat to low for another two minutes
Variations:
For a non-vegetarian option, add in shrimp, thinly sliced chicken or cubes of pork. If using shrimp, add it in after the pears, if using shrimp or pork, either pre-cook the meat and add it in after the pears, or add it in before the tofu and fry thoroughly for about 5 minutes.
Alternately, coat the shrimp, chicken or pork in a corn flour based batter and deep fry it before adding to the mix. -
Popularity through Plagiarism
One of the things about GPL enforcement, is that violations can only be contested by the copyright holders. As an example, if I were to find out about a violation of the GPL licence in, say the linux kernel, then the most that I could do is notify the copyright holders, and leave it to them to decide what to do.Leave a comment
Now, say the item in question wasn't really a piece of copyrighted software, but procedure that someone came up with to do a particular task more efficiently. This person knows that it's a really good idea, and tells a lot of people about it, intending to eventually polish it up and maybe blog about it, or publish an article but is waiting for approval from his employer, or something like that. For simplicity, we'll call this person Ideaguy.
Now, let's say one of the people that Ideaguy told his idea to, we'll call him Expertguy, just happens to be the self proclaimed expert on this topic. Expertguy decides to publish a bunch of ideas on his blog, and among the ideas, he includes the one that Ideaguy told him about, except he keeps the credit for himself. Ideaguy is hurt, but he's a nice guy, so he does nothing about it.
Expertguy then takes an idea from Hackerdude, and another idea from JSGuru, and another idea from Pixelgirl, and writes a book, as the sole author, taking full credit for all these ideas. Hackerdude, JSGuru and Pixelgirl are all nice people, so they decide not to say anything.
Expertguy is really popular at this point, and gets invited to several conferences and to speak at universities, and to write more books, while Ideaguy decides that he's heading off to teach English to children in South America, and Hackerdude, JSGuru and Pixelgirl are slowly making their way up the circuit with their own ideas, often collaborating.
So what would you do if you knew all this but weren't directly affected? What if during the course of your own work, you found out that Expertguy has had far fewer original ideas than you'd originally thought? Do you believe that everyone's karma will equal out in the long run? -
Opensource Bridge Conference
Leave a comment
Well, who'd'a thunk it, but I'm posting again. This time to let you know of a conference that I just submitted a talk to. The Open Source Bridge conference in Portland. What makes it different from most conferences in this part of the world, is that it's volunteer run (OMG, it's not by O'Reilly!).
I've decided to submit an updated version of my 2004 Linux Bangalore talk Being a Geek. The conference follows and open submission process, so all submissions are visible as soon as they've been submitted, so go check mine out. I'll probably submit a few more developer oriented talks as well.
The deadline for submissions is March 31, as is the early registration price. -
My year in towns and cities - 2008
Wow, I haven't posted in a while - almost a year in fact. That can only mean that I haven't been stationary long enough to update. So, I bring you this year in towns and cities. It's still December, but I'm pretty sure that I won't be making any trips in the next three weeks.Leave a comment- Myrtle Beach, SC, USA
- Mumbai, India
- Chandigarh, India
- Bangalore, India
- New York City, NY, USA
- Cold Spring, NY, USA
- Santa Barbara, CA, USA
- Jackson, NH, USA,
- Toronto, ON, Canada
- Ottawa, ON, Canada
- Chicago, IL, USA
- Monterey, CA, USA
- Boston, MA, USA
- Seattle, WA, USA
- Vancouver, BC, Canada
- Hong Kong, China
- South Lake Tahoe, CA, USA
Update:
Guess I spoke to soon - did an end of year trip to Lake Tahoe as well. - Myrtle Beach, SC, USA
-
Installing linux on the Acer Extensa 4630Z
Up front - if you haven't purchased this laptop yet, then stop now and look for a different brand. The Acer Extensa 4630Z has a great webcam, but will take you through hell when you try to install linux on it.Leave a comment
My tests were with Fedora Core 9, because that's all that I had with me. I may have had better luck with FC10 or Ubuntu, but I do not have those CDs with me, and I have a really slow network connection, so downloading it is not an option.
If you've already bought this laptop, then this post will probably help you out with finding some of the drivers.
First off, the keyboard has some extra keys for the Euro and dollar. These are just above the cursor keys, but I haven't yet figured out the keyboard layout to use them, so forget about that.
The trackpad is standard, but you cannot tap on it - at least the default driver on Fedora won't let you. I tried adding a section to my xorg.conf for the touchpad, but that only slowed it down a lot.
Now the problems.
The laptop has two switches - one for the bluetooth antenna and one for the wifi antenna. The bluetooth switch directly controls the bluetooth antenna, but the wifi switch is just a simple key that triggers an event and it is up to the wifi driver to deal with that. It took me a while to figure this out, since the driver for the wifi card isn't installed by default on FC9. I spent a lot of time playing with acerhk to enable the card, but I guess that isn't needed. If you do use acerhk though, the series id is 3000.
The wifi card has the Atheros AR5B91 chipset. This is chipset isn't listed on the Atheros website or the various linux driver pages, don't be confused by that. The device ID shown bylspci -nnends with002a.
This card works with the ath5k driver, and on FC9, you'll have to get that from the linux wireless driver page. Just get the whole tarball and build it locally.
Before you can do that, you'll first need to yum install make, gcc, kernel-headers and kernel-devel.
Do not use the madwifi driver - it does not work with this card.
The ethernet card is a Broadcom card, and works well with the default driver, nothing much to worry about here.
However, I had problems gettingdhclientto get a DHCP IP for both cards simultaneously. I think this is a quirk with Fedora, because I've done it successfully with Ubuntu on a Thinkpad. If you want to connect to wireless, and you already have dhclient running, you have to first disconnect from wired, and kill the dhclient process. I found this very stupid and frustrating.
The next thing that did not work was the microphone. There is a built in mic right next to the web cam. Your volume control sees this as Mic. There is another device called Front Mic, which is actually a mic that you plug in to the microphone jack in the front of the laptop.
Installing all the PulseAudio tools helps.
This does not help with Skype though, and the audio quality is very bad. I don't know if this is a property of the system, or with skype, but basically I was getting clicks, scratches and a lot of static with skype - even after setting the audio output devices in Skype to Pulse.
Anyway, the wireless problems did not end there. I managed to get the wifi card detected, and could connect to an unsecured network, but as soon as I tried to connect to a secure network, it failed. It failed with both WEP and WPA, and I have no idea how to debug or fix that.
I now have only one day left to get this box working 100%, so will try with Ubuntu tomorrow if I can get the CD from someone. Will update this post when I'm done.
Update: The Ubuntu story
After my trials with Fedora, I moved to Ubuntu. Got an 8.10 CD, but it appeared to be corrupt (tested on three different drives). Then got an 8.04 CD that worked.
The first problem was when starting the live CD. It correctly detects that it needs theinteldisplay driver, but the driver itself is broken. I had the same problem with my Thinkpad - the screen is garbled once xorg starts up. I had to boot up in Save Graphics Mode (Press F4 at the grub menu), which uses the vesa driver.
The vesa driver only goes up to 1024x768, which looks weird on a widescreen, but it lets you get things started.
I went through the install procedure, which worked without problem. Followed the same instructions as above for getting the ath5k driver, except that this time it set up the ath9k driver. NetworkManager still wouldn't connect to a WPA protected wireless network, but after reading up online, I decided to try wicd, and it worked out of the box.
I then downloaded Skype and tried it out, but had very bad luck. The microphone wouldn't work, and skype crashed when I tried to use the webcam. This was much worse than Fedora. I tried the whole pulseaudio setup, but that didn't help.
I then upgraded the kernel to the latest, but still had no luck.
Finally I started looking for an updated video driver. I found melchiorre's weblog where he has a deb for the intel driver.
I first tried to get this driver using apt hoping for a newer release, but there wasn't anything, so I downloaded the deb from the blog, and installed it.
This worked in the broad sense. I could start up in graphical mode and use 1280x800 resolution - which is good for a 14" wide screen. The only problem is that the mouse pointer kept getting garbled every few seconds. It would reset to normal if I moused over anything that changed the pointer, but within a second or two it was garbled again.
This made it very confusing to determine where the pointer was (it was just a large square with a series of black dashes all over the place), so I switched back to vesa and decided to tolerate 1024x768.
The system was now in a state where it was usable as an internet browsing box, but Skype not working was a big problem, because everyone that my dad needs to communicate with is on Skype (which meant that Ekiga wasn't an option).
The Windows story
Just for completeness, I should mention the situation with Windows XP:
Windows does not detect the wireless card or the display card, so it runs in vesa mode at 1024x768, and there's no network. The only advantage with windows is that anyone in the world can fix it, so my absence won't be the bottleneck when this box breaks (and it will).
The final story
So, in the end, I've decided to leave Windows on half the drive - this will be the part that all service engineers can 'fix' when things break.
The rest of the drive I've split between Fedora 9 and Ubuntu 8.04 - I wish I could have more recent versions, but I'm not that lucky. I'll set Fedora as the default system, and get the wireless network working there, and use OpenOffice from the Ubuntu partition. At some point I might switch the default to Ubuntu once I figure out what works better with this hardware.
Update: 8.10
I finally managed to upgrade the box to Ubuntu 8.10. I had to do a remote upgrade, since I'm now half way around the world from the box. The upgrade is pretty easy. Just follow the upgrade instructions listed on the ubuntu site. You need to go through the section titled "Network upgrade for ubuntu servers".
The upgrade took almost two days to complete because the network was really slow, and it required me to hit "y" a few times, so it could not be automated (the do-release-upgrade script does not accept a -y flag), but other than that, it was really smooth.
Note: If the upgrade terminates partway, you need to resume it within a day. The first time it failed, I resumed after three days, and it restarted from scratch. The second time it failed, I resumed after 6 hours, and it continued from where it had left off.
The only problem with doing a remote upgrade is that I could not easily test a few things. For starters, I did not know if gnome was working correctly, however, this can be tested remotely. ssh to the box, and look at/var/log/Xorg.0.log. Look for errors (anything starting with (EE)). When I checked this, I found errors saying that there were no usable screen configurations.
I also found that/etc/X11/xorg.confhad been replaced by the upgrade. Restoring it from the original did not help, so I replaced the vesa driver with the intel driver (the one that Fedora worked with), and tried again:sudo /etc/init.d/gdm restart
This time it worked, and I confirmed with my dad on the other end that the track pad was working as expected.
The other things I could not test were the webcam, microphone and speakers, but I got my dad to test all three using Skype, and we had a successful VoIP chat - no crashes.
This system is now in a fully working condition.
Thanks for all the comments so far, they definitely helped me push on. -
Add drag and drop to any website - YUI2.6 version
One of the cool things about working at Yahoo! is that you get to see and play with a lot of little toys before the rest of the world does. YUI was one such tool.Leave a comment
I started playing with YUI while it was still in version 1, and its API was much different from what it looks like now. Among the toys I'd made was a bookmarklet to add drag and drop to any website. I used it on our internal sites until YUI was made publicly available.
A couple of years ago, I published instructions for adding drag and drop to any website, but that still needed a little technical know-how on the user's part.
So, to remedy all that, and to bring us up to date with YUI 2.6.0, I've rewritten the bookmarklet, and hosted it on yui.bluesmoon.info (no, there's nothing else there). It's far simpler, than the earlier version, and without further ado, here it is: Make Draggable.
Simply drag that link to your bookmarks toolbar, and you're ready to use it.
Now, if you click on the bookmark (in your bookmarks toolbar) when you visit a website, most sections of the page should become draggable. Enjoy yourself rearranging your favourite pages.
Let me know if it doesn't work for you, and let me know of additional features that you'd like to see. Yes, remembering your past state would be cool, but is probably not something I want to do right now. -
Chicken Marsala with Prunes
I've tried this recipe a few times now, and I think I'm getting better at it. I've also made some of my own tweaks to suit my taste. It's probably not Chicken Marsala any more, so purists might not like me using the name, but hey, they don't have to eat it if they don't like.Leave a comment
Here's what I did:
Ingredients (serves 1):- 1 tbsp extra virgin olive oil
- 1 chicken breast - skinless and boneless
- 1 cup of sliced mushrooms
- 1 clove of garlic finely chopped
- ¼ cup sweet Marsala wine
- ½ tsp salt
- ¼ cup chicken stock
- 1 tbsp all purpose flour
- ¼ cup pitted prunes (just for effect)
- 1 sprig of parseley
I also made some couscous to have the chicken with, but you can use rice or mashed potatoes as well. Follow the instructions on the packet to make enough for one person.
Method:- Start by heating the oil in a slightly deep non-stick pan on medium high.
- Fry the chicken breast for about 2 minutes on each side until it's lightly brown on both sides. While this is happening, heat up the chicken stock and wine to slightly above room temperature. 20 seconds in the microwave is generally enough.
- Move the chicken to one side of the pan, and add the mushrooms and garlic (and onion if you have one) to the other side.
- Fry the mushrooms until tender, but not too long that it turns brown. Stir often.
- Add the wine, and bring to a boil. While this is happening, mix the salt and all purpose flour into the chicken stock. Mix it well into a paste.
- Add the chicken stock mixture and bring to a boil again.
- Add prunes, and reduce heat to low.
- Cover and cook for 12-15 minutes until chicken is fully cooked (see that there are no pink portions inside)
Serve chicken on top of couscous, add sauce, mushrooms and prunes over it allowing it to drip off to the side. Garnish with parsley.
Enjoy.
Let me know how it works out for you. - 1 tbsp extra virgin olive oil





