Saturday, 8 August 2015

Old encryption used in academic websites

Two of the premiere educational institutions of Europe are using very old SSL ciphers. I disallowed some old ciphers in Firefox and the sites started failing.




Wednesday, 5 August 2015

HTML5 video in YouTube

After Firefox blacklisting all versions of Flash, YouTube started annoying me by asking to enable the plugin for the same. So, I decided to try HTML5 video. So, I requested for it. However, I was only getting 360p videos. After reading a bit about it, I found that I had to enable the following options in about:config page of Firefox.
media.mediasource.enabled
media.mediasource.mp4.enabled
media.mediasource.webm.enabled
media.fragmented-mp4.exposed
media.fragmented-mp4.ffmpeg.enabled
Also, to get H.264 codec, I had to install gst-libav package. That solved the issue and I can get all resolution options after that.

Tuesday, 4 August 2015

Ghostery messing up site

With Ghostery turned off.

When Ghostery is turned on.
I tried turning AdBlock Plus on and off but it does not impact the behaviour.

Monday, 27 July 2015

WDFME.exe using up resources

Recently, I found CPU usage stagnating at 100%. Task manager showed that aggregated CPU usage of all my processes consumed was much less than that. Check processes owned by all users, I found WDFME.exe consuming CPU heavily. It seemed quite unnecessary as my hard disk is of Seagate and the "WD" in the name suggested "Western Digital". So, I killed it. It is essentially the software that comes along with Western digital external hard drives. As it turns out, it is not necessary and it a known resource hog.

Wednesday, 22 July 2015

Concatenating wide character strings

Today I was looking at concatenating multiple wide character strings. I was dealing with PWSTRs. As it turns out, I needed to use wstring to do it. The following code illustrates the method.

std::wstring mywstring(mystring);
std::wstring concatted_stdstr = L"hello " + mywstring + L" blah";
LPWSTR concatenated = concatted_stdstr.c_str();

However, the above gives us a read-only value for the concatenated string. We can use wcsdup() to get a writeable copy. Otherwise, we can cast the read-only string to a writeable one as follows.

PWSTR value = const_cast (concatenated);

Monday, 6 July 2015

Failed optimization probably

Uber drives are taking a longer route because of some misbehaving optimization in Google maps it seems. When a cab is booked near the main gate of Pearl Village (as shown below) the route shown to the driver is optimised one. However, when a booking is done from the far end of the society, the cabbie is shown a rather long route. A part of this way is actually a dirt road. Uber should consider feedback from its drivers regarding such cases.

Thursday, 2 July 2015

HolidayIQ share feature broken

The HolidayIQ app did not have share facility before so you could only read their blogs when you get a push notification but not share it with somebody. Recently, I was glad to see the share feature in their app. However, when I tried using it by sharing on WhatsApp, it seems they messed up again. The shared URL is a shortened URL so the problem is not quite apparent on first sight but when a person opens the URL in a browser on a phone that does not have the app, the URL does not work with a message that the URL was not understood (This message was from Firefox. Other browsers will have similar issues.). The problem is that the URL specifies incorrect protocol. Instead of http:// the shortened URL expands to one starting with holiday:// With phones that have the app, this URL is opened in the HolidayIQ app and causes no issues. However, I think they should use a http:// URL while sharing.

Monday, 29 June 2015

Idle windows isn't really idle

My laptop running Windows 7 using using 50% CPU when it is idle. I don't know why but this allows me very less resources to run other programs.
No programs running.
Any suggestions are welcome.

Monday, 27 April 2015

Finding remote URL of a folder under git

I was trying to recover an old codebase. I could see that it had two remotes one of which was now rejecting pushes. So, I figured the remote must have changed. To verify, I needed to see how to find out the remote URL. I found there are three ways of doing it as follows:
  1. git remote show remote_name # this failed for me as the remote URL was unavailable
  2. git config --get remote.heroku.url # this solved my purpose
  3. git remote -v # simplest of all to remember

Heroku suports only Ubuntu

Heroku supports Ubuntu nicely but seems to ignore other distributions. Their reference points to an OS-specific choice page.
points to toolbelt.heroku.com
That page provides a script and a command that uses the script to install heroku toolbet for Ubuntu.
Ubuntu option
However, even for standalone option, the script does not change.
Standalone option
deadlock completed
Now standalone essentially is the category of other linux and BSD distributions. So, having an apt-get script for them is like saying "We hardly care about you". They could have provided a source link there. In fact given that another link on the same page links to their source hosted at Github. And interestingly their Github page asks to first install heroku toolbelt redirecting back to the same page.

Saturday, 4 April 2015

Out of context advertising

Why would I be interested in obituary speeches when I am looking for time zone differences ?

Even facebook goes down

Yeah, it is an event to be noted.

Saturday, 28 March 2015

Bad user experience on fortune.com

Experience in mobile and web should be different
While reading an article on Fortune, I found the reading space so annoyingly reduced. I guess in attempts to make a consistent mobile and web experience people are failing badly.

Saturday, 14 February 2015

Ola on the rise

The website being broken can mean either business is not moving or it is moving too fast. For Ola, the case is the latter.

Monday, 5 January 2015

Disruption in taxi business

Earlier taxi's used to be rather costly. Auto-rickshaws would be around half the price. So spending a little more time in travel and saving some money was a good option. However, looking at the fare charts of Ola and Taxi For Sure, it seems they are snatching away the market from auto-rickshaw drivers as well as from old taxi services.

Negotiating with auto-rickshaw drivers is a hard-learned skill. However as companies like Ola and Taxi For Sure are gaining market, the skill is becoming useless. The disruption in the market is achieved by use of technology to reduce wait time for taxis as well as customers.

The pain points that these technologies are addressing are:
1. Time spent in negotiation is cut off.
2. Taxi drivers are on an average better behaved than auto-rickshaw drivers.
3. Scheduling pickups is easier.
4. Payment is easy if you have a digital wallet with the taxi service.

Some issues that I face usually in Hyderabad are:
1. The driver does not know Hindi and I don't know Telugu so we are stuck on the communication part.
2. The time shown by these car service apps does not take into account the traffic.
3. The drivers usually don't know how to read maps. They need guidance to reach the pickup point and sometimes take long routes.
4. The mobile phone network is not consistent.

Often I find the driver knows a landmark near him and a landmark near my pickup point and because of language problem, I can't explain to him which way (possible shortcut) to take. So, instead of trying hard to explain, I tell him to start on the route he knows or a general route. Then I start tracking him to find where he is and call him back to tell him what to do.

Disruption in this market space is really a nice improvement. It is beneficial to customers as well as drivers. I hope to see this industry flourish.