Null Hypothesis, Statistics

The word "null" in this context means that it’s a commonly accepted fact that researchers work to nullify. It doesn’t mean that the statement is null itself! (Perhaps the term should be called the "nullifiable hypothesis" as that might cause less confusion).

It is the opposite of the alternate hypothesis. Researchers work to reject, nullify or disprove the null hypothesis. Researchers come up with an alternate hypothesis, one that they think explains a phenomenon, and then work to reject the null hypothesis.

It's denoted as: H0

We determine a significance level that indicates the probability threshold under which we will reject the null hypothesis in favor of the alternative hypothesis. The significance level of the difference between Null Hypothesis and the Alternate Hypothesis is denoted by alpha.

α "alpha" = significance level in hypothesis test, or acceptable probability of a Type I error (probability you can live with)

For example if α is 0.05, it means there is a 5% chance that H0 is rejected in favor of the alternative hypothesis.

Shared by joubin on Sat Sep 15 2018

The 'where' Windows command

Display file locations that match the searched pattern.

Use the where command.

WHERE [/R dir] [/Q] [/F] [/T] pattern...

By default, the search is done along the current directory and in the paths specified by the PATH environment variable.

Parameter List:
/R Recursive

/Q Quiet mode

/F Displays the matched filename in double quotes.

/T Displays the file size, last modified date and time for all
matched files.

Shared by joubin on Mon May 28 2018

Data Science, Python Libraries

  1. Scikit-learn (formerly scikits.learn) is a free machine learning library for Python.
    • This library features:
      • classification algorithm
      • regression algorithm
      • clustering algorithm
      • ... including support for vector machines, random forests, gradient boosting, k-means and DBSCAN.
    • It is designed to interoperate with NumPy and SciPy.
  2. NumPy is a library for Python, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.
  3. SciPy is a free and open-source Python library used for scientific computing and technical computing.
  4. Matplotlib is a plotting library for Python and its numerical mathematics extension NumPy.
  5. pandas is a software library written for Python for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.

Shared by joubin on Wed Jul 25 2018

Web Page Weight

  1. Performance Budget
    • Make performance part of the conversation
    • Measure, Optimize, Monitor, and Repeat
  2. Optimizing this is a journey
  3. Audit and Trim your JS Libraries
  4. Perhaps JS is the most expensive part of a website page
  5. JavaScript has a cost
  6. A JPEG image needs to be decoded, rasterized, and painted on the screen.
    • A JavaScript bundle needs to be downloaded and then parsed, compiled, executed —and there are a number of other steps that an engine needs to complete.
  7. Download time, Parse time, compile time, Execution time


Code-Splitting guidelines:

Shared by joubin on Fri Aug 03 2018


The concept of a data frame comes from the world of statistical software used in empirical research.

It refers to "tabular" data: a datastructure representing cases (rows), each of which consists of a number of observations or measurements (columns).

Shared by joubin on Fri Jul 27 2018

Azure Cognitive Services APIs

Language:Allow your apps to process natural language, evaluate sentiment and topics, and learn how to recognize what users want.

  • Language Understanding Intelligent Service PREVIEW
  • Bing Spell Check API
  • Translator Speech API
  • Web Language Model API PREVIEW
  • Text Analytics API PREVIEW
  • Translator Text API
  • Linguistic Analysis API

Knowledge: Map complex information and data in order to solve tasks such as intelligent recommendations and semantic search.

  • Recommendations API PREVIEW
  • Custom Decision Service PREVIEW
  • Knowledge Exploration Service PREVIEW
  • Academic Knowledge API
  • Entity Linking Intelligence Service API PREVIEW

Search: Make your apps, webpages, and other experiences smarter and more engaging with the Bing Search APIs.

  • Bing Autosuggest API
  • Bing Video Search API
  • Bing Image Search API
  • Bing Web Search API
  • Bing News Search API
  • Bing Custom Search

Shared by joubin on Wed May 24 2017

Vendor Artificial Intelligence Collaboration

Partnership on AI was formed by a bunch of vendors and 3rd parties to collaborate on AI.

Shared by joubin on Fri May 26 2017

AI development APIs and tools

  • R
  • scikit-learn
  • TensorFlow from Google
  • Theano library in Python
  • Deeplearning4j for folks who use Java and JVM
  • Packages rpart, glmnet in R are also useful for quick hacks to test an idea
  • spaCy: For natural language processing

Shared by joubin on Fri May 26 2017

stash clear/drop


Remove all the stash entries. Note that those entries will then be subject to pruning, and may be impossible to recover (see Examples below for a possible strategy).

drop [-q|--quiet] [<stash>]

Remove a single stash entry from the list of stash entries. When no <stash> is given, it removes the latest one. i.e. stash@{0}, otherwise <stash> must be a valid stash log reference of the form stash@{<revision>}.

Shared by joubin on Mon Jul 09 2018


Docker can build images automatically by reading the instructions from a Dockerfile.

Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.

Using docker build users can create an automated build that executes several command-line instructions in succession.

Shared by joubin on Tue May 29 2018

Html submit button formaction attribute

The formaction attribute specifies where to send the form-data when a form is submitted.

This attribute overrides the form's action attribute.

The formaction attribute is only used for buttons with type="submit".

The formaction attribute is new in HTML5.

Shared by joubin on Tue May 08 2018

Visual Studio Code shortcuts

Ctrl + Shift + P => Command Palette

Ctrl + Shift + X => Extenstions

Ctrl + ` => Integrated Terminal (? Ctrl + J)

Ctrl + B => Toggle Sidebar (right)

Alt + Left Arrow Key => Previous cursor location

Alt + Right Arrow Key => Next cursor location

Ctrl + P => Go to file

F12 => Go to definition

Ctrl + F12 => Go to Implmentation

Ctrl + K, S => Save All

Shared by joubin on Tue May 08 2018

PowerShell and TLS1.2

PowerShell user TLS1.0 by default and if you try Invoke-RestMethod to an HTTPS endpoint, you will get:

Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send

To force PS to use TLS1.2, execute the following:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;

Shared by joubin on Fri May 04 2018

TSQL, Composite Primary Key

Alter table TABLENAME 
Add Constraint PK_COL1_COL2_COL3
Primary Key Clustered (COL1, COL2, COL3)

Shared by joubin on Wed May 02 2018


Emmet is a set of plug-ins for text editors that allow for high-speed coding and editing in HTML, XML, XSL, and other structured code formats via content assist.

Formerly known as Zen Coding.

Emmet is primarily independent from any text editor, as the engine works directly with text rather than with any particular software.


Project site:

Shared by joubin on Wed May 02 2018

Kubernetes Architecture Overview

Shared by joubin on Mon Feb 19 2018


cgroups is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network, etc.) of a collection of processes.

Engineers at Google (primarily Paul Menage and Rohit Seth) started the work on this feature in 2006 under the name "process containers".

In late 2007, the nomenclature changed to "control groups" to avoid confusion caused by multiple meanings of the term "container" in the Linux kernel context, and the control groups functionality was merged into the Linux kernel mainline in kernel version 2.6.24, which was released in January 2008. Since then, developers have added many new features and controllers, such as support for kernfs in 2014, firewalling, and unified hierarchy.

Shared by joubin on Sun Apr 29 2018