Alright Microsoft. You win. I have officially started working with Sharepoint now. I’m now one of the thousands of .Net developers that have been slowly but steadily and methodically, sucked into dark side of the “portal” world. A bunch of us in my company were hoping and praying that we don’t get placed on a project that would force us to learn this technology especially because of the horror stories we’ve heard. When someone like Rob tells you that sharepoint is the shittiest piece of software he’s ever worked on, that is saying something.

Anyways, enough of bitching. Every Sharepoint developer that i knew, installed VMWare on their machines that ran Windows 2003, SQL Server 2005 and VS 2005/2008 and used that as their development environment. Why? Because WSS 3.0 or MOSS 2007 runs only on server operating systems. Brilliant! Let me get this straight. We are supposed to build applications that would run on “portal” software that are hosted on servers, and so we are supposed to do our development on server operating systems? Of course! Makes perfect sense! Yay Microsoft!

I don’t know man…i just didn’t want to load yet another software on my box and do all the configuration. Luckily for me, Bamboo Solutions had figured out a way to get MOSS 2007 to run on Vista/XP operating systems. As always, i started off my learning process by opening up a brand new word document and taking screenshots of each and everything i did, right from scratch. That includes pictures of installation wizards, “This program has performed an illegal operation” errors (sugar coated for Vista), dashboards, Visual Studio IDE, etc.

The end result of all this pain is a document that has some blurry images but decent content on how to write a “Hello world” web part and successfully deploying it to a sharepoint portal, all starting from scratch. This tutorial would make more sense if you are a .Net developer and have been doing custom application development for a while. It is meant for someone that has no idea where to begin, in their attempt to learn Sharepoint. So if you feel some of the screenshots in the document insult your intelligence, just remember that not all people are as smart as you, wise guy.

Here’s the doc in PDF – How to get MOSS 2007 development environment setup in Vista.pdf

Enjoy!

New domain. New site.

April 1st, 2008

A few days back i bought a new domain name (see URL) inspired by Matthew Mullenweg’s domain, founding developer of WordPress.

I know. i know. Vanity is not really my thing. But hey… sometimes you just gotta give in. :) (Did that rhyme, btw?)

So anyways, a new (and really cool) domain name deserved a new site i thought. And i started hunting for some cool Wordpress template and after a lot of reviewing, decided to use PortraitPress theme by Magnus Jepson.

I wish i was as creative as the Visual Designers i work with, that design and build their site’s theme (mostly on blog engines like Wordpress or textpattern or Expression Engine) from scratch.

But i’m not (i’m “just” a programmer) and as long as there are kind souls like Magnus, that don’t mind sharing their beautiful work for free, i don’t mind using it either.

Take a look around and let me know what you think.

And Oh..oh… before i forget, note the clean URLs. Getting Wordpress to strip off the “index.php” was a big pain in the butt in the previous versions. For example, “http://example.com/index.php/2008/04/01/sample-post/“. And since almost all of the fixes they recommended, involved editing the .htaccess file which doesn’t apply to IIS, i never got it to work.

But this time, the site has clean URLs, for eg: http://giri.sh/contact and http://giri.sh/about, even though it is hosted on the same environment – IIS on Windows 2003 server. I’ll post a tutorial with screenshots on how to do it.

By the way, if you are reading this from your RSS reader, don’t bother updating your feed URL. I’ve been using feedburner to publish my feeds and i have updated it already. But please visit the site and lemme know what you think.

Mahalo founder Jason Calacanis had an interesting post offering some useful tips on how to run a startup company. 17 tips to be precise. Now some of them were really controversial and drew a lot of negative attention and criticism.

Here are the tips from his list that IMHO, made him look like a cruel slave-master.

Fire people who are not workaholics…. come on folks, this is startup life, it’s not a game. go work at the post office or stabucks if you want balance in your life. For realz.

You see my problem with this “tip” is not the fact that he wants people to put in 80 hour weeks to keep their jobs at his infamous startup but his condescending comment about people that are not workaholics. What is he suggesting? That people that deliver your mail or sell you over-priced coffee with names and sizes (in Italian) are the only ones that lead a balanced life? Really? For some reason, i think if you analyze that statement a little deeply, you might think that even the PO and starbucks employees might feel offended (for not being considered workaholics or passionate about their work? I don’t know.) On a side note, i guess it’s funny he thinks post office employees have balance in their life. May be he hasn’t heard about the American Slang term “going postal”.

Another tip (first one in his list actually).

Buy Macintosh computers, save money on an IT department

:) :) :)

Here’s a good one.

Buy everyone lunch four days a week and establish a no-meetings policy. Going out for food or ording in takes at least 20-60 minutes more than walking up to the buffet and eating. If you do meetings over lunch you also save that time. So, 30 minutes a day across say four days a week is two hours a week… which is 100 hours a year. You get the idea.

Yeah…may be you could chain their legs to the tables. Oh wait..that brings us to his 4th tip.

Buy cheap tables and expensive chairs. Tables are a complete rip off. We buy stainless steel restaurant tables that are $100 and $600 Areon chairs. Total cost per workstation? $700. Compare that to buying a $500-$1,500 cube/designer workstation. The chair is the only thing that matters… invest in it.

(Not a terrible idea, as a matter of fact.)

The cheap tables may not hold up when the employees just snap one day and decide to take off, dragging the computers and all other office stationery on the table, down to the floor.

Now to be fair, let me also mention a few good tips from his list.

  • Don’t buy a phone system. No one will use it. No one at Mahalo has a desk phone except the admin folks. Everyone else is on IRC, chat, and their cell phone. Everyone has a cell phone, folks would rather get calls on it, and 99% of communication is NOT on the phone. Savings? At least $500 a year per person… 50 people over three years? $75-100k
  • Buy second monitors for everyone, they will save at least 30 minutes a day, which is 100 hours a year… which is at least $2,000 a year…. which is $6,000 over three years. A second monitor cost $300-500 depending on which one you get. That means you’re getting 10-20x return on your investment… and you’ve got a happy team member.
  • Don’t buy everyone Microsoft Office–it’s too much money. Put Office on three or four common computers and use Google Docs.
  • Allow folks to work off hours. Commuting sucks and is a waste of time for everyone. Let folks start at 6am or 11am and you’ll cut their commute in half (at least in LA).

My first company Bright Corner was a startup. A bunch of smart guys that used to work at Sapient, got together and started a consultancy services company and they did pretty good. We did great, in fact. We were all workaholics back then and still are. Up to this date, I spend 12-14 hours in front of the computer every day. But i don’t think i was ever given the idea that if i was not a workaholic, i ran the risk of being fired. I worked hard because i wanted to not because i was threatened to.

Not all 9-5′ers are slackers and not all 80-hours-a-week ‘ers are the most productive.

Seems like he has updated his post now after all the criticism.

Select Search 2.0 released

November 8th, 2006

I know if i really wanted to, i could have spared 15 minutes a day to blog about something interesting. But oh well…i’ll try to post more often. Does anybody care? NO! I don’t care either….whatever!

So anyways…this time i have something interesting (at least to me) to talk about. Firefox released it’s latest version 2.0 and my extension would not work with this. So i decided to upgrade it and then in the process of wondering if i could add any new features to it, came up with a couple of new ideas.

For those that are not sure what i’m talking about, Select Search is a Firefox extension that i wrote a while back that will enhance your right click. You can select any text on any page (frames not supported) and search for that text in Google, Yahoo, MSN, Wikipedia, Amazon, eBay, WebMD, CNET, IMDB and A WHOLE BUNCH of other sites. You can even search for directions (assuming the text you selected is a valid US address) in Google Maps and Yahoo Maps. Works with multiline addresses as well.

In the latest version (2.0), i have added the following features.

1. Open URL – Ever come across a URL on a page that is plain text (not actually displayed as a hyperlink) and thus you can’t click on it? Now you can highlight such text and use Select Search’s “Open URL” feature to open the URL in a new tab.

2. New search sites added:

  • - Flickr.com [Images category]
  • - YouTube and Google Videos [Videos category]
  • - Google and Yahoo Groups [Groups category]
  • - SimplyHired.com [Jobs category]


NOTE: I know there are waaaayyyyy too many options and search sites cramped in the menu and i have selected them all by default. But you can obviously go to Options for Select Search and disable any/all features you don’t need.

Ladies and Gentleman, I present Select Search 2.0.

Step 1: Download the plugins here. gg_linkxfn_v1.0.txt (admin side) gg_linklistxfn_v1.0.txt Since Textpattern is a PHP based CMS, the plugins are written in PHP as well. But these text plugin files don’t have any plain PHP code in it. The code is actually compiled into a chunk of base64-encoded text, to allow for easy installation and minimize corruption problems.

Step 2: Go to your textpattern admin interface usually yourdomainname.com/textpattern/index.php assuming you just did the simple basic installation. Here’s what you should see now. start

Step 3: Now click on the admin tab admin

Step 4: Click on plugins tab plugins

Step 5: Now in the textarea beside “Install plugin”, copy paste the text from the gg_linkxfn_v1.0.txt (let’s install the admin side plugin first) and click “Upload”. Textpattern will decode the text for you and spit out the plain PHP code, and then ask you whether you are ready to install it. install

Step 6: Click Install. Now you should be back to the list of plugins under the plugin tab. On the gg_linkxfn plugin row, click on “No”(under the “active” column) to change it to “Yes”, to enable the plugin. enable

Step 7: That’s it you are done! Now to see the plugin in action. Click on the content tab. You should see a new tab named “linkxfn” under the sub tabs. Click on the new tab. linkxfn

Step 8: There ya go! All set. Now you can choose your options from the fields, build the relation tag and see it in the “xfn” text area. Hit Save and you just have saved the values that will be populated in the “rel” attribute when you display the links using gg_linklistxfn plugin.

Step 9: Now repeat steps 1 to 7 to install and enable the gg_linklistxfn plugin.

Step 10: Here’s how you use it in your forms or pages.

<txp:if_category>
<txp:gg_linklistxfn form="waw_links" columns="1"
columnwraptag="ul" columnclass="alllinks" listwraptag=""
listclass="" headless="1" headwraptag="h3" argname="c"
category="Friends-and-Colleagues" />
<txp:else />
<txp:gg_linklistxfn form="waw_links" columns="1"
columnwraptag="ul" columnclass="alllinks" listwraptag=""
listclass="" headwraptag="h3" headless="1"
category="Friends-and-Colleagues"/>
</txp:if_category>

Since this plugin is an extension of Manfre’s mem_glinklist plugin, you can just read how to configure it from his help page. There are no new parameters to add or nothing different about how you use it.

Step 11. Here’s a demo. Right click on any link on blogroll there and click on properties. You should a relation name-value pair. Check out the screenshot below. properties

UPDATE: Step above will not work anymore as this site has been upgraded since the time this plugin was written. It runs on Wordpress now and hence doesn’t support any textpattern plugins.

Step 12. Most important of all…..ENJOY!

XFN Plugin for textpattern

June 20th, 2006

Turns out that a bunch of smart people decided to start off yet another practice that they hope would make better use of hyperlinks to put a human face on linking on the web.

XFN� (XHTML Friends Network) is a simple way to represent human relationships using hyperlinks. In recent years, blogs and blogrolls have become the fastest growing area of the Web. XFN enables web authors to indicate their relationship(s) to the people in their blogrolls simply by adding a ‘rel’ attribute to their href tags

...

I think it is a pretty interesting concept considering how the rel attribute could be used to build social networks just based on the links to other people on each person’s site.

So i decided to write a plugin for textpattern that would help people build rel attribute just like the wizard here.

I knew it was not going to be easy. It wasn’t. I actually had to write 2 instead of 1 as planned. But it certainly was a lot of fun. I’m almost done with it. So the first one is an admin side plugin, which involves altering the txp_link table in the textpattern database – adding an extra field to save the attribute, that helps people add links to their site just like they do under the default links section but with the extra rel-creator wizard. Here’s a screenshot of the admin side plugin.

And then i had to extend Manfre’s mem_glinklist plugin(i like it better than others) to display the links with the rel attribute because textpattern doesn’t support this by default(which explains adding a new field to the table in the db). In case you didn’t know, the description you enter for each link gets displayed as the title attribute in the hyperlinks when rendered as html.

You can check out the links section of this site and see for yourself. Either right click on any link there and click on properties to see the “Relation” attribute or just view the page source and check out the hyperlinks.

I’ll submit these 2 plugins to the textpattern community forum pretty soon after some clean up and final touches. Stay tuned…

Search Select 1.0 Release

November 28th, 2005

This is not how i wanted the final version to be. But anyways…

Here’s the official release of Search Select 1.0.

Thanks a million to Jeremy who let me host this extension on his site and also created a domain for it.

http://selectsearch.23hd.com

Post your comments and suggestions here if you have any.

And before i forget, if you have Cute Menus installed, then you can see the lil’ bitty icon beside Select Search in the context menu, that Jeremy created for me, which is pretty cool. The extension will work just as fine even without it.

I’ve also added background to the menus which might seem cheesy to some people but heyy…that’s for the kid in me :)

Search this…

November 22nd, 2005

Well, I’ve decided to throw my bit of knowledge into the big spinning wheel of Technology.

Although what I have to offer is only a mere speck of what exists out there, I have enjoyed the hours I have put into creating, what I feel, will enhance your search experience.

I have created an extension to be used in Mozilla Firefox.

What can I say? I love Firefox (though I am a die-hard fan of Opera).

You can get firefox and check it out for yourself if you already haven’t.

So what does my extension do? Let me give you a scenario.

Let’s say I’m searching for a MP-3 player (again…he he) and I want to do some price comparisons.

Usually this is what i would do. I go to bestbuy.com for example and I find the MP-3 player I like. Then hit “ctrl + t”, type in shopping.com in the address bar and hit go. In the site that opens up, I enter what I want to compare it’s price and have my results.

Good.

But do you know what would make it great?

Staying at Bestbuy’s website, highlighting the text (i.e. IPod shuffle) right-click and going to “Advanced Search” where I have choices at my fingertips.

In this case, I would choose “Price Comparison.”

From there I can choose from the popular sites: Shopping, NexTag, Price Grabber & CNET. I just pick and click.

Or hey, what if you’re a newbie to the Tech world and have no idea what an IPod is (unthinkable, I know.)

Just highlight the word IPod, right click and this time choose “Wikipedia” under “Quick Search” menu or for the slower ones, pick “Definitions and Acronyms.” under “Advanced Search” menu. From there you may choose from Dictionary or Acronym Finder.

Oh and incase you are wondering, the definition for IPod is “a trademarked class of portable digital audio players designed and marketed by Apple Computer .”

So, have I got your attention yet?

Ok, you are at Starbuck’s site and wonder just how healthy coffee really is to your body.

Obviously you haven’t had a cup of coffee yet if you’re thinking like this.

So you probably get the idea now…select text, right click, advanced search, choose “Health” and go to WebMD.

In which you will find that Decaf coffee may raise heart risks. Woooooow,caffeine rocks!!

So these are just two examples, “Price Comparison” & Definitions and Acronyms.”

You can also pick an address on a page and look up the location in Google and Yahoo maps. Yupp…No copy-pasting line by line anymore.

But wait…there’s more…

You still have “Mapping, Shopping, Jobs, Product Reviews, Movies & TV, or Music” to choose from in Advanced Search.

And well, I guess it’s not all about Advanced Search. You could choose from Quick Search if you have a desire to.

In which you will have choices from “Google, Yahoo, MSN, Ask Jeeves, A9, Wikipedia, or Search All (Dogpile).”

So this is my project. I call it “Select Search Beta”.

It currently is getting a “Look” and hot slogan that reads “make your right click more powerful than your left” (A big thank you to my co-worker Jeremy Johnson)

I intend on putting “Select Search” on its own site so you can read about it, install it and experience the magic (yeah…right!) for yourself.

Again, a creative mind required and so another thank you to Jeremy for that idea.

Thanksgiving part now…

Mapz librarian helped me test it and provided some valuable feedback. So did Russ, Mike and Luis.

Thanks guys.

With all the valuable feedback, when all its elements are aligned and it has reached is creative climax, I will put the link on my blog for all to download.

Will keep you updated on its birth date.

GirishG.com revamped

November 7th, 2005

Finally…even though half baked, i updated my website with its new looks. Like i said, not completely done yet, but the way i was procrastinating it, seemed like i’d never make it live.

Probably gonna get beaten up for the color combination i’ve chosen (i suck at picking the right colors) , but heyy….that’s what criticism is for. If you can suggest a better combo, i’m all ears.

I bought GirishGangadharan.com and redirected GirishG.com to the new one. But i think the email girish AT girishg DOT com should still work since i get one free email address for registering the domain even though i cancelled the hosting with GoDaddy.

Anyways, check out my “all new” website and lemme know what you think.

Till next time,

Happy Living.