Matthieu LABAN
.NET, My Life, Flight Simulation and Real Flight...

 
About Me :
25 Years old developer and aviation
enthusiast living in Santa Clara, California.
View Matthieu Laban's profile on LinkedIn 
Contact me at :
mlaban at gmail dot com


Photo & Video Galleries:
- Gallery List
- Flight Videos
Resume :
e-mail me to get my latest résumé
Youlii 

Youlii - Share the fun!For the past few months, I've been working with a friend on a website offering simple online multiplayer games.

We've got 3 games so far, but many more are coming soon!

Action happens here:
http://www.youlii.com

The entire site is in Silverlight 2, so if you don't have it installed, I recommend that you do :)

We created a twitter account to let everyone know of what's going on with Youlii at twitter.com/youlii

As a reminder, mine is twitter.com/mlaban!

Let me know if you have any feedback on the website and games.

Flight Simulator Grounded :-/ 

This is a really sad day...

http://www.gamasutra.com/php-bin/news_index.php?story=21981

It appears that the entire team of developers at ACES in charge of Flight Simulator has been let go...

What are we going to do now? Use X-Plane? No thanks, I like pretty flight sims... and Flight Gear... well, same, I like pretty flight sims...

Perhaps now would be the time to ramp it up on Infinite Runway?

I wish the best of luck to all my buddies at ACES...

Acer Aspire One - Replacing Wireless Card 

I've been using my Aspire One for a few months now, and I'm still happy with it... I've always had one issue with it. Wireless kept dropping, the connection would sometimes get slow, or worse, the Atheros card would just simply disappear from the Device Manager.

And this happened at random times, but mostly when the computer had been put on standby. Probably a driver issue...

After some digging online, I found that I was not alone... Lots of people had the same issue, and no matter what driver or bios update they used, they kept on having having this problem.

I decided it was enough, and bought a replacement wireless card (an Intel PRO/Wireless 3945AGM).
Opening the laptop was quite easy with the help of handy 
this guide.

I now have a reliable wireless connection! Yay! And boooo to Acer/Atheros for not releasing proper drivers.

If you also are experiencing issues with the wireless connection of your Aspire One, try to change the wireless card, it's worth the effort!

[Tags: AspireOne, Acer, Wifi, Replacing, Mod]

Aircraft Pictures Compilation 

This summer, I've spent a fair amount of time sitting on a bench in Palo Alto Airport, just looking at airplanes take off and landing...

I took a ton of pictures... most of which would probably be denied from entering the Airliners.net database... so I'm creating my own :)

Below is a slideshow of the best pictures of this summer... I hope you'll enjoy it!

Obama Won... 

... and I'm happy!

Thank you America!

3D Graphics With Silverlight 

I've been playing with Silverlight lately, and there was one thing I wanted to try for a long time... Displaying my flight tracks in real time 3D with Silverlight.

There is a pretty advanced 3D engine on Codeplex called Kit3D that does 3D graphics with Silverlight the same way WPF 3D works.
I used this library to display the GPX tracks. I had to add lighting as the current version on codeplex doesn't support it.
The code is pretty clean and easy to understand, so it was quick to add reasonably fast lighting calculation (for one directional light only)

To make this thing a bit more useful, I added the possibility to load 3D terrain underneath the GPX track!
Bear in mind, the resolution of the terrain is pretty limited. Right now, it's hard coded to a 20x20 grid for whatever the gpx area covers. I tried increasing it to 50x50 but it starts to get a bit slow, and retrieving the elevation data for that much points (2600+) takes quite some time...

For those who want to know how I got the elevation data, I did this using Geonames.org which has nice web services for all kinds of world positioning related things.

There is a link to a live demo below.
For those of you without GPX files handy, I added a link to a sample GPX file that came from a flight I did with Joost, the founder of Everytrail.com quite some time ago. It was a flight from Palo Alto to San Carlos, Hollister and back to Palo Alto.
Everytrail.com has tons of other GPX files available for download. If you want more test data, do not hesitate to visit the website!

Live demo!

Comcast's Shady Business Practices... 

So i've been in my apartment for 6 months now... And I was expecting Comcast to end their "6 months promo" price for my internet access... They didn't forget to update the rate...
However, they did forget to tell me when I subscribed how much I'd be paying...

If you go on the website, and click on "High Speed Internet" they will take you to a page that makes you believe that you will pay the 6 months promo rate of 33 dollars, after which the rate will to go 42.95.
That's what I remembered I would be paying eventually when I subscribed 6 months ago. However, this is completely misleading.
In reality, the intro price and the $42 roll to rate are only available to people who already have Comcast Cable with their high speed internet. (Both TV and Internet). The actual price that you are paying if you don't have cable is $58.
They fail to mention this clearly anywhere... and, there is NO WHERE on the website where you can find the rate without Cable. NO WHERE. Even if you go through registration, they will only mention the $33 rate, and never mention the $58 rate.

There is no way to actually find out online how much you will eventually pay past those 6 first months...

So I called Comcast to complain and ask for that $42 rate I was entitled to. The first person I got was rude and told me that it was written in clear and publicly available... in the "terms and conditions page".
Well, when she says in clear, and publicly available, she means it says "call for additional rules on restrictions".
In fact, if you call, they will tell you the actual price (I still have to verify that though...), and that this promo is only available with a TV Bundle... but you can't find it anywhere online... It's still "public" however... Jackasses!
I confronted her to the extreme absurdity of this practice, but all she could reply was that the rules were here, and that calling to get the info still meant that the information was public... gees...
So according to her, the website is not lying... it's, as some Republicans would say about McCain's lies, "stretching the truth" or "not passing the 100% truth test". (Who comes up with this shit by the way?)

I so hate people...

I finally called again to get another dude and tried to make him and his supervisor admit that this is borderline scam, and that this was a completely unfair business practice... He agreed to credit half an hour of Citabria ($50) to my account.

I'll try to call again sometime and ask for just High Speed Internet only and see how the "representative" behaves, and if there is anyway to extract the actual post 6 months rate...

At the end of the call, something funny happened... the manager told me he would tell his hierarchy that the website was misleading about that particular issue. Clicking on HighSpeedInternet only, and not a bundle page, should present the $58 rate and not a cable bundle rate of 42 bucks.
This made me laugh, and I couldn't resist telling him how idealistic he was... Like this misleading part was not completely intentional, come on dude :) What company do you think you work for?

So, am I still happy with the Aspire One? 

Hell yeah!

It's a great machine! The fan problem I had at the begining is now gone. I found a little utility on AspireOneUser.com that slows the fan a bit. It's still running but barely audible, which is exactly what I wanted :)

The only remaining complaint I have with this laptop now is apparently a widespread problem with the WLAN card that fails randomly upon waking up from stand by...
Rebooting fixes the problem, but that's lame... I hope they'll fix the problem soon...

Oh and also, they lowered the price to $350! What are you waiting for?

Happiness is Delano 

At the end of last August, I drove all the way to Delano California to attend the "Happiness is Delano" Aerobatic competition.

A bunch of people from all over CA came over with their airplanes to compete. My friend Bruno was there try to get to the top of the Primary group in a Decathlon!

He made it to the second place, nice for a first participation in the competition!

Delano is in the south of the Central Valley, needless to say it was very hot there... We had to drink lots of water.

It was a wonderful week end!

Here are the pictures of the week end:

Live Twitter Updates with Silverlight! 

I've had this idea in my mind for the past few months. Showing my most recent tweets on this website in a small silverlight widget. (More info about Twitter here)

This is now done :-) (check on the left column)

I ran into some issues coding this though... but nothing too painful. The whole design+dev took about 2 hours.

Biggest issue was dealing with the fact that I didn't want to expose my username/password to the silverlight widget. The Twitter api requires user authentication to retrieve one's tweets, even though they are public... Having the password stored somewhere in the .xap file was completely out of the question!

The second issue is that I figured I'd probably run into cross domain issues if I talked directly with the twitter api...

To bypass these restrictions, I created a simple WebService that knows my credentials. This WebService returns an xml string containing my latest tweets. The Silverlight widget queries the WebService and then retreives the data by a few Linq queries.

I forgot to mention the part where I actually had to show the control on the page... Since I hate html+css this is always a painful part... but it works now, and I'm happy!

Silverlight Rocks!

Ultra Mobile PC: EeePC 900 or Acer Aspire One? 

... the Aspire One, no question about it!

Let me explain why... The ultra mobile PC market has widely changed in a few months since Asus came out with the Eee PC. Other manufacturers have come up with their own versions.
Last week, I stumbled upon the
Acer Aspire One with Windows XP. Read some reviews and figured out it could be a good choice. But I eventually settled for a EeePC 900 since it has an SDD, which I thought would be quieter and faster.
Well, I was dead wrong.

After coming home with the 900, I got frustrated the first second I started using it... It was the slowest machine I had ever used... Any action on the machine would take an incredible amount of time, while the computer was apparently not doing anything...
For example, opening Firefox 3, and clicking on the address bar would make the entire app stall for 10/15 seconds... Seriously...
It could barely play hulu videos and I was experiencing slowdowns when viewing the shows...

Needless to say, I took this POS back to the store!

I exchanged it for the Aspire One, and oh man! What a difference! The Acer is fast, snappy, doesn't lag... a real pleasure to use!
The two downsides to this laptop so far are the fan noise and the screen that is a tad too bright even at lower dim settings...

For the fan noise... these laptop manufacturers seriously need to USE their machines more than two seconds before they ship them... The second I turn on the laptop, the fan is on... why? the CPU is at 20/30c why the fan???
Besides, why is it that these guys can't build quiet fans? Is that really impossible to do?

Anyways, for $399, I'm not going to complain! It's as fast as my old Fujitsu P1510D and for a almost 4 times less money (as it was 2 years ago)!

Oakland, Tracy and Palo Alto 

I accidentally smashed my camera when I was in Quebec last week... so I had to get a replacement. I chose a Panasonic DMC-TZ5.
It's a pretty good camera, so far, the only negative points I have against it are the lack of an optical view finder which makes it hard to spot moving airplanes...
Second point is the fact that while connected via USB, the screen is on full blast, which drains the battery like crazy... Seriously... people...

The reason I chose this camera is because it has a wide angle lens (28mm) and a powerful 10x zoom! And also, it can take HD videos at 30fps...

Anyway, I coulnd't really test it on the ground, so I scheduled a flight in a 7ECA. Bruno had an aerobatic practice session at Tracy and needed a ride...

I flew to Oakland just after the marine layer melted, picked him up and then we flew to Tracy.

On our way there, we overheard a poor guy on the radio coming from Livermore, who wanted to fly to Half Moon Bay via Bravo... and apparently, he got overwhelmed and decided to fly back to Livermore...
SFO class bravo can sure be overwhelming...
If he ever reads this though, he could have done this easily by flying lower and only talking to Palo Alto or San Carlos towers. but technically, it is possible to fly from Livermore to Half Moon Bay by staying clear of Bravo and any Class Delta airspaces.

Anyway, Tracy was hot... and we had a good time watching and filming Bruno, Mike fly around :-)

Once I got back to Palo Alto, I took some pictures of planes landing with the new camera. Even without the viewfinder, the pics are quite amazing, and the 720p@30fps videos look great!

Here's one I took of the same citabria I flew, coming back from a flight later that day...

Youtube has the "HD" version on their site, just click on the video to see it.

And finally, some pictures I took yesterday. I love this camera :)

Propellers in Infinite Runway 

I'm glad to say that aircrafts in Infinite Runway are finally being propelled by actual computation of lift coming from rotating airfoils :)
 
In my last post, I wrote that I needed the following to properly simulate the propeller:

  • propeller pitch
  • propeller blade velocity at a specific angle (relative to the propeller itself)
  • airflow velocity (relative to the airplane)
  • angle of attack at a specific rotation point (function of the propeller blade velocity above, and the airflow velocity)
  • propeller RPM
  • air density
  • propeller diameter

It wasn't that difficult afterall. I managed to get all these info from a few vector computations. (except the air density, which is coming from elsewhere)
 
To get the lift generated by a blade, Infinite Runway does the following: 

  1. Get the velocity in feet/min of the propeller at 3 O'clock (the descending one)
  2. Create a vector pointing downward from the propeller blade
  3. Get the aircraft velocity at that point on the blade (taking into account the wind)
  4. Substract these two vectors to get a vector representing the velocity of the blade relative to the air flow
  5. Compute blade pitch vector. (Point a vector down, and rotate it by 'Pitch' degrees)
  6. Get angle of attack of the blade by computing the dot product between the normalized results of 4 and 5.
  7. Run this angle of attack and blade velocity (length of non normalized result of 5) through the code used to compute lift/drag for wings (which takes into account the atmospheric pressure, amongst other parameters)
  8. Get the lift force, and apply it on the PhysX model.
  9. Repeat for 9 O'Clock (some small tweaks and vector inversions required obviously)

This gives pretty accurate results. With the previous model, where a simple force was applied, it was easy to reach over VNE during stable flight.
Now, it is much more difficult as the angle of attack of the propeller blades will decrease with the airspeed, decreasing the generated lift required to accelerate the aircraft further. A variable pitch would be required in this case.
 
Also, this takes care of the P-Factor as during climb and high power settings, the descending prop will have both a greater angle of attack and a higher forward speed than the ascending one. This combinaison of factors cause more lift to be generated from the descending blade (3 O'Clock position), inducing a yaw to the left, which is why we have to apply right rudder on take off on most airplanes.

Below is a video showing the result of the blades lift generation.
Graphs:

  1. Difference between left/right angle of attack
  2. Right Blade angle of attack
  3. Left Blade angle of attack
  4. Right blade speed
  5. Left blade speed
  6. Overall angle of attack of the airplane. (not wing specific)

The first graph is the most representative of the effect where we see that both blades don't have the same angle of attack for any given aircraft pitch attitude. Click on the link below the video to view it in High Def and see the graphs in crystal clear quality ;)

Vector colors:

  • Blue is current aircraft velocity
  • Red is aircraft Up
  • Green is the pitch
  • Yellow is the current blade velocity


P-Factor Tests in Infinite Runway from Matt on Vimeo.

Propeller Simulation 

The more I read about it, the more I feel like propulsion theory, although very similar to regular airfoil theory, is much more complicated...
There are lots of variables that come into play when trying to simulate this. I'm currently trying to gather some data, formulas, papers about blade theory...
The problem is that some of them go way beyond what I could implement easily in Infinite Runway.

The hard task is to find the right balance between a flight simulator, and a propeller simulator... Gosh! there are complete books about this topic!
If I were to implement a propeller as real as possible, it would take me years, and Infinite Runway could be renamed "Incredibly Precise Propulsion Simulator" but it would stink at everything else... (flight model, 3D graphics...)

The current approximation I'm targeting right now is how to accurately compute the thrust at 4 or more points on the propeller blade.

This requires a few variables:

  • propeller pitch
  • propeller blade velocity at a specific angle (relative to the propeller itself)
  • airflow velocity (relative to the airplane)
  • angle of attack at a specific rotation point (function of the propeller blade velocity above, and the airflow velocity)
  • propeller RPM
  • air density
  • propeller diameter
  • ???

That is a lot of inputs... So far, I've found only pieces of the solution, no magical all-in-one formula...

I was thinking that using my current system to calculate lift for the wings would work for the propeller as well though... since the blades are wings really, only small rotating wings... they can for instance, stall, just like real wings...

I'm mentioning this part, since propeller handling in Infinite Runway has always been very badly implemented... It's always been a force applied where the prop would be... Not really what happens in real life... but it follows the Infinite Runway principle...

"It's not optimal, but it'll do until I come back to it later on... in the mean time, I can work on something else that's much more fun" :)

Anyway, I'm focusing on this because I wanted to implement P-Factor in a more realistic way, and that effect cannot really be simulated with a 1 point thrust... or well, it could... I could just offset the thrust force to the right of the prop based on the angle between the aircraft's 'at' and its velocity...
The only issue is that this offset would probably have to be set by the airplane designer... It's a simple approximation but it doesn't completely solve the underlying problem, which is that prop pitch, lift and such are not handled in a correct way.

The 4 points approach I mentioned above might (should?) solve the P-Factor issue as well as the proper thrust/airspeed problem...

We'll see how it goes...

Silverlight DeepEarth Tests 

Tonight I played a but with an open source silverlight project called DeepEarth. It's basically a Silverlight implementation of Microsoft Virtual Earth. It has smooth scrolling and panning and blending between different layers.

They have a live demo up here.

Of course, having tons of flight tracks handy, I thought I would add the functionnality to show them. The project doesn't currently support dynamic objects besides simple pins. But the code is clear enough, adding new features was extremely easy...

I added a simple line drawer with an open dialog to import a track file coming from my GPS Tracker.

Here's the result for a touch a go practice at Oakland last year. :)

I have some ideas about what to do with this... we'll see how it goes ;-)