GUI Client tool for Closure Compiler

Google built some excellent tools for JavaScript development. One of them is the Closure Compiler. A common development scenario is at the end of every project when we finally deploy the code in production we usually minify and merge all .js files into single or fewer numbers of files. To do this I normally use Closure Compiler, but there is a small problem like if you use the closure compiler’s online version you can’t actually minimize the .js files on your local machine, there is of-course a offline version of the compiler but you have to use that from command line, and which is not much user friendly specially if you are in a hurry or not using any automated build tool, So I decided to fill this gap, and built this GUI wrapper for the great Closure Compiler.

You can use this from your pc, to run this you will need java (jre) in your pc, i built this using java 7 so earlier versions of java will NOT be able to run it.


No installation required just download and click. Grab the tool from here, the jar version is for all operating system, but i also built an exe of it but it will still require java. (jre 7)

How it works:
At first i tried to reverse engineer the whole compiler just like i did for the css-minimizer but well its a huge thing, thousands of Classes inside it. I felt lost, but there was a easy way out, Google provides a REST api for it, and I decided to use it. So that means this GUI tool can’t work offline (unless you select the merge option), when you select .js files and press the compile buttons it merge all the js files and requests Google and then saves the response.

One important thing, closure compiler checks for errors and warning. So if there is any error or warning in your JavaScript it will be included in to the response. So always check the compiled file before including into the project.

Tips: Hold Ctrl button to add multiple JavaScript files in the list.

Okay now try it. and give me feedback and suggestions. Thanks

GUI tool for Google Closure Compiler
Requires Java 7 to run.

Bangla Pad Updated

Bangla Pad 2.0 Released!!. It contains few new features like better font, undo/redo, save and Save as.. now works correctly, also it now has a context menu for copy/paste.
Download BanglaPad / Download Java
Bangla Pad 1.3 Released!!. It contains some minor bug fixes. Please update if you are already using any prior version.
I wrote a software few years back to write bangla easily with phonetic based layout. It was working good till now, though it had few issues with this new update i tried to resolve most of them.

Beside fixing the issue with this new update i embed the Unicode font with it, so now any computer without a bangla font can now write bangla with it. Read the full description here.

You can get it from here, no installation required just download and run. Only thing just make sure you have the jre 1.6.0_33 or later 

Key Layouts: (For writing join character use the + sign) For any question about any specific spelling or character please feel free to ask me in the comment section.

অ → ao
আ → A
ই → I
ঈ → II
উ → U
ঊ → UU
ঋ → WR
এ → E
ঐ → Oi / OI
ও → O
ঔ → Ou / OU
ক → k
খ → kh / K
গ → g
ঘ → gh / G
ঙ → Ng
চ → c
ছ → ch / C
জ → j
ঝ → jh / J
ঞ → NG
ট → t
ঠ → th
ড → d
ঢ → dh
ণ → N
ত → T
থ → Th
দ → D
ধ → Dh
ন → n
প → p
ফ → ph / f
ব → b
ভ → bh / v
ম → m
য → z
র → r
ল → l
শ → sh
ষ → S
স → s
হ → h / H
ঃ → HH
ং → ng
ঁ → ^ / NN
ৎ → tt
া → a
ে → e
ো → o
ি → i
ী → ii
ু → u
ূ → uu
ৈ → oi
ৌ → ou
্ → + / w
ৃ → wr
৳ → $
ক্ষ → k+S
হ্ম → H+m / h+m
দ্ম → D+m
জ্ঞ → gg / j+NG
ঞ্জ → NG+j
ষ্ণ → S+N
ফ্ট → f+t
হৃ → Hwr / hwr
হ্ণ → H+N / h+N
হ্ন → H+n / h+n
ক্স → x / k+s
কৃষক → kwrSk
চট্টগ্রাম → ct+tg+ram
মধ্যাহ্ন → mDhYaH+n
অপরাহ্ণ → aopraH+N
হৃদয় → HwrDy
সহিষ্ণু → sHiS+Nu
অঞ্জন → aoNG+jn
বিজ্ঞান → biggan / bij+NGn
ব্রাহ্মণ → b+raH+mN
সহজ → sHj
বাংলা → bangla
ঐতিয্য → OiTizY
কোদাল → koDal
চাঁদ → ca^D
ব়্যাব → rYab
কার্য → kar+z
কক্সবাজার → kxbajar
পদ্মা → pD+ma
গঙ্গা → gNg+ga
ঈদ → IID
সফ্টওয়্যার → sf+tOyYar
মৃত্যু → mWTYu
Bangla Pad version: 1.3

Do you aware of Y2K38?

Okay let me first tell what is the term Y2K38 or Unix Millennium bug or year 2038 problem: Well it is a some kind of computer programming problem with date (something similar like Y2K), says that all programs and software are going to crash on near or after 2038. You will find a Wikipedia definition here. Okay look at some php code and its output:

$timestamp=mktime(0, 0, 0, 01 , 01, 2009);
echo date("F j, Y, g:i a",$timestamp);   // January 1, 2009, 12:00 am

Well output shows expected result. But notice this code now:

$timestamp=mktime(0, 0, 0, 01 , 01, 2039);
echo date("F j, Y, g:i a",$timestamp);  //January 1, 1970, 7:00 am

Yes output is little shocking. This is what they are calling Y2K38. I think we don’t need to worry about it too much. We still have enough time to solve this.  The code above is tested in php(5.2.9) language. I also tested the same thing in java and there is no such problem i found yet (yes java is great!!! :D).

Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
String output;
DateFormat df=DateFormat.getDateInstance(DateFormat.FULL,Locale.ROOT);
System.out.println(output); //Monday, December 1, 2059

notice input and output(shows as expected). Yes we don’t need to worry about it. If we manage to survive until 2038 we will definitely have a solution by then.
Continue reading “Do you aware of Y2K38?”

Bangla Pad

Update (Feb 16, 2012):

In the new update I embed a Unicode bangla font with it so you will no longer need to install any font in your machine.


I was in need of a good bangla typing editor from long ago (yes i know there are many bangla typing software available over there; they don’t worked for me.) so i have decided to make one for me.  (I released its first preview).  You can try it in here.

Continue reading “Bangla Pad”

Chrome supports Java!

Google Chrome requires Java version 6 update 10 (Java 6u10), and should work with Java 6u10 as indicated in the Google Chrome Help Center. However, Sun Microsystems does not support Google Chrome for Java SE 6. For more information and help on Chrome, you might want to visit :  Google Chrome Help Center For a list of Java supported browsers by Sun Microsystems, please visit the following page: Java SE 6 Release Notes Supported System Configurations  Download the early access version of Java 6u10 from the link below: Download Java 6 update 10 early access version  To make sure that Google Chrome recognizes Java 6 update 10 correctly, you might want to install Java 6u10 prior to installing Google Chrome. And for Silverlight you might need to install silverlight after installing Chrome. 🙂

PHP implemented in 100% Java

Quercus is Caucho Technology’s 100% Java implementation of PHP 5 released under the Open Source GPL license. Quercus comes with many PHP modules and extensions like PDF, PDO, MySQL, and JSON. Quercus allows for tight integration of Java services with PHP scripts, so using PHP with JMS or Grails is a quick and painless endeavor.

With Quercus, PHP applications automatically take advantage of Java application server features just as connection pooling and clustered sessions.

Quercus implements PHP 5 and a growing list of PHP extensions including APC, iconv, GD, gettext, JSON, MySQL, Oracle, PDF, and Postgres. Many popular PHP application will run as well as, if not better, than the standard PHP interpreter straight out of the box. The growing list of PHP software certified running on Quercus includes DokuWiki, Drupal, Gallery2, Joomla, Mambo, Mantis, MediaWiki, Phorum, phpBB, phpMyAdmin, PHP-Nuke, WordPress and XOOPS.

Quercus presents a new mixed Java/PHP approach to web applications and services where Java and PHP tightly integrate with each other. PHP applications can choose to use Java libraries and technologies like JMS, EJB, SOA frameworks, Hibernate, and Spring. This revolutionary capability is made possible because
1) PHP code is interpreted/compiled into Java and
2) Quercus and its libraries are written entirely in Java. This architecture allows PHP applications and Java libraries to talk directly with one another at the program level. To facilitate this new Java/PHP architecture, Quercus provides and API and interface to expose Java libraries to PHP.

The Quercus .war file can be run on Java application servers such as Glassfish, i.e. it can be run outside of Resin. This .war file includes the Quercus interpreter and the PHP libraries.


Although PHP users and Java users can take advantage of Quercus immediately without modifying their application, the real benefits come from developing mixed Java/PHP applications:

* PHP libraries written in Java are fast, safe, and relatively easy to develop, compared with C libraries. Since Java is the library language, developers won’t need to be paranoid about third-party libraries having C-memory problems or segvs.
* PHP applications can take advantage of Java libraries and capabilities like JMS, SOA frameworks, Hibernate, or Spring. (Or EJB if you really wanted.)
* Java application can move presentation code to PHP, leaving behind templating systems, or languages with small libraries, and taking advantage of PHP flexibility and capability.

Copied from Caucho & phpimpact