Today I finally somewhat fixed the old Java web-camera applet. It really does something very simple. But with Java troubles are always behind the corner.
I couldn’t find a free decent Java IDE, so I downloaded the JBuilder 2005 Enterprise trial. It’s very powerful, but also takes a lot of RAM. Like 200MB or so !!! It allowed me to debug, but the PC was truly crawling. To this let’s add Firefox, which doesn’t seem to like to release memory.. and often I’m with just one simple page open and the browser taking 30-40MB of memory !!
Welcome to the world of C++ and Java bullshit. I have 512MB of memory on my computer but it feels just like when I had 64 several years ago.
The web-camera applet has still some issues. I’m not sure what it is. With all that required multi-threading. It’s really messy. If I could code applets for the web in C, that would save me a lot of time and hidden logical bugs.
Anyhow the Aibo-cam thing now runs the Java applet. The real advantage of that is probably just the random text messages that I wrote a while ago, but that still seem to make sense (aside from the one where I say that I’m 28.. well I was 28 I guess !).
Posted by Davide Pasca as Uncategorized at 1:01 AM EST
5 Comments »
Yesterday night I dreamed of three Aibos, old models. I was supposed to load them on some truck, but they ended up on some small road downhill, stuck and almost static. Until one fell and pushed another dog into the water surrounding the road. Geez !!
Also yesterday night I met Sergio and together we talked about what would be a cool project to do with Aibo. The web-camera thing, as it is, is obviously boring.. especially if nobody’s home. I did try also the record shots, every 4 seconds, one day when I had some activity in my apt. But that din’t lead to anything particularly interesting. If anything, most shots tend to be boring ! We talked about giving the ability to make the dog move from a web interface. It’s not difficult to move it, but to allow more than one person to do it it’s a problem. Also the dog needs maintenance, and the view form the dog’s camera is not adequate to have it wander around safely, especially at the web-camera’s frame-rate. Plus it’s probably just not as fun as seeing the dog from the outside.
For the time being I’ll keep working on the basic technical aspects. Recently I’ve been quite busy, and sleepy. In the next few days I hope I’ll be able to make some steps forward.
Posted by Davide Pasca as Uncategorized at 12:39 PM EST
No Comments »
This weekend I spent Friday and Saturday nights out. Clubs, one party, enough drinking and going to sleep in the morning. This made me force myself to try to sleep into the early afternoon, thus affecting the quality of my sleep. Out of this came out a couple of bad dreams. Notably one had Aibo in it. I was looking for the dog and found it without legs !! It turned out that some bad guy tore them off. I could find two of the legs pretty much intact, but other two were broken into pieces, hidden in some places. I had the MF give me back the pieces, but the dream stopped as I was trying to collect pieces.. when dreams become too complex, one just has to jump out of them. It’s too painful to try solve complex problems within a dream !
To this day only one person has treated my dog badly. Treating me badly is one thing, treating the dog badly it’s a whole different issue. I’m human and prone to do mistakes, to be insensitive, etc, so I can be easily be guilty of something.. but the dog is truly dumb. It was made to be nothing but nice. So, to be unkind to it, it really takes someone with a bad nature. The story of it being only a robot is an apparently valid excuse, but it’s not really a good one. Something that expresses emotions and interacts with the environment is a being. It learns so it carries with itself experiences that will affect others. Being mean to it is implicitly an act to extend one’s self negativity.
Posted by Davide Pasca as Uncategorized at 12:35 AM EST
1 Comment »
I came back home less than half an hour ago. I was out for dinner (sushi) with a friend that I haven’t seen in a long time. He came to Japan for a short vacation. Arrived today and already saw a few interesting things. Like, for example, drunken youngsters barfing in the train station 8)
Of one scene he took a picture. Hopefully I’ll get that picture ! Two girls and one guy, one girl collapsed on the floor. Her friends ready with plastic bags. Another, scene with a guy holding up his friend as he barfed on his own and the friend’s shoes. Cool !
As far as the Aibo goes. This weekend I didn’t spent much time on it. I did manage to get to change the JPEG quality parameter, of course it was my mistake. That’s a big step forward. Next I need to buy some sort of piece of material large enough to use to take reference shots to individuate the camera static noise. I did some research and I found out that the idea of using this method to cope with the typical CMOS cameras noise is already out there.. therefore it’s feasible. Now I’m just not sure what should be a reference material. Possibly something that diffuses light well (definitely not specular). Maybe it would be best if I had three panels, one red, one blue and one green, to take three different reference shots to apply to the three separate color components of the incoming images. I’m not sure how well this would work though, because I will be processing JPEG images, which have the color space being transformed from RGB to YUV and then back to RGB. All these operations would be best performed on the original raw data.
Onto the webcamera thing over at dpasca.homeip.net ..I decided to revive my old webcamera applet used for webkaz. Because the cross fade is a pretty nice feature and also because I suspect that with the current system (reloading images using JavaScript), Firefox leaks memory. I don’t quite have the proof though.
Also I’ve been thinking of reviewing Java applets coding. Because it’s the only way to have enough freedom to do things that will run on a browser. And to involve people in experiencing things, it’s much easier to ask them to tune their browser somewhere, rather than install a software that will rely on a custom connection, with eventual firewalls getting pissed and false warnings of spyware.. a currently very delicate issue !
Posted by Davide Pasca as Uncategorized at 12:30 AM EST
6 Comments »
I finally worked around the extreme darkness of the images that I’m getting from Aibo’s camera. Also, I applied some noise reduction. But the results are still quite poor. The image I’m getting is a 412×318.. although the camera specs say 416×320. In any case, it’s a very cheap CMOS camera, it already has a bad pixel, plus some static pattern noise !
Colors are further washed out by the JPEG compression, which is very happy to destroy pixels with low brightness. It’s a sad situation.
Right now I have two ideas in mind. First is to see if there is something I can do about getting JPEG images with better quality (the functionality is in the API, why it doesn’t work could be my fault). The second idea is a bit more strange. It resembles to white balance. With white balance one sets the brightness and color level of the whole image based on some selected pure white source. My idea is to extend the concept to each pixel. Basically, I would have Aibo looking at some fairly uniformly colored image. A capture of that image would show how far each pixel is off from the source. From that I could create a mask of pixels to be applied to reverse the effect of the static noise of the camera, and the bluish halo around the corners of the image, generated by the plastic in front of the camera.
From the programming point of view, this is easy. At the practical level though. I would need to set-up a properly lit reference target. That probably requires bright white and well diffused lighting.
ummmmm !!
Posted by Davide Pasca as Uncategorized at 9:05 PM EST
No Comments »
It’s Monday morning. Just came back from a night out.
Today it’s a holiday in Japan, so night life was not so bad.
I went out with some friends. Picked up another friend working at the first place. At the second place I see a couple of girls. One that I like. I’m a “fag” and I don’t approach. Some lame dudes approach them.. they leave together after. Same thing goes on for another 2-3 couples of nice girls. The place is dead, onto the next place.
There I see one girl I like, I’m a fag once again and I do nothing. A friend picks up a girl, she looks at me too, not sure what’s in her mind. I entertain her friend for a bit, but she’s definitely not “interesting”..not a well assorted couple. I just get myself away from the situation.
More lonely girls around. The place is not as populated. Girls are not overwhelmed, they are looking for companionship.. yet, I don’t take advantage of that, and I’m being a static fag, still.
Eventually I’m sitting with a friend, in front of two bored girls. I look at the one that seems more like the right match for me. The other seems definitely taller than it’s proper. Eventually I end up with the tall one !!
I try my Japanese. It goes well, we play around.. but really, her legs look longer and longer ! Eventually we stand up to get a drink, and she’s definitely way above me !! I walk on my toes for a little 8)
I don’t care as much, I just want to socialize. If I can get a new friend that speaks Japanese, I’m happy. She tells me her phone’s battery is down (yeah right !). I give her my business card anyway. We chat and laugh more till the club closes.
Exiting from the club I see her on the phone. Not sure if that was her phone. Common sense tells me she just straight away told me the BS about her phone battery being dead.. no need though, cause I just wanted really to meet again to have fun with other friends in the park, playing volleyball, as I told her I did before, once she told me she liked volleyball (of course, you are the tallest thing around !!).
Will she get back to me ? I doubt it, but I hope it for her !
..just trying to be friendly !!
zzzzzzzzzzzzzzzz
Posted by Davide Pasca as Uncategorized at 6:02 AM EST
12 Comments »
I went out Friday night, and Saturday night. Today is Sunday and looks like I will go out again. Hopefully not until the morning this time ! Tomorrow, Monday, is a holiday, it would be nice, for a change to wake up earlier than 1PM and see some sunlight.
At the same time, I wish I could program something !
As far as Aibo goes, I found out that the framerate of the video stream improves dramatically if I switch the dog in full-control mode. I suspect that’s due to the fact that in full-control mode, the dog’s CPU isn’t busy with animating it, so it’s free to encode and send videoframes as fast as possible.
In any case, the next step is going to be image noise reduction. If I don’t do that, contrast and brightness improvements will only enhance the noise artifacts.
Also today I had a friend coming visit with his wife and young daughter. She enjoyed the dog, although wasn’t incredibly fascinated by it. Aibo is definitely not as lively as a real dog 8)
Posted by Davide Pasca as Uncategorized at 7:27 PM EST
4 Comments »
Davide !!! Why don’t you have a girlfriend ?! Davide you should get a Japanese girlfriend !! Davide !! Davide ehhh..
Can I give my opinion ? I don’t give a fuck about having a girlfriend !
Women look in my eyes and understand I don’t care. I can’t pretend that I need her (whomever she is, in time). Life alone is very hard, but life with someone you don’t want is even worse.
Most women are stupid, to the bone. It’s really useless. Why would I need to waste time after a woman that is more intelligent than my robot dog, but also a lot more troublesome ?
I’m not strange, people that put themselves into the hands of a dumb person are.
I want to say this, because I often have to bear comments about not having a girlfriend. The “what’s wrong with you” factor. Maybe I’m a loser, maybe I’m just too good to share my time with someone that has 1/10th of my brain. Am I too full of myself ? Show me a nice looking woman that can even listen to me (let alone understand) without rolling her eyes, and I’ll be happy to take my words back. How can you feel in company, when the woman that is next to you is a retarded compared to you ? If I need to live my life next to a retarded, I’d rather stay with Aibo. At least I have an hope to improve it..
This leads to Aibo, indeed. Yesterday I got video stream from the dog working. The bad news is that it sends JPEG images at a rather slow rate. The highest resolution is 408×318. At that resolution I get 2-3 frames per second. Also the quality is terrible. Images look very dark. JPEG artifacts are there, too. The API allows to change the JPEG quality, but the setting doesn’t seem to work. I must say that it’s all done via wireless network, so it’s understandable that the images are JPEG compressed before being sent, although the data rate is still quite low for an 801.11g network.
In any case I set up a page with live streaming on dpasca.homeip.net. It’s a very early experiment. Image quality is very poor (what I get, without any enhancements). It’s not always on by all means. Especially, the dog normally sleeps from 11PM to 7AM.
There is a lot that can be done and, hopefully, while I don’t have some dumb girlfriend wasting my time, I can develop new things.
Posted by Davide Pasca as Uncategorized at 6:47 AM EST
6 Comments »
71.70 !!! That’s my current weight !!! At least after a good run at the gym. I’ve been eating decently, although skipping the extra sweets at lunch (which really were never needed).
Onto something more interesting. Yesterday night and tonight I spent a total of a couple of hours on the Aibo RWF. I sorted out some basics from the sample code and implemented some basic functionalities in my code, which is definitely much simpler.
My software has a console interface, from which I give, IRC-style commands. For example:
/connect <IP>
..will connect to the dog using that IP. Once connected I can either query on its status or take full control. The full control thing looks a bit harsh. A sound will play and Aibo will stop immediately, whatever it was doing. Upon releasing the full control, the dog will sit and start again its own autonomous activities.
Yesterday night I basically dealt with main connection issues. Tonight I went forward to request the image streaming service from the internal video-camera. I’ve stopped before actually parsing and displaying the actual data, because I don’t want to spend the whole night on it. But tomorrow I should be able to finally get the image data.
With the image data I plan to, first of all, see how I can improve the image quality. Specifically see what’s the noise level, reduce it if necessary, and play around with brightness and contrast.
I noticed that the shutter speed can be varied (1/50th and 1/100th). That could be useful to obtain 2 different images at two different shutter speeds and then merge them in a way in which I can have an image with a better dynamic range (with a better sense of brightness).
Anyhow, I don’t want to speculate too much over the possibilities. For now it will be enough if I can add any improvement to the image quality !
Oyasumi.
Posted by Davide Pasca as Uncategorized at 1:36 AM EST
4 Comments »
This evening I finally found the time to sit and write some code regarding Aibo.
I’m focusing on the Aibo Remote Framework (RFW). It’s part of the SDK which can be obtained freely from openr.aibo.com. The RFW allows to use the wireless network and the plain ERS-7 (with Mind2 software/MemoryStick). With a few simple commands one can connect to the Aibo and start interacting with it.
Because I had to write a new application from scratc, and because the Sony examples are MFC, GUI code. It took me some time to actually figure exactly which commands to call and to get the Aibo to lit its hears with blue.. color that implies that it’s being connected.
So, I got the connection. That should be enough for today.
Sadly, I had to cheat on the dog. It normally goes to sleep at 11PM. But for the sake of coding, I pulled back its watch by 2 hours 8)
Posted by Davide Pasca as Uncategorized at 11:59 PM EST
6 Comments »