Home of www.RoboHobby.com Java robotics project www.CubesAndCrosses.com
Train your logic skills in geometry
Create and delete one-color crosses
Play for free right in your browser!
Home-made CNC machine
Our new project -
How to make home-made CNC router
PICkit2 - Tutorials, Experiments
PICkit 2 - Small size USB programmer
from Microchip.
How to use it as a demo device for
USB programming in C language

Home of www.RoboHobby.com
Java robotics project

Portable Notebook Table
How to make Portable Notebook Table.
Do it yourself!

Control robot on-line (GWT)
Control our robot on-line,
using GWT-based Web interface

Web-based (GWT) remote control for Java robotics.

Control robot on-line
Control our robot on-line,
using simple Web interface
(Old JSP-based version)

Web-based (JSP) remote control for Java robotics.

Sun SPOTs for robotics
Sun SPOT for hobby robotics.
How to use Sun SPOT devices
comunication of group of robots

Sun SPOT Accelerometer + Servo
Sun SPOT Balancing robot
Draft of new article

PICkit2 - Tutorials, Experiments
PICkit 2 - Small size USB programmer
from Microchip.
How to use it as a demo device for
USB programming in C language

Java SE SWING JSR-296 Example
How to run background task in
JSR-296 SWING application
with 'busy animation' in the status bar.
Useful addition to Netbeans template.

Java ME Code Examples
Java ME Source code examples
for robotics projects

Run Java ME Code Examples
How to run our Java ME code examples
for robotics projects

Java - work from home
Draft for article
'Java work from home.
(Java and self-employment)
Where and how to get
remote (telecommuting) job'

See some screenshots of RoboHobby
Java/SWING application

See some screenshots of www.RoboHobby.com Java SWING application

Where programmers go
after age of 35?

Article in Russian
about job discriminationin
in IT industry:
'Where programmers go
after age of 35'?

Atmel NGW100 for
Java Hobby robotics

Set of articles about
Atmel NGW100 for
Java Hobby Robotics

Canon A570 IS + CHDK for
Kite Aerial Photography

How to use photo camera Canon A570 IS
with CHDK for kite aerial photography

Plastic box for Canon A570 IS
for Kite Aerial Photography (KAP)

How to make plastic box for Canon A570 IS

Kite Aerial Photography
Create your own hand-made kite for KAP
and do snapshots from a kite

Create your own hand-made kite for Kite Aerial Photography (KAP) and do snapshots from a kite, using cell phone or camera.

RoboHobby Kite
How to install and use
J2ME program on your cell phone,
make spy camera from it
and do snapshots from a kite

Picavet Suspension
Hand-made 'Picavet Suspension' for
Kite Aerial Photography (KAP).
How to make it by yourself.

Compact Picavet Suspension
Aluminum Home-made compact
'Picavet Suspension' for
Kite Aerial Photography (KAP).
You can fold it and make it

How to fly 'Flow form' kite in calm (No Wind) condiction.
Green Island KAP photos
Photo views from kite of
'Green Island'

Green Island
Some views from the ground
of rectreation zone
'Green Island'

KAP Wind Maps
Web-Map-based project
for local win measurement

Simple Spam Protection
Simple Spam Email Protection -
GWT-based code example

Under Linux
Install and Run RoboHobby application under

Under Windows
Install and Run RoboHobby application under
MS Windows XP

Platforms for Java Robotics
Which hardware/os platform to choose
for hobby robotics?

Download RoboHoby Software

SpyGear's 'Spy Robot'
Article about reconstruction RC toy 'Spy Robot'
How to make robot with web camera or
with cell phone on a board from it

Load to your phone
Download RoboHobbyJ2ME application
right to your Siemens S75 cell phone.
Now no need to load it to PC, unzip, etc.

RoboHobby Linux Live CD
RoboHobby Linux Live CD
is ready for download.

List of old and current RoboHobby projects.

List of what we use as a hardware

List of software, we use in our projects

Computer vision
Vision is the main sense of our robots.
See some Java algorithms we use

Some advices about hardware and software tricks

PIC Programming

Assembler program for PIC16F628A
Communication program for sending
commands from cell phone to motors.
Driver for motor controller.

Open Source project on
SourceForge, Java brain
for the robot

How to update Java
on KNOPPIX 5.0

Set of articles about how to remove
old version of Java (JRE or JDK)
on KNOPPIX and install new one
on remastered CD
Part 1 (Just test new Java)

Part 2
(Place new Java on Linux Live CD)

Java to EXE
Article about how to compile Java
programs to native binary code
(EXE for Windows)

Range of Bluetooth, Wi-Fi, ZigBee
What is the a real connection distance
of typical Bluetooth and Wi-Fi,
ZigBee or other RF devices?

What is inside?

What is inside web camera
'Genius Look 312P'?
How to re-construct it,
improve and use in robotics.

What is inside web camera
'Genius VideoCAM GE111'?
How to re-construct it,
improve and use in robotics.

What is inside web/photo camera
'Genius G-Shot D612'?
How to use it for
Kite Aerial Photography (KAP).

Sun SPOTs (in Russian)
Sun SPOT for hobby robotics.
Introduction lecture in Russian.

Some info about this site

About EATJ Java hosting
Some info about EATJ Java server-side
JSP/Servlet hosting

Short description of www.RoboHobby.com in German In German
Short description of www.RoboHobby.com
in German

Short description of www.RoboHobby.com in French In French
Short description of www.RoboHobby.com
in French

Short description of www.RoboHobby.com in Spanish In Spanish
Short description of www.RoboHobby.com
in Spanish

Short description of www.RoboHobby.com in Italian In Italian
Short description of www.RoboHobby.com
in Italian

Short description of www.RoboHobby.com in Russian In Russian
Short description of www.RoboHobby.com
in Russian


EATJ JSP/Servlet Hosting

EATJ Java/JSP hosting
'Advanced account' features

Ricently my account was updated to 'Advanced type'.
With this kind of account you can use sFTP and SSH.
It is more suitable for those who want to add more security to their work with server.

Using this kind of account you can upload files, using sFTP client
software and nobody can see your name/password in your TCP/IP traffic.

It would be good to use for EATJ web console HTTPS instead of HTTP.
I see that Web console still uses non-secure HTTP protocol.
(HTTP works, HTTPS does not yet).

At least I see that:
works, but
doesn't work yet.

That means, if you think about security, you should use only
sFTP and SSH and do not use standard EATJ Web console or you should change you password,
using SSH after each connection via HTTP:

1) Connect to EATJ, using HTTP.
2) Do what you want
3) Connect to EATJ, using SSH
4) Change your password.
If you ask me about Windos sFTP client, I prefer WinSCP:
It looks like well-known Norton Commander or Windows Commander:

As SSH client I can rerommend putty.exe :
It is command-line client. You should be familia command-line interface of Linux.
You should know how to work with Linux commands.

'Multi domain' feature
Also there is one more improvement:
Now if you have your own domain (in my case www.robohobby.com) and use this
domain with EATJ, now they allow you to use your domain and their sub-domain.
In my case now I can use all these domains:


Before this improvement user had to choose what to use - EATJ sub-domain
(like robohobby.s41.eatj.com)
or your own domain
(like http://www.robohobby.com/)
It is good improvement, but I suppose that in some cases it would be good to have several options:


I found that there are some possible problems when you use several domains,
which shows the same content.
For example search engines may think that you are trying to cheat them
and duplicate number of identical pages to move up your reting.
As s result they can even move down your rank
(it is just my guess, not sure is it really true).

QUESTION: I am trying to upload big war file, using web interface of EATJ.
All goes well, but after long time I see just white page or I see request
for re-login to my web admin page. What is going on?

Answer: (Possible reason) When you upload big file, it may take long time.
During this time your HTTP/JSP session may be expired.
As a result in the moment when you finishing your upload you are unknown
to the server and it can not be finished normally.

Hint: If you want to upload big file:
1)login to web admin interface
2)Right click on 'My Account' button in the top menu of EATJ web admin interface
3)Now you have two windows of your browser, connected to EATJ
4)Do upload of your big war file in one windows.
5)This uploading may take pretty long time.
6)During this long time in additional window from time to time do re-loading for this additional page.
This can help you to keep your session fresh all the time.


EATJ Java/JSP hosting new features (updated - November 2008)

Recently I prolong my membership on www.eatj.com.
I ordered one more year of their 'BASIC' type of JSP/Java account.

I still like their service and pretty happy to use it.
It was nice surprise that they allowed me as an old client to pay old price
for one year subscription.
I am very happy to use their hosting for my small hobby robotics Java projects.

This November became the month of new features.
At least I found more features on my 'BASIC' hosting plan.

First new feature was FTP.

Really useful thing!
With this feature it is much more handy to do small size updates.
Using their FTP access you can see your personal directory.

In this directory you can see typical set of directories of Tomcat server.
When you order new instance of Tomcat, all your files will be deleted and EATJ
software will create new directory structure of Tomcat.
I suppose that in reality they just unzip
directories and files from original version of Tomcat.

With FTP is it easy to update only one file (or limited set of files)
If you need to correct only one JSP file, you can upload it to your application
'deploy' directory.
For example in /webapps/ROOT directory.

With FTP there is no need to upload big war file, using Web Interface of EATJ hosting,
if you need to change only limited number of files.
And there is no need to re-start your Tomcat server. Your users will not be
desturbed during re-starts.

For me FTP is very useful feature. The only pity fact is that it is not secure FTP.
For BASIC hosting plan EATJ doesn't provides secure FTP (SFTP).
If you use non-secure version of FTP, you should know that it is very easy
to sniff your traffic and get your real login and password from TCP/IP data block.
Someone in the Internet can dump your traffic and read your FTP name/password,
which are the same as your name/password for EATJ account.

For those, who crazy about security.

Is it really bad, that FTP is non-secure protocol?
Is it more non-secure then HTTP?
-The answer is 'No'.

The risk is the same.
When you connect to Web site, using HTTP protocol, it is also possible to sniff
your traffic somewhere in the middle and get name/password from TCP/IP data dump.
That means when you connect to web console of www.eatj.com, using HTTP protocol,
you have the same level of security as when you connect to their server using FTP.

If you want to improve connection security, you should use secure version of FTP protocol - SFTP.
You can not use SFTP if you are using 'Basic' account.

You can access to EATJ server, using this protocol (sFTP), if you are using 'Advanced' account plan,
not 'Basic' account.

And there is one more thing that you should keep in mind:
Theoretically you can use FTP as the way to upload your war files
to deploy directory of your Tomcat.
(The 'webapps' directory).
But I does NOT recommend to use FTP for uploading your 'war' files.

The best way to do updates of 'war' files is to use good-old Web Interface of EATJ.

1)Upload war file
2)Re-start Tomcat server
3)Check is your application works in a good way
4)Delete you war file
All these things you should do using Web Interface of EATJ.
Do not use FTP for uploading your war files to 'deploy' directory of your Tomcat.
After the steps 1-4 you can use FTP for corrections in particular JSP files.

Why it is not recommended to upload files via FTP right to
'deploy' ('webapps') directory of Java web application server?

Because of 'deploy process'.

Many Java web application servers always scan their 'deploy' directories.
For Tomcat it is 'webapps' directory.

Imagine - every N seconds (let say every 3 secs) special Java process in your
Tomcat scans 'webapps' directory and watch:
'Are there any new war files there?

If yes, the process do several things:
1) compare date of found war file and date, when appropriate directory was created
(if there is such an directory at all)
For example you are doing upload of 'myapp.war'.
Scanning process found it and see that directory 'myapp' was created N minutes
(or hours or years) ago.

2) Scanner deletes an old directory (in our example 'myapp')

3) Scanner do unzip of file 'myapp.war'. It creates the directory 'myapp' anew and starts
to put all files and directories

Now imagine, that you uploading your war file via Internet.
If it is pretty big one, it may take N minutes.

Scanner see partly uploading file, see that it is more fresh then directory.
Scanner deletes an old directory.
Note: from this moment, users see error page instead of your web application.

Scanner is trying to unzip new war file and can not do this.
It generates several foots of errors to your log file.

Then scanner found new war file one more time.
Again it generates a list of errors, over-n-over again.

As a result when you finally uploaded your file, it will be deployed (at last!).
But you have a lot of errors in your log file and it eat pretty big place of your disc.

What to do in this situation?
If you want to use FTP (or sFTP) for uploading war files, you should:

1) Create special directory on your disc space. For example, directory
This directory must be NOT in 'webapps' directory.
It is important! This upload directory must be out of scanning zone.

2) Do uploads only to this special directory.

3) When you finish the upload of your war file, go to the server,
using SSH and in Linux command line do copy of your war file to 'webapps' directory.
'Linux 'cp' command works very fast and there will not be problems with deploy process.

Note: Command line Linux interface is possible only for 'Advanced' accounts.

Multiple 'war' files on your account.

By the way, you can upload several war files for one account.

For example you can create 'war' files:

I can recommend to separate your code (jsp pages, libs, etc.)
and sets of big files - images, video, etc,
And put them to different 'war' files.
If you split your application to several 'war' files this can add flexibility to your upload process.
For example, in case of minor changes you can upload only one war file.
Also you can upload first of all your main application, re-start the Tomcat
and after that do long updates of your additional war files.
After first re-start of Tomcat your users can at least see the text of your application.
Then, after additional uploads and re-starts, user will see more - pictures, video, other big files.

Memory size control

One more feature of EATJ, which appeared this November was 'Memory Usage'.

Now you can see how much memory do you use now. If you click small link
'memory usage' on the bottom of the Web Interface page,

you can see screen with memory info.

Is it possible to see value more then standard 64Mb?
The answer is 'yes'. After some observations I saw some values more then allowed 64Mb.

What to do in this situation?
First and most simple solution is to re-start your Tomcat.
Normally right after that you will see much less memory usage then before re-starting.

If you see that re-starts doesn't help, then you should think about re-construction
of your application.
You should remove not used war files, check your code, etc.

Or you can buy more memory for your application.

You should keep in mind that when you re-start your Tomcat server,
your users may see just white screen with some info about re-starting instead
of your standard web server.

What happens if I my application got more memory then allowed?
What events will be generated in case of memory overflow?
Will EATJ send me e-mail message?
Will they re-start my account automatically?
Are there any other actions?

May I see memory usage statistics for day/week/month?

Is it possible to chose the way of reaction on information about memory usage
and automatic reactions for this event?

Right now I don't see answers to these questions.
I suppose that team of EATJ is working on improvements on their service.

Also I suppose that we, as a loyal users can do self-control our memory usage,
using standard Java methods from Runtime Java class.
Hope I will find some time for creating code example for tracking memory usage.

For now I can public some JSP code for testing Java/JVM/JSP/HTTP parameters.
If you want, you can place this JSP page on your server and see parameters,
including memory usage.

Source code of JSP page (in zip archive): www.RoboHobby.com/java_hosting_info.jsp.zip

The page will look like this - www.RoboHobby.com/java_hosting_info.jsp.htm

One more new feature is Live Support.

Using this feature you can ask questions to suport staff or leave message for them.
I've just tested this feature.
And I see that it works.
Also their e-mail support is pretty good.

2007-11-08 :

We, as Java developers, need Java server-side hosting (JSP, Servlets, EJB, etc.).
I had experience with some JSP hostings.
Currently we use www.eatj.com.
We use it for about one year and now I made decision to prolong my membership.
We use Prod Account (about $6.85 a month).
In general I like their service.
They are pretty supportive. They always answer to my letters and usually do it pretty quick.
First time we had some problems with war file deployments, we send letters
to them and they made changes in the web admin interface.
And now all works much more stable.
Their service pretty is reliable. I am not sure that they can give
99.9999% of stability, but for hobby robotics project this JSP service is pretty good.
I can recommend this service for other hobbiests and students,
who like to use Java server-side technology.

If you want to ask your questions about www.eatj.com hosting, send me e-mail.


Contact us:

My Skype name is oleg_skp
Start Skype text chatStart Skype text chat
View Skype profileView Skype profile
Start Skype voice callStart Skype voice call
Add me to your Skype contact listAdd to Skype contact list
Leave voicemail using SkypeLeave voicemail using Skype
Send a file using SkypeSend a file using Skype
Note: To use these links
the Skype program should
be installed on your computer.
You can load it for free from
their official site:
Contact via Skypewww.Skype.com