Skip to content
February 20, 2016 / kiranpatils

Technology trends you should know

After getting positive feedback on : https://kiranpatils.wordpress.com/2011/09/29/why-we-need-windows-communication-foundation/

https://sitecorebasics.wordpress.com/2015/04/04/sitecore-multisite-basics/

Thought to spend sometime to write a new comic on Technology trend! So, If you would like to learn about Latest technology trend then  this article is for you

Before you go further I would like to mention that this article would have not been possible without this article from Tess : https://blogs.msdn.microsoft.com/tess/2015/11/12/mastering-asp-net-5-without-growing-a-beard/

So. If you liked this article then the credit goes to her and NOT me. Because I just converted those learnings in comic — So, you enjoy reading it!

Let’s go!

In a small town there used to be a guy. Who was very had working. His name was Mr.Earner he was very busy in his project and personal life (like you!) and when one fine evening he was reading about latest technology trend. He felt that he left behind the technology trend. So, he went to church and prayed to Jesus for showing him path!

As always Jesus listens him and guides him to talk to Mr. Learner — Mr. Learner is a famous in town for his knowledge and knowledge sharing skills.

TT1

TT2

TT3

TT4

TT5

TT6

TT7

TT8

Keep learning, Keep Sharing!

Happy Coding! 🙂

February 15, 2017 / kiranpatils

Venn diagram of developer types

Hey readers, It has been so long since we had a chat [Even one way :-)]. Have been busy with lot of things. But as I have been saying in past, The more busy I’m, the more I got for you to read.  So, le’s come to the point.

It has been roughly a decade since I am privileged to be in Software Development field. During that period, have played different roles. Now, When I look back, I try to analyze lot of things and I came up with my understanding about type of developers. You might ask why I need to know type of developers. Here are my views why:

  1. Hiring : When you are hiring new developers, you need to understand which type of developer is this and which type of developer you are looking for or your team needs right now [I have been part of roughly >50 interviews till this time, and hiring is also one of the data source for this blog post]
  2. Coaching and mentoring : If you know various types of developers and based on that if you identify someone is of some type and he/she should work on X/Y/Z to be of some else type etc.
  3. Forming team: When you start a new project, and you are one of the team selector, Then it will be good to know and make a balanced team.
  4. Self improvement: After reading this post, and If you agree what I am going to say then this post might help you to identify your type and work towards improving other aspects and be THAT BEST DEVELOPER Which World is searching for!

Enough reasons to convince you to read this further? 🙂

I thought a bit and then came a Eureka moment — Where an idea came, Why don’t we use Venn diagram to explain this! And I’m excited to share output with you:

 

venn_diagram_for_developers

 

Let me explain these types in detail:

Mainly they are based on their thinking style

  1. Technical : They are super technical. They know each technology as soon as they are available. They would like to get their hands on it and would love to implement it in their current/future project. There are quite a few who will try to fit new technology without even fully understanding it. But they will have solution for all technical problems. And each project must have at least one of  them. They make good Technical Architect or Technical role.
  2. Business : This type of devs will understand business very well. They speak client’s language and that’s why most of the time client loves to work with them.
  3. Analytical : This person thinks all things from analytical point of view. (s)he will come up with the easiest and best solution which neither technical/analytical person can think of. They will not be super strong in technical. But If you pair this dev with Technical team member they rock
  4. Technical-Business-Analytical: And you know that sweet spot, when one person can think from all angles. YES, they do exist. But sadly they are very few and again this type of thinking takes sometime. Because when you are out of college, initially you think to solve everything using technology. Because that’s what you have been taught. But gradually, If you mentor someone closely they can come in this type in a longer run. Usually, This type of folks should be leading a team.

So, what makes a best team? It depends on lot of factors, e.g. Project complexity, Resource availability etc. But If you want to make super complex project successful. I would recommend, Combination of these types will rock your project. And that’s what I look for when I have to form a team — Sharing my secret with a wish that you will share with others!

Happy Team Building! 🙂

March 14, 2016 / kiranpatils

जब से हमने सर ज़ुकाया हैं

The other day someone shared nice image — With the title of “Facebook logo meaning” and somehow it was back of my mind and while observing people for a while I found. How true it is.

https://i2.wp.com/comicsup.com/images/siglafcb2.jpg

 

And that’s when this poem came to my mind:

जब से हमने सर ज़ुकाया हैं,
हमने कुछ मिसिंग पाया हैं.

जब से हमने सर ज़ुकाया हैं,
समय को पानी की तरह बहाया हैं.

जब से हमने सर ज़ुकाया हैं,
ट्राफिक को बढ़ता पाया हैं.

जब से हमने सर ज़ुकाया हैं,
याद नहीं अपनों से कब बतियाँ हैं

जब से हमने सर ज़ुकाया हैं,
याद नहीं कब भटके हुए मुसाफिर का लुत्फ़ उठाया हैं

जब से हमने सर ज़ुकाया हैं,
ना किसी से टाइम पूछने के बहाने बतियाने का मौका पाया हैं

जब से हमने सर ज़ुकाया हैं,
मैदान को सुना ही पाया हैं

जब से हमने सर ज़ुकाया हैं,
चौबारों पर दादाजी/चाचाजी को ही पाया हैं

इस कविता पढ़ने के लिए भी हमने सर ज़ुकाया हैं,
कोई नहीं, अब तो सर उठाओ और आपके सामने वाले से बतियाओं!

References:

 

November 8, 2015 / kiranpatils

Future Unleashed India 2015 Experience

Luckily, Along with my troop got a chance to be present at Future Unleashed India 2015. Would like to share my experience with them who can’t make it happen or who would like to have a quick recap of it!

It was held at Nesco convention center at Mumbai on 5th and 6th November 2015. On 5th there was a business track (Where Mr. Nadella and lot of big names of Indian IT Industry attended and presented) and on 6th there was a technical track.

Full agenda can is here : http://futureunleashed.microsoft.com/default.aspx

I’ve been able to be part of Technical Day and keen to share that experience with all of you!

But before that will share my registration experience. It was just awesome, Microsoft team kept calling and we were in sync with all latest and greatest details. And on the event day as well. Whole process was super simplified — And would like to say thanks for all the teams for being so helpful and co-operative!

My notes from Technical tracks which I’ve been able to attend:

Keynote by Scott G.

Before keynote started the musical performance was awesome, and it recharged the whole environment!

It was great to see Scott in person. He shared few important updates:

  • Now, Azure is in 24 Regions around the world!
  • Azure is unique platform which support On premise setup as well as Cloud setup
  • Azure it opening 2/3 Data Centers in India
  • Quick demo of creating new VM and publishing stuff from Visual studio
  • Quick demo or Power BI as well
  • He also called few partners to share their learnings with audience. It was great to hear their experience!

Building Modern Web App with ASP.NET 5 and VS 2015

  • Great session by Mr. Chetan Vaja
  • He demonstrated capabilities of ASP.NET 5
    • Few big changes
      • You can host your ASP.NET Website without IIS — On Console — Self hosted
      • Can be hosted on Linux and Mac as well — He demoed it!
      • Has Built in DI
      • Everything is modular
      • For web forms you have to use 4.6
      • It uses Roslyn compiler. Which means you no need to build your change and wait for a long time. Just do a change and do F5 on browser — More like PHP Experience
    • Got integration like
      • grunt
      • gulp
      • bower
  • DNX = Dotnet execution environment
  • Kestrel : New open source linux server
  • Good to read links: docs.asp.net

Continuous Testing

  • Awesome session by Mr. Atin Bansal – Senior Program Manager
  • Demo of IntelliTest : Using which you Visual studio can create all possible test cases automatically. And you can save them as .CS file – As of now it works with Public methods only
  • Cool things with VSO – Visual Studio Online
  • Load testing on VSO and VS 2015 : Covers all scenarios I know. But you need to have VS Enterprise license and ready to pay for VSO load testing
  • Manual testing — Test cases addition and execution support

IOT From Scratch

  • There will be 25 B connected Gadgets by 2020 [Source : Gartner]
  • Grove PI +
  • Full demo : Where PI sent data, Azure was receiving data, and using Power BI we can analyze that data!

Technical Debt with TFS and SonarQube

  1. Good session by Harysh Menon
  2. MS is working on integrating it with SonarQube
  3. So, you can see Technical Debt and can do quality releases!

As of now have to install it using Zip. But they are working on making installer

Neo4j – The graph DB

  • Good session by BrijRaj Singh
  • Nicely explained
  • Graph DB Concept
  • We had few demos

Overall the event was awesome! Microsoft took very good care of us. Everything was just perfect. Would like to give my gratitude to the whole team — And I thought doing it via blog post will be the best way to do it!

Waiting for the next one..!

References:

http://futureunleashed.microsoft.com

September 11, 2015 / kiranpatils

हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

Dedicated to everyone who has seen those 90’s Days:

हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

पूरा दिन हसते खेलते,
ओर एक ही चैनल (दूरदर्शन) से भी खुश रहे लेते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

बडे होते होते रामायण/महाभारत कई बार देख चुके होते,
शायद इसलिए जीवन जीने के हमारे फलसफे क्लियर होते
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

बन्दे थे हम इतने भोले,
मूर्ति दूध पीती है इस बात बात को भी पचा लेते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

माना हमारे पास मनोरंजन के साधन काम होते,
पर हरेक कार्यक्रम के समय/दिन बिना रिमाइंडर याद रहते,
शायद इसीलिए शाम को हम समय पर घर पर होते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

माना की टीवी मैं चित्र इतने  साफ़ नहीं होते,
पर लोगो के दिल आईने की तरह  साफ़ होते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

घर हमारे छोटे, ओर ना उनमे ऐसी होते,
पर अलग मजा था, जब हम साथ मे छत पर जाकर सोते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

ना मोबाइल, ना वीडियो गेम होते,
पर गलियो मैं बच्चो के खेल (लुप्पा-छुप्पी, कंचे, कबड्डी, इत्यादि) अनोखे होते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

समय बहुत था, पैसे कम थे, पर हमेशा खुश रहते,
पर जनाब अब हाल हैं उलटा, इसिलए उस समय को याद करकर अपना मन बहलाते,
हम नाइनटीस के बन्दे, हम नाइनटीस के बन्दे!

August 25, 2015 / kiranpatils

One-Click Publish in Visual Studio showing an error The underlying connection was closed: An unexpected error occurred on a send

Challenge:

If you are using Visual Studio one click publish, and you are facing following error (We were getting it while doing publish from Build server to Target server.)

Web deployment task failed. (Could not complete the request to remote agent URL ‘https://<HOSTNAME/IP&gt;:8172/msdeploy.axd?site=<OURWEBSITE>’.)
This error indicates that you cannot connect to the server. Make sure the service URL is correct, firewall and network settings on this computer and on the server computer are configured properly, and the appropriate services have been started on the server.
Error details: Could not complete the request to remote agent URL ‘https://<HOSTNAME/IP&gt;:8172/msdeploy.axd?site=<OURWEBSITE>’.
The underlying connection was closed: An unexpected error occurred on a send.Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host                   0              0              WEBSITENAME

Or any other error related to Web Deploy [a.k.a. MsDeploy] technology used behind the scenes of Visual studio publish. Then this post is for you!

Solution:

This is the error, Which took days and days for us. Because all settings were working since couple of years and suddenly it stopped working. Without getting any clue. This is what we did for troubleshooting:

  1. Disable Firewall/Antivirus, Allow Port 8172
  2. Make sure Hostname/IP gets resolved
  3. Server’s IP and Port number is reachable : Yes – We verified it using Telnet and it can connect to Port 8172  and also verified Firewall rules as well – All good!
  4. Verified all Web deploy related services are fine or not – and they are fine – We tried to run Powershell script given by Microsoft in Reference Link #2 – But no luck
  5. Verified username and password are fine – They are fine – Verified it using remote desktop with those credentials
  6. Reinstalled MSDeploy on SBX – and It didn’t helped
  7. No any log entry in MS Deploy IIS Log [HEAD/POST]
  8. Tried with MSDeploy command : msdeploy.exe -verb:dump -source:iisapp=”Default Web Site”,computername=https://:8172/msdeploy.axd?site=Default%20Web%20Site,username=,password=,authType=basic  -verbose –whatif
  9. Fired MS deploy command from my local – as given in earlier email and monitored packets on SBX server using TCPView and netstat command : Found that : TCP Packet gets sent on 8172 and status : SYNC_RCVD – and then it drops packet

During this whole process. This is what we understood:

– Web Management Service listens on 8172
– If request received it calls MsDeploy.axd

Somehow, packet gets reached to Machine – But after that it should forward it to IIS – And in turn IIS will send it to MsDeploy – And looking at log files – Packet is being dropped at machine level

  1. http://forums.iis.net/t/1227905.aspx?The+underlying+connection+was+closed+An+unexpected+error+occurred+on+a+send+
  2. http://stackoverflow.com/questions/12959501/web-deployment-task-failed-when-using-webdeploy-in-vs2012
  3. http://www.iis.net/learn/publish/troubleshooting-web-deploy/troubleshooting-web-deploy-problems-with-visual-studio
  4. http://stackoverflow.com/questions/5841370/cant-get-my-ec2-windows-server-2008-web-stack-instance-to-receive-publishings
  5. http://stackoverflow.com/questions/11479927/visual-studio-2012-web-deploy-to-windows-server-2008-r2-with-iis-7-and-msdeploy
  6. http://www.asp.net/web-forms/overview/deployment/configuring-server-environments-for-web-deployment/configuring-a-web-server-for-web-deploy-publishing-(web-deploy-handler
  7. http://stackoverflow.com/questions/10894671/msdeploy-fails-for-webdeploy
  8. http://blogs.msdn.com/b/amol/archive/2011/02/09/errors-seen-while-using-msbuild-to-deploy-on-a-remote-iis-server-and-their-solutions.aspx

We raised ticket with Microsoft Support folks and this has been fixed by changing Server URL to : http://<HOSTNAME/IP&gt;  from : https://<HOSTNAME/IP&gt;:8172/msdeploy.axd [Reference link : https://msdn.microsoft.com/en-us/library/dd465337%28v=vs.110%29.aspx]

To be honest — We haven’t been able to find out why earlier URL was working earlier and not working now!

July 28, 2015 / kiranpatils

Raspberry Pi Quick start guide

Howdy Friends – Sorry for being away since so long. But have been super busy with lot of things. And still lot of things going on. Unfortunately unable to find time to write a blog and share knowledge (I know you don’t find time. You have to allocate it. And yes — Somehow not able to allocate it.) But I’m sure soon will be able to share my learnings with you! And today’s blog would like to dedicate it to Sir Abdul Kalam. He has always been an inspiration for most of us! (Including me and you!). And when I read his following quote – I thought will work extra and get this blog out – Just for you Sir!

Kalam-Sir-Quote

What is Raspberry Pi? And what’s the usage of it?

If you haven’t heard about this then you need to come out of your cave. Because lot of techies are talking about this. Especially during March is for Makers movement. No worries — Will help you to understand it.

For Basics — Let’s talk to our friend wiki The Raspberry Pi is a series of credit card–sized single-board computers developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools.”

So, It’s a tiny computer for fun if you are techie and If you would like to inspire kids for learning programming, getting acquainted with computers and start thinking about using Technology to solve real world problems. This is a perfect start! I would strongly recommend you following links:

  1. https://www.raspberrypi.org/
  2. https://www.youtube.com/watch?v=uDCS45YntqI
  3. http://www.hanselman.com/blog/ManyRaspberryPiProjectsHowCanYouNotLoveATinyComputer.aspx
  4. http://www.hanselman.com/blog/Top10RaspberryPiMythsAndTruths.aspx
  5. http://www.hanselman.com/blog/HowToRunASPNET5Beta3OrGoLangOnARaspberryPi2.aspx

Also, I see this device got lot of capabilities for Schools and Kids. Because every Kid will have TV at their home. And using Pi they can convert to computer in around 3-5 K (Pi, Wireless Keyboard, Dongle etc.) and they have a machine ready. On which:

  1. They can do programming!
  2. They can access FULL Internet! (Obviously will need Internet Connection) – Access educational material, explore the world!
  3. They can play games
  4. And you never know — Their might be future Bill Gates/Steve Jobs who might be think of great idea — Which might change the future!

I know I am very optimistic. But possibilities are immense! And If someone gets interest in Computers/anything at this age — Then they will surely do miracles!

It looks like, I’ve portrayed Pi as a Kids computer. But wait a minute. If you are not Kid then also this is super useful to solve some real world problems. Few examples:

  1. http://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourself
  2. http://www.pcworld.com/article/2895874/10-insanely-innovative-incredibly-cool-raspberry-pi-projects.html
  3. http://readwrite.com/2014/01/21/raspberry-pi-great-projects
  4. https://www.youtube.com/watch?v=ZszlVVY1LXo

Sounds interesting?! Eager to get your hands on it! That sounds good!

How to get it?

You can buy it from Raspberry Pi distributors : https://www.raspberrypi.org/products/

While I am writing. Current latest model is : https://www.raspberrypi.org/products/raspberry-pi-2-model-b/

You can also order it from Amazon. I’ve ordered this one : http://www.amazon.com/dp/B008XVAVAW/ref=wl_it_dp_o_pC_nS_ttl?_encoding=UTF8&colid=1LNNW3EMN1G6Z&coliid=I1XQEDLACW1CNU&psc=1 (Yes, It is from Amazon.com — During my U.S. Visit — I got it – Thanks to Nathan Miller — My colleague for helping me to get ordered it using his Amazon account]

This one is complete Ultimate Starter Kit. It is not required to order complete Starter kit. You can order stuff what yo really need. But If you ask me – I would suggest ordering complete Starter kit — Because it contains everything at once! And things become really easy! But again, this suggestion doesn’t apply to you. If you have budget constraints.

And thanks to CanaKit folks. Everything was perfect! http://www.canakit.com/raspberry-pi-starter-ultimate-kit.html

 

The kit also includes a 2.5A / 5V USB power supply specially designed and tested for the power-hungry Raspberry Pi 2. The included 2.5A adapter comes with a 5-foot cable and can power the Pi2 and other USB accessories (such as most portable hard drives) without requiring an external powered USB hub.

Kit Includes:

1 x Raspberry Pi2 Model B 1GB
1 x 8 GB MicroSD Card – Raspberry Pi Recommended MicroSD Card with the new NOOBS
1 x Raspberry Pi 2 Case
1 x CanaKit 2.5A MicroUSB Power Supply specially designed for the Raspberry Pi 2 (5-foot cable)
1 x Premium Quality HDMI Cable (6-foot)
1 x WiFi Adapter/Dongle (Ralink RT5370 chipset)
1 x Set of Heat Sinks
1 x Breadboard
1 x 40-pin GPIO Ribbon Cable
1 x 40-pin T-Shaped GPIO to Breadboard Interface Board
2 x Push Button Switches
1 x RGB LED
2 x Red LEDs
2 x Green LEDs
2 x Yellow LEDs
2 x Blue LEDs
10 x 180 Ohm Resistors
5 x 10K Ohm Resistors
1 x CanaKit General Guide for Beginners to Electronic Components

So, go ahead and order one — right now! You already have it — Perfect! Then let’s see next section!

I have got it – Now what?

  1. Unpacking : Unpacking is very easy. And you can find a lot of online tutorials for it.
  2. Installation and Configuration : If you’ve ordered complete kit — Then you will have one Micro SD Card with NOOBS [New Out of Box Software] on it. If not then you can follow this instruction to install NOOBS on your card :  https://www.raspberrypi.org/help/noobs-setup/ — Just follow the instructions. You will have your Pi up and running! [I was not lucky, my initial journey was bit bumpy. I spent the couple of days starting my Pi. But I think during that journey. I learnt a lot more about it. Please refer “Few Challenges” section for more info] This is also good : http://www.canakit.com/Media/CanaKit-Raspberry-Pi-Quick-Start-Guide-1.0.pdf
  3. Few commands : Make sure you read these links and run these commands : https://www.raspberrypi.org/documentation/raspbian/updating.md
  4. How to configure WIFI? : In case you have configured WIFI in your laptop and forgot password of it. Then you can use this link to get it : https://4sysops.com/archives/how-to-find-the-wifi-password-in-windows-8-1/ then these links helped me to configure WIFI :  https://www.maketecheasier.com/setup-wifi-on-raspberry-pi/ https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
  5. How to enable Remote Desktop? : Using this link you can configure Remote Desktop for your Pi : http://www.raspberrypiblog.com/2012/10/how-to-setup-remote-desktop-from.htmlWhich means you can disconnect your Pi from Monitor and can access it using your laptop or machine!

What was my First Project?

As you know in programming world. When you start learning any new language you start with “Hello World”! In Maker’s world it is Starting an LED using your python script — Trust me when you start LED — That feeling is just awesome! To do that, I followed this article :

http://www.thirdeyevis.com/pi-page-2.php

Make sure you follow first step and your LED should light up without any program — If it is not lighting up. Which means your connection is not perfect

 

IMG_20150729_240731745

Pi Connected with Breadboard and LED light up!

 

Pi GPIO Header Quick Reference

Now, Let’s do it programmatically!

  1. connect your one cable to – GPIO 27 and another one to Any Ground
  2. Make sure you’ve setup your circuit as per schematic mentioned in an article
  3. Make sure you’ve opened Python IDE using terminal as mentioned in an article
  4. Your code should look like this:
import RPi.GPIO as GPIO ##Import GPIO Library
GPIO.setmode(GPIO.BOARD) ##Use board pin numbering
GPIO.setup(13,GPIO.OUT) ## Setup GPIO on Pin13 to out
GPIO.output(13,True) ##Turn on GPIO pin 13

Run it, and your LED should light up!

 

After that, I wanted to ON/OFF this LED using my mobile! — And we did that using Flask – Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. Basically it is a web server — Which is easy to set up and run! – Trust me — Super easy! — Once we started web server — Then it was very easy to get it done. And then connected my mobile in same WIFI — And accessed URL. Using which I can start LED ON/OFF from my phone!

Few things to keep in mind:

  1. Make sure you connect your board correctly. Basically all pins should be touching the bottom portion of breadboard. Good read : https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/breadboard/
  2. When you connect your GPIO Ribbon cable make sure RED line is at right side — Or at First GPIO
  3. Understand GPIO numbers — http://www.raspberrypi-spy.co.uk/2012/06/simple-guide-to-the-rpi-gpio-header-and-pins/ — It will save a lot of your time!

Few challenges:

When I was configuring Pi with my old monitor [VGA to HDMI Converter], PS2 Mouse and Keyboard [PS2 to USB Converter]. I was getting following error:

Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

Referred all above blogs. But nothing worked. But after changing it to new monitor with HDMI Cable and new Wireless USB Keyboard and Mouse — It started working! So, I am sure it was hardware failure!

References:

I hope this article helped you to understand Basics of Pi and inspired you to get your hands on it! This is just begining — Lot of things can be done using this. And it will be done in upcoming days — Just need to find sometime!

Special Thanks to Daniel – For helping me understand all the basics!