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   http://cise.ufl.edu/news/NA00173/

http://www.wcjb.com
http://www.gainesville.com

http://www.alligator.org

Photos:
http://www.gainesville.com/apps/pbcs.dll/gallery?Dato=20140222&Kategori=MULTIMEDIA0301&Lopenr=222009995&Ref=PH&pl=1

February 21, 2014

Java Threads

Java Synchronized

public class MyClass {
  
    public synchronized void log1(String msg1, String msg2){
       log.writeln(msg1);
       log.writeln(msg2);
    }

  
    public void log2(String msg1, String msg2){
       synchronized(this){
          log.writeln(msg1);
          log.writeln(msg2);
       }
    }
  } 
 

Java Finally!



public class Hello {

 public static void hello() {
  try {
   System.out.println("hi");
   return;
  } catch (RuntimeException e) {
                        //------------
  } finally {
   System.out.println("finally");

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

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

November 3, 2013

Create a Random Image in Java Pixel by Pixel

Hey check it out how to create a random image in Java pixel by pixel:

        int width = 500;
        int height = 500;

October 23, 2013

Vim and Weirdos!

I always thought vim is for nerds and weirdos. I have been using vim for three years now but I always looked at it as a chore, something that if I don't have to use it I won't! Who would use vim as long as there are sexy IDEs out there?

Until I little by little got familiar with some of its feartures. Like speak vim: di" will Delete Inside Quotation marks, or there are other verb/ nouns there. Today I tried vim plugins for the first time: I started with AutoComplPop, this

October 14, 2013

Twitter Analytics Infrastructure: Parquet, Storm - Analytics @ WebScale

I was watching a talk by Dmitriy Ryaboy who is the engineering manager on Twitter's analytics infrastructure team. The talk was about Twitter Analytics Infrastructure like Parquet, Storm,... at the Analytics @ WebScale conference and making sure they provide the right and optimized tools /infrastructure for different teams there to use .

===
So let's get dirty:
Logs are available in HDFS and stored in Apache Thrift

October 8, 2013

Workflow Management Azkaban & Oozie

Here I went to a meetup that talked about workflow management tools namely Azkaban and Oozie.
So imagine you have a long process of jobs in different programming languages, libraries etc. and you are handling each time e.g. manually run them or check their exit status, or write a shell script with ifs/elses to proceed to the rest of the jobs.  That is UGLY!

So Azkaban will take care o this for you in a nice GUI interface and tell you which ones succeeded or failed, and email you if they failed or succeeded. Now I like that!

Apparently it is not able to take care of creating directories or etc based on the workflow job so for those stuff you still need to have your own bash script.

September 18, 2013

Node.js and Benchmarking it on Mac

I'm looking through node.js which is a webserver with javascript code. So one of the cool features is that all of its commands are non-blocking! the server just keeps running. There is no mutex or multi-thread locks or deadlocks etc.

If you test it with ab command which is apache benchmark for webservers. ab already ships in Mac

September 10, 2013

Hadoop Meetup

Today I went to a Hadoop Meetup event where people shared their fair piece of wrestling with Hadoop. The discussion were mostly around search, scalability, fault tolerance, workflow and responsiveness. There were a ton of challenges that from outside you might think that they are not big of a deal but when you get to do them it takes a good man's efforts to solve. The main host was the Grooveshark music streaming company with over 60 employees in two offices one here in Gaiensville, FL and another in New York. The next meeting we would be talking about Hadoop workflow, Oozie by Yahoo, Azkaban by Linkedin, etc.

August 24, 2013

Push the Limits of Big Data

You know you are working on big data when you reach the capacity of the giant text indexer Lucene. Apparently Lucene has a maximum number of documents that can be processed. Wen you are processing over two million compressed files each of which is composed of up to thousands of HTML files things tend to go wrong.

Checkout below
http://stackoverflow.com/questions/10247309/solr-exception-docid-must-be-0-and-maxdoc-20
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.1.0/org/apache/lucene/index/BaseCompositeReader.java

So the problem is: we are stuck

August 18, 2013

How to Know What Everybody Does in a City in a Machine Learning Way?

Suppose you’ve just moved to a new city. You’re a hipster and an anime fan, so you want to know where the other hipsters and anime geeks tend to hang out. Of course, as a hipster, you know you can’t just ask, so what do you do?
Here’s the scenario: you scope out a bunch of different