Monday, May 28, 2012

Security project

A simple encryption between sockets


Android remote downloader client talk to server side application using socket programming.
The packet is actually just a string, but encrypted with AES256 and SHA512.
Future improvement include better structure of socket packet instead of string, and using SSL.

Friday, May 25, 2012

idea: VR fps gaming using body mount sensor + HMD

Previously I had an idea
to make a realistic VR fps gaming environment using shoulder mount kinect.
The shoulder mount kinect is for detecting palm and finger direction, utilizing my finger tracking skill, altho shoulder mount kinect is abit similar to microsoft research "omnitouch", but I it is quite similar to the "sixsense" actually.
Combine with a hmd such as sony hmz-t1 or SMD st1080, it could make a realistic VR.
I have tried kinect with openNi (50cm), it is barely close enough to detect the finger unless I mount it in the best position. I have also tried the kinect zoom but it decrease the resolution so bad. The only choice i have is to buy the kinect 4 windows and paired it with kinect sdk 1.5 that can detect down to 40cm.

Anyway, with the intro of leapmotion sensor, I hope it is possible to mount it somewhere around chest or stomach, facing UP and detect the hand.

We could also add in tactile feedback with a tactile vest, or electrotactile pad, or electro stimulation.
Of coz a threadmill can be added in for movement. Else we can also use kinect to detect leg movement.

Some updates

17/4 security project proposal
27/4 korean exam
30/4 deadline for kiice paper

10/6 deadline for nicky webdav project
15/6 korean final exam
~15/6 lbg ogg matlab (gonna ignore)
20/6 deadline for cute2012 paper (still lack multiuser,multitask,multichunk)
24-27/6 jeju conference?
28/6 kiice conference 
onwards...  need new good idea for journal or even master thesis
hoping to get a leapmotion and SMD st1080 for some hobby project. Wont do too much in IAI lab anymore.

idea from previous post
is to combine with my hand tracking system
Use smartphone camera to capture frame, but dont process it in the phone, send to home/cloud pc, process there, pass the result back to phone for user interaction.

previous idea cont...
utilize google app engine or amazon ec2+s3+blah blah blah as a SaaS.
or combine android app (front end) with google app engine (backend) as cloud computing concept
{read google IO 2011/2012}
But a good idea for app is required...

Next new idea:
since each cloud storage provider only gives around 2-5GB free spaces.
And each of it require user to install the provider android app, such as dropbox, box and google drive.
We can create an app that show all the cloud storage in 1 place, using the API provided.
Although ES file explorer, Sandisk Memory app, Primadesk, SMEStorage already has this feature.
But my idea is a little bit different from them.
Their app just allows user to view the different cloud storage in 1 place, while ES also provide moving files from 1 cloud to another cloud. (I am not sure how they do it, is it the phone as the proxy to transfer?)
My idea is to make a big centralized storage pool, by combining all the little spaces from various cloud storage provider. It is a Poor Man Solution to obtain big cloud storage capacity, without paying anything.  The application should not just showing the different cloud storage in 1 page, instead the software stack must perform some extra stuffs such as
  1. Using the APIs, connect to different cloud storage, get the list of files and display to user as 1 big list. (location of each files maybe be in different server, but the info is stored in 1 DB) 
  2. Combine with the virtual storage concept, which I did with my webdav app. Download, upload, copy, move, delete, Progressive Streaming, Open (cache to disk), Writeback (upload back) should be supported.
  3. When user upload files,  he does not need to care about choosing server. The software stack will decide for him. As he actually just sees it as a big pool of storage. (Storage virtualization concept)
  4. Auto load balancing, first perform speed test with the different server, and intelligently decide where most of files will be stored in. (choose faster server)
  5. split files into few parts and upload to different server
  6. show a single file to user, where the file is actually splited into few parts and located in different server
  7. download from different server and join as 1 single file
  8. ...

Wednesday, May 23, 2012

Aviary testing