December 10, 2014

Create Authentication for REST API

Authentication for REST API like done in amazon, facebook, dropbox they most probably conform to HMAC pattern. See here, here, here, and here.


November 18, 2014

Semantic Web in Action - Structured Data

So Google has been building a knowledge graph of things. To better facilitate your website to be included in Google knowledge graph and enhance its SEO you have to embed semantic web (SW) vocabulary to your website.

November 14, 2014

NoSQL vs Lucene as Database

Today I was looking at the products of SindiceTech specifically SIREn which is schemaless search engine for JSON. They seem to be using it for their knowledge graph representation. Now the question boils down to why even bother with Lucene? MongoDB is already out there with scalability and fast nested schemaless indexing and search, even if you want to consider using it for a knowledge graph or semantic web context. Here is a good comparison of Lucene vs MongoDB as schemaless data stores and search engine. At the end of the day, if lucene done right it can do anything MongoDB can.

October 28, 2014

Matlab libsvm Mac Yosemite

After upgrading to Mac Yosemite things don't work as expected and Matlab doesn't run any more. So here is the fix:

October 23, 2014

Get Started with MEAN stack for Dummies

It's always tricky to get on track with new technologies. Here is how to get your first helloworld MEAN app up and running in a breeze!

October 8, 2014

Fucking SCP

Fucking scp didn't work because I printed out some statistics on the machine and its name bla bla and it took me some time to realize that scp depends on any returns from the server EVEVN ECHO prints!!!

So I had to disable all my status welcome messages and machine status printouts to console. Fucking dummy

October 5, 2014

Fix for Arabic Typing in Microsoft Word in Mac

How to fix sepratated/segragated arabic alphabet in microsoft word in mac:

Quit word.


copy and replace it with existing file located in

~/Library/Application Support/Microsoft/Office/User Templates


July 5, 2014

Genetics and Inheritance for Idiots

Each person's cell is composed of 23 pairs of chromosomes (therefore a total of 46). Each location in a chromosome is called a Gene that is about a specific feature of a person e.g. hair color, how big teeth are, eye color, etc. Each pair of chromosomes contains different Genes than other pairs.

June 9, 2014

How to Pass Turing Test?

Recently a chatbot fooled human judges in thinking it is a 13 year old boy for whom English is the second language. Here is the basic details of the structure of this system: it uses a hierarchy of patterns specified in XML structure for state estimation, and a set of rules that activate based on state, with knowledge that is stored in the database. Watch the original conference Chatbots 3.0 conference held in 2010:

June 5, 2014

Curse of Dimentionality

Classifiers that tend to model non-linear decision boundaries very accurately (e.g. neural networks, KNN classifiers, decision trees) do not generalize well and are prone to overfitting. Therefore, the dimensionality should be kept relatively low when these classifiers are used. If a classifier is used that generalizes easily (e.g. naive Bayesian, linear classifier), then the number of used features can be higher since the classifier itself is less expressive.

which features should be used?

February 26, 2014

Java Code Generation

cglib is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime. See samples and API documentation to learn more about features. Hibernate, Spring, iBatis all use cglib!!!

Open source projects use cglib and used by cglib:

February 23, 2014

Hoggetowne Hack

One DSR team participated at the 6-hour Hoggetowne Hack 2014, Gainesville (an Open Data movement hackathon). We raced with an idea on city safety and delivered a workable prototype as an Android app which was brought upon to the panel of judges and nailed 2nd place and delivered check of $750 back home! This was a good data challenge with roughly 133 data sets available:Gainesville's Open Data Portal (a Government 2.0 initiative). There was 13 teams presenting their work with people from various local startups such as Grooveshark, roomsync, 352media, Gainesville HackerHouse, swampmobile, and many others.

Press Coverage:
First page of Computer Science Department at University of Florida


February 21, 2014

Java Threads

Java Synchronized

public class MyClass {
    public synchronized void log1(String msg1, String msg2){

    public void log2(String msg1, String msg2){

Java Finally!

public class Hello {

 public static void hello() {
  try {
  } catch (RuntimeException e) {
  } finally {

  System.out.println("after try catch");

        public static void main(String[] args){
                System.out.println("after hello in parent");