OdeToCode is Scott Allen's blog on C#, .NET, and JavaScript, with posts on language features and programming practice.
HN links it for explanations of C# and ES6 features, a 2004 post on blackouts and race conditions, and an old HP printer PJL article.
> The 2003 Northeast US/Canada blackout was caused by a race condition: https://odetocode.com/blogs/scott/archive/2004/04/11/blackou...
No, it wasn't. The race condition caused First Energy to not notice that their energy grid was one more line trip away from catastrophic failure. But there were four line trips that day caused by power lines hitting trees and shorting, the last of which triggered the dynamic instability that caused the blackout. First Energy had a whole host of issues that together caused the blackout, and the race condition in the alarm monitoring system was but one of them.
The full report is actually an interesting read. Essentially, the key problem that caused the massive cascade was that the line trips meant that large loads of power had to reroute long distances to get to the Cleveland demand area, and the non-infinitesimal amount of time it takes for the power to establish that route caused several lines to trip, to the point that the demand was cut off from the network before the supply surge reached it.
Binding between a request and a controller method is entirely customisable. The framework uses a completely customisable number of parameter sources (query string parameters, POST parameters, session variables, you can customise this to e.g. query LDAP if you want) and binds those to the parameters of your method in a completely customisable way. See, for example http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx .
That being said there is definitely a deficiency in strong typing in ASP.NET MVC as-is. That's why I use T4MVC (http://mvccontrib.codeplex.com/wikipage?title=T4MVC_doc&referringTitle=T4MVC). I'm not too sure how the MVC team have done things much differently, though, without overcomplicating the framework... you'll note the T4MVC approach is based on code generation that inspects your source tree.
1. <p if="condition">Foo</p>
2. HTML encoded by default
3. <li each="var foo in bar">${foo.Name}</li>
4. Client-side rendering: http://odetocode.com/blogs/scott/archive/2009/03/12/client-rendering-views-with-spark-and-asp-net-mvc.aspx
5. conditional attributes (kludgy syntax, but better than Webforms VE)
6. Content "spooling". You can create a partial that registers a script tag/script specific to the partial, but only if it hasn't been registered already. Partials can also spool content to any other content area.
6a. <script once="jquery" src="...">
The video quality of this is a little rough, but here's a good overview by the guy that started Spark, Louis Dejardin: http://whereslou.com/2009/06/24/spark-releas-and-presentation-for-mpls-altnet
Only implicitly: no threading model is documented in the ECMAScript Language Specification [1], and no widely-used interpreter implements threading. The new Web Workers specification adds something like threading to JavaScript in the context of the browser [2], and Node intends to add support for this on the server as well [3]. Have a look at [4] for a nice article on threading in JavaScript.
[1] http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
[2] http://www.whatwg.org/specs/web-workers/current-work/
[3] http://nodejs.org/
[4] http://odetocode.com/blogs/scott/archive/2007/01/08/javascript-and-threading.aspx
This is a very old technique. I came across it six or so years ago: the article where I found the code, http://odetocode.com/humor/68.aspx, is from 2003.
It's a lot of fun though. And PJL can be very interesting to work with: I built a tool that used it to query printers for status information (although the amount of information I could extract seemed very dependent on the printer).
It's a bit pre-emptive to start witch-hunting, though.
The 2003 Northeast US/Canada blackout was caused by a race condition: https://odetocode.com/blogs/scott/archive/2004/04/11/blackouts-and-race-conditions.aspx