This presentation is about how Augmented Reality is enabling Enterprises to connect the digital and physical world in order to deliver innovative consumer experience. In the past, IT technologies have primarily focused on driving efficiency gains in product development and services for enterprises. Today, digital technologies such as Internet of Things and Augmented Reality are not just revolutionizing every business, but also every aspect of businesses.
There is a lot of buzz on the visible disruptions being brought about by IoT and Augmented Reality in diverse industries. Surprisingly, there is limited awareness on how Augmented Reality coupled with IoT, are fundamentally changing the way enterprises operate and how the products are being created, operated & serviced. Enterprises need both, IoT and Augmented Reality, to be able fully realize the potential of disruptive innovation and compete in marketplace. This presentation will be about the new opportunities developers and IT leaders should think about in the digital era.
There is a lot of excitement about IoT these days. With IoT topping the list of interests from business stakeholders, analysts as well as various vendors, the buzz around it is only set to increase. The use of IoT essentially needs to enable service excellence by differentiation through customer experience. However, in reality, there are still a lot of gaps in understanding when it comes to an enterprise trying to put IoT in practice. One has to think through multiple considerations, both technology and operational, to make usage of IoT a reality in their business.
This session is aimed at discussing the real world problems that enterprises face when it comes to implementing IoT, the technical considerations that ought to be resolved and the end-end architecture of IoT solution to provide business value to customers. This session would discuss the problems such as – How do I collect data from intelligent devices? How do I analyze IoT Data? How do I integrate IoT data & events with enterprise infrastructure? I would like to discuss these questions in the context of two specific use cases – Asset Tracking and Remote Monitoring. This session would also elaborate on the practical considerations such as adopting a phased approach for real world IoT deployments etc.
Currently a search for Security and IoT, throws up a number of ‘fear-mongering’ articles about how bad things can happen, and then there are many that advertise the use of a certain product for addressing security. But very few attempt to explain the security context, at the IoT device level. As hobbyists or budding IoT developers, people are quite confused as to how this applies to their project. So this talk is an attempt to break-down the problem and understand the most common security issues that could surface and the typical solutions for the same. The talk will look at the security problems and their solutions in three contexts: a) remote access of connected devices b) local network access and c) physical access.
Though it is not entirely a new idea, Microservices seem to have peaked in popularity in recent years, what with numerous blogs, articles and conferences evangelizing the benefits of building software systems in this style. The coming together of trends like Cloud, DevOps and Continuous Delivery has contributed to this popularity. Designing, evolving, and versioning a microservice architecture is not trivial, and over time several design patterns and best practices have evolved. Some of the more popular patterns are Circuit – Breaker and Bulkhead.
Although it looks simple and straightforward but there are many aspects to consider while transitioning to microservices. Quite often many teams have failed in this process either because they do not educate themselves on what really means ‘doing microservices’ or by just thinking that using a specific tool suddenly you moved into this new ear. By just using Docker, Kubernetes, Neftlix libs etc you are not doing microservices. It is a far more complex process, that also needs organizational and team changes.
This session provides an overview of patterns and practices, especially considerations for fault tolerance. Some of the areas covered would be:
– What to monitor and how to monitor
– What to do when dependencies fail to respond in time
– How to develop microservices to withstand failure and incorporate fallbacks
– Considerations for a slow or saturated network
– Practical considerations for DevOps
– Overview of tools and techniques for comprehensive criteria for migrating applications to a PaaS.
– Concrete approaches for migrating apps to a PaaS including buildpacks, Service Proxy, Dockerization, Orchestration and Bosh
This session aims to provide tips and tricks for building resilient and fault tolerant microservices.
Micro services are increasingly used to tackle complexity of addressing business requirements. Understanding MicroServices architecture needs some understanding trade off involved in distributed systems. In the talk, I’ve tried to highlight how the model shifts from strong consistency to eventual consistency in Micro services. I will talk about some interesting techniques I’ve used in projects to tackle challenges posed by distributed components. I will also talk about various consistency models( viz. Read My Writes, Consistent Prefix) which developers/architects can used to make interesting tradeoffs. This is talk is going to be on architectural patterns and not related to any specific technology.
Kishor Himane is Director at PTC Software India Pvt. ltd. (PTC), a wholly owned subsidiary of PTC Inc. Kishor heads the Development Center for PTC Global Services enablement functions and is also jointly responsible for Development Programs on Technology Platform (IoT, Data Analytics, Digital Twin) for PTC Global Services. Kishor has been with PTC since 2006 and is credited with establishing the Pune Development Center and driving the innovation initiatives for PTC GS enablement functions. Kishor has conducted several sessions on IoT Awareness within PTC, as well as at Industry (PMI) and Academic (IOTA Conference at MIT, Pune) forums. Read more
Abhimanyu Prabhavalkar is Vice President of Oracle’s Platform As A Service (PaaS) Research and Development organization and is currently developing Oracle’s IoT Cloud Service and analytics platform. He has 20+ years of software product development & global management experience. He is passionate about building enterprise grade software products/solutions and high performance teams required for the delivery of these products. Abhimanyu has been a technology evangelist and has presented on various software technology topics around the world. He is excited about the possibilities that IoT has to offer and he is busy conceptualizing solutions for the real world enterprise problems using IoT.
Collection Streams, introduced in Java 8, requires a software developer to start thinking in declarative paradigm. For one who has been accustomed to the imperative paradigm, writing declarative code is not immediately intuitive. My goal from this talk to help the attendees make the transition to the new paradigm easy and start harnessing the power of Streams.
– Solving a problem declarative style
– External Iteration and Internal Iteration
– Stream as a Builder
– Intermediate Operations (filtering, slicing, mapping)
– Terminal Operation (reduction and collection)
– Reduction (finding, matching)
– Collection (Collectors, grouping and downstream)
As hardware keeps becoming massively parallel and as modern software development methodologies like Agile keep maturing, programming languages and their runtime environments are attracting unprecedented focus. Programming languages are expected to act as brokers between the solutions to business problems and the hardware environments where these solutions are realised. The one programming paradigm that has been receiving a lot of oxygen in the recent past is that of Functional Programming. In fact, Java’s introduction of lambdas offers quite a significant hint about the times to come.
Functional programming is good old concept. Functional programming languages have existed for around six decades now. It is important to appreciate why functional programming is picking up steam in the current times. Functional languages offer programmers a plethora of features that making programming a very pleasurable experience. What makes the functional paradigm so different from the imperative paradigm? Why is functional programming getting lucrative today? We intend to present a study of popular functional languages – their history, their hallmark features, the state-of-the-art features and where the functional paradigm, as a whole, is poised to go. We also intend to do some live-coding in languages purely functional languages to elucidate certain characteristics of functional languages.
The Go Language has been creating ripples in the server and backend programming world. There are a lot of tutorials that explain the mechanics of using this language for a person who understands either Java, C or Ruby. Learning a new language is not about comparing with the way other languages think, its more about learning a new way of thinking. In this talk, we will discuss the language from the perspective of Go Language specifications writers. We will cover the basics of the language, the strength areas and the published future roadmap.
Kedar Sovani has 14 years of experience in Linux kernel, Systems software and IoT. He was the former maintainer of Fedora-ARM project. His technical articles on popular kernel websites have helped numerous developers learn advanced concepts in kernel programming. He has mentored several engineering projects. For the past 7 years, he has been working in the Wi-Fi IoT at Marvell. This work is currently powering millions of IoT devices deployed in the field. Kedar works as a Senior Manager at Marvell. He has spoken at Foss.in, and a regular speaker at Geep and IotPune. Read more
Gurpreet Sachdeva is a Technology Executive with around 19 years of experience working on some of the most challenging technologies related to Communication Software, Enterprise Computing and Cloud Computing. Gurpreet did his B. Tech (C.S.) from NIT, Kurukshetra and M.S. (Software Systems) from BITS, Pilani. He is currently working as Director – Technology with Aricent, Gurgaon. Being a keen Java enthusiast, has worked in Java EE Technology with almost every major application platform ranging from Tomcat to JBoss, Oracle Application Server and WebLogic. Exposure to working with large distributed multicultural teams in a highly dynamic environment, involving an onshore/offshore model. Gurpreet is an invited speaker in prestigious conferences like Oracle – Java One and co-founder of Delhi – NCR – Java User Group. Read more
Termed as one of the biggest advancements in web technology, HTTP/2 is built on top of Google’s SPDY protocol. Its specification was approved and published as a Web-wide standard protocol earlier this year. It aims to make the web faster, more efficient and secure. HTTP/2 improves speed by opening a single connection as opposed to multiple connections, thus reducing additional load on the server. HTTP/2 is binary, rather than text protocol, which makes it more compact and efficient. This reduces the overhead of translating information from text to binary.
HTTP/2 offers various features such as multiplexing, header compression, server push, request prioritization, and security. While the HTTP/2 specification does not require TLS, all major browser vendors have indicated that they will only support HTTP/2 over a TLS connection. This means to take advantage of HTTP/2 will need to be served over HTTPS.
Impact on developers:
The good news is that the HTTP/2 retains HTTP/1.1’s syntax such as http method names, headers and status codes, thus allowing existing applications to be delivered without any modification.
HTTP/2 is a huge step toward making the web faster and more responsive. With major browsers providing support, it’s definitely something to move on to
Shripad has more than 17 years of IT experience in executing projects for a broad range of business problems for various large organizations including several Fortune 500 companies. He specializes in Performance and Scalability of compute intensive applications. He is also interested in distributed computing and loves reading “The Morning Paper”. He currently works as a tech lead at ThoughtWorks. Read more
In today’s interconnected world, which is no longer limited to hi-tech gadgets or computers, smartphones and tablets etc., now the scope is getting extended to even the most ordinary yet smart devices you use in your everyday life. Advanced sensors have made it possible today for any\ every device to become part of the network of physical objects called the Internet of Things. This is the Internet of Things (IoT). Its billions of devices and a trillion connected sensors promise users better experiences with their products because the IoT can supply the data to quickly resolve unforeseen problems.
Testing the Internet of things, thus, refers to the validation process of various aspects related to internet connectivity and hence comes the challenge of maintaining quality. With IoT seeing a massive growth spurt (Gartner predicts that by 2020, the world will have 26 billion devices or more), testing has to expand its horizons to take into account the various ways we are using this technology. And because software drives everything, and software quality is key.
This paper talks about following structured approach to meet quality in IoT applications.
Identify different areas of IoT testing from software QA perspective
Define complexity in ensuring quality of software’s supporting IoT
Define software QA’s Role and scope
Identify essential testing types for IoT Testing
Embrace shift in paradigm from traditional testing to more user centric testing
Distinguish software and hardware testing use cases
Look forward for any opportunity for any tool support and automation techniques
Due to the heterogeneous nature of IoT Services, Solid strategic test planning is required to cover the depth and breadth of IoT testing. Solid strategic test planning is required to cover the depth and breadth of IoT testing. This presentation captures the aspects of IoT that are relevant to software QA organizations. Further, it elaborates the shift in testing approach required in QA in order to meet the customer needs to be successful.
Girish Kolapkar is Software Specialist-Test Automation at SAS Research and Development (India) with special interests in Agile methodologies and continuous integration, adoption of automaton throughout the delivery lifecycle. Girish has 10+ years of experience in test automation using SAFS framework implementations for IBM rational Robot, Rational Functional Tester, Image based testing, Selenium WebDriver, Mobile Automation .He is currently working with testing HTML5 (SAPUI5) based applications using open source Selenium+ tool. Furthermore I am an enthusiast about learning modern software engineering patterns, approaches and architectural styles and their impact on software quality and testability. Read more
Rishabh Jain is a Big Data Consultant for #Fame. He has 6 years of freelance experience in the field of software development. Developed applications for domains like ‘fashion and lifestyle’, and ‘entertainment’. Aim at creating multi-tenant scalable applications. Implemented big data stack for solving real-time information needs for social platforms like #fame and Thoughtbuzz.
Harkesh Kumar Lead Developer for #Fame, responsible for designing and developing micro services for various modules. Prior to #Fame, Harkesh developed scalable applications for domains like ‘insurance’ and ‘travel’.
Pushkar Kulkarni is a member of the IBM Runtime Technologies team in India Software Lab, Bengaluru. He has worked on the IBM Java’s Just-In-Time compiler in the past and is currently involved in customer-reported problems and bugs IBM Java’s standard classes library. He is enthusiastic about programming languages and likes to try out all kinds of them – old and new, practical and esoteric. Read more
Navin Kabra is currently co-founder & CTO at ReliScore.com, a startup focused on helping companies filter job candidates based on evaluation of actual job-related skills. He is also one of the creators of PuneTech.com, a portal for the tech community in Pune, India, and PuneConnect.com, one of the largest start-up showcases in Pune. He has worked for large companies (like Veritas/Symantec, Teradata), and small; he has worked in India and in the US; seen a successful exit, and a dotcom failure; done product development and done research; he’s written consumer software and enterprise software. He’s been a developer, an architect, a researchers, and a manager (but hated it). Navin has a PhD in CS from University of Wisconsin at Madison, USA, and a B.Tech. in CS from IIT-Bombay. Read more
Bitcoin is an interesting new cryptocurrency – a technology that allows anonymous but fully secure and fully decentralized “cash” transactions. If you have been paying attention either in the finance technology industry or the startup funding scene, you’ll know that Bitcoin is getting a lot of hype, and even some of the most conservative technology companies – i.e. banks – have started research efforts related to Bitcoin to ensure that they’re not caught napping if Bitcoin disrupts their industry.
But, there is a far bigger picture here that is important to understand. The core technology underlying Bitcoin is the Blockchain. This is essentially a protocol/algorithm that allows untrusted third-parties to exchange information with each other in a fully secure, fully decentralized way without the fear of repudiation. This has a potential to disrupt many industries and change how we do business in lots of domains – from domain name servers to Government.
In this talk, I will give an overview of what is Bitcoin, how it works, what is the blockchain, what is the fundamental problem is solves, and what are some potential disruptive applications of the blockchain. Specifically, I will be touching on the following aspects:
– The cryptographic algorithms underlying the blockchain, that allow it to be secure and reliable in spite of not requiring any central authority
– The distributed consensus algorithm that allows arbitrary untrusted servers on the internet to agree on the current state of the system
– The Bitcoin transaction language that allows it to be used in creative ways for interesting and complex transactions and contracts
There are no real pre-requisites for this talk; it should be accessible to anyone with a general familiarity with the technology industry and the internet.
Navneet is the founder of Mandrake Technologies. He has over 20 years of experience building applications. Over these years, he has significant expertise working on teams building management servers for Data Center management applications. He is a technology enthusiast and am keen on evaluating emerging technologies for production use. Read more
Go Language is an emerging hotbed of innovation in the world of web based api programmers. It has the advantage of Google’s backing, but more importantly its design intent of building internet scale applications. This session will cover building a full blown secure web application using the Go Language and third party libraries.
RxJava is a library that helps in writing code using reactive paradigm. When writing programs using RxJava, the hardest part is thinking in Reactive, which requires one to let go of old imperative and stateful habits of programming, and start thinking in a different paradigm. At my work in ThoughtWorks I have been using RxJava for more that six months in production applications. My talk will be based on the knowledge that I gained and lessons that I learnt from my practical experience of RxJava.
My goals from this talk are:
(1) To demystify the reactive paradigms concepts for the attendees and
(2) Provide enough information about the mechanics of RxJava so that attendees can straight away start experimenting with the library
The topics that I will be talking about are:
– Introduction to Reactive Programming
– Creating Observable (the source)
– Creating Observer (the consumer)
– Subscribing (connecting consumer to source)
– Operators (for Transforming, Filtering and Combining)
– Building Resilience (Error handling)
– Using Concurrency (Schedulers)
– Unit Testing Utilities
Praveer Gupta is currently working as a Senior Software Consultant. He has worked with ThoughtWorks and Deloitte and has provided consulting for customers from a wide variety of industry domains. He has primarily built solutions using Java technologies. Praveer believes that today technology plays a big role is solving problems in every field. Read more