Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Discussions

Bass Bass Knows the way the wind is flowing.
  • Some ideas of groups to interview

    ZippyV said:

    The DirectX team. What's new in DirectX 11, what about physics, some good resources on learning to program with DX 11.

    Yeah it would be cool to explain the math behind 3d rendering too.

  • HOWTO: .NET development on Ubuntu

    ZippyV said:

    Links don't work.

    http://dotnetlinux.blogspot.com/

  • HOWTO: .NET development on Ubuntu

    History:

    0.1: Initial draft

     

    This post will discuss how to develop .NET applications using Linux, specifically the Ubuntu distro. Mostly we will be using Mono, but in the future I will talk about how we can get Visual Studio and .NET proper.

     

    Topics to cover:

    Setting up Mono

    History of Mono

    Differences between Mono and .NET

    Using MonoDevelop (Console)

    Using MonoDevelop (GTK# - Mono GUI toolkit similar to WinForms/WPF)

    Using MonoDevelop (ASP.NET)

    Setting up Visual Studio 2008 / Windows toolchain on Linux

    Deploying to Linux, Mac OS X and Windows in one step using CMake (cross-platform make)

    Possible other topics: Embedded Mono, Mono.SIMD, Mono garbage collection, Mono.VirtualMachine, Mono.Addins, OpenTK

     

    Getting Mono set up

    Step 1: Install the Mono development toolchain. Click here to install.

    Step 2: Install an IDE. I recommend MonoDevelop. Click here to install.

     

    How to launch MonoDevelop

    Launch MonoDevelop by hitting Applications -> Development -> MonoDevelop

     

     

    More to come..

  • All About Monads

    Nice find. Smiley

     

    <butthead>

    LOL. You said nads.

    </buthead>

  • Some ideas of groups to interview

    Natural Language Processing, Machine Learning, Bioinformatics:

     

    http://research.microsoft.com/en-us/groups/ml/

    http://research.microsoft.com/en-us/groups/mlpbio/

    http://research.microsoft.com/en-us/groups/nlp/

  • Awesome video Charles

    http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Butler-Lampson-Abstraction-Security-Embodiment/

     

    ^ That was the best video I've ever seen on Channel 9.

  • Extensia

    exoteric said:

    I was playing with a simple CPS SQL reader module and wanted to performance test it. And so the question arose as to what timers to use, as low-resolution timers are aplenty. It turns out System.Diagnostics.Stopwatch is such a high-resolution timer.

     

    The interface is as simple as you might expect - but not simple enough for someone with a craving for one-liners. I've used this trick many times years ago in Javascript, since the language begs for higher-order functions.

     

    // Turn high-resolution timing into a 1-liner var ticks = Timer.Ticks.Time(() => work());

     

    Now the extension code for this

     

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace Extensia.Time { public enum Timer { Ticks, Ms, } public static class Extensions { public static long Time(this
     Timer timer, Action action) { var w = new Stopwatch(); w.Start(); action(); w.Stop(); return timer == Timer.Ticks ? w.ElapsedTicks : w.ElapsedMilliseconds; } } } 

     

    As you can see, there is a supporting type - a Timer enum. This is really an excuse to make an extension method - but a nice excuse if you ask me.

     

    The train of thought was

     

    - create an extension method

    - the client code for using an extension method over an action is not nice

    - create a static non-extension method/function that takes an action and creates a time

    - that's also not quite as sugary as one might wish for

    - create an extension method over any type (or just object), ignoring "this" value and taking an action as the second value, allowing this expression any.Time(action);

    - although the extension method is factored out into a separate namespace, it should not apply to all types like a dummy add-on

    - so instead - create an enum signalling the time unit of measure and use that as the basis for timing an action

     

    And so that's where it landed. A simple thing, but very useful.

     

    Well there were some other thoughts

     

    extension method over Stopwatch; but downsides are also aplenty

     

    - what's the state of the stopwatch? - it's mutable

    - by changing the stopwatch, do you risk messing up some other code?

    - the client should not have to create a stopwatch to serve up an action for timing; the concrete timing method used is implementation based

    That's a really awesome snippet. Nice idea.

  • Futuristic MS campus monorail animation

    spivonious said:

    That's a really neat idea but you would need a lot of empty cars to attain the "no waiting" scenario the video describes. What happens at the end of the day when 200 people are exiting a building and heading towards the main bus/train depot?

    I don't get why the video shows the cars in the air. These doesn't seem to be anything stopping this from being implemented on the ground. I don't like how they use batteries either, that seems like a bad design decision to me. Batteries are expensive, heavy (reducing fuel efficiency), and wear out. They should be getting the electricity from the track, which I am convinced can be done without adding much to the capital costs.

     

    Seems like the software which drives this system would be incredibly fun to hack on, especially with the constraint that the cars should rarely use braking. I wouldn't want to try out the first revision though. Smiley A bug in the program can kill people..

     

    All in all a neat concept. Would like to see implemented on a citywide scale.

  • Project Euler

    JoshRoss said:
    Bass said:
    *snip*

    Doesn't that kind of-sort of defeat the purpose?  I have made my own utility class, and I do not see any issues with creating interfaces that would encourage good design and composiblity.  I just wouldn't want to offer any spoilers.

     

    I could also see creating a list of extension methods, like IsPrime, IsPalindromic, Factoral, DigitsToIntegers, SmallerPrimes, NthFibonacciTerm, NthPrime, SmallerFibonacciTerms, Combinations, Permutations.  

     

    Well I was thinking we could solve problems collaboratively. I think it would be a fun little project, especially for learning to do advanced things with Linq.

     

    The extension methods idea is pretty cool too. Maybe this can evolve into a complete .NET Scientific Library. Smiley I was going to write .NET bindings for that library, but hey if we can just reproduce it in .NET (and put in a non-copyleft license) it would be even more awesome.

  • Project Euler

    JoshRoss said:
    Bass said:
    *snip*

    There is a built-in range function: Enumerable.Range

    I had an idea. We can make a Project Euler class. Which would be a class with methods in the name Problem_1() Problem_2() etc.

     

    Then you can use C# dynamic type to call into it. Like a WinForm with a simple Label / TextBox / Button on it. So you choose a problem (in the textbox), hit answer button, and it gives you the answer in the label. And the answer button has simple code that dynamically calls the problem that was in the text box.