Skip to content

MacLin : A technologic revolution

A blog of someone addicted to technology

Archive

Tag: Geek

An earthquake is never something that is fun to live, it’s even more true for the people in Haïti right now. Every media is talking about it and even if it’s really a sad thing, I strongly believe it would be a good idea to move on… BUT, it certainly is a good thing to get our little internal voice to tell us that there is peoples with a worse day than the one we just had at work…. I wish the best to every people in Haïti and hope that everyone will stand for each other, instead of killing their neighbor as a desperate move for survival. A group is always stronger than an individual.

Now, lets move on to the main subject of this post. It was showed to me by a colleague today, he saw it on Cyberpresse.ca… that took it from CNN… that use the technology of Immersive Media.

Wikipedia have a description of the technology that is surely better than what I could summarize here, so why not simply quote them :

An immersive video is basically a video recording of a real world scene, where the view in every direction is recorded at the same time. During playback the viewer has control of the viewing direction, up down & sideways. Generally the only area that can’t be viewed is the view toward the camera support. The material is recorded as data which when played back through a software player allows the user control of the viewing direction and playback speed. The player control is typically via a mouse or other sensing device and the playback view is typically 4:3 window on a computer display or projection screen or other presentation device such as a head mounted display.

It’s an interesting technology, the video are interactive and let you see what you want while the video is still running !! Awesome !

Here is a video of what it looks like:

Seeing this today remembered me of a night passed at the SONIA lab with my friend J-F Im where he was trying to do stereoscopic vision with 2 development webcams … Awwwwh so good memories!

The title of this post was though to go in the line of my previous entry of the night. It was related for me changing this website theme so no big deal here. This one is to share my experience with the new router I bought some time ago.

I was having a hard time getting connection stability with my previous DI-524 from D-Link. Last week I opened it to see if the stability issue could come from an hardware problem and I discovered that 3 of the 5 capacitor of 1500uf was cambered. I was planning to change my router anyway to get wireless N capabilities, but though I would wait for the WNR3500L that was announced in October. This router is supposed to be a fully open source router which can be flashed by open firmware like DD-WRT and have a USB port on it to connect an external drive for network storage.

My DI-524 broken, my lack of WIFI inside my own apartment and the no availability of the WNR3500L in store or online made me start searching for an alternative. The website of DD-WRT contain a database of all the routers supported by the project and in the list was an even better router than the WNR3500L, the WRT610N from Linksys/Cisco. This router also have N capabilities and USB support, having previously use DD-WRT on older Linksys routers during my years at SONIA project, I knew that I would be satisfied and the router was in sale at FutureShop, so I bough one.

Its the second revision of this router, so DD-WRT was supported, newer revision are not yet supported at the time of this writing so I have been a bit lucky. I started by using the original firmware that came with it but I was experiencing some connection drop with my IPod Touch and sometimes it would not accept the WPA2 pass-phrase and constantly asking for it. So, last night I followed this pages to put DD-WRT on my WRT610Nv2. The upgrade went well, but I must admit that during the process I got nervous, I would not have like to destroy the router and throw 150$ to the trash.

The first version of the firmware that I put on it was not very stable tough… the router was rebooting by itself at an interval of about 3 minutes. I had to use the “hold button reset for 35 seconds” to make it work and for me to return to the web interface. I passed a couple of hour trying to understand what could go wrong but based on the 3min delay before the reboot and my experience with Linux Kernel development, I assumed that it was having a “kernel panic” that rebooted the router. I though of that because the default delay for a kernel panic to reboot is 180 seconds… (well on a powerpc, don’t know if it’s the same for this router but I simply guessed) and I though it would make sense. But I can be wrong.

After looking at the router database entry concerning the WRT610Nv2, I saw that the firmware linked there was from a previous revision of DD-WRT. This revision is 13401 instead of 13575 proposed in the other page. After trying this one, the router was very stable.

When I bough the router, I also bough an external 1.5TB USB hard drive. I formated the drive as ext3 and hooked it to the router, I activated some options inside the WebUI of DD-WRT and the drive was accessible through the network as an FTP share… I did not like this way of doing so I started to look on the DD-WRT forum and discovered that some user are going with Optware to add functionalities to their router. I followed this page and after installing some packages to the router I had the SWAT interface to configure a samba share for the attached 1.5TB of storage. That’s nice because samba shares are seen in Windows, Mac and Linux !

Now I have a very good router, WIFI is back and now more secure in my home and 1.5TB is available as a storage on my local network ! Sweet!

Yesterday it was friday, I was supposed to go to the “2 pierrots” with some friends and to celebrate the birthday of our new capitain for the SONIA project, Jonathan. But, instead my roommate and I worked on our special project for the submarine. (So, Jo I know you will not be too mad that we did not go to your birthday ;) )

Anyway, when I get back to work yesterday Marc-Andre had modified ( or I should say rewrite ) the scripts that the project ALE used. The ALE project is no more maintained and a lot of modification were necessary. Even if I was tired after passing a complete day at work fighting with U-Boot and Codewarrior, I could not refuse some friday night geekiness so I worked on our project.

For those that never heard of our GTI/LOG791 Project, it is to build a fast, efficient and easy to maintained Operating System for the submarine of SONIA. We are creating/customizing a different kind of Linux flavored to fit the requirements of SONIA‘s continuous development platform.

By reading and studying many of the possibility we reduce our choices to two different distro to based our project on. A Debian based system, using ELBS or an Arch Linux based system using the idea of ALE.

In the last two weeks we got a working system using ELBS, we used a Ubuntu 8.04 system as our host and a standard kernel. The result is good and we were happy to see Grub boot with it. But, we try to find the best solution for our project so we worked on getting the ALE based system working and the result is really great. We still have to compare both solutions in matter of performance, but for the flexibility and ease of maintanability in our special environment our ALE based system seems better.

When M-A was working on the filesystem yesterday, I was working on the Linux Kernel. I took the latest stable version 2.6.26.5. By reading my news feed last week I got an interesting one and I took some idea from it to apply the real-time patch on the kernel sources.

You can do it like that:
tar -xjvf linux-2.6.26.5.tar.bz2
cd linux-2.6.26.5/
bzcat ../patch-2.6.26.5-rt9.bz2 | patch -p1

You will got a patched kernel tree and you then have to configure it using “menuconfig” and change the preemption mode to real-time.

After fighting a little bit with the partitioner and the Grub boot loader Marc-André was able to generate an image that we can use as an hard drive. We use Qemu and Q to load it.

Here is some screenshot:

q-screenshot-1.png

Picture 1 of 4

What would you do on a sunday night ? Well, I don’t know… But my roommate and I generally do some “Geeky” stuff. Last sunday we were both in our living room to do what ? Hacking our game console offcourse !

My black XBOX is a first generation one, I got it by the time it was still selling for 700$ with two games and an insurrance from futureshop. Like all the other XBOX of its generation… it is now a piece of crap. It starts with some random crash, then goes the famous “Disc unreadable” problem, after a while I sometimes got a blinking orange light and now there is no light at all and I’m lucky when I can put  game in it and play.

So, since I have some little electronic skills and that anyway I could not do worse to it, I decided to take it apart and look if I could identify the problem and maybe solving it. While I was opening my black beast, my roommate was doing some soft hacking on his Wii. We were two geeks in the living room having fun with our game console at totaly another level that one could expected ! He was SoftModing his Wii using the Zelda Hack so he could put the Homebrew Channel on it. He was planning on learning how to do some development for the platform, well it seems to have worked, because he was making a red scare bouncing on the tv screen earlier yesterday.

Like you can see on the above pics, I was having an hard time to remove the front panel. Since the XBOX was turning off by itself, that the green light would not turned on anymore and that the little power button had no effects at all. I though that the problem could come from the little PCB in the front panel. When I did finally got it in my hand I tested it with my multimeter and figured out that it could not be the problem since it was in fact doing pretty much nothing. I took a look closely at every pieces on the motherboard, in case I could find a leaking capacitors or something… without success. I finally reconnect every pieces and hooked it to the tv, like you have seen in the previous slideshow, the XBOX was working. I put it back in its case and closed everything, put my DOA3 game in it… and I had an hard time again to make it work. When I was finally able to play the game, I did a Story mode. I was using Bayman, at the hardest level, but the game is so badly designed when you reached the final boss that I was unable to beat it before the XBOX crash again. So I was out of luck to spot the problem but it may be a power supply issue.

I’m thinking about buying an Xbox 360 so I could still play the games I already have and also get Halo 3 ! But this will surely not be soon, I’m buying a car and a lot of stuff recently so gaming will wait. Also, there will probably have a price drop on them during the christmas holiday so maybe then.

I was there, sitting in front of my media center, when I choose to take my laptop and do some research about women complexity. The first thing I did was to search on google to see how many time the topic have been used. The first link lead me to something a bit funny and a well designed animated gif.

girlbrain.gif

After that I decided it would be best to analyze it my way… that means, with a lot of geekiness. Having got a course about Discrete Mathematics, where we talked about Algorithm Complexity, I though it would be cool to try to find an Big-O complexity for a women…. By the way, this post is only for fun and should not be use in reference for any thing that can be serious.

Let start:

I would like to quote a website I found, that explain in a very simple way what Algorithm Complexity mean

what does fast mean?

algorithms get slower the more items of data they deal with. that’s what we worry about when talking about algorithm speed.

a fast algorithm is one that can process a lot of data. we aren’t as concerned about which algorithm gets a certain job done first, but which would get that job done first if it involved a lot of data.

ok, so you might say an algorithm is fast if it can process a small amount of data very quickly. fine. but that’s not what i’m talking about here.

once again, we’re worried about what happens as the amount of data increases. a fast algorithm is less upset by a large amount of data.

http://www.acooke.org/andrew/complexity.html

This is a good start to understand algorithm complexity, but what the hell this have to do with women ? Well, I’m a man and I love a woman and I always want to see her happy and I’ve make it my goal. Unfortunately, sometimes it doesn’t work because it seems that I’m unable to understand her completely. So, to help myself I though it would be best to continue my research in finding a way to analyze the complexity of a women.

When I entered the words “big-o complexity women” in google, I got this …. It seems that for the women a Big-O complexity means something totally different… Well, entering “women” and “logic” inside google lead me to something a bit more interesting, I’m not sure if this Michael is totally right… but well he sure have a point when he say that a man must stay himself when dating a woman. There is another link that is fun to read.

Humm… we are still far from what I tried to do in this post… we still have to solve this “women=O( ? )”. The theory tell us that to analyze an algorithm we must observe how it behave with a lot of data. So, how could we found “?” in our equality using this statement ? Well lets search about how many data a women brain can compute. Doing some research lead me to this text where we can find that there is no significant difference between the brain of a man and the brain of a woman, so the problem is now more to find how the human brain compute the stuff. Wikipedia have a lot of information about the brain, in this entry it is said that a human brain contains 100 billions (100 000 000 000) neurons which are all linked to as many as 10 000 other neurons… That’s it ! Wikipedia gave me an answer when I was reading this section, according to Hans Moravec, the human brain “has a processing capacity of 100 trillion instructions per second (100 million MIPS).” Wow ! Thats a lot of processing power… well till the year 2030 then our personal computer may be faster…

Well, we have a number for the processing capacity, but we still doesn’t know how many information we receive in a second… So lets explore this a bit differently, we know that we have a lot of information for input but we don’t have a number… we simply know it’s an enormous amount of data. We will say it’s infinite, we learned in the link above that the brain have specific division to compute the information it receive and that each of them will divided the information into sub-division and so on. If we look at this we could think of an O(log n) complexity… but in my opinion it’s really not a good guess. A logarithmic complexity would mean that each division would use a constant (ex. always dividing by 2, like a dichotomic search) number of sub-division and it is unlikely to happen with a brain because the value change for all input. However, since the data size is infinite, we can say it would not have a too big impact so lets assume that O(log n) is a good clue. Now, when every sub-division are done with the data they send them back to be compute in group. Lost? Let me give you an example:

In a sunny sunday morning you are sitting near a river and a butterfly appear on rock infront of you. Your eyes will see the butterfly, they will send the information to the visual zone of the brain, exactly at the same moment that you ear will send the sound of the river to the auditory nerve, the freshness of the breeze will be send to your brain by your skin captor and smell of the spring will be send to your brain by your nose. The brain receive all of these informations in the same time, divided the job to every part involved then he have to mixed the result so he can analyze the new results. The butterfly may remind you of the hair clip of your girlfriend, but mixed with the sound of the river it’s now remembering you about your first encounter. Now the smell of the spring and the freshness of the breeze make you realized that you are in the middle of April, mixing all these informations together you remember that you first encounter your girlfriend the 15th of April beside a river… wait a minute your brain analyzed the information together again… man we are April 14th you gotta get a gift quick !

So you see, your brain constantly re-analyze all the informations when he got new one. So I think it would be more appropriate to think of an O(n log n) complexity for the brain. Wow, I did it, I have found a complexity for the brain. Well, it’s probably extremely inaccurate because I’m not a doctor and I don’t know it enough but well it was a lot of fun learning about all those links. Hope you enjoyed and maybe learn something.

For ending I’ll rely on xkcd.com to help me to explain my though… about love and women

http://xkcd.com/55/

PS: You may enjoy this text of philosophy its very interesting and totally different that everything I presented here.

LaMs