Microsoft Surface SDK 1.0

One of the cool things about PDC is that you can play around with technology almost nobody have been playing around with, and today I got to test the Surface Platform.
 
If you are one of the guys who know how to code with WPF, then its really simple. All you need to do is to add a reference to the Surface.Presentation.dll, and instead of using the standard WPF controls( InkerCanvas, Button, Slider, Checkbox ++ ) you will need to use the Surface versions. These are simply SurfaceButton, SurfaceSlider, SurfaceCheckBox and so on.So, if you got a WPF application you would like to try on a surface machine, just do these two steps and your done! 🙂
 
The Surface Platform got a control named ScatterView that can be used to f.ex scale, rotate and decelerate custom controls (xaml).You can set properties on objects like CanRotate, CanScale,DecelerationRate and so on to make the object interact in the ways you want.
 
To create a nice photoablum, all you need to do is to make a ScatterView with a DataSource pointing to a directory of image-files, and the ScatterView takes care of the rest. Nice!
 
To play with the really cool things about Surface, you can make it recognize objects by using a tag and the TagVisualization control. Things like adding a tag to a business card, and when putting the card on the table, a ring will popup with options like sending an e-mail to the owner, call him/her up and so on is quite simple to do.
 
 
All Surface applications needs to be hosted inside a SurfaceWindow and declare a namespace for surface:
<s:SurfaceWindow x:Class="SurfaceApplication.SurfaceWindow1"
xmlns:s="
http://schemas.microsoft.com/surface/2008" …
 
 
And a scatter window can be defined as the following, using a data template that displays images for a data bound collection:

<s:ScatterView Grid.Row="1" Name="MyPictures" >

<!–A template for displaying an image from a databound collection of image file paths–>

<s:ScatterView.ItemTemplate>               

<DataTemplate>

<Image Source="{Binding}"></Image>

</DataTemplate>         

</s:ScatterView.ItemTemplate>

</s:ScatterView>

 
 
Now, you can easily iterate trough all pictures in a folder, adding a new ScatterViewItem and setting a picture as it’s content. When a new ScatterViewItem is created, you can then add them to the Items collection in MyPictures: MyPictures.Items.Add(sviewitem);
 
 
As simple as it gets! ;D
Posted in Technology | 1 Comment

VSTS 2010 == Happiness

After a quick tour around VSTS2010 I realized why it can be defined as happiness.
 
I’s a big release particular focused on Test and Architecture, including alot of new features.
 
First of all, the bug template is enhanced where we (finally) got a rich text editing box on the defect history, and a detailed view of all the steps and tests that was executed and processed before and while the defect took place. But thats not all, a video is acctually recorded during the process and links to different points in the video timeline is added with each step, so you can always see the bug happening on your own system (how many of you have recived a test-report, thinking "It’s working on my system, so its probaly just nothing.") in the video, with a screenshot, a full overview of the system info AND thread info at that time is stored so you can always see exactly what system and it’s stats the defect was tracked on. No more excuses for not being convinced the bug really happened, right ;).
 
It’s not very cool when you wake up in the morning, have your coffee and noticed someone have checked in errors in the code. VSTS2010 have thought about this.
When editing a function, or writing code, you can acctually see a test impact view with a list of all edited functions and all affected Unit Tests on each function. Handy or what? And, when checking in code, it will be validated with Gated Check-in, resulting on no more broken builds ;P
 
As part of the build process, we now have an Architectual validation consisting of layers with functionality. Arrows from one layer to an other will tell what functions can call other functions and classes. With the Architecture Explorer, you can visualize your system code. If thats not enough, you can generate sequence diagrams( UML ) by just right-clicking a class and tell how many steps you would like to include. This helps us ensure the quality of code and that the code follows a particular architecture before checking in, minimizing "The Butterfly Effect".
 
 
I would also, lastly, like to mention "CodedUI tests". With this functionality, you can acctually record all steps you make in the UI, like setting a search criteria, select different options, generate code for the test and make asserts about the results( UI regression. tests ).
 
Posted in Technology | Leave a comment

Windows Azure – A Operationg system in the clouds

Microsoft just announced Windows Azure. I’m sitting in the hall right now, listening to Mr. Ozzie and trying to understand what it is, but if your curious, take a look at this page: http://www.financialpost.com/news/story.html?id=911798
 
 
Posted in Technology | 1 Comment

California

Just a quick and dirty blog from Huntington!

The trip from Oslo->London->LAX went well, and after a really long stay in the skies we found California.
After checking in at Tokyo Grand hotel, we went to Universal City/Hollywood and ate a really nice steak at Hard Rock, Universal Studios, before getting some sleep! It was really crowded because of halloween, horror nights at Universal Studios and so on, but thats just cool ;P

So, here I am.. My first full day here in LA is soon over, and I am at Huntington Beach with Einar. Going to spend this night at their apartment, a really nice place by the sea, drinking some mexican and american beer, chill-out and see the city around Huntington. I spent most of this day with Christopher in Santa Monica, before meeting Einar, where we checked out the surfers, the beach, the pier and some shopping. Didnt see David Hasselhoff though.. 😦

So far, Los Angeles, Huntington and Claifornia looks really nice 🙂

Anyways, better get to the city before its too late. The PDC starts tomorrow, can`t wait 🙂

(Still) Have a good night!

Posted in Uncategorized | Leave a comment

Microsoft Professional Developers Conference

Allright, my bags are packed and I’m ready to get a few hours of sleep before starting my trip to LA tomorrow morning!
 
I’ll try to blog during the conference, and share some pictures, so check back here during the next week to know whats going on in LA, California and PDC2008!
 
 
California, here I come! 😛
 
PDC? Read more: http://microsoftpdc.com/
Posted in General | 1 Comment

The power of the L-Systems

I have been waiting for an oppertunity to play around with my own L-System engine for many years now, and because of my latest results within the topic, I’m finally there! 🙂
 
 
All you can see in this picture is rendered with my new L-System engine( The water and the cave are not based on a L-System function ), including a leafless/dead tree, some mushrooms and some other flowers with leafs and the flower itself.
 
My next challange is to find a way to render some leaf’s on the big tree, add some grass and some more plants to make the small island nicer and more magical.
Posted in Graphics | 3 Comments

A procedural tree in 3D

I managed to extend my L-System engine to grow branches in all dimentions( xyz ), so now I can easily produce 3D trees. I’m quite satisfied with the results so far, but there is still some minor issues that needs to be fixed( reduce the amount of hardcoded values and so on ).
 
The picture below is a rendered tree by the function: F->F[&F][+^F][-F].
 
My next task is to apply forces like wind and weather 🙂
 
Posted in Graphics | Leave a comment

Dandelion’s and the L-System

This evening, I started implementing a 3D L-System engine and merged it into my 3D graphic engine, DeBreeze.

So, what are L-Systems??
Wiki: An L-system or Lindenmayer system is a parallel rewriting system, namely a variant of a formal grammar (a set of rules and symbols), most famously used to model the growth processes of plant development, but also able to model the morphology of a variety of organisms.[1] L-systems can also be used to generate self-similar fractals such as iterated function systems. L-systems were introduced and developed in 1968 by the Hungarian theoretical biologist and botanist from the University of Utrecht, Aristid Lindenmayer (1925–1989).

More: http://en.wikipedia.org/wiki/L-system and http://algorithmicbotany.org/

 

I uploaded two screenshots on my current progress. The first one is a function that I made, trying to model a seeded dandelion: F->FF[+[+F]F][-[-F]F].

The 2nd one is just a normal straw: F->F[+F]F[-F]F.

 

 

I’ll upload more screenshots and code when I get it done. 🙂

Posted in Graphics | Leave a comment

Einar, MVP in XNA and DirectX

I would like to use the oppurtunity to congratulate Einar Ingebritsen, who got his MVP in XNA and DirectX earlier today!
 
And for those of you who are interessted in Silverlight and not yet tried the new Silverlight RC0 version, go to www.silverlight.net and try it out! 🙂
Posted in General | Leave a comment

The hacking of Nectarine

Thanks to all donors, it might be a possibility that Necatrine( scenemusic.net/ nectarine.fr ) will be restored again.
 
The site was hacked a while ago, and alot of damage was done:
"This morning a script kiddie hacked nectarine.
He did post a hint on the vulnerability in the oneliner before trashing everything.
The whole Database is deleted, backup too. The only one i have is from august.

The vulnerability was coming from multipage class i used.

My motivation is too low to fight against lamers again.

If you are a donor, maybe could you unsubscribe your paypal donation.

Sorry guys, but i don’t have enough free time to restore everything and i don’t have enough money to pay hosting alone.

Friendly

Yes aka Christophe"

 
For more information:
http://revival.scenemusic.net/
 
 
I really hope they manage to get everything in order, as this site was a highly-popular site, that I’ve been using for many many years now.
Posted in Uncategorized | Leave a comment