<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CodeDemo on Ash Tewari</title><link>https://www.tewari.info/tag/codedemo/</link><description>Recent content in CodeDemo on Ash Tewari</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Fri, 11 Mar 2016 00:23:06 +0000</lastBuildDate><atom:link href="https://www.tewari.info/tag/codedemo/feed.xml" rel="self" type="application/rss+xml"/><item><title>KeyNode with Node.js and Microsoft Azure</title><link>https://www.tewari.info/2016/03/10/keynode-with-node-js-and-microsoft-azure/</link><pubDate>Fri, 11 Mar 2016 00:23:06 +0000</pubDate><guid>https://www.tewari.info/2016/03/10/keynode-with-node-js-and-microsoft-azure/</guid><description>&lt;p&gt;&lt;a class="link" href="https://github.com/ashtewari/keynode" title="KeyNode"&#10; target="_blank" rel="noopener"&#10; &gt;KeyNode&lt;/a&gt; is a application to issue and verify software license keys. Technology stack for KeyNode is &lt;a class="link" href="https://nodejs.org/" title="Node.js"&#10; target="_blank" rel="noopener"&#10; &gt;Node.j&lt;/a&gt; s, &lt;a class="link" href="https://www.mongodb.org/" title="MongoDB"&#10; target="_blank" rel="noopener"&#10; &gt;MongoDB&lt;/a&gt; and &lt;a class="link" href="https://azure.microsoft.com/" title="Microsoft Azure"&#10; target="_blank" rel="noopener"&#10; &gt;Microsoft Azure&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;I had built this functionality with &lt;a class="link" href="https://c9.io" title="C9.io"&#10; target="_blank" rel="noopener"&#10; &gt;C9.io&lt;/a&gt; (a cloud-based IDE with a built-in source code repository and debugger), &lt;a class="link" href="http://www.prnewswire.com/news-releases/mongohq-becomes-compose-270174611.html" target="_blank" rel="noopener"&#10; &gt;mongohq&lt;/a&gt; (MongoDB as a service - now part of &lt;a class="link" href="https://www.compose.io/" title="compose.io"&#10; target="_blank" rel="noopener"&#10; &gt;compose.io&lt;/a&gt;) and &lt;a class="link" href="https://www.ctl.io/appfog/" title="AppFog"&#10; target="_blank" rel="noopener"&#10; &gt;appfog&lt;/a&gt; (Cloud PAAS built on top of &lt;a class="link" href="https://www.cloudfoundry.org/" title="CloudFoundry"&#10; target="_blank" rel="noopener"&#10; &gt;CloudFoundry&lt;/a&gt;). It used SMTP/gmail to email license files. That was the version I created a couple of years ago to issue tamper-proof signed xml license files for &lt;a class="link" href="http://codedemo.net/" target="_blank" rel="noopener"&#10; &gt;CodeDemo&lt;/a&gt; (a code snippet tool for developers, presenters and instructors).&lt;/p&gt;&#10;&lt;p&gt;For KeyNode (open source) I switched to a different toolset : &lt;a class="link" href="https://code.visualstudio.com/" title="Visual Studio Code"&#10; target="_blank" rel="noopener"&#10; &gt;Visual Studio Code&lt;/a&gt; and &lt;a class="link" href="https://azure.microsoft.com/" target="_blank" rel="noopener"&#10; &gt;Windows Azure&lt;/a&gt;, simplified the code to remove signed xml file and open-sourced it on &lt;a class="link" href="https://github.com/ashtewari/keynode" target="_blank" rel="noopener"&#10; &gt;GitHub&lt;/a&gt;. Signed xml allowed offline verification in CodeDemo (a Wpf/Desktop app). Removing signed xml requires verification to happen online. I am working on adding the web endpoint for verification of license keys. This version uses &lt;a class="link" href="https://sendgrid.com/" title="SendGrid"&#10; target="_blank" rel="noopener"&#10; &gt;SendGrid&lt;/a&gt; to email license keys. KeyNode is deployed as a &lt;a class="link" href="https://azure.microsoft.com/en-us/services/app-service/web/" target="_blank" rel="noopener"&#10; &gt;Windows Azure Web App&lt;/a&gt;. The Azure Web App is on Continuous Deployment feed from the source code repository on GitHub.&lt;/p&gt;&#10;&lt;p&gt;I created and tested this Node.js application locally without IIS and deployed it as an Azure Web App without making any changes to the code at all. Node.js applications are hosted in Azure under IIS with &lt;a class="link" href="https://github.com/tjanczuk/iisnode" title="iisnode"&#10; target="_blank" rel="noopener"&#10; &gt;iisnode&lt;/a&gt;. &lt;a class="link" href="https://github.com/tjanczuk/iisnode" target="_blank" rel="noopener"&#10; &gt;Iisnode&lt;/a&gt; is a native IIS module that allows hosting of node.js applications in IIS on Windows. Read more about iisnode &lt;a class="link" href="https://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.html" target="_blank" rel="noopener"&#10; &gt;here&lt;/a&gt;. Iisnode architecture also makes it significantly &lt;a class="link" href="https://blogs.msdn.microsoft.com/hanuk/2012/05/04/top-benefits-of-running-node-js-on-windows-azure/" target="_blank" rel="noopener"&#10; &gt;easier&lt;/a&gt; to take advantages of scalability afforded by Azure.&lt;/p&gt;&#10;&lt;p&gt;KeyNode is a work in progress. My plan is to use this as the basis for further explorations in the following areas :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;DevOps, Docker and Microservices (at miniature scale of course!)&lt;/li&gt;&#10;&lt;li&gt;Create a Web UI with &lt;a class="link" href="http://expressjs.com/" target="_blank" rel="noopener"&#10; &gt;Express&lt;/a&gt;(a Node.js web application framework)&lt;/li&gt;&#10;&lt;li&gt;Integrate with &lt;a class="link" href="https://azure.microsoft.com/en-us/services/storage/" target="_blank" rel="noopener"&#10; &gt;Azure Storage/Queues&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;and more&amp;hellip;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;I invite you to check out the &lt;a class="link" href="http://keynode.azurewebsites.net/" target="_blank" rel="noopener"&#10; &gt;live site on Azure&lt;/a&gt; and fork it for your own experiments : &lt;a class="link" href="https://github.com/ashtewari/keynode" target="_blank" rel="noopener"&#10; &gt;KeyNode on GitHub&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Resources :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://azure.microsoft.com/en-us/develop/nodejs/" target="_blank" rel="noopener"&#10; &gt;Node.js Developer Center&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.html" target="_blank" rel="noopener"&#10; &gt;Hosting Node.js Applications in IIS on Windows&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://blogs.msdn.microsoft.com/hanuk/2012/05/04/top-benefits-of-running-node-js-on-windows-azure/" target="_blank" rel="noopener"&#10; &gt;Top Benefits of Running Node.js on Windows Azure&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Photo Credit : Piano Keyboard (&lt;a class="link" href="https://www.kpmalinowski.pl/" target="_blank" rel="noopener"&#10; &gt;www.kpmalinowski.pl&lt;/a&gt;)&lt;/p&gt;&#10;</description></item><item><title>Announcing New CodeDemo Feature - ZoomIt Integration</title><link>https://www.tewari.info/2014/06/15/codedemo-zoomit-integration/</link><pubDate>Mon, 16 Jun 2014 01:15:01 +0000</pubDate><guid>https://www.tewari.info/2014/06/15/codedemo-zoomit-integration/</guid><description>&lt;p&gt;I am very excited to announce a new feature of &lt;a class="link" href="http://www.codedemo.net" target="_blank" rel="noopener"&#10; &gt;CodeDemo&lt;/a&gt;. This feature integrates with &lt;a class="link" href="http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx" target="_blank" rel="noopener"&#10; &gt;ZoomIt&lt;/a&gt; and enables you to use ZoomIt much more fluently.&lt;/p&gt;&#10;&lt;p&gt;ZoomIt is a great presentation tool. It helps speakers and presenters deliver very effective presentations. But many presenters are not using this great tool as much and as effectively as it can be used. The reason is that ZoomIt has a bit of a learning curve. It takes practice to use it fluently. You have a lot going on in your mind while you are doing a presentation. Using ZoomIt distracts you from your presentation. Practice helps you get over this distraction. A lot of presenters use ZoomIt very effectively with practice. But for the rest of us, ZoomIt mastery has been elusive.&lt;/p&gt;&#10;&lt;p&gt;I have experimented and practiced (a lot) with several different ways to gain fluency with ZoomIt, including using custom keyboard combinations, but I could never get to the point where using ZoomIt feels like second nature. I realized that the mental and visual shift it takes to locate the keyboard combination and execute ZoomIt command with two fingers breaks the flow of the presentation and causes the distraction. &lt;strong&gt;I came up with a new way to use ZoomIt that has helped me immensely.&lt;/strong&gt; And I added that as a feature in CodeDemo, so now you can use this method too.&lt;/p&gt;&#10;&lt;p&gt;Some of you are familiar with CodeDemo. For those who are not, it is another new tool for presenters. I created this tool to make it easier to use code snippets in your presentations. ZoomIt integration is a new feature of CodeDemo. To use this feature -&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Start ZoomIt. If ZoomIt is not running, the commands will be simply ignored.&lt;/li&gt;&#10;&lt;li&gt;If you use custom keyboard combinations in ZoomIt, you will need to reset them back to defaults -&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Ctrl+1 to Zoom&lt;/li&gt;&#10;&lt;li&gt;Ctrl+2 to Draw&lt;/li&gt;&#10;&lt;li&gt;Ctrl+4 to LiveZoom&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Start CodeDemo.&lt;/li&gt;&#10;&lt;li&gt;Open a demo file. Any demo file will do. You must have a demo file open to call ZoomIt. If QuickStart.txt is already open in CodeDemo, you do not need to load another file. You can open Quickstart.txt file by clicking on the &amp;ldquo;Quickstart&amp;rdquo; button in the top menu.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Now the key step - do a quick double-tap on the CTRL key&lt;/strong&gt;. ZoomIt will be invoked and you will see a zoomed-in portion of your screen.&lt;/li&gt;&#10;&lt;li&gt;At this point, you use ZoomIt as you normally do.&#10;&lt;ul&gt;&#10;&lt;li&gt;Click to freeze the visual.&lt;/li&gt;&#10;&lt;li&gt;Press Ctrl key and use the mouse to draw a rectangle on the screen.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Double-tap on the CTRL key (or press ESCAPE key) to exit ZoomIt &amp;ldquo;Zoom&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;You can also invoke ZoomIt &amp;ldquo;Draw&amp;rdquo; with a quick double-tap on the ALT key and ZoomIt &amp;ldquo;LiveZoom&amp;rdquo; with a quick double-tap on the SHIFT key. You may need to enable ZoomIt integration from the settings panel in CodeDemo :&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.tewari.info/wp-content/codedemo-settings-zoomit.png" &gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tewari.info/wp-content/codedemo-settings-zoomit.png"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Invoking ZoomIt with a quick double-tap using just the index finger (or thumb) did the trick for me. I do not have to direct my attention to the keyboard anymore. The CTRL key is right there at the bottom corner of my keyboard and I can invoke ZoomIt without moving my eyes, my hand or my mind. &lt;strong&gt;There is only one thing to remember while using ZoomIt from CodeDemo - The CTRL key. That’s all. That one key will take care of 90% of what you need, to become effective with ZoomIt.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;You can get CodeDemo from &lt;a class="link" href="http://www.codedemo.net" target="_blank" rel="noopener"&#10; &gt;http://www.codedemo.net&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Photo Credit : http://thenounproject.com/term/gift/13360/&lt;/p&gt;&#10;</description></item><item><title>Do not learn another programming language</title><link>https://www.tewari.info/2014/05/31/do-not-learn-another-programming-language/</link><pubDate>Sat, 31 May 2014 22:43:20 +0000</pubDate><guid>https://www.tewari.info/2014/05/31/do-not-learn-another-programming-language/</guid><description>&lt;p&gt;As software developers, many of us &lt;a class="link" href="http://www.sitepoint.com/best-programming-language-learn-2014/" target="_blank" rel="noopener"&#10; &gt;agonize&lt;/a&gt; over which &lt;a class="link" href="http://mashable.com/2014/01/21/learn-programming-languages/" target="_blank" rel="noopener"&#10; &gt;programming&lt;/a&gt; &lt;a class="link" href="http://beta.slashdot.org/story/08/03/18/1633229/what-programming-languages-should-you-learn-next" target="_blank" rel="noopener"&#10; &gt;language&lt;/a&gt; we should &lt;a class="link" href="http://www.reddit.com/r/learnprogramming/comments/1y02s2/which_programming_language_should_i_learn_next/" target="_blank" rel="noopener"&#10; &gt;learn&lt;/a&gt; &lt;a class="link" href="http://www.streamhead.com/what-programming-language-to-learn-next/" target="_blank" rel="noopener"&#10; &gt;next&lt;/a&gt;. I have a suggestion - don&amp;rsquo;t learn another programming language. Learn a creative design skill - graphics design, 3-D modelling or Game Development. Learn basic photo editing skills instead of F#. I know &lt;a class="link" href="https://twitter.com/jamie_dixon" target="_blank" rel="noopener"&#10; &gt;Jamie&lt;/a&gt; and &lt;a class="link" href="https://twitter.com/ChipBurris" target="_blank" rel="noopener"&#10; &gt;Chip&lt;/a&gt; will agree with me ;).&lt;/p&gt;&#10;&lt;p&gt;I have a bit of a designer inside me. Not a lot. Just a bit. I was probably 15 when I learned how to do architectural perspective drawings. I created a few of the house renovation my dad was doing at the time. One of my dad&amp;rsquo;s friend asked me to create a drawing for the addition he was doing to his house. More recently, I have designed some logos (for my own use), as well as UI design of &lt;a class="link" href="http://www.windigoapp.com/" target="_blank" rel="noopener"&#10; &gt;Windigo&lt;/a&gt;, a Windows Phone app I created a couple of years ago. These are some of the logos I have created :&lt;/p&gt;&#10;&lt;figure&gt;&lt;img src="https://www.tewari.info/wp-content/tile.png" width="210"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;figure&gt;&lt;img src="https://www.tewari.info/wp-content/Logo.png" width="150"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;figure&gt;&lt;img src="https://www.tewari.info/wp-content/CodeDemo-Medium.png" width="126"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;The UI and UX design of apps is something that fascinates me and I can see myself indulging in that some more. I am one of those software developers who (think they) have some design chops. Although I have not asked her yet, but I am confident that my mother will completely agree with me on this. I think she is still saving some of the masterpieces from my kindergarten.&lt;/p&gt;&#10;&lt;p&gt;I am excited about the addition of &lt;a class="link" href="http://www.pluralsight.com/training/DigitalTutors" target="_blank" rel="noopener"&#10; &gt;Digital Tutors&lt;/a&gt; content in the &lt;a class="link" href="http://www.pluralsight.com/" target="_blank" rel="noopener"&#10; &gt;Pluralsight&lt;/a&gt; library. I am drooling at the prospect of learning some new skills from there. I browsed the entire library to see if I can latch on to something. I started looking for a software in the library that I can afford. You will be lucky to find one that is less than a few grands. I am exaggerating, but only a little. I also noticed an interesting trend that some of this software is being offered for rent! Here is a list of four that I could start using a little or no cost and it is not a trial :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;a class="link" href="http://pixologic.com/sculptris/" target="_blank" rel="noopener"&#10; &gt;Sculptris&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://www.unrealengine.com/products/udk/" target="_blank" rel="noopener"&#10; &gt;UDK&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="http://unity3d.com/unity/download" target="_blank" rel="noopener"&#10; &gt;Unity&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="http://www.e-onsoftware.com/try/vue_2014_ple/" target="_blank" rel="noopener"&#10; &gt;Vue - Personal Learning Edition&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;I think it is awesome that &lt;a class="link" href="http://www.pixar.com/" target="_blank" rel="noopener"&#10; &gt;Pixar&lt;/a&gt; has made its &lt;a class="link" href="http://renderman.pixar.com/view/renderman" target="_blank" rel="noopener"&#10; &gt;RenderMan&lt;/a&gt; software available for &lt;a class="link" href="http://thenextweb.com/creativity/2014/05/29/pixar-offers-renderman-free-non-commercial-users-lowers-overall-price/" target="_blank" rel="noopener"&#10; &gt;free for non-commercial use&lt;/a&gt;. RenderMan has been used to &lt;a class="link" href="http://renderman.pixar.com/view/movies-and-awards" target="_blank" rel="noopener"&#10; &gt;create movies&lt;/a&gt; like Frozen, IronMan 3, The Dark Knight and Pacific Rim. Pluralsight has the &lt;a class="link" href="http://www.digitaltutors.com/software/RenderMan-tutorials" target="_blank" rel="noopener"&#10; &gt;RenderMan&lt;/a&gt; covered as well.&lt;/p&gt;&#10;&lt;p&gt;I will probably start with Unity first. I have already played around with it. I think it will be good to build on that. More on this later. Stay tuned.&lt;/p&gt;&#10;&lt;p&gt;Photo Credit : https://flic.kr/p/5FXV7r&lt;/p&gt;&#10;</description></item><item><title>Announcing CodeDemo</title><link>https://www.tewari.info/2014/03/09/announcing-codedemo/</link><pubDate>Mon, 10 Mar 2014 01:58:22 +0000</pubDate><guid>https://www.tewari.info/2014/03/09/announcing-codedemo/</guid><description>&lt;p&gt;It is a challenge to use code snippets in presentations, demos and live coding sessions. I have struggled with this and seen many speakers jumping through hoops to assimilate code snippets in their demos. I had to create something to ease this pain.&lt;/p&gt;&#10;&lt;p&gt;Today, I am announcing the general availability of &lt;a class="link" href="http://codedemo.net/" title="CodeDemo website"&#10; target="_blank" rel="noopener"&#10; &gt;CodeDemo&lt;/a&gt;. A tool for instructors, presenters and speakers who create instructional demos, record screen-casts or do live presentations. CodeDemo pastes code snippets into your favorite IDE without getting in your way.&lt;/p&gt;&#10;&lt;p&gt;I decided not to open-source CodeDemo to challenge myself to an exercise in commercialization. I decided to learn about entrepreneurship, marketing, sales, licensing and other aspects of software commercialization. It has been an MBA&amp;rsquo;s worth of education so far. This journey is not over yet. I am taking the &lt;a class="link" href="http://theleanstartup.com/principles" title="The Lean Startup"&#10; target="_blank" rel="noopener"&#10; &gt;Lean&lt;/a&gt; approach of creating a &lt;a class="link" href="http://en.wikipedia.org/wiki/Minimum_viable_product" title="minimum viable product"&#10; target="_blank" rel="noopener"&#10; &gt;Minimum Viable Product&lt;/a&gt;. The future of CodeDemo, its feature set and the price, will be shaped by the traction it gets in the market, the feedback from the customers as well as patterns of use reported by the users.&lt;/p&gt;&#10;&lt;p&gt;Head over to &lt;a class="link" href="http://codedemo.net" target="_blank" rel="noopener"&#10; &gt;http://codedemo.net&lt;/a&gt; to grab a copy for yourself. Let me know if find it useful - I will be very excited to hear from you.&lt;/p&gt;&#10;&lt;p&gt;Here is a quick 2 minute introduction to CodeDemo :&lt;/p&gt;&#10;&lt;p&gt;[youtube]aFn3boBAWjw[/youtube]&lt;/p&gt;&#10;</description></item></channel></rss>