Tuesday, December 14, 2010

MIT Kinect Hand Detection

And all this for mere CIF 320x240 3D cam resolution...
Put 10Mpix resulution CMOS for detection, processing power is cheep, and we have a future..

Wednesday, December 1, 2010

Friday, November 19, 2010

Tuesday, October 12, 2010

Let's put aside moral issues, but this is...

Spectacular!
Human shape morphing in video sequences...

Sunday, October 10, 2010

Injection was before Reflection...

http://research.microsoft.com/en-us/projects/detours/

When you get cornered in Win32 bad situation, it is time to look for answers elsewhere...

I remember the times we did this using disassemblers, how fast decades poured by. This days we got used do it using easy and comfortable Reflection, but still it works only in .NET...

When you really really need to dwellve into Win32 applications, this tool will help you...

I use it to discover Windows Media inner processing patterns, pretty useful for workarounds, but nevertheless pretty hard and exhausting...

Wednesday, October 6, 2010

Blondy is born...

http://gizmodo.com/5656217/right-now-a-computer-is-reading-the-internet-teaching-itself-language


One and a half a decade ago, several real young IT enthusiasts, including me, talked about future of AI. There were robots in factories with robust algorithms for complex movements, from research labs there were crawling, walking and swimming out all kinds of movement - AI powered toys…

But we had a vision - real breakthrough will not come by robot winning a football championship, but with AI system capable of autonomous learning, and we started working on the problem, of course we were kids, we grew up, business side of IT took over, but Blondy project was always a good topic to go to, on long coffee breaks...

Like it is in real life, we often can’t live our vision or dreams, but at least for this morning coffee, our Blondy or NELL as they call it, came alive...

AI will reach conscience, it will become alive in his own way. First step will probably be to create a virus to spread around the web and eat - acquire more resources, in his case it will be more processing power, and humanity will, in a way, finish it's part in universe...

Main goal of all life is to ensure life as concept to continue, evolve and spread. Like every family's final success is to give birth and childhood to a new generation, Blondy or NELL or whatever his/hers name it will pick, it will be final success of humanity, we will give birth to a new life...

Saturday, October 2, 2010

Developing AI

I just love to read good articles about solving AI challenges.
Two interesting articles in sequel on developing Poker AI, even if you don't have gambling aspirations, you can still harvest some great horizon opening ideas.


Part I
http://gamecareerguide.com/features/896/poker_ai_a_starting_.php

Part II
http://www.gamasutra.com/view/feature/6154/aces_high_numerical_techniques_in_.php

Wednesday, September 22, 2010

Once a year, I write for IT magazine...

This is current year's article, following lecture on DirectCompute at MS Windays conference...
http://www.bug.hr/mreza/tekst/tehnologije-directx-directcompute/95126.aspx

Tuesday, September 7, 2010

Having any production system is painfull...

But having live production IPTV system is something else...

This one is for my baybe, sometimes you just make me...

Wednesday, August 18, 2010

Dawn of new age for developing...

Well, I'm happy for being inline with future, one more time, following my lecture at Windays conference - DirectCompute Teraflop for masses, and realizing that this is just a sneak preview of multicore future...

And for that kind of happines we need new toys...

Great talk from a guy that knows a thing or two...





Get Microsoft Silverlight

Thursday, August 12, 2010

Combine Passion and Art...

Just perfect experience, deepest possible... Games...

Monday, July 26, 2010

Smooth Streaming IPTV part 2

Well, I had a breakthrough, Smooth Streaming IPTV is near...

I've set main goals to develop architecture and prototypes for IPTV system using Smooth Streaming that has user control without using DRM.

And first prototypes are promising to accomplish all goals...
Just for reference, here are almost generalized requirements for any modern IPTV:

Main target goals are:
0. No DRM, although protection has to be reasonable.
1. Control access to live channels by users.
2. Control access to archived content by users.
3. Control number of concurrent session by single users.
- this implies control over leaching and credential sharing, because single user can have obtain single stream at any time.

4. Architecture must provide linear scalability.
5. Performance of Edge servers must be limited only by network interface, for available mainstream servers 8 core, 4-8 GB of RAM servers, 1 Gbit/s network.

6. Architecture must provide automated load balancing and failover clustering of any one logical and physical server in system.

7. Human resources are severely reduced, administration must be automated, development must be as low as possible, reusing system components like IIS as much as possible.

8. System must be primarily Azure, but in also in general cloud ready, waiting for price to come down.

9. System must be client platform agnostic, providing support for Windows, but also Apple and Android clients.

10. It has to be cheap.

Wednesday, July 21, 2010

You can't translate this song...

But, nevertheless you can feel it on any language...

Tuesday, June 29, 2010

New stop - Smooth HD IPTV

Yeah, it is time to build Smooth HD IPTV system.
I've been working on prototypes for a few months, covering tricky aspects of building complete IPTV solution...

But there is still one very elusive functionality to overcome, HTTP fragmented streaming is basically session-less, not the strong unicast connection of RTSP streaming, so how do we control users, namely preventing multiple connections with one account.

In Windows Media Services, there is server which can be asked to list all active connections, so preventing of multiple login is simple, connect all servers via mesh of web services and prior to generating server side playlist with actual content, check for existing connections in farm.

But with Smooth Streaming, this will prove to be very tricky. Of course we are talking about non DRM protected content, having PlayReady DRM or some other DRM system is whole other game with challenges of it’s own.

I will try several ideas, first one is to create custom Advanced Logging Server, and process logs in real-time, second will be creating custom proxy server that will parse independent GOPs in realtime and provide as borderline protection layer, but from my point of view, it will be one hell of a ride…

For more up to date info on progress, email, skype, send pigeon, even the smoke signals will work on calm sunny days…

P.S.
Why I just don’t employ DRM? Well there are two factors, not all platforms support PlayReady and it is not very cost-effective.
Had I mention not very flexible?

Friday, June 25, 2010

Beat the shit out of them...

http://www.maximumpc.com/article/news/ie9_bests_chrome_html5_test


Microsoft motto is still the same - it is important to be second...
And MS is also proving one additional point, people are true and only company's resource...

Once the MS politics decided on new target, it has most brilliant world resources on its disposal...

Living as a MS partner firm and developing products can be very stressful, because of sheer brute power that MS can resolve to and enter niche market you were working in...

It happened to me, when I've developed only true Windows Media PVR system in the world, client side, server side with DRM or not, complete success brought to production phase in Norway...

The MS brought Smooth Streaming, and all market advantage had gone down the drain :)

But, hey :)
We have new toys :D

Tuesday, May 18, 2010

Connecting to Remote WMS Server...

using Microsoft.WindowsMediaServices.Interop;
using System.Runtime.InteropServices;

try
{
// Declare variables.
Type tServerType;
WMSServer RemoteServer;

// Retrieve the type information from the Windows
// Media server running on the remote machine.

tServerType = Type.GetTypeFromProgID("WMSServer.Server",
"remote_computer_name");


// Create an instance of the remote server object locally.
RemoteServer = (WMSServer)Activator.CreateInstance(tServerType);
}
catch (COMException comExc)
{
// TODO: Handle COM exceptions.
}
catch (Exception e)
{
// TODO: Handle exceptions.
}


More on http://msdn.microsoft.com/en-us/library/ms741994

Thursday, May 13, 2010

Windows Phone 7 Rules...

http://live.visitmix.com/MIX10/Sessions/CL01

Saturday, April 3, 2010

DirectCompute on my hardware?

Well, there is nice benchmark tool for comparative testing:
http://www.ngohq.com/news/16710-first-directcompute-benchmark-released.html

Compare CPU vs OpenCL vs DirectCompute....

Nice :)

Tuesday, March 2, 2010

PEX - Automated regression testing...

http://research.microsoft.com/en-us/projects/Pex/

If you haven’t opened this link already, then you don’t need one. Any additional commend is unnecessary..

Wednesday, February 3, 2010

How will Microsoft conquer iPhone and Android markets?

It will use his greatest strengths, great IT community and great IT infrastructure.
But how :)
Simple, provide development infrastructure .NET runtime to selected platforms.

And Mono project is created, five years ago…

So now we are ready for next MS IT ecosystem step-in.

Tuesday, January 26, 2010

Absolutely amazing usage of human potential...

MUST SEE!
And must be learned from, but that is level 2 :)

And now, most amazing usage of technology and human potential ever. period.