Garo Garabedyan- a private blog

Everything here is written and belongs to me except otherwise noted.

Archive for October 2009

Citations in Web context now can be machine-readable

without comments

Creating a common language for describing in machine-readable form citations in web is the goal of the Protocol for Web Description Resources (POWDER), released by World Wide Web Consortium. By using Powder’s specifications, a Web site can make claims about where information came from and how it can be used. [http://www.technologyreview.com/web/23355/page2/]

Similar approach can be implemented in Content management systems (CMS) and document revision (sub-)systems.

Written by garabedyan

October 20, 2009 at 20:48

Posted in Uncategorized

Tagged with ,

DevReach 2009, Bulgaria

without comments

I have attended DevReach’2009: Microsoft technologies at your reach (12-13 October).

Modeling: Here and Now by Chris Sells, Connecting to the Clouds: The Azure Services Platform by Luka Debeljak, From One Web Server to Two: Making the Leap by Richard Campbell, Being Productive with ASP.NET MVC by Hadi Hariri, SQL Server Intelligence by Remi Caron, Fun with Garbage Collection by Ed Musters at the first day of sessions of the conference. And the next day I have attended Practical Parallel Programming with Visual Studio 2010 by Tiberiu Covaci, SOLID Design Principles by Hadi Hariri, Building Data Visualization Applications with WPF by Tim Huckaby, Will It Blend? Building Websites with All Flavors of ASP.NET by Todd Anglin, SharePoint Web Part Development (Deep Dive) by Ed Musters, and The Daily Scrum by Stephen Forte & Remi Caron.

These are my notes listed by sessions:

Modeling: Here and Now There exist types of data models, 3 in count: graph (generally used for programming- behaviour), tree (generally used for transmission- interop), relational (generally used for storage- permanence). Re-factoring DB in VS is a very powerful feauture which requires only the schemas of the DB.

Connecting to the Clouds: The Azure Services Platform The vision of Microsoft was Software + Service which is applied in the Azure Services Platform. The Cloud is an additional platform, a hosted software platform, a shared infrastructure, it is virtualized and dynamic, and you pay as you use it. The Cloud is close to an infinite amount of computer power and is flexible. The Azure Platform consists of blobs, tables, and queus. Blobs is a file system with meta about the files where Web Apps are placed as executables. Tables are DB tables. Queus are tunels for application communication- Service Bus is suppposed to take place here. Nice whitepapers about Azure can be found at davidchappell.com.

From One Web Server to Two: Making the Leap The reason for adding web server is actually reliability. Configurations between web servers must be identical. Single affinity in network configuration refers to sending requests from on visitor IP always to one and the same server in the farm. The letter is important for web sessions saving. Single affinity increases the network traffic by 10%. Google says over 3 sec. for page loading makes you lose visitors.

Being Productive with ASP.NET MVC MVC is about Convention over Configuration assuming certain things. M (the model) is missing in APS.NET MVC, it is replaced by ViewModel and normally 1:1 ViewModel and View relation. One way to implement aspect-oriented programming is by action filters. For complex views (like homepage) the main view calls Controllers to render by pointing where to render their views in the first.

SOLID Design PrinciplesSingle Responsibility Principle: the more we touch, the more bugs can born; A class should have only one reason to change. – Open Closed Principle: A class should be open for extension but closed for change; This is solved by polymorphism, and avoiding switch statements in general. – Liskov Substitution Principle: if S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program. – Interface Segregation Principle: the interface is a contract and if you do not implement a function from an interface you are breaking the contract; Clients are supposed to depend on methods that they do not use. – Dependency Inversion Principle: Program to an Interface, not a Class; Use IoC containers. At objectmentor.com are many more principles.

The Daily Scrum In Harvard Business Review before 20 years the idea is first explained that people lose ‘relay race’ if work in issolation. Scrum is an agile process that focuses on communication. Expose problems fundamental to your organization and enable you to fix them earlier. Make small 2 week sprints ending with presenting everything to the client. This way making the client an active member of the team. Separate the basic job types in small things and work on small parts from all types in order to have a solution ready for presentation at the client.

I was able to have talks with a few speakers and present to them my visions which can be found in this blog, too. I have made few friendships with attendees, too. One of the greatest benefits was to meet live with attendees and presenters at the coffee breaks.

Written by garabedyan

October 16, 2009 at 19:55

Context-powered (social wisdom of the crowd) tagging

without comments

When a registered user decides to tag something with some terms, the systems asks to compare shared tags between the new source and recently added such by the same user or by his friends. By friendship the system understand users with similar tagging of one material or friends through social networking service like Facebook, or both.

Tags are not simply statements like “This ‘url’ material is ‘tag-term1′, ‘tag-term1′ and ‘tag-term3′”, but are used as “This ‘url’ material is ‘tag-term’ more than ‘url-already-tagged1′, ‘url-alreday-tagged2′ and few than ‘url-already-tagged3′, ‘url-already-tagged4′”. Every tagging term can be used as a comparison between materials.

Presenting users with social encouraging analyzes of common understandings on topics and what their friends have tagged enables a unique way to make new friendships and understand more about your friends.

This way tags can become context-oriented and gain meaning with more of their usage like Semantic web RDF terms which are pre-defined by definition.

Browsing tagged content can give the system more about the characteristics of the user in relation with the registered users tagged the content and the friends of the letter. This gives an ultimate way to determine which ad to present.

I have red a paper on Foundations and Technologies of The Semantic Web in 5th National Student Scientific-Technical Conference in city of Sozopol (Bulgaria, Europe), 27-30 September, 2009. On the letter I have presented a comparison between semantic web and the so-called wisdom of the crowd stuff.

This was inspired by the answers I have received to my questions in this event.

Norm Judah, CTO Microsoft Worldwide Services & IT, lecture in Bulgaria

with one comment

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:

  1. Move to the Cloud (BPOS, CMS, Live meeting)
  2. Use the Cloud (Windows Azure, .NET Services, SQL Azure)
  3. 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.

  1. 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?
  2. 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.

Written by garabedyan

October 8, 2009 at 08:23