Runar Ovesen Hjerpbakk

Science-based software development

Windows Phone

Build 2015 Day One Keynote

Day One started with a long winding trek to the light that is the Build 2015 keynote.

Light at the end of the tunnel. Light at the end of the tunnel.

Satya's first demo contained the Surface, a pen, a musical C# and F# joke and off course, an index out of bounds error.

You mean there's more to F# than being a hipster programming language? You mean there's more to F# than being a hipster programming language?

The Gu presented Azure as the only hyper cloud solution with more data center locations than Google and Amazon combined. Also you can leverage your existing skills, even Linux and JavaScript.

THIS IS THE BEST CLOUD! THIS IS THE BEST CLOUD!

Next was the CEO of Docker, Ben Golub, Docker for Windows is on. Like Donkey Kong. "Choose the best damn tools for the best damn application. And run it on any server". Love it!

Minecraft Docker container. Check! Thank you Mark.

Docker for Windows

Publish Docker container right from Visual Studio 2015. Check!

Attach the debugger from Visual Studio 2015 to a running Container and hitting breakpoints. Container running nix and .Net Core CLR.

Also, run the .Net Core CLR on OS X.

Mark is pushing his second favourite company. Mark is pushing his second favourite company.

Hanselman is here! Showing Android app written with Apache Cordova running on the built in Android emulator from Visual Studio. Nice.

Android simulators are more plentiful than JavaScript-frameworks. Android simulators are more plentiful than JavaScript-frameworks.

Visual Studio Code on OS X!!! Mind suffiently blown! Thanx Scott!

Written using Electron.js

OS X in a Microsoft keynote. The tables have truly turned. OS X in a Microsoft keynote. The tables have truly turned.

And on Ubuntu!

Tux watches as hell freezes over. Tux watches as hell freezes over.

SaaS - SQL as a service. SQL is not dead, it's in the cloud.

Azure Insights is looking awesome. "Cortana, should i do a 10% promotion"?

Azure enables JustGiving to create iRobot charity giving intelligence.

OS X Leopard wants its wallpaper back. OS X Leopard wants its wallpaper back.

Now comes the more boring stuff. Office with a SAP-plugin. On iPad! I take back the boring part.

The iPad even makes SAP better. The iPad even makes SAP better.

Every major modern application needs a solid extension model.

Uber extension in the iOS edition of Outlook. Uber extension in the iOS edition of Outlook.

And REST-endpoints.

If you're seeing JSON, you're doing something right. If you're seeing JSON, you're doing something right.

Memo to self: disable drug dealer notifications while presenting on stage.

Even Satya wants the iPad Air 2. Should've been gold though. Even Satya wants the iPad Air 2. Should've been gold though.

Windows 10 is a new generation of Windows. Mobility across devices. Benefit the user.

WaS: Windows as a Service. To 1 000 000 000 users.

1 Billlllllllllion! 1 Billlllllllllion!

Windows Store, please make it work this time.

These are the hopeful eyes of a dreamer. These are the hopeful eyes of a dreamer.

Universal Apps is the next big Bing, I mean thing. Great support for Web applications.

Universal platform capabilities are now available for .Net and Win32 applications. DIPS is ready for the Windows Store. Running isolated from the rest of apps.

Photoshop running as a Universal App, with some camera magic added in too. Photoshop running as a Universal App, with some camera magic added in too.

Windows Phone now comes with Android! Run your Java or C++ Android apps on Windows Phone. Is Nice!

Or your ObjectiveC iOS app! Compile and link using Visual Studio on Windows 10 :)

Please make apps for our platform. Pliz! Please make apps for our platform. Pliz!

Great syntax highlighting for ObjectiveC, highlighting all of ObjectiveC's poor syntax. Lol.

ObjectivC is not prettier in Visual Studio ObjectivC is not prettier in Visual Studio

One more thing. The Prize of the show is an HP Spectre x360.

It has 5 screens! It has 5 screens!

Joel showing of Aero Windows 10. Brings back memories.

The start menu is like a Windows Phone The start menu is like a Windows Phone

And now the Windows 10 login screen, direct with app commercials from the Windows Store.

Project Spartan is now Microsft Edge. Memo to self: never use your internal code names in public.

Looking over the edge of the world. Looking over the edge of the world.

RES (Reddit Enhancement Suite) is available for Edge already.

Windows 10 phones are omnidevices, becomming a PC when a keyboard and mouse are connected.

It's a phone. I mean it's a PC! It's a phone. I mean it's a PC!

Continuum is Handoff on acid.

People, not devices, are mobile. Bring on the Holograms!

The future is very intense. And somewhat angry. The future is very intense. And somewhat angry.

Microsoft Bob 2.0! Windows Holographic platform.

Look at the puppy! Look at the puppy!

Hololens is really cool in a professional setting.

View real physical objects in a greater than real detail.

No Phone or PC required.

Microsoft is running a Jony Ive design video, without Sir Jony. And not just on a white background.

Not pure enough! Where is the white room? Not pure enough! Where is the white room?

All Universal Windows Apps can be holograms.

You can now sumperimpose a virtual robot on a real one.

Read More

New features in FermiContainer 1.1

FermiContainer gains features, but while doing so becomes even more simple. How is this possible? Let me tell you:

Automatic resolving of constructor arguments

Through constructor injection, the dependencies known to the container are automatically resolved. No attributes or XML configuration are needed.

[Test]
public void Register_EvenMoreComplexClass_CanBeResolved() {
  m_fermiContainer.Register<IEvenMoreComplex, EvenMoreComplex>();
  m_fermiContainer.Register<ICalculator, Calculator>();
  m_fermiContainer.Register<IComplex, ComplexClass>();
  m_fermiContainer.Register<ClassWithoutInterface>();

  var complexInstance = m_fermiContainer.Resolve<IEvenMoreComplex>();

  IsInstanceOf<IEvenMoreComplex>(complexInstance);
}

public interface ICalculator {}

public class Calculator : ICalculator {}

public interface IComplex {}

public class ComplexClass : IComplex {
  public ComplexClass(ICalculator calculator) {}
}

public interface IEvenMoreComplex {}

public class EvenMoreComplex : IEvenMoreComplex {
  public EvenMoreComplex(
    IComplex complex, I
    Calculator calculator, 
    ClassWithoutInterface classWithoutInterface) {}
}

public class ClassWithoutInterface {}>

Default container instance

var instance = FermiContainer.DefaultInstance;

IsInstanceOf<IFermiContainer>(instance);
Assert.AreSame(instance, FermiContainer.DefaultInstance);

Easier to extend

The Services dictionary is now protected so FermiContainer is easily extendable.

Better performance

C# expressions makes FermiContainer very performant.

Available as source through NuGet

PM> Install-Package FermiContainer.Sources

Read More