IgorShare Thoughts and Ideas

Consulting and Training

Archive for July, 2012

ASPConf 2012: Content for my presentations

Posted by Igor Moochnick on 07/20/2012

Building complex Single Page Application should be as enjoyable as visit to a SPA

You can watch the full Video on Channel9 and get the Source on the GitHub.

Check out the video

Video


Tips for Building Responsive Cloud Applications

You can watch the full Video on Channel9 and get the Source on the GitHub.

Video

Video


Posted in Azure, Cloud, Javascript, Presentations, Web | Leave a Comment »

ASPConf: Generating dynamic views, but Google Chrome was too smart for me

Posted by Igor Moochnick on 07/20/2012

I had a blast presenting for ASPConf 2012. I want to thank all the organizers, presenters and attendees. Without you it wouldn’t have been possible.

One of the questions from one of the attendees during my “Building complex Single Page Application should be as enjoyable as visit to a SPA” talk was:

Q: Is it possible to bring on-demand portions of the application that will be emitted by the Asp.Net MVC Views (aka: dynamic views generation)

A: Sure (see Picture #3).

But when, in fact, I’ve tried to demonstrate it right away – I hit a snag.

What happened is: my implementation was correct but Google Chrome was too smart for me to handle it and wrapped the partial HTML with the full “HEAD” and “BODY” tags [See Picture #1].

I’ve assumed that my server was returning more than the generated by the Raw view content itself. If I would’ve checked a network stream [See Picture #2] (or Fiddler) I would’ve seen another result – the correct one.

Picture #1

image

Picture #2

image

So, this is a simple example how you can import a dynamically generated content from an Asp.Net Mvc view into a SPA application:

1. Create a view

<div id="home" style="border: 2px; background: #FF0097;">
<h2>Welcome to "Honey-do-list"<br/>from a "@Model.Id"</h2>
</div>
view raw gistfile1.html hosted with ❤ by GitHub

2. Create a Controller entry (when you’ll navigate to this view you should see a result on Picture #2)

//
// GET: /Home/Hello
public ActionResult Hello()
{
var serverInfo = new ServerInfo {Id = "Smart Server "};
return View(serverInfo);
}
view raw gistfile1.cs hosted with ❤ by GitHub

3. Change a dependency path in your SPA view to point to the new content (and the final result should look like Picture #3)

define(["text!/../home/hello"], function (template) {
// ... Here is your code ...
});
view raw gistfile1.js hosted with ❤ by GitHub

Picture #3

image

Posted in ASP.NET, Javascript, Presentations, Web | Leave a Comment »

Just got one of my patents approved!

Posted by Igor Moochnick on 07/15/2012

One of the patents, filed during my tenure in Symantec, was just recently approved.

I had a blast working on this product and the team was amazing. We’ve learned so much about building highly scalable systems and NoSql storage from scratch. And we’ve been running a REAL Agile team.

US 8,214,490 B1

COMPACT INPUT COMPENSATING REPUTATION DATA TRACKING MECHANISM

A computer implemented method for determining whether to block incoming electronic content based on running rates of content origination from sources, the method comprising the steps of:

receiving, by a destination computer, information concerning origination of incoming electronic content received from at least one external source over time;

aggregating, by the destination computer, the received information concerning origination of electronic content from the at least one source, wherein the received information comprises notifications from multiple sources;

calculating, by the destination computer, at least one running rate of content origination from the at least one source, based on aggregated information concerning origination of electronic content from the at least one source, wherein the running rate is indicative of a reputation of the at least one source, and wherein the running rate comprises a single number updated using at least an amount of time since the last update to control an influence of new information on the running rate;

receiving, by the destination computer, incoming electronic content from a specific source; and

determining, by the destination computer, whether to block the incoming electronic content from the specific source responsive to at least one running rate of content origination from the specific source.

Read more …

Posted in Thoughts | Leave a Comment »