Book review: Linchpin by Seth Godin

Standard

In this blog post I am going to review a book “Linchpin” that I completed reading in January 2012.

One of the key take-away for me from the book was: Inside an organization, take “initiatives” without hoping for rewards. That translates to: If you see a problem in an organization, take an initiative to solve it without hoping to get rewarded for solving the problem. Other take-away for me was the idea that Linchpin is more about the mind-set rather than the skill-set that you may have. Author, I believe, does not state this in direct words but he does have a chapter in which he walks through the characteristics that one can acquire and become a Linchpin. And the benefit of being a Linchpin is that you are indispensable in this new economy. To this end, Here are few characteristics of a Linchpin worth pointing out:

  • Linchpins are good at making connections. They are a “glue” that holds the organization together.
  • Linchpins understand the power of giving gifts. They understand that – more they give, more they’ll receive.
  • Linchpins do not “strive” to fit in. They are comfortable with the unique talent that they know they own.
  • Linchpins are passionate PLUS they are NOT attached to their own viewpoint of the world. They see the world as it is.
  • Linchpins do not need a “Manual” of what they should do. They are good at figuring out path/solution on their own. (Do NOT translate it to “Asking for help is bad”)

I liked reading about this new concept of being a “Linchpin” as it exposed me to few ideas of becoming indispensable that I believe would help me advance my career. And I can’t wait to work on acquiring the characteristics that were described in the book.

Side-note: I liked it that Seth Godin, the author of this book, began by describing why he thinks the new economy is best suited for Linchpins. If you have read first couple of chapters then it’s hard to put the book down.

Conclusion: So if you are part of an organization (and you aim to advance your career) – Give this book a shot. It does NOT tell you “what” to do; After all Linchpins do not need “instructions”, right? But the book does share some key ideas that would help you advance in your career.

BTW, I like reading books; Here’s the list of the books that i have read so far: http://parasdoshi.com/books/

Want to read more? Here are few book reviews i have written:

[Update] This post got freshly pressed (The Home Page of WordPress)!

freshly pressed paras doshi's blog wordpress

That’s about it. Your feedback is welcome!
And let’s connect!
paras doshi blog on facebookparas doshi twitterparas doshi google plusparas doshi linkedin

Guest post on SQL Authority

Standard

Few months back, i wrote a guest blog on Pinal sir’s blog. ReBlogging it

Meet the NEW ivy’s of our world: Coursera, db-class, saas-class, Khan academy, MITx, TED etc etc

Standard

[Update 20th August 2012: seems db-class, ml-class, saas-class etc have been “merged” under a single umbrella which is now called Coursera]

I have been a fan of khan academy for more than 2+ years now. And huge fan of TED for 3+ years now. Did you knew that Khan academy helped me when I took a graduate level class about statistics (To gain mathematical foundation for data analysis) six months back? Yes true story: Apart from Textbooks, course classes and my note-taking (scribbling), the resource that was most helpful to me (for practice) were video courses on statistics at Khan Academy:

khan academy statisticsI watched videos on topic that I was not comfortable with. I got ‘A’ for this course and of course, Khan academy was big help!

Fast forward today, I just completed watching few videos at saas-class.org and the quality of the material is Mind-blowingly  awesome. And I know mind-blowlingly is not the right word, but you get my point, don’t you?! I am sure, you do!

You may ask – what basis do you have to compare saas-class.org with other courses? Well, I am pursuing an awesome certification on cloud computing at university of Washington (UW). It’s great! Now compare that with free saas-class.org whose content is equally great. I am not comparing the “Exhaustiveness” of the course here. The course at  UW is one year-long and saas-class.org is just five weeks – so of course, the content at UW covers more topics. But if I compare the quality – I am just blown by both courses. I get to learn things that I do not know and to me that’s what matters. So Thank you UW and saas-class. Also. it does not end here – I am taking a graduate level course at school of management which focuses on business side of cloud computing. It’s great too and so is saas-class.

Enough of “judging” – but my point being that more than 50k students are accessing saas-class and they get a chance to get learn about software as a service, Agile Development, etc and isn’t that amazing!

Quick Facts:
TOTAL students at UCB (Covers every major) = ~ 37,000
TOTAL students enrolled for saas-class (just one course taught by UCB professor’s): 60k

UC berkely total students

Notice the IMPACT of offering an online course (with OUT admission *requirements*)

Also, Think of students that get access to it, students from communities in the remote(st) part of our world can NOW learn about latest technology. Think of impact that they could make in their community.

I am not saying that these models should necessarily replace existing models, I know Importance of classes and world-class education – That’s why after my undergrad studies in India, I moved to USA to pursue Graduate degree in Information Technology and Management. So I know, Importance of contemporary education system. But these courses/videos help educate masses and not just selected few. And that’s what makes them the NEW ivy’s in my opinion.

It’s Not just for the chosen “ONE’s”

Matrix The ONE

In the new model, every gets a level-playing field to become the “ONE” < No disadvantages, It then boils down to persistence, motivation, etc to become successful and then no one and I mean no one can say that “Ivy’s are the ONLY path of success”.

Replace: ivy’s with “Ivy’s + All good Universities”. I just wanted to craft an eye-catching title. To me, Meet the NEW uni’s didn’t seem that appealing!

And yes check these resources out, if you haven’t already:

Khan Academy

TED

Saas-class.org

Mitx

Udacity

*-class.org (There are lots of these)

What am I missing? Are there other NEW ivy’s out there that I may not know about?

btw, I consider people sharing their knowledge via blogs, technical forums, etc are important too. They add value in someone’s life. And that’s one of the reasons I blog too!

UPDATE – How on earth i forgot:

Academic Earth

Indian Government’s National Program on Technology Enhanced Learning (NPTEL)

I remember, Once a professor in an US university pointed his students to watch a video lecture (to delve deeper) from NPTEL. Isn’t that awesome!? I came to know about this because one of my friend was part of that class.

UPDATE – 19th March 2012:

One more resource: http://www.openculture.com/ [via kewal]

UPDATE – 2nd  August 2012:

My New favorite: coursera.org

Five things I learned about “Art of report designing” from Facebook insights.

Standard

As you may know, I have a Facebook page for this blog – only because NOT all my friends (on Facebook) want to follow my technology-related activities. But some of them are interested, and so I thought of setting up a Facebook page for the blog which helps those interested in following my twitter (micro-blogging) and blog feed via Facebook.

Now, Facebook provides a nice tool called “Facebook Insights” to view performance of the page, optimize content, among other things. A sample report looks like this:

facebook insight for paras doshi's blogI liked the way they have designed this “line chart” and I thought about what I can learn about “Art of report designing” from this nicely designed report.

Here’s what I liked about the report:

1. Key performance indicators (KPI)

kpi in facebook insights2. “?” (more details) on every “jargon” (term) that CLEARLY explains what each term means.

3. it’s easy to compare “people talking about it” vs “weekly total reach” metric which are inter-dependent in nature.

Now to know why comparing these two metric makes sense, read this:

The next metric, “People Talking About This”, indicates how many people are actually talking about your business to their friends. This metric includes everyone who:

  •  Liked your Page
  • Liked, commented on, or shared your Page post
  •  Answered a Question you’ve asked
  •  Responded to your event
  •  Mentioned your Page
  •  Tagged your Page in a photo
  •  Checked in or recommended your Place

Getting more people to talk about your business allows you to reach more people. You can see how many people your Page is reaching by looking at the “Total Reach” metric.

Source: http://ads.ak.facebook.com/ads/FacebookAds/Page_Insights_en_US.pdf

The report makes it easy for us to “compare” these inter-dependent metrics.

4. The size of the circle depends on the “number of posts”. Very intuitive!

The size of circle depends on numebr of facebook postsThey could have easily opted for “other” formats but they opted for this and to me, it is very intuitive to interpret the report.

5. Horizontal Axis Format for Dates:

Keep interval to 7 for axiskeeping the Interval to “7” looks better! It looks clean!

So, Those were my 5 favorite things about that report

Now, One can export the data too in csv and .xls format! That means, that you can create custom report on top on this data to answer any business question that you may have.

So for instance, I asked myself – Is there a relation between “number of posts i shared” with “People talking about it”. Although this question got answered via the sample report I shared earlier – But I wanted to extend it. Here’s why: The “number of posts” metric was reflected by the “size of the circle” and “people talking about it” metric was reflected in line chart format. Wouldn’t it be wonderful if both values were reflected on a line chart in a coherent fashion? I thought so, and so I downloaded the data on my computer and opened it in excel. And I was quickly created this line chart in excel:

paras doshi's blog on facebookBingo! I learned that more I post on my Facebook page => more likes,shares I am going to generate. Now this is NOT a universal statement, it varies from page to page but at least, my data encourages me to post more on my Facebook page.

So that’s about it. In this blog post, I listed things I liked about Facebook insights and what I learned about “Art of report designing”. Then I extended the data made available to create a custom report on excel. After all, “Information is king“.

[video] The day it all began for SQL Azure

Standard

SlideDeck: Introducing SQL Server Data Services

 

Video: Introducing SQL server Data services:SQL Server Data services SSDSHere’s the Announcement: Announcing SQL Server Data Services

It’s interesting to me how SQL Azure has been evolving at an amazing pace! And we forget that this service is relatively new – After all it was announced in April ’08 at Mix. So it’s good to see that SQL Azure (previously known as SQL server Data services) is growing rapidly. It seems like it’s a start-up – no kidding. And that’s great!

Check out above video – if you like digging through “historical” material.

That’s about it for this post.

Graphical representation of the new pricing model of SQL Azure:

Standard

I recently learned that information design has two golden rules:
1. Show the Data
2. Show Comparisons

 

So I thought that my in my recent post on new SQL Azure pricing model – I had displayed the data but I had not shown comparison in an effective way; so I am giving it a shot here:

SQL Azure pricing model 2012Off – Topic Fun fact: Do you use spark-lines while creating your SQL server reporting services reports? If you do, Thank Edward Tufte because he invented it.

Spark lines:

SSRS sparklines

That’s about it! Your feedback is welcome!

[Scheduled Post]

[Video] I am 22 years old, So is SQL server! check out, history of SQL server:

Standard

SQL Azure got a new pricing model!

Standard

Summary First:
1. New 100 MB Database Option
2. Significant Price reduction for Database sizes greater than 1 GB!
3. Note the Changes in Billing increments

The new pricing model is:

Database SizePrice Per Database Per Month
0 to 100 MB (Web)Flat $5.00
Greater than 100 MB to 1 GB (Web)Flat $9.99
Greater than 1 GB to 10 GB (Web/Business)$9.99 for first GB, $4.00 for each additional GB
Greater than 10 GB to 50 GB (Business)$45.99 for first 10 GB, $2.00 for each additional GB
Great than 50 GB to 150 GB (Business)$125.99 for first 50 GB, $1.00 for each additional GB

Previous pricing model was:

Database SizePrice Per Database Per Month
0 to 1 GB (Web)$9.99
Greater than 1 GB to 5 GB (Web)$49.95
Greater than 1 GB to 10 GB (Business)$99.99
Greater than 10 GB to 50 GB (Business)$99.99 for first 10 GB, $99.99 for each increment of 10 GB
Greater than 50 GB to 150 GB (Business)No Charge

FYI: Max DB size of Web Edition: 5 GB; Business Edition: 150 GB.

News source: http://blogs.msdn.com/b/windowsazure/archive/2012/02/14/announcing-reduced-pricing-on-sql-azure-and-new-100mb-database-option.aspx

Cloud Models (IaaS, PaaS, SaaS) explained with examples

Standard

Let’s try understanding each Cloud Model (IaaS, PaaS, SaaS) with Example.

For IaaS (Infrastructure as a Service) example, We have Amazon Web services

For PaaS (Platform as a Service) example, we have Windows Azure.
[Update 7th June 2012: Windows Azure is Now a PaaS as well as IaaS]

For SaaS (Software as a Service) example, we have Google Apps.

Of course, there are other examples out there but I have used Azure, EC2 and Google Apps for a while now and so I was able to tear them apart and understand why they belong to a particular cloud Model.

 

Let’s start from SaaS with Google Apps as an Example:

So we have Google Apps (Do not confuse it with Google App Engine) which is a cloud based messaging and collaboration platform. They say that it increases productivity while simplifying IT and reducing costs.

In SaaS, The entire stack from Applications to Networking is managed by SaaS vendor:

SaaS

So when I am using Google Apps (used for email functionality for this domain ParasDoshi.com) – I do not care how the software is managed, I do not care about which technology was used to develop it, I do not worry about backups, I do not worry about capacity management, I am least bothered about what servers it runs on, etc..

All I care is that I can subscribe to new user accounts if need be, my apps are up and running, my emails are sent and received properly, a particular user should not have access to XYZ calendar, And I am able to close the account if I chose to..Questions like that..

Now Let’s talk about PaaS with Windows Azure as an Example:

Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. More: https://www.windowsazure.com/en-us/home/tour/overview/

paas

Now as opposed to SaaS, here you develop (and own the code) of the App and select your Data Storage. The platform provides you on demand and scalable resources that are used to deploy your application.

So here are tasks that you perform for running a .net app on Windows Azure: For this I did tasks like: Develop the app, publish it to cloud on compute (web/worker) role, select the number of instances  of the role, etc..

But I do not have to have worry about server capacity planning, hardware management, Power, datacenter security, hardware failure, Setting up network, setting up hardware, setting up storage, OS updates, managing runtime and middleware etc..

But it’s my Job to monitor my application performance, spin up more resources if need be etc..

Now let’s talk about IaaS with Amazon Web services an Example:

iaas

As opposed to PaaS, an IaaS provider does not manage Run-time, Middle-ware and OS for us. So get to choose the OS for your virtual machine, then you install the Run-time and middle-ware as per your requirement. And it’s your job to manage these components. E.g. OS updates, etc..

So recently I was playing with Amazon Web services and my goal was to run a .net web app on Amazon cloud. For this I did tasks like: spin up an Instance running Windows Server as it’s OS, configure IIS, develop and publish my application, etc..

But I do not have to have worry about server capacity planning, hardware management, Power, datacenter security,  hardware failure, Setting up network, setting up hardware, setting up storage etc..

But it’s my Job to monitor my application performance, spin up more resources if need be, Update the OS, Manage runtime and middleware etc..

Here’s the summary:

1

Other Examples:

PaaS: Google App Engine, Heroku..

SaaS: Salesforce, Office 365..

IaaS: Rackspcae..

 

That’s about it..

Your feedback is welcome!

What is Serialization? May be Star Trek analogy could help..

Standard

I recently played with XML serialization:

1

In super simple terms, (one of the) aim of serialization is to convert an object (not a class) that can be transported.

There are two processes that are attached to Serialization viz. deserializing and serializing AND to understand that – let’s draw an analogy with star trek:

Remember Transporter?

image

Source: http://en.wikipedia.org/wiki/Transporter_%28Star_Trek%29

Transporters convert a person or object or matter into an energy pattern –> then “beam” it to a target –> where it is reconverted into matter

In programmer’s world:

Serialization equals “convert a person or object or matter into an energy pattern”

Deserialization equals “where it is reconverted into matter”

Technical (accurate) Definition from Wikipedia:

In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and “resurrected” later in the same or another computer environment

 Let’s Simplify that!

we need to serialize the object when 1) an object is to be sent over the network 2) state of an object is to be saved.

Moral of the story

To send an object via network, it is serialized.

After it’s received, to recover it, it is deserialized.

Now let’s get into action!

I am familiar with .Net framework– so I am going to share a demo code for XML serialization (serializing + deserializing) with you.

Here’s the class definition (person.cs). Just a simple object for demo purpose:

[code language=”css”]

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace XMLSerialization

{

class person

{

static void Main(string[] args)

{

}

public class person

{

private string _firstname, _lastname, _twitter;

public person()

{

_firstname = "";

_lastname = "";

_twitter = "";

}

public string firstname

{

get { return _firstname; }

set { _firstname = value; }

}

public string lastname

{

get { return _lastname; }

set { _lastname = value; }

}

public string twitter

{

get { return _twitter; }

set { _twitter = value; }

}

}

}

}
[/code]

Code for Serializing an object:

[code language=”css”]

class Program

{

static void Main(string[] args)

{

person personone = new person();

personone.firstname = "paras";

personone.lastname = "doshi";

personone.twitter = "@paras_doshi";

Console.WriteLine("serializing….");

XmlSerializer serializer = new XmlSerializer(typeof(person));

string path = ".\filename.xml";

FileStream fs = File.OpenWrite(path);

XmlTextWriter writer = new XmlTextWriter(fs,System.Text.Encoding.UTF8);

writer.Formatting = Formatting.Indented;

try

{

serializer.Serialize(writer, personone);

}

finally

{

writer.Close();

}

Console.WriteLine("Serialization: Done!");

}

}
[/code]

Code to deserialize an object:

[code language=”css”]

Console.WriteLine("Deserialization…..");

XmlSerializer serializer = new XmlSerializer(typeof(person));

string path = ".\filename.xml";

FileStream fs = File.OpenRead(path);

person deserializeperson;

try

{

deserializeperson = (person)serializer.Deserialize(fs);

}

finally

{

fs.Close();

}

Console.WriteLine("Person info:");

Console.WriteLine("First Name: {0}", deserializeperson.firstname);

Console.WriteLine("Last Name: {0}", deserializeperson.lastname);

Console.WriteLine("Twitter: {0}", deserializeperson.twitter);

[/code]

reference: http://msdn.microsoft.com/en-us/library/182eeyhh%28v=vs.71%29.aspx

BTW,
I hope that STAR TREK helped!