"No one is harder on a talented person than the person themselves" - Linda Wilkinson

May 15, 2013

TSQL Formatting Tools

Back to blogging after a month long break. Things were quite busy @ work. This post is to focus on TSQL formatters. There are several code formatters that I had come across recently.

1. SQL Formatter for Notepad++ - Download and install Notepad++ plugin from link. Copying the DLL's and checking the Notepad++ Option listed below

Step 1. Copy the DLL's in plugin directory of Notepad++
 

Step 2. NotePad++ SQL Formatter Options


2. Online SQL Formatter - Link

3. PoorSQL - Online SQL FormatterLink

4. SSMS Tools pack - SSMS Addons - Link

5. Instant SQL Formatter - Online version - Link

6. Atlantis Interactive SQL Server IDE - Very good IDE for MSSQL - Link

7. SQLInform - SQL Online formatter - Link

Other Free Useful Tools
1. Programmers Notepad
- Link
2. TextPad - Link
3. Notepad++ - Link

Happy Learning!!!

March 17, 2013

Big Data Conference Tech Talks Talks

Please find Tech Talk videos of Interesting Big Data Sessions. Please refer session notes from previous posts

Big Data Analytics @ InMobi



Messaging architecture at Facebook




More Interesting Tech Talk Videos Please check hasgeek TV


Happy Learning!!!

March 09, 2013

SQLite and Java Client


This post is on trying out SQLite and Java Client for querying databases. There were several results returned from google search. The following post Connect Java with SQLite using JDBC Tutorial

Download Links
WIN 32 SQLite - link
sqlite-jdbc.jar - link

Pretty much post was self-explanatory. Posting screenshots of the same project

Step 1 - Running Sqlite ( Pretty easy - console app)


Step 2 - DB and Table Creation


Files Created for Employee



Step 3 - Create a Java Application and add SQLite JAR reference 



Step 4 - Java Project Console Results - Path Changed to Where DB is present



Happy Learning!!!

February 24, 2013

Selenium Builder - Magic Tool for Web Testing

Selenium Builder tool caught my attention from recent selenium post. Selenium IDE is available past few years. It is very useful, robust to get started. The challenging problem for me was fixing XPATH related issues prior to web driver implementation. Selenium Builder seems to remove some of those pain points. In a quick dry run I found below things impressive about Selenium builder.


1. Converting from Selenium 1 to 2
2. Alternatives Suggestions for actions is amazing

3. Run Locally or against Selenium Instance


Earlier we have seen BITE - Browser Integration Test Environment - File Bugs from Browser Level

We Can Simplifying Manual Web Test Process by using
  • Selenium Builder to Records your exploratory tests and replay it for every build
  • Any error encountered File Bugs using BITE
  • Filing bugs is simpler, lot of details attached with bugs filed using BITE and reduces bug logging time
Selenium IDE + Selenium Builder + BITE are powerful set tools for web testers and also right set of tools to get started with automation

Happy Re-Learning!!!

February 19, 2013

Web Test Automation Fundas - One Liners

Below notes are based on my personal learning's from project's I have worked on. This presentation from Bindu - Design Patterns in Automation Testing is the inspiration for this post.

Learning Tip #1 - Page Object - Create Class for Each Page in a website. Ex- HomePage, SearchPage Each Page will have a class on its own. These classes will have methods to simulate the functionality. All example posts on Developing Automation Framework in my blog is based on Page Object pattern

Learning Tip #2 - Factory Pattern - You will still have a single class for each page in your website. When you support multiple locales Factory Pattern is useful to simulate the method based on the locale specified in Test Run. Please refer this earlier post on Data Driven Testing and Design patterns. Example for Factory Pattern is provided in the example

Learning Tip #3 - Data Driven Testing - Running the same test for different Data Sets. Basically Automation Framework should be configurable to run against dynamic data sets (not limited to fixed data sets). Although this is a continuous challenge but this is achievable

Learning Tip #4 - Validation Procedures - Validating data need to be performed using independent Service Calls / DB Queries / Prepared Expected Results output. Use of XML to read configurable parameters, storing DB queries of different DB platforms (DB2, MSSQL, MYSQL..) would help to dynamically fetch queries based on the platform tests are executed


More Reads http://code.google.com/p/selenium/wiki/DesignPatterns


Happy Re-Learning!!!

February 12, 2013

Database Internals [Good Reads]

Please download and read white paper 'OLTP Through the Looking Glass, and What We Found There'

The whitepaper provides more details on current architecture of OLTP RDBMS Systems. I can closely relate it with MSSQL Server. It covers the key architecture details. The Paper evaluates options by eliminating some of the features based on current hardware systems and demonstrates significant performance gains
 
At a beginner level some of architecture keywords / concepts good to learn are
  • WAL (Write Ahead Logging)
  • Log Manager
  • Buffer Manager
  • Two Phase Locking
  • Concurrency 
  • Eventual Consistency
  • Transaction Manager
I am posting some relavant simple explanations of the same based on MSDN documentation. WAL -
 
Write Ahead Logging (Source - Link)
 
 
Buffer Manager - Page is fetched to main memory through Buffer Manager (Source - Link)
  

Two Phase Locking - A detailed note of how transaction is executed from Brent Ozar Post
 
Concurrency Control - Governed by Isolation levels, Earlier discussed in same blog
 
Log Manager - Manages Logging, WAL
 
Eventual Consistency - Over a period of time the data will be consitent across different nodes (databases) distributed over network. Read More @ Consistency models in nonrelational dbs 
 
 
More Reads  
 
Happy Reading!!! 

January 26, 2013

Good Tech Talk - Making Better Software - QA & DEV

Today I checked this tech talk. This is very very good. **MUST VIEW** for passionate DEV / QA / IT Pro. Complete Tech Talk is inspiring, offers a lot of improvement ideas
 

Between 24:31 to 30:52 minutes

Very Good Joel talk on test skills, testing competency and also covers **Agile QA**
 
Summary of QA Talk
  • Benefits of Having QA in a Team
  • Benefits of Rapid Feedback between Dev & QA
  • Tools for testing + Functional testing both are critical
Between 32:34 to 34:37 minutes
  • How Writing code vs Developing a Great product differs?
Between 44:18 to 48:54
  • Intrinsic and Extrinsic motivation
  • Intrinsic Motivation matters!!
 
Hope you enjoyed the tech talk. Happy Listening!!!

January 06, 2013

Good GTAC Testing Talks


GTAC 2011: The Latest in Google Test Tools

Tools covered in the session are BITE and Quality Bots

BITE - Browser Integrated Test Environment
  • Record Browser Actions, File Bugs Automatically without switching from your browser, Replay Recorded Actions
  • BITE is available as a Chrome Extension 
  • Records User Actions @ Browser Level
  • Track Actions while finding UI bugs during Exploratory Testing  
  • Bug Filing from Browser itself
  • Include Screenshots, Repro Steps while filing bug
Quality Bots - Automated Layout Issues Detection in Chrome browsers

With the Tools Implemented QA Cycle works as below
  • Run Quality bots to detect layout issues
  • Allow exploratory testing for Manual testers and capture test steps, screen shots, related data using BITE chrome extensions for bugs identified
  • Automated Bug Filing using BITE from browser itself
Tools + Exploratory Testing with test steps captured makes it easier to reproduce bugs

More Interesting Reads

Happy Learning!!!
  

December 29, 2012

2012 Big Data Interesting Milestones

2012 was a fantastic year in terms of Big Data and Cloud Adoption. Massive Big Data focus and Products focussed on Big Data Analytics. Fortunately the world did not end as per Mayan Prediction.
 
How Traditional Players catch up in Big Data Space
  • Traditional RDBMS Vendors MSSQL, ORACLE offering their own NOSQL Solutions, Hadoop Connectors to leverage the power of Hadoop and enhance their BI offerings
  • IBM BigInsights Hadoop based Analytics Platform, Informatica and Microstrategy enhanced their Big Data Capabilities this year by providing integration with Hadoop Ecosystem
  • Acquire Hadoop based Startups to catch up with Big Analytics
Real Time Analytics Trend in 2012 
  • Cloudera launched Impala platform to provide Real Time Analytics
  • Real Time Analytics based on Twitter Storm
Big Data Fifth Elephant Conference provided good insight on Big Data Use Cases and Adoption rates

Big Data Products
Indian Startups Working on Big Data / Leveraging Hadoop Ecosystem for Analytics
  • Inmobi
  • Qubole
  • Flipkart
2013 Focus 
Interesting Big Data Reads

Inspiring Tweet to end the post



Happy Learning!!!

  

December 09, 2012

Python Basics

Two Coursera classes (An Introduction to Interactive Programming in Python, Learn to Program: The Fundamentals) provide very good python beginner learning materials.
 
Quick Summary and Python Notes
Basic Examples and beginner notes posted based on course notes. All Code can be tried in CodeSkulptor.  There are a few syntax differences but this is similar to C programming language.
 
Example1 - Arithmetic Expressions
  • Basic Arithmetic Expressions
  • Variables, Assignments, Sample Exercise in link
All Scripts can be run in FireFox / Chrome in CodeSkulptor (Not in IE)

 
 
Example 2 - Working with Functions
Built In functions - max, abs
 
Example 3 - Custom Functions
  • Example function to sum up two numbers
 
 
Example 4 - If Statement - Conditons , Else If and Else Operator
 
 
 
Example 5 - For Loop - Iteration
 
 
 
 
Example 6 - While Loop iteration
 
 
 
Happy Learning!!!

November 16, 2012

Big Data Trends

Excellent Presentation on Big Data Trends..






Happy Reading!!!

October 28, 2012

Hadoop Single Server Setup on Ubuntu


In continuation with previous post we will install java, hadoop, configure map reduce jobs on ubuntu. The step by step details are based on details provided in link.

Many thanks to Arun and Pragalathan for helping me learn linux :)

Step 1 - Installing JDK



Step 2 - Create Hadoop Group


Step 3 - Create hduser


Step 4 - Add sshkey


Step 5 - Enable SSH


Step 6 - Install SSH (Had some issues so reinstalled it)

Step 7 - ssh to localhost

 
 
Step 8 - Disable IPV6 (Modify the entries based on steps provided in link)



Step 9 - Download Hadoop


Step 10 - Move it to Hadoop folder


Step 11 - Make permission owner hduser

Step 12 - bashrc changes


Step 13 - Check Java and Hadoop Home Path


Step 14 - Hadoop env changes


Step 15 - Modify custom xml files in below folder


Step 16 - Start Service

Step 17 - Copy files for working example


Step 18 - Hadoop file system details


Step 19 - Copy Files to Hadoop File System

 
Step 20 - List uploaded files


Step 21 - Run wordcount example jar


Step 22 - Check results output file


Happy Learning!!!

Ubuntu Installation - Part I

Guideline for setup is based on Steps provided in link

Setting it on Ubuntu desktop, step by step details with Snapshot. Download installer from link
Step 1 – Installing Ubuntu


Step 2 – Ubuntu Installation

 
Step 3 – Drive to Install


Step 4 – Provide Credentials


Step 5 – Configure Network

Follow the next steps and complete installation and logon to system.

Happy Learning!!!

October 08, 2012

Interesting Post - Learn to Code (Startup Tips)

This post is to highlight few lines from Post on Learning to Code. If you have plans to do a startup it is useful and advantageous if you know to write code, passion for technology.



Happy Learning!!!

October 07, 2012

Algorithms Course Notes - Part II

Algorithms Course Notes from Coursera

Binary Search Trees
  • Binary Tree in Symmetric order (Nodes - Contain info, two links)
  • Each node has left and right tree, both can be null
  • Every Node Key Larger than keys in left sub tree
  • Every Node key smaller than keys in right sub tree
  • Inserts - Find a null link by search eligible position and insert it there
B Trees
  • General Model for external storage
  • Internal node key guide search
  • External node has client key
  • Insert at Bottom null node
  • If Nodes are full it will split to allow insert
  • Variants of BTree is used in DBs (B+ Tree, B* Tree)
RBT - Red Black Tree Tracks every simple path from a node to a descendant node with same number of black nodes
Red Black Trees
  • Internal Left Leaning links to glue 3 nodes
  • No Nodes have two red links connected
  • Every path from root to null link has same number of black links
  • Use a flag color to denote red or black link in implementation
Heap Sort
  • Largest of all keys is the root
Reposting Important Summary Slides

Happy Learning!!!