G's posterous http://posterous.absolutgcs.org Most recent posts at G's posterous posterous.com Sat, 06 Feb 2010 06:56:40 -0800 yes sir, i'll have another http://posterous.absolutgcs.org/2010/02/05/yes-sir-ill-have-another http://posterous.absolutgcs.org/2010/02/05/yes-sir-ill-have-another I had an interesting search experience today. I typically rely on a browser's dedicated search box instead of actually navigating to a search engine's homepage. Today, I went to google.com and started searching for chrome extensions. I was surprised when the top result in the auto-suggest popped up with the usual blue text and URL you see in an AdWords ad. It's hard to tell if that's really an ad, since that link is to a legit Google site focused on exploiting Chrome's V8 Javascript VM for some interesting use cases. Is this the direction Google is taking, mixing ads and search results where users have experienced strictly search results? It's certainly one way to drive up CTR, but at what expense to the user experience? I'm curious to see if this is a widely deployed "feature" or something that is being tested across a limited number of searched. It was definitely a turn off for me.  Some experimenting shows me that it's kind of like a "I'm feeling lucky" hit for a specific URL that matches the search query. If so, their choice of presentation is unfortunate.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Fri, 25 Dec 2009 04:12:57 -0800 Apple and their customers http://posterous.absolutgcs.org/2009/12/24/apple-and-their-customers http://posterous.absolutgcs.org/2009/12/24/apple-and-their-customers I wanted to post a quick note about a recent series of experiences I had with Apple regarding a MacBook Pro I purchased a couple of years ago. About a year ago, the battery stopped holding much charge, so I called in and got it replaced under warranty. I also promptly signed up for Applecare as many stories were popping up regarding catastrophic failures of macs and I wanted to "protect" my $2000 machine. There were some known NVIDIA GPU issues with my model and they finally struck about a month ago. The display stopped working and I could not output to an external display but I was able to still boot the machine in target mode. I promptly made a backup and dropped off my Mac at the Apple Store in Bellevue to get fixed. Their diagnosis matched the known GPU issue and a new "logic board" was required. Within 3 days, my Mac was ready to be picked up, and the repairs would have run ~$1200 out of pocket if not for Applecare (and in this case, a known issue that extended warranty coverage beyond the first year). Fast forward 3 weeks and I'm flying to Milwaukee and get a Service Battery error in my Power Manager panel. I stop by the Bayshore Apple Store and am greeted by an extremely helpful floor rep who delved into a good bit of detail around my issue. He set up an appointment for me since the Genius Bar was booked and when I went in the next time I didn't have to retell the details of my issue. A quick diagnostic test and I got a new battery. I have to say, Apple's desire to take care of their customers and their products stands out from the crowd. IBM was the same way with Thinkpads when I was using them. It's a big deal to me and helps balance out some of the other issues I hear, like the Time Capsules that are dying just after their one year anniversary of use. I wish more companies were like this, I remember the hurdles I had to clear to get D-Link to replace my parents' router after it crapped out. Kudos to Apple, this experience helps justify some of the cost premium for their products.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Sat, 01 Aug 2009 12:28:40 -0700 Seafair http://posterous.absolutgcs.org/seafair http://posterous.absolutgcs.org/seafair See and download the full gallery on posterous

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Wed, 29 Jul 2009 17:59:51 -0700 A little hot inside, don't you think? http://posterous.absolutgcs.org/a-little-hot-inside-dont-you-think http://posterous.absolutgcs.org/a-little-hot-inside-dont-you-think

Sent via BlackBerry from T-Mobile

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Wed, 10 Jun 2009 20:00:33 -0700 Seen in Seattle http://posterous.absolutgcs.org/seen-in-seattle http://posterous.absolutgcs.org/seen-in-seattle

Wonder where he works lol
Sent via BlackBerry from T-Mobile

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Thu, 04 Jun 2009 23:13:52 -0700 First meal in the new house! http://posterous.absolutgcs.org/first-meal-in-the-new-house http://posterous.absolutgcs.org/first-meal-in-the-new-house

Sent via BlackBerry from T-Mobile

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Fri, 08 May 2009 14:08:35 -0700 View from Encore's pool http://posterous.absolutgcs.org/view-from-encores-pool http://posterous.absolutgcs.org/view-from-encores-pool

Giri Sreenivas
Sent from my phone

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Sat, 21 Mar 2009 03:03:32 -0700 my fortune told me i deserve a good time after a long day at work http://posterous.absolutgcs.org/2009/03/20/my-fortune-told-me-i-deserve-a-good-time-after-a-long-day-at-work http://posterous.absolutgcs.org/2009/03/20/my-fortune-told-me-i-deserve-a-good-time-after-a-long-day-at-work It's been so long since I've written here that I can hardly remember the last time I even thought about writing here. I got a fortune cookie message that told me I deserve a good time after a long day at work and it really made me stop, think and reflect on the past few months of my life since I've moved back to Seattle. It's been a mix of things good and bad, but overall I think moving back is a move in the right direction for me. My life, since being back, has been dominated by work. I haven't worked this hard ever in any professional capacity. I told this to a friend lately, and he said that I say that about every job. That made me wonder if it always just feels busy while I'm in the middle of it, or if I'm taking on increasingly challenging roles and responsibilities. I tend to think it's the latter. Moving from my last job to my current job has been quite a transition. The company cultures are nearly polar opposites and I feel like this has been a change for the positive given my personality and preferences for a work environment. I find my current company to be very open, energetic and full of driven people. People take on cross-functional roles too, which I really enjoy because of the exposure to different aspects of the business. I've been involved in design, product development, procurement, architecture and development discussions. I love it. The flipside to being happy with the work is the amount of it. I'm regularly working 60-70 hours a week, easy. While it's true that it doesn't feel like work most of the time while I'm in the middle of things, I do find it is compromising my life outside of work. I get in early, leave late, check and respond to e-mail even later and lose some if not all of my weekends on a semi-regular basis. I'm not getting to the gym as much as I want to, I haven't taken care of some life basics - WA driver's license, WA auto insurance, dentist and eye appointments, etc. Why continue this lifestyle? Well it's the vicious circle of enjoying my job and then taking on more than I probably should. My plan is to get some work/life balance in place once my wife moves up here. Hopefully I can get it all together by then!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Wed, 17 Dec 2008 19:29:00 -0800 Maui http://posterous.absolutgcs.org/maui-8 http://posterous.absolutgcs.org/maui-8

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Mon, 08 Dec 2008 03:39:14 -0800 On Moving Home, Staying in Mobile, and What's Next http://posterous.absolutgcs.org/2008/12/07/on-moving-home-staying-in-mobile-and-whats-next http://posterous.absolutgcs.org/2008/12/07/on-moving-home-staying-in-mobile-and-whats-next I've been overdue for an update but I have some good excuses. I've been busy finding a job, preparing for a move and taking care of lingering wedding related items. Over Thanksgiving weekend, I drove from Oakland to Bellevue to open the next chapter in my life.

Moving Home

For some time now, Katie and I have been planning to move to the Seattle area. It's why we spent the past two summers apart with Katie interning up in Seattle to get a feel for the city and gain some contacts in the legal market here. We talked at length about where we had strong preferences to be and Seattle rose to the top of the list. I will miss the Bay Area and the friends I had from school and work a lot, but it came time to move on to something new. I know we will all keep in touch and I will make it a point to visit with them whenever I go down to the Bay Area. I'm currently crashing with my parents, which has taken some adjustment. I had to throw out a bunch of old stuff accumulated from living in this house for 13 years to make space for the new stuff I moved up (mostly just clothes). Katie's finishing up school in May next year and sometime between now and then we plan to buy a house, move everything from Oakland up to Seattle and have her commute down to finish up the last few weeks/months before she graduates. I try not to dwell on it, but being long distance again is going to be tough. Thankfully, we have our honeymoon coming up in a week and a half and Katie's on winter break until mid-January, so we'll get to spend a lot of time together over the next two months.

Staying in Mobile

When the economy started to tank back in September, I started to get a little nervous about my prospects for finding a job. I thought I would casually feel out the market and see what was interesting that was going on up in Seattle. I had some interesting discussions with a handful of the big companies and some startups up here and then I found something from T-Mobile out of the blue. The discussions progressed quickly and I broke my rule for scheduling on-site interviews on Fridays/Mondays to give myself extended weekends in Seattle and flew up mid-week to meet with T-Mobile. The interview went well and I was informed before I left that an offer would be coming. This was great news for me and put me at ease moving forward. Once the details were agreed upon, I ended up canceling my remaining interviews after doing some long thinking about what it was I wanted to do next. Did I want another job? Or did I want a career? Lockheed could have been a career but I didn't find myself enjoying the corporate culture there. Aplix was a job, not a career, from day one and I knew that. Combining that experience with what I did at 4thpass, I came to realize that I had some pretty unique experience in mobile that I could leverage into a career, the only remaining question was how passionate I still was about the mobile industry. I had believed for a while that mobile was stagnating a bit. Yes, there was the iPhone, new Nokia phones, even the G1, but I felt like everything was moving toward some convergence of hardware features and there wasn't a whole lot of innovation left once this convergence was achieved. Recently, I attended a Stanford/MIT VLAB talk addressing the future of mobile and was reminded of the impact of mobile on the emerging world. There was a presentation from an EIR at Kleiner Perkins where he detailed his experience tracking the use of mobile technology all over the world, particularly focused on second and third world countries. This really interested and excited me at the prospects of the leading markets (Japan, Europe, US) learning from the creativity of emerging markets in uses for mobile technology. It also reminded me that there is a lot yet to come in mobile and we're really opening up a lot of possibilities and the hardware capabilities have matured to match what desktop computers were doing just a few years ago. The open sourcing of a relevant, usable mobile software stack has changed the game I believe. While I'm not a huge fan of Google, or perhaps a fan at all, I do believe that their effort to move Android along and finally release Android as a platform for development signifies a tremendous shift in the mobile industry. We will see the long term effects of this and look back at the Open Handset Alliance and this effort as a watershed project for the industry. It is after arriving at this conclusion for myself that I felt like staying in mobile and, in particular, pursuing this T-Mobile opportunity made the most sense for me. Some of you may know that I spent the better part of this past year pursuing an entrepreneurial venture. While that has been sidelined for now, I believe sometime down the road I will revisit trying to start my own thing. I learned more than I believe an MBA could ever teach me and I know at some point this will be a path for me to take but I have accepted that now is not the time. I plan to do as much as I can with my current opportunity and really see where it takes me. My friends here in Seattle know how seriously I'm taking this when they see me actually dressed to the nines for my job =)

What's Next

So I joined T-Mobile USA as a Principal Architect working on next generation mobile platforms. I can't really get into any more details than that, between the confidentiality agreement I signed with T-Mobile as a whole and the NDA specific to my project. I can say that I'm extremely excited about its prospects, what I will learn along the way and what influence I will be able to exercise over the direction of the project. The confluence of these pieces made the T-Mobile offer one I simply could not refuse. I'm also really happy to be putting my Master's degree to full use now, as I'm heavily focused on all aspects of Software Engineering. If anyone reading this is interested in working on Android for T-Mobile, please let me know. We are looking to build our team up and there are opportunities in Bellevue, WA, San Jose, CA and Richmond, VA.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Wed, 19 Nov 2008 00:21:13 -0800 Six weeks with the iPhone 3G http://posterous.absolutgcs.org/2008/11/18/six-weeks-with-the-iphone-3g http://posterous.absolutgcs.org/2008/11/18/six-weeks-with-the-iphone-3g About six weeks ago, I became eligible for an device upgrade on my AT&T wireless account. I headed down to the AT&T Wireless store by Pac-Bell park and (eventually) walked out with a shiny new 16GB black 3G iPhone. Nearly 18 months ago, I paid the same amount for the HTC TyTyn aka 8525, a Windows Mobile 5.0 phone. My, how the mobile world has changed. As someone who works in the mobile industry, I had been tracking the release of the original iPhone, along with a variety of other developments like Android, RIM's new technologies, Symbian S60 devices and even Palm's attempts to keep up. Apple was winning the press game and got a lot of attention for their device, and I can say after considerable usage, rightfully so. In terms of a combined personal and professional mobile device, it is clear to me that the iPhone is the most enjoyable device to use out there. Certainly, there are problems and it is by no means a perfect device, but Apple seems to have struck a good balance between control for good user experience for mainstream users and openness for 3rd party programs. (By openness, I'm just referring to the availability of an SDK, and a decent one at that. All the legalese surrounding it and the treatment of 3rd party apps as second class citizens on the device are up for debate.)

Pros

Outstanding battery life on EDGE iTunes <-> iPhone end to end ecosystem for music management is great. No need for an iTouch or any separate music device. Top notch 3rd party apps really have a good degree of polish and are very usable. I still haven't paid for a single iPhone app but have found plenty of useful applications. PIM (contacts/calendar) sync is very easy to do with iTunes (though it still doesn't really make sense that you go through music software to do this...) Call quality is superb. No dropped calls, very clear voice quality. The form factor is great, I really appreciate the rounded edges when this phone is in my pocket. The HTC phone was a brick that constantly bulged from my pants pocket and not in a good way. The glass screen has kept me from installing the protective plastic skin I bought for the phone since glass is so scratch resistant as compared to most plastic screens.

Cons

Special cable for charging the phone. I really liked being able to use any mini-USB cable to charge my old HTC phone, which were just laying around at work or at home. Firewire charging also isn't compatible with the new iPhone, which means I need to modify my car stereo setup to bring that capability back. Cut and Paste would be more handy than I had anticipated when I read gripes about this being missing. No background processing and no push updates for 3rd party apps (yet) really limits what the iPhone can do when you're not actively using it. Mobile devices should be constantly working for you, not just when it has your attention. Battery life on 3G isn't as bad as I expected based on what I had read, but it can be an issue. I'm probably exclusively on 3G once or twice a week when I have high data usage needs and waiting for that to come down over EDGE isn't a judicious use of battery. Speakerphone really isn't loud enough as compared to other devices. Since the iPhone treats phone capabilities as an "application" on the device, there are too many button pushes/screens to get through to place a call. Double clicking the home button to get to your Favorites is a nice touch though. The cost of the data plan + 200 text messages is a bit outrageous. They know they can get away with it so they do. The rumored tethering plan at an additional $30/month is just insane. I wonder how much of the transition eye candy really inhibits the performance of the phone. It's nice, don't get me wrong, but I frequently see very stuttered animation for the transitions. If this can be cleared up with future updates, then it's just an optimization problem. If not, it's clear that there is overburdening of the hardware platform and they should have scaled the transitions back accordingly. Inability to treat the iPhone as a USB hard drive/memory stick out of the box. I know there are a variety of paid iPhone apps that help with this, but it should work like this out of the box. Apple should have implemented an appropriate file system separation to facilitate this given how much storage these devices ship with. AT&T does little to make using this phone on their network special. I think this is a key shortcoming that caused them to take the bad tasting medicine of a very expensive exclusivity agreement. Just take a look at how much AT&T paid Apple last quarter. SmartTags exists in Mail.app in Leopard, but not on the iPhone mail client. This would save me some hassle in saving people's email addresses, phone numbers and physical addresses that I get in email or text. How many times have you received a txt/email saying "meet me at X address" and you just want to click on that address, load up Maps and calculate directions from your current location?

Final Thoughts

Clearly, there are many things to improve and fix on the iPhone. That said, I'm happy with my purchase, can swallow the extra expense for data over my previous $15/month all you can eat + 200 text messages package and look forward to what's coming next for this device.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Sat, 11 Oct 2008 05:57:00 -0700 Speaking of DVRs... http://posterous.absolutgcs.org/2008/10/10/speaking-of-dvrs http://posterous.absolutgcs.org/2008/10/10/speaking-of-dvrs I've really been digging my AT&T U-Verse service and I'm glad I signed up. The set-top box that comes with the service has a DVR capability supporting roughly 120 hours of recorded TV. I hope I never fill it up because slugging through that much content would be a real pain.

What AT&T U-Verse Does Well

Schedule DVR online

You can schedule your DVR online by logging into your AT&T U-Verse account. It's not particularly easy to find and should be much more conveniently exposed. I have it setup as a secondary tab on my Yahoo account's portal homepage (which I rarely ever use). This feature has proved to be extremely convenient and useful. Katie will ask me to set something up while I'm working in our office and I don't have to head over to the TV, turn on all the entertainment system devices and add the recording. With just a few clicks on my computer, I'm done.

Decent UI

For anyone who has used Microsoft's Media Center over the years, the color scheme, channel guide presentation and other widgets will immediately seem familiar. It's a pretty decent UI that has clarity and makes good use of overlays. It could still use some work and my opinion is hindered by not having extensively used a TiVo. That said, I've rarely found myself at a loss for how to navigate to what I need to get to on the device.

Compact packaging and silent performance

Media in the home has been suffering from "YASTBS", aka Yet Another Set-Top Box Syndrome, and TV service is no different. The box for AT&T U-verse is aesthetically pleasing, occupies a very small footprint compared to my old Comcast box, and performs pretty quietly inspite of having a hard drive inside it. The one thing I wish they added was a clock on the front that also doubled to show the channel you're on.

Channel flipping speed

One of the big knocks on IPTV used to be the time it took to change channels. I can say without a doubt that channel changing is significantly faster on my U-Verse service than it was on my "digital" Comcast service. I'd say it takes 20% of the time to change channels on U-Verse as compared to Comcast, so that's a huge technical and user experience win for AT&T and Microsoft.

Storage space

For some people, 120 hours will seem like not much and I'm sure it's a small fraction of that for HD content. But for now, as I am stuck with a big old CRT SDTV, 120 hours of SD recording capability is more than ample and I find myself adding roughly one series per week to follow.

Areas for Improvement

In spite of several things that are done well by U-Verse, there are still some nagging things that need to be improved.

Streaming over the network

AT&T is happy to stream content to other set-top boxes throughout your residence they provide you (at an additional cost). The kicker is that the set-top boxes need to be connected via cat5 (no wireless) and you can't use any other device, including your laptops or desktops. This doesn't really make a lot of sense. If they're worried about people ripping content off the DVR, they could just as easily stream to some DRM-friendly media player that you install on your laptop/desktop.

Streaming to your mobile device

I recently got an iPhone 3G and would love to be able to stream TV off my DVR a la Slingbox. This would be a very slick feature that addresses the need of "what I want, when I want it, how I want it" that many mobile video solutions are lacking now.

Better free "On-Demand" library

Comcast had a pretty solid On Demand library, with lots of network TV content. AT&T needs to beef up their library significantly to compete in this area.

Combined billing nightmare

So if you are an AT&T U-Verse customer and a AT&T Wireless customer, you can combine your bills so instead of dealing with two payment systems you can just pay one bill and be done with it. What they neglect to tell you clearly is that if you do this, it will take 2-3 billing cycles (read: 60-90 days) before your bills are synch'd up. This means you can go on your merry way, paying the AT&T U-Verse amount until BAM! 2-3 months of wireless bills are stacked up and billed to you at once. That in and of itself kind of sucks, but it gets worse if during that period of time, you become eligible for a phone upgrade and decide to take advantage like I did earlier this week. You cannot qualify for discount pricing on your upgrade if your wireless bill is in a "past due" state. Guess what? With combined billing, it will happen inevitably as AT&T Wireless removes the option of directly paying your account from the online account manager. You need to directly call some AT&T office and have them post a payment to that account and even then, there are no guarantees it will be applied properly or show up in a timely fashion. I spent a good 4-5 hours on Monday dealing with AT&T, either on the phone or in the store getting this situation resolved. Even then I was not able to get both my lines upgraded, just one. Any time I would have saved over the course of the year with combined billing was more than wiped out and in the process I ended up over paying my wireless account two or three times over to ensure it was not past due.

DVR settings

There are 3 similar but not obviously clear settings for recording a series. They are record "New Show Only", "New Shows and Reruns", and "New Shows and Reruns Once a Day". It turns out the middle setting is the most optimal to guarantee you get new recordings of shows like The Daily Show and Colbert Report, which air multiple times per day, but in different descriptions of "new" and "re-run". This should be cleared up and made much simpler for end-users so they don't have to learn with a trial by error.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Fri, 10 Oct 2008 21:55:04 -0700 When a DVR Company Isn't Really a DVR Company http://posterous.absolutgcs.org/2008/10/10/when-a-dvr-company-isnt-really-a-dvr-company http://posterous.absolutgcs.org/2008/10/10/when-a-dvr-company-isnt-really-a-dvr-company Recently, I was asked to look into a company that was described to me as a "DVR company." The first thing that comes to mind when I think of DVR is TiVo, but no, this wasn't TiVo. In fact, this wasn't really a DVR company at all. The company was Replay Solutions and they have a product that claims to have a DVR-like capability for running software that makes it easier to detect, replay and fix bugs. Okay, I get it, they used an analogy to communicate what they do. But there's a serious problem when someone with their interests in mind describes them as a DVR company. Seriously, that level of sophistication isn't acceptable for Silicon Valley. I kindly replied to this individual, explaining that they have a misunderstanding of the company's business and encouraged them to learn more about their product before acting in the company's interest again. No response, go figure.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Wed, 08 Oct 2008 07:48:11 -0700 My First Foray into Developing on a Web Platform for Fun and (non)-Profit http://posterous.absolutgcs.org/2008/10/08/my-first-foray-into-developing-on-a-web-platform-for-fun-and-non-profit http://posterous.absolutgcs.org/2008/10/08/my-first-foray-into-developing-on-a-web-platform-for-fun-and-non-profit A couple of weeks ago, I was looking for a short weekend project to get some experience building on a web platform. I looked at a few possible options and settled on building something for Wordpress, the platform I use for this blog. A friend of mine had a need for a blog he was setting up for his son's school and it turned out to be the perfect weekend project.

User Stories

My friend told me that a problem they were experiencing with their blog was an inability to add users in bulk to the platform. Basically, they were using an existing plugin to generate newsletters that used posts on the blog as the core content, and they wanted to send those newsletters to an audience that was known in advance, but would not necessarily come to the blog to register themselves. I did some poking around online and saw several mentions of frustration about not being able to add more than one user at a time to a blog so it appeared there was no existing solution available. I decided the problem was tractable for a weekend exploration project and set out to define a couple of basic scenarios for an alpha release. First, there should be a "Settings" panel associated with the plugin that should allow an administrator to configure the default role applied to new users. For my friend's situation, they only wanted to add subscribers, but I envisioned other scenarios were you would want to bulk add authors or editors as well and figured this should be pretty simple to build. In addition to the default role, the administrator may also want to set the delimiters used in the list of new user email addresses. This is a little technical for basic blog administrators, but a list of new user email addresses may be separated by commas, semicolons, etc and this seemed like a nice configurable option to have. Second, there should be a plugin panel available in the "Users" section of the administrator's site. The plugin panel should accept a delimited set of new user email addresses as well as allow the administrator to configure which role new users will have on the site.

Iterative Development

I first set out to write the "Settings" panel, which proved to have the steepest learning curve. I had used PHP nearly a decade ago and coming back to the language was interesting because so much has changed. I did a project at work that was rooted in PHP, but that had more to do with platform porting issues and a light application port, so it was nice to be on the other side of the fence. PHP is a very forgiving language, so much so that conventions you expect to work in C/C++/Java have unexpected behaviors in PHP. In addition to getting familiar with the language quirks, I had to get up to speed on the platform and how to utilize the plugin API. Thankfully I found a couple of decent "Getting Started" type guides to help me understand the infrastructure and mechanisms. I would recommend this one for anyone looking to pick up a similar project. Finally, I had to brush up on a little CSS/HTML as well, two technologies I hardly ever touch professionally. After some trial and error, I had a functional "Settings" panel that would accept various option configuration from an administrator, persist them in the database, report its success and retrieve it upon further visits to the panel. I did some incremental testing to ensure this was very robust. Next up was the plugin panel itself that would accept input from the administrator, parse it for valid email addresses, attempt to create new accounts for each valid email address in a specified role and email new account information to each email address. This part required diving deep into the Wordpress documentation and implementation. The documentation for Wordpress is lacking a bit as there is a Plugin API and a Function Reference and its not really clear what the distinction is since both sets of APIs are available to developers. Also, the documentation of some functions is just not available to a general audience, you need to be a Wordpress developer to see it, which surprised me a bit. Regardless, I was able to work around some of these hiccups and figure out what was going on. The plugin is able to discern whether input is a valid email address, and if it is, whether it is already associated with an existing user account. The results are reported back to the administrator after they submit their input and emails are sent to new users with their login and password. The last part I was not able to verify until I deployed the plugin on this blog, as my testbed using XAMPP was not configured with backend mail support (not common for sandboxed dev/test environments).

Feedback from the "Customer"

Between writing the "Settings" panel and the plugin panel, I powowed with my "customer" again to clarify the requirements to ensure I was writing something that would be simple and useful for the school's blog's needs. This also gave me a good opportunity to clarify his expectations and explain how the plugin would be most useful if it was complementary to any subscription management plugin, rather than piggyback on its implementation.

Alpha Release

I provided my friend with an alpha release, including known caveats like the specific environment I was using to build the plugin. We quickly discovered some issues in the configuration of the blog's deployed environment that created some compatibility issues. I managed to resolve this by looking into Wordpress functionality that mirrored what PHP offered without the same dependency on a PECL package. I did think of a couple of minor revisions to make to improve the delimiter handling that I will add in over the next couple of days. After that is complete, I will submit the plugin to the Wordpress plugin codex and create a Projects tab on my blog to host it with some basic documentation. I will include other projects I build there as well. This plugin is being called "Bulk User Add" for now and I'll post again when it is available.

Some Thoughts

All told, I might have spent about 10 hours tops on this project. If I had to do something of similar complexity again, I could probably do it in a couple of hours as much of the learning curve was spent on PHP, HTML and Wordpress API/documentation. It was an interesting endeavour, one that I was happy to see end successfully with the "customer", my friend, more than satisfied with the capabilities and simplicity. Moving on to other platforms and building more complex Wordpress plugins should be good learning experiences as well. I'm looking forward to it.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Tue, 07 Oct 2008 07:09:40 -0700 Why I Run My Own Server for Everything http://posterous.absolutgcs.org/2008/10/07/why-i-run-my-own-server-for-everything http://posterous.absolutgcs.org/2008/10/07/why-i-run-my-own-server-for-everything Some forewarning, this is a bit more of a technical/policy post, the first of many I plan to write that are in this vein. I hope some of my techie friends will get something out of it.

Can't Open Your Email Inbox? Good Luck

I was perusing The New York Times and ran across this article, "Digital Domain - Can't Open Your E-mail Inbox? Good Luck". It reminded me of a post I've been meaning to write for a while addressing why on earth I would have my own domains, run my server, host my own e-mail, etc. First, some thoughts on the meaningful article from the NYT. When hotmail.com first launched and took off, I thought webmail, the first instance of really putting personal data in the "cloud", was a genuinely innovative and exciting technology. Like many new innovations, understanding the implications of it only comes after some time has passed. Hotmail.com blew up, Microsoft paid a pretty penny for it and now all the major players have some sort of webmail component to their service offering. What is interesting to see nowadays is how dependent people have become on these webmail services. If the service goes down or they are not allowed access for some reason, their productivity is lost. I recall meeting with an adviser of mine a few months ago and he was complaining to me about how his day was shot because he used GMail and all his information and calendering were contained within the service which had been down for 10 hours for him. I suggested he take advantage of their IMAP access so he could at least have a local client on his computer that cached everything in his webmail account. There is a certain level of trust that users have with their service provider when relying solely on their service to meet what is now a vital communications need. Changing your email address nowadays and informing your contacts may be more of a hassle than changing your phone number. I've been using a lifetime bouncer provided to me by the Stanford Computer Science Department which has allowed me to swap around the underlying email service as I please. If this bouncer/aliasing approach were more common place, people would be able to get around some of the downtime issues that plague their productivity. Getting back to the key issue in the NYT article, the issue of trust is really a two way street when it comes to these types of service offerings. Users do not want to provide too much identifying information (generally speaking) when it comes to online service registration, and yet service providers need a distinct way to authenticate an individual's access to a particular account. The fallout from the hacking of Sarah Palin's email account should not come as a surprise, as we saw the same thing a couple of years ago when Paris Hilton's T-Mobile account was hacked by someone guessing her dog's name as her password. Imagine now how this problem can become more much widespread as personal details about individuals become more prevalent with revealing social networking profiles, blogs, professional networks, etc. as users still provide relatively unsophisticated passwords.

RMS - Richard Stallman on Cloud Computing

Before I left on my vacation, I ran across some rumblings on Hacker News and other sites in response to comments made by rms, also known as Richard M. Stallman. An article at The Guardian summarizes his comments, so I would suggest skimming that before continuing on here. If you think about it for a minute, it's clear how these two articles relate. Now, I appreciate much of what Stallman has done for the open source community with the Free Software Foundation. GNU and many of his other contributions have provided the bedrock for building systems and services that would otherwise have been very costly and impeded innovation. That said, I think Stallman's take on "cloud computing," as many things are being (incorrectly) lumped under this umbrella, is a bit extreme. First, there is much discussion going on now about what exactly cloud computing is. I don't want to get into defining it right now, other than to point out that, like others, I feel the term is being used too liberally to label many services which don't fit. Webmail is closer to SaaS (Software as a Service) than anything else in my book. But that's besides some of the key points that Stallman brings up against users utilizing services like GMail. I tend to agree with his points about why it is not prudent to entrust important personal data to a 3rd party. I never understood how most people would be okay with Google parsing their emails to target advertising. It seemed like the beginning of a very slippery slope. If a 3rd party can scan your email to target ads, what is the next thing they can/want to do with your personal data to deliver more advertising to you? For some users, this trade off is acceptable as they are willing to forgo privacy for the cost savings or features of a particular service. For most users, however, I believe this pushes back the line on acceptable privacy practices. As this becomes has become the norm, will users balk at the next, more intrusive joust into the sphere of personal data? I won't agree with Stallman that users are "stupid" for making such choices, but I will concede they are either ignorant of Google's practices or less vigilant about their privacy. His notion of service providers "locking" users in is also not a fair assessment as more providers are supporting IMAP which, in effect, makes their email data extremely transferable. (See imapsync, which will effortlessly let you move email from one IMAP provider to another.) While this is true for email, Stallman's assessment is accurate for some other cloud services. For example, if you built a service that utilized storage on Amazon's S3 service and then decided that you wanted to move to Nirvanix, you would have to invest in porting/integrating some layer to work with Nirvanix API's instead of S3's. This may change as the cloud service industry matures, but it's yet to be seen as this would create a race to the bottom on margin and would make the services commodities. I believe there is some inherent value in cloud services, though I'm not sure they can be realized at the consumer level quite yet. For small businesses and startups, there is a lot of value that can be achieved with minimal cost by utilizing the infrastructure expertise and investment of others that have come before them.  For consumers, the issues that should trump cost are privacy and access. Just as there is a very delicate balance in ceding civil rights for increased security as have seen with things like the Patriot Act and its sequel, I believe a similarly delicate balance exists in ceding access and control to personal data for "free" services. When the ends are hard to ascertain (are we safe enough? and am I getting the most value in exchange for my personal data?), it is easier to continue giving up what we once held dearly.

The Middle Ground

As with many things in life, I find that extremes are usually not the best way to go and finding some middle ground balances the pros and cons of a variety of approaches. One extreme is currently being pushed by significant online players like Google, Microsoft and Yahoo. They are all encouraging their users to push all their critical personal data like email, personal media, contacts, etc. into cloud services under their branded umbrella, be it Google Apps, Microsoft Live, etc.  The other extreme is what Stallman is calling for, rejecting the use of services that seek to re-attribute ownership of data from you to the service provider. I believe that there is a middle ground that can allow users to benefit from both. Users already unconsciously strike this middle ground and the best example is sharing personal media. Typically, an individual will take many more pictures than they put online through various services like Picasa, Flickr, Photobucket, etc. While they may avoid putting all the pictures online for convenience (who wants to wait around for hours for pictures to upload), they are also creating a dividing line between content they keep to themselves and content they want to utilize a 3rd party service for. I believe this can be the archetype for the balance between private personal data and exposed personal data that ends up somewhere in the cloud. The user should be responsible for defining that access and control and service providers should take the ethical route of educating users about their practices up front instead of behind some stale "Privacy Policy" link that sounds so boring no one but EFF members will venture to.

Control What You Can

I have zero expertise in professional IT administration. I do believe, however, that it is worth taking the time to take control over what resources and services you need if you can leverage building blocks that are widely used. I'll give an example of what I mean. When it comes to email, there are a handful of widely deployed open source solutions that are used by millions of people every day. The advantage in leveraging these building blocks is that you benefit from the high usage resulting in catching bugs that are then solved in further versions of software. There is little value in building your own stack of email services at this point as all of the key components have become commodities. You could take this rationale to another level and believe that is then worthwhile to use services that have millions of users like GMail or Hotmail. I believe there is a valid distinction here which the NYT article hit on. While you will likely benefit in a similar way using a service with millions of users as you would using open source components with millions of users, the difference lies in the ownership of data. Own the data, control the privacy and be responsible for the access.

Learning Opportunities

Running your own server is not trivial. There are lots of stumbling blocks to overcome, but in the end, it is extremely fulfilling. I believe I've learned enough to perform basic IT tasks to bring a small office up if needed. This is something that will hopefully prove to be useful sometime down the road. I've also picked up a lot more knowledge about how the Internet's infrastructure works when it comes to routing mail, resolving domain names, etc. I could go on and on, but the key is looking at running your own server an an empowering opportunity that really has a lot of interesting solutions you can tailor tailor to your own needs. Best of all, there's lots of useful information and guides out there to get you started.

Why IT Administrators and Employees Don't Like Each Other

Running your own server to serve your needs isn't all roses. I understand now why putting up IT services for others is such difficult work that I was wrong to trivialize earlier. There is a certain quality required of a person to be so detailed, knowledgeable and instinctive when it comes to IT-related tasks that it shouldn't be underappreciated. When I was at my last employer, we used to grumble about things that seem like a dream at my current employer, like software package version management. Employees will always be pushing the envelope on technology they want available in the IT infrastructure and IT administrators will always be balancing that with the risk of rolling that technology out to support more than just the interested user(s). If you choose to go this route of running your own server, you'll get to see both sides of this struggle. As a consumer, you'll want all the bells and whistles and the latest shiny software drop. As the administrator, you'll wonder how well the new package has been tested, whether it is compatible with other dependencies and so on. There is much to learn in balancing needs versus risk in this situation that can improve your instincts about evaluating software in general.

You Get Out of It What You Put Into It

For many years, I was a customer of shared hosting companies that basically provided you with space for a web site, access to remote storage over FTP, email, domain hosting and domain management. Several times a year, I would encounter down time that prevented access to my web site, remote storage and email. These occurrences were extremely frustrating because they inhibited much of my online activity. A few months ago, I had all I could take and decided to ditch the shared hosting model and sign up with a VPS (Virtual Private Server) provider. Basically a VPS is a dedicated slice of a server that is shared much more strictly, guaranteeing you resources that will prevent your services from getting bogged down. There are managed and unmanaged VPS providers, with managed accounts offering much less configurability and control and unmanaged offering just enough to shoot yourself in the foot. I opted for an unmanaged provider after scouring the web for reviews and settled on Linode. The purpose of this post wasn't really to be an ad for VPS providers or Linode in particular, but I would highly recommend them to anyone interested in going down a similar road. Certainly, it's not for the technically faint of heart, but it can be very worthwhile to learn a lot about what makes some Internet services tick by building your own stack. Best of all, I get to control a lot of data that I care about. My sites, my email, and even personal data related to some services like bookmark management are managed on my VPS. Mozilla Weave is a project that is attempting to solve these latter issues by allowing users to self-host personal data used by in-browser services like bookmark managers. It's been a worthwhile journey so far, and hopefully I'll continue to learn more along the way.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Tue, 30 Sep 2008 04:38:02 -0700 On Getting Married http://posterous.absolutgcs.org/2008/09/29/on-getting-married http://posterous.absolutgcs.org/2008/09/29/on-getting-married I've had a few friends get married already and I had several candid conversations with them leading up to my own big day to help me get a handle on things. I figured I would write up what I learned and my thoughts on the whole thing after I had done some reflection in the offhand chance that someone stumbling upon this may get some piece of mind in knowing that they are not alone in going through the ups and downs of getting engaged and getting married. I'll also be forwarding this to "the fellas", my best friends from high school, who helped me out through all the stages below.

The Preamble

So you date and date and finally think you've found someone you'd like to spend the rest of your life with. Ideally your parents are supportive, your friends think he's/she's great and you find yourself stopping to think about how lucky you are. Great! While you may think the hard work is over, it's really just beginning. If you're doing the proposing, you go through the gyrations of hunting for the ring, a nontrivial task that is only marginally complicated or eased by your significant others' preferences. Learn your 4C's if you go the diamond route, prepare for awkward looks and conversations if you go the non-diamond route. Contemplate what you want to put into a ring versus what you want to have for the future. Getting engaged is really a trial run at how comfortable you are with that serious committed feeling. After the emotional high from popping the question and telling everyone the good news wears off, you really have to confront how you feel about spending the rest of your life with this other person because you just took a serious step toward making it a reality.

The F word

All of a sudden, you'll find yourself referring to your significant other as your fiancé. This was a trip for me and it took me a while to get used to it. I think for the first few months I couldn't say it without feeling a bit silly. Ultimately it seemed awkward to be communicating that serious aspect of your relationship with pretty much anyone and everyone. After a while, I just defaulted to referring to Katie by name as opposed to the F word. Hopefully you have enough time after getting engaged to get comfortable with that and then work on setting a date. Expect to be asked a million times, as soon as people find out you are engaged, if you have set a date. This got to be pretty annoying to me after some time. What's their rush? They're not the ones getting married!

Planning (a.k.a. Figuring Out Who the Wedding is Really For)

Speaking of those not getting married, as we progressed in planning, there were times where I felt torn between whether we were planning the wedding primarily for ourselves, our family or our friends. It turns out to be a balancing act as you want all the important people in your life to share the moment with you but you also want things to get done your way. Instead of focusing on making everyone as happy as possible, focus on trying not to make anyone feel bad. It's MUCH easier and more realistic that way. We did that and I think we pulled off a day where pretty much everyone walked away happy after having a great time. There are already a million sites dedicated to helping people figure out the details to plan for so I won't really get into that. I would just say, never take any list as a hard and fast set of "must-haves". Katie was keen on tailoring everything and not feeling beholden to every single tradition and I'm glad we did that. Also, hire a good DJ. We did, at the last minute, and it was the best money we spent on the reception.

The Big Day

Finally, the big day arrives and all the advice I got from my friends who got married before me can be summed up as:
  • Expect little things and big things to go wrong
  • Take it in stride, the important thing is you are getting married
  • Try to take it slowly during the day
  • Be sure to eat
  • Enjoy everything!
I don't think I have much to add to that list, I tried to keep all those things in mind in the days leading up to the wedding and the big day itself and it helped a lot. The main thing I would add is to make the most of your bridal/wedding party and don't be shy about asking for help. My groomsmen and Katie's bridesmaids were so helpful and so instrumental in helping us pull everything off and best of all they really enjoyed helping out.

The Aftermath

Well, I can't say too much about the aftermath, after all, I've only been married a few weeks. Expect to be in a financial world of hurt. Any budget you set in advance will be out the window when you start looking back and really adding up costs. Of course, it's all worth it (unless you went nuts with doves and stuff like that). We're planning our honeymoon for the end of December given our schedules but we have a mini getaway planned this week. I would recommend not going back to work right after, which I did and thoroughly regret. Even vegging out at home, playing the Wii and surfing the Web would have been enough to help me decompress from the preceding week.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Tue, 16 Sep 2008 22:59:43 -0700 a fine balance http://posterous.absolutgcs.org/2008/09/16/a-fine-balance http://posterous.absolutgcs.org/2008/09/16/a-fine-balance So I wish I was actually alluding to Vikram Seth's amazing novel, A Fine Balance, but instead I'm going to write about what I consider to be the fine balance between one's public and private life in the context of an online identity. I was forced to confront this issue when I relaunched my blog last week and received some inappropriate comments.

Innocence and Naivete

Like most users online, I have personal effects (photos, comments, blog posts, etc) hosted on a variety of services across the web. Many of these come up in google searches given the right search terms. I've always thought this was not really a big deal, since I assumed anyone searching for me through google would be harmless: either a friend/classmate/acquaintance curious about me, some professional connection (job/alumni/etc), or just some random search terms matching the content of a post here on my blog or other personal content hosted elsewhere. I had always maintained anonymity in some sense, as my name is never listed on this site or other services, but people knowing my name could find this site and other media. This was intentional, so that random people stumbling on this site could only know a limited amount of information not tied to my real life identity, but people who intended to find something about me in particular would find this blog among other things.

Rude Awakening

As part of the pre-wedding process, wedding notifications were sent to some friends and family of my parents. These were not invitations per se, but more like courtesy notifications, something that is common place in the Indian community to inform people of the good news without necessarily inviting them for the event. I had set up a website for our actual invited guests to get information about the reception and wedding and we provided that address in the invitations and emails we sent out. Some individual in the "notified" group decided to start hunting down information about me, my wife and the wedding online. They stumbled across not only this site, but also the wedding website as well as other content online associated with me like tweets, comments, cached blog postings and photos. I wouldn't consider this a big deal until they started posting negative comments to this blog, specifically mentioning my parents and myself in inappropriate ways. They even claimed to be from Bangalore, when in fact my logs showed they are in the Seattle, WA area.

Possible Responses

I immediately started doing some "reverse stalking" to try to determine who was harassing me. This led me to discover the commenter's lie, claiming to be from Bangalore when in fact they were in the Seattle, WA area. I drafted a nasty response telling the person off, but decided to hold off before sending it. In the end, I decided no response was best for now. I also contemplating contacting their service provider to report them for harassment. The next day I received another harassing comment, factually incorrect again and this time it contained a threat.

Course of Action

At this point, I decided not sending the email was the right idea, and started researching ways to block this individual from learning more about me. I immediately went through the services I use and locked down access to photos and other information from anonymous guests. I also did a little digging to learn how to implement IP blocking on Apache so I could at least temporarily block this user from coming back to any of my online properties and learning more about me or leaving harassing comments. I have enough information to contact the harasser's service provider and report them. If another contact is made in any way, shape or form, I will report them and consider any further steps. It's unfortunate but also ridiculous that someone can not only do what they are doing but also think they are 'well-wishing' along the way as indicated by the content of their comments. Clearly they are suffering from some mental lapse.

Final Thoughts

For any of you reading this who have public photos, posts, comments, information, etc, I would suggest strong controlling access to all of this information. I've heard of online stalkers and harassers but never really considered myself as a possible victim so I never made the effort to prevent something like that from happening. I consider myself an intensely private person with respect to certain aspects of my life but relatively public otherwise. This whole incident has moved me in the direction of being more private. That said, I still plan to write here on a wide variety of topics in my life and still post semi-personal information, but I plan to be more vigilant in going after anyone who makes me feel uncomfortable in doing so with harassing comments and threats.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S
Thu, 11 Sep 2008 23:45:00 -0700 a fresh start http://posterous.absolutgcs.org/2008/09/11/a-fresh-start http://posterous.absolutgcs.org/2008/09/11/a-fresh-start

well, i decided a couple of months back to get off of my shared hosting provider for a variety of reasons that left me unsatisfied with their offering and service. i moved a couple of domains over to my new VPS provider, linode, but still had left the big one behind. two nights ago i began transitioning email and finally completed reinstalling wordpress on the new system.

i've decided to archive my old posts for my own sake, but i will not make them available through this blog. instead, i'm going for a fresh start, a clean slate if you will. this archive amounts to six years of blogging, several hundred posts, that i have decided to shelve for now. at some point, i may bring them back, but i think this is for the best.

i'm also experimenting with twitter integration on this blog, to ensure there is a bit more activity here post-wise. we'll see how that goes. i'm also playing around with several new plugins that i will examine in more detail with posts as time goes on. for now, i have two pressing topics i will be writing about over the next two days: my birthday, and getting married last weekend.

that's all for now!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/183177/105_0567.JPG http://posterous.com/people/gs1BpByS6 Giri S Giri Giri S