Welcome to MSDN Blogs Sign in | Join | Help
Untold Tales of Windows

Hi…

recently I had a discussion with students around computer science. Suddenly I became aware: There are some untold tales of Windows. Maybe I should start to do something about it;-)

The Tale of the OS Builder

Let us assume for a moment we are designers of an operating system. Our operating system has one central thing to deliver: It shall provide super-luxury containers for applications to live in. Those containers should be easy to manage for the user but on the other side the containers should be super super luxury for the application. The more the OS offers the less the app must bring in and the more synergies can be found.

So beside lots of different services there is one very special one…

Configuration is a treasure…

The OS itself but also nearly every application has its own configuration. In former times every app had its own way of describing this config in its own location. Well, I don’t have to describe the disadvantages, right?? Then OSes offered a common place to store it, still the format was open (Sendmail.cf is a killer example). Then there was the idea of having common format (in Windows 3.11 the famous ini-files). OK, nice… but let us take the satellite perspective and ask our self: What would be an optimal solution?

Support of Data Types: Configuration comes in different data types. There are integers, string, binary… if the configuration store would enforce the format it would kill a typical source of errors.

Support of Different Sources: In a multi-user system we need to have a common, global part of the store and a user part. The user part should move with the user.

Organization in a Tree Structure: How can the configuration data be organized? Well, the easiest way would be to have a tree structure and each entry identified by a unique path in the tree.

Support of Access Rights and Observation of Access and Changes: Multi-User system needs that.

Fast Access for Apps: The configuration store will be accessed very often so it is certainly good to have it in fast access for apps. Compile it for example.

Support for Management over the Network: It would be nice to have the chance of providing configuration over the network. So we have three sources of configuration: Machine specific, user specific and administrator provided. All combined should result in the final config.

Hard to Access: Ey…why this?? Well, the configuration of an application should be changed through the application first. Only the app can ensure that the value is of any sense. Therefore the access should be not to easy…got my point??

 

image

 

Well, tada… here it is: The well known, often beaten upon

 

REGISTRY.

 

CU

0xff

by FrankFi | 0 Comments

XTOPIA kompakt – Content now online

Hi…

XTOPIA kompakt is a new format we tried recently. Instead of you coming to the conference, the conference is more like a road show. It was placed so it was easy to attend and we had great feedback.

Maybe you missed it… no problem the content (German) is now online… check it out:

clip_image002

 

CU

 

0xff

by FrankFi | 1 Comments

Filed under: ,

IE8 – Using the features / Try it yourself

Hi…

IE8 comes with some well selected features to help you with your daily browsing. It is easy to integrate those features into your web offering. But – I am with you – do I want to fiddle with my life or staging web sites to try this?? No.

Ok, so we would like to offer you a playground. Something you can try things on – destroy it and go away with a smile??

Yes, check out the all new virtual labs on IE8 ;-)

http://msdn.microsoft.com/de-de/dd568956(en-us).aspx

CU

0xff

PS: Don’t blame me for that url…

by FrankFi | 1 Comments

Filed under:

Cloud Computing and Open Source

Hi…

 

i just had an interesting morning at IDC. They presented a study around cloud computing and just as IBM, T-Systems and RedHat, Microsoft was part of the game.

During the session there was this idea that

??? cloud computing = Open Source ???

at least the RedHat evangelist put it that way. His argument was that all typical players today reside on open source based platforms. This really caught my attention and I was thinking about it on my way home – say, home office.

My observations are:

The Stacking:

If you build a stack starting with the hardware nearly all players use x64 processor technologies. As far as i know IBM offers mainframe hosting but in the end the game is dominated by x64. This platform is ubiquitous and there are several players in this market. BUT: Nobody cares about the hardware in Cloud Computing, right?? Not having to care about the hardware layer is one thing in cloud computing why someone chooses to do it firsthand. So forget it…

Secondly the OS layer. Well, Linux plays a big role throughout all offerings. Certainly Google have chosen to use it and Amazon Services are playing well, too, with Linux. Beside that Windows (taking Windows Azure as an example) plays well, too. But once again: I do not care so much. The OS is a carrier for the application server and the application. It should provide some basic functionalities. If it does that for me as a customer the OS does not matter. For me as a hoster the OS does matter. This is the one thing were I can show my professionalism, energy footprint etc. The real value here does not lay within the software alone. It is about the processes. How “open source” are the processes? Anyway: Me as Mr. Customer I don’t care about the OS so much anymore. So forget it…

Now the application server. Several offerings here (like Amazon) leave this to you. Great control, less scalability. Others like Google or Microsoft are enforcing are more rigid model (like the web and worker roles in Azure) which are basic to get the full scalability. Is it impossible to do this Amazons services? No. Can’t you do the simple drive scripting on Azure? No. But it is harder.

Me as Mr Customer I search for an application server that fits my needs best. Today everybody repeatedly said “cloud computing is an evolution”. So the law of survival of the fittest applies and this does not mean survival of the most aggressive or the most open. That one that fits best in the needs of those who in the end feed him.

Certainly the price point is one indicator, maybe the richness of the solution, being able to migrate data when I decide to leave the platform. But does the “open source means no license fee” idea fit here? Or is it simply the idea of how much will it cost me operated in the cloud and how rich is the overall experience?? I vote for the later…

Now last but not least have a look on the applications. As you user the stickiness to this layer is at the highest. MySpace changed their whole platform once. For me as an end user it was transparent. Twitter started as a Ruby on Rails shop once. Some hickups later I do actually not know what platform because I don’t care. Well, by the way: How open source is facebook? Must it be? Isn’t it enough to have APIs that can be accessed… See my point???

The Process:

Cloud Computing will grow into the IT business just as client-server and outsourcing did. If you want to stick with the evolution thing you can pretend the IT industry being the habitat. Creatures that adopt the cloud computing style will have an advantage and though be a bit fitter than those staying with what they had. This will not extinct those not adopting it. But those guys will get under pressure.

Also, cloud computing is more about open standards and open APIs than about open source to me.

CU

0xff

by FrankFi | 1 Comments

My MSDN, Your MSDN, Our MSDN…

Hi…

when I joined the MSDN online team here in Germany I wondered why we would not make the wealth of MSDN news, videos, articles, podcasts…well, the content better reachable. I learned a great deal how hard it really is to run an international platform and I got a bit less aggressive over time ;-)

But still the dream is alive. And now we are a good step nearer to my dream. And I have to thank Kay Giza first because he’s the guy who made it possible.

The basic idea is it to give you the opportunity to include MSDN news and/or content feeds into your very own website.

NOTE: This is a MSDN Germany feature. If you like it please give us feedback!!! If you don’t give us feedback, too ;-)

Mix and Mash – It’s your MSDN

We build a little tool where you can configure which RSS feed you want and define the canvas in which it should be displayed. It all assembles in a little script which you have to include into your own website…viola.

It all starts here http://www.microsoft.com/germany/msdn/rss/rssviewerconfigurator.mspx

 

image

 

On this website you can choose first of all which RSS feed you like as a source. Next the design and appearance of the canvas in which the feed should appear. Things like font, frame, title… But – best of it all – if you provide your CSS, well, welcome to do so. We provide a little how-to guide how your CSS must be shaped to fit.

In the end you will find a preview on the right side and a little JavaScript just as the one below:

image

Now copy and paste this script to your website and enjoy daily fresh developer news on your homepage.

I hope you find this as useful as I do.

CU

0xff

by FrankFi | 2 Comments

Filed under:

Your Own Windows Server for €14.99/month

Hi…

the Student offering is getting better…even better…

Some of the raw basic facts:

image

If you are a (German, sorry ;-) student don’t wait any longer ;-) Register today http://www.1und1.info/xml/order/Studenten

CU

0xff

by FrankFi | 1 Comments

Filed under: ,

Cloud Computing versus Hosts

Hi…

I found an article – actually I have seen lots of those in the past few weeks – which compares hosts to what cloud computing is about today. Mostly the conclusion is “see, we already had that all and we should never have left host computing in the first place”.

Well, this is true and wrong at the same time.

Certainly some of the basic principles used in cloud computing today were also used within hosts. I even admit they might have been designed for hosts in the first place. But let us step back for a second.

The Software Crisis

Today we still live in the time of the “Software Crisis”. First what does this mean?

If we see the whole thing as a market. We have the human society (including economics) defining a demand for solutions. On the other side we have the IT industry trying to fulfill the demand. I do write “trying” here because the industry is not able to saturate the market. And this is true ever since the birth of the industry. The amount of computing power that the human society asks for is overwhelmingly more than the industry can produce.

So how does such a solution look like? Well, normally the whole process starts with a problem that might be solved or at least weakened by applying information technology. We call the result the solution accepting that the problem still might not be solved to its full extend. The solution for a problem is a function of software and hardware.

On the hardware side we all know Moore’s law. While we still have problems that extend the hardware capabilities we are today in a somewhat luxury position regarding hardware. Hardware is highly componentized and standardized. Most of the times it is no longer the limiting factor.

The crisis sits on the other side – within the software. While we do have components and standards here, too, it is still behind the hardware (I never saw something like the CSS standard quality wise in the hardware land, anyway…).

The crisis is even so bad that we are not able to “produce” enough skilled staff to work on the problems.

So how can the system react on this pressure?? Certainly by growing the number of people working in the field but since this cannot solve the problem another potential way is to lower the entry barrier and to streamline the process of software production.

If you now turn around and have a short look on how we produce software you will see that there is this fundamental tendency to reduce complexity. Take scripting languages for an example. They reduce complexity by even paying the price of being not optimal in a sense of memory or processor consumption. We shift the burden of the crisis from the software to the hardware side which is able to scale better.

Not every problem is a NASA Mars mission

Here one can ask for a new measure called software quality. While still experts discuss what it really stands for it is not necessary to have it defined in all consequences for this idea here. We all have a basic idea what software quality stands for: Availability, memory consumption, user experience, etc. In short: The software should always behave as expected.

We all understand that quality costs effort which is directly related to developer time. Therefore high quality software is costly. So whenever a problem solution is thought through it is certainly right to ask if the return on the invests is within the desired level. And there are some parameters one could tweak to get it onto the right path: Less software development versus more hardware usage. Try to reach a high volume market to divide development costs by more customers. Less testing and accepting the product “to be as it is” versus NASA Mars mission tested. In the end it is a quality decision to make.

Take a product like Windows for example. It is a tremendously complex product (I heard once that it is more complex than the whole flight to the moon project because it is an open system which must be able to work with existing and yet to be designed software alike). But the effort is worth it because the burden is divided by billions who use it in the end. This is the NASA Mars mission type of software: Quality rules!!!

Now let’s take my family web site. I hammered it on a rainy Saturday, it is not really tested at all and I would be willing to reboot the whole thing from time to time. The interest in raising the quality of the whole thing is limited… at least from my point of view.

Back to the Cloud

Since the industry is struggling to overcome the basic crisis in the first place host computing was a valuable step in the process. And as Dirk Primbs always says “We can introduce new technologies but once introduced it will never go away!” ideas and algorithms developed for host computing are still part of the fundamentals but in the end the host did not solve the problem.

One thing which was the most remembered characteristic of host computing is also its killer: The enormous software quality. The high level was bought by a high invest at the first place…but not all software is a NASA Mars mission.

Cloud computing takes the thing to a new level. It democratizes IT in a sense that it not only offers “unlimited” hardware it also lowers the entry barriers to develop software. Quality of the whole solution is a “can” not a must. The system – even the users – are more fault tolerant and scripting away is acceptable. If the idea really ignites we will see something like the Cambrian explosion in software development taking place.

Today’s startups just do the right thing when developing the solution a bit sloppy first hand. If it does not fly, well, at least the invest was not to heavy. If it flies increase quality from release to release … or simply go dark for a week like twitter did ;-)

The Cambrian explosion was certainly an interesting time to live in. And actually we are still living on the credits of that age…

CU

0xff

by FrankFi | 1 Comments

Put new Live in your old PC

Hi…

mostly all of us have the one or the other old PC, sometimes assembled, mostly disassembled. Why not putting new live in the old machine??

Well, I would suggest a nice weekend project called “Install Home Server”.

Step 1: Get the software - http://www.amazon.com/Microsoft-Windows-Home-Server-URP1/dp/B001E5Q8CO 

Step 2: Assemble machine

Step 3: Install

Step 4: Adopt - http://www.microsoft.com/windows/products/winfamily/windowshomeserver/add-ins.mspx

Enjoy…

CU

0xff

 

Update: More stuff here http://forum.wegotserved.com/index.php?s=b69c9a48b4c727d9954ecbd046f55ef1&autocom=downloads&showcat=8

by FrankFi | 1 Comments

Filed under:

Marketing needs Developer

Hi…

I have a very special idea around marketing. Maybe this is a result of being a technical guy and having to deep dive into marketing.

History of Marketing

For me marketing is more than advertizing. When marketing started beginning last century it was all about product information. The markets were far way from being saturated and all you need was telling people that your product is there and outline some basic (say technical) details.

The next phase entered certainly somewhere between the sixties and the mid-seventies. The markets got saturated and phase of hardcore advertizing started. It was like the invention of the machine gun. If one shot doesn’t do it, well, maybe six hundred will. The real technical details were less and less important since more or less all products fulfilled the basic necessities. Instead the message was loaded with happy, sexy, young, successful people which have nothing to do with the original product (or do you think only good looking blondes do use your cleaning product?).

Today we enter certainly a new phase, call it Web 2.0 or not. Maybe we should leave naming to the next generation they will have a better overview. Today we are all able to actively ignore advertisement. While most “marketing” and media professionals still wrestle with it: The effectiveness of classical advertisement goes to zero. It is still necessary to get the information out but the filters within our brains get better and better.

Even more freighting, some of the best known brands today did make their way without any classical marketing stuff like advertisement…have you seen ads on Google or facebook?? See…

New Definition of Marketing

For me the new definition of marketing is Peter Drucker’s definition of the most prominent goal of any organization: “To generating customers”.

So today marketing is no longer about “sell what’s loaded on the lorry”. It is about helping define a product or service by finding necessities within a market. Communicate this to the product group and let them do their magic. Some time later the product is about to be distributed marketing steps up again. The goal is now to establish the product in the market. Yes, this includes basic advertisement. Because it is still a way to get people to know the thing upfront. But people being hammered at with the brand name are far away from being customers.

What you need is a real value. You can get through the filter if you offer real value, the ability to be part of the whole thing… all the things that the Web 2.0 preachers tell you. But this is only the first step. Because to really get people to become a customer after getting them interested the product must stand for itself. Be of value… and here it gets very personal. Don’t get me wrong here: Sorry to say but most of us are not originals. Most of us try to copy the style etc. of some others we admire. In the end it resolves to a unique mix of things we admire from a mix of different sources.

But wait: Generate Value, isn’t this the job of the product group?? Well, partly. Every product group needs to follow a lifecycle. The more complex a product is the longer this lifecycle is. Adopting the product to (local) markets is left to marketing. To adopt a product to the customer needs to know the right mix…

Learnings I had

We observed in the past is exactly this. There are some missing pieces which are not a basic critic on the product but the need to shape the flavor or to add something special on top.

I experienced in the past very often that the product itself is very good but lacks adoption because of a missing part. It is like the well-known situation of missing the last 5 cm (or inches - you choose) of power line to get the plug into the wall. Here innovation is needed and it can resemble itself in product or process. Regarding product, most of the times it is not rocket science. But nobody does it first hand because it has no direct benefit for the guy who does it.

In our case as a software company it reveals into adding a bit of software development on top of it. Marketing needs developers to build this glue on top!!!

A good example is Internet Explorer. To build a plug in IE offers a COM based API to do so. A lot of plugins exist on this base.

We asked developers here in Germany why they do not make use of it. Well, the answer is: make it easier and more fun to do it.

Well, so we build a managed-wrapper and posted it on Code-Gallery. While the IE product team certainly needs to focus on their main audience (which is the consumer) we have been asked to look after the developer audience.

So what’s in it

Hey, marketing is the place to be if want to be creative. Not only in choosing what photos to use in an ad but to shape things the right way.

CU

0xff

by FrankFi | 2 Comments

Filed under: ,

Jet Blue is still alive or in the need of DBS

Hi…

most US citizens see in the term Jet Blue the airline. Some others (like me) remember there was something called Jet Blue and Jet Red…remember??

Jet – A database engine

So JET – once for Joint Engine Technology – was a database engine used within a lot of MS products. Access is certainly the most prominent. There was a version called Jet Red which was optimized for small databases and which was used extensively by Access for example. (See http://en.wikipedia.org/wiki/Jet_Database_Engine)

Then there was Jet Blue which used parts and pieces of JET but was optimized for larger databases. I remember how astonished I was reading that Exchange or Active Directory used a Jet Engine – namely Jet Blue – to store the data. Nonetheless I learned how stable this engine is seeing it working in ADS or Exchange Servers around the world. To do  so Jet Blue is  not a copy of Jet Red with an extend memory flag but brought some very new features to the table.

Well, Jet Blue is part of Windows (starting with Windows 2000) and called Extensible Storage Engine there (see http://en.wikipedia.org/wiki/Extensible_Storage_Engine). And it is still a strong part of the whole thing.

Now since it is part of Windows you can easily make use of it as soon as you need a cool storage solution. See this article here http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx

Well, Jet Blue is more than an Airline ;-)

CU

0xff

by FrankFi | 1 Comments

Filed under: , ,

Software made in Germany - SpicIE

Hi…

some time ago I asked some guys here at Microsoft why we do not support writing IE plug ins in managed code. The answer was that while this still is a good idea it is not the highest priority of the product teams. Honestly I understand that because the main focus for the team is to make consumers happy.

Update: I have to take back my speculation on this and admit I was wrong here. Actually we do get a great deal of support ;-)

So we started our own little project here and called it SpicIE. Now Gunnar finished it off so far that we are able to present it to the public and we are able to make available. It has a reasonable (very) good code quality while it is not finished.

But certainly it is worth being checked out. You can find it here http://code.msdn.microsoft.com/SpicIE/

 

SpicELogoSmall.jpg

Now you can write your own

IE browsing event handlers
IE toolbar buttons
IE menu entries
IE context menu entries
IE explorer bars
IE toolbars.

in managed code, using Express versions of Visual Studio etc. We will support the thing with

additional stuff in the days to come. Check it out…

CU

0xff

by FrankFi | 1 Comments

Filed under: ,

Why “<!--[if gt IE 6]>” is so bad…

Hi…

if you are doing HTML you are certainly aware of what the line in the subject means.

Where it comes from:

Well, the internet (and if you want a part of it called “the web”) is a strange place. We all talk about standards but it took some reasonably time to really with more or less real standards. In the mean everybody including Microsoft saw things as a place to be innovative. This resulted in being more or less “standard” conform. The short story is it was necessary to adopt websites to different browser versions. We all hate it, we all get used to it.

One way of doing this was spreckling HTML (and JavaScript) around your websites with constructs like this in the subject line. It checks wether the version of the browser is greater than IE6 and does then some stuff to correct the rendering of the page. Very prominent is the shift one pixel thing (it always reminds me on “It’s just a jump to the left” of Rocky Horror Picture Show)

And now there is IE8:

IE8 comes in a standard conform mode! Hurray, we all should freak out… well, wait a second: There are this enormous amounts of constructs like the one in the subject line sprinkled all across the webcode. And we all know that 8 still is larger than 6 so the code will fire. But this time leading to a wrong rendering. So, while we still see that it is a move in the right direction we are all aware there will be a hickup first.

How to solve this?

Well, there is a mode in which IE8 “simulates” an IE7. You can switch your browser into this mode by having either a server header or a meta tag in your html code. You can find the details here http://msdn.microsoft.com/en-us/ie/default.aspx

The better way is to render conform to the standards but to be honest I do not expect to happen this throughout the whole web ever ;-) Yes, this might mean to touch your websites or to install an update for your CMS. But in the end it will be worth it…

Another lesson within this:

Using the clause if gt IE 6 means that while somebody wanted to react on IE 7 she or he actually reacted on IE 7,8,9,10… See the problem?? There was an implicit decision done for future versions…uh, bad habbit ;-)

CU

0xff

by FrankFi | 2 Comments

Filed under:

When Microsoft started…

Hi…

 

this is a cool video series about the history of Microsoft…

http://channel9.msdn.com/shows/History/The-History-of-Microsoft-1975/

Now I learned why BASIC starts to print out OK instead of READY when it actually is Ready. Because it saves 3 bytes ;-)

Respect, Tina Wood, you are doing a great job!!!

 

CU

0xff

by FrankFi | 1 Comments

Filed under: ,

Students only – Get your hosted Windows Server for nearly NOTHING!!

Hi…

wow, ever wanted to have your very own DEDICATED Windows Server hosted?? Your real own machine?? Not a virtual one, a real own iron??

 

Hey, here we go… the formula is like this:

Take the Microsoft Project Dreamspark (the OFFICIAL background here http://www.microsoft.com/Presspass/press/2008/feb08/02-18GSDPR.mspx?rss_fdn=Press%20Releases) and the real thing here

and combine it with a hosted machine at 1&1 … and here we go:

www.1und1.de/studenten

And we mean at least an AMD Athlon 3000+ with 2,0GHz, 2*80Gb Harddrive, 1Gb or more RAM, unlimited Traffic and Windows Server 2008 64bit pre-installed…

BUT Remember STUDENTS ONLY!!! ;-)

CU

0xff

by FrankFi | 0 Comments

Filed under:

IE 8 is RCed

Hi…

problably you noticed IE8 is RCed. As in every project getting into stage RC is a very important step.

So I found this Channel9 clip very interesting Inside IE 8 RC1 with Dean Hachamovitch and Jason Upton

Jason is an interesting person showing how the team works behind IE.

For me it is a bit complicated because my machine runs Windows 7 and – nope – no RC for Win7 yet. While the engineer in me totally understands the kid is not satisfied. So I will find my other box somewhere and try IE8 RC1 on that one ;-)

So sorry I only got a screenshot of the Win7 view on IE8 so far:

image

Well, try it yourself on http://www.microsoft.com/windows/internet-explorer/beta/default.aspx 

CU

0xff

by FrankFi | 0 Comments

Filed under: ,

More Posts Next page »
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker