Software Engineering is about much more than coding. There are engineers that are solicited by everyone for their projects, teams and even companies. The mythical 10x engineers. What makes these engineers special? Is it their algorithmic prowess, knowledge of programming languages, communication skills, quality of code or something else? Having had the pleasure of working with (and working for) few of the best engineers in the world, I will talk about what makes a “rockstar” software engineer.
Continue reading “What makes a 10X Software Engineer? (Inaugural Address)” »
This session will deep dive into JavaFX starting with a look at the history of JavaFX before and after Oracle acquisition.It will look at the features and benefits of JavaFX, what is FXML and SceneBuilder and using JavaFX with other languages. Continue reading “JavaFX Rich Client Platform” »
Apache Hadoop is a Java framework for large-scale distributed batch processing infrastructure which runs on commodity hardware. The biggest advantage is the ability to scale to hundreds or thousands of computers. Hadoop is designed to efficiently distribute and handle large amounts of work across a set of machines. Continue reading “Analysing large scale data with Apache Hadoop” »
Behavior-driven development (BDD) is an agile software development technique which enables close collaboration between developers, testers and Product Owners. With TDD we make sure that the code is right, however many times we fail to ensure if the code is doing the right thing. BDD tries to ensure that the code written is doing the right thing as per the Product Owner’s specification. Continue reading “Behavior-driven development (BDD) with Cucumber” »
With over 25 million activation in the holiday season of 2011 alone it is hard to ignore mobile application development now. Every organization, even large enterprises are looking to build small useful mobile applications for their employees on the go. This presents a huge opportunity as well as a challenge for the web / desktop application developer who now faces the dilemma of learning a highly fragmented developer space. Continue reading “From Web To Mobile Application Development” »
This session will look at What are Offline Html5 Applications?, What are the benefits?, Scope of this technology (what all we can do with this) and how it will change the way we develop web based applications and even portals.
We will be wrapping up with some common day examples demonstrating the use of HTML5 offline storage. We will also provide the insight of how these examples work and what we have done to achieve them, this will help them a better understanding of how things are done in such application design. Continue reading “Offline HTML5 Applications” »
JAX-RS 1.X has been a hugely successful Java API for RESTful services development and a lot of real-world experience has resulted in a number of new features being proposed. JSR 339 was created with the objective of exploring and scoping all these proposals. The purpose of this talk is to elaborate on all the new planned features.
The most commonly requested feature for JAX-RS 2.0 is a client API. Client APIs can range from low-level, just above HttpURLConnection, to high-level, often including support for IoC and hyperlinking. Other features that will be covered in this presentation include: asynchronous processing, hypermedia, validation, interceptors, improved content negotiation, as well as better integration with other specifications such as JSR 330.
Continue reading “JAX-RS 2.0: RESTful Web services on steroids” »
This talk introduces the Java EE 7 platform, the latest revision of the Java platform for the enterprise. The focus of Java EE 7 is on the cloud, and specifically it aims to bring Platform-as-a-Service providers and application developers together so that portable applications can be deployed on any cloud infrastructure and reap all its benefits in terms of scalability, elasticity, multitenancy, etc. The existing specifications in the platform such as JPA, Servlets, EJB, and others will be updated to meet these requirements. Continue reading “The Java EE 7 Platform: Developing for the Cloud” »
UnConference is a participant-driven session for short, open discussions on various topics of interest to delegates. A delegate can present a question / make a point in a couple of minutes followed by an open discussion where speakers as well as others from the assembly contribute their views.
The Unconference has been working very well at IndicThreads Conferences, helping delegates crowd source opinions & answers on various topics of intrigue & interest.
The topics for the UnConference are decided via listings on a white board at the venue.
I would like to share my experiences and learning while rewriting framework of UrbanTouch.com, one of the leading player in on-line beauty sector in India. UrbanTouch platform was originally written using Magento, an open source based ecommerce web application built using Zend Framework.
Continue reading “Node.js : A web developer’s journey” »
Redis is an advanced in memory key-value store designed for a world where “Memory is the new disk and disk is the new tape”. Redis has some unique properties — like blazing read and write speed, rich atomic operations and asynchronous persistence — which make it ideally suited for a number of situations. This talk will introduce Redis and discuss its common usage patterns. Continue reading “Redis – Memory is the new Disk” »
With the growing data volumes NoSQL solutions have become popular in last few years. This session will explore the evolution of NoSQL databases from regular relational database based architectures.
Fundamentals of NoSQL systems will be discussed taking examples from the current implementations of the NoSQL implementations like Redis/Cassandra/neo4j. NoSQL system diverge from the relational model by making certain assumptions or relaxing ACID requirements or make use of sophisticated algorithms to solve a particular problem. NoSQL gives you a scalable option for your specific problem. Continue reading “NoSQL Databases : Origin and Fundamentals” »
Nutch is a very powerful, open source webcrawler written in Java. Apache Nutch can run very large crawls in parallel, downloading, indexing, and archiving millions of pages. In this talk we understand key architectural details about Nutch. We would see how it is easy to extend the Nutch behavior with Scala plugins. Continue reading “Crawling the web, Harnessing the power of Nutch with Scala” »
In simple words, do’s and don’ts for developing SaaS products which could range a Facebook application to Enterprise ERP systems.
The key areas of discussion:
- Optimization: when to optimize and why it is important even for Cloud Computing. Optimization types and when to optimize for what depending on the end goal
- Scalability: Why it is important and how can you achieve linear scalability
- Design: How to stop over-designing and over-architecting and design just the right amount
- Quality: Why quality is important and what can you do to gain maximum ROI on Quality Continue reading “Architectural Guidelines for SaaS Products” »
Every company irrespective of it’s size or domain is keen to analyse the patterns of their existing and prospective customers for offering them suitable products/services. With the deluge of huge and ever-increasing data along with multitude of options to reach out to customers, it’s increasingly getting difficult for organizations to improve the lead-quality of their marketing channels. In this talk, I will talk about relatively new (in Industrial sense) but fast growing field of Machine Learning. Continue reading “Machine Learning – What, Where and How-To” »
Historically writing correct concurrent, scalable and fault-tolerant applications has been very hard. Akka is an attempt to simplify writing concurrent, scalable and highly available software for the JVM. Akka has an API both for Scala and Java. Akka uses the Actor Model together with Software Transactional Memory (STM) to raise the abstraction level. For fault-tolerance it adopts the “Let it crash” model which help in building self healing always on systems. Continue reading “Building Massively Scalable Applications with Akka” »