07 April 2018 5 minutes

TFLearn vs Keras: Which One Should You Use?

Written by Ashraff Hathibelagal
  Programming

Using the TensorFlow framework directly is a lot of hard work. Its API is extremely verbose and prone to subtle, hard-to-catch bugs. The framework, in general, has a very steep learning curve too. That's probably why many developers today prefer using third-party wrapper frameworks over it, which offer higher-level and more intuitive APIs. The most widely-used ones among them are TFLearn and Keras. Both do get the job done, and are extremely easy to learn. The code you write in them too tends to be very concise. So which one should you use? Well, I'll try to answer that in this article. Note that this is only my opinion, based on my own experiences...

Read more »
11 February 2018 15 minutes

How to Install and Use Mozilla DeepSpeech

Written by Ashraff Hathibelagal
  Programming

There are many cloud-based speech recognition APIs available today. The Google Cloud Speech API and the IBM Watson Speech-to-Text API are the most widely-used ones. But, what if you don't want your application to depend on a third-party service. Or, what if you want to create a speech recognition-based application that can work offline. Well, you should consider using Mozilla DeepSpeech.

Read more »
10 February 2018 5 minutes

Netlify vs GitHub Pages vs Firebase Hosting: Which one is better?

Written by Ashraff Hathibelagal
  Programming

These days, if you are using a static site generation framework, such as Jekyll or Octopress, there are several very good web hosts that are willing to host your website for free. The most well known among them are: GitHub Pages, Firebase Hosting, and Netlify. Using one of them is in your best interests. But, which one? Well, this article tries to answer that for you.

Read more »
27 December 2017 15 minutes

How to Create a Custom Lock Screen for Android (Part II)

Written by Ashraff Hathibelagal
  Programming

In the previous tutorial, I introduced you to a few important source files that belong to AOSP's default lock screen and system UI. Today, let's take a look at a few more of such files. You'll see that many of these files contain highly-focused code and are designed to perform very specific actions. It does get a little frustrating to open a new class to understand every little detail, but I hope you can appreciate the modularity AOSP's developers have achieved.

Read more »
02 December 2017 5 minutes

Best Hardware for Custom Android ROM Development

Written by Ashraff Hathibelagal
  Development

Building Android from its source code is not for everyone. Why? Because it requires tons of patience and ungodly amounts of memory and processing power. Are you aware that the AOSP repository is, as of winter 2017, at least 31 GB. And did you know that the output of the build process is almost 8-9 GB? Well, now you do. So, do you think a run-of-the-mill laptop will be able to handle that kind of load? Let's answer that question a little while later...

Read more »
01 December 2017 15 minutes

How to Create a Custom Lock Screen for Android (Part I)

Written by Ashraff Hathibelagal
  Programming

The lock screens you find on Google Play, such as Microsoft's Next Lock Screen, are not true lock screens. They are just apps that look like lock screens. Now don't get me wrong. They are very useful productivity apps, providing lots of short cuts and quick info widgets. The problem is that they don't offer any real security...

Read more »
26 November 2017 2 minutes

The Pros and Cons of Using Flutter for Android App Development

Written by Ashraff Hathibelagal
  Programming

Flutter is a rather unique app development framework from Google. It lets you use the Dart programming language--a very easy language for anyone who knows Java already--to create apps whose performance is identical to that of native apps. Should you use it develop your next big app? Well, to help you make that decision, let me talk about some of its pros and cons now...

Read more »
02 September 2017 5 minutes

Create a Personal Online Clipboard Using Webtask.io

Written by Ashraff Hathibelagal
  Programming

If you don't already know, webtask.io is a cool new platform that offers an online NodeJS environment for your apps. Most developers use it to add simple serverside functionality to websites they've hosted on static hosting services, such as Firebase, Gitlab, and Github. With a little bit of creativity though, there's a lot more one can do with webtask.io...

Read more »
27 June 2017 10 minutes

How to Use VLC Media Player API in a C Program

Written by Ashraff Hathibelagal
  Programming

Did you know that the VLC media player has a powerful API you can use in your C programs to add VLC-like capabilities to them? For instance, you could use the API to quickly play any media file, extract meta-data from it, or even extract individual video frames from it. In this tutorial, I'll show you how to create a simple C program that can play an audio file. For the sake of completeness, I'll also show you how to listen to the events generated by the player while it is playing the file...

Read more »
13 June 2017 15 minutes

How to Create an LSTM Recurrent Neural Network Using DL4J

Written by Ashraff Hathibelagal
  Programming

Long short-term memory recurrent neural networks, or LSTM RNNs for short, are neural networks that can memorize and regurgitate sequential data. They've become very popular these days, primarly because they can be used to create bots that can generate articles, stories, music, poems, screenplays - you name it! How? Well, its because a lot of things humans do involve sequences...

Read more »