Posts Tagged ‘lecture’
Norm Judah, CTO Microsoft Worldwide Services & IT, lecture in Bulgaria
I have attended a lecture of Norm Judah, CTO Microsoft Worldwide Services & IT, in University of Sofia (SU), Bulgaria organized by Microsoft Bulgaria and IT Academy to Faculty of Mathematics and Informatics SU.
All of these are my views according to the notes I have take.
The lecture was titled ‘Computing and Colaboration’ with sub-title ‘The Next Wave’ and was about what we do to plan future products.
Norm have presented the understanding of MS about the 3 SCREENS- TV, mobile phone, PC- and how the users want to do one and the same things on all these screens. 3 Screens and the Cloud slide lists the MS services WindowsLive, XBOXLive, and Zune and explains how content must look the same way on all these screens.
N. Judah have explained to us how avatars in XBOX came as an idea. And have concluded that taking things from how people interact in business and placing them in gaming might be successful.
Therefore, Norm concluded, knowing the intent and personality gives how the user behaves with the system.
We have seen the understanding of MS about extending into the Cloud. A diagram from traditional datacenter, to virtual datacenter, to private cloud, up to public cloud of capacity on demand and global research illustrates this. It challenges Software + Services architecture.
We have watched a movie about MS and Ford product of voice controlled car assistant that can tell you, the driver, where is the nearest coffee bar and how to reach it or which road to take to avoid traffic jams, or to choose music in accordance to the your criteria and so on.
We have got a historical review of the last 20 years. Bill Gates have wrote papers before two decades predicting that we will have information on our fingertips within next decades.
The presentation concluded on the behalf of the video that there are different things to do with the Cloud:
- Move to the Cloud (BPOS, CMS, Live meeting)
- Use the Cloud (Windows Azure, .NET Services, SQL Azure)
- Be the Cloud (SaaS Provider, SOA, ESB)
Microsoft Azure platform contains: Windows Azure, .NET Services, and SQL Azure.
Later we have watched another interesting video ‘A glimpse ahead’ and N. Judah pointed www.officelabs.com address from where we can find other such videos. I have got excited about the timeline of communication taken from the Cloud in the video.
At the end of the presentation we have a few minutes to ask questions. I was not able to ask my questions, but have succeeded to ask a guy from the staff of Judah what I was interested and this is what I receive as an answers.
- About Semantic Web in the Cloud? Tim Berners-Lee have initiated lobbying usage of machine understandable content and services (See Resource Description Framework) back in 2001. MS Research has no video in relation with the letter in Channel 9 MSDN. Term-based and HTML links, and tag-based (wisdom of the crowd) powered search technologies are not context oriented as Semantic web technologies. Do you apply A.I. technologies over semantic web?
- Social networking as a Cloud computing way to coordinate people who are with shared goals? MyBO (my.barackobama.com) have got over a million registered users which with clever coordination practices through the system have helped a lot in making Barack Obama the present President of U.S. In Bulgaria using Facebook technologies of Events and Groups have been organized protests in front of the National Assembly.
1) Microsoft uses the technology of Semantic web but does not share/ publish a lot of schemas. The video that you have watched about MS and Ford car assistant makes many and complex semantic web requests to Bing in order to tell the driver which road to take. We do not do AI, we do voice recognition which I will not call AI. Microsoft does not see semantic web as the next web.
2) Microsoft has a big vision about social networking in the next 10 years. MS have created the advertising system of Facebook. We scan the database of Twitter to see if users have some new features in Bing which is in Beta version for now.
It was an excellent opportunity to see how Microsoft thinks.
Lecture on Design Patterns, Refactoring, Sane Principles to make you a better developer by Dino Esposito
Dino Esposito in May 14, 2009 have presented a lecture on Design Patterns, Refactoring and Sane Principles in Days of Microsoft’2009 in Faculty of Mathematics and Informatics, University of Sofia, Bulgaria, which I have attended.
These are my notes from the lecture:
Bad software design… deterioration in design. Bad software is hard to maintain and evolve. Complete redesign may not be an option. STOP at the first sign of deterioration.
Foundation of Software Design- Structured design (high cohesion; low coupling); and Separation of Concerns (modularity; information hiding). ClassA and ClassB are cohesive when changes to A have no repercussion on B. The problem is in the hidden dependencies, not in the public explicit (cohesion) dependencies.
Single Responsibility Principle (SRP)- give each class just one reason to change; and “Reason to change” == “responsibility”. In example: Invoice class does not have a responsibility to print itself.
Coupling: Level of dependency between 2 modules. ModuleA and ModuleB are coupled when changes to A force you to make changes on B.
Achieve stable constructed interfaces. ModuleA does not need to know internals of B.
Separation of Concerns (since 1974). Concern == feature of system. Taking care of each of the concerns: for each one concern, other concerns are irrelevant. Hiding implementation of behavior.
Object Oriented Design: 1st principle- Find pertinent object; 2nd principle- Program to an interface.
OOD is one paradigm. Nouns in requirements document are best candidates for classes, verbs- for functions (methods in classes).
Difference between inheritance and composition: inheritance enables polymorphism in parralel to composition, in general.
Advanced principles: 1) Open/Close; 2) Substitution; 3) Dependency Inversion. Open/Close- open for extension, close for modification; Substitution- subclasses should be substitutable for their base classes; Dependency Inversion- Low-level modules injected into the high-level module (not invoked by). Thus inverting the control of flow. Various patterns: dependency injection; service locator.
Dino Esposito (http://weblogs.asp.net/despos/) is Microsoft Most Valuable Professional and is one of the world’s authorities on Web technology and software architecture. He writes articles covering topics such as AJAX, Silveright, software design and patterns. The event was sponsored by Kulov.net, Musala Soft, Microsoft and Faculty of Mathematics and Inforamtics, University of Sofia, Bulgaria. The lecture was Chapter 3 of his book Microsoft® .NET: Architecting Applications for the Enterprise (PRO-Developer).