Saturday, July 11, 2015

Image Metadata Javascript

function getMeta(imageUrl){
  $('<img/>').attr('src', imageUrl).load(function(){
     s = {w:this.width, h:this.height};
     alert(s.w+' '+s.h);    
  });
}

Thursday, July 2, 2015

Java Logging

try {
    Handler handler = new FileHandler("OutFile.log");
    Logger.getLogger("").addHandler(handler);
    
} catch (IOException e) {
    Logger logger = Logger.getLogger("package.name"); 
    StackTraceElement elements[] = e.getStackTrace();
    for (int i = 0, n = elements.length; i < n; i++) {
        logger.log(Level.WARNING, elements[i].getMethodName());
    }
}

Java Exception StackTrace

[Exception.getStackTrace()]
catch (Exception cause) {
    StackTraceElement elements[] = cause.getStackTrace();
    for (int i = 0, n = elements.length; i < n; i++) {       
        System.err.println(elements[i].getFileName()
            + ":" + elements[i].getLineNumber() 
            + ">> "
            + elements[i].getMethodName() + "()");
    }
}
[ExceptionObject.printStackTrace()]

Sunday, June 28, 2015

Probable Prime using Java Big Integer

BigInteger prime = BigInteger.valueOf(0);
for (int i = 0; i < n; i++) {
    prime = prime.nextProbablePrime();
}
System.out.println(prime.intValue());

Most Efficient Code for Nth Prime

public static int nthprime(int n) {
if (n == 1) return 2;
if (n == 2) return 3;
int limit, root, count = 1;
limit = (int)(n * (Math.log(n) + Math.log(Math.log(n)))) + 3;
root = (int) Math.sqrt(limit) + 1;
limit = (limit - 1) / 2;
root = root / 2 - 1;
boolean[] sieve = new boolean[limit];
for (int i = 0; i < root; ++i) {
if (!sieve[i]) {
++count;
for (int j = 2 * i * (i + 3) + 3, p = 2 * i + 3; j < limit; j += p) {
sieve[j] = true;
}
}
}
int p;
for (p = root; count < n; ++p) {
if (!sieve[p]) {
++count;
}
}
return 2 * p + 1;
}

Sunday, June 21, 2015

CSS Element Full Rotation

/* rotation animation */
@-webkit-keyframes rotate {
  from { -webkit-transform:rotate(0deg); }
  to { -webkit-transform:rotate(360deg); }
}

@-moz-keyframes rotate {
  from { -moz-transform:rotate(0deg); }
  to { -moz-transform:rotate(360deg); }
}

@-ms-keyframes rotate {
  from { -ms-transform:rotate(0deg); }
  to { -ms-transform:rotate(360deg); }
}

@-o-keyframes rotate {
  from { -o-transform:rotate(0deg); }
  to { -o-transform:rotate(360deg); }
}

.rotating {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation-name: rotate;
  -webkit-animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-transform-origin: 50% 50%;
  -moz-animation-name: rotate;
  -moz-animation-duration: 1s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-transform-origin: 50% 50%;
  -ms-animation-name: rotate;
  -ms-animation-duration: 1s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
  -o-transform-origin: 50% 50%;
  -o-animation-name: rotate;
  -o-animation-duration: 1s;
  -o-animation-iteration-count: infinite;
  -o-animation-timing-function: linear;
}

Clean Up Email

[from:noreply* OR from:do-not-reply* OR from:donotreply* OR from:notification*]
[from:news* OR from:digest* OR from:auto* OR from:reports* OR from:*mailer*]

Friday, June 19, 2015

io to nio

File folder=new Folder("D:\\");

File[] files = folder.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith("" + FILE_EXT + "");
}
});

Path dir=Paths.get("D:\\");
DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.{" + FILE_EXT + "}");

Base64

Base64.encodeBase64String(input.getBytes(charset));

Friday, June 12, 2015

Quick System.out.println()

static<T> void z(T arg) { System.out.println(arg); }
use z(object)
buzz around! dump text, write to console, overflow the terminal, debug code

Wednesday, May 27, 2015

Things to do on Fresh Linux installation

sudo apt-get install synaptic vlc gimp gimp-data gimp-plugin-registry gimp-data-extras y-ppa-manager bleachbit openjdk-7-jre oracle-java8-installer flashplugin-installer unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack arj cabextract file-roller libxine1-ffmpeg mencoder flac faac faad sox ffmpeg2theora libmpeg2-4 uudeview libmpeg3-1 mpeg3-utils mpegdemux liba52-dev mpeg2dec vorbis-tools id3v2 mpg321 mpg123 libflac++6 totem-mozilla icedax lame libmad0 libjpeg-progs libdvdcss2 libdvdread4 libdvdnav4 libswscale-extra-2 ubuntu-restricted-extras ubuntu-wallpapers*


  1. synaptic is a package manager, which we use in many tutorials.
  2. vlc is one of the most popular and powerful media players available.
  3. gimpgimp-datagimp-plugin-registry, andgimp-data-extras are all parts of a powerful photo editor, built to rival Adobe Photoshop.
  4. y-ppa-manager is there so you can manage PPAs without needing to use the Terminal.
  5. bleachbit is a powerful cleaning utility.
  6. openjdk-7-jre is an open-source Java emulator.
  7. oracle-java8-installer is the official Java installer.
  8. flashplugin-installer is the official Flash installer.
  9. unaceunrarzipunzipp7zip-fullp7zip-rarsharutilsraruudeviewmpackarj,cabextract, and file-roller are there to extract and compress files in various archive formats.
  10. libxine1-ffmpegmencoderflacfaacfaad,soxffmpeg2theoralibmpeg2-4uudeview,libmpeg3-1mpeg3-utilsmpegdemuxliba52-devmpeg2decvorbis-toolsid3v2mpg321,mpg123libflac++6totem-mozillaicedax,lamelibmad0libjpeg-progslibdvdcss2,libdvdread4libdvdnav4libswscale-extra-2and ubuntu-restricted-extras are all media codecs. They play videos, music, and DVDs.
  11. ubuntu-wallpapers* adds basically every wallpaper that has ever lived.

Going one step further with Kotlin & gRPC

Recently, I tried using Quarkus with Kotlin for grpc. I have worked with grpc for communication between microservices in Java & Golang. ...