Below you will find pages that utilize the taxonomy term “technology”
Oct, 2024 - Post
Understanding the Thread Protocol and Network
In previous articles, we explored MQTT in-depth, even setting up a web-based remote controller that simulated a physical button. We did this in a “Soft IoT” way, avoiding hardware intricacies. However, in IoT, networking between devices plays a crucial role. Not all IoT devices are connected to the Internet or can communicate via MQTT over the internet, as shown in our earlier examples. These devices need a low-latency, low-power network that can auto-discover and manage device communication seamlessly.
read more
Oct, 2024 - Post
Soft IoT Continued: Bringing the Internet into IoT
Simplifying IoT learning doesn’t have to mean getting bogged down with hardware details. Instead, let’s dive into Soft IoT — where we focus on software-driven IoT exploration. In this article, we’ll learn how to read inputs from a button and turn it into a web based remote control for an LED, all while keeping things software-centric..
In the previous article, we introduced Soft IoT using a Grove Pi board, which simplifies IoT learning by hiding wiring and connections complexity.
read more
Oct, 2024 - About
About
👉 About Me 📨 Contact Me 🎗️ Communities I Support 🛟 My Life Mantras 🗣️ What others says about me 🐦🔥️ My Inventions 📚️ My Books 🏆️ My Awards
👉 Few words about Kuldeep! Kuldeep has built his career empowering businesses with the Tech@Core approach. He has incubated IoT and AR/VR Centres of Excellence with a strong focus on building development practices such as CICD, TDD, automation testing and XP around new technologies.
read more
Oct, 2024 - Post
Myths and Realities of AI-Assisted Software Development
AI is transforming the software development process, but there are many misconceptions about its capabilities. This article explores the common myths surrounding AI in software development and sheds light on its reality.
In recent times, Artificial Intelligence (AI) has gained momentum across various fields, especially with the introduction of Generative AI (GenAI). AI is now widely accessible, often sparking discussions about its potential, its misuse, and, unfortunately, several myths. As the hype around AI intensifies, so does the Fear of Missing Out (FOMO), leading many to adopt it without fully understanding its true value.
read more
Oct, 2024 - Post
Getting Started with Soft IoT
Learning IoT doesn’t have to be complex, especially when starting out. In this post, we’ll explore how to get started with IoT without diving deep into hardware complexities like wiring or understanding intricate sensor details.
In an earlier article, we set up a Raspberry Pi. My son initially saw it as just another, albeit slower, computer. There was no “IoT” in it yet, just a basic device. But IoT is about more than just the device itself; it’s about integrating sensors and actuators.
read more
Oct, 2024 - Event
India's Metaverse Journey - XROM Podcast
Exciting conversation on the future of tech with Eddie Avil, where we dive into my journey of writing Exploring the Metaverse, discuss the opportunities and challenges of the digital age, and even touch on mind-bending concepts like Programmable Dreams and Time Travel. Are we ready for what’s coming?
XROM Podcast 🎙️ XROM PODCast, hosted by serial entrepreneur and visionary Eddie Avil, is an incredible YouTube channel showcasing conversations with industry leaders in emerging tech.
read more
Sep, 2024 - Post
Booting Up the Internet of Things
A few years ago, I bought a Raspberry Pi 3, but during a house move, I misplaced it. Fast forward to this Diwali cleaning, and to my surprise, I found it! My son’s curiosity was piqued, so we decided to set it up together. While my recent focus has been on XR technologies and we setup XRPractices, but this moment brought me back to IoT — sparking the idea to share my journey and experiences through a series of articles on getting started with IoT.
read more
Jun, 2024 - Post
Generative XR – Space aware AI bringing new era of immersion
Artificial Intelligence has made significant strides with the development of Large Language Models (LLMs) or Generative AI, which are trained to understand and respond to human language naturally. Tools like OpenAI’s ChatGPT, Google’s Gemini, and Microsoft’s Co-pilot have become the go-to resources for “Ask me anything” queries. These innovations have been touted as potential Google Search Killer, disrupting the way we search for information, communicate with machines, and receive machine responses.
read more
Jun, 2024 - Event
Guest Lecture: AI and Metaverse reshaping the future
AI is pervasive, whether we sense it or not. Staying updated has become essential for survival. We are increasingly immersed in artificially generated worlds, with the internet rapidly evolving into what is known as the metaverse. In my book, “Exploring the Metaverse”, I delve into its various forms and interpretations, usecases and challenges, and the way forward.
DesignersX, a company specializing in software development, invited me to speak about my book and discuss how AI and the metaverse will shape the future.
read more
Apr, 2024 - About
Books
📕 Exploring the Metaverse Redefining Reality in the Digital Age “Exploring the Metaverse” is a comprehensive guide to the metaverse, the future state of the internet. Prepare yourself for what’s ahead by understanding the opportunities and challenges of the metaverse. This book calls us to action, emphasizing that its evolution is in our hands. You can find a detailed synopsis of the book here.
Available globally on Amazon and BPB Online as both paperback and eBook.
read more
Apr, 2024 - Post
The Future of Retail with Extended Reality (XR)
eXtended Reality (XR/AR/VR) technology is changing the reality of almost every industry today by enhancing user experiences. XR adoption in the retail industry is also quite natural, let’s understand how it is shaping up the future of retail.
In today’s retail landscape, technology is reshaping customer experiences, with XR leading the charge. Extended Reality (XR), including VR, AR, and MR, offers immersive experiences blending the physical and virtual worlds. From head-mounted displays to smart glasses and smartphones and beyond, XR is changing how we interact with retail environments.
read more
Mar, 2024 - Post
🤝 Making the XR content usable with AI!
Generative AI is revolutionizing content generation across various mediums, disrupting traditional methods in text, images, art, movies, and music creation. XR (Extended Reality) is also undergoing this transformation. In a previous article, Raju Kandaswamy and I discussed how AI aids in generating content for XR, meeting the dynamic needs of XR and the metaverse.
We highlighted content management as a key challenge in XR and metaverse adoption. While generative AI methods offer some solutions, the significant hurdle of content optimization remains.
read more
Mar, 2024 - Post
📕 Coming Soon! Exploring the Metaverse
In the world of tech buzzwords, “metaverse” has been topic of discussion, largely understood and misunderstood. It comes, goes, and comes again in new shapes and forms, definitions and understanding. The term has been around for three decades and is poised to continue its evolution.
In the past, it has been defined to suit the narratives of organizations and individuals alike. Some see it as a game, others as a virtual world, while some view it as a tool for global connection and collaboration.
read more
Feb, 2024 - Post
Immersive is the new interactive
The way we interact with each other, and the world around us, is changing fast. And with consumer expectations continuing to grow, enterprises are racing to find new ways to deliver immersive experiences. I am republishing this article from Thoughtworks Insights here.
As we discuss in the evolving interactions lens of our latest Looking Glass report, extended reality (XR) technologies offer new opportunities to engage and entertain. But what exactly is XR?
read more
Jan, 2024 - Post
Thoughtworks' Looking Glass 2024 - Takeaways
Thoughtworks unveils its latest tech trends report, ‘Looking Glass’, a comprehensive analysis of emerging technologies designed to empower organizations and leaders in making informed decisions. The 2024 edition of report, covering over 100 trends, is segmented through five lenses, each offering insights, signals, and strategic recommendations for adoption, analysis, and anticipation.
Key takeaways: Here are my key takeaways:
AI’s ubiquitous reach - AI is going in every facet of technology, from conversational interfaces to AI-assisted software development and software-defined vehicles.
read more
Dec, 2023 - Post
Foundational shifts: Reflecting on 2023 and anticipating ahead
As we say goodbye to 2023 and welcome 2024, it’s a time to think about the good and tough parts of the year. Not everything goes the way we want, but we can learn from both the good and bad experiences. I see 2023 as a year of making things better, like fixing the base of a building. I’ve picked my top five observations on foundational changes from this year, and some might continue into 2024.
read more
Aug, 2023 - Post
Generative AI for 3D content in XR and beyond
We touched upon Generative AI while talking about AI assisted content pipeline for XR at Thoughtworks XConf 2022. Generative AI is capable of producing outputs that closely resemble those created by humans. It is evolving in multiple forms, one of its kind is ChatGPT, a useful tool buried beneath the hype. It was touted as Google Killer, and posed a disruption to the way we search, we communicate with machines, and the way machines can respond.
read more
Jul, 2023 - Event
Speaker - Lean2Lead tech track - Twisted realities
Lean2Lead is a network of women at work, with will to lead and succeed in their respective areas of work. They are 400+ women from different industries together in this group for exchange of ideas, connecting and coaching, building network with industry leaders and inspiring each other for building strategies for success in leadership and executive roles.
I am speaking at their tech session series, on 15 July 2023, 3-4 PM.
read more
Apr, 2023 - Post
Exploring the Potential of XR Technology for Virtual Decoration
In recent years, XR technology has revolutionized the way we decorate our physical environments. By utilizing AI and computer vision, XR can scan and track real-world surroundings, recognizing and remembering images and objects to enable the addition of virtual content. This technology can store and recall virtual decorations, making them visible every time someone enters the environment. While image matching is not a new concept, XR platforms like Vuforia have already implemented various mobile XR examples.
read more
Mar, 2023 - Event
Speaker - Agility Today Fest 2023 - Generative AI and XR
Agility Today is a 2 days annual UnConference, to meet Agility needs of industry, gathered over past few years via meetups, Conferences and Webinar. This UnConference intends to give you best of Agile Psyche (Mindset Culture and Practice) and Geekery (Engineering, Tools and DevOps). This year in Agility Today Fest 2023 there are couple of programs.
I am speaking to at Agile Engineering Lab (Technical Agility & Engineering Excellence), on topic of Scaling content generation for XR using AI.
read more
Jan, 2023 - Post
AI-Assisted Content Generation Pipeline for XR
Recently, I and Raju Kandaswamy talked at Thoughtworks XConf on how AI will play its role in content generation. We are already seeing ChatGPT, as the next revolution in textual content generation space. Let’s understand what is the need of such content generation revolution of XR space.
With games like Second Life and the impending mainstreaming of the Metaverse, more and more individuals are embracing a virtual reality that, in some ways, mirrors our own real world and, in other ways, lets us live in our imagination or apply them on the real word.
read more
Dec, 2022 - Post
Guest Lecture on 'Forward Looking Reflection' at DesignersX
Every end is a beginning, if there is no end, then there is no beginning, just like the year 2023 can only start after the end of year 2022. So this is the right time to reflect and plan for a better beginning. A “Forward Looking Reflection” was my topic of a guest lecture at DesignersX at their year end event. We discussed challenges of software development, and how the industry is trying to solve them.
read more
Nov, 2022 - Post
Corporate lessons from a Home Makeover
Recently I shared an article on my life lessons from my father’s work life, and mentioned that I dedicated a new home to my father’s work life, also promised that I will share some corporate lessons learned from making-over this new home. I can well relate my takeaways to the corporate experiences such as vendor selection, negotiation, solutioning, estimation, prioritization, agility and being a trusted partner and many more..
As I keep saying “we learn every day in all situations of life, good or bad”
read more
Sep, 2022 - Event
Podcast : XR in practice: the engineering challenges of extending reality
Brief summary Extended Reality technology — XR — has had a lot of hype in recent years thanks to the concept of the metaverse. But bold visions of the future can obscure the reality of what engineers and organizations are doing today.
In this episode of the Technology Podcast, the host Scott Shaw and Birgitta Boeckeler are joined by Cam Jackson and Kuldeep Singh to discuss the XR work Thoughtworks has been doing with clients.
read more
Aug, 2022 - Post
eXtending the Reality of Museum with XR
eXtended Reality (XR/AR/VR) technology is changing the reality of almost every industry today by enhancing user experiences. XR adoption in the museum industry is also quite natural, let’s understand how it is shaping up the Museums of Future.
Museum is a place that displays artifacts from history, culture, science, art and more. As per International Council of Museums (ICOM), there are around 55000 museums worldwide designed with different themes serving different types of artifacts.
read more
Apr, 2022 - Post
Metaverse — a technological evolution
Metaverse is the most talked, understood and misunderstood topic these days. In most of my sessions people ask what is the technology stack for Metaverse? what should I learn to stay relevant? etc.. I will try to cover it in this article. In my earlier article I tried to define the Metaverse, and my friend Vinodh Arumugam also attempted the same here. It is defined so loosely that every other industry today is trying to define it in their own way to suits their narrative.
read more
Dec, 2021 - Post
Getting into the Metaverse — Part 2
Metaverse is the next Internet, that’s what we summarized it in the previous article. We discussed it’s characteristics and building blocks. In this article we will discuss some prominent use cases of the metaverse. We understand the metaverse as a trillion dollar opportunity in the next few years. It is growing at real fast speed, but without effective rules and regulations, without effective standards and practices, and we will also touch upon this concerning part of metaverse.
read more
Dec, 2021 - Post
Getting into the Metaverse — Part 1
Metaverse is the most enquired word after Facebook renamed itself to “Meta” to align to their metaversal vision. However, the term “metaverse” was coined 3 decade ago by Neal Stephenson, in his 1992 science-fiction novel “Snow Crash,” which envisions a virtual reality-based successor to the internet. In the novel, people use digital avatars of themselves to explore the online world, often as a way of escaping a dystopian reality.
Today, Metaverse is being considered as a $800 billion path with double digit growth in next 5 years, where industry is trying to get most out of it by co-creating with communities, and focusing on it’s cost-effective universal acceptance.
read more
Nov, 2021 - Post
Try everything in your space - WebXR
Today’s websites are designed first for mobile and then for other platforms, and it is getting important to bring mobile XR functionality into the websites. Google’s scene viewer is bringing WebXR for mass adoption. Theoretically any 3D model can be tried in your space, and you can easily built AR experience for your website.
eCommerce has already transformed into mCommerse, and now taking steps into xCommerse (XR Commerce). 3D Model viewer is very common requirement for across different domains, and it will be the basic requirement of developing for Metaverse as well as for any digital business in future.
read more
May, 2021 - Post
Navigating the new normal with augmented reality
This article is originally published at Thoughtworks Insights, co-authored with Aileen Pistorius, Julie Woods-Moss and Anna Bäckström.
Time was when virtual and augmented reality was regarded as simply gaming technology — the preserve of fun, consumer applications with little serious consideration for the enterprise. But that’s in the past, in the post-COVID world, remote working will be ubiquitous — forcing enterprise leaders to find innovative ways to improve collaboration. This, it transpires, is the sweet spot for what’s termed enterprise XR (extended reality) — a group of related technologies that enable us to blend the physical and digital worlds.
read more
Apr, 2021 - Post
Making pandemic-proof workplaces a reality with XR
The IMF called the COVID-19 crisis ‘unlike any other,’ where the global growth contraction for 2020 was estimated at -3.5 percent. Image source : Using Lenovo ThinkReality A6 Glass at Workplace
Here is a quick overview of the biggest challenges that CXOs (and their businesses) have faced over the recent past, to better illustrate how the pandemic is affecting businesses:
Businesses are grappling with slowing global supply chains Sales and production growth is further impacted with a subsequent dive in opportunities for partnerships and growth The flattened or negative growth market result in less manpower and resources to work with, further affecting productivity The five biggest challenges that CXOs are facing today
read more
Mar, 2021 - About
Certificates
Building AI Elements of AI Product Management Enterprise Architecture Internet of Things (IOT) User Experience Design Taradata Certified Java Certified Programmer
read more
Jan, 2021 - Post
Best Practices for Building Spatial Solutions
Covid19 is forcing us into a ‘new normal’, A new normal that makes most of us work from home, and that leads to spending long hours on Zoom, or other video conferencing platforms. Meetings, inceptions, discovery workshops, conferences, and webinars are happening in the same monotonous ways. We are stuck with a screen in almost the same pose and posture. Some might use their mobile phone or tablet but that limits us to a small screen.
read more
Oct, 2020 - Post
eXtended Reality - the new norm?
This article is originally published at TechTag.de, you may find the German version here too.
The interaction between humans and technology is evolving radically. We need to develop our thinking and skills beyond the keyboard and screen. But what does this new technological reality look like? Here it is worth taking a closer look at the different forms of extended reality and how they can change our everyday lives.
The way we interact with technology today isn’t too far from what was predicted by futuristic sci-fi pop culture.
read more
Sep, 2020 - Post
XR enabled me to renovate my home!
Covid19 is still unmeasurable, and we are more or less getting adjusted to this new normal. We are eagerly waiting to say goodbye to this year 2020 and welcome the coming year of hope, 2021. Read more here to know why I call this year 2020, as the year of change.
In April this year, I explained XR development from home, and that was still near shore to office, I was less than an hour away from the office.
read more
Jun, 2020 - Post
The future of shopping
eXtended Reality (XR) that includes AR and VR technologies have been silently disrupting the gaming industry for more than a decade. In the recent past, the tech has gained some traction in the education and training space.
Today, however, COVID-19 with its mandates of social distancing and less to no physical interactions has accelerated adoption for XR. The tech is virtual, contactless, and delivers outstanding brand experiences - perfect for the new normal that multiple industries like retail will benefit from.
read more
May, 2020 - Post
A new form of WebXR
Accessing native XR features from the device using a web page is another form of WebXR.
In this article, I want to share an experiment where I tried to control the android device’s native features such as controlling volume and camera torch from a web page. This use case can be really useful in the XR world, where I can control the feature access in the device from cloud services, even the whole look and feel for showing the device controls can be managed from a hosted web page.
read more
May, 2020 - Post
Run a 2D App in XR Container
There are a number of Enterprise XR use cases where we have a need to open the existing 2D apps in the XR devices in a wrapper app, and this article covers a concept, have a look!
After trying the OS level customization on an XR device, you may like to run your XR apps as a system app. Here is a simple article by Raju K
Android System Apps development - Android Emulator Setup and guidelines to develop system applications
read more
May, 2020 - Post
OS Customization for XR Device
The Operating System of XR (AR VR) devices is mostly customized to the hardware of the device, and not just that the OS level customizations are needed to meet the enterprise needs such as integration with Enterprise MDM (Mobile Device Management) solutions (such as Intune, MobileIron and Airwatch), 3D lock screen, idle-timeout, custom home screen, custom settings, security, as so on.
Most organizations currently using traditional hardware and software assets such as mobile devices, laptops, and desktops, and the processes and policies for managing these devices are quite stable and straightforward by now.
read more
Apr, 2020 - Post
User Account Management In XR
In the previous article, we described the importance of interoperability in while building Enterprise XR solutions, In the article, we will discuss how to manage user accounts in the XR device, and implement single sign-on across the XR apps. We will use Android’s AccountManger approach to login into active directory and integrated it into Unity. Please read my earlier article on setting up the app in active directory, log in using android webview, considering a web-based company login form should appear for login, and no custom login form is allowed to capture the credentials.
read more
Apr, 2020 - Post
WebXR - the new Web
The web has grown from a read-only web (Web 1.0) to interactive web (Web 2.0) and then moved into the semantic web which is more connected and more immersive. 3D content on the web is there for quite some time, the most web-browsers support rendering 3D content natively. The rise for XR technologies and advancements in devices and the internet is leading the demand for Web-based XR. It will be a norm for web-based development.
read more
Apr, 2020 - Post
eXtending reality with AR and VR - Part 2
In Part I of the article, we summarized our observations of eXtended reality’s foundational blocks - AR, VR and MR. We also discussed the popular and most relevant tools and implementations of the new technology. In Part II of the article, we will be looking at a few accessible and novel implementations of the tech.
At ThoughtWorks, we have delivered both XR solutions and components of XR SDK (Software Development Kit) on the back of which XR solutions are built.
read more
Apr, 2020 - Post
eXtending reality with AR and VR - Part 1
The way we interact with technology today is not too far from what was predicted by futuristic, sci-fi pop culture. We are living in a world where sophisticated touch and gesture based interactions are collaborating with state of the art wearables, sensors, Augmented Reality (AR), Virtual Reality (VR) and Mixed Reality (MR). And, this is eXtending user experiences to be extremely immersive.
Add to this, Gartner’s expectation that 5G and AR/VR implementation will transform not only customer engagement but brands’ entire product management cycles as well.
read more
Mar, 2020 - Post
Enterprise XR - Interoperability
In the previous article, we discussed implementing multi-factor authentication for an andorid application, and in the article we will cover another enterprise aspect, Interoperability.
Interoperability is key aspect when we build enterprise solutions using XR technologies. The enterprises have digital assets in form of mobile apps, libraries, system APIs, and they can’t just throw away these existing investments, in fact, the XR apps must be implemented in such a way that it is interoperable with them seamlessly.
read more
Mar, 2020 - Post
Enterprise XR - Multi-Factor Authentication
XR use cases are growing with advancements in the devices, internet and development technologies. There is an ever-growing demand to build enterprise use cases using ARVR technology. Most enterprise use cases eventually require integration with an enterprise ecosystem such as IAM (Identity and Access Management), ERP, CRM, and single sign-on with other systems.
Most organizations protect digital assets with a single sign-on using Multiple Factor Authentication (MFA). The MFA is generally a web-browser based authentication where the browser redirects to tenant’s authentication page where the user provides their credentials and then the user confirms another factor (PIN, OTP, SMS or mobile notifications), once it succeeds, it gets redirected back to the protected resource.
read more
Nov, 2019 - Post
Augmenting the Travel Reality
Travel and transportation have faced and continue facing disruptions. Many of the traditional ways are no more in the choice. Earlier our parents used to warn us for taking rides with strangers, but now Uber/Ola/Lyft/Didi, etc are the preferred ways. Owning a car may be an absurd idea now. We are now dreaming of Autonomous vehicles, Flying Cars, Hyperloop, and Space travel in the near future. Do read, how the user interactions have been evolved with time in my earlier post.
read more
Oct, 2019 - Post
Static Code Analysis for Unity3D — Part 2
This article is in continuation of Static Code Analysis for Unity3D — Part 1 where we talked about setting up a local sonar server, sonar scanner and running the analysis for a Unity3D project.
It this article, we will discuss setting up the Static Code Analysis with SonarCube in IDE — Rider. We are using Rider as the “External Script Editor” in Unity. Configure Rider here in Unity> Preferences > External Tools > External Script Editor.
read more
Oct, 2019 - Post
Static Code Analysis for Unity3D — Part 1
Static code analysis is a standard practice in software development. There are code scanner tools, which scans the code to find vulnerabilities. There are some nice tools for visualizing and managing code quality. One of the most used tool is SonarQube, supports 25+ languages and flexible configurations of the rules.
There are not enough resources talking about static code analysis for Unity3D. This post covers steps to configure SonarQube and use it for scanning Unity projects.
read more
Sep, 2019 - Post
Inception Workshop | Key Takeaways
Inception exercise is very common in software development, where we gather the business requirements and define the delivery plan for the MVP(Minimum Viable Product) on a shared understanding. There are a set of tools and practices available to define the MVP requirements and its delivery plan. Famous tools are Lean Value Tree, Business Model Canvas, Plane Map, Elevator Pitch, Futurespective, Empathy Maps, Value Proposition Canvas, User Journey Map, Gamestorming, Process Diagram, MoSCoW, Communication Plan, Project Plan etc.
read more
Apr, 2019 - Post
Evolution of Technology and User Interactions
Technology defines our interactions with the ambiance, and the way we want to interact with the ambiance further defines the technology. The evolution of technology and user interactions tightly depends on each other.
“Walls have ears!”, is very much true today, and not just that, now the walls can see you, feel your presence and talk to you.
In this post, we will discuss how the user interactions evolved with time and what is next!
read more
Apr, 2019 - Post
Can IT modernization lead to revenue loss?
IT Modernization is one of the key factors of today’s digital transformation. Most of the enterprises trying to define digital transformation strategy. IT organizations trying to redesign the organizations to meet the changing business need, and uplift the technology and people. Non-IT organizations are also trying to setup digital department to take care of companies digital assets and modernize them. However, IT modernization does not always result in a profit, it may lead to revenue loss if it does not fit to the organization design.
read more
Feb, 2019 - Post
Lessons Learned From Blockchain-Based Development
Blockchain or DLT (Distributed Ledger Technology) is getting good traction in the IT world these days. Earlier, this technology was being mostly explored by banks and other finance-related institutions, such as Bitcoin and Ethereum. Now, it is getting explored for other use cases for building distributed applications. Blockchain technology comes with a decentralized and immutable data structure that maintains a connected block of information. Each block is connected using a hash of the previous block, and every new block on the chain is validated (mined) before adding and replicating it.
read more
Nov, 2018 - Post
Software Development as a Design Process
The book “Agile IT Organization Design - For digital transformation and continuous delivery” by Sriram Narayan explains software development as a design process. Following statement from the book means a lot.
“Software development is a design process, and the production environment is the factory where product takes place. IT OPS work to keep the factory running..”
It questions the way we traditionally think of operation support, maintenance, production bugs, rework, their costs and budgets and the focus in software development life.
read more
Oct, 2018 - Post
Request Tracing Using Nginx and Spring Boot
Most web applications are hosted behind a load balancer or web-server such as Nginx/HTTPD, which intercepts all the requests and directs dynamic content requests to the application server, such as Tomcat. Correlating requests traversing from the front-end server to the backend servers are general requirements. In this post, we will discuss tracing the request in the simplest way in an Nginx and Spring Boot-based application without using an external heavyweight library like Slueth.
read more
Aug, 2018 - Post
A Quick Catch up Before Java 11
Java 11’s release candidate is already here, and the industry is still roaming around Java 8. Every six months, we will see a new release. It is good that Java is evolving at a fast speed to catch up the challengers, but at the same time, it is also scary to catch its speed, even the Java ecosystem (build tools, IDE, etc.) is not catching up that fast. It feels like we are losing track.
read more
Jul, 2018 - Post
5 Hard Lessons From Microservices Development
Microservices-based development is happening all around the industry; more than 70% are trying development of microservice-based software. Microservices simplify integration of the businesses, processes, technology, and people by breaking down the big-bang monolith problem to a smaller set that can be handled independently. However, it also comes with the problem of managing relations between these smaller sets. We used to manage fewer independent units, so there was less operation and planning effort.
read more
Jan, 2018 - Post
Apache Spark on Windows
This article is for the Java developer who wants to learn Apache Spark but don’t know much of Linux, Python, Scala, R, and Hadoop. Around 50% of developers are using Microsoft Windows environment for development, and they don’t need to change their development environment to learn Spark. This is the first article of a series, “Apache Spark on Windows”, which covers a step-by-step guide to start the Apache Spark application on Windows environment with challenges faced and thier resolutions.
read more
Feb, 2017 - Post
IOT 101: A primer on Internet of Things
IOT 101 A Primer on Internet of Things from Kuldeep Singh The IoT can be described as “Connecting the Things to internet”.
A comprehensive IoT ecosystem consists of many different parts such as electronic circuitry, sensing and acting capability, embedded systems, edge computing, network protocols, communication networks, cloud computing, big data management and analytics, business rules etcetera. This maze of varied parts can be better classified into 4 broad categories:
read more
Feb, 2017 - Post
Exploring the Smart Glasses
This article describes the fundamentals of light-weight smart glasses such as Google Glass and Vuzix M100 It also explain the development practices with pros and cons of its usage, limitation and future of these glasses in our lives.
Google Glass Enterprise Edition Google Glass enterprise edition is a plain Android based smart glass that you can wear and performs operations just like a smartphone and with the use of a small screen located in the front of your right eye can perform a decent range of tasks.
read more
Jan, 2017 - Post
Another IoT Disruption: A Need of Multi-Skilled Devs
Technological evolution causes disruption. It replaces traditional, less optimal, complex, lengthy, and costly technology, people, and processes with economical, innovative, optimal, and simpler alternatives. We have seen disruption by mobile phones, and up next is disruption from IoT, wearables, AR-VR, machine Learning, AI, and other innovations. Software development methodology, tools, and people will also face disruption. I expect that the traditional developer will be replaced by the multi-skilled or full-stack developers.
read more
Dec, 2016 - Post
IoT based insect monitoring concept
Insects are the most diverse species of animals found on earth. While every species is required to maintain the balance of nature, excessive accumulation of any one type can have devastating effects on humans and environment.
Insect management relies on the early detection and accuracy of insect population monitoring techniquessensors-12-15801. Integrated data gathering about insect population together with the ecological factors like temperature, humidity, light etc., makes it possible to execute appropriate pest control at the right time in the right place.
read more
Aug, 2016 - Post
5 Steps of the IoT race
The ‘Internet of Things’ (IoT) presents tremendous opportunity in all the industry verticals and business domains. Specifically, the ‘Industrial Internet of Things’(IIoT) promises to increase the value proposition by making self-optimizing business processes. As discussed in the post “The Driving Forces Behind IoT”, there are several challenges to be addressed to realize the full IoT potentials, but following steps will help organization to systemically make their products participate in the IoT journey and stay in the IoT race.
read more
Aug, 2016 - Post
Industrial IoT (IIOT) Reference Architecture
The industry has been going through an evolution. Industry 4.0 is the fourth industrial revolution where the key will be on digital transformation. Industry 4.0 creates what has been called a “smart factory”. Within the modular structured smart factories, cyber-physical systems monitor physical processes, create a virtual copy of the physical world and make decentralized decisions. Over the Internet of Things, cyber-physical systems communicate and cooperate with each other and with humans in real time, and via the Internet of Services, both internal and cross-organizational services are offered and used by participants of the value chain.
read more
May, 2016 - Post
Smart bottle IOT concept
The rapid growth of Internet of Things (IoT) and miniature wearable biosensors have generated new opportunities for personalized eHealth and mHealth services. We present a case study of an intelligent cap that can measure the amount of water in the bottle, monitor activity of opening or closing of bottle cap. This paper presents a Proof of Concept implementation for such a connected smart bottle that sends measurements to the IoT Platform.
read more
Apr, 2016 - Post
Building a smart meeting room concept
On a usual day at office, if an employee wishes to book a meeting room, he or she first has to open their outlook account, check the calendar for its availability and then send a booking invitation. If they directly go to a meeting room, they have no way of knowing whether it is booked or not without checking the calendar.
Smart Meeting Room is a step forward in automating the availability and booking procedure of a meeting room.
read more
Apr, 2016 - Post
Exploring AndroidThings IoT
Android Things, an android based embedded operating system, is the new “it” thing in the Internet of Things(IOT) space. Developed by Google under the codename “Brillo, a.k.a. Project Brillo”, it takes the usual Android development stack—Android Studio, the official SDK, and Google Play Services—and applies it to the IOT.
Google formally took the veils off of Brillo at its I/O 2015 conference. It is aimed to be used with low-power and memory constrained IOT devices, allowing the developers to build a smart device using Android APIs and Google Services.
read more
Jan, 2016 - Post
Writing maintainable code is like house cleaning
Your house will remain clean for longer duration if you follow certain rules strictly such as put things at right place after use, clear any mesh just after doing it, repair/upgrade things on time, daily dusting, vacuum cleaning etc. We may avoid a massive cleanup if we apply a series of small efforts daily.
Let for the same while writing the code – Your code will remain maintainable for longer duration if you follow certain rules strictly such as follow the coding standards and guidelines, clean the code just after it, fix/refactor on time, periodic design review and refactoring.
read more
Jan, 2016 - Post
The Driving Forces Behind IoT
Everybody in the software industry is talking about IoT in terms of billions of devices, their growth in coming years, changing business models, and adaptation of the IoT in the market. Connecting the things has become so prevalent nowadays, that every software company wants to expand in IoT by building IoT-centric products and services.
There are many industrial applications which connect to sensors and actuators, and can be controlled remotely. They have been around for a long time.
read more
Aug, 2015 - Post
Framework for choosing an IoT Platform
As we understand “IoT Platform” is an essential building block of IoT Ecosystem . A platform essentially decouples the business application from low level details of the technology stack and required services. Thus, it makes more sense to go for an off-the-shelf platform that provide all the relevant features and required flexibility, instead of developing the whole IoT stack from scratch. Selection of an IoT Platform is a key to develop a scalable and robust IoT Solution.
read more
Aug, 2015 - Post
SIGFOX - An Introduction
SIGFOX is providing a communication solution dedicated to the Internet of Things
Dedicated to the IOT means:
Simplicity: No configuration, no pairing, no signaling Autonomy: Very low energy consumption, allowing years of autonomy on battery without maintenance Small messages: No large assets or multimedia, only small messages It is a LPWA (Low-Power Wide-Area) network, currently operating in 20 countries in Europe, Americas and Asia/Pacific. Communications over the SIGFOX network are bi-directional: uplink from device & downlink to the device.
read more
Jul, 2015 - Post
Choose ORM carefully!
We have recently migrated source code from Hibernate ORM to JDBC (Spring JDBC template) based implementation. Performance has been improved 10 times.
User case (Oracle 11g, JBoss 6, JDK 6, Hibernate, Spring 3) : A tree structure in database is getting populated from a deep file system (directory structure) having around 75000 nodes. Each node (directory) contains text files, which get parsed based on business rules and then populate the database ( BRANCHs representing a node, tables referring to branch, tree_nodes).
read more
Jan, 2015 - Post
Object Oriented JavaScript
JavaScript has been regarded as a functional programing language by most of the developers. This book is targeted for all the JavaScript developers to shift their thinking from the functional to the object oriented programing language.
The course requires basic knowledge of JavaScript syntax. If you already know some JavaScript, you will find a lot of eye-openers as you go along and learn what more the JavaScript can do for you.
read more
Jan, 2015 - Post
Software Effectiveness vs Software Efficiency
I define software effectiveness as, doing the objective effectively, I mean correctly. Efficiency can be defined as, using the resources optimally where resources could be memory, CPU, time, files, connections, databases etc.
From my experience, in most (should I call many) of the software projects, efficiency/performance is not much accentuated during the system design and in earlier phases(requirement and estimation) as compared to the emphasis given late in the game, coding and testing and mostly in maintenance.
read more
Dec, 2014 - Post
HashMap Performance Improvement in Java 8
Hash collision degrades the performance of HashMap significantly. Java 8 has introduced a new strategy to deal with hash collisions, thus improving the performance of HashMaps. Considering this improvement in Java 8 for hash collisions, existing applications can expect performance improvements in case they are using HashMaps having large number of elements by simply upgrading to Java 8.
Earlier, when multiple keys ends up in the same bucket, then values along with their keys are placed in a linked list.
read more
Dec, 2014 - Post
Introduction to Java Lambda Expression
After Java 8, developers can apply functional programming constructs in a pure Object-Oriented programming language through lambda expressions. Using lambda expression sequential and parallel execution can be achieved by passing behavior into methods. In Java world lambdas can be thought of as an anonymous method with a more compact syntax. Here compact means it is not mandatory to specify access modifiers, return type and parameter types while defining the expression.
read more
Dec, 2014 - Post
Introduction to Java Stream API
Prior to JDK 8, collections can only be managed through iterators with the use of for, foreach or while loops. It means that we instruct a computer to execute the algorithm steps.
int sum(List<Integer> list) { Iterator<Integer> intIterator = list.iterator(); int sum = 0; while (intIterator.hasNext()) { int number = intIterator.next(); if (number > 5) { sum += number; } } return sum; } The above approach has the following tailbacks:
read more
Aug, 2014 - Post
IOT Cloud Platforms - A Comparative Study
The vision of IoT can be seen from two perspectives— ‘Internet’ centric and ‘Thing’ centric. The Internet centric architecture will involve internet services being the main focus while data is contributed by the objects. In the object centric architecture, the smart objects take the center stage.
In order to realize the full potential of cloud computing as well as ubiquitous sensing, a combined framework with a cloud at the center seems to be most viable.
read more
Feb, 2014 - Post
HTTP Router with Apache Camel
This article explains the http integration using Apache Camel. Create a configurable router to any http URL having place holders.
Prerequisite Windows7, Eclipse Juno Java 1.7 Creating HTTP Router Please follow below steps to generate POC for HTTP routing using apache camel.
Create Sample Camel Example Create eclipse project using archetype “camel-archetype-spring”
mvn archetype:generate DarchetypeGroupId=com.tk.poc.camel -DarchetypeArtifactId=camel-archetype-spring -DarchetypeVersion=2.11.0 -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group Create following Java file
read more
Dec, 2013 - Post
Apache Camel SSH Component
This article is about troubleshooting issues we have faced while using apache camel’s SSH routes. It also covers step wise guide to setup apache camel routes.
Prerequisites Windows7 Eclipse Juno Java 1.7 Problem Statement We were getting following issues in the logs when connecting to one of the SSH server using Apache Camel-SSH. This was happening in one of the instance in production environment.
Here are few logs :
read more
May, 2013 - Post
Groovy - Getting Started
This article help you start with Groovy, with step by step guide and series of examples. It starts with an overview and then covers in detail examples.
Groovy Overview Groovy is an Object Oriented Scripting Language which provides Dynamic, Easy-to-use and Integration capabilities to the Java Virtual Machine. It absorbs most of the syntax from Java and it is much powerful in terms of functionalities which is manifested in the form Closures, Dynamic Typing, Builders etc.
read more
May, 2013 - Post
Scala - Getting Started - Part 2
In previous article we learned basics of Scala, in this articles we will learn how to setup build scripts for scala and build applications using scala.
We will also learn few web development frameworks for Scala and compare them with similar framework in Java.
Building Scala Applications Below program demonstrates the use of Scala script with Maven, Ant, and logging library – LogBack.
Integration with Ant Below example shows how Scala project can be built by the ant build.
read more
May, 2013 - Post
Scala - Getting Started - Part 1
This article help you to start with Scala, with step by step guide and series of examples. It starts with an overview and then covers in detail examples. In later articles, I will write about feature comparison with other languages. It article is helpful for people coming from Java background, how it is not the prerequisites.
Scala Overview Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way.
read more
Feb, 2013 - Post
Charset configuration in JVM
This article describes how to configure charset for a JVM.
We faced an issue on a Linux environment, a file containing some Swedish character was not being read correctly by underlying JVM since the default charset of JVM was picked as UTF-8 (which does not support some Swedish character). But on the other hand, in Windows environment, it was working fine since the default charset was picked as Windows-1252 (which does support these characters).
read more
Sep, 2012 - Post
Working with Embedded OLE Objects in Java
Document introduction contains a proof of concept for the research done on reading and writing OLE objects in Java. This research has been done using Apache POI. Please go thru the references for information about apache POI.
This article covers a POC to fetch OLE objects from RIF formatted XML. Not just that, we need to store them in a in some viewable format.
For a given XML in RIF format, parse it and read the embedded OLE object and represent in some viewable format using Java.
read more
May, 2012 - Post
JavaScript Plugin Framework
Javascript Plugin Framework is implemented to add extra functionality in the existing Web based application without actually changing the application code. This framework is also helpful when some functionality need to control for different user profiles.
For example, to add one extra button in a menu we can write the plugin directly, by defining what that button is going to do on click, what all events should it handle, in one javascript file rather than making changes in the application code for the same.
read more
May, 2012 - Post
Strange JSP Compilation Issue
We were getting following error on the production sever (Linux, Jboss). We were in the middle of user acceptance testing with the client, many users were accessing the application to simulate various scenarios in a live session.
the application was crashing just after 2-3 minute of start with above error, and no user were able to access the application. We were expected for fix the issue ASAP, as the users were assembled for the web session, all were waiting for the server up.
read more
Apr, 2012 - Post
Default Timezone in Java and MySQL
On one of our production environments, we had an issue our application related to time, specially modified time and creation time of the entities. It was quite random in nature for some entities.
We suspected that there might be issue in the timezone configuration.
Analysing the problem On production environment, we had limited permissions. We were not allowed to change system timezone. We noticed that Jboss is automatically picking the system timezone “Europe/Berlin” (which was configured from root user) and if we check the timezone for the linux user for which we have access it shows GMT time.
read more
Mar, 2012 - Post
MySQL Tuning
We have faced ‘out of space’ issue on disk even after clearing old data on database server(MySQL) and temporary data on application. We noticed that 90% of the space was occupied by the database tables which were used to store very large de-normalized statistical data and when we track the database table we noticed there is not much data in the database in the tables but they were still occupying space on disk.
read more
Mar, 2012 - Post
Rule Engine - Getting Started with Drools
This article let you start with Rule Engine Drools, with step by step guide and series of examples. It starts with an overview and then covers in detail examples.
Rule Engine Overview The underlying idea of a rule engine is to externalize the business or application logic. A rule engine can be viewed as a sophisticated interpreter of if-then statements. The if-then statements are the rules. A rule is composed of two parts, a condition and an action: When the condition is met, the action is executed.
read more
Feb, 2012 - Post
Compiling Java Native C/C++ Code
We have faced multiple issues while compiling a native c/c++ code and using it with JNI in our Java application
How to write a JNI program. jni_md.h not found. Incompatible data types. On widows cygwin1.dll is required when running Java code on the native library. and more. Actually we were compiling NLP Solver’s native library (IPOPT) on windows 32 bit and on 64bit linux machine.
Solving the chaos! Here are the steps we have followed to solve the above issues:
read more
Jan, 2012 - Post
Using Apache CFX and Apache Camel in ESB
In the previous article, we learned about ESB and deployed our first OSGi bundle on FuseESB.
In this article, we will learn how to build Apache CXF and Apache Camel component and deploy them on FuseESB.
Lets understand what are these components :
Apache Camel ™ Powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration.
Camel lets you create the Enterprise Integration Patterns to implement routing and mediation rules in either a Java based Domain Specific Language (or Fluent API), via Spring or Blueprint based Xml Configuration files or via the Scala DSL.
read more
Jan, 2012 - Post
Managing Calendar and Invites in Java
Calendars are used to store formation for various events. Calendar viewer displays the month-date view and for each day displays the events/reminders information.
Invites are the events in the form of email. Once the invite for an event sent to a user via email then that event will be stored in the calendar view and same can be seen in the day information of the calendar view.
Calendars Calendar data can be stored in files; there are some standard formats for storing calendars iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .
read more
Jan, 2012 - Post
Working with Enterprise Service Bus
This article starts from basic terms of ESB worlds and then provides details of the FuseESB with various examples.
It contains step by step guide to install FuseESB, and develop and deploy OSGi bundle on FuseESB.
Lets understand terminologies of the ESB world :
ESB An Enterprise Service Bus (ESB) is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture.
read more
Jan, 2012 - Post
Mail Merge in Java
MailMerge is a process to create personalized letters and pre-addressed envelopes or mailing labels for mass mailings from a word processing document (Template). A template contains placeholders (Fields) along with the actual content. The placeholders are filled by the data source which is typically a spreadsheet or a database having column for each place holders.
This article talks about the java approach for generating multiple documents from a single MS Word template.
read more
Jan, 2012 - Post
Font configuration in JVM
Last year we have migrated one of our application from Java 5 to Java 6. The Java 6(OpenJDK) installation was done by client on a fresh system. After installing our application (under JBoss app), we found the fonts on JFreeCharts and on the images generated from AWT were not correct.
We have solved the issue by configuring the fonts at JVM level. Let understand it better.
How AWT / JFreeCharts shows the fonts AWT rely on native fonts, it usages default Java fonts (which best fits) if no native fonts mapping found.
read more