While we hear about free WiFi for public, roaming on the road and window shopping in malls, hotels still charge for WiFi. What’s more they charge per device! To my surprise, 3 star hotels give free WiFi (speed is debatable ;-)) but 5+ star hotels charge for it or restrict it to a one or couple of devices.
At such a hotel, you will be typically given the SSID of the WiFi, a login (usually the room number) and a password. The WiFi will not be password protected (aka open). But once you connect to the WiFi, you will be taken to a login page. Without filling a username and password (given by the hotel) at this login page, you will not be able to browse the web or download your emails. With the per device restriction, you will be able to connect to the Internet only from the device from which you log in on the login page. So as long as the hotel system sees one or the permissible no. of devices connected, you are good to go. So how to get around this?
Earlier during one of vacations I was caught unaware by the per device charges. So I ended up doing something complicated as follows:
Hotel charges per device for WiFi. Android1 connected to WiFi, Android2 to 1 via Bluetooth tethering, WP8 & iPod to 2 via WiFi tethering
— Shekhar Govindarajan (@shekharg) June 16, 2013
Cloudera Impala is a SQL query engine for Hadoop. Impala is supposed to be better suited for real-time SQL queries, compared to MapReduce-based, batch processing software like Hive or Pig. The former is not dependent on MapReduce. In one of the ongoing projects which is running Impala on Hadoop, I had to configure connecting to it via PHP – so that the web developers can start using it.
This blog post explains to query Impala using PHP and ODBC. What’s more, Cloudera (the company behind Impala) provides an RPM for ODBC drivers for Impala. Following is how to install, configure and use Impala ODBC drivers with PHP (version 5.4) on CentOS 7 (64bit) Linux distribution.
You have SSH (Secure Shell) access to an intranet server running a web application in your office. Sitting remotely, you can modify the web scripts on the command line. Once done, to see the results, you cannot access the web application because it is meant to be accessed from within the intranet, within the office. Port 80 is blocked by a firewall. So should you wait to go to the office to see the result? Not really. You have SSH access and thanks to something called SSH Tunnel.
Let’s say you can access server.abc.com using SSH which is running the web application. After modifying the web scripts, you can see the results in your web browser (on your laptop) as follows:
I have been following Google Polymer for Web apps since version 0.5. I wrote a couple of prototype mobile web apps using it. One of the prototype apps that I wrote in version 0.5 was using Facebook Parse. In this app, I used Polymer’s template data binding (with repeat attribute) extensively with Facebook Parse. Polymer’s template binding with repeat attribute is quite useful to display rows of data from a database.
With the release of Polymer 1.0 (a.k.a. production ready), I started using it for yet another app. Things have changed a lot since version 0.5. Has the template data binding got easier? This time, for this new app, I had to bind the template with data coming from a PHP script.
With Polymer 1.0, the template binding with dynamic data indeed is easy. But the lack of examples makes it tricky. In my new app, I was trying to fire an AJAX request to a PHP script, via Polymer’s iron-ajax element, and directly binding it to a template with dom-repeat (“repeat” in the earlier version).
Updated my iPad to iOS 8.4 to try out Apple Music. I’m quite excited about the 3 months FREE! trial. Once iOS got updated, I clicked on Music.
I ignored almost all the prompts, skipped reading the messages and agreed to the terms without reading (surprise!), to get Apple Music up and running asap. While AirPlaying the album Roja to my Linux server (via Shairport), I suddenly started to worry about “what will happen after the free trial?”.
Recently I wrote a Google Apps Script for a client which creates Google Calendar events from the responses submitted to a form created using Google Forms. Based on the start and end date in the form, the script automatically creates an event in a Google calendar, when the form is submitted. Also if a response is edited in the responses spreadsheet, the calendar event is modified automatically through this script.
What’s more using the AppSheet addon, the form can be submitted from a mobile too.
I had gifted an LG G Watch to my wife in December. She used it religiously for several months. Some time back, she started forgetting to charge it or wearing it to work. I found this the right opportunity to grab it and use it with my Moto G Android phone. So far (after a couple of days of using it), I find the watch quite useful while driving. That’s when I can just glance through the notifications without looking at the phone or taking it out from my jeans pocket.
At night, it is useful to have the watch by the bed side while the phone is changing elsewhere at home. Depending on the notifications (email, SMS or call) on the watch, I can decide if I want to get out of the bed to attend it on the phone.But what’s more?
Security is a serious affair, and so is love So I thought about using one of the security features on Android to surprise my wife on this Valentine’s day.
Do not read any further if you don’t know your partner’s passwords. And the best way to get your partner’s password is to share your passwords with him/her.
Fortunately I know the passwords that my wife uses (thanks to the tip mentioned above).
Next, all the phones/tablets (Android, Windows Phone, iPad, Blackberry) can be setup for remote locate, lock and wipe. That’s one of the first few things that I setup on my devices. So the remote security (Android Device Manager) was setup on my wife’s phone (OnePlus One). The stage was all set for the fun.
Sometime back I worked on a project which required face detection in the photos uploaded by the user. Yesterday I read about our honorable prime minister Modi ji and BJP are setting selfie booths. This led to the idea of “I am Mufflerman” Try the demo here.
On the demo page, click on the button on the top and upload a selfie (if on a desktop/laptop) or click a selfie if you are browsing the demo on a phone.
Upload a photo which is a selfie. Do not upload a groupfie (more than one person in the photo). The demo does a frontal face detection so look straight into the camera.
I have been wanting to try out NFC tags. What stopped me was the price, availability in India and compatibility with various phones. So just to have fun with tags, I settled down with QR Code and Microsoft tags until recently. Few weeks back, I ordered a pack of 5 NFC tags from eBay India for Rs. 295/- from eBay India.
Recently I faced a task in a project, wherein I was asked to ensure that a script (a PHP script) must be always running, to the extent that if it dies, it must restart immediately.
Though the script was fairly tested to handle error conditions, still there could be a few unforeseen situations . This is because the script fetches data from a third party service provider and also relies on constant connectivity with the service provider for real time data.
The script was to run unattended on a Linux server.