Wow!
Finally... I've returned from the dark side... and although I am wiser I have yet to fully recover from my battle with the demon of the deep. (Just like Gandalf in Lord of the Rings). As a ninja programmer I now wear a white belt rather than a black one with 3 red stripes. I have transcended and finally walked through the gates, although these were a different set of gates. Gates that were erected in my mind during my adolescence phase as a programmer. I now understand what I need to know, and how to progress further with my learning. I now am excited with the latest technology developments in the Microsoft space.
Ok, enough of the Zen speak. Here are the pet projects that I have on the go:
1. I am building a 3-tier WPF application that implements CRUD against the Northwind database. The middle tier include the WCF layer and the business layer and will leverage the Entity Framework to expose IQueryable objects in the presentation layer.
2. I am building a shopping cart website that will sell T-shirts. It will use the ASP.NET MVC framework, and will be based on Rob Connery's MVC Storefront.
3. I am currently working on a BPM Framework of my own. I have called it the Shrike Framework. It will leverage WCF MSMQ extensively accross system boundaries, and within system boundaries WCF Name-pipes will be used. Correlation and logging will also leverage the BUILT IN WCF tracing and correllation functionality. Too often has I seen correlation/transaction/tracing functionality unecessarily customized, when the framework provides it out of the box.
4. I will be building a claims-based security service that you can plug into your application in .net 4.0.
5. I will be writing a skeleton functional specification that describes the UI which will manage the claims based security model. Past experience has given me much insight into how a specification should look, before it get's handed to the programmer. This is (unfortunately) one of the spheres where I shine, but I hate writing specifications! ;-)
6. Also, last but not least... I would like to take the WCF MCP exam (70-503), so you can be expecting numerous posts on this topic. A goal of mine here will be to document all the learning material that I have downloaded, and pet learning projects of my own.
Power commands for VS2008
Useful commands for the VS2008 IDE.
Ghost Doc
Useful for auto documenting your code.
TestDriven.net 2
[Not really necessary if you have the VS2008 Test Suite]
Subsonic 3 : ORM
A good ORM to get a project up and running quickly.
XML Liquid
A useful tool for displaying Schemas graphically.
Balsamic mocks
A brilliant tool for generating screen mockups in a very short time.
VLC Media Player
Very cool media player that plays most types of media without complaining about codecs etc.
CD Burner XP
A free and simple to use CD burner utility.
Terminator Salvation (Alpha Version)
- a Story by Jean Hibbert.
Some of the ideas have been stolen from the movie, and most of the scenes in the movie can be re-used on my take of Terminator Salvation. The reason I have re-written the story is because I feel that the story did not live up to my expectations. Yes, and an egotistical way I feel that I could have done a lot better. Despite Sam Worthington's appearance as different breed of terminator(i.e. a robot with a human brain & heart) I didn't feel that the main twist had been properly capitalized on and that there were no real surprises or open ended questions left by the time the movie came to an end.
Issues I have with the movie:
1) There were not enough battle field scenes. Especially ones where the humans get their asses handed to them which is what should have been happening. I mean this is the beginning. A movie like this one should have a dark ending. Us the humans should be in a position where they feel there is no hope, and the only person keeping human kinds hope alive should be John Connor.
2) Too many loose ends were tied up by the end of the movie. This was an obvious attempt at lining up a sequel series, with John Connor being the primary leader of the resistance. Way too predictable in my opinion.
The War:
The human race is withstanding the continues waves of machines that attack them. Although they are heavily outnumbered their experience with fighting the machines and the machine's predictability have given the humans a distinct advantage in the war. Traps are laid and the machines are willing victims. Suddenly though, things change.
Movement of the Tide "Something has changed":
The first evidence of change in the machines behavior is with a trap laid to test the new "Sonic Wave weapon" on a heavier vehicle. In this case a Hunter Killer. John Connor and company notice that only a T-600 arrives at the blast are which was set off as a trap by the resistance. The resistance destroy the T-600, but are then set upon by a wave of HK's and the first of the T-800's. This is the first sign to John Connor that "Things have changed". The machines have for the first time set a counter trap for the humans. They have somehow learnt to appreciate the importance if sacrifice in war.
This T-800 had a flesh exoskeleton and came in the form of Sam Worthington. Initially they thought the T-800 was a member of the resistance an advantage the T-800 used to devastating effect. John Connor is the sole survivor of this battle and bareley escapes the battle gaining the scar on his face he
is so well known for.
John Connor is barely alive after two weeks of travelling through the wasteland with limited rations. During this trek he comes across the dead pilot hanging in the electricity lines. He is unable to make head or tail of where this pilot came from and suspects that the pilot was from a resistance movement that he has not yet made contact with, since none of the resistance movements have aircraft to his knowledge. This gives him hope. He also manages to salvage a map to a deserted Cyberdine Systems base from the dead pilot. The location of the skynet headquarters remains a mystery. He then comes across a renegade settlement who help him recover. They also give him the details of where this other resistence movement exists. John realised that he must contact them. John also gains new valueble allies during this brief period. Then suddenly the settlement is set upon by the massive machine which grabs some of the settlers through the roof as in the movie. John and a few of the allies manage to destroy the massive robot. [This part needs work...]
Discoveries:
John realises that this enemy base may hold the key to allow the resistance to understand their enemy better, gain new technology and allow them to build their own Terminators.
The final battle scene before John Connor and his men make the final discovery:
The final scene will be where John and some of his resistance members will be crossing the bridge. On the other side of this bridge is the lost Cyberdine base. They are intercepted by the HK but they destroy it with thier new Sonic wave weapon.
The final discovery "This is not the future my mother warned me about."::
The humans discover a new breed of terminator that they have never seen before. This terminator looks like Sam Worthington, but they are unable to program it due to its highly advanced computer system. They wake the terminator and strangely enough they realize the new terminators think they are human. The terminator they have found was unfinished and thus not plugged into Skynet. This terminator could help them understand Skynet and the new Terminator technology. It could help them in their battle against Skynet.
This is where John Connor realizes that he is now in chartered territory. He can no longer rely on the tapes left by his mother for guidance. The movie ends where John Connor - goes onto the global radio discovered at the lost Cyberdine Base and sends out the final message to any other humans on the planet that are still alive.
John also discovers information int he lost base that a certain area in South America had been left untouched by the nuclear holocaust unleashed by Skynet. John then also realises that the dead pilot he discovered in the power lines had a Brazilian flag on his jacket.
Why has this area not been touched by the Machines? Why were the machines trying so hard to mimic humans? Were they trying to be human? Did they see themselves as a form of life and thus wanted to be human?
THE END OF PART 1
I was recently asked to write a class which dynamically loaded assemblies, and perform reflection on them, without permanently loading the files into the application domain and without locking the files. Unfortunately, and surprisingly the Assembly.ReflectionOnlyLoadFrom(string filename) method also locks files, which in my opinion defeats the purpose. So I had to fall back on the strategy of loading the assembly into a temporary application domain, reflect on the assembly and unload the application domain thus unlocking the file and unloading it from memory.
By using the LoadTypes method in the TypeFinder class you can query an assembly for a particular attribute.
internal class TypeFinder
{
private
class AssemblyReflector
: MarshalByRefObject
{
private
IEnumerable<string>
EnumerateTypes(string assemblyFilename)
{
Assembly
asm = Assembly.LoadFile(assemblyFilename);
if
(asm == null) throw
new Exception("Assembly not found");
foreach
(Type t in
asm.GetTypes())
{
if
(t.GetCustomAttributes(typeof(SomeAttribute), true).FirstOrDefault() != null)
{
yield return
t.AssemblyQualifiedName;
}
}
}
public
string[] LoadTypes(string
assemblyFilename)
{
return
EnumerateTypes(assemblyFilename).ToArray();
}
}
public string[] LoadTypes(string
assemblyFilename)
{
AppDomain
appDomain = AppDomain.CreateDomain("TypeFinder");
try
{
AssemblyReflector
ar = (AssemblyReflector)appDomain.CreateInstanceAndUnwrap(typeof(AssemblyReflector).Assembly.FullName,
typeof(AssemblyReflector).FullName);
return
ar.LoadTypes(assemblyFilename);
}
finally
{
AppDomain.Unload(appDomain);
}
}
}
"I think therefore I am". Or am I? Does the fact that I am concious and have some kind of "experience" of what is around me, mean that I actually exist?
A robot can have an "experience", but at what point would you say the robot is actually concious?
Facets of what I would call "intelligence":
1) Memory
2) Creativity
3) Logic
4) Intuition
5) (I can't believe I almost forgot the most important facet....) Common Sense
In the trailer to the up and coming terminator film it seems like the directors are exploring this very question. If a robot has the same level of "awareness" as a human being, is that robot really a living entity?
What I am so excited about is the whole idea of a program (which I believe we will one day have) that will be able to have the above intellectual facets that a human has. One of the biggest hurdles to date in terms of being able to produce such a robot that I would deem as "intelligent" is the ability of the robot's hardware to process data at the same speed as the human brain. Our senses are monitored by the brain and input is processed at such a speed that reacting to this input is almost and sometimes purely instinctual. Instinct could also be viewed as a form of memory.
I believe, should the human race survive it's technological adolescence and overwhelming greed, we could one day develop such an intelligence that will boost our level of technology immensely. Currently AI programs are still unfortunately very primitive only have the ability to perform the absolute basics. While hardware exists that support the Memory and Logic facets, we suffer dearly through the inability to process the massive amounts of input quickly, and create "learning mechanisms".
The final solution to a great AI will have the following 2 attributes (in my opinion!):
1) It will be modelled against the way the human brain currently works.
2) It will be built using a higher level programming language, very likely a language that works on recursion. This could even be likened to some of the functional languages we have today, which just coincidentally lend themselves very well to concurrent behavior! This recursive behavior will allow the program to infinitely recurs through an information tree, altering itself and storing to data from which it will use to base it's decision making off.
Just my 2 cents...
I've been working with Microsoft "Technologies" now for over 10 years, and the idea of moving over to Apple OS / Java has crossed my mind quite a few times. During those times I felt that if I managed to escape the Windows environment the Mac environment would be like breath of fresh air although I can imagine that the Mac OS also has it's fair share of problems.
Have you ever tried to uninstall Internet Explorer?? It's impossible.
This blog post is not about Microsoft's underhand marketing tactics, rather its about a few core concepts or architectural design bugs that are inherent in the Windows Operating System. You see, architecture concerns the initial design decisions you make when building a system, and these are decisions are never easily rectified.
There 3 architectural issues with the Windows Operating System concepts are:
1) The grand central station scenario.
The windows operating system has no control over CPU contention. There is no central process that regulates the CPU (or memory for that matter) as a resource to Windows Services and applications that run in the Windows environment. This results in massive over contention on load and shutdown of the OS causing severe delays. The consumption for memory by certain applications can get out of hand also, and there is nothing to tell the application that it is consuming more than it should be... until the Operating System crashes!!
The Windows Operating system is thus like grand central station. During peak times it's chaos, and there is always a danger that one single person could cause havoc.
2) The chalkboard scenario.
Microsoft created the registry. This would be a central repository for all components and services to "register" themselves on the system, or store general meta data required to personalize an application.
The only problem is most of this data is critical for some core applications to run successfully. Also anybody or any other application can just overwrite another applications registry section. The registry also happens to be a great spot for viruses to store personalized information to assist them to infiltrate your system over and over again.
The registry has become like a chalkboard at school. Everybody tried to write something meaningful on it but it's turned into an indecipherable, useless mess.
3) The hippy scenario.
Security. This has always been one of my favourite topics. Microsoft treats everything you download under your account which is normally has administrator privileges, unless you work at a company with a well controlled and moderated network. This means that whatever you are running under your account can do what it likes with your hard drive data, CPU and Memory.
Windows TRUSTS and treats your downloaded applications like a friend you have just invited to a happy hippy party and everybody is to wasted to give a damn. Happy hippy love just fills the air. Say good bye to your hard drive.
Signing out...
Another long awaited, highly anticipated blog post.
I realised something yesterday evening while I sat on the bicycle machine at gym preparing myself for the mental trauma of forcing myself through an hour and a half of mindless weight pushing ...
I realised that if I wanted to maintain consistency I had to :
1) Relieve myself of the psychological pressure I put myself under when I go to gym.
2) Avoid high expectations in terms of what I'm able to achieve within the hour and a half, from a cardiovascular and streangth perspective.
You see, it's not like I have a whole day to prepare myself for gym. I get home every evening at 20h00 after a long day at work so the REAL challenge is just getting myself into the gym. If I stop enjoying going to gym then my goal of achieving a decent physique is doomed.
Consistency is all about maintaining the right state of mind.
I've recently been toying with the System.Net.Sockets namespace... and this is how easy it is to write your own web server:
using System;
using
System.Collections.Generic;
using
System.Text;
using
System.Net;
using System.IO;
using
System.Net.Sockets;
using
System.Threading;
namespace
MyFirstWebServer
{
class Program
{
static void Main(string[]
args)
{
TcpListener
listener = new TcpListener(IPAddress.Parse("127.0.0.1"),
8010);
listener.Start();
TcpClient
client = listener.AcceptTcpClient();
NetworkStream
networkStream = client.GetStream();
StreamReader
reader = new StreamReader(networkStream);
StreamWriter
writer = new StreamWriter(networkStream);
String
line = reader.ReadLine();
while
(line != null && line.Length > 0)
{
Console.WriteLine(line);
line = reader.ReadLine();
}
writer.WriteLine("<html><head><title>Hello
World!</title></head><body>Hello
World!</body></html>");
writer.Flush();
networkStream.Close();
reader.Close();
writer.Close();
while
(true)
{
Thread.Sleep(1000);
}
}
}
}
The TCPListener accepts a pending connection request, writes out the request header to the console and returns the HTML string containing the "hello world".
The header output from the browser request:

The HTML string sent back to the browser:
Easy peasy lemon squeezy.
1. John De Vos, David Hill & Ajoy Krishnamoorthy - P&P Looking ahead : These guys are the P&P architects and they wanted to know how we felt about the current set of Enterprise Library tools. They also did a bit of horn blowing by providing us with the general usage statistics for the Enterprise Library in the development community.
I made a point of standing up and stressing the importance of having StarterKits for the different Ent Lib tools. I also stressed the importance of the Astoria framework for developers that work on multi-tier applications. :-P They referred me to their "Reference Implementations". (I need to look into this.)
2. Keynote - Scott Guthrie : Scott Guthrie gave some insight into Microsoft's up and coming technologies and mentioned something that had been bothering me since toying with the ASP.NET MVC framework. ASP.NET servercontrols WILL be fully supported in ASP.NET MVC applications in ASP.NET 4.0. He did not specifically mention that "ASP.NET 4.0" but if you read between the lines, ASP.NET 4.0 will be a hybrid of the MVC framework and Webforms technologies. Naaaaiiiicccceeeee. :-)
3. Billy Hollis - Drowning in Complexity : Once again Billy's session rocked the house. He crystalized a lot of my thoughts with regards to the Agile software development methodology. I totally agree, that it's a methodology invented by "Code Addicts", and he also pointed out how we...(us developers) and the general users of Microsoft's technologies are partly to blame for the complexity issues we face today due to our "Feature Hungry Mentality". Apple has managed to avoid this trap by building simple and easy to use devices like the iPhone and iPod. The key to their success lies in their simple and intuitive design.
1. Keynote - David Treadwell: This talk focused on cloud computing and David gave a demonsration of the how a "mesh" application would work.
2. David Hill & Kyle Huntley - Composition and presentation patterns : What a brilliant talk! David and Kyle took us through a WPF/Silverlight applicaton where the only differentiation was the UI skin!!! He showed how by implementing this pattern a WPF application can be easily upgraded to a Silverlight application. The application leveraged the Unity framework.
3. Rocky Lhotka - Porting CSLA to Silverlight: Rocky gave an overview of the CSLA framework. I agree with Rocky's general outlook on software design, but I felt he was very vague on how CSLA can be implemented and used. Personally I think he was trying to avoid making his talk sound like a sales pitch.
4. Drew Miller - Distributed caching : This was a very good talk on Distributed caching in multi-tier and web farm scenarios. It's worth investigating Velocity by Microsoft and MemCache. There are some good webcasts on Velocity that can be found here.
5. Erwin Van Der Valk - Presentation Layer Anti-Patterns: Erwin gave a good talk about the challenges that face UI developers, and and some insight into his experiences during his career.
6. Ward Bell - Lessons in Data Driven Silverlight Applications : Ward demonstrated a Silverlight application that performed the basic CRUD and included security membership features. He also stressed that developing in Silverlight would mean that the developer would have to adopt the "Asynchronous" mindset.
1. Keynote - Pat Helland : Pat gave a brilliant speech on the energy consumption of data centers. He gave us insight into the setup of Microsofts data centers and the strategies Microsoft use to conserve energy and keep costs low. This was an unexpected subject, but Pat is somebody definitely worth keeping an eye on.
2. Data Access - Don Smith : Don gave us a talk and demonstration on the Entity framework. At the end of the session I had a chat with him and asked him what Microsoft is doing to facilitate the integration of the DAL into the middle-tier. He said I should take a look at the REST & ADO.NET Data Services.
3. Evolutionary Design - Jim Newkirk : Jim gave a talk about how to avoid complexity in appications, and the general message was LESS IS MORE a lot of the time when it gets to shipping features. Rather make sure the features you provide work properly than try to ship too many features prematurely.
4. ESB Guidance - Dimitri Ossipov : Dimitri demonstrated the new ESB tools in VS 2010. He created services and their contracts in a designer and built a basic ESB architecture.
5. Architecture, simple or hard - Rocky Lhotka : This is probably my favourite talk so far. Rocky gave a good overview of the complexities that arise in multi-tier architectures, and some of the pitfalls we fall into that cause our applications generate unecessary complexity.
6. Pumping Iron - Dynamic languages in .NET - Harry Pierson : Harry wrote a XML parser in Iron python and gave some insight into the streanghs of this dynamic language. It looks really cool!
7. Dynamic Rules Driven Architecture - Billy Hollis : As always Billy was on top form :-) He showed how by creating rules driven architectures in our applications we can allow the client to extend their systems, as new business requirements materialise. I had a chat with Billy afterwards and got a few good ideas for one of the systems I own. Silverlight is looking like an extremely viable technology nowadays. ;-)
Evening Dinner with the Microsoft Research Team
This was an incredible experience and a real eye opener in terms of how Microsoft judge the success of thier products and some of the new development features on the horizon.
Some of the tools:
PEX : This generates unit test for projects that test every permutation of argument for each method. Bluddy awesome.
CHESS: This is a tool that allows you to catch threading bugs and replay them i.e. replicate them. Also really amazing.
Both of the tools above are available for VS 2008. (Keep an eye on the licensing though)
An architect here at P&P who attended the PDC last week said I should take a look at http://www.microsoftpdc.com/ where are the seminars are available to view.
Enjoy.
1. Keynote - Kent Beck : - This guy is the father of XP programming. The talk he gave was about the philosopy behind problem solving, and a few key techniques we can use to tackle problems.
They were. a) Have the guts to make the LEAP sometimes. b) Somtimes its critical to SIMPLIFY c) Sometimes it's usefull to REWRITE the system in paralell to maintaining the system. d) It's always important to REFACTOR.
2. Architecture without big design - Peter Provost: This was an introduction into Architect Explorer which will be released with VS 2010. Download the VS 2010 CTP while you are at it and give it a whirl.
Also there is a C# application called RAWR for World of warcraft players thats worth investigating. This was the application Peter Provost used in his Architecture Explorer demo. I need to get a copy of World of Warcraft for myself when I return! :)
3. Distributed Agile - Ade Miller : This guy spoke about how the Patterns and Practices team manages distributed team members. The final conclusion is that its very difficult and should be avoided if possible. NOTE: My take on team members bieng allowed to "work from home" should only occur in extreme circumstances.
4. TFS at Microsoft - Stephanie Saad : This woman gave us insight as to how Microsoft uses TFS. It was good to see that Microsoft also go through some of the pain points that we do.
5. Agile Development - Gabe Brown : Two of the Agile evangelists at Micorosft gave insight into strategies which they use to bring out quality software. They ALWAYS keep the Enterprise Library in a shippable state, and force each feature through "Quality Gates". This is a brilliant strategy.
I'll be compiling an email about this strategy to my work colleagues when I get back.
6. Acceptance testing - Grigori Melnik : This was about strategies for testing software in an Agile environment. Powerfull strategies for any Software develoment house.
7. Building Manageable applications - Alex Homer: This is one of my favourite speakers and I stayed late to chat to him personally aftwards.
He spoke about Health Monitoring Instrumentation Strategies, and the tools out there. I managed to extract some usefull ideas here for monitoring service applications. Dependency injection is a key building block here in terms of making your health/performance monitoring functionality extensible.
Cheers for now.
1. Keynot Jeff Teper - This guy did an overview of sharepoint and the future of the product.
2. Functional programming - Erik Meijer : I've been looking forward to this talk for a while. Erik M. is one of the architects that works with Anders H.
Erik gave some brilliant insight into the evolution of programming languages and pointed us to a Language called Haskell which is a pure functional language and would be an ideal introduction into this sphere.
A book we were advised to read : Graham Hutton - Programming in Haskell
3. Application Architecture - JD Meier : This was a chat about the new application architecture book comming out by Microsoft. This book look very relevant to all developers.
http://www.codeplex.com/AppArch
4. Enterprise Library 4.1 - This was a talk on the performance improvements as well as how the Enterprise library has been made more extensible.
5. MVC & Dynamic Data : A chat and demo of the ASP.NET MVC framework and HTML Helpers.There seems to be a new way of depicting custom controls in ASP.NET.
6. MEF Framework - Glen Block: This is an extensibility framework which is extremely simple to implement using attributes. Applications can be extended at runtime just by dropping an extension library into a defined folder.
7. Agile Security - Bryan Sullivan: A view on how to ensure your applications are secure and the tools which Microsoft use to verify thier applications are secure.
The jet lag was pretty rough.... I still find myself waking up at wierd hours of the night and checking the time. I also have a lot on my mind at the moment, and am looking forward to the conference which kicks off in 1 hour.
This blog post is about yesterday though. I managed to watch the Seattle Seahawks play the Philidelphia Eagles, ... the "Battle of the Birds". American football has always made more sense than rugby to me.You can tackle whoever the hell you please and you can throw the ball in any direction.... although I feel the game doesn't flow as well as rugby.
Strange and way out experiences so far include:
- The guy next to me at the football game getting chucked out of the stadium for gyrating his hips at the local supporters and pissing off the woman behind him. The "sprinkler routine" he performed every time the eagles scored was classic.
- The guys I met yesterday were cool. I got to chat with them and taste some of the local beverages.
I will be attending the Patterns and Practices summit 2008, which starts next week.
A list of speakers
http://www.pnpsummit.com/west2008/west2008.aspx
General topics
http://www.pnpsummit.com/West2008/west2008sessions.aspx
I attended the 2005 patterns and practices summit(the year before I joined m35) and found this conference extremely informative with regards to:
1) Gaining insight into the .Net Framework, and design patterns.
2) Learning about the Enterprise Library.
3) Learning about the new Infragistics controls. (Infragistics do talks on their .Net framework controls because they are one of the sponsors).
4) Gain a stronger understanding of Design Architecture which is an art that is always evolving.
The talks I am looking forward to are:
Drowning in Complexity: What You Can Do About It - Billy HollisWhat's the biggest problem facing architects and developers today. Billy Hollis believes that it's the extreme and ever-increasing complexity of the technologies we use as platforms. In this session, Billy will look at the signs that complexity in software development is getting out of hand, and how existing practices are not up to the task of dealing with that challenge. He doesn't pull punches; some sacred cows come in for rather severe criticism. Then he'll venture some ideas on dealing with complexity today and what changes in the industry are needed long term to counter the problem.
Fundamentalist Functional Programming - Erik MeijerIn 1984, John Hughes wrote a seminal paper "Why Functional Programming Matters" in which he eloquently explained the value of pure and lazy functional programming. Due the increasing importance of the Web and the introduction of many-core machines, in the quarter century since the appearance of the paper the problems associated with effectful imperative languages have reached a point where we hit a brick wall. We argue that fundamentalist functional programming, that is radically eliminating all side-effects from our programming languages, including strict evaluation, is what it takes to conquer the concurrency and parallelism dragon. We must embrace pure lazy functional programming "all the way," with all effects apparent in the type system of the host language using monads. Only a radical paradigm shift can save us, but does that mean that we will lose all current programmers along the way? Fortunately not! By design, LINQ is based on monadic principles. The success of LINQ proves that the world does not fear the monads.
MVC & Dynamic Data - Brad WilsonThe ASP.NET MVC framework is an exciting alternative to ASP.NET WebForms. The strength of MVC is that it gives you a clear separation of concerns, with fine-grained control over the HTML and Javascript that makes writing Web 2.0 applications much more streamlined. The ASP.NET Dynamic Data framework enables you to quickly build applications that are driven by data and business logic. In this session, Brad will preview both the ASP.NET MVC framework and the Dynamic Data implementation that's currently being developed especially to run on top of ASP.NET MVC.
I will keep a daily blog detailing my experiences at the summit.
Jean
More Posts
Next page »