My pet peeves with LinkedIn

To Recruiters

  • Just because a person asks me to connect with him/her, I may not do so. I don’t want to have 1000s of contacts with whom I have nothing in common. I rather have a few hundred people who know my professional competencies and what I bring to the table.
  • If I want to connect with someone, he/she is someone I have done business with, met at least once, or someone who might help me further my career. In my invitations, I will explain to them why I want to be in touch with them. If you want to include me in your professional network, please return that courtesy.  Or even better, send the invitation with potential lead for a job or a contract.
  • If I like something you posted does not mean that I want to connect with you.
  • I do have ample recruiting superstars in my contact list.

To LinkedIn feature designers

  • Do you dare to share with a room full of strangers that you have been with the same company for 10 years or 6 years on LinkedIn? I know I don’t. I hope this feature can be turned off.

To fellow networking professionals. I like all of you, but

  • Posting multiple articles that you like on a daily basis, makes me question your productivity.
  • If you really want me to notice you, please post your original thoughts and opinions on them. The more thought provoking they are, better.
  • Facebook or other social sites are better suited to share posting about your engagement or wedding pictures.
  •      Newborns pictures are different. I like them and I understand your pride. Even though they have nothing to do with career networking. 

Learn AWS #2 – Give Me Details

Here are some great resources that will provide you a lot more details. They also come with the right price, free.

  •  Sign up for a free account so that you can play around.
  •  Kindle edition of the book, Getting Started with AWS
  •     Note that AWS changes are the speed of Cloud. It is still evolving in terms of management functions, tools, and menus. While the books is fairly accurate on the capabilities, the options are not usually where they are. For example, if you want to set a billing alert so that you don’t accidentally get charged too much for your usage, the book calls out different navigation menu, which has been deprecated. That said, these type of changes are very common to all cloud providers. The Amazon navigation menu is intuitive enough that you will figure it out.

Learn Amazon Web Services (AWS) #1

Prologue

The purpose of this series to share my take on AWS. The primary objective here is to create a learning experience on AWS through short lessons. The target audience are IT architects, developers, and geeks who want to show off to pretty girls (it does not work that way).

My goal here is not to conduct long drawn lectures. There are fantastic classes from PluralSight, InfiniteSkills, and other companies for this. Rather, I will be sharing short lessons, how-to tips, and links to web pages that I find useful for learning AWS. When you start  picking on my articles, you know you have become a master of AWS. We can grab a cup of coffee and discuss our views at that point.

This blog is not for those who do not want to be bothered by details of underlying infrastructure.

Warning – Some of my remarks and puns might offend you. Feel free to worship me (desired) or insult me (anticipated).

What is Amazon Web Services (AWS)?

AWS is a collection of infrastructure (IaaS) and platform (PaaS) services geared for Cloud. These capabilities are beautifully architect for high availability and self-service. Due to the competition from Google and Microsoft, these services are getting amazingly cheaper.

AWS provides awesome raw power to anyone who needs to rent raw Compute on the cheap (CPU, Storage, Memory, and some variations of OS, messaging, and workflow).An useful diagram on what is AWS  (courtesy of Amazon’s book ‘Getting Started with AWS’ book)

AWS Offerings

Note that Amazon does not provide a SaaS implementation like Salesforce or NetSuite. Its idea is that you will build a successful SaaS offering using their toolbox.

For the visual learners, here is a short video on AWS: http://aws.amazon.com/getting-started/ . This video would have been more credible to me, if the audio had an Indian accent. 😉 Someone should work on dynamic localization of promotional videos based on browser’s default language.  It is a conversation for another day.

Amazon Web Services (AWS)

I got interested in AWS a while ago. Since its humble beginning as IaaS space, AWS has grown to be a the standard bearer for how to execute a worldwide IaaS and PaaS services. 

I can think of many reasons you want to use AWS. 

1) Best platform for standing up a test environment rapidly. Esp., for concurrency testing, load testing, multi-platform testing. 

2) Quickly launch your consultant at client sites. Create AMIs with your desired platform configuration. Send your consultant to client site on a business class flight and Cadillac rental. With in 10 minutes on the site, your consultant can spin off a dev environment or a dev cluster through AWS.

3) Host legacy applications and DB. 

4) Record management

6) Rent large scale computing power without large up front cost

5) The list goes on.

Great job, Amazon.

So far, I am impressed with that they have to offer

Fun with SQL

Our business report writer had asked one of my developers for a multiple parameter function to use for her SSRS report. The I/O is as below:

Input: ‘Bala|Summa|Peela|Vidathe’

Output: ‘Bala’,’Summa’,’Peela’,’Vidathe’

Here is the code if you want a RegEx like function in SQL.

/****** Object: UserDefinedFunction [dbo].[SplitFields] Script Date: DD/MM/YYYY ******/

IF EXISTS(SELECT*FROMsys.objectsWHEREobject_id=OBJECT_ID(N'[dbo].[SplitFields]’)ANDtypein(N’FN’,N’IF’,N’TF’,N’FS’,N’FT’))

DROP FUNCTION [dbo].[SplitFields]

GO

USE [A DB NAME]

GO

 

/****** Object: UserDefinedFunction [dbo].[SplitFields] Script Date: DD/MM/YYYY ******/

SET ANSI_NULLSON

GO

SET QUOTED_IDENTIFIERON

GO

 

CREATEFUNCTION [dbo].[SplitFields] ( @InputList nvarchar(2000), @Delimiter nvarchar(5))

RETURNS NVarchar (3000)

AS

BEGIN

DECLARE @RtnList nvarchar(3000)

SET @RtnList =””+REPLACE(@InputList, @Delimiter,”’,”’)+””

RETURN @RtnList

END

GO

 

/****** Test script******/

USE [KenticoCMS]

GO

DECLARE @VARIABLE NVARCHAR(3000)

Exec @VARIABLE = [dbo].[SplitFields] ‘Bala|Summa|Peela|Vidathe’,’|’

PRINT @VARIABLE

GO

 

 

Backstage story: 🙂

Since my developer was stumped for several hours, I offered to help. I have not played with T-SQL in many moons. So, this looked like a good mini-challenge.

He had already started with a while loop in a function. The function itself was having issues parsing and formatting.

For my convenience, I replaced the while loop with a REPLACE function. While the code executed well, I was having problem with the return value, which was a single character. It took me whole 20 minutes before figured out the problem. I was returning a single NVarchar instead of the whole string.

Practicing Enterprise Architecture

Overview

Enterprise Architecture (EA) can be defined as the ‘life coaching’ for an enterprise. Architecture by nature is associated with planning and defining a purposeful structure per the rules, regulations, and policies that are established by legal entities. The practice of Enterprise Architecture is not The larger and more complex the organization is, the more it needs an established practice of enterprise architecture. Enterprise Architecture is also technology agnostic. It deals with more of how to compose highly reusable, extensible IT components rather than what to build. The ‘What’ part of composition is derived by the business vision and the constantly evolving nature of the business needs. In my subsequent posts, I am going to share my view on the practice of EA, the benefits of EA, EA components, the frameworks associated with EA, tools, why EA receives a bad reputation from business focused leaders and more.

Architecture Views

When we talk about architecture diagrams, people normally think it in terms of either server boxes and firewalls or as UI diagrams and workflows.

While these are generally acceptable forms of architectural diagrams, in reality, an architecture has several views depending on who is the audience.

An experienced architect usually starts with a conceptual architecture view. Once the conceptual architecture of a solution is approved by stake holders, he/she moves on to elaborate this solution using the logical architecture. Such approvals are usually considered as a mile stone for solution initiation stage.

Once the logical architecture is vetted out by peers and extended team, the solution architect works with his peers (domain architects) to create the information architecture, integration architecture security architecture and physical (infrastructure) architecture views.

These views handle various aspects of a complex solution.

Conceptual Architecture

Conceptual Architecture is a terminology that is used to introduce and describe a concept or an idea. During this phase of the architecture, the various functional component and players of the solution is identified.

Conceptual architecture plays a crucial role, when the architect is designing large and complex solution. It is less useful for small to midsize solutions. You can dive directly into logical architecture, which is the next step in elaborating the architecture.

 Note to budding architects – If your diagram calls out any server name or protocol, then it is not a conceptual architecture.

I will go over the remaining architectural views in my next few posts.

Outlook 2010 Beta Experience

Outlook 2010 crashed.
It has something to do with enabling / disabling Mobile Services add-on. I ignored it when starting Outlook 2010 for the first time. BAD IDEA!
It failed to open. I tried to open my Outlook 2007 instead. It failed to open too.
After trying a few different options including repairing of Office 2010 beta and trying to opening Outlook 2007 in safe mode, I ended up restoring my system.

So much for trusting a beta software. I should try this whole exercise on a Virtual PC or on VMWare image. Also, next time I am going to make a clean install.

After all these years, Microsoft has not perfected the art of upgrading a software. 

Office 2010 Professional Plus Beta Installation Experience

Installation Experience

 

The videos on 2010 Beta looked good. They were focused on explaining how Office helps real life people with their projects and lives.

 

Being the curious that I am, I dutifully downloaded 2010 Professional Plus Beta. The download was smooth. In fact, I like the new download ActiveX add-on.

 

The installation went really fast till it reached around 85%. Then the progress bar did not move for a lo…ng time. When I checked the CPU activity, I noticed that it was quite active. My dual core processor even reached 100% utilization at times.

 

I choose to keep my previous copy of Office 2007 during this install. Providing this option was thoughtful of Microsoft.

 

The installation added the new beta software to existing Microsoft Office group. I don’t care for it. If I select ‘Keep existing version’, I expect that group to be left alone. Creating a Microsoft Office 2010 group would have been my preference.

 

A Word

 

Just like Acrobat, the flash screen shows the modules (building blocks) that are loaded as part of startup process. Unlike Acrobat, this is a fast process.

 

Not seeing the big ‘Office Button’ as in Office 2007 is a relief. It was more of an eye sore anyways. It has been replaced by File menu.

 

The task bar icon has been revamped and I like it.

 

Trying to open Word 2007 after opening Word 2010 initiated reconfiguration of Word 2007. Closing and reopening 2010 initiated reconfiguration of Word 2010. These (re)configurations take approximately 1 minute each. This sure is going to annoy me to no end.

 

I tried to enter this blog using MS-Word. It could not register my account. This is the same issue I faced with MS-Word 2007. So, I tried to register my Blogger account from MS-Word. No luck there either.

 

I don’t care for the term ‘Building Blocks’ that is replacing the term ‘Templates’. Even though it is technically correct, it sure is going to confuse the masses.

 

When Office 2007 came, the office ribbon was a big hit. Office 2010 has sucked the color out of this bar. It looks gray and pale. I know it won’t’ change for RTM. What were they thinking?  When I figure out how to bring back color to the menu, I will post it.

 

 

Things to explore further (note to self):

– The ‘Restrict Editing’ menu option under ‘Review’ menu sounds interesting. This may not be that much different from Office 2007.

– The PDF (PDF/A) format is now standard. You don’t have to download any add-on. There is more optimization for file size as part of ‘Save As’ menu.

– There seems to be a better integration with ‘Office Live’ from the File menu.

 

Live long and prosper. 🙂 

Types of Cloud

Depending on the audience and security, cloud computing can be organized into four groups.

Public cloud is an IT capability that is rendered as a service to any consumer over the public Internet. Some of the well known examples are Saleforce.com, Google App Engine, Microsoft Azure, and Amazon EC2.

Private cloud is an IT capability that is rendered as a service to a select group of consumers. Private cloud service provider could be the IT department of the same organization as the customer. It could also be a third party vendor who has created a network for specific use of that customer.  Note that the network on which the service is provided could be either a public network such as the Internet or a private network.  Examples include hospitals or universities that organize a holding company to purchase infrastructure and build cloud services for their consumption.

Internal cloud is a subset of a private cloud. It is an IT capability rendered as a service by an IT department to its own business customers. Example would be that an IT department building a highly virtualized environment for consumption of internal application developers. This would automate the procurement and provision process. It would also automate internal charge back to the developer’s or the project cost center.  The role of the IT environment team would be to monitor and provision the hardware, middleware, and application licensing so that the demand does not overrun capacity.

External cloud is an IT capability that is rendered as a service to a business that is not hosted by its own IT organization. An external cloud can be public or private, but must be implemented by a third party.