How to create a Google Drive App in PHP

 02 Jan 2017 |   php google-apis

This is the second article in the drive series for web programmers that aims to explain how to use the Google Drive API in your web applications to access files/folders on behalf of your logged-in users. ...

How to create a Google Drive App in Flask

 29 Dec 2016 |   python flask google-apis

This is the first in a series of articles for web programmers that explain in detail about using the Google Drive API in your web applications to access files/folders on behalf of the users of your application. In my last project, I had to develop a python flask app for my users that required to access the files stored in their google drive account. ...

How to create a screencast in Xubuntu using ffmpeg

 19 Jul 2016 |   linux xubuntu screencast

In this article, I’m going to describe how to create a desktop screencast recording with or without audio in Xubuntu 16.04. With little changes, however, it should work on other distros too. ...

How to Unbrick and revive a totally lifeless Xiaomi Mi-Pad

 13 Jul 2016 |   android xiaomi mi-pad

Last week, my brand new Xiaomi Mi-Pad arrived via Flipkart and no sooner did I have it in my hands, I started installing useful apps like Greenify, ES File Explorer, etc. Two days went by and I was disappointed to learn that it doesn’t support a USB Dongle (Data Card) which is a very common method of Internet access in India. The only way I could have it was to root the tablet. And it was while rooting using SuperSU app that I foolishly selected a wrong click and ended up bricking my brand new tablet. ...

Was buying LinkedIn a good decision by Microsoft?

 29 Jun 2016 |   linkedin microsoft

I don’t claim to be a fortune-teller, but I’ll try to analyze the available information and synthesize an answer to this question. A few days ago, on 13th of June, Microsoft bought LinkedIn for around $26 billion at $196 a share. So, was this buying a good decision? Even before thinking about that, lets try to understand why was LinkedIn sold to Microsoft in the first place. After all, a company proclaiming to remain an independent entity doesn’t liquidate itself all of a sudden. ...

How to deal with frequent disconnects of 3G USB Dongle on Linux Desktop

 29 Jun 2016 |   linux usb-modem

One of the major issues on linux desktop these days has to do with 3G USB dongles/modems. In many countries like India, a USB dongle still remains a major way to access the Internet. The latest versions of network-manager has solved most of the issues relating to the basic recognition of these modems, but one major irritant still remains on Ubuntu 16.04 and a few other distros. ...

List of free online programming courses (MOOC) offering FREE certificates of accomplishment

 07 Jun 2016 |   mooc programming

This post is inspired by the Coursera Junkie post by Kathryn last year that happened to invite the ire of lots of learners interested in MOOC (Massive Online Open Courses). Whilst I was observing the comment chain in that post, I had never bothered to actually take the time to research any MOOC courses that offered free certificates or statements of accomplishment. But a few months ago, my once favorite online academy, edX.org had just crossed a line by starting to charge money for their certificates, thus shutting down the last zion of open education left for the learners. And because of this, I felt the need to start researching the alternatives. ...

Ten useful LibreOffice Macro Recipes

 26 Feb 2016 |   libreoffice libreoffice-calc linux

Macros are a great way to automate tasks in Spreadsheet applications, be it the good old Microsoft Excel or the equally efficient FOSS alternative, LibreOffice Calc. The best thing about macros is that they are written in a noob-friendly language called Basic. ...

The Seven Technology Predictions of 2016

 18 Feb 2016 |   linux foss android microsoft privacy data-gathering

Though we are already a month into the year 2016, there is still ample time to account for technology changes that are quite drastic and disruptive. Here are the seven things that I think will happen by the end of year 2016: ...

How to assemble a fast and minimal Debian Desktop using Openbox

 16 Feb 2016 |   debian openbox desktop ubuntu linux-mint

Being a web developer, one of the nagging things to do is keeping your hardware in sync with your performance requirements. In the good old times, a P4 or even a Celeron based PC or laptop was enough for programming. But with changing times, the required investment to get a sane performance has increased to astronomical levels. ...

Linux Desktop Survey Project - Feb/2016

 08 Feb 2016 |   desktop survey

I will start this post by thanking the kind folks at the Reddit’s linux subreddit and Voat’s linux subverse who wholeheartedly participated in this survey. Here are the results and they are pretty insightful. For a developer who builds apps targetting the linux platform, it helps to know what are the preferences of users who run those apps on a desktop. Not understanding these requirements beforehand has caused a lot of unneeded backlash in the history of linux desktop development and a lot many forks were created which ended up causing a division of focus. ...

Rockstar Java Series: Learn type annotations and be a better coder

 25 Dec 2015 |   java type-annotations

Java SE 8 comes with a bundle of new features, and not many of them catch the attention of coders until they learn what they are and realize their usefulness. One such feature that can help you become a better Java coder is the ability to declare type annotations to any type use. ...

Rockstar Java Series: Use default methods and be a better coder

 22 Dec 2015 |   java default-methods

Java 8 comes with a lot more improvements and features than most people seem to realize. One such feature that can help you become a better Java coder is Default methods. ...

Rockstar Java Series: Using Lambda expressions to up your game

 17 Dec 2015 |   java lambda-expressions

Java 8 comes with a lot more improvements and features than most people seem to realize. One such feature that can boost your productivity as a Java Programmer is Lambda expressions. ...

Eclipse Mars - Not ready for Linux Yet

 01 Dec 2015 |   ide eclipse ubuntu linux android

So after hearing about all the hype and praises about this Eclipse new release called Mars, I decided to give it a try on my Ubuntu laptop yesterday. Since I already use Kepler the older version, I was looking for some big positives like performance improvements (most often talked about by a lot of Eclipse fans lately). ...

How to start Android App Development

 27 Nov 2015 |   android how-to

One of the most frequently asked questions on almost any social networking sites these days is how do I start android app programming? Indeed, it is as if Android Development has become some abstract and obscure layer of programming model that only few Illuminati sort of individuals seem accomplished at. ...

Are your Firefox addons really that safe? - An Insider Story

 10 Nov 2015 |   firefox plugins

Firefox is one of the most competitive FOSS browsers out there, there is no denying it. Mozilla also has strict guidelines regarding what goes into their repos. And in the spirit of all things open source, you may naturally tend to believe that developers who have written your coolest new million ratings plus addon are also held to Mozilla’s high standards and subject to all quality audits. Well, read this short story before subjecting yourself to that blind faith and just clicking on every Add to Firefox button in your browser. ...

How to add HTML tag highlighting to Geany

 08 Nov 2015 |   linux geany how-to

Ever since I bid farewell to Windows after they introduced that horrible Metro interface in Windows 8, I had been on the lookout for FOSS Linux alternatives that can run easily on my ubuntu 14.04 machine. One such lookout was a replacement for Notepad++ as I always need a handy editor for scripting and other miscellaneous tasks (such as writing this draft in markdown syntax). For large projects, there are always “heavy” things like eclipse and netbeans but I generally tend to avoid them if I can. ...

A collection of random hacks - Ubuntu

 07 Jul 2015 |   linux ubuntu

Whether you are a sysadmin, developer or just a user, if you face a non-trivial issue while setting up any software, you generally head over to sites like stackoverflow.com to find any solutions. If the problem is solved and you are happy, you generally do two things: Bookmark/Star that post, and secondly make a note to your own workflow about that issue for future references. For what its worth, here is the collection of such notes prepared by me for ubuntu 12.04 LTS. However, most solutions should work on 14.04 too. ...

Sqlalchemy Hack - How to convert a table to dict on the fly

 05 Jul 2015 |   python sqlalchemy

In on of my recent projects, I came across the need to develop a JSON based REST API to fetch data from the sqlalchemy objects. Now, the Query object is a great way to access data using the powerful sqlalchemy orm, but it doesn’t give any built-in way to convert the result-set into a python dict. For instance, I have a Professor table in my models.py. Here is what I get when I query the Professor model using sqlalchemy ORM: ...

Is Sourceforge.net safe anymore to download software

 26 Jun 2015 |   sourceforge

You have probably heard about all the recent buzz surrounding the sourceforge.net website hosting adware/malware bundled installers and naive users falling prey to it. In some cases, SF even actively took control of abandoned developer accounts. to bundle their crapware. ...

How to know whether my blog post will attract traffic or not

 11 Jun 2015 |   seo google

One of the evergreen topics for discussions in the blogging world is SEO, and especially the various ways of attracting bless of the all-pervading search engines to one’s own site or blog. There are various ways to approach this problem, some of the popular ones are: ...

How to host a Flask app on Openshift

 07 Feb 2015 |   python flask openshift

Openshift free tier is an excellent way to host your python web app for staging or testing, and you can even host a low to medium traffic production site. Openshift provides several options (cartridges) for hosting including python, php, node.js, etc. but python being my favorite language and Flask being a minimalist and flexible framework, this combination is what I usually end up with. ...

Farewell Wordpress, Hello Jekyll!

 05 Feb 2015 |   wordpress ruby jekyll

Here I am, signing off from a self-hosted, over-bloated Wordpress site and finding a welcome change in Jekyll, a blog-aware static site generator. There is nothing new about this, several well-known bloggers have already migrated to Jekyll in the last few years including Rasmus Andersson, Nick Quaranto and Roger Chapman. Ever since Tom Preston Werner invented this thing in 2008 and published his infamous article about Blogging Like a Hacker, it has become the Go-to thing for those of us who favour on-line publishing above everything else. ...

4 Ways to share your mobile internet with a PC/laptop

 20 Dec 2014 |   android tethering usb wifi

The one thing I like about the world of Linux in general and also Android is the great number of options. Unlike Windows phone, where there is only one way to perform a task (if at all there is!), android provides a richer user experience in all departments. Suppose you are traveling to some place and your laptop has lost its usual source of internet connectivity. You will naturally consider surfing the web on your cell-phone, or better still, try and find a way to share the internet on your cell-phone with your laptop, so your work won't suffer. The android OS supports multiple ways to perform tethering (a.k.a share your mobile internet with other devices such as laptop). ...

7 Reasons I would prefer an Android Phone over WP8

 19 Dec 2014 |   android wp8

My existing phone is a Karbonn A30 running Android ICS and my next phone is going to be an Android phone too. Both as a user and as a developer, I've come upon the realization that Android provides a much better user experience and overall satisfaction in mobile computing. I had briefly considered using Windows Phone once, but I've discarded that idea after giving it a trial run. Here are the 7 reasons why I would only go for a phone running the Android Operating system and not WP8. ...

PHP - An Annoying Tryst

 30 Jun 2014 |   php

It has been a few months since I've started working primarily in PHP and I am actually liking the language a lot! I like the simplicity and symmetry found in C style of solving problems, and PHP has got liberal amounts of that kind of resemblance. I have even come to terms with the clutter of all unorganized functions, considering all the positive aspects of PHP programming. ...

9 Optimizations to make your Linux Desktop fly like a Rocket!

 28 Jun 2014 |   linux performance ubuntu

This article is the result of notes I've prepared during tweaking, twisting and optimizing ubuntu variants over the last few years. In case you use any other distro, some of these settings may not be applicable to you. For best results, these changes must be done on top of a fresh installation, otherwise chances of things breaking increase a bit. Each step is optional - In case of software removals, do it only if you are not going to use the concerned software. Be careful before making any changes and know exactly what and why you are doing that. ...

PHP-FPM vs node.js - The REAL Performance Battle

 23 Jun 2014 |   node.js php

Even after my last article about PHP and node.js benchmarking, my search for the holy grail of performance truth still continues.However, I do understand now that pitting PHP running on apache against a stand-alone node was a bit unfair with PHP for it was limited by what the apache configuration could handle. ...

PHP vs node.js: The REAL statistics

 10 Jun 2014 |   javascript node.js php

When it comes to web programming, I've always coded in ASP.NET or the LAMP technologies for most part of my life. Now, the new buzz in the city is node.js. It is a light-weight platform that runs javascript code on server-side and is said to improvise performance by using async I/O. The theory suggests that synchronous or blocking model of I/O works something like this: ...

How to create a custom email plugin for Wordpress

 07 Jun 2014 |   php wordpress

Last week, I suddenly stopped receiving email notifications for my openshift hosted blog. I came to know after some reading that commonly used cloud hosts such as openshift, aws, etc. are usually blacklisted by most email servers, hence its not a good idea to use them to send mails. ...

An Introduction to Go - Elegance with Power and Simplicity

 05 Jun 2014 |   go google-appengine

Whilst I usually try to stick with only `bread-butter` languages (i.e. php, python, java & C#), my last project involved the Google appengine web app written in Google's own flagship Go language. Being a polyglot who is always intrigued by new languages, I couldn't help being curious about how it was coding with Go, hence I took on the project. My experience of coding with Go was so gratifying that I couldn't help but share it with you. ...

The REAL way to make Eclipse run faster on Ubuntu

 02 Jun 2014 |   ide eclipse ubuntu linux

If you are still one of those people who are frustrated with the crawling speed of eclipse IDE (especially after the recent clunky releases of Juno/Kepler), then you are in good company! Most of the advice you might have read until now for speeding up Eclipse must have involved tweaking the following parameters in eclipse.ini file: ...

How to make your ubuntu machine thank you for its battery life!

 21 Apr 2014 |   linux power ubuntu

Ever since I bought my Toshiba Dual-core Notebook and installed ubuntu on it, I was disappointed by the fact that how quickly it used to heat up and the battery started draining. Add to the equation, the Indian summer of 40 degrees Cecilius plus, and you soon have your fans crying with agony!! ...

Google appengine tip: How to clear appcfg credential cache

 20 Jan 2014 |   appcfg google-appengine tips-and-tricks

Many a times, it so happens that you need to work with multiple credentials while uploading/downloading apps on Google appengine. In such a scenario, it becomes difficult to switch credentials instantly. For instance, you have just uploaded an app using appcfg.py with your google credentials and they are still stored in the cache. So when you want to upload a new app, it won't ask you for email/password and still try to retrieve old credentials automatically ignoring any command-line parameters you have given! Thus, you keep scratching your head as to why you are getting a permission-denied error while uploading/downloading the app! ...

How to host your own mail server using Google appengine

 31 Dec 2013 |   google-appengine python recipes

Google has an outstanding habit of bringing the power of elites to the masses. Firstly, they took over the world of smartphones with android, and now the buzzword everywhere is Google Appengine. ...

How to create a Python app in Google App Engine

 07 Dec 2013 |   google-appengine python recipes how-to

Whilst the official pythonic reference for Google app engine is the way I learnt how to build my first GAE app, I found it a bit frustrating to go through each and every link and understand large topics like caching and data stores in detail just to build a small hello world pythonic app in Google App Engine. What I wanted was a quick and dirty tutorial that let me build a small app first, and then let me improvise upon the areas that I needed to dig deep. I couldn't find such a tutorial anywhere, so I'm writing this one. ...

How to create android dialogs in a reusable manner

 01 Dec 2013 |   android dialog java

  Creating dialogs is a very common need in your app to show a dialog box to the user in order to fetch a value, be it a mobile, desktop or even a web application. Furthermore, the values can range from anything like simple OK-Cancel dialog results to a list of "check-able" values or even a date-range. I experienced the need to create an android dialog for each one of those for showing reports in a recent android app project. Whilst the java api offers maximum flexibility in creating dialog interface elements, there is no ready-made method that can be called to get, say a result for a message-dialog like this: ...

How to uniquely identify your Android device in code

 28 Nov 2013 |   android imei java unique

My last android project involved tracking each device where the app is installed and storing the information to a database. It is quite a common need to uniquely identify your android device in code.Now, had it been a PC, it would have been easy to track the MAC-address of the NIC or an HDD serial to uniquely identify and track that device. But what is the equivalent for android? ...

The 7 "Bread and Butter" Plugins for your Wordpress blog

 28 Nov 2013 |   wordpress

Based on my experiments while setting up this blog, below are the 7 "bread and butter" plugins for your wordpress blog. These plugins came very handy for me and allowed me to seamlessly integrate much needed functionality in my blog without writing a single line of php code! ...

How to Generate PDFs in Python for Google App Engine

 27 Nov 2013 |   google-appengine how-to python recipes

One of my last projects based on google app engine and python involved storing form data in GAE datastore and generating PDF documents that the user can download. Whilst data storing was the easier part as google's big data API it is pretty well documented, the trickier aspect was to convert it to PDF using python. This was especially difficult in the face of GAE not providing an easy mechanism for disk writing that most PDF generation libraries require. To share my endeavors, I'm writing this post about how to generate pdfs in python for Google app engine. ...

3 Steps to integrate barcode scanning in your Android app

 24 Nov 2013 |   barcode android java

Whilst barcode scanning is a pretty complex and non-trivial task in itself, it could be overwhelming sometimes with android programming. Lucky for us, there exists an opensource project called ZXing (pronounced Zebra-crossing) that solves this problem for us. ...

Some Wordpress tips and tricks

 23 Nov 2013 |   tips-and-tricks wordpress

1. Change breadcrumbs to start from "Home" instead of <Site-Title> (Works for Mantra theme): When I set up this site, the breadcrumbs in the post used to read like this: Prahlad Yeri » wordpress » WordPress installation quick-start guide ...

Wordpress installation quick-start guide

 17 Nov 2013 |   recipes wordpress

Wordpress is a blogging platform that is very easy to use, but involves many configuration trivia which may become overwhelming, unless organized and documented somewhere. Based on my experience of setting up this website, here are the things that I had to keep in mind to get it up and running: ...