Day 10: PhoneGap–Mobile Development for the Dummies

Today for my 30 day challenge, I decided to learn about mobile development. For a long time, I thought mobile development was fud, and there will be no business model around most of the applications. In fact, writing mobile applications never excited me. However, given the advancements that have happened in the mobile space, and the fact that more people access the internet on mobile devices than desktops, I decided to give mobile development a try. I will be using PhoneGap as my starting point for my mobile development journey. Read full blog here https://www.openshift.com/blogs/day-10-phonegap-mobile-development-for-the-dummies

Day 9: TextBlob–Finding Sentiments in Text

Today for my 30 day challenge, I decided to take a break from JavaScript and learn about text processing using the Python programming language. I will be focusing on Sentiment Analysis in this blog. My interest in sentiment analysis is few years old when I wanted to write an application which will process a stream of tweets about a movie, and then output the overall sentiment about the movie. Having this information would help me decide if I wanted to watch a particular movie or not. You can read full blog here https://www.openshift.com/blogs/day-9-textblob-finding-sentiments-in-text

Day 8 : Harp — The Modern Static Web Server

So far in the 30 technologies in 30 days blog series, we have looked at Bower, AngularJS, and GruntJS JavaScript technologies. These latest technologies are designed and developed to make developer life easier and more productive. Today, we will learn another new JavaScript technology called Harp. In this blog, we will start with the basics of Harp, and then we will create a simple Harp application, and finally deploy the application to OpenShift. Read the full blog at https://www.openshift.com/blogs/day-8-harp-the-modern-static-web-server

Day 7 : GruntJS LiveReload : Take Productivity To Another Level

On day 5 of my 30 technologies in 30 days challenge I talked about using GruntJS to perform repetitive tasks. Today, we will extend the example covered in that blog with html templates and livereload server. In this blog, we will first cover how we can use an html template with grunt-markdown plugin and then I will cover how we can take productivity to the next level by using grunt-watch plugin. Please read my earlier blog on GruntJS in case you are not familiar with GruntJS. Read the full blog at https://www.openshift.com/blogs/day-7-gruntjs-livereload-take-productivity-to-the-next-level

Day 6 : Grails — Rapid JVM Web Development with Grails And OpenShift

On 6th day of 30 technologies in 30 days challenge, I have decided to learn Grails web framework. Grails is an open source web framework which uses Groovy and Java programming languages. The web applications written using Grails can be deployed in any of the existing web server like Jetty or Tomcat, etc. Grails is a JVM response to the Rails or Django web frameworks. In this blog, I will first talk how we can develop a simple web application using Grails Eclipse plugin, and then we will deploy the application to OpenShift.

Why should we care about Grails?

The two reasons why I considered learning Grails are :

  1. Rapid web development : It can help us achieve productivity benefits similar to Rails or Django but without leaving JVM and Java knowledge.
  2. Powered by proven technologies : Grails underneath uses Spring and Hibernate to power web applications. It can be considered as syntactic sugar over these technologies. Continue reading “Day 6 : Grails — Rapid JVM Web Development with Grails And OpenShift”

Day 5 : GruntJS : Let Someone Else Do My Tedious Repetitive Tasks

Today I decided to learn GruntJS. GruntJS is a JavaScript based command line build tool. It can help us automate repetitive tasks. We can think of it as JavaScript alternative to Make or Ant. It can perform tasks like minification, compilation , unit testing, linting, etc. As more and more development moves towards client side, it makes a lot more sense to use tools which can help us become more productive. In this blog, I will show how we can use GruntJS to minify javascript files. Then using GruntJS markdown plugin we will convert a markdown document to HTML5 document. Let’s get started. The full blog series can be tracked on this page.

Why should we care?

The main reason why we should learn GruntJS is that developers by nature are lazy creatures. They make mistakes when doing repetitive tedious manual tasks. Continue reading “Day 5 : GruntJS : Let Someone Else Do My Tedious Repetitive Tasks”

Day 4 : PredictionIO : How to Build A Blog Recommender

Today is the fourth day of my challenge to learn 30 technologies in 30 days. So far I am enjoying it and getting good response from fellow developers. I am more than motivated to do it for full 30 days. In this blog, I will cover how we can very easily build blog recommendation engine using PredictionIO. I did not find much documentation around using PredictionIO with Java. So, this blog might help people looking for end-to-end PredictionIO Java tutorial. The full blog series can be tracked on this page.

prediction-io

What is PredictionIO?

PredictionIO is an open source machine learning server application written in Scala. It provides an easy to use REST API to build recommendation engines. It also provides client SDKs, which wraps the REST API. The Client SDKs are available in Java, Python, Ruby, and PHP programming languages. PredictionIO core is using Apache Mahout. Apache Mahout is a scalable machine learning library which provides various clustering, classification, filtering algorithms. Apache Mahout can run these algorithms on distributed Hapoop cluster. Continue reading “Day 4 : PredictionIO : How to Build A Blog Recommender”

Day 3 : Flask — Instant Python Web Development with Python and OpenShift

Few days back Packtpub contacted me to review their recently published book on Flask. The book titled Instant Flask Web Development is written by Ron DuPlain. On my third day  of 30TechnologiesIn30Days challenge, I have decided to spend time on Flask. In this blog,  I will first talk about Flask framework basics and then will provide a small book review. Also, I will port the sample application to OpenShift. I am not entirely new to Flask and have built some sample applications using it. This would be a good refresher. Continue reading “Day 3 : Flask — Instant Python Web Development with Python and OpenShift”

Day 2 : AngularJS : Getting My Head Around AngularJS

Yesterday I kicked off a challenge where in I will learn a new technology every day for a month. Yesterday I talked about Bower — package manager for client side assets. You can read the blog here.  You can read the reddit discussion here.

Today I am going to learn basics of AngularJS and hopefully will be creating a very simple application using it.  This blog is live feed of my AngularJS learning experience. I will be using bower as well in this blog. I know I can’t cover AngularJS in one day so I will be spending multiple days on it but will cover different topics within AngularJS. Continue reading “Day 2 : AngularJS : Getting My Head Around AngularJS”

Day 1 : Bower — Manage Your Client Side Dependencies

From today onwards I have taken a challenge that I will learn a new technology every day for a month and will blog about it. I will also try to do a small screencast.  After my normal office working hours I will spend couple of hours learning a new technology and one hour writing about that. The goal of this activity is to get familiar with lot of new things happening in community. My main focus would be on JavaScript and related technologies but it can be Java or other technology as well. There will be some technologies on which I might spend multiple days but I will pick new topic each time within that technology. Wherever it makes sense I will try to show how it can work with OpenShift. So, I am expecting it to be fun and a good learning experience.

As my first topic I have decided to learn about Bower. Continue reading “Day 1 : Bower — Manage Your Client Side Dependencies”