Hi, I'm Kamesh. I enjoy building web apps.
Kamesh Balasubramanian is the Founder and CEO of Wirecog, LLC. He is the inventor of Wireframe Cognition (Wirecog), a patented, award-winning technology. He is also the Founder of Isomorphic Go, an open source project providing the most advanced technology to build full stack Go applications. He has an immense passion for Go, and has authored numerous titles on the programming language which have been published by Packt.
As a thought leader, Kamesh has delivered insightful talks and presentations on emerging technology that was made with Go; at MIT, GopherCon India, and The World Maker Faire. He is also a contributor to Silicon India magazine.
Kamesh has over two decades of software engineering experience, and has created acclaimed solutions in numerous business sectors.
Update: The Isomorphic Go book reached Amazon's Best Sellers List (Top 100) under the Client Server Systems Networking sub-category on January 26, 2018.
Isomorphic Go is the methodology to create isomorphic web applications using the Go programming language. Isomorphic web applications have the capability to reuse code across environments, increasing the synergy between the web server and the web browser. This book is a hands-on guide that will show you how to build and deploy an Isomorphic Go web application.
Isomorphic Go begins with an in-depth exploration of the benefits provided by the isomorphic web application architecture. You'll be introduced to the Isomorphic Go toolchain, and how it can help you write Go code that functions across environments. You'll learn how to create Go programs in the web browser using GopherJS and how to render isomorphic templates. Then you'll be introduced to end-to-end application routing, use isomorphic handoff to seamlessly transition state from the web server to the web browser, and compose isomorphic forms that have the ability to reuse form validation logic. You'll be exposed to advanced concepts including the implementation of real-time web application functionality with websockets and the creation of reusable components (cogs) that are rendered using the virtual DOM. Finally, you'll see how to deploy an Isomorphic Go web application to a production environment.
The Go Programming Language's adoption by developers for building web applications has been on the rise. With its ecosystem growing in size and its stable architecture, Go offers a strong library for building scalable and high-performant web services and apps.
In this first of the four core sections that make up this course, we will start by introducing you to programming with Go. We will show you how to install Go and how to configure your workspace and development environment. We will move on to demonstrate basic Go concepts, to provide you with a strong foundation. We will explore arrays, slices, maps and user-defined types. Moving on, we will take a look at Go's built-in concurrency constructs and introduce you to several tools included with Go. We will finish the section by implementing a simple web server using Go.
Go is one of the most powerful, efficient, and highly performant programming languages. Go has seen an increased rate of adoption mainly because it is lightweight, easy to use, and displays great robustness when performing in a variety of domains.
In this video course, that's part of the Web Programming with Go series, we will cover both the basics of back-end web development using Go, as well as more advanced topics. We will present you with real-world solutions and advanced-level concepts such as implementing a datastore for a variety of databases, creating secure cookies, implementing authentication middleware, and implementing an asynchronous task queue. We will show you how to write idiomatic Go code that is efficient, maintainable, and reusable.
You don't need to be familiar with back-end web development, since we dedicate time to explain essential concepts including web templating, the Model View Controller pattern, managing requests and responses, and building web forms. We move on to explain how these concepts can be implemented using Go, and walk you through the process in an easy to follow, step by step manner.
As we progress through the course, you'll learn the secrets to solve real-world problems, such as uploading image and video files, and dynamically generating thumbnail representations from them. This course will also get you up to speed with data persistence using a relational database, a document database, and an in-memory database. In addition to that, this course provides extensive coverage on user authentication, and finally, we will show you how to implement an asynchronous task queue to perform long running tasks in the background.
In addition to getting you up to speed with back-end web development practices, this video course will also provide you with helpful advice and techniques that will guide you on your way to becoming a successful Go programmer.
Go is one of the most powerful, efficient, and highly performant programming languages. Go is not only a powerful tool that can be utilized on the server-side but one that can be utilized on the client-side as well. With the power of Go and GopherJS, we can create feature-rich, client-side applications that run directly inside the web browser.
This video course provides a pragmatic approach to learning front-end web development using Go. Each video provides in-depth knowledge on a topic with a number of hands-on examples. As you progress through the course, we continue to elevate your skills to the next level.
Go is one of the most powerful, efficient, and highly performant programming languages. This video course teaches you how to deploy a full-stack Go application to a cloud-based production environment.
We start off by showing you how to provision a virtual server instance on the Linode cloud, install MySQL and Nginx, and obtain and install a free SSL certificate from Let's Encrypt. We introduce you to Linode, a major cloud provider of virtual private servers. Then you’ll see how cross-compile a Go application, prepare and deploy a production deployment bundle, and turn a Go application into a system service.
Moving on, you’ll find out how to dockerize a Go application and use the Docker Compose tool to define and run a multi-container Docker application. Finally, you’ll see how to turn a dockerized Go application into a system service.
My brainchild, Wirecog®, originated as a hobby project that I worked on over many nights and weekends. Wirecog® is based on state of the art, patented technology, known as Wireframe Cognition ("wirecog" for short). This technology allows machines to autonomously produce source code from a set of wireframe design images.
I believe Wirecog® has the potential to immensely increase the creative collaboration between design and engineering talent. One major benefit of Wirecog®, is to provide a mechanism for designers to create head starts that software developers can readily build upon (instead of starting projects from scratch). When utilized at scale, there is potential for Wirecog® to save organizations considerable time, money, and energy by automating certain processes that are currently manual.
Wirecog® was chosen as a grand prize winner at the 2016 Winter Cycle InfyMakers, a national inventors competition sponsored by the Infosys Foundation USA.
I've developed a number of high-profile web sites and web applications for Disney. I developed the industry-leading, award-winning web site, Disney Aulani. It also happened to be the first web site based on the LAMP technology stack released by the company's Parks and Resorts division. I've also had the opportunity to work on other high profile web sites including Disney Weddings, Disneyland.com, and Disneyworld.com.
I've also created technology that has added value to the company's intellectual property portfolio. Using mobile web technologies, I built an an online directory assistant kiosk that was the centerpiece of a multi-million dollar, campus renovation project. I created a state of the art, highly performant pathfinding algorithm that powered the kiosk's core functionality.
As a result of my achievements, I have won two high performance awards from Disney's CEO. I have also earned the highest performance evaluation rating of "Leading the Way", a distinction that is rarely awarded.
I developed the ESPN Wide World of Sports web site based off an older web site implemented in a proprietary, legacy technology that was soon to be decomissioned. With a codebase spanning several hundred thousand lines of code, I could understand why many developers were skeptical of the ambitious plan to convert it into a PHP/Zend Framework based project within a three month timeframe.
I felt that an effective and timely solution could be attained using some creative thinking. Instead of applying a brute-force, manual conversion strategy on the old web site, I decided to create a code conversion suite. This solution transformed the legacy code from the old web site into PHP/Zend Framework code that complied with the company's architectural guidelines. I made this solution while fulfilling my daily web development responsibilities for the web site's redesign/rebranding effort.
ABC has a portfolio of 20+ web applications that comprise their ERP solution to manage the production of television broadcast animation. These mission-critical web applications allow the company to consistently produce broadcast quality animation on a timely basis. I was involved in the full SDLC (software development life cycle) of these web applications.
"I would like to thank Kamesh for the amazing work he did on our web site. Honestly, PR and Marketing didn’t have any immediate campaign plans until they saw the web site. They were really excited about the web site and wanted to launch it with a significant PR campaign (which is a testament to his work). I really appreciate how flexible and persistent Kamesh was in pulling our web site together."
— Senior Executive at The Walt Disney Company
"I could not recommend Kamesh highly enough. He is personable, kind, always willing to do anything and would be a great addition to any organization. Kamesh is a consummate professional in every aspect of his work. This included a detailed and immediate understanding of the work, gathering requirements from customers, delegation to other members of the team, communicating with customers and providing detailed and clear status reports. Kamesh is a professional programmer. Not only did he possess all related skills for the complete cycle of web development but Kamesh was asked to perform many other diverse tasks that were always completed. The best thing I could say is that I would give tasks to Kamesh and had 100% confidence that they would get done. I not only recommend Kamesh, but I urge you to make him a member of your team."
— Peter Jakl, President of Pragmatic Solutions, Inc.
"I had the pleasure of being Kamesh's classmate while studying at California State University, Northridge. We worked in various group projects and studied for many exams together. He has an innate ability to think outside the box and implement his ideas into practice. He is an excellent problem solver and self starter with his relentless work ethic. Most importantly, Kamesh is an excellent team player. I know I could always count on him to hold his end of the deal in our group projects."
— Sashank Nepal, Electrical Engineer
This web page was assembled in 350.068µs by Kamesh's Blog Engine.
Copyright © Kamesh.com. All Rights Reserved