Pages

Monday, June 16, 2014

Mongo??? I love Blazing Saddles!


 Databases is not what came to my mind when I was first introduced to the world of MongoDB.  My first thought was Blazing Saddles, one of my favorite movies,

MongoDB is a document based database, a NoSQL Database, and supports dynamic schema.  MongoDB has gained momentum in the last couple years and has been implemented by some well known companies including Stripe, Expedia, LinkedIn, and eHarmony.   The most recent review of database technology shows that MongoDB is number 6 on the list of most implemented databases and the most implemented NoSQL database.

I am very much a nube with respect to MongoDB and have been working with it for about three weeks as of this post.  There is no question that there is a required adjustment, having an established skill set and background in various Relational Database Management Systems.  I have very much to learn and am sure that there exists many things things that I am still unaware.   Below are my initial likes and dislikes I encountered during my short time with MongoDB.

Pros:

  • Free and Open Source
  • Installation takes all but 5 seconds
  • MongoDB Driver for .Net
  • JSON like record structure (BSON)
  • Write JavaScript directly against the database

Cons
  • Query syntax is archaic
  • Tools are buggy, but likely to improve with time
  • It's Open Source (new version every week :)  )
  • Continual need to enhance Indexes - likely due to ignorance
  • It's new to me
My limited time with MongoDB has prevented me from realizing any of the performance and scalability benefits when compared to more traditional SQL databases.  The bottom line is that I was able to quickly connect and perform basic CRUD operations against MongoDB with minimal effort.  My goal is to next explore how easy it is place unstructured data onto a collection and how I can take advantage of this from the application point of view.   I look forward to more posts about my time with MongoDB.

Thursday, February 13, 2014

Elms, A Business Management Solution - Part 1


Elms Advantage Online is designed to help you develop and implement strong business systems for your company. You can clearly divide a remodeling business into the following categories:   Sales & Marketing, Estimating, Communications, Production and Finance.    Additional blog posts will follow showing how Elms participates in each of the previous defined categories.

Implementing strong business systems will help you standardize and assure you that all tasks are handled in a consistent and planned process.

Elms Advantage Online provides you the framework to build and manage these business systems.  Elms customization features makes sure that you can implement your own custom business systems as opposed to dictating your processes.   One size does not fit all and you always have the functionality available if needed.  Our pricing strategy and product offering makes it easy to grow with your company

Tuesday, January 8, 2013

Performance reviews - What are they really used for?

Performance reviews, ti's the season.  I always cringed with the idea of reviewing status reports from the previous year and documenting all my accomplishments.  The feeling was also mutual from my days as a manager where not only did I have to produce my own evaluation, but was responsible to reading and evaluating others.

My days as a corporate employee always led me to believe that yearly employee evaluations where an avenue to impress and secure that elusive increase in salary or new promotion.   I would spend countless hours during office hours and after to produce a concise and well written evaluation that would be sure to impress.

Middle management taught me that all raises and promotions have already been determined via the previous budget allocation process.  My role was to understand the company's longer term goals and communicate to  each employee this information in addition to how they individually fit the plan for the next year.   This was also a great time for providing feedback.  Personally, I would like my manager to provide feedback throughout the year.

So --- What is the real purpose of the Employee Evaluation?

I have come to believe that an Employee Evaluation is really a legal document that primarily benefits the company it serves.  It demonstrates that the company has made correspondence with all its employees on what they require and their perceived performance.  Each employee also indicates this same understanding once they put their signature on the review.

We have all seen the rating scales (i.e. 1-5  or Poor-Superior) with each ranking corresponding to a % increase within your related job class.   This allows for a standard way of issuing pay increases, promotions, and/or demotions legally without prejudice or favoritism.

I have been and Independent Contractor for the last 14 years, I can say with certainty that I do not miss the employee review process.   I can also say with certainty that I will institute the review process when Elms Software is ready.


Monday, December 3, 2012

clickety-clack...clickety..clack

clickety-clack...clickety..clack.  I am going old-school with my new mechanical keyboard...  dasKeyboard.   Love this thing.   I am typing much faster and much more accurate.

I thought about getting the version with no markings on the keys.   That would be one way to limit the game players and online shoppers in this household.

Monday, June 25, 2012

Why Agile May Not Work for You, But Lean-Agile Will | Net Objectives

Why Agile May Not Work for You, But Lean-Agile Will | Net Objectives

Interesting article.....   I have seen first-hand some of the difficulties Agile may present for larger corporations

Thanks for the reminder


It is ingrained into our DNA that we must provide for our family and so easily our focus is can be about income, career, and material items.  I just found myself in a high-stress project with much responsibility.   My promise was to make it up to my family after successfully completing the project.  It would be good for my career, and it was.

But, like most projects, there is always another release or iteration.  There never seems like a good time  for a transition.   I was recently reminded of my promise by my son.   The conversation started with "Dad, you said...........".   

Good memory! and.. Thank you for the reminder.


Friday, February 17, 2012

SQL Full Text Search


I recently had a need to quickly investigate SQL Full Text Search for one of my clients.    Searching using the  clause   "where  mycolumn like '%findme%"   has become detrimental to my process and my application.

The first step is to verify that the Full Text Search component is installed as part of your SQL Server installation.    Once installed, there are two items we need to concern ourselves with:
  • Full Text Catalog -  Entity that contains one or many Full Text Indexes.   We can create the catalog via T-SQL or via the Management Studio.   It is very easily done via the Management Studio.   Right Click on your table or view and select "Full Text Index". This will start the process of creating the catalog and index.
  • Full Text Index.  - Select the columns in your table/view to be indexed.   The data in these columns will be searched during a full text search operation.
Note:   Creating a Full Text Search Catalog and Index requires that your table or view have a unique index.   This index must also be on a single column.

That is it  ---- Now you are ready to quickly search your database for matching strings.

SELECT *,KEY_TBL.RANK
FROM dbo.MyTableOrView as FT_TBL INNER JOIN
FREETEXTTABLE(dbo.MyTableOrView,'Find Me') AS KEY_TBL
ON FT_TBL.Key = KEY_TBL.[KEY];
The neat think about this is that you also can get a rank value that rates the relevance of you resulting hits. 
There is a definite increase in performance when compared to using the "Like" clause.   This becomes much more relevant as the size of the database increases.