March 26, 2006

 

EQO

EQO is an innovative mobile service which lets you use Skype from a mobile phone. EQO acheives this by running a client on the user`s desktop and mobile phone.

March 24, 2006

 

Sun Grid

Sun Grid is now available in US. Just $1/CPU-hr. Cool URL too. (network.com).

http://www.network.com/

March 23, 2006

 

Nutch


Nutch is an open source search engine built on top of Lucene.

March 18, 2006

 

XCA

XCA is a very user friendly GUI to manage X509 certificates and RSA keys. Very useful to generate custom certs like Self Signed, chain of trust CAs etc.

 

J323

J323 is a java based H323 call / media control engine, with JTAPI based programming interface.
Media control is done using JMF (Java Media Framework).

March 17, 2006

 

JRat

JRat (Java Runtime Analysis Toolkit) is a profiling tool to collect timing stats, trace logs, response time etc of Java apps.

March 16, 2006

 

JTAPI

JTAPI (Java Telephony API) is an API for java based telephony applications. It provides easier interface to create apps to do calls , integrate it with backoffice apps to develop call center applications etc.

Thru "Provider" interface, the apps can be ported to any telephony hardware providers supporting JTAPI. One more advantange is, these providers can be protocol specific like SIP, H323 etc and still the apps can have common interface to do call management.

March 15, 2006

 

S3

Online Storage is picking up again. Amazon`s S3 (Simple Storage Service) is an online storage service. It also has a Web Service API to store/retrieve data.

March 14, 2006

 

libMicro

libMicro is a OS benchmarking tool to test the performance of system/lib calls of OS. Its part of opensolaris. It generates a HTML report.

 

Performance Anti-Patterns

acmqueue has a nice article on Performance Anti-Patterns. Very interesting to read.

March 12, 2006

 

My first J2ME app on RAZR

RAZR rocks. Here is one more reason why i love this phone. I just uploaded my first J2ME app (Hello J2ME !) to RAZR and it worked.

Here are the steps

  1. "Java App Loader" must be enabled. To check whether its enabled , go to Settings->Java Settings. There should be a menu called "Java App Loader"
  2. Download Motorola`s MIDway tool , needed to export JAD files to the phone. This is part of the Motorola`s J2ME SDK
  3. Write the J2ME app and package it into JAD. Refer to this doc for more details
  4. The USB cable can be used for transfer. Make sure the COM port is set correct in MIDway tool
  5. Click on "Java App Loader". "Insert cable now" msg appears
  6. Open the MIDway tool now. It should now connect to the Phone.
  7. Once connected the JAD can be uploaded to the phone and it will appear under "Games & Apps"

 

Java FTP libraries

JavaWorld has a nice benchmark on various Java FTP frameworks. I use Sun JDK based home grown FTP framework, since we have some product specific cases which needs fine tuning.
For daily use, I prefer to use scp compared to ftp, for its ease of use

March 11, 2006

 

HP & Telecom


HP has released the following telecom related products.

- SIP stack called "OpenCall USP SIP" which has both JAIN Java APIs and C/C++ based APIs

- SDK for developing Telecom services called "Open Call MP SDK" which has support for Voice XML, ASR , TTS etc

 

Web Developer extension

Web Developer is an extension for Firefox , which has lot of web development tools. Some of the features are display CSS styles applied to Elements, live editing etc

March 10, 2006

 

JODE


JODE (Java Optimize and Decompile Environment) is a Java .class file decompiler. As an optimizer it can obfuscate, remove debugging info etc.

 

Parsing SSL Certificates

How to parse base64 encoded certificate ?

By using java.security.cert.CertificateFactory API. This will be useful if custom certs needs to be uploaded and it has to be presented to the user in a more readable format.

sample from javadoc
FileInputStream fis = new FileInputStream(filename);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Collection c = cf.generateCertificates(fis);
Iterator i = c.iterator();
while (i.hasNext()) {
Certificate cert = (Certificate)i.next();
System.out.println(cert);
}

 

How Products are made...

An interesting site which provides info on how various products like Air Conditioner, Jeans, Gum, CD, DVD Player etc are made. It includes detailed manufacturing process. Very useful and informative.

March 09, 2006

 

Java / SNMP


SNMP is a widely used network management protocol for monitoring network systems/hardware etc. SNMP4J is a Java based API for SNMP. It can be used to write agents, clients and also to send SNMP traps.

 

Wildcard & Classpath

Having Wildcards in ClassPath is one of the long awaited features in Java. The workaround is to have custom launchers, custom class loaders etc.

Now Mustang has support for Wildcards in Classpath.

March 08, 2006

 

JNode

JNode (Java New Operating System Design Effort) is a Java based OS. Most parts of the OS are written in Java.

March 07, 2006

 

Next Net 25

CNN Money has listed 25 web 2.0 companies that are reinventing the web. Great to see Digg, YouTube, Technorati, Wink, SIPphone, 37Signals in the list.

 

XUL

XUL (XML User Interface Language) is a language used to define rich web applications in a simple way.

For example to create menus in web applications, it takes lot of complicated JS code. But with XUL, using menu and menuitem elements, it can be easily created.

XUL is supported in Firefox,Mozilla and other Gecko based browsers.

March 06, 2006

 

serial to tcp

We have a CPE device which has only serial port access for their GUI and this device sits in our lab. So I was looking for a tool which can do serial-to-tcp forwarding, so that i can access this device from my office and came across interceptty.

The following simple command will do it, to make Serial Port 0 avl thru port 4001.
interceptty -q -s 'ispeed 19200 ospeed 19200' /dev/ttyS0      '@0:4001'

 

TIBCO GI


TIBCO`s GI (General Interface) is an IDE/framework to develop rich internet apps using AJAX and other related technologies. The IDE or the Builder itself is built on GI framework which runs within the browser itself.

March 05, 2006

 

Preemptive Kernel

Preemption is the concept where a high priority process will preempt a running process which has low priority.

To be more clear, Preemption happens at 2 levels, user and kernel. Without preemptive kernel, a high priority process will not given a chance to run whenever its ready, if a low priority process is running in kernel space.

In non-preemptive kernel, a high priority process can override a low priority process, only if the low priority process is running in user space

The main Linux Kernel has inbuilt support for this starting from 2.5. Kernel Preemption can be enabled by setting CONFIG_PREEMPT=y in kernel config.

March 04, 2006

 

24 Moments from 24 Yrs


Sun has published their 24 moments from 24 Yrs which includes NFS, SPARC, Solaris and Java.

 

Sequoia


I was looking for a Database Clustering and LB solution and came across Sequoia, an open source implementation which is based on C-JDBC.

I have to try it out and see how the caching works in case of writes and how much it depends on DB replication.

March 03, 2006

 

NetBeans / remote debugging

NetBeans has a feature to do remote debugging against a running JVM. To use this, the JVM should be invoked with the following debug options, to create the debug listener.

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -Xdebug -Xnoagent -Djava.compiler=NONE

Provide the host/port mentioned above in NetBeans debug session to attach to the JVM.

jdb (java debugger) that comes with JDK can also be used for remote debugging.



 

The N+1 problem

ORM is a way to have Object mapping to Relational DB. It has it own pros and cons. One of the feature called "lazy fetching" can be good and evil , depending on the way, this feature is used.

lazy fetching specifies whether any data from associated tables needs to be fetched or not, when a table is used for select.

Let says for eg. Employee and Project tables.

Enabling lazy fetch is good when...

Employee is queried for its attributes alone and there is no need to fetch attributes of Projects.

Enabling lazy fetch is bad when...

Employee is fetched to get the projects he/she is working on , using employee.getProjects(). In this case, it may lead to the N + 1 problem, where N queries are fired to fetch 'n' of the associated records.

One way to avoid N + 1 problem, is to enable outer-join.

March 01, 2006

 

SAML and SSO

SSO (Single Sign On) is a concept used to authenticate/authorize users across multiple web domains, without the need for login at each of the domain.

Most SSO products have their custom way of storing these SSO tokens that gets passed between websites either thru Cookies or as GET/POST params. The problem with this approach is that all the domains that are part of SSO must use the same product.

To solve this issue, SAML comes to help. SAML (Security Assertion Markup Language) defines the XML messages needed to pass these SSO tokens across domains. This way any SAML enabled SSO product can be used.


This page is powered by Blogger. Isn't yours?