MSDN Blogs
The Blogs of MSDN
by sos
3 Jul 2009 at 6:54pm
??? ?????? ??? ????, ? ??? ???? ?????? ??? ??????????? ?????? ???? #imaginecup ? ? ??????? ????? ??????? ????, ???????? ????? ???????????? ??????? ?????? ??????! ?? ??? ???? ?? ???????.
??????? ? ???? ?? ?????? ?????????, ????????????, ? ?????? ? ?????????. ? ??????? ???????? ? ????? ??? ????? ?? ???? ????????? ??? ?????????? ?????????, ??????? ??????, ? ?? ?????? ???????? ??????? ?? ????? ?????? ???????? ???????.
??? ? ????? ?????????? ??? ?????????:
????? ?????????, ? ?????????? ??????? ??? ??????????, ?? ??????? ??????????, ??? ?????????? ????? ????????? ???????????? ??????. ???????? ??? ? 8:30 ????, ??????????? ????? SDI-??????? ? ? 12:05 ?? ???????? ??????? (13:05 ?? ?????? ? ????????? ??? ???????-??????????? ? ????????? ?????? ?????!), Embedded ?????? ????? ????????? ??? ??????. ??? ? ????? ?? ????? ?????, ??? ?????? ? Top12 ??????, ? ? ?????? ? ??????????? ??? 6 ?????? ?????? ? ?????? ?? ?????????! ??? ??? ????? ?? ??? ?????? ????????, ???? ???? ??? ??? ????? ??????!
??? ??? ???????? ???????, ? ???????, ? ??????? ??? ?????? ?????????:
????? ???????? ?? ??????? ?? ????????? ? ???????? ? ??? ????????, ???????? ?? ???????? ???? ?? ?????????. ???? ????????? ? ?????????? ?? ???????? ? ??? ????????? ?????? ? ???????, ?? ?????? ?? ????? ?????, ???????? ????? ?????? ???????? ?? ??????? ?????????? ????? ? ?? ???????, welcome to the real world. ??????, ???????, ?????????? ?????? ???????????, ??? ???? ? ?????, ?? ??? ????? ????? ???????????.
???? ???????? ? ???????? ???????, ?? ??? ??????????? ????????????? ??? ?? ????, ? ????? ????? ???????? ? ??? ??? ??? ?????? ?????? ?? ??? ????????. ?? ?????? ?????????? ???????? ? ?????? ?? ???? ??????? ??? ??????? ?? ????????:
??? ????????? ?????????? ????? ????? ? ?????? (????? ?? ?????????? ??? ??????????):
????? ??????? ???????? (?????? ??????? ??????????? ??????), ? ????? ????? ????? ????????? ???????? (???? ????????), ? ?? ?????? ????? ? ?????? ????? ???????? ?? ????????. ??? ???????? ?? ?????????-??????????, ??????? ??????? ?? ???????? (?? ????????? ?????) ??? ???????????? ??????. ?????????? ????????, ???????? ????? ?? ?????, ?????????? ?? ?????? ? ?? ???? ????? ????????? ????????? ????????, ??????? ?? ???????? ????????? ??????????? ? ??????, ????-?????????? ?? MEA, ???????? ????????? ???????????? ????????? ??? ??????? ? ??????? ??? ???? ? ???????? ?? ??????????? ? ??????????! ??????????? ??????? ?? ????? Imagine Cup ?? ???????? ??????? ?????? ??????, ??????????? successor ????? ??????!
????? ???? ???????? ???, ??????? ???????, ?? ??????? ??? ????????? ??? ? ??????? ???????? ????? ? ??????? ? ?? ??? ??? ??? ?? ??? ?????. ?????? ???????? ????????, ? ?????????? ???? ??????? ????? ?? ???? ? ???? ????????? ?????.
????????? ??? ????? ? ????? ??? ??? ??? ??????, ????? ??? ??? ???????????! ? ??? ? ????????????? ???????????? ?????? ? ?????????? ??????? ?? #imaginecup!
by lucabol
3 Jul 2009 at 5:23pm
Hot swapping of code
Let?s get back a couple of steps and consider what happens when you get an error. Sure, your agent will continue processing messages, but it might be doing the wrong thing. Your message handling code might be buggy.
Ideally you?d want to patch things on the fly. You?d want to replace the message processing code for an agent without stopping it.
Here is how you do it:
let counter2 = spawnAgent (
fun msg state
-> printfn
"From %i to %i" state (state + msg);
state + msg) 0
counter2 <-- 2
counter2 <-- SetAgentHandler(
fun msg state ?
>
printfn
"From %i to %i via multiplication" state (state * msg); msg * state)
counter2 <-- 3
Which generates:
From 0 to 2
From 2 to 6 via multiplication
After the agent receives a SetAgentHandler message, it switch from a ?+? agent to a ?*? agent on the fly!! All the messages that come after that one gets multiplied to the state. Also, the state is preserved between changes in behavior.
It might not be immediately apparent how to load a function at runtime, but it is really simple. Imagine that I get the data on the function to load from somewhere (i.e. a management console UI).
let assemblyNameFromSomewhere, typeNameFromSomewhere, methodNameFromSomewhere =
"mscorlib.dll",
"System.Console",
"WriteLine"
I can then use it to dynamically load a message handler (in this case Console.Writeline).
let a = Assembly.Load(assemblyNameFromSomewhere)
let c = a.GetType(typeNameFromSomewhere)
let m = c.GetMethod(methodNameFromSomewhere, [|
"".GetType()|])
let newF =
fun (msg:string) (state:obj)
-> m.Invoke(
null, [| (msg:>obj) |])
And then it is as simple as posting a SetAgentHandler.
counter2 <-- SetAgentHandler(newF)
counter2 <--
"blah"
Now our counter2 agent has become an echo agent on the fly, having loaded Console.WriteLine dynamically. Note how the agent moved from being a ?+? agent taking integers to being a ?*? agent taking integers to being an ?echo? agent taking strings. And it didn?t stop processing messages for the whole time.
Obviously, you can do the same thing with workers:
echo <-- SetWorkerHandler(
fun msg
-> printfn
"I'm an echo and I say: %s" msg)
echo <--
"Hello"
And parallelWorkers:
parallelEcho <-- SetWorkerHandler(
fun msg
-> tprint (
"I'm new and " + msg))
messages |> Seq.iter (
fun msg
-> parallelEcho <-- msg)
A silly interlude
As a way to show some agents talking to each other, here is a simple program that simulates marital interactions (of the worst kind):
let rec husband = spawnWorker (
fun (To, msg)
-> printfn
"Husband says: %s" msg; To <-- msg)
let rec wife = spawnWorker (
fun msg
-> printfn
"Wife says: screw you and your '%s'" msg)
husband <-- (wife,
"Hello")
husband <-- (wife,
"But darling ...")
husband <-- (wife,
"ok")
Which produces:
Husband says: Hello
Husband says: But darling ...
Wife says: screw you and your 'Hello'
Wife says: screw you and your 'But darling ...'
Husband says: ok
Wife says: screw you and your 'ok'
And yes, you cannot expect messages to be in the right sequence ? Next up is an auction application.
by danieb
3 Jul 2009 at 4:48pm
Na stronach Wall Street Journal opublikowano bardzo interesuj?cy artyku? na temat kryptografii. Historia maj?ca ponad 200 lat ju? teraz z czasów Washingtona, Jeffersona, Pattersona i ca?ej tej spó?ki, która wystartowa?a z Wujkiem Samem i przy okazji (o czym wi?kszo?? z nas mog?a si? dowiedzie? z Skarbu Narodów) bawi?a si? w tzw. Ameryka?skie Towarzystwo Filozoficzne (American Philosophical Society).
Sprawa dotyczy korespondencji pomi?dzy Robertem Pattersonem a Thomasem Jeffersonem.
Patterson wys?a? list zaszyfrowany ca?kiem sprytnym Cipher Code?em, który dopiero teraz rozszyfrowano. Dobry wst?p do kryptografii dla osób nieobeznanych z tematem. Zw?aszcza, ?e napisane j?zykiem bardziej opisuj?cym fantastyczn? histori?, ni? jaki? ?geek?s talk?.
Kod do rozszyfrowania wiadomo?ci to: 13, 34, 57, 65, 22, 78, 49.. a? kontrolnie porówna?em go z Lost?em. Inny.
Przy takich sytuacjach ?a?uj?, ?e w naszej prasie nie ma takich niestworzonych historii o polskich matematykach, którzy ?rozbroili? Enigm? i innych. U nas w prasie niestety g?ównie sprawy doczesne tak bardzo, ?e bez kontekstu historycznego patrz?c w przesz?o?? i bez kontekstu na jutro, abym dobrze zrozumia? co z tego ma wynikn???
Odno?niki w j?zyku angielskim.
by Simon Hutson
3 Jul 2009 at 4:47pm
In The Lap Of The Gods? Every so often I come across a feature in CRM that makes me wonder ?why was it designed like that??. The one that catches me out almost every time I demo is the inability to close or cancel a incident when there are associated open activities. This wouldn?t be so bad except that many of these activities are generated automatically by workflow, so when you cancel these activities manually, workflow processes continue to run and create still more activities. Solving this problem...(read more)
by AndrewParsons
3 Jul 2009 at 4:34pm
Wow, this is easily the most epic event I?ve ever been involved in. If you?re following my twitter feed (@mrandypuppy) you?ll know that I?ve been using words like ?awesome?, ?cool? and ?wow? a lot as well as a bunch of exclamation marks. I?m conscious of it but I keep getting wowed by the experience, and I know this is just the beginning.
So far I?ve experienced:
Catching a flight from Singapore to Cairo via Dubai with 60+ passengers being Imagine Cup competitors, their mentors and several of my peers. I was told about solutions that teams had come up with and the passion these kids have is inspiring, but with good reason. I mean, when an Indonesian talks for 30 minutes non-stop about a Malaria early detection system they developed, it?s hard to not be engaged. Carrying the Cup through Customs at Cairo and being questioned about the mysterious box. Today was briefing day ? briefings for students, mentors, judges, employees, briefings everywhere. At first I thought it was over the top, but there is so much information to consume that it is totally warranted. Tonight was the official opening of the Imagine Cup competition. The highlights were: Student parade of the countries, a la the Olympics. Huge response as each team entered and again I was struck by how many countries are represented and how some of them strike me as out of this world ? seriously, I never really thought about a team of students from Senegal showing solid innovation, or the inspiring stories of some of the teams just getting here like Palestine and Indonesia. Ray Ozzie, Chief Software Architect for Microsoft, telling the students that they truly are the future of creativity in technology because they?re not hampered by previous experience and preconceptions. Joe Wilson, the man who makes Imagine Cup happen every year (well, the man, behind the team of awesome dudes and dudettes that make it happen every year) pumping the students up and getting them ready for the competition and having all 445 students on the edge of their seats, hanging on every word. The Egyptian student who stood up during the proceedings to thank his government for their support of Imagine Cup and the roar of the crowd in appreciation.
sigh.
Tomorrow ? first EPIC day of the competition. All 67 Software Development teams present, as well as Game Development, Embedded Development and other teams ? all in action. The logistics to make all this happen are nightmarish, but everyone behind the scenes are positive and upbeat and just making it all happen.
by GhostCatfish5
3 Jul 2009 at 3:47pm
Once you're done with the hamburgers, hot dogs, and fireworks for the U.S. Independence Day, spend some time on Xbox.com checking out these links and playing games.
Through the weekend, the
Deal of the Week is the Knothole Island add-on for
Fable II for only 560 Microsoft Points, 30% off regular rate.
July 3 through July 6 is
Double-XP Weekend for
Call of Duty: World at War. Level up, soldier!
Tomorrow,
July 4, we have a Game with Developers session with
Team17 Software who made
Worms 2: Armageddon, and we'll be playing
Fight Night Round 4 in our All-Nighter. The next day on the
5th we'll be playing the folks from
Battlemouth.com in Left 4 Dead. Then, get ready for next Saturday
July 11, when you can play the developers
NinjaBee in their game
Band of Bugs. There's big news with the game as of July 8, the game will now
support in-game avatars meaning you can play with your own character creation. Also on July 11, you can play the metal band
Static-X in
Halo 3, and be sure to save the date of July 29 for a Game with Fame with the band
Killswitch Engage.
Forza Motorsport 3 has announced that it will include three Japanese race tracks and a
slew of hot Japanese cars.
The Gamer Spotlight shines on
Jake8bitJoystik, the man behind 8bitjoystick.com.
Reader Jay wanted to point out this cool article from Carnegie Mellon University on
graduate Arnold Blinn, who had a hand in the upcoming
melding of Xbox 360 and Twitter.
We've posted some additional info and
new discussion forums on
upcoming games, including the innovative new music title
DJ Hero, the funny and fast
Cars Race-O-Rama, and the supremely commanding
Supreme Commander 2.
by Eric Havir
3 Jul 2009 at 3:34pm
According to Joe Engalan at VectorForm, a Microsoft Surface Partner, you can. They've created an entry level DJ application that lets groups join in on the fun. This is when Joe's team isn't working on Microsoft Surface with car configurators , presidential election coverage , educational and medical applications to name a few. The DJ started simple , and grew from there. There's even an iPhone app . Now they've added some features like scratching into 2.0. The first video is Joe and I going over...(read more)
by aschabus
3 Jul 2009 at 2:59pm
Welches Lied läuft da eigentlich im Radio? - Frag doch dein Handy......(read more)
by NickMalik
3 Jul 2009 at 2:48pm
I had the opportunity recently to review an excellent article in the Harvard Business Review (HBR) on strategy development, and consider the notion of a business motivation model with respect to how a strategy is constructed. (?Can you say what your strategy is?? by David Collis and Michael Rukstad, Harvard Business Review, April 2008, link)
For those folks who are not familiar with a business motivation model, the goal of this kind of architectural artifact is to understand the different ?things? that motivate an enterprise and trace the various behaviors of the enterprise that are engaged (or not engaged) to react to those things. Things (not a technical term) refer to influencers like competitive opportunities, drivers like strategies and objectives, and business models that describe the elements of the business itself.
One thing that is clear: traceability matters. Traceability is the ability to not only say ?what? we are doing, but ?why.? It is the ability to trace our activities back to motivators that we can all agree on.
The HBR article cited above provides a clear argument for rewriting strategy statements in a different way, one in which the traceability of the strategy is described in the strategy statement itself. For example, it would be ?OK? for a ?printer? company to use a strategy like this:
?Increase market penetration in the North America SOHO segment by 20% through improvements in product usability, partner marketing, and customer relationship management.?
On the other hand, according to the article, it is even better to lengthen that sentence dramatically. An appropriate rewrite would include, in the strategy statement itself, the traceability to a key differentiator for the enterprise:
?Increase market penetration in the North America SOHO segment by 20% through improvements in product usability, partner marketing, and customer relationship management leveraging our long-term relationships with customers and deep awareness of their business needs.?
I must confess that it makes sense to care about this particular aspect of strategic traceability. After all, creating a strategy that does not trace to a fundamental motivation around improving the health, competitiveness, and financial stability of a company would be particularly corrosive. A bad strategy can be worse than no strategy.
The solution that the authors suggest is useful in an environment where the business does not already know who they are, and what aspects of their business are key differentiators for them.
If a business is very aware of their key differentiators, then extending the strategy statement to include them is redundant and, dare I say, mildly counterproductive. The notion that a long-winded sentence carries sufficient weight to drive a change, outside a complete understanding of the business itself, is indicative of two possibilities: (1) an enterprise with only one business model, or (2) a business with fairly chaotic thinking.
In effect, if your business is very simple, but you don?t believe that everyone understands it, then this is good advice. Also, if your business is in chaos, this is excellent advice. In both cases, you need the strategy statements to communicate and provide clarity.
On the other hand, if your business is well organized but competes in a rapidly changing business environment, using a complex multi-faceted set of business models, then I have some concerns.
The limitations of sentences
Long sentences as strategy statements are a good idea, if there is no conflict between them. In a business with one business model, this is a realistic goal. It would be inappropriate for the leadership of the business to issue strategies that overlap or compete with one another if there is only one business model.
On the other hand, many businesses, including Microsoft and most of the rest of the Fortune 100 corporations, have many business models within the framework of their enterprise. These different businesses will have overlapping customer bases, different products, and potentially some radically different ways to make money. For example, as Microsoft embarks on Software Plus Services, we make money on the sale of licenses of Microsoft Exchange. We also make money on selling access to an online version of Microsoft Exchange (Business Online Services) that many businesses find preferable to running their own e-mail infrastructure.
You can add only so much clarity to a business by stretching out the length of the strategy statements to include additional words, as the HBR article suggests. Some things cannot be worked out using long sentences, however. Long sentences to do not clarify overlaps, or what may appear to be competing strategies. Long sentences do not reduce internal conflicts or clear up customer misconceptions or make it easy for the sales force to explain what your company does, especially when your company does MANY different things, for different people, in different ways.
Perhaps having longer strategy statements do work in chaotic businesses. I?m not sure. I believe that the problems of poor role understanding, poor organizational discipline, and poor visibility into the success factors of others are each big problems typical of a chaotic business. If it were my call, I?d want to solve those problems before I focused on clarifying business strategy statements (although, in some sense, clarity may help).
Traceability through models
So let?s assume, for the rest of this discussion, that you can drive behavior from a strategy because your business has the organizational discipline to actually care about these statements. Let?s assume that the problem is this: you need your strategies to be executed better.
Now, let?s throw in a complicating factor: your enterprise has many business models? many different ways to make money. If that is the case, then there may be effective ways that work for more people, in more ways, than the one suggested in the HBR article.
One method for building effective, aligned, and actionable strategies to model the business using a rich mechanism like the Enterprise Business Motivation Model. This allows direct traceability between the competitive needs of the business model, the influencers that affect the business, and the drivers of change that propagate through an organization.
The method advised by the HBR article performs some of that traceability. According to the article, some of the differentiation of the business needs to be drawn into the strategy statements themselves. This is not bad advice. However, the author is selecting one particular path of traceability (product differentiation to strategy) and neglecting others.
With a model, you can draw this path, and many more. Modeling is necessary because business strategies are simply one of the tools of change, and a full and rich motivation model, like the one described in the MSDN article, clarifies the traceability without sacrificing all of the relationships in favor of a single important one.
Having a full model doesn?t fix a chaotic business, but it is a useful first step. On the other hand, a business without a rich and fully described motivation model will have a harder time reaching the maturity that they need in order to compete, and succeed, in the marketplace.
Once you have developed the model, you have something very valuable. The model lets you demonstrate how the strategies are connected to the various influencers, in the context of the (potentially many) business models of an enterprise. It provides much of the rich context needed to prioritize business objectives and deal with competing demands for resources, time, and mindshare. With a broad notion of traceability in place, the need to ?pad? the strategy statements themselves may diminish. More importantly, strategy statements can be shown to derive from many different paths of traceability, not just one of product differentiation.
Conclusion
The advice from the Harvard Business Review is good advice. There are many situations where a set of long strategy statements is a good thing. Companies that want to use strategy statements as an education mechanism, and not just a motivation mechanism, can use their advice to full effect.
The HBR article does not, however, take into account the many interesting kinds of traceability that may be useful to the business. A full and rich motivation model can start where that article leaves off and go much further, allowing the business to describing its motivating factors in more than one manner (regardless of how useful that manner is).
by clausl
3 Jul 2009 at 2:37pm
We have now released training material for designing reports in NAV 2009.
This training will teach the learners about the concepts of Report Design in NAV 2009 using VS Report Designer along with the limitations and workarounds in Report Design. It covers the new options with practical examples on creating reports in report design, creating and defining data set within NAV 2009 to be used in Visual Studio. In addition, it covers how to implement dynamics features like interactive sorting, conditional formatting, visualizing data using graphs, document maps, creating expressions. Furthermore the training contains information on best practices and recommendations for creating interactive dashboard reports containing KPI?s.
At Training Material Completion
After reviewing this training, individuals will be able to:
Understand the new architecture and reporting features in Microsoft Dynamics NAV 2009. Create table and matrix reports for the Microsoft Dynamics NAV RoleTailored client in Microsoft Visual Studio. Add interactive features, such as Visibility Options, Interactive Sort, Document Maps, and Pictures to the report. Use expressions and custom code in RoleTailored client reports. Integrate reports in the RoleTailored client user experience. Run RoleTailored client reports in various ways.
You will find the training material at CustomerSource here:
https://mbs.microsoft.com/customersource/training/trainingmaterials/student/course80146.htm
Thanks,
Claus Lundstrřm, Program Manager, Microsoft Dynamics NAV
by jaimer
3 Jul 2009 at 2:33pm
Quite often, I run into the ?RenderTargeBitmap gave me an empty image? or ?RenderTargetBitmap did not render my visual?..
Hint: this happens a lot to people putting stuff into StackPanels.
The problem is that renderTargetBitmap is working at the Visual layer to render the visual and to do the rendering, it looks at the local properties of the visual (as expected).
Layout happens at a different (higher) layer in the platform but often ?parents? to your visual will apply offsets or transforms to your visual to position it, since the parent is setting these properties on your actual visual, these properties will be picked up by RenderTargetBitmap logic.
The best (and simplest) workaround I have seen came from Adam Smith ( WPF team lead and reliable WPF know it all). It simply wraps the Visual into a VisualBrush that it then draws into a DrawingContext.
private static BitmapSource CaptureScreen(
Visual target,
double dpiX,
double dpiY)
{
if (target ==
null)
{
return null;
}
Rect bounds =
VisualTreeHelper.GetDescendantBounds(target);
RenderTargetBitmap rtb =
new RenderTargetBitmap((
int)(bounds.Width * dpiX / 96.0),
(
int)(bounds.Height * dpiY / 96.0),
dpiX,
dpiY,
PixelFormats.Pbgra32);
DrawingVisual dv =
new DrawingVisual();
using (
DrawingContext ctx = dv.RenderOpen())
{
VisualBrush vb =
new VisualBrush(target);
ctx.DrawRectangle(vb,
null,
new Rect(
new Point(), bounds.Size));
}
rtb.Render(dv);
return rtb;
}
I like that workaround the best, and that is the one I use most of the time.
I know other people who workaround this same issue by wrapping the visual they are going to RTB in a Border. This abstracts any transforms that were being applied by the original parent, and now RTB works well. I obviously don?t like this one as much since it ?imposes? on my Visual Trees. Still, it works, so it is a choice.
Here is a screenshot of a sample demonstrating the issue and the solutions:
The first column is the original images and buttons. They are all in a StackPanel. The top 3 items in this panels are not wrapped inside a border, the latter 3 are wrapped in a border.
The second column, shows what you would get if you just use RenderTargetBitmap. Notice that the button and second image are missing; the reason is cause the StackPanel is offsetting them and RTB is picking that up.
Do notice that even with no special workaround, the ones wrapped in the border worked OK.
The third column shows all the items rendered with the workaround above. Note that it works for all items, including the ones that had border.
The source code for this small sample (including the workaround) is here.
While I am into RenderTargetBitmap, a reminder to look at this KB article (and or QFE).
In 3.5 SP1, we fixed a few leaks for RenderTargetBitmap, but there is still one open; it has to do with doing RenderTargetBitmap of a 3D scene that has VisualBrushes inside the scene.
by stevecla01
3 Jul 2009 at 1:43pm
Sadly for my employer it?s stuff like Feedly that will keep Firefox installed on my machine (albeit IE8 remains my default).
My pal Jas pointed me to Feely today and I thought I?d seen it before but I hadn?t?it just has one of those familiar Web 2.0 style names. Whatever, it?s a super cool add-on for Firefox that I was so interested in that I just spent 30 minutes reorganising, culling and categorizing my Google Reader feeds. Now when I load up Feely I get newspaper style interface with my favourite stuff at the top?different to the river of news I?ve become used to with Reader so I?m going to try it for a few days and see how I fare.
tweetmeme_url = 'http://blogs.msdn.com/stevecla01/archive/2009/07/03/feedly-to-replace-my-google-reader.aspx';
by William Oellermann
3 Jul 2009 at 1:25pm
As a US holiday, today has long been designated as "clean my office" day. Since I am often on the road, my office is my home study and over time, a number of papers, notes, mail, and computer parts seems to somehow accumulate (I swear sometimes these things must be breeding) to the point that I am left with nothing more than a patch of surface area on my desk to work with. I probably have disposaphobia because I carefully scrutinize every scrap of paper or item before throwing it away - and of course when in doubt it stays clear of the trash bag. Inevitably, I will find some long lost note or article I was looking for weeks prior.
One of the things I came across this time is quite pertinent - thoughts on how to define SLE's and SLA's in the MSE to accommodate business capabilities and processes. Between vacation and year end activities over the last several weeks, I have been working out just how to represent capabilities in our service model. In this context, capabilities can be thought of as business-level services that could be standalone or steps of a process. Of course a process itself could be represented as a capability, which starts to demonstrate some of the complexity that needs to be represented by the service model. Examples of capabilities would be "Get Customer" or "Process Order". I'm currently viewing these as logical representations of one or more operations in the MSE. The "or more" perspective comes from seeing that you could have multiple interfaces that represent functions that are very similar. For example, you could get a customer by name or by an account number. The response could also vary from simply a name to a complete set of addresses and order history. These would be different operations and yet the same capability from the perspective of a business owner.
There is much that has to be learned about how this is best modeled and surfaced to users via the UI. For now, we are going to extend the MSE UI to this "3rd layer" of the model to allow business analysts to define capabilities that an architect would then map to the operation items. That will at least give us a palette with which to play with and learn from. Should be fun! Certainly moreso than cleaning my office, which I should now get back to.
by nadyne
3 Jul 2009 at 1:04pm
I'm an Inbox Zero kind of girl. Inbox Zero doesn't hold up when you go on vacation. I just got back from Kaua'i [1]. I didn't check my email or do anything at all work-related while I was gone, which is quite impressive for me. (The posts that came up here were written and queued up before I left.)
I use rules extensively to manage my mail. My goal is that only items that are directly addressed to me end up in my inbox. When I got back into the office on Wednesday, my inbox had 432 unread items in it. That, of course, wasn't all of the unread email that I had. My total across all of my folders was north of 2200.
I spent Wednesday and Thursday digging out from that email. I'm not done yet, and it'll probably be towards the middle of next week until I get back to Inbox Zero. Right now, my inbox has 37 items in it which need my attention. To get to that point, I used all of my usual tricks for finding my way out from all that email.
[1] If you're interested, I posted a bunch of pictures to my Twitter feed. This picture is the first one I took in Kaua'i, and that links you to the other ones that I posted too.
by RobCamer
3 Jul 2009 at 1:03pm
This article has more details but here is a quick summary:
Kodu Game Lab, a visual programming tool that allows just about anybody with an imagination and a spare $5 to make their own games, has released on the XNA Community Games channel on the Xbox Live dashboard. The entire tool was built using XNA Games Studio, the same development platform made publicly available to anybody interested in making their own XNA games.
I will have to check it out this weekend. My daughters love in game level editors. I think they will love this.
Newsfeed display by CaRP