Opportunities @ sun Sushant Kumar

Tuesday Sep 23, 2008



Software Freedom Day’08





21st September 08

SMVD University

Sushant Kumar



In recent years, the importance of Software freedom has came as a big boon for both the users and developers.

It has the biggest impact on enterprise market who uses the Free and Open Source software.

And on a general trend, it wont be impractical to say that coming years are guaranteed to be dominated by this “Truly Human Spirit”.

        Developing something, in your precious time for some one whom you don’t event know, and giving him right to modify it according to ones choice can be termed as the ultimate selflessness. Even the most compact summery of whole religion is not different than this. 

But till now, the biggest obstacle in the progressive path of Open Source software is its publicity, understanding and familiarity.

So, we have taken this route to take another step in the growing horizon of Open Source.

We had planned the whole event some 10 days back and transferred the most of responsibility to the juniors (Mostly from2nd year).

They prepared some cool and easy to understand yet informative presentation on various Open Source Technologies including

Open Office, Mysql, Lamp and many others.

We started the Event late in day. All audiences were well charged. I started with focusing on the problems posed by closed

Source software and proposed the use of Open Source Software as a prominent solution.

Next I formally introduced the audience with Open Source paradigm.

Next I invited Tarun Chawla for a detail on Open Source.

Tarun Chawla, the one man freak from Computer Science 4th year presented a consolidate view of Open Source and did some sharp attack on Proprietary providers. He even blamed them of Stealing Codes.

It was quickly followed by a live presentation by Ankur and Praveen about Open Office. They showed various aspects and benefits of Open Office over other Office Suit.

Next, came Surbhi and Kamal with a detailed presentation on Mysql. They discussed about its industry strengths, engines and customization.

They also displayed various comparisons from Google Trend.

It was followed by a Recap with Quiz. I asked few questions from previous slides (And promised them gifts).

Now was the time for Lamp, discussed in detail by Divya and Amit. They discussed various component technologies of Lamp,

 its popularity issues and  Story of market adoption.

Finally came Abhishek and … with details of various types of Licenses. They discussed EULA, GPL, LGPL, CDDL and GPL2.

They also discussed about Mozilla Firefox.

At the end of the day, we distributed OpenSolaris and Netbeans DVD. We also demonstrated the installation of these two on my computer.

Netbeans took approx. 8 minutes and OpenSolaris took 24 minutes to install.

Finally we saw a popular Hindi Movie (A Wednesday), went out for a light eating.



Flag Off<p style="text-align: left;"><img src="http://api.ning.com/files/PljwbnoaWeohPRyNWclhIajQZ4A9WUUcJQGm*pn3cX5ZVwPjmXcalGEilunGrCN-Wgt4NXdW-92GbcgilpFhFVXmWGVZsYy8/image001.jpg" alt="" width="1319" height="1144"/></p>



 <p style="text-align: left;"><img src="http://api.ning.com/files/PljwbnoaWep0ApMRR66keUa*hGshmaxGwLK*o294RIUa-90uVzXH-13uOrIx-SPe9XBztnue8NXvYLwUEZ1DgzciZy1sccnq/image003.jpg" alt="" width="1057" height="1304"/></p>

Tarun Showcasing OS Evolution

<p style="text-align: left;"><img src="http://api.ning.com/files/PljwbnoaWeoUb-XFAEPyoWEGl3-suPayDLFb4*oWWFepMC*GwUxioCYGWT7c2In-Sd0*Z18LobTEcPARrNYfsIE5e79fDFC1/image009.jpg" alt="" width="2981" height="2289"/></p>
Charmed Audiences

Divya with her Magic LAMP

 Amit with the Backbone of Internet

 Installation works too blogs.sun.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /> .

Wednesday Sep 17, 2008



Create a neural net in easy five steps


Project Home



When I first used tools like JOONE, it took me quite a while
to understand its usability.Although the tool was nothing less that awesome, i wished it
was more easy to use and then thought, why not make a tool with complete automation
support with is as you’ll see is done in 5 easy steps.


- ragha





  • Step 1: Create a
    network







Set up the num of inputs and outputs to the neural network.Add desired num of hidden layers (In the future we are going to add an auto detect mode which
will be able to decide the neural network configuration based on given train
data)





  • Step 2: Set up the training data








Create a txt file with training data and load it.The format is as follows:


Ex - For a network with 2 inputs and outputs



1.2,2.2;0.5,0.43



Char ‘;’ separated the input and output set and ‘,’ separates the values within the set






  • Step 3: set up validation data (optional)







Loading the data and its format is similar to the train data If used, the validation data will be used to determine the
performance of the network…



Otherwise conventional ways are used. Validation data can be used to prevent over-fitting of the
data






  • Step 4: Train the network






Here you can set the required parameters and start training
the network. A graph is shown to indicate the current error.The graph could be used determine if the network is already
saturated and then you could decide to stop training to prevent over-fitting






  • Step 5: Analyze the performance




Here you could test and evaluate the network to see how well
it performs on unknown inputs (This part is yet to be constructed) The network could also be saved and loaded at any time.




Future plans for the tool include automating of the complete
procedure ie, you just have to supply the train data and rest of the
parameters are auto detected (although this mode will consume more time, it will help
save all your trials and errors)





We’ll keep you posted with more improvements


- JNeuralNet Team










































Friday Jul 18, 2008

Glassfish
Glassfish , a J2EE 5 complient application server is one of the best application server in market. Developed by Sun Microsystems and Glassfish community, it is an open source product which can be freely downloaded from https://glassfish.java.net.
I am a big fan of Sun application servers and have used Sun java application server 8, 8.2 and now 9 (Renamed as glassfish).
Installation : Totally developed in java, it has a great installer with excellent GUI. Command line Installation :
If you are installing glassfish from command line (as usually done on network using telnet), for that just type ./installer -console,
It will ask for jdk , just provide it with complete path of your jdk on your machine. After this, few simple options , like Installation directory [which is usually /opt/SUNWappserver] followed by admin port, secure port and user name, password.
Installation takes merely 2 minutes.
Launching :
To start glassfish, change your working directory to {glassfish installation directory/bin}. Type in ./asadmin start-domain domainname [domain1 is default] {domain1 is palced at “$appserver/domains/domain1”}
To stop your server, type in ./asadmin stop-domain domainname
Configuring connectionpool
In most of J2EE application , you will need to configure connection pool. It is extremely easy to do using glasssfish.
Once you are logged in on appserver administrative console, select resource → jdbc → connection pool. Fill in required information, like username , password, connection url. After saving your data, click ping to check your configuration,
If connection parameters are right, it will give confirmation of “Ping Successfull”.
In case you see error, If error says class not found for Driver class, copy your connector jar file to {jdk/jre/lib/ext}.
Ping again.
Configuration of jdbc Resources
From administrative console, got to resource → jdbc → Resources . Enter a valid jndi name, select connection pool from drop down. Thats all.
Deployment :
Deployment of application is again very easy . Use GUI and follow simple steps to deploy and undeploy applications.
To deploy applications from remote machines, select tab [files accessible from server].
Deployement occourse in {appserver/domain/yourdomain}
Security: During deployment of web application, you might come up with Security Exception, or java.lang.reflection.....
This error comes because of security settings [which h.appens in $appserver/domains/yourdomain/conf/server.policy].
You can grant additional services to your codebase [remember your codebase is $appserver/domain/domainname/application/j2ee-modules/applicationname].

Sunday Jul 13, 2008

Open Source Revolution and Sun's Contribution In past few years, the significance of Open Source is quite vivid. The time when it started, it was seen as an orphan, of which many people thought , will last for a day or two. Now that most of the Big IT & Software firms are contributing to it has changed the face of software distribution and development. In recent years , Sun Microsystems has emerged as the biggest contributor for Open source. Though , the business policy of Sun Microsystems is quite open (In terms of Platform) from the very beginning, but the best view came when it OpenSourced its Most popular product : Java. Right after that, in a big move , it opensourced almost all its major technologies , including Sparc, J2EE, and the Flagship Product Solaris and Open Office. These moves were promptly accepted by communities, and in a short span of time , these communities have emerged as the fastest growing communities. In just a year, They have rolled out OpenSolaris (and Indiana). And what Opensolaris is is not new to us. [Though I must remind , opensolaris is the 2nd best destro after Ubuntu as claimed by a reputed IT magazine]. And if you are still unaware of it , just order a live CD/DVD distribution, run & Install it , and believe it. Once a very popular LAMP is now SAMP [solaris complementing Linux]. Mysql :Mysql and its popularity is well known. And as last year, when Sun Overtook it, its reputation increased many fold.[thats one reason sun bought it]. Sun got the ownership and Open source received its biggest reward. Some of the Sun's biggest contribution to open source being NetBeans Glassfish OpenSSo OpenSolaris Directory Server Java Open Office Mysql and many more. Sun's contribution has made the Open Source the really dependable solution in recent time. Now they have a truly enterprise standard line of product , from utility to some of the most advanced products. Currently there are more than 50 [and mostly open sourced] J2EE complaint Application Servers in use. And most of them are taken care by Big Brands like Sun, Oracle, IBM etc. The problem with Propitiatory software is obvious.At those time , there were no option.
Some Technologies that you must watch for . One thing that most of the people will agree is that Web is going to Rule the next generation of Computer Technology. Web is a hot cake for all firms , be it Microsoft, sun or other open source firms. In countries like India, merely 2% people have Internet connection in their home. And around 10 % people access through office regularly. Some 20 % person use it from Cybercafe one or twice in a week. So, considering these figures, it is clear that it will be uncontrollable once 20-30 % person uses web regularly. Current infrastructure development and emerging development in web world , both will push these growth and these figures doesn't seem far. Other than these , there are countries , which have almost no web interaction. So as web infrastructure and popularity peaks, web is guaranteed to reach a much wider horizon than it is currently. In market space also, emergence of Google is a proof of the expected growth . The 2 big software solution providers namely Microsoft and Sun have introduced their solutions namely .NET and J2EE . Both are good, popular in market and growing. Though Sun solution have edge being Platform independent , Open Source , Scalable and popular, at the same time .NET is preferred for ease of development and Federated solutions. Here is a brief introduction of some of the Sun technology that has the potential to significantly contribute in coming Web revolution. Sun FAM / OpenSSO: Fam stands for Federated Access Management. Its built on top of LDAP and is currently the most sophisticated User management system. It supports pluggable login support like Enigma card , JDBC and many other. Fam has a good maturity of over 8 years. And most recently OpenSSO , which is open version of Fam, will certainly going to be the default choice for most of the Enterprise. A superb interactive GUI eases the conjugation and management of system. Sun Java Enterprise System : A solid Directory system , which can host Fam/OpenSSO for user management. Its in use for a long time , easy to configure and use. Works perfectly with conjugation with Glassfish / Most J2EE application Servers. It also uses LDAP for data storage , which might be re-configured with jdbc or others. Glassfish : An exceptionally good J2EE application server from Sun Microsystems Community,its the biggest success in terms of ease of configuration and management. Totally written in Java, it is very easy to install, manage,and configure. Simple command like start, stop works. It has got an interactive web console which can be tame by even a new comer. EJB 3.0 : Ejb is here for a decade now. It has gradually come from an optional to a must solution for big enterprise. Its architecture, Scalability,Robustnes and reliability has multiplied many fold in past few years. Its one stop solution for big enterprise.

Monday Jun 30, 2008

I browsed through many documents while i was installing mysql 5.0 on my new OpenSolaris (indiana 2008.05). Though most of those documents were informative , but for installing mysql on your local machine for developement doesnt need that much complexity at all. So here is the simplest steps to install Mysql .
  • Download Mysql.tar.gz from mysql.com
  • Extract mysql to location of your choice
  • Start Terminal.Go to mysql directory.( cd mysql)
  • On terminal, type ./configure
  • Right after this command, a series of executions happens. All your setup is done.Even mysqld starts running.Thats all.
  • Next , you need to set Root password.For this login as super user. (type su and type your super user opassword at password prompt)
  • Go to mysql/bin directory. Type ./mysqladmin password
  • . Thats all. Your new password is set. Any next time, if your mysql doesnt responds (or says something like 'Cant connect to server using /temp/mysql.sock') just start Terminal, go to mysql and type ./configure. Have fun. :)

Tuesday Jun 24, 2008

This is the story of my struggle for an OS on my Laptop which is some 4 years old. I got this LP some 20 days ago.It came loaded with Vista.I simply removed it , because i wanted to use my LP. Then came windows XP. Network (neither WIFI nor LAN) failed to start with some weired reason. Next came Ubuntu 8.10. Network was ok but libstdc++6.2.so failed again. So after a long tussle of some 20 days , i came up with OpenSolaris 2008.5. As a check, i worked with Live CD itself. Every thing including its desktop effect worked along with Network. I am happy with OpenSolaris :) (I didnt mean to heart any sentiment related to xp,vistaor ubuntu.All of them are good but unfortunately failed on my Old LP for one or the other unknown reasons)

Monday Jun 09, 2008

In most of the universities , it is observed that faculties doesnt allow students to use advanced IDE like NetBeans or Eclipse , during examination. They usually use Notepad or even command editor for writing , compiling and running java programs , which is really difficult, if u are habituated of IDE's.
Also , writing java on Notepad , compiling and running, and if u use package, u need to create a folder , and then copy the generated class file to the folder, etc is really difficult.
These outdated technique is one of the prime reason , many student doesnt get attracted to Java programming (or many other such language).
I have developed a Java IDE called JWriter, which is light weight, doesnt provide support and lets user compile and run java programs from the common window. It has simple interface , and supports shortcut keys {F9 for compile & Ctrl+F9 to run}. Input & output window is integrated with code window. Even, applet viewer is also integrated with the same window.

Main features

  • Systax colouring
  • Integrated I/O with code window
  • Tabed window system
  • Inbuilt Applet viewer
  • No Installation. Just run with jar file
  • Free. With source code.Make changes as per ur choice
  • Supports auto package

Friday May 30, 2008

On Microsoft platform,Creating help file for a Desktop Application is easier. There is no direct way to view Help files in java platform.Even NB doesn't provides any such thing. So, I developed a class for such purposes. You can directly plug it to your application. You need to keep all your help files with .htm extension in any folder. For the first time, u will need to look up the folder. After that it will automatically do that. It is Very simple and really easy to use.You can make enhancement in it if needed. It shows all file names in left List and provides a Link to them. Displays the contents of file on right side. This left-right is adjustable in width. Simply copy this file to your project/src folder. Download Src
In a career of java developement , we come across many simple techniques, which might look simple to many but are difficult for others to use. Just for example , it took me around two months to get idea of how to create my first database (jdbc) class.

Point to Remember when create a simple database driven project in Netbeans

It might be useful for some , who doesnt package their project properly. Follow the following directory structure
  • db [all database code goes here]
  • beans[all definition of beans goes here]
  • ui[this is user interface part.Developed in swing or jsp]
For a really big project , this structure might need revision. But for small projects (LOC <=5 lacs) it works fine. This structure gives plenty of benefit. Now consider the following architecture for project developement. Let you have n tables in database, one of them being student with following attributes :
  • name (string)
  • roll (string )
  • address (string)
  • phone (string)

How to create classes

Stage #1
  • Create classes for every tables in database.Its better to maintain a direct mapping between java classs property and database table column.
  • Create a constructor (public) with no arg
  • Place these beans classes in beans package.
Stage #2 all classes goes to db package. create a CommonDB class. declare method getConnection() with return type java.sql.Connection ; this should be the only source of connection in ur project. keep this method public. For each class(bean classes) u created in Stage #1, declared methods, like
  • boolean addStudent(beans.Student std)
  • boolean editStudent(beans.Student std)
  • ArrayList searchStudent(String criteria)
etc. Declare all the method u will need in ur project. Stage #3 all classes goes to ui package. Create GUI for every beans. Give controls for all the possible operation you think it sud be (or u are asked for). Link them with the methods declared in db classes. For each method, try catch block (where important) sud give descriptive idea of error. Now if u feel to make change in any component in ur project, u can do so. This is one of the best architecture u can completely rely on. To be continued...