--- layout: gh_pages_wikistyle title: Resume permalink: /resume/ ---
Citizenship: Russian Federation
Age: 29
Status: married
Spoken languages: Russian (native), English (fluent)
Address: 190000, Russia, St. Petersburg, Kadetskaya liniya, 7/2, 29
Tel. mobile: +7 (901) 314 44 33
E-mail<EMAIL_ADDRESS>Theory of electromagnetic wave scattering by non-spherical particles of size comparable with the wavelength. Numerical modeling, software development, performing large scale computations, data analysis and visualisation.
Ph.D., Physics and Mathematics, November 2007
Saint-Petersburg State University, faculty of Physics
Thesis: The Light Scattering by Non-spherical Particles Computation Methods Using the Spherical Basis
Adviser: Prof. V. G. Farafonov
Committee: Prof. I. V. Komarov, Prof. S. Y. Slavyanov
Spec. No.: 05.13.18
Specialist, Applied Mathematics, June 2004
Saint-Petersburg State University, faculty of Applied Mathematics and Control Processes
Thesis: Solution of the Assignment Problem with Incentive Compatibility Condition
Adviser: Prof. N. A. Zenkevich
Senior Scientist
Pulkovo Astronomical Observatory of the Russian Academy of Sciences
Participation in the development of the model of cosmic dust.
Senior Scientist
State University of Aerospace Instrumentation, dept. of Applied Mathematics
Development and analysis of numerical methods for solving the problem of light scattering by non-spherical particles with homogeneous and inhomogeneous structure. Managing development of the methods’ implementations within ScattPy framework.
Associate Professor
State University of Aerospace Instrumentation, dept. of Applied Mathematics
Reading lectures on Game Theory, Probability Theory, Mathematical Statistics, Mathematical Logic, Complex Analysis.
Junior Scientist
State University of Aerospace Instrumentation, dept. of Applied Mathematics
Development and analysis of the numerical methods of modelling light scattering by non-spherical particles that use expansions of fields in terms of spherical wave functions. Implementing methods with FORTRAN, numerical and analytical analysis of their applicability ranges.
Assistant Professor
State University of Aerospace Instrumentation, dept. of Applied Mathematics
Reading lectures on Game Theory, Probability Theory; seminars on Mathematical Logic, Complex Analysis, Numerical Methods, Linear Programming.
Grant RFBR 07-02-00831, member
Title: Development of modern model of cosmic dust
Leader: N. V. Voshchinnikov
My contributions:
1. A separation of variables method based on expansions of the electromagnetic fields in terms of spherical wave functions is extended at the case of nonspherical (axisymmetric) particles with a large number of layers. The numerical code for calculations of the optical properties of multilayered nonspherical scatterers was developed and tested.
2. A detailed analysis of the basic optical properties of nonspherical inhomogeneous particles of various shape and structure was completed. The results are collected in the original graphic library free available via Internet.
Grant RFBR 10-02-00593, member
Title: Evolution of dust, gas and magnetic fields in the interstellar medium
Leader: N. V. Voshchinnikov
My contributions:
A separation of variables method using special scalar potentials and their expansions in terms of the spherical functions is developed to solve the problem of light scattering for multilayered particles of any axisymmetric shape. For radiation passing through a polydisperse medium containing partly aligned porous nonspherical scatterers, a strong dependence of the linear polarization degree on particle structure is revealed.
ScattPy, project leader, developer
Title: An open source Python package for the light scattering computations.
Site: http://scattpy.github.com
Project description:
ScattPy is a Python package for computing optical properties of non-spherical particles. It gives a user friendly flexible framework that takes advantage of programming with the modern language supported by the abundant library of scientific packages. The framework is designed to include the methods and interfaces to third-party codes required to treat scatterers of different shape and structure.
Journal Papers
A. A. Vinokurov, V. B. Il’in, and V. G. Farafonov. Scattpy: a new python package for light scattering computations. J. Quant. Spectr. Rad. Transf., In Press (accepted), 2011.
A. A. Vinokurov, V. B. Il’in, and V. G. Farafonov. On optical properties of nonspherical inhomogeneous particles. Opt. Spectr., 109:444–453, 2010.
V. G. Farafonov, V. B. Il’in, and A. A. Vinokurov. Near-and far-field light scattering by nonspherical particles: Applicability of methods that involve a spherical basis. Opt. Spectr., 109:432–443, 2010.
A. A. Vinokurov, V. G. Farafonov, and V. B. Il’in. Separation of variables method for multilayered nonspherical particles. J. Quant. Spectr. Rad. Transf., 110:1356–1368, 2009.
V. G. Farafonov, V. B. Il’in, A. A. Vinokurov, and E. V. Farafonov. Unified approach to the solution of the problem of light scattering by non-spherical particles using spherical wave functions. Uspehi Sovr. Radioel., (6):11–28, 2008.
V. G. Farafonov and A. A. Vinokurov. Light scattering by multilayered axisymmetric particles: Solution of the problem by the separation of variables method. Opt. Spectr., 105(2):292–305, 2008.
V. G. Farafonov, V. B. Il’in, and A. A. Vinokurov. On use of the field expansions in terms of spheroidal functions. J. Quant. Spectr. Rad. Transf., 106:33–43, 2007.
V. G. Farafonov, A. A. Vinokurov, and V. B. Il’in. Comparison of the light scattering methods using the spherical basis. Opt. Spectrosc., 102:927–938, 2007.
Books
Submitted Papers
V. G. Farafonov, V. B. Il’in, A. A. Vinokurov, and S. V. Barkanov. Light scattering by small axisymmetric particles: generalization of the separation of variables method with the spherical basis. J. Opt. Technol., Submitted, 2011.
V. G. Farafonov, V. B. Il’in, and A. A. Vinokurov. Light scattering by axisymmetric particles: the separation of variables method with spherical basis. In V. P. Veiko and T. A. Vartanyan, editors, Fundamentals of Laser Assisted Micro- and Nanotechnologies. SPIE Proceedings, 2011. Submitted.
Presented Conference Reports
A. A. Vinokurov, V. B. Il’in, and V. G. Farafonov. A python library for computing light scattering by multilayered non-spherical particles. In Peer-reviewed abstracts of the conference on Electromagnetic and Light Scattering XII, Helsinki, Finland, 2010. Oral presentation.
V. B. Il’in, V. G. Farafonov, and A. A. Vinokurov. Theoretical and computational aspects of the svm, ebcm, and pmm methods in light scattering by small particles. In Peer-reviewed abstracts of the conference on Electromagnetic and Light Scattering XII, Helsinki, Finland, 2010. Invited talk.
M. S. Prokopjeva, V. B. Il’in, V. G. Farafonov, and A. A. Vinokurov. Polarizing efficiency of nonspherical scatterers of different structure. In Peer-reviewed abstracts of the conference on Electromagnetic and Light Scattering XII, Helsinki, Finland, 2010. Poster.
V. G. Farafonov, V. B. Il’in, and A. A. Vinokurov. Light scattering by nonspherical particles. In Abstracts of the Int. Conf. Fundamentals of Laser Assisted Micro- & Nanotechnologies, St. Petersburg, Russia, 2010. Invited talk.
V. G. Farafonov, V. B. Il’in, and A. A. Vinokurov. Generalized solution to the light scattering problem for axisymmetric particles. In Abstracts of the Int. Conf. Days on Diffraction, St. Petersburg, Russia, 2010. Poster.
V. B. Il’in, N Zavyalov, V. G. Farafonov, A. A. Vinokurov, and M. S. Proopjeva. New approach to light scattering problem solution using field expansions in terms of wave functions. In Abstracts of the Int. Conf. Fundamentals of Laser Assisted Micro- & Nanotechnologies, St. Petersburg, Russia, 2009. Poster.
A. A. Vinokurov and E. V. Farafonov. Solution of light scattering problem for layered nonspherical particles. In Abstracts of the Days on Diffraction Conference (DD’2008), pages 93–94, St.Petersburg, Russia, 2008. Oral presentation.
A. A. Vinokurov, V. G. Farafonov, and V. B. Il’in. Separation of variables method for multilayered particles. In Peer-Reviewed Abstracts of the 11th Conference on Electromagnetic & Light Scattering (ELS-XI), pages 105–109, London, UK, 2008. Oral resentation.
V. G. Farafonov, E. V. Farafonov, V. B. Il’in, and A. A. Vinokurov. Unified approach to the methods using single field expansions. In Peer-Reviewed Abstracts of the 11th Conference on Electromagnetic & Light Scattering (ELS-XI), pages 13–17, London, UK, 2008. Poster.
V. G. Farafonov, V. B. Il’in, and A. A. Vinokurov. New life of mie’s approach with other bases, potentials, methods, etc. In Abstracts of the Mie Theory 1908–2008 Conference, pages 105–106, Halle, Germany, 2008. Poster.
A. A. Vinokurov, V. G. Farafonov, and V. B. Il’in. Comparison of LS methods using single expansions of fields. In Peer-Reviewed Abstracts of the 10th Conference on Electromagnetic & Light Scattering (ELS-X), pages 229–233, Bodrum, Turkey, 2007. Oral presentation.
A. A. Vinokurov. Comparison of the applicability ranges of the ebcm, pmm and svm methods using spherical basis. In Abstracts of the Ecology and Space conference, pages 14–15, St. Petersburg, Russia, 2007. Oral presentation.
A. A. Vinokurov. Analysis of applicability ranges of exact light scattering methods using spherical basis. In Abstracts of the Days on Diffraction Conference (DD’2007), pages 93–94, St.Petersburg, Russia, 2007. Oral presentation.
Programming languages
FORTRAN77/90, Python, Perl, LaTeX
Also familiar with C, C++, C#.
Scientific tools
Python with SciPy (alternative to Matlab), Matplotlib (Python visualization package)
Developement environments
Linux, version control systems (CVS, SVN, Git)
Developement methodologies
Waterfall developement process, Test driven developement process
Senior QA Engineer
BridgeQuest Inc.
Development and maintenance of an automated GUI testing framework for a database replication software project.
QA Manager/QA Engineer
DataArt Inc.
Managing Quality Assurance (QA) efforts in outsource software development projects, coordination with customers. Coordination of work in distributed QA teams. Development of the QA documentation (Test Plan, Test Suites, Use Cases). Development of automated tests and testing frameworks. Running functional, performance, regression tests in automated and manual modes, presenting testing reports.
Freelance web developer
Development of commercial web sites for several companies.


Seafood (special) Menu
Salmon with lemon.
Salmon with Garlic Lemon Butter Sauce is one of the tastiest, easiest salmon recipes you’ll ever try! Tender salmon fillets are pan seared until perfectly golden brown then covered in a simple, vibrant and rich lemon butter sauce.
Gilled ocutopus with eggplant.
In a large pot, place the octopus along with the wine, peppercorns, 1 lemon cut in half, cork, and garlic. Cover with water by 1 inch and bring to a boil over medium high heat. Reduce the heat to a simmer, and cook the octopus until it is tender when pierced with a sharp knife.
Fried pomfret with veggies.
Crispy Pomfret is an excellent dinner dish. When cooked low to medium heat to achieve the crispiest results, the side bones turn so crispy that you can eat them like chips -- definitely a good source of calcium
Prawn White Curry.
Goan prawn curry has prawns cooked in coconut milk with a spicy gravy made of turmeric, black pepper, vinegar and coconut.
Red sauce Crab Curry.
This recipe for Indian crab curry minimizes the curry flavor so that the crab is the focus of the dish. Try serving this curry with plain boiled rice and plenty of gravy. To lighten the dish, reduce the amount of gravy by adding less water.


PAGE ID
Balinese tomcat egyptian mau
Cat ipsum dolor sit amet, turkish angora maine coon jaguar so himalayan. Donskoy kitty. Cornish rex sphynx mouser. Bobcat turkish angora jaguar donskoy maine coon tabby burmese. Thai leopard. Grimalkin himalayan so bengal. Singapura bobcat and siberian and egyptian mau for russian blue. Jaguar malkin yet russian blue devonshire rex so panther. Himalayan bombay savannah yet cornish rex puma, scottish fold. Grimalkin siberian yet jaguar, or leopard yet american bobtail. Havana brown savannah but donskoy..


Crossplatform Desktop application, that looks and feels and works the same way on Windows, Linux and MacOS. Even though Most of the business have migrated to the web and mobile apps, desktop apps have still got the way in bringing meaning to business.
Run your business with Mobile resposive websites on the go. Leverage on the power of mobile with native mobile apps, hybrid web apps or progressive web apps on your Android or iOS devices
Provide the data to power your Klowd, with analytical reports visualize your target, progress, strengths and shortcomings. We aim to help you at each and every step of the way in your business with our valuable insights derived from your data.
Email<EMAIL_ADDRESS>Mobile : +91-8667668437


1. Most Successful Indian Captain
India had players like Sunil Gavaskar and Sachin Tendulkar, who broke all the records in terms of batting, but they couldn’t add the same sugar in their captaincy. The one man who won most Test Matches for India as a captain was Mahendra Singh Dhoni. He captained India in 60 Test Matches and won 27, most by any Indian captain. He lost 18 Test Matches, which were second highest after Nawab Pataudi’s 19 losses. During his captaincy, India won 21 out of 27 Test Matches at home soil, most by an Indian Captain.
2. Most Runs as an Indian Captain
As a player, he is way down in the list of most Test Runs by Indian players, but as an Indian Skipper, he sits on top. He has scored 3,454 runs in 60 Test Matches as Indian Captain, more than anyone else.
3. Highest Number of Matches as an Indian Wicket-Keeper
Even though India had quite a few specialist wicket-keepers in past, but no one could last as long as Dhoni. Mahi stood behind wickets in 90 Tests, more than any other Indian wicket-keeper.
4. Highest Individual Score by an Indian Captain
The world had seen the likes of Adam Gilchrist, Kumar Sangakkara and Moin Khan in the previous decade, but they could never surpass Dhoni’s score of 224 in Test Matches as a wicket-keeper batsmen that came against Australia in Chennai in 2012. The knock comprised 6 sixes and 24 fours and spanned 265 balls.
5. Most Dismissals by an Indian Wicket-Keeper
He is the most successful Indian wicket-keeper; both in ODIs and Test matches. In Test, his dismissals amount up to 294, which consist of 256 catches and 38 stumping.


Platform
- All platforms that support HTML
Technology
- HTML
Summary
It makes label (name) conveyed by non-text content accessible through the use of a text alternative. Text alternatives are a primary way for making information accessible because they can be rendered through any sensory modality (for example, visual, auditory or tactile) to match the needs of the user. Providing text alternatives allows the information to be rendered in a variety of ways by a variety of user agents. In the future, text alternatives will also allow information to be more easily translated into sign language or into a simpler form of the same language.
How it solves user need
- People using screen readers: The text alternative can be read aloud or rendered as Braille
- People using speech input software: Users can put the focus onto a button or linked image with a single voice command
- People browsing speech-enabled websites: The text alternative can be read aloud
- Mobile web users: Images can be turned off, especially for data-roaming
- Search engine optimization: Images become indexable by search engines


NearGYM
Gyms
About
Blog
More...
Filter by name, country, type, price:
Gym name:
Country:
United States
United Kingdom
Colombia
Spain
Germany
Type:
Big box gyms
Personal training gyms
Women’s gyms
CrossFit gyms
Powerlifting gyms
Price:
0£-20£
20£-50£
50£-100£
100£ +
Search
clear filters
Search Result Found 8 GYM(S).
Name:GYM
Name:GYM
Name:GYM
Name:GYM
Name:GYM
Name:GYM
Name:GYM
Name:GYM


Dears,
The support team inform you that your application with service Id: has created a ticket with a severity
.
Please find below all the details related to the ticket:
- Error code:
- Ticket details:
We kindly ask you to take the necessary actions as you are part of the informing mail list of this ticket type.
Kind regards,
The Support team


See our accomodation facilities in pictures
Interested to see our Rooms?
checkout our island here in pictures
You want to travel with us? see our destinations here
See our activities here


Category: Pizza Restaurant
Data: 15/09/2020
Proper marketing can bring in more customers, but it also can be costly. To start an effective marketing campaign, you'll need to balance the cost with the return on investment. Think about your customer base and what types of marketing might appeal to them. The more buzz you can create about your pizza, the more pies you'll sell.
Category: Fast-Food Restaurant
Data: 12/02/2021
A fast-food restaurant relies on a high volume of repeat business. To effectively market such a business requires quick delivery of a competitively priced product and the ability to serve customers in a timely and friendly manner. If your fast-food business is part of a franchise, you should be able to take advantage of group or co-op advertising to market your restaurant.
Category: Fast-Food Restaurant
Data: 05/03/2021
Whether you offer the tastiest donuts in the county, or the freshest coffee in town, your community needs to know about it. This is made possible through advertising. Television, newspaper and radio advertising can outstretch your budget more than you would like. Fortunately, thanks to the evolution of the Internet and social media you can now reach out to potential customers in a variety of inexpensive ways.
Category: Pizza Restaurant
Data: 23/04/2021
Your restaurant may have the best pizza this side of the Mississippi. Unfortunately, customers won't know it until you get them in the door. If you want to bring in more local customers, try connecting with other small businesses. Attend community business meetings and look for opportunities to cross-promote with other successful businesses.
Category: Clasic Restaurant
Data: 18/05/2021
Although a passion for food might lead you into the restaurant business, that alone won't make for a successful business. The number restaurants in the United States has seen a decline in recent years, but the New York Times reports that over 550,000 restaurants were operating in 2010. If you want to turn a profit and stand out from the crowd, you'll need to appeal to a specific demographic through selective advertising techniques and a favorable location.
Category: Clasic Restaurant
Data: 09/07/2021
Grassroots marketing campaigns rely on unconventional advertising methods that reach potential consumers on a personal level. Instead of relying on traditional media channels, the business goes directly to the customers to get their attention and encourages word-of-mouth to expand the client base. As a restaurant owner, becoming involved in the community and making patrons feel connected to the restaurant plays into the grassroots campaign.


| Class | MySpace::MySpaceContext |
| In: |
myspace/context/MySpaceContext.rb
|
| Parent: | Object |
| APPLICATION_TYPE_ONSITE | = | 'onsite' unless const_defined?('APPLICATION_TYPE_ONSITE') | ||
| APPLICATION_TYPE_OFFSITE | = | 'offsite' unless const_defined?('APPLICATION_TYPE_OFFSITE') | ||
| OAUTH_SITES | = | { :prod => 'http://api.myspace.com', :stage => 'http://stage-api.myspace.com', # :prod => '', # :stage => '', } unless const_defined?('OAUTH_SITES') | ||
| OAUTH_REQUEST_TOKEN_URL | = | '/request_token' unless const_defined?('OAUTH_REQUEST_TOKEN_URL') | ||
| OAUTH_AUTHORIZATION_URL | = | '/authorize' unless const_defined?('OAUTH_AUTHORIZATION_URL') | ||
| OAUTH_ACCESS_TOKEN_URL | = | '/access_token' unless const_defined?('OAUTH_ACCESS_TOKEN_URL') | ||
| TIMEOUT_SECS | = |<PHONE_NUMBER>13 unless const_defined?('TIMEOUT_SECS') | tests regularly timeout at 2 seconds | |
| ID_REGEXP | = | /[0-9]+/ unless const_defined?('ID_REGEXP') | ||
| PERSON_ID_REGEXP | = | /@me|[0-9]/ unless const_defined?('PERSON_ID_REGEXP') | ||
| ALBUM_ID_REGEXP | = | /myspace.com.album.[0-9]|[0-9]/ unless const_defined?('ALBUM_ID_REGEXP') | ||
| SELECTOR | = | /@self|@friends/ unless const_defined?('SELECTOR') |
| access_token | [RW] | |
| consumer | [R] | |
| http_logger | [RW] | |
| request_token | [RW] |
Save the application key/secret(s) and initialize OAuth code.
If optional param +:application_type+ is passed, it must be one of +MySpace::APPLICATION_TYPE_ONSITE+ or +MySpace::APPLICATION_TYPE_OFFSITE+. If the application is an onsite application, an access token is not required, since the user must separately give your application permission to access their data. If the application is an offsite application, it must get an access token from the user to access their data.
If optional param +:request_token+ is passed +:request_token_secret+ must also be passed, and they will be used to create the default argument to +MySpace#get_access_token+ below. If optional param +:access_token+ is passed, +:access_token_secret+ must also be passed, and they will be used to create the access token for the REST API calls.
If optional param +:site+ is passed, it must be either +:prod+ or +:stage+, and MySpace OAuth calls will be directed to either the production or stage API server accordingly.


This is a follow-up post of my tutorial on Hand Gesture Recognition using OpenCV and Python. Please read the first part of the tutorial here and then come back.
In the previous tutorial, we have used Background Subtraction, Motion Detection and Thresholding to segment our hand region from a live video sequence. In this tutorial, we will take one step further to recognize the fingers as well as predict the number of fingers (count) in the live video sequence.
Note: This tutorial assumes that you have knowledge in using OpenCV, Python, NumPy and some basics of Computer Vision and Image Processing. If you need to setup environment on your system, please follow the instructions posted here and here.
Count My Fingers
Having segmented the hand region from the live video sequence, we will make our system to count the fingers that are shown via a camera/webcam. We cannot use any template (provided by OpenCV) that is available to perform this, as it is indeed a challenging problem.
The entire code from my previous tutorial (Hand Gesture Recognition-Part 1) can be seen here for reference. Note that, we have used the concept of Background Subtraction, Motion Detection and Thresholding to segment the hand region from a live video sequence.
We have obtained the segmented hand region by assuming it as the largest contour (i.e. contour with the maximum area) in the frame. If you bring in some large object inside this frame which is larger than your hand, then this algorithm fails. So, you must make sure that your hand occupies the majority of the region in the frame.
We will use the segmented hand region which was obtained in the variable hand. Remember, this hand variable is a tuple having thresholded (thresholded image) and segmented (segmented hand region). We are going to utilize these two variables to count the fingers shown. How are we going to do that?
There are various approaches that could be used to count the fingers, but we are going to see one such approach in this tutorial. This is a faster approach to perform hand gesture recognition as proposed by Malima et.al. The methodology to count the fingers (as proposed by Malima et.al) is shown in the figure below.
As you can see from the above image, there are four intermediate steps to count the fingers, given a segmented hand region. All these steps are shown with a corresponding output image (shown in the left) which we get, after performing that particular step.
Four Intermediate Steps
- Find the convex hull of the segmented hand region (which is a contour) and compute the most extreme points in the convex hull (Extreme Top, Extreme Bottom, Extreme Left, Extreme Right).
- Find the center of palm using these extremes points in the convex hull.
- Using the palm’s center, construct a circle with the maximum Euclidean Distance (between the palm’s center and the extreme points) as radius.
- Perform bitwise AND operation between the thresholded hand image (frame) and the circular ROI (mask). This reveals the finger slices, which could further be used to calcualate the number of fingers shown.
Below you could see the entire function used to perform the above four steps.
- Input - thresholded (thresholded image) and segmented (segmented hand region or contour)
- Output - count (Number of fingers).
recognize.pycode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#--------------------------------------------------------------
# To count the number of fingers in the segmented hand region
#--------------------------------------------------------------
def count(thresholded, segmented):
# find the convex hull of the segmented hand region
chull = cv2.convexHull(segmented)
# find the most extreme points in the convex hull
extreme_top = tuple(chull[chull[:, :, 1].argmin()][0])
extreme_bottom = tuple(chull[chull[:, :, 1].argmax()][0])
extreme_left = tuple(chull[chull[:, :, 0].argmin()][0])
extreme_right = tuple(chull[chull[:, :, 0].argmax()][0])
# find the center of the palm
cX = int((extreme_left[0] + extreme_right[0]) / 2)
cY = int((extreme_top[1] + extreme_bottom[1]) / 2)
# find the maximum euclidean distance between the center of the palm
# and the most extreme points of the convex hull
distance = pairwise.euclidean_distances([(cX, cY)], Y=[extreme_left, extreme_right, extreme_top, extreme_bottom])[0]
maximum_distance = distance[distance.argmax()]
# calculate the radius of the circle with 80% of the max euclidean distance obtained
radius = int(0.8 * maximum_distance)
# find the circumference of the circle
circumference = (2 * np.pi * radius)
# take out the circular region of interest which has
# the palm and the fingers
circular_roi = np.zeros(thresholded.shape[:2], dtype="uint8")
# draw the circular ROI
cv2.circle(circular_roi, (cX, cY), radius, 255, 1)
# take bit-wise AND between thresholded hand using the circular ROI as the mask
# which gives the cuts obtained using mask on the thresholded hand image
circular_roi = cv2.bitwise_and(thresholded, thresholded, mask=circular_roi)
# compute the contours in the circular ROI
(_, cnts, _) = cv2.findContours(circular_roi.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
# initalize the finger count
count = 0
# loop through the contours found
for c in cnts:
# compute the bounding box of the contour
(x, y, w, h) = cv2.boundingRect(c)
# increment the count of fingers only if -
# 1. The contour region is not the wrist (bottom area)
# 2. The number of points along the contour does not exceed
# 25% of the circumference of the circular ROI
if ((cY + (cY * 0.25)) > (y + h)) and ((circumference * 0.25) > c.shape[0]):
count += 1
return count
Each of the intermediate step requires some understanding of image processing fundamentals such as Contours, Bitwise-AND, Euclidean Distance and Convex Hull.
Contours
The outline or the boundary of the object of interest. A contour is defined as the line that joins all the points along the boundary of an image that have the same intensity. cv2.findContours() function in OpenCV help us find contours in a binary image. If you pass a binary image to this function, it returns a list of all the contours in the image. Each of the elements in this list is a numpy array that represents the (x, y) coordinate of the boundary points of the contour (or the object).
Bitwise-AND
Performs bit-wise logical AND between two objects. You could visually think of this as using a mask and extracting the regions in an image that lie under this mask alone. OpenCV provides cv2.bitwise_and() function to perform this operation - Bitwise AND.
Euclidean Distance
This is the distance between two points given by the equation shown here. Scikit-learn provides a function called pairwise.euclidean_distances() to calculate the Euclidean distance from one point to multiple points in a single line of code - Pairwise Euclidean Distance. After that, we take the maximum of all these distances using NumPy’s argmax() function.
Convex Hull
You can think of convex hull as a dynamic, stretchable envelope that wraps around the object of interest. To read more about it, please visit this link.
Update: I thought of adding some more explanation to the algorithm and code. Let's understand this algorithm and code with an image (one frame) so that each step is clear for us.
Segmenting the hand
Let’s look at the following code snippet which is a python function that segments the hand region from the image (single frame).
recognize-image.pycode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#---------------------------------------------
# To segment the region of hand in the image
#---------------------------------------------
def segment(image, grayimage, threshold=75):
# threshold the image to get the foreground which is the hand
thresholded = cv2.threshold(grayimage, threshold, 255, cv2.THRESH_BINARY)[1]
print("Original image shape - " + str(image.shape))
print("Gray image shape - " + str(grayimage.shape))
# show the thresholded image
cv2.imshow("Thesholded", thresholded)
# get the contours in the thresholded image
(_, cnts, _) = cv2.findContours(thresholded.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# return None, if no contours detected
if len(cnts) == 0:
return
else:
# analyze the contours
print("Number of Contours found = " + str(len(cnts)))
cv2.drawContours(image, cnts, -1, (0, 255, 0), 3)
cv2.imshow('All Contours', image)
# based on contour area, get the maximum contour which is the hand
segmented = max(cnts, key=cv2.contourArea)
cv2.drawContours(image, segmented, -1, (0, 255, 0), 3)
cv2.imshow('Max Contour', image)
return (thresholded, segmented)
- Line 4 initializes the function with input color image image, input grayscale image grayimage and a threshold variable that we can tune based on the lighting conditions of our image or video.
- Line 6 thresholds the grayscale image with respect to the threshold that we have choosen. Anything above the threshold is transformed to white and anything below the threshold is transformed to black. You can read more on how to choose the threshold or what thresholding you should use here.
- Line 7 and 8 prints the original color image and input gray image shapes for our reference.
- Line 11 displays the thresholded image.
- Line 14 is where the magic happens. We pass the thresholded image thresholded to OpenCV’s cv2.findContours() function with some additional parameters that the function expects. This returns all the contours in the thresholded image. Notice how we unpack the return values.
- cnts is a list of all the contours in the thresholded image. Each element in this list is a numpy array that represents the (x, y) coordinate of the boundary points of the contour (or the object).
- Line 17 checks the length of contours found, and if its 0, it simply returns nothing.
- Line 21 prints the number of contours found.
- Line 22 draws all the contours found in the thresholded image using OpenCV’s cv2.drawContours() function.
- Line 23 displays all the contours present in the image.
- Line 26 finds the maximum contour in the image based on key cv2.contourArea. Here, we assume that our hand has the largest area in the image. If some object larger than our hand is found in the image, we need to handle this line of code.
- Line 27 draws the contour with maximum area which in our case is the hand.
- Line 28 displays the contour with maximum area in the image.
- Line 30 returns a tuple that has thresholded image and segmented contour (which is the hand).
Finding the count of fingers
Let’s look at the following code snippets which is inside a python function that is used to count the number of fingers in the image (single frame).
I have splitted the code snippet into smaller pieces so that we can understand this line by line. Make sure to check the complete function here.
Firstly, we pass the segmented contour which is a numpy array that contains all the boundary points (x,y) coordinates. To understand this, let’s print the type and shape of the segmented contour with first 5 boundary points inside it.
recognize-image.pycode
1
2
3
print("Type of Contour: " + str(type(segmented)))
print("Contour shape: " + str(segmented.shape))
print("First 5 points in contour: " + str(segmented[:5]))
1
2
3
4
5
6
7
8
9
10
Type of Contour: <class 'numpy.ndarray'>
Contour shape: (1196, 1, 2)
First 5 points in contour:
[
[[342 6]]
[[341 7]]
[[338 7]]
[[337 8]]
[[336 8]]
]
The next step is to find the extreme points in this contour. How? Here is another magic function in OpenCV - cv2.convexHull() which returns the farthest boundary points of a contour. To understand it clearly, let’s pass in our segmented contour to cv2.convexHull() function.
recognize-image.pycode
1
2
3
4
5
6
7
8
9
# find the convex hull of the segmented hand region
chull = cv2.convexHull(segmented)
print("Type of Convex hull: " + str(type(chull)))
print("Length of Convex hull: " + str(len(chull)))
print("Shape of Convex hull: " + str(chull.shape))
cv2.drawContours(image, [chull], -1, (0, 255, 0), 2)
cv2.imshow("Convex Hull", image)
1
2
3
Type of Convex hull: <class 'numpy.ndarray'>
Length of Convex hull: 30
Shape of Convex hull: (30, 1, 2)
For those of you new to python and numpy array, you can write a single line of code to find the extreme points after getting the convex hull. Concept of argmin() and argmax() is used to achieve this as shown below.
recognize-image.pycode
1
2
3
4
5
print(chull[:,:,1])
print(chull[:,:,1].argmin())
print(chull[chull[:,:,1].argmin()])
print(chull[chull[:,:,1].argmin()][0])
print(tuple(chull[chull[:,:,1].argmin()][0]))
1
2
3
Type of Convex hull: <class 'numpy.ndarray'>
Length of Convex hull: 30
Shape of Convex hull: (30, 1, 2)
Above code sample is used to find extreme right boundary point in the convex hull. To find the extreme right boundary point,
- We choose the x-axis column of the convex hull using chull[:, :, 0] where 0 indicates the first column.
- We then find the index of maximum number in x-axis column using chull[:, :, 0].argmax().
- We then use that max index to grab the boundary point (x, y) using chull[chull[:,:,1].argmin()].
- We then get the first indexed element and convert it to a tuple so that it doesn’t get changed as tuples are immutable using tuple(chull[chull[:,:,1].argmin()][0])
Similar one line of code is used to find all the extreme points of the convex hull as shown below.
recognize-image.pycode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# find the most extreme points in the convex hull
extreme_top = tuple(chull[chull[:, :, 1].argmin()][0])
extreme_bottom = tuple(chull[chull[:, :, 1].argmax()][0])
extreme_left = tuple(chull[chull[:, :, 0].argmin()][0])
extreme_right = tuple(chull[chull[:, :, 0].argmax()][0])
print("Extreme Top : " + str(extreme_top))
print("Extreme Bottom : " + str(extreme_bottom))
print("Extreme Left : " + str(extreme_left))
print("Extreme Right : " + str(extreme_right))
cv2.drawContours(image, [chull], -1, (0, 255, 0), 2)
cv2.circle(image, extreme_top, radius=5, color=(0,0,255), thickness=5)
cv2.circle(image, extreme_bottom, radius=5, color=(0,0,255), thickness=5)
cv2.circle(image, extreme_left, radius=5, color=(0,0,255), thickness=5)
cv2.circle(image, extreme_right, radius=5, color=(0,0,255), thickness=5)
cv2.imshow("Extreme Points in Convex Hull", image)
1
2
3
4
Extreme Top : (342, 6)
Extreme Bottom : (435, 548)
Extreme Left : (121, 160)
Extreme Right : (670, 322)
recognize-image.pycode
1
2
3
4
5
6
7
8
9
10
11
12
# find the center of the palm
cX = int((extreme_left[0] + extreme_right[0]) / 2)
cY = int((extreme_top[1] + extreme_bottom[1]) / 2)
print("Center point : " + str(tuple((cX,cY))))
cv2.drawContours(image, [chull], -1, (0, 255, 0), 2)
cv2.circle(image, (cX, cY), radius=5, color=(255,0,0), thickness=5)
cv2.circle(image, extreme_top, radius=5, color=(0,0,255), thickness=5)
cv2.circle(image, extreme_bottom, radius=5, color=(0,0,255), thickness=5)
cv2.circle(image, extreme_left, radius=5, color=(0,0,255), thickness=5)
cv2.circle(image, extreme_right, radius=5, color=(0,0,255), thickness=5)
cv2.imshow("Extreme Points in Convex Hull", image)
1
Center point : (395, 277)
Once we have the center point and extreme points, we need to find the euclidean distance from the center point to each of the extreme point. We do that in a single line of code using scikit-learn’s pairwise.euclidean_distances(). After this, we find the maximum distance with respect to each of the four euclidean distances and form a circumference with radius as 80% of the maximum distance.
recognize-image.pycode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# find the maximum euclidean distance between the center of the palm
# and the most extreme points of the convex hull
distances = pairwise.euclidean_distances([(cX, cY)], Y=[extreme_left, extreme_right, extreme_top, extreme_bottom])[0]
max_distance = distances[distances.argmax()]
# calculate the radius of the circle with 80% of the max euclidean distance obtained
radius = int(0.8 * max_distance)
# find the circumference of the circle
circumference = (2 * np.pi * radius)
print("Euclidean Distances : " + str(distances))
print("Max Euclidean Distance : " + str(max_distance))
print("Radius : " + str(radius))
print("Circumference : " + str(circumference))
1
2
3
4
Euclidean Distance : [297.93455657<PHONE_NUMBER>6<PHONE_NUMBER>3<PHONE_NUMBER>4]
Max Euclidean Distance :<PHONE_NUMBER>724124
Radius : 238
Circumference : 1495.3981031087415
Once we have the center of the convex hull, radius and circumference using the maximum distance, we then construct a numpy array filled with zeros called circular_roi using the thresholded image’s shape. We then draw a circle in this circular_roi with the center of convex hull as the center and radius calculated above.
Next magic in our pipeline is OpenCV’s cv2.bitwise_and() function which is a bitwise operation that you can read more about it here.
In simple terms, you have an image and a mask, and pass these to cv2.bitwise_and() function, the output will be the region where both image and mask had same intensity values. In our case, it displays the cuts in the fingers because we have used thresholded image and circular_roi as the mask.
recognize-image.pycode
1
2
3
4
5
6
7
8
9
10
11
12
13
# initialize circular_roi with same shape as thresholded image
circular_roi = np.zeros(thresholded.shape[:2], dtype="uint8")
print("Circular ROI shape : " + str(circular_roi.shape))
cv2.imshow("Thresholded", thresholded)
# draw the circular ROI with radius and center point of convex hull calculated above
cv2.circle(circular_roi, (cX, cY), radius, 255, 1)
cv2.imshow("Circular ROI Circle", circular_roi)
# take bit-wise AND between thresholded hand using the circular ROI as the mask
# which gives the cuts obtained using mask on the thresholded hand image
circular_roi = cv2.bitwise_and(thresholded, thresholded, mask=circular_roi)
cv2.imshow("Bitwise AND", circular_roi)
Now, we have a circular_roi which has the finger cuts obtained from the thresholded image. To calculate the count of the fingers, we need to exclude the wrist portion in the circular_roi so that we focus only on the fingers.
To achieve this, we make use of cv2.findContours() again to find all the contours in circular_roi.
To remove the wrist, we can sort contours based on area and leave the first contour (as it will be the wrist).
recognize-image.pycode
1
2
3
4
5
# compute the contours in the circular ROI
(_, cnts, _) = cv2.findContours(circular_roi.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
print("Number of Contours found = " + str(len(cnts)))
cv2.drawContours(image, cnts, -1, (0, 255, 0), 3)
cv2.imwrite("resources/count-contours.jpg", image)
Once we have the contours after bitwise-and done on circular_roi, we can easily find the count of fingers by two approaches.
Approach 1
By sorting the contours based on area, the first contour will obviously be the wrist. So, we can ignore it and find the length of the remaining contours which will be the count of fingers shown in the image.
recognize-image.pycode
1
2
cntsSorted = sorted(cnts, key=lambda x: cv2.contourArea(x))
print("Count of fingers : " + str(len(cntsSorted[1:])))
1
Count of fingers : 5
Approach 2
For each of the contour, we can find the bounding rectangle of the contour using cv2.boundingRect() function. This returns 4 numbers where (x,y) is the top-left coordinate of the rectangle and (w,h) is the width and height of the rectangle.
Check 1: To filter out the wrist area, we can use vertical (y) axis to check whether y + h of a contour is lesser than center point cY of the convex hull. Sometimes, the thumb of our hand is flexible i.e it can move horizontally or vertically. To compensate for this, we marginally increase the cY of the convex hull by a factor 0.25 i.e. we use cY + (cY * 0.25) to check against y + h. You can still tune this value based on your use case. For me, 0.25 was good to go!
Check 2: To filter out the wrist area even more, we could also use the perimeter of the circle (circumference). When we loop over the contour, we find that a single contour is a numpy array. Inside this numpy array, we have the boundary points that forms the contour. We can check whether the number of boundary points of a contour c.shape[0] lie within a limit. Again, I have chosen this limit as circumference * 0.25. You can still tune this value based on your use case. For me, 0.25 was good to go!
recognize-image.pycode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
count = 0
# loop through the contours found
for c in cnts:
print(type(c))
# compute the bounding box of the contour
(x, y, w, h) = cv2.boundingRect(c)
cv2.rectangle(image, (x,y), (x+w, y+h), (0,255,0), 2)
cv2.putText(image,'C' + str(i), (x,y), cv2.FONT_HERSHEY_SIMPLEX, 1,(255,255,255), 4)
# increment the count of fingers only if -
# 1. The contour region is not the wrist (bottom area)
# 2. The number of points along the contour does not exceed
# 25% of the circumference of the circular ROI
if ((cY + (cY * 0.25)) > (y + h)) and ((circumference * 0.25) > c.shape[0]):
count += 1
print("Count of fingers : " + str(len(cntsSorted[1:])))
cv2.imshow("Contours of fingers with box", image)
1
Count of fingers : 5
Figure 8 has all the intermediate steps that we have performed to build this pipeline. I have marked each of the intermediate step in different colors for clear understanding.
Results
You can download the entire code to perfom Hand Gesture Recognition here. Clone this repository using
Commandshell
1
git clone https://github.com/Gogul09/gesture-recognition.git
in a Terminal/Command prompt. Then, get into the folder and type
Commandshell
1
python recognize.py
Note: Do not shake your webcam during the calibration period of 30 frames. If shaken during the first 30 frames, the entire algorithm will not perform as we expect.
After that, you can bring in your hand into the bounding box, show gestures and the count of fingers will be displayed accordingly. I have included a demo of the entire pipeline below.
Summary
In this tutorial, we have learnt about recognizing hand gestures using Python and OpenCV. We have explored Background Subtraction, Thresholding, Segmentation, Contour Extraction, Convex Hull and Bitwise-AND operation on real-time video sequence. We have followed the methodology proposed by Malima et al. to quickly recognize hand gestures.
You could extend this idea by using the count of fingers to instruct a robot to perform some task like picking up an object, go forward, move backward etc. using Arduino or Raspberry Pi platforms. I have also made a simple demo for you by using the count of fingers to control a servo motor’s rotation here.
The entire algorithm assumes that the background is static i.e. the background does not change. If the background changes and new objects are brought into the frame, the algorithm will not perform well. Kindly let me know in the comments if there are ways to solve this limitation.
References
- How to Use Background Subtraction Methods
- Background Subtraction
- Pyimagesearch - Adrian Rosebrock
- A Fast Algorithm for Vision-based Hand Gesture Recognition For Robot Control
- Arduino
- Convex Hull using OpenCV in Python and C++
- Convex Hull - Set 1 (Jarvis’s Algorithm or Wrapping)
- Convex Hull - Brilliant
- ConvexHull Documentation: OpenCV Docs
- Euclidean Distance
- Bitwise Operations - OpenCV
- Find and Draw Contours using OpenCV - Python
- Image Thresholding
- Contour Features
In case if you found something useful to add to this article or you found a bug in the code or would like to improve some points mentioned, feel free to write it down in the comments. Hope you found something useful here.


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Imacan Management Centres
Legal Name:
Imacan Management Centres
Operating Name:
Canadian Management Centre
Mailing Address:
150 York St5th Floor
TORONTO, Ontario
M5H 3S5
Location Address:
150 York St5th Floor
TORONTO, Ontario
M5H 3S5
Tel.:<PHONE_NUMBER>
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
Canadian Management Centre is a leading provider of powerful, practical management and leadership training and development solutions which will inspire your leaders and your teams to outperform.
Since1963, Canadian Management Centres single-minded goal has been to deliver powerful and innovative training and development solutions for Canadian businesses and leaders who expect to outperform inspiring them, re-igniting their passion, mastering their expertise and helping them achieve the recognition they deserve.
A strategic affiliate of AMA International and Management Centre Europe, Canadian Management Centre was named by TrainingIndustry.com as a Top 20 Content Development Company three years running. And our offerings extend beyond 400 open-enrolment courses aimed at lifting up, engaging and retaining your most promising employees and managers, to the design, development and delivery of tailored programs, custom-fit for your businesses culture, budget, strategies and goals.
We pride ourselves on our flexible approach to partnering with our clients to develop a collaborative solution that is aligned with their unique needs. While we leverage best practices and our proven content, customizing our solutions involves a focused approach to ensure the concepts introduced in the program can truly come to life within your organization. Our experience proves that the programs with the greatest impact and traction are developed uniquely for a corporation. The less effort required by your people to translate their learning into their environment the greater the likelihood of learning transfer and behaviour change.
Some of the possibilities:
- A curriculum designed to improve performance and inspire employee development
- A program designed to focus on developing a specific skill or competency
- A leadership development solution customized to fit the needs of your business
Full profile
Full profile
Contact information
Company description
813910 - Business Associations
Product / Service / Licensing
U004-Scientific and Management Education
U005-Tuition, Registration, and Membership Fees
U008-Training/Curriculum Development
U009-Informatics Training
Sector information
Unique applications:
LoyaltyOne (formerly Loyalty Management Group Canada Inc.) issued a Request for Proposal (RFP) for the development of a new managers program. They were seeking a learning provider who could develop a curriculum which encouraged leaders to examine their attitudes, behaviours and leadership styles; helping them leverage their coaching skills and improve their effectiveness as people leaders. We wanted more of a true partnership, explains Tania Cervoni (Manager, Learning and Performance Consulting). Following a rigorous selection process, Canadian Management Centre earned the role of vendor of choice given their flexible approach and demonstrated ability to design and deliver customized learning solutions.Working in close partnership, Canadian Management Centre and LoyaltyOne designed and successfully implemented an engaging and interactive learning experience for their new managers: Make It Happen: Leadership Fundamentals Series.
The managers have not only enjoyed the program, but have demonstrated a readiness to apply what theyve learned on the job and to be held accountable for it. Feeling equipped with the tools they need to lead more effectively, the participants have deemed the program to be practical and relevant to their needs and the challenges they face in their roles as new managers.
Since the program was launched in February 2006, average Level 1 evaluation ratings in key areas show that:
97% of participants agreed that the program was relevant to their needs
97% of participants agreed there were a variety of learning methods used which aided in their understanding
96% of participants agreed there was sufficient hands-on practice and discussion
99% of participants felt the content helped to develop the skills and knowledge they need to perform
As Tania Cervoni adds, One of the indicators to me of success is that managers who have either participated in it or had people participate in it have come forward to say, 'When is the next offering? I have a new manager that I want to get into the program.' And I think that speaks volumes.
The success of Make It Happen: Leadership Fundamentals Series was further recognized by the Canadian Society for Training and Development, who awarded Canadian Management Centre and LoyaltyOne with the 2007 Gold Award for Canadian Training Excellence.
LoyaltyOne is a trademark of LoyaltyOne, Inc.
Key / Major clients:
NAV CANADA, Bank of Canada, Export Development Canada, Public Safety, DND, Canadian Nuclear Safety Commission, City of Ottawa, City of Calgary, Ontario Public Sector, Air Transat, Aimia (Aeroplan), Canada Mortgage and Housing Corporation, Imperial Oil, Husky, Pepsi, Giant Tiger, Canadian Institute for Health Information, Accreditation Canada, Canadian Institute for Health Research, R.W. Tomlinson, Canadian Blood Services, World Vision, Innovapost, Canada Post, City of Vancouver, CN Rail,Success stories:
Since 2005, the City of Ottawa has committed resources to the implementation of a Management Development Program. The ultimate goal was to achieve service excellence through increasing employee engagement to gain the confidence and trust of the City of Ottawas key customers, its citizens. Canadian Management Centre is proud to be a provider of leadership and management solutions in support of the Citys development objectives. We have grown our relationship by focusing on providing customized, relevant learning solutions that leverage existing programs within the City of Ottawas development offerings. We aim to achieve this by partnering with our stakeholders to ensure our recommendations leverage the strengths of the management team, align closely to current business challenges, integrate real-world experience and reflect the values of the organization.As a real commitment to the continued development of its current leaders and a focused effort on supporting high potential employees, the City of Ottawa is now working towards launching a comprehensive curriculum. This curriculum has been designed to enable all employees to take risks, be innovative and generate genuine results all with the goal of delivering the kinds of offerings citizens demand, with the level of service they deserve.
"I love working with the people at CMC. I feel like you are part of my team. Together we have made great inroads in the area of management and leadership at the City of Ottawa. I wanted you to know how proud I am to tell others that I work with Canadian Management Centre and that they never disappoint!"
Shirley de la Torre
Organizational Effectiveness Consultant
Human Resources, Leadership & Employee Development, City of Ottawa
Leadership program prepares managers to contribute to Gibsons' doubling pre-tax income in a 24 month period
Canadian Management Centre was approached by Calgary based Gibsons Energy Ltd. to design and deliver a leadership program for their management team. The company had gone through a period of unprecedented growth and determined that a stronger and more consistent leadership approach would be required to build on this momentum to inspire employees to achieve Gibsons aggressive growth plans.
After an extensive needs assessment phase, which included site visits and field trips, clear success measures were articulated and a strategy to design a program to achieve these was created. The result was a highly interactive, relevant 3-day residential program, Success Through People, which integrated networking elements to help build an even more cohesive leadership team. We worked very closely with Gibsons throughout the development process and believe that this partnership was instrumental in the clear impact this program has had on the organization.
And the results are in, based on feedback directly from Gibsons Human Resources team we know: Based on a comparison of 2006 vs. 2008 employee engagement results, Gibsons has seen an increase in several areas that could be directly linked to the successes and skills gained through the Success Through People program. These include learning and development, leadership, career opportunities and people practices.
We are thrilled that Gibsons has seen measurable results from their investment in leadership development. As quoted by Rick Luciani, VP Human Resources and Administration:
"Gibsons has realized tremendous growth. In order to sustain this growth, there was a need for increased leadership capabilities as many new managers have emerged and more experienced managers have realized the need to upgrade their skills. Over the past 24-month period, Gibsons has doubled its pre-tax income and we believe the Success Through People program is a contributing factor to this success."
Testimonial:
" Learning about the various tools that Smarter Meetings uses was very valuable. The class participation was a great learning experience as well, especially when Karen would use some of the tools in her teaching prior to us even knowing about them. This helped lead us into learning them in a quick, efficient way. This course provides a fantastic foundation for improving meetings. Learning how to set expectations using the Red, Green, Yellow methodology will help me and my team make better, more timely decisions. This is a great program easy to apply we will definitely use this. "" The 4D-i assessment gave me great insights into my own strengths and weaknesses and those of the people I work with. It was very useful to learn my own thinking style and those of my co-workers. I found the group exercises and discussions very relevant and helpful. "
" I had an amazing time taking the CMC 5 day "MBA" course at the Toronto office. The experience has provided me with a better understanding of business requirements Providing me with a framework and tools for developing a strategy and giving me the confidence that I will provide more value to my company and clients. I recommend that companies look at taking this course from all positions within a company including management, marketing and sales. "
" Thank you John for sharing your knowledge, experiences and allowing us to share ours. Invaluable experience! "
Paolo Tuscano
Canada Post Corporation
" I thought the course was very interesting and the flow was very comfortable. "
" I was very focused all three days as the program suited our environment very much. "
" The course was very informative and covered a lot of relevant and down to earth information and processes. "
" The course was highly interactive. Everybody was engaged and involved. It also addressed many real world situations. "
" I felt confident before the course and now I feel even much better while knowing the recipe and the rationale of the win-win negotiation parties. "
" I thought that we had a perfect size for a course such as this. There were twelve in attendance, and it made for a very good rapport with one another. "
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
813910 - Business Associations
Products, services and licensing
Product / Service / Licensing
U004-Scientific and Management Education
U005-Tuition, Registration, and Membership Fees
U008-Training/Curriculum Development
U009-Informatics Training
Sector
Sector information
Unique applications:
LoyaltyOne (formerly Loyalty Management Group Canada Inc.) issued a Request for Proposal (RFP) for the development of a new managers program. They were seeking a learning provider who could develop a curriculum which encouraged leaders to examine their attitudes, behaviours and leadership styles; helping them leverage their coaching skills and improve their effectiveness as people leaders. We wanted more of a true partnership, explains Tania Cervoni (Manager, Learning and Performance Consulting). Following a rigorous selection process, Canadian Management Centre earned the role of vendor of choice given their flexible approach and demonstrated ability to design and deliver customized learning solutions.Working in close partnership, Canadian Management Centre and LoyaltyOne designed and successfully implemented an engaging and interactive learning experience for their new managers: Make It Happen: Leadership Fundamentals Series.
The managers have not only enjoyed the program, but have demonstrated a readiness to apply what theyve learned on the job and to be held accountable for it. Feeling equipped with the tools they need to lead more effectively, the participants have deemed the program to be practical and relevant to their needs and the challenges they face in their roles as new managers.
Since the program was launched in February 2006, average Level 1 evaluation ratings in key areas show that:
97% of participants agreed that the program was relevant to their needs
97% of participants agreed there were a variety of learning methods used which aided in their understanding
96% of participants agreed there was sufficient hands-on practice and discussion
99% of participants felt the content helped to develop the skills and knowledge they need to perform
As Tania Cervoni adds, One of the indicators to me of success is that managers who have either participated in it or had people participate in it have come forward to say, 'When is the next offering? I have a new manager that I want to get into the program.' And I think that speaks volumes.
The success of Make It Happen: Leadership Fundamentals Series was further recognized by the Canadian Society for Training and Development, who awarded Canadian Management Centre and LoyaltyOne with the 2007 Gold Award for Canadian Training Excellence.
LoyaltyOne is a trademark of LoyaltyOne, Inc.
Key / Major clients:
NAV CANADA, Bank of Canada, Export Development Canada, Public Safety, DND, Canadian Nuclear Safety Commission, City of Ottawa, City of Calgary, Ontario Public Sector, Air Transat, Aimia (Aeroplan), Canada Mortgage and Housing Corporation, Imperial Oil, Husky, Pepsi, Giant Tiger, Canadian Institute for Health Information, Accreditation Canada, Canadian Institute for Health Research, R.W. Tomlinson, Canadian Blood Services, World Vision, Innovapost, Canada Post, City of Vancouver, CN Rail,Success stories:
Since 2005, the City of Ottawa has committed resources to the implementation of a Management Development Program. The ultimate goal was to achieve service excellence through increasing employee engagement to gain the confidence and trust of the City of Ottawas key customers, its citizens. Canadian Management Centre is proud to be a provider of leadership and management solutions in support of the Citys development objectives. We have grown our relationship by focusing on providing customized, relevant learning solutions that leverage existing programs within the City of Ottawas development offerings. We aim to achieve this by partnering with our stakeholders to ensure our recommendations leverage the strengths of the management team, align closely to current business challenges, integrate real-world experience and reflect the values of the organization.As a real commitment to the continued development of its current leaders and a focused effort on supporting high potential employees, the City of Ottawa is now working towards launching a comprehensive curriculum. This curriculum has been designed to enable all employees to take risks, be innovative and generate genuine results all with the goal of delivering the kinds of offerings citizens demand, with the level of service they deserve.
"I love working with the people at CMC. I feel like you are part of my team. Together we have made great inroads in the area of management and leadership at the City of Ottawa. I wanted you to know how proud I am to tell others that I work with Canadian Management Centre and that they never disappoint!"
Shirley de la Torre
Organizational Effectiveness Consultant
Human Resources, Leadership & Employee Development, City of Ottawa
Leadership program prepares managers to contribute to Gibsons' doubling pre-tax income in a 24 month period
Canadian Management Centre was approached by Calgary based Gibsons Energy Ltd. to design and deliver a leadership program for their management team. The company had gone through a period of unprecedented growth and determined that a stronger and more consistent leadership approach would be required to build on this momentum to inspire employees to achieve Gibsons aggressive growth plans.
After an extensive needs assessment phase, which included site visits and field trips, clear success measures were articulated and a strategy to design a program to achieve these was created. The result was a highly interactive, relevant 3-day residential program, Success Through People, which integrated networking elements to help build an even more cohesive leadership team. We worked very closely with Gibsons throughout the development process and believe that this partnership was instrumental in the clear impact this program has had on the organization.
And the results are in, based on feedback directly from Gibsons Human Resources team we know: Based on a comparison of 2006 vs. 2008 employee engagement results, Gibsons has seen an increase in several areas that could be directly linked to the successes and skills gained through the Success Through People program. These include learning and development, leadership, career opportunities and people practices.
We are thrilled that Gibsons has seen measurable results from their investment in leadership development. As quoted by Rick Luciani, VP Human Resources and Administration:
"Gibsons has realized tremendous growth. In order to sustain this growth, there was a need for increased leadership capabilities as many new managers have emerged and more experienced managers have realized the need to upgrade their skills. Over the past 24-month period, Gibsons has doubled its pre-tax income and we believe the Success Through People program is a contributing factor to this success."
Testimonial:
" Learning about the various tools that Smarter Meetings uses was very valuable. The class participation was a great learning experience as well, especially when Karen would use some of the tools in her teaching prior to us even knowing about them. This helped lead us into learning them in a quick, efficient way. This course provides a fantastic foundation for improving meetings. Learning how to set expectations using the Red, Green, Yellow methodology will help me and my team make better, more timely decisions. This is a great program easy to apply we will definitely use this. "" The 4D-i assessment gave me great insights into my own strengths and weaknesses and those of the people I work with. It was very useful to learn my own thinking style and those of my co-workers. I found the group exercises and discussions very relevant and helpful. "
" I had an amazing time taking the CMC 5 day "MBA" course at the Toronto office. The experience has provided me with a better understanding of business requirements Providing me with a framework and tools for developing a strategy and giving me the confidence that I will provide more value to my company and clients. I recommend that companies look at taking this course from all positions within a company including management, marketing and sales. "
" Thank you John for sharing your knowledge, experiences and allowing us to share ours. Invaluable experience! "
Paolo Tuscano
Canada Post Corporation
" I thought the course was very interesting and the flow was very comfortable. "
" I was very focused all three days as the program suited our environment very much. "
" The course was very informative and covered a lot of relevant and down to earth information and processes. "
" The course was highly interactive. Everybody was engaged and involved. It also addressed many real world situations. "
" I felt confident before the course and now I feel even much better while knowing the recipe and the rationale of the win-win negotiation parties. "
" I thought that we had a perfect size for a course such as this. There were twelve in attendance, and it made for a very good rapport with one another. "


Event Location:
Microsoft FLL
6750 N Andrews Ave, Suite #400
Fort Lauderdale, Florida
Abstract:
Due to varying definitions of Big Data which confuse data volume and data organization, the common perception is that Big Data requires the use of Hadoop, MongoDB, or another NoSQL database. SQL Server can easily store and manipulate very large volumes of data and perform quite well provided the database is properly set up and tuned. In this session we'll cover some of the definitions and misconceptions of Big Data, look at some Big Data solutions that went horribly wrong and review a case where Big Data was successfully implemented in SQL Server. Finally, we'll take a peek under the covers to see how SQL Server best handles Big Data through proper data models, table designs, performance tuning, and T-SQL techniques.
Speaker(s): Aaron Cutshall,
Abstract:
PolyBase is Microsoft's data virtualization technology, allowing you to integrate SQL Server with external systems such as Hadoop and Azure Blob Storage. As of SQL Server 2019, PolyBase also allows you to connect to diverse systems such as Oracle, MongoDB, Cosmos DB, Teradata, Apache Spark, and even other SQL Server instances. In this talk, we will walk through the mechanics of PolyBase, showing how we can write T-SQL queries to access data from heterogeneous sources. We will investigate the Dynamic Management Views (DMVs) and other resources needed to tease out what the PolyBase engine is doing behind the scenes and where to go when things break down. Finally, we will look at several interesting use cases for PolyBase in the modern data environment.
Speaker(s): Kevin Feasel,
Abstract:
How often do you get data that is perfectly tailored and ready to use in a Power BI report? Less often than you could hope. There is a rule of thumb that says 80% of the work required to create a report (or a dashboard) involves cleaning and prepping the data. This is accentuated when you consider that 90% of the time, if you are having a problem with a visual in a report, it is because something is awry in the data model. In other words, it all starts with clean, well prepared data. This is why you need to become familiar with the Power Query Editor. In this session, we will cover: --What is the Power Query Editor? --How do you access it? --What does it do that nothing else does? --When would you use it? --How hard is it to use? --A quick demo of PQE's capabilities
Speaker(s): Jessica Jolly,
Abstract:
The power of cloud storage and compute power has made data warehousing and big data possible for businesses of all sizes. What was once a large capital expenditure and multi-year implementation can now be deployed and ready to use within minutes and allow any organization to collect, query and discover insights from their structured and unstructured data sources. With tightly integrated services and a user-centric approach, a cloud-native data platform can fit transparently into your business data strategy and leverage already existing and familiar development and management skills. In this session we will look at the main components and reference architectures for building a modern business intelligence platform that includes data warehousing, big data and analytics with examples using Microsoft Azure. We will talk about ways to integrate with on-premises systems as well as lessons learned from building these Enterprise BI Data Platforms for multiple clients.
Speaker(s): Warner Chaves,
Abstract:
A data warehouse (DW) is a core component of business intelligence and a central data repository for different sources. This poses many challenges as the schema definition for those sources may be completely different from one another. In this presentation, we discuss how to create a data warehouse model that can support data from multiple systems. Oscar Garcia shows how to build a dimensional model which can enable us to import the data with different shapes into a data warehouse. We then create processes to transform and load the data using Apache Spark. We finally use Power BI to visualize the data from our data warehouse and Spark. Learning Objectives: Challenges when using disparate data sources (different models) Define a common model to support the different model shapes (Star Schema) Apache Spark Overview Strategy for loading the different data-sets into the common model Data analysis and visualization with Power BI
Speaker(s): oscar garcia,
Abstract:
This presentation main goal is to show the connectivity of Power BI and Microsoft Visio to create reports that can generate valuable Insights for a company. Along with that I will show through Azure SQL Data and Azure Cognitive Services how to create a Sentiment Analysis Report
Speaker(s): Mahesh Caroicar,
Abstract:
AutoML was proposed as an artificial intelligence-based solution to the ever-growing challenge of applying machine learning. Business analysts can build Machine Learning models to solve business problems that once required data scientists. In this session, Hector will explain the principles of Machine Learning and AutoML (Automated machine learning) and he will demo AutoML PowerBI features end-to-end and show How to interpret and extract the optimum results based on specific business problems.
Speaker(s): Hector Villafuerte,
Abstract:
For centuries the humans have been looking for the way to improve their bodies, mental capacity, and the ways to acquiring knowledge and techniques to improve their personal and professional lives. In other words, a different outlook of the concept of wellbeing and perform better on whatever is the activity their doing. During this session you will discover, thru the assessment of the peak performance, your status and preparedness to change and the tools available to make quick changes and tweaks, like techniques for speed reading, biohacking, how to be mindful instead of mindfull, how to achieve a flow state, and much more.
Speaker(s): Patricia Monica Ojeda,
Abstract:
Azure Analysis Services at times is collocated with Azure Synapse Analytics as Business Intelligence back-end layer. This session will help the audience determine what architecture should be chosen for a given enterprise requirement. Session will also provide features and advantages from each PaaS offering.
Speaker(s): Oscar Zamora,
Abstract:
You've been working with Power BI, building fantastic reports and dashboards. Let's take a look at some of the cool features that will help you make your reports more appealing and add more functionalities. This session is 100% demos: shortcuts, visuals interactions, drilling down/up/through data , custom tooltips, buttons bookmarks.
Speaker(s): Cecilia Brusatori,
Abstract:
Looking to get the most out of your SQL Saturday, PASS Summit, or local user group meeting? Plan ahead! Events aren't just about learning new things, they're about meeting new people, networking with peers, and learning different approaches to common issues. In this session, we'll go over steps you can take before, during and after the event to maximize the amount of great stuff you'll take away at the end (besides cool vendor swag). Not just keeping up on new technologies, but meeting new people, getting leads on solutions/opportunities, and an appreciation for the community you're in and what it has to offer.
Speaker(s): Matt Cushing,
Abstract:
User Experience (UX) and Design Thinking are common buzz words around the office. What do these words have to do with BI and Dashboards, anyway? Sure, Power BI itself is intuitive and user friendly, but are YOU building dashboards that people will actually use. If you want to get the business off of their beloved excel and onto your dashboards, this is how you will do it. In this session, we will explore how to start using UX and the psychology behind it to empower you with intel that will make YOUR dashboards Kick Booty! We will show examples and arm with the tools/strategies to make the best dashboards your business has ever used.
Speaker(s): Hilary Wilkie,
Abstract:
Most Power BI reports rely on a small dataset. And due to a lighting fast data engine most data model mistakes are shadowed by the speed of the service. When the dataset gets bigger then best data modeling practices are required. The trick here is Power BI data engine is not relational and therefore most data modeling techniques either don’t apply or don’t deliver. In this session we will go over how to model and measure performance for larger Power BI datasets.
Speaker(s): Armando Lacerda,
Abstract:
Want to learn how to create an SSIS package? With no prior experience we will dive into the world of ETL. How to create a package and build the intelligence based on your business needs. Join me to this introductory class.
Speaker(s): Candace Thompson,
Abstract:
Come and join us for the keynote and Women in Technology Panel "The art of creating Allies to grow your career" Panelists: Barkha Herman Diana Betancourt Gilda Alvarez Dave Noderer Moderator: Cecilia Brusatori
Speaker(s): SQL Saturday South Florida,
Abstract:
In this talk we will discuss the principles of a virtual data warehouse, how you can reduce or eliminate ETL jobs, and how to combine the power of SQL Server and Enzo to build a data warehouse that can deliver near-time and real-time SaaS data to PowerBI, data integration, AI integration, and more.
Speaker(s): Herve Roggero,
Abstract:
There is a new Azure SQL DB option: Hyperscale. It introduces a redesigned architecture under the hood not comparable to the other SQL DB PaaS options. In this session you will learn and see how it works and the best scenarios where it fits in. And how it blends in a cloud based BI solution arctecture.
Speaker(s): Armando Lacerda,
Abstract:
Your Power BI looks awesome! but have you thought if it is accessible enough for people with disabilities? Or better yet for people with visual impairments? Do you know what tools do you have available to make your app. ADA ready? Let's work together on a hands-on journey to learn the statistics that affect our customers and to walk away with real tools to make our apps Intelligent ready for ALL!
Speaker(s): Diana Betancourt,
Abstract:
Every day, 2.5 quintillion bytes of data is produced, and 80% of it is unstructured. Go beyond reports and dashboards by leveraging new data sources, infusing AI into your applications, and harnessing cognitive capabilities to streamline every day tasks within your organization. In this demo-heavy session, we’ll walk through what Azure Cognitive Services are, use cases, and real-world scenarios.
Speaker(s): Audrey Hammonds,
Abstract:
Session in Spanish Coming soon [reserved slot]
Speaker(s): SQL Saturday South Florida,
Abstract:
If you want to use PowerBI, you'll want to learn the DAX language. We will go over what, when and how to use it along with where to get help! If you are an excel person, this might be an easy shift. If you are not, then you will definitely want to understand this language if you or your teams are using PowerBI.
Speaker(s): Katie Schmidt,
Abstract:
Python is a powerful general purpose programming language that has emerged as one of the main tools of data scientists. Python was added to Power BI in June of 2018. This session will demonstrate the three points of entry for python inside the Power BI desktop-- how to leverage python scripts inside the Power BI query editor and how to use python visuals in Power BI reports.
Speaker(s): Julie Smith,
Abstract:
Unlock insights from all your data and build artificial intelligence (AI) solutions with Azure Databricks, set up your Apache Spark™ environment in minutes, autoscale, and collaborate on shared projects in an interactive workspace. Azure Databricks supports Python, Scala, R, Java, and SQL, as well as data science frameworks and libraries including TensorFlow, PyTorch, and scikit-learn.
Speaker(s): Barkha Herman,
Abstract:
Networking is key for your professional career! You would like to meet people but don't know how? Are you an introvert? You go to events and not sure how to break the ice? If you answered yes to at least one of the questions above, don't worry, you're not alone! Join the networking clinic, we will have activities and discussions to help
Speaker(s): SQL Saturday South Florida,
Abstract:
Technology is moving faster than we can grasp but we must continue to grow our careers and skills. Join me to unravel the emerging technologies and how we can bulletproof our careers and adapt to these changes.
Speaker(s): Gilda Alvarez,
Abstract:
In this course we identify some common mistakes that we see in the business world using Power BI. We will identify the psychology behind the reporting techniques needed to create powerful and effective reports. The attendee will leave the class ready to write better reports using Power BI in the real world.
Speaker(s): Ed Watson,
Abstract:
Whether you have worked with SSIS or are new to data pipelines, come and learn about Azure Data Factory (ADF), what it is, how to deploy it, integrate with Git for source control, create and monitor data pipelines.
Speaker(s): Darius Liktorius,
Abstract:
For the traditional administrator of Microsoft Data Platform Architectures, Azure brings new ways to deploy services for Business Intelligence, Big Data, and AI solutions. So many options can be overwhelming and there is no single solution that can be applied to every requirement. In this session, we will cover the different options available in Azure to deploy Data Platform components, without leaving the performance, costs, and migration complexity aspects.
Speaker(s): Mariano Kovo,
Abstract:
Want to learn Power BI, and not sure where to start? This session will teach you all the basics you need to know to get started. We will discuss some of the parts of Power BI Desktop such as Power Query, Data Model, and the Report Canvas. I will also teach you where to go to follow the latest updates, and give you a few recommended books and websites to get to the next level.
Speaker(s): Priscilla Camp,
Abstract:
For too long, data developers have been left in the dark on the power of DevOps. From creating entire new environments with infrastructure and configuration as code to maintaining consistency on existing systems with source control and automated builds and deployments, DevOps tools are as accessible to data platforms as to application developers. In this session, we will focus on the benefits and concepts of continuous integration and continuous delivery with PowerBI. Using AzureDevOps, we will deal with maintaining reports in source control, triggering automated builds, and publishing to multiple environments.
Speaker(s): Kelly Tabler,
Abstract:
Learn how getting involved in the SQL Community can help you get ahead within your organization, improve your skill set, as well as help provide career stability. PASS and other organizations practically give you all the tools you need to succeed in the data field. Come learn about those events and opportunities that help make this possible as well as how you can get involved to help others who are starting out. The rewards of the SQL Community are endless.
Speaker(s): Tim Radney,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: https://www.linkedin.com/in/audreyhammonds/
Contact: http://datachix.com
Audrey Hammonds is a Data Platform Specialist for Microsoft in South Florida. Twenty-one years ago, she volunteered for database training to escape the clutches of COBOL and has never looked back. A firm believer in good fundamentals and solid design, she gets her kicks from making data do nifty things. These days, she gets her kicks from helping customers adopt data services in Azure.
LinkedIn: https://www.linkedin.com/in/ozamora
Contact: https://ozamora.com
For the past 20 years, I have led and executed complex data and analytics migrations into cloud and on-premises deployments. I help enterprises discover opportunities by enabling cloud services that improves their efficiency, reduce operational tasks, increase quality and help making strategic decisions that impact their bottom line. I work directly with Senior Management to establish and execute roadmaps and strategies, and mentor engineers with best practices for data processing and development.
LinkedIn: https://www.linkedin.com/in/cebrusa/
Contact: https://www.magnadatasolutions.com
Cecilia is a Consultant at Magna Data, with over 15 years as Business Intelligence and Data Analytics Professional, experienced in LawEnforcement, Finance, Retail, Events Marketing, Medicine, Accounting, Forensics, Fraud, Corporate Investigations. Microsoft Certified Professional in SQL Server and Power BI. Passionate and curious, uses Data to solve simple to complex business scenarios and deliver high-value solutions. She is very active and engaged with the community, leveraging activities and content to provide free forums of education, networking and professional growth. Leader of PASS South Florida SQL Server User Group (SFSSUG), Leader Organizer SQL Saturday South Florida, Leader Microsoft Data and AI (Official)
LinkedIn: https://linkedin.com/in/candacehurlburtthompson
My name is Candace Thompson. I am a Senior Developer at SNI Companies, a former Senior BI Data Analysis in Data Platform and in Business Intelligence since the tail end of SQL 2000. Here is a little about my SQL Server work history created over the years custom database solutions and implementations still in operations for Finance, Aeronautics, health care, ecommerce, and now Electronic Toll Collections. my favorite where I have spent a great deal amount of time implementing data management, data staging and data cleansing systems. I am an active member of PASS (Professional Association of SQL Server) and I am a Girl Scouts Leader for Daisy's and Brownies. I have presented at a variety of SQL Training opportunities and enjoy learning.
LinkedIn: http://www.linkedin.com/in/hector-v
Contact: http://www.hectorv.com
Hector Villafuerte is a Microsoft Certified Professional and is currently the BI Solutions Architect at Starwood Property Trust in Miami Beach, Florida. He has over twenty years of experience working in all areas of the Software Development Life Cycle. Current focuses include Power BI, SQL Server, SharePoint, Dynamics CRM, Office 365, Azure SQL, SSAS, No SQL, Machine Learning and other Azure Development Technologies as full stack developer.
LinkedIn: https://www.linkedin.com/in/hilary-wilkie-a795209/
Hilary Wilkie has worked with prominent companies like Home Depot and small solo entrepreneurs. She is a Business Analyst with a Six Sigma Black Belt and currently working at AutoVIN, a division of KAR Auction Services. Hilary has worked with professionals at all levels of business including C-level, managers, and even the warehouse person! She believes behind all good processes and software are great people; often we get so passionate about the technology we forget about the people.
LinkedIn: https://www.linkedin.com/in/mattcushing/
Contact: http://sqlkohai.com
Matt started out his career in Accounting and quickly realized he liked data a whole lot more! Starting as a help desk associate, he's moved through support, development, data, and management positions before settling back to his passion for data. Currently working for Applegate Farms in NJ, he loves the people he works with and for, and the company as a whole. Thanks to the input and help from the SQL community, he was able to be ready for the right opportunity in his current position as a BI developer. He also teaches a Database Management class at Rutgers University. Ask him about the Red Sox sometime if you want your ear talked off ;).
LinkedIn: https://www.linkedin.com/in/maheshcaroicar/
Contact: https://www.youtube.com/c/BusinessIntelligence
IT Engineer, IT Trainer of several MS Products since 1993, Senior Developer, DBA, IT Consultant of many Mining, Banking, Food and Salmon Companies in Chile to name a few. Speaker of many companies and events about Digital Transformation and Power BI. English and Spanish are spoken
LinkedIn: http://www.linkedin.com/in/armando-lacerda
Over 30 years in the computing field as a developer and system integrator; over 20 years working with SQL Server since version 6; cross platform experience with Oracle and IBM SQL/DS and DB2; Microsoft Certified Trainer for over 20 years.
LinkedIn: http://www.linkedin.com/in/dianabeta
Former graduate of the quot;Universidad Santa Maria La Antiguaquot; School of Computer Science. I have been involved in the IT world since 1992, since then I have been working with many OS platforms, development languages and databases, among them Unix, Oracle, SUN, Informix, FoxPro, Microsoft SQL Server, just to mention a few. Diana enjoys solving complex performance tuning issues, examining your data using Databricks, designing in Azure SQL Datawarehouse, developing cool visuals using Power Bi, or evangelizing about Microsoft Data technologies at community events like SQL Saturday and local user group meetings.
LinkedIn: https://www.linkedin.com/in/patriciamonicaojeda/
I'm a Bilingual Management Consultant and Executive Coach, with 20+ years of experience in the fields of Information Technology, Marketing, and Operations. I help companies have successful projects, professionals with their personal brands, Millennials with their social communication, and Women to discovering their full potential. I have extensive experience building professional networks, I am known by the identification of opportunities, analyzing operations, and the development of winning solutions.
LinkedIn: http://www.linkedin.com/in/armando-lacerda
Over 30 years in the computing field as a developer and system integrator; over 20 years working with SQL Server since version 6; cross platform experience with Oracle and IBM SQL/DS and DB2; Microsoft Certified Trainer for over 20 years.
LinkedIn: https://www.linkedin.com/company/south-florida-sql-server-user-group
Contact: https://www.sfssug.org
PASS CHAPTER - SOUTH FLORIDA SQL SERVER USER GROUP https://www.sfssug.org
LinkedIn: https://ar.linkedin.com/in/marianokovo
Contact: https://precisionit.com.ar/blogs/marianokovo/
Precision IT Founder SQL Server Specialist Data Platform BI Consultant Microsoft MVP Data Platform
LinkedIn: https://www.linkedin.com/in/sqlrv
Contact: http://sqlrv.com
Aaron N. Cutshall is an Enterprise Data Architect with 20 years of experience in analysis, design and development for applications and databases in manufacturing and warehousing plus over 15 years in the Healthcare Informatics field. His primary focus is in designing and developing solutions for extremely large data sets that perform quite well in SQL Server. He is active in the SQL Server community and speaks at SQL Saturday sessions across the country.
LinkedIn: https://www.linkedin.com/in/kelly-tabler-799ab91/
Kelly comes from a wide variety of application development technologies ranging from embedded video processing to network quality testing to custom web applications. This diversity of experience has led her to a love of finding practical solutions and just plain "getting it done", with a focus on technical team leadership and DevOps practice implementation. As a member of the Improving Atlanta team for nearly 8 years, Kelly regularly helps clients understand process including Scrum and DevOps and the tools to implement both. Originally hailing from Northern Virginia, Kelly moved to Atlanta 19 years ago for her computer science degree and hasn't left since. Ask her about Georgia Tech football, terrible gardening, and funny cat videos.
LinkedIn: https://www.linkedin.com/in/oscardgarcia/
Contact: https://ozkary.com
Oscar Garcia is a Principal System Architect, Company Founder, Microsoft MVP and certified solutions engineer with many years of experience building solutions using .Net framework and multiple open source frameworks. Currently, he specializes in building cloud solutions using technologies like Azure, AWS data platforms. He enjoys sharing his technical experiences by maintaining a blog and delivering presentations. You can follow Oscar on Twitter via @ozkary or visiting his blog at ozkary.com.
LinkedIn: http://www.linkedin.com/in/jessicabjolly/
Contact: https://www.altentertraining.com/bitybybyteblog/
I am a Microsoft Certified Trainer with an MCSE in Data Analytics, with a practice focused on Power BI specifically, and the Power Platform more generally. I focus my training on teaching business analysts the practical uses of the features and functionality in Microsoft Office applications, with a special focus on Power BI, Excel, Power Pivot (Excel 2016), and the Power Query Editor. I speak regularly at Power Platform events (both World Tour and Summit) and SQL Saturdays. I blog at www.altentertraining.com. I tweet at @JBJ2110 when I am at professional seminars and conferences. You can connect with me on LinkedIn at https://www.linkedin.com/in/jessicabjolly/ and on Facebook at https://www.facebook.com/ALTEnter/.
LinkedIn: https://www.linkedin.com/in/herveroggero
Contact: http://www.herveroggero.com
Strategist. Catalyst. Storyteller. Herve Roggero is recognized for his thought leadership and passion for providing accessibility to data in the tech space. Herve’s knack for distilling complex real-time data consumption challenges and presenting digestible solutions make him the ideal speaker, teacher, and teammate. His leadership skills and passion of Microsoft Azure are a testament to his commitment to ultimately increasing operational efficiency - so much so that Herve has been an Microsoft Azure MVP for over 7 years. Herve is the Co-Author of PRO SQL Azure, PRO Windows Azure SQL Database and PRO SQL Server 2012 Practices (from APress), a PluralSight author, and runs the Azure Florida Association.
LinkedIn: https://www.linkedin.com/pub/kevin-feasel/7/716/504
Contact: http://www.catallaxyservices.com
Kevin Feasel is a Microsoft Data Platform MVP and CTO at Envizage, where he specializes in data analytics with T-SQL and R, forcing Spark clusters to do his bidding, fighting with Kafka, and pulling rabbits out of hats on demand. He is the lead contributor to Curated SQL (https://curatedsql.com), president of the Triangle Area SQL Server Users Group (https://www.meetup.com/tripass), and author of PolyBase Revealed (https://www.apress.com/us/book/9781484254608). A resident of Durham, North Carolina, he can be found cycling the trails along the triangle whenever the weather's nice enough.
LinkedIn: https://www.linkedin.com/company/south-florida-sql-server-user-group
Contact: https://www.sfssug.org
PASS CHAPTER - SOUTH FLORIDA SQL SERVER USER GROUP https://www.sfssug.org
LinkedIn: http://ca.linkedin.com/in/warnerchaves/
Contact: http://sqlturbo.com
Warner is a SQL Server MCM, Data Platform MVP and Principal Consultant at Pythian, a global Canada-based company specialized in DBA services. A brief stint in .NET programming led to his early DBA formation working for enterprise customers in Hewlett-Packard ITO organization. From there he transitioned to his current position at Pythian, building and managing data solutions in many industry verticals while leading a highly talented team of Data Platform consultants.
LinkedIn: https://www.linkedin.com/in/jillofalltradeskatie/
Katie Schmidt has many years experience in SQL and started in the SQL PASS community as a professional student in 2011.
She graduated from the University of Central Florida with MIS and Computer science degrees. She has over a decade of experience in Enterprise Information Technology solutions for several Fortune 500 companies. In depth and applied knowledge of database administration with emphasis on high availability and disaster recovery solutions, security audits, database health checks, capacity planning, resource utilization analysis and enterprise database migrations. She is a big advocate of technical and leadership education in her community. She loves to spend time with her family, friends and dance Latin music.
LinkedIn: https://www.linkedin.com/company/south-florida-sql-server-user-group
Contact: https://www.sfssug.org
PASS CHAPTER - SOUTH FLORIDA SQL SERVER USER GROUP https://www.sfssug.org
LinkedIn: http://www.linkedin.com/in/juliesmith0503/
Contact: http://datachix.com
Julie Smith is a Microsoft Data Platform MVP and a BI consultant for Innovative Architects in Atlanta, GA. She#39;s implemented increasingly complex Business Intelligence solutions for over a decade at various organizations. She#39;s also worn many other database “hats” in her career – production DBA and database developer--but data integration and BI are her true passions. Julie holds a BA from the University of South Carolina. She and Audrey Hammonds co-created The Datachix.com blog.
LinkedIn: http://linkedin.com/in/tradney
Contact: http://www.timradney.com
Tim is a Data Platform MVP and has a whole collection of Microsoft and other industry certifications. His experience includes HA/DR, virtualization, SSIS, SSRS, and performance tuning, among everything else SQL Server-related. Tim is very active and passionate in the SQL Community. He runs the Columbus GA SQL Users Group, has been a PASS Regional Mentor for a number of years, was named a PASS Outstanding Volunteer in 2012, and is a frequent speaker at user groups, SQL Saturdays and PASS Summits. Tim is one of the top ranked in karma on ask.sqlservercentral.com, answers questions as @tradney on Twitter, and blogs at http://timradney.com and SQLskills blog at http://www.SQLskills.com/blogs/tim.
LinkedIn: http://www.linkedin.com/in/watsoned
Contact: http://sqlgator.com
Ed Watson is a Principal Data Platform Consultant for Improving Enterprises, a full-stack Microsoft consulting firm in Atlanta. Ed is a Microsoft Data Platform MVP since 2014 and like most children, Ed was born at an early age. Today, Ed specializes in the Business Intelligence stack and enjoys specializing in Power BI immensely. He currently lives in Atlanta and is active with the Atlanta MDF and Atlanta BI user groups and is an organizer for SQL Saturday Atlanta, Atlanta BI, and Pensacola.
LinkedIn: https://www.linkedin.com/in/barkha-herman-3980721/
I love solving problems and helping people. In that order. As a passionate problem solver and people helper, I have found myself in the world of technology and consulting for the past twenty-plus years. I currently work at Microsoft as a Senior Cloud Solution Architect, focusing on Data and AI. My career allows my "shiny syndrome" afflicted brain enough distractions, opportunities to learn and have an endless set of problems to solve. It has also led me to create a couple of passion projects that focus on improving education, parenting, women in technology, work culture and health.
LinkedIn: https://www.linkedin.com/in/dariusliktorius/
Contact: http://www.liktorius.com
Darius has over twenty years of hands-on technical and managerial experience in Solutions Architecture, Performance Optimization, Database Administration Optimization, Infrastructure Engineering, Software Development and Cloud Solutions (both Azure and AWS). He has advanced numerous organizations from startups to non-profits and Fortune 100 enterprises through the use of technology, and mentored hundreds of developers, DBAs and engineers.
LinkedIn: https://www.linkedin.com/in/itdatadiva/
Contact: https://itdatadiva.com
Priscilla Camp is a Business Intelligence and Analytics Specialist at the University of Central Florida. She has over 9 years of experience in the field of IT working as a Business Intelligence Analyst. Priscilla started her career working for a startup small business in 2010 and several years later moved over to the Higher Education Industry where she currently resides. Priscilla's focus is T-SQL, Data Warehousing, MS Power BI, and B.I. Strategy. She is also the Leader of the Orlando Power BI User Group.
The following is a list of sponsors that helped fund the event.