I have taken a challenge to learn a new technology every week in 2016. The goal is to learn a new technology, build a simple application using it, and blog about it.
Please contribute if you see an error or something that could be better! Raise an issue or send me a pull request to improve. Contributions of all kinds, including corrections, additions, improvements, and translations, are welcome!
Below is the list of technologies covered in this series:
-
Week 1: January 03, 2016 Finatra - Build Beautiful REST API The Twitter Way. In this tutorial, we will learn how to write Scala REST APIs using Twitter's open source framework Finatra. We will build an application from scratch covering all the steps required to build the application.
-
Week 2: January 10, 2016 SBT: The Missing Tutorial. In this tutorial, we will learn sbt build tool. sbt is a general purpose build tool written in Scala. It is best suited for Scala application development.
-
Week 3: January 17, 2016 Sentiment Analysis in Scala with Stanford CoreNLP. In this tutorial, we will learn how to use Stanford CoreNLP library for performing sentiment analysis of unstructured text in Scala.
-
Week 4: January 24, 2016 Slick: Functional Relational Mapping for Mere Mortals Part 1. In this tutorial, we will learn how to get started with Slick so that we can interact with relational databases in our Scala applications. Slick is a powerful Scala library to work with relational databases.
-
Week 5: January 31, 2016 Slick: Functional Relational Mapping for Mere Mortals Part 2: Querying Data. In this tutorial, we will learn how to perform
select
queries with Slick. Slick allows you to work with database tables in the same way as you work with Scala collections. This means that you can use methods likemap
,filter
,sort
, etc. to process data in your table. -
Week 6: February 07, 2016 Building A Lightweight REST API Client with Scala and OkHttp. In this tutorial, we will learn how to build REST API client for Medium's REST API using Scala and OkHttp. OkHttp is an open source Java HTTP client library focussed on efficiency.
-
Week 7: February 14, 2016 Hugo: A Modern WebSite Engine That Just Works. In this tutorial, we will learn how to build a static website using Hugo. Hugo is a static site generator written in Go programming language.
-
Week 8: February 21, 2016 CoreOS for Application Developers. The goal of this tutorial is to help application developers understand why they should care about CoreOS and show them how to work with CoreOS cluster running on top of Amazon EC2. CoreOS is an Open source Linux distribution built to run and manage highly scalable and fault tolerant systems.
-
Week 9: February 28, 2016 Realtime People Counter with Google's Cloud Vision API and RxJava. Google recently released Cloud Vision API that enables developers to incorporate image recognition in their applications. Image Recognition allow developers to build applications that can understand content of images. In this tutorial, we will learn how to build a realtime people counter.
-
Week 10: March 06, 2016 Gatling: The Ultimate Load Testing Tools for Programmers. Gatling is a high performance open source load testing tool built on top of Scala, Netty, and Akka. It is a next generation, modern load testing tools very different from existing tools like Apache JMeter. In this tutorial, you will learn how to write load tests using Gatling.
-
Week 11: March 13, 2016
- Tweet Deduplication: This week I decided to write a tweet deduplication library. The library will give you a stream of deduplicated tweets.
- TextBlob. TextBlob is an open source text processing library written in Python. It can be used to perform various natural language processing tasks such as part-of-speech tagging, noun-phrase extraction, sentiment analysis, text translation, and many more.
-
Week 12: March 20, 2016 Play Framework. Play framework is a MVC style web application framework for JVM. It provides API for both Java and Scala programming languages. I am maintaining this tutorial in a separate Github repository.
-
Week 13: March 27, 2016 ArangoDB: Polyglot Persistence Without Cost. ArangoDB is an open source NoSQL database that provides flexible data model. You can use ArangoDB to model data using combination of document, graph, and key value data modeling styles.
-
Week 14: April 03, 2016 Apache Kafka. I have not yet written this article.
-
Week 15: April 10, 2016 Airline Bot Platform with Huginn. This week I decided to build a bot platform using Huginn that can perform a lot of tasks for which we normally use mobile apps. Our goal was to show them that they should think beyond mobile apps and look into the world of bots as bots can be less intrusive, more secure, and does not require installation. Apps are dead, long live bots.
-
Week 16: April 17, 2016 Building Your "Read It Later" App using Python and Newspaper Library.In this tutorial, you will learn how we can use a Python library newspaper to perform article extraction and build a simple "Read It Later" application.
-
Week 17: April 24, 2016 Let's Learn TypeScript. This week I decided to learn TypeScript so I will discuss how you can get started with TypeScript. TypeScript is a typed superset of JavaScript, which means that it supports all the JavaScript features plus it adds static typing to the language.
-
Week 18: May 01, 2016 Getting Started with Apache Mesos. This week we will learn about Apache Mesos -- an open source cluster manager and scheduler for your datacenter.
-
Week 19: May 08, 2016 Load testing with bees. This week I discovered a Python utility called
beeswithmachineguns
that can load test a web application by launching many micro EC2 instances. -
Week 20: May 15, 2016 5 open source projects that will make working with JSON awesome and fun. This week I will share my 5 favorite open source projects that makes working with JSON easy and fun. I use them on regular basis and find them very useful whenever I am working with JSON.
-
Week 21: May 22, 2016 Java 8 String Manipulation Library. This week I wrote and released a Java 8 library to work with String.
-
Week 22: May 29, 2016 Making Sense of Regular Expressions. In this tutorial, I will walk you through a series of examples that will help you learn about regular expressions. I will end this tutorial by covering a library VerbalExpressions that you can use to programmatically build regular expressions.
-
Week 23: June 5, 2016 Building An Android Application Part 1. In this tutorial, we will develop an Android app that will be used to report and track missing kids. Today, we will only cover photo capturing capability of the application. Like any camera application, this application will enable users to capture photos, save them to an album, and finally upload them to the backend servers.
-
Week 24: June 12, 2016 Moving back to WordPress from Jekyll. In this blog, I will share my experience of running a Jekyll blog and then migrating it back to WordPress.
-
Week 25: June 19, 2016 Trello Clone with Angular Dragula. In this blog, I will cover how you can build Trello like drag and drop list interface with Angular Dragula.
You can follow me on twitter at https://twitter.com/shekhargulati or email me at [email protected]. Also, you can read my blogs at http://shekhargulati.com/