YSK that VLC has an extension that can automatically find the right subtitle for you

Do this by installing the extension here:


How to use it:

  • Start Vlc
  • Start your video
  • Click on the menu View > VLSub or VLC > Extension > VLSub on Mac OS X
  • Click on “Search by hash” or “Search by name”
  • Select a subtitles file on the list
  • Click on “Download selection” That’s it, the subtitles should appear on your video.

If you’re not happy with your subtitles (wrong sync etc), you can select an other one and click “Download” again, that will erase the previous one and load it automatically.

Edit: If you have VLC 2.2 installed, it should already be there. Just go to to View > VLSub

ref: http://www.reddit.com/r/YouShouldKnow/comments/330s84/ysk_that_vlc_has_an_extension_that_can/

Build 2015: Keynote – Day 1


  1. You can debug a ASP.Net web App running on linux using a docker container in Visual Studio with 1 clk
  2. .Net Core runtime is released for Windows, linux and Mac
  3. Visual Studio Code, a cross platform Editor is released
  4. Azure Service Fabric SDK Released
  5. SQL Data Warehouse and Azure Data Lake service was announced
  6. Office Sway launched
  7. Office AddIns are Js and HTML5\
  8. Office Graph Unified APIs
  9. Skype SDK launched
  10. New ways to build Universal Win 10 Apps
    1. Register existing website as an app. Basically if the server detects that the web app is running in windows app container, it can do additional things like in app purchases or push notifications ie use all of windows universal app platform
    2. .Net & win32 apps will be allowed in windows store and can also leverage windows universal app platform but these apps run in appv and so can’t hurt other apps
    3. Android, Java and C++ Apps: Windows Phone will run an android subsystem
    4. iOS Objective C code can be compiled to windows app in visual studio
  11. Microsoft Edge is the Browser’s name
  12. Chrome/Firefox extensions can be ported to Edge with slight modifications
  13. Continuum for phones. This allows for experiences like when Phone is connected to external display and bluetooth keyboard/mouse. Now the external display will act just like a windows machine while the phone runs in phone’s layout…but this will need new hardware on phones to support this feature..
  14. Hololens can talk to IOT devices running the windows IOT Core

LESS vs SASS in 2015

With heavy use of Bootstrap last year, I was using LESS. But with angular-material written in SCSS, i decided to revisit the two and see how things are in 2015

Looks like SASS is the way forward…ref:





TypeScript (1.4) AngularJS (1.4.x) Cheat Sheet


Define Module

// <reference path="../typings/angularjs/angular.d.ts"/>
module MyModule {
"use strict";
angular.module("myModule", ["ngRoute"]);
export var getModule: () => ng.IModule = () => {
return angular.module("myModule");

Define a Controller

// <reference path="../../typings/angularjs/angular.d.ts"/>
module MyModule {
"use strict";
var app = getModule();
class MainController {
private isAlive: boolean = false;
private lastCheck: Date = new Date();
constructor(private $interval: ng.IIntervalService) {
var intervalFn = () => {
this.isAlive = result;
this.lastCheck = new Date();
$interval(intervalFn, 1000);
public static $inject: string[] = ["$interval"];
app.controller("mainCtrl", MainController);

Define a Directive (using a factory)

class MyDirective implements ng.IDirective {
public restrict: string = "A";
public require: string = "ngModel";
public scope = {
state: '='
constructor(private $location: ng.ILocationService) {
public link: ng.IDirectiveLinkFn = (scope: ng.IScope, element:
ng.IAugmentedJQuery, attrs: ng.IAttributes, ngModel: any) => {
// do stuff here
var app = getModule();
app.directive("myDirective", ["$location",
($location: ng.ILocationService) => new MyDirective($location)]);

Define a Route

"$routeProvider", ($routeProvider: angular.route.IRouteProvider) => {
$routeProvider.when("/My/View/:id", {
templateUrl: "/My/View",
controller: "myViewCtrl",
controllerAs: "ctrl"