text:
Fallen Rebels
In Memoriam – Heidi Peterson
Heidi was a founding member of Terrapin Base, established in her own livingroom in 2007. She was an energetic Jawa and always tried to make children smile. Report Content Issue: * Blank Page Invalid Contents Broken Links Other Your Name: * Details: * Submit...read more
In Memoriam – Craig Budge
Craig "TheSniper" Budge 1971-2014 Craig was a highly valued and respected member of Tatooine since joining 2009, in his heart, he was a Rebel and enjoyed crafting and building Star Wars costumes and props and always willing to help anyone out even if he had never built it. Craig enjoyed traveling, well before joining RL, having travelled the east coast of Australia and working for many years on the Ski fields of Australia. He was a Baker and at all the major convention, he always brought a cake with some type of Star Wars...read more
In Memorial – Sean Connaughton
Sean "Seaco Buroc" Connaughton – Alderaan Base May 25, 1973 – January 13, 2013 On January 13, Sean lost his battle with Cancer. He loved the Rebel Legion and will be missed by so many. Donations in Sean's memory may be made to the American Cancer Society. Report Content Issue: * Blank Page Invalid Contents Broken Links Other Your Name: * Details: * Submit...read more
In Memorial – Mike Bailey
It is with a heavy heart that we need to add one more to our Fallen Rebel page. Mike "ukchewbacca" Bailey of Elstree Base, passed away this past weekend. Michael joined Elstree in 2010 with his Chewbacca costume and I had the pleasure of meeting him at Legoland 2011. He was a lovely, friendly man with no airs and graces and a pleasure to troop with. He was certainly a hit with the crowds who flocked to see him in his Chewie. He was a well-liked and respected member of the costuming community in the UK and he will be sorely missed. –...read more
In Memorial – Dana Marshall
Dana "DanaWheels" Marshall – Alpha Base July 13, 1964 – October 28, 2012 Dana was a long-term member of Alpha Base and of the Rebel Legion. Report Content Issue: * Blank Page Invalid Contents Broken Links Other Your Name: * Details: * Submit...read more
In Memorial – Ryan Jones
Ryan "JediAgent" Jones passed away October 19, 2011 after suffering a cardiac arrest. Ryan was an active member in both the Rebel and 501st Legions. His heart always focused on charity, even when tough times affected his own life. He was a brilliantly talented fiddler, as well as Doctor Who costumer. Ryan not only physically resembled the Tenth Doctor, but his heart and soul mimicked the time traveler's own. Like the Doctor, Ryan touched the lives of hundreds, if only even for a second. He leaves behind a community who will...read more
In Memorial – Devin Leyden
Devin "Vladric_Yavin" Leyden – Endor Base November 11, 1965 – August 8, 2011 Devin was an active member, founder, and former leader of the Sacramento Fan Force. He also served as the first Sacramento Regional Captain for Endor Base. He was very helpful in getting Endor Base involved in events up in Sacramento and his help and enthusiasm was always greatly appreciated. We will all miss Devin's cheerful, friendly and outgoing spirit. Report Content Issue: * Blank Page Invalid Contents Broken Links Other Your Name: * Details:...read more
In Memorial – Christian Richards
Christian T. Richards "Chris_Agony" – Echo Base Oct. 11, 1978 – July 19, 2011 "Chris was a tremendously giving person – to his family, friends, and to the Legions (both 501st and Rebel respectfully). In July 2011, Chris passed quite suddenly. I never met him personally nor trooped with him, but his humor and exploits in Western PA are legendary. All of Garrison Carida and Echo Base mourn his passing. R-I-P, Chris." – Tim Levan, BCO – Echo Base Report Content Issue: * Blank Page Invalid Contents Broken Links Other Your...read more
In Memorial – Nick Ring
Nick Ring May 9 1986 – July 5 2008 Nick's death came unexpectedly following an unforeseen complication after elective surgery. He was a very active member of the 501st and a huge Star Wars fan. He had boundless energy when it came to trooping and was always willing to go to any event he could attend. His skill at Star Wars Trivial Pursuit was legendary. In addition to his love of Star Wars he was a huge fan of Mystery Science Theater 3000, which easily reflected his own sense of humor. He also loved music, especially Pink Floyd, but his...read more
In Memorial – Joe Price
Joe "vampyregodz" Price – Ra Kura Base Joe "vampyregodz" Price, beloved husband of Sheila "Mara Pricestar" Price, passed away March 6, 2008. Joe was loved dearly by members of Ra Kura Base and the Florida Garrison of the 501st. He was loved so very much by everyone. Joe had been having several health issues for some time but was a true fighter and go getter. He always arranged and done many charity events despite his own health. He exemplified the true meaning of a trooper. At times he had to attend events...read more


text:
Working on Dexter
Posted by Guardian in Dexter Freetime talking on Wednesday 17 February 2010 at 7:24 PM
I'm not writing many posts in the last days and the main reason is I've actively joined the development of Dexter a new open source blog engine written in ASP.NET MVC, you can find it on Codeplex at this link: http://dexterblogengine.codeplex.com/
When my friend Andrea Balducci, talked to me about this project I was so excited I decided to give it a try...and it was good (there's always room for improvement, but it was good!).
I do love Wordpress, it's a great product and works very well, why working on another blog engine then? well the answer is short: I'm a developer and I don't know how to put my hands on the WP engine...simply cause I hate php and never spent more than a couple of hours trying to learn it.
With Dexter is all another story...C#, ASP.NET MVC, NHibernate, Castle etc etc I feel home and (even better) I have the freedom to make experiments on the core engine too.
Since I joined I focused on looking at the implementation and adding the features I needed first. So what I was working on the past days:
- Improve the import engine to support Wordpress (I'm very close to fix all that I need), you can see a live version of my blog using Dexter at this link: http://dexter.primordialcode.com/
Adding a better support for Windows Live Writer improving the different Metaweblog APIs support.
I just added the hierarchical visualization of category (no more flattening out) and the ability to post the tags related to each post using WLW (no more need to add them at the body of the message).
Here's a screenshot of the thing:
What I'm working on now:
- Adding the ability to tie a single Post to more than a single category.
- Improving the import routines.
All the changes are actually in my private Branch and will be merged to the main trunk once all the developers have reviewed them.
Passing JSON serialized objects to a WCF service with jQuery
You can find a lot of posts on the web on the subject, why writing another one then? Simply because despite all the documentation I've already found on the web, while trying to put it in action I've spent a couple of hours in making that work, so I'll use this post to recap all the action I made as a reference guide for my future implementations.
The scenario is: we have a WCF service that is able to accept call to methods with complex parameters (like Messages object in a simple web chat project) and we want to be able to use those methods with jQuery with the minimal impact on the service implementation.
WCF Service setup
We consider a very simple implementation, you don't have to use any 'strange' or unusual attribute here:
The message class we are sending back and forth:
/// <summary>
/// a single message in a conversation
/// </summary>
public class Message : Entity<int>
/// <summary>
/// the nickname of who is sending the message
/// </summary>
public virtual string Sender { get; set; }
/// <summary>
/// this will be assigned when the object get persisted into the storage, not before
/// once assigned it's likely to not be modified again
/// </summary>
public virtual DateTime Timestamp { get; set; }
public virtual string Text { get; set; }
A test service implementation
/// <summary>
/// service used to serialize/desierialize the data in JSon for JQuery
/// </summary>
public interface IChatService
/// <summary>
/// return a simple message
/// </summary>
/// <returns></returns>
Message TestMessage();
/// <summary>
/// a test function that takes a message and returns it modified
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
Message TestMessageModify(Message msg);
/// <summary>
/// a test function that get multiple parameters and return a message
/// modified
/// </summary>
/// <param name="msg"></param>
/// <param name="id"></param>
/// <returns></returns>
Message TestMessageModifyWithSuppliedContent(Message msg, int id);
[AspNetCompatibilityRequirements( RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed )]
public class ChatService : IChatService
public Message TestMessage()
return new Message() { Id = 1, Sender = "Test", Text = "1 - Text message.", Timestamp = DateTime.Now };
public Message TestMessageModify(Message msg)
msg.Text = "2 - Modified message";
msg.Timestamp = DateTime.Now;
return msg;
public Message TestMessageModifyWithSuppliedContent(Message msg, int id)
msg.Text = "3 - Second parameter passed: " + id;
msg.Timestamp = DateTime.Now;
return msg;
The only thing needed is the 'AspNetCompatibilityRequirements' attribute.
All the magic is done in the WCF configuration section:
1: <system.serviceModel>
2: <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
3: <services>
4: <service name="RemoteAssistance.Services.Impl.ChatService"
5: behaviorConfiguration="DebugJSonBehavior">
6: <endpoint address=""
7: binding="webHttpBinding"
8: behaviorConfiguration="DebugJSonBehavior"
9: contract="RemoteAssistance.Services.IChatService">
10: <identity>
11: <dns value="localhost" />
12: </identity>
13: </endpoint>
14: <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
15: </service>
16: </services>
17: <behaviors>
18: <endpointBehaviors>
19: <behavior name="DebugJSonBehavior">
20: <enableWebScript />
21: </behavior>
22: </endpointBehaviors>
23: <serviceBehaviors>
24: <behavior name="DebugJSonBehavior">
25: <serviceMetadata httpGetEnabled="true" />
26: <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
27: </behavior>
28: </serviceBehaviors>
29: </behaviors>
30: </system.serviceModel>
To activate JSON serialization and deserialization for an end point we have to supply some information:
- in line 7 we set the binding to 'webHttpBinding', this is the main actor the inject the JSON DataContract Serializer into the WCF stack.
- in line 8 we set a specific endpoint behavior for this end point
- lines 18-22 enable the endpoint behavior that makes it possible to consume the service from ASP.NET AJAX web pages.
Consuming the web service is the real 'tricky' point, calling a function without parameter is extremely easy, you can use code like this:
1: $(document).ready(function() {
2: $.ajax({
3: type: "POST",
4: url: "http://localhost:58829/ChatService.svc/TestMessage",
5: data: "{}",
6: contentType: "application/json; charset=utf-8",
7: dataType: "json",
8: success: function(data) {
9: //debugger;
10: alert(data.d.Text);
11: },
12: error: function(XMLHttpRequest, textStatus, errorThrown) {
13: debugger;
14: alert("Error Occured!");
15: }
16: });
17: });
Things get a bit 'complicated' when you actually have to pass parameters (special tanks here go to my fellow Alkampfer for helping me find the solution). To pass a parameter successfully you have to supply as the data argument (line 5) a string that is the JSON representation of a JS object which properties matches the parameter name of the function you are calling, the parameters' values are the actual values that will be sent to the server. If the parameter itself is a complex object (that is a class) you need to supply the JSON representation of the object, Let's use an example to clarify:
if we want to call the TestMessageModify(Message msg) function we need to supply ad data parameter a JS object made like this:
1: var msg2 = { "msg": { "Id": "2", "Sender": "Webpage", "Text": "Sended Text"} };
We're defining an object that contains a 'msg' property (same name of the function parameter) which in turn contains another object (defined by the same properties that our Message object have, to allow JSON deserialization to work). What we need to pass to the 'data' argument of the function call is the string representation of object:
'{"msg":{"Id":"2","Sender":"Webpage","Text":"Sended Text"}}'
To have the JSON representation of JavaScript object we can use an external library like this one: http://www.JSON.org/json2.js
So, to call TestMessageModify(Message msg) and TestMessageModifyWithSuppliedContent(Message msg, int id), we can use the following code:
var msg2 = { "msg": { "Id": "2", "Sender": "Webpage", "Text": "Sended Text"} };
$(document).ready(function() {
type: "POST",
url: "http://localhost:58829/ChatService.svc/TestMessageModify",
data: JSON.stringify(msg2),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error Occured!");
var msg3 = { "msg": { "Id": "2", "Sender": "Webpage", "Text": "Sended Text"}, "id" : "1" };
$(document).ready(function() {
type: "POST",
url: "http://localhost:58829/ChatService.svc/TestMessageModifyWithSuppliedContent",
data: JSON.stringify(msg3),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error Occured!");
Castle Windsor enabling XML configuration files in Silverlight
Posted by Guardian in Castle Windsor Silverlight on Friday 22 January 2010 at 12:07 PM
When a version of Castle Windsor able to run in Silverlight was released I started to play with it, basically because I have a lot of code that use it inside my line of business infrastructure framework. I'm working on a WPF/Silverlight solution and I've developed a framework that work in both the environments.
One of the biggest thing I miss in every 'Silverlight-enables' IoC system I tried is the ability to read and parse XML configuration files.
The current release does not allow Silverlight to parse XML configuration file, because all the parser is based on classes that are in the System.Xml namespace and that weren't included in the Silverlight runtime.
The good news is Silverlight has a very good support for Linq To Xml, so I decided to do a 'test of feasibility' and switched the current implementation from using the XmlDom to Linq To Xml.
I have to admit it was more complex than I thought at start (mainly because I had to understand how the parser was written), here are the steps I followed:
- Download the 'Inversion of control' portion the Castle Windsor trunk an check the project to find the classes to modify: the good news is: all of them are inside a single folder 'Castle.Windsor\Configuration\Interpreters'
- Start with the .Net solution and replace the usages of the 'old' XmlDom classes (XmlDocument, XmlNode, etc...) with the new one from System.Xml.Linq (XDocument, XElement, XNode...). Beware it's not that easy!
Both these systems act in slightly and sometime subtle different ways so I had to make 'heavy' modifications to all the class of the parser.
- Keep modifying and fixing the XmlInterpreter and all the other classes until all the tests for the .Net solution pass. At this stage the major modification were the introduction of a LinqToXmlConfigurationDeserializer to replace the standard one and a LinqExtensions class that contains extensions methods to mimic functionalities present in System.Xml.* classes and not directly exposed by Linq classes.
- Open up the Silverlight solution, include the new files and verifies it compiles...here some more minor modification were needed to exclude a couple of portions of code that really aren't available in Silverlight.
Good! It compiles!
- Let's see an overview of all the files that were modified:
All the files we touched are inside the Configuration/Interpreters folders, no other section was modified.
- Let's create a very simple Silverlight Test Application and check it on the 'Field of Glory':
public class Tests
private string config = "<configuration><components>" +
"<component id=\"child\" " +
"service=\"SilverlightTest.Domain.IChild, SilverlightTest, Version=220.127.116.11, Culture=neutral, PublicKeyToken=null\" " +
"type=\"SilverlightTest.Domain.Child, SilverlightTest, Version=220.127.116.11, Culture=neutral, PublicKeyToken=null\" />" +
"<component id=\"parent\" " +
"service=\"SilverlightTest.Domain.IParent, SilverlightTest, Version=18.104.22.168, Culture=neutral, PublicKeyToken=null\" " +
"type=\"SilverlightTest.Domain.Parent, SilverlightTest, Version=18.104.22.168, Culture=neutral, PublicKeyToken=null\" />" +
public void ComponentRegistrationString()
WindsorContainer container = new WindsorContainer(new XmlInterpreter(new StaticContentResource(config)));
// resolve the object
IParent p = container.Resolve<IParent>();
Assert.IsInstanceOfType(p, typeof(Parent));
Assert.IsInstanceOfType(p.ChildConstructorDependency, typeof(Child));
Assert.IsInstanceOfType(p.ChildProperty, typeof(Child));
and let's run it:
Cool! It works: you can now feed up the configuration even from an XML file to the Silverlight version of Castle Windsor too (you can his file from a database a web service or download it directly..that's up to you).
What's left to do: as I said before this whole thing started as an experiment and the code is not clean, not optimized nor checked for memory leaks. Plus actually I modified the parser classes and 'lost' the previous implementation (I was lazy and I didn't wanted to write some new tests...I just reused the old ones :D). Some more work is needed to create a full new implementation (parallel to the old one) and write some additional tests for it.
Actually I see only a potential problem and that is how to deal with configuration file inclusion: we should be able to inject an external handler that tells to the processor how to retrieve the resource (we cannot have access to physical files directly (except for those on the Isolated Storage)...so this feature still need some more thinking.
Plus the actual code it's not very clean and contains a couple of hacks I'm not very proud of and would like to get rid of :D
I think that a good move can be to create a new 'Castle.Windsor.Configuration' project and move the configuration code there.
Here is the full source code of this sample if you want to download and try it, it contains the full trunk portion of the Inversion Of Control section in Castle Windsor:
I will submit this code to the Castle Dev Team and see what they think about it.
Castle DynamicProxy - a dirty trick to call invocation Proceed() multiple times in an interceptor
Posted by Guardian in Castle Windsor Dirty Tricks on Tuesday 19 January 2010 at 12:49 PM
This is a typical scenario: you have a remote service (a database a web service...anything) which can have connection problems; obviously you don't want your application to crash the desired behavior can be to retry the operation for a couple of times and then ask the user what to do (with a message box maybe).
Implementing this in Spring.Net is quite easy, here is some ugly code that build up a skeleton for the feature:
public class ExceptionHandlerDaoAroundAdvice : IMethodInterceptor
public object Invoke(IMethodInvocation invocation)
// endless loop to let the user retry the operation in case of db error
int tries = 0;
while (true) {
try {
tries += 1;
object o = invocation.Proceed();
return o;
catch (SqlClient.SqlException ex) {
HandleDbException(ex, tries);
catch (NHibernate.ADOException ex) {
HandleDbException(ex, tries);
// log the error and ask user if they want to retry, if not abort program
private void HandleDbException(Exception ex, int tries)
// examine the exception and
// in case of connection problems
// use your session or connection manager to close any pending connection, thay are not valid anymore;
if (tries < 4) {
// let's wait a bit before retry
else {
// todo: call here the service that have to ask the user what to do: wait more and retry,
// contact the network administrator or close the application for example
to wire it to a proxy generated around your object you can write something like:
ProxyFactory factory = new ProxyFactory(YOUROBJECT);
factory.AddAdvice(new ExceptionHandlerDaoAroundAdvice());
return factory.GetProxy();
But since I already use Castle Windsor as my IoC system and DynamicProxy for the lazy loading with NHibernate, in order to reduce the number of assemblies and external library my application uses, inspired by this great series of articles by Krzysztof Kozmic I decided to swap out Spring.Aop and use Castle's Dynamic proxies.
The first implementation was more or less a plain translation of the code shown above and surprisingly I got an InvalidOperationException for calling invocation.Proceed() multiple times inside the Intercept() method of the interceptor.
To verify this I setup a simple test case with an adhoc interceptor that called invocation.Proceed() multiple times:
public interface ITestClass
void TestMethod();
public class TestClass : ITestClass
public void TestMethod()
Console.WriteLine("Test Method Called");
public class FailingRetryInterceptor : IInterceptor
#region IInterceptor Members
public void Intercept(IInvocation invocation)
// we want to call proceed multiple times to simulate maybe something
// like retrying a connection to a database or a remote service
// after having informed the user
// let's try to call the proced again, we expect a big time
// failure here cause the standard implementation does
// not allow the proceed method to be called multiple times
public class InterceptorsTest
readonly ProxyGenerator _generator = new ProxyGenerator();
public void TestFailingRetryInterceptor()
typeof (InvalidOperationException),
() =>
ITestClass sut =
_generator.CreateInterfaceProxyWithTarget<ITestClass>(new TestClass(),
new FailingRetryInterceptor());
If you run this test it passes, which means we get the InvalidOperationException. This operation is perfectly legal in Spring while it's not allowed in Castle, to investigate the issue I got the source code for DynamicProxy and looked at the implementation of the Proceed() method inside the AbstractInvocation class:
1: public void Proceed()
2: {
3: if (interceptors == null)
4: // not yet fully initialized? probably, an intercepted method is called while we are being deserialized
5: {
6: InvokeMethodOnTarget();
7: return;
8: }
10: execIndex++;
12: if (execIndex == interceptors.Length)
13: {
14: InvokeMethodOnTarget();
15: }
16: else if (execIndex > interceptors.Length)
17: {
18: string interceptorsCount;
19: if (interceptors.Length > 1)
20: {
21: interceptorsCount = " each one of " + interceptors.Length + " interceptors";
22: }
23: else
24: {
25: interceptorsCount = " interceptor";
26: }
28: var message = "This is a DynamicProxy2 error: invocation.Proceed() has been called more times than expected." +
29: "This usually signifies a bug in the calling code. Make sure that" + interceptorsCount +
30: " selected for this method '" + Method + "'" +
31: "calls invocation.Proceed() at most once.";
32: throw new InvalidOperationException(message);
33: }
34: else
35: {
36: interceptors[execIndex].Intercept(this);
37: }
38: }
Looking at the implementation is pretty easy to understand why we cannot call the proceed more than one time per interceptor: if we do the we increment the execIndex outside the bound of the interceptors array.
In my application I have full control over which interceptors get injected on each proxy, so a simple hack would be to allow me to reset the 'execIndex' variable to -1; doing this way the next time you call invocation.Proceed() from an interceptor the whole chain start from the beginning allowing you to recover and retry the operation.
I don't like to modify the library code, cause at every update I have to reapply the path again, the Hack here is to use some reflection and write an extension method for the IInvocation interface:
public static class IInvocationExtensions
private static FieldInfo _resetInvocationInterceptorsCall;
public static void Reset(this IInvocation invocation)
if (_resetInvocationInterceptorsCall == null)
Type invoc = FindBaseType(invocation.GetType(), typeof(AbstractInvocation));
if (invoc == null)
throw new InvalidOperationException("IInvocationExtensions - Cannot find AbstractInvocation as base class.");
_resetInvocationInterceptorsCall = invoc.GetField("execIndex", BindingFlags.Instance |
// reinitialize the index of execution, so when we call Proceed() again
// the whole chain of interceptors start again from the first element
_resetInvocationInterceptorsCall.SetValue(invocation, -1);
private static Type FindBaseType(Type src, Type lookingFor)
while (!(src == typeof(object)) && (src != lookingFor))
src = src.BaseType;
if (src == lookingFor)
return src;
return null;
We can now update our test and write another interceptor that call the newly created Reset() method to allow us to recover and start the execution again:
public class SuccessRetryInterceptor : IInterceptor
#region IInterceptor Members
private bool firstcall = true;
public void Intercept(IInvocation invocation)
if (firstcall)
firstcall = false;
// we want to call proceed multiple times to simulate maybe something
// like retrying a connection to a database or a remote service
// after having informed the user
// we ask to reset the current call and start it again from the beginning of the
// interceptors chain
// let's try to call the proced again, we expect a big failure here cause the standard implementation does
// not allow the proceed method to be called multiple times
// note that in this test we used the firstcall variable to stop the recursive calls
// of this interceptor.
public class InterceptorsTest
readonly ProxyGenerator _generator = new ProxyGenerator();
public void TestSuccessRetryInterceptor()
Assert.DoesNotThrow(() =>
ITestClass sut = _generator.CreateInterfaceProxyWithTarget<ITestClass>(new TestClass(), new SuccessRetryInterceptor());
If you execute this test you can see that it passes and that the TestMethod() of the test class gets called two times.
BEWARE! This is a dangerous technique and you have to be absolutely aware of what you are doing, cause you are executing the whole interceptors' chain from the beginning..so if some of your interceptors modify the data or perform some advanced operations you have to know exactly what they do in order to not alter/invalidate the data of your application.
DotNetMarche January Workshop - WPF, MVVM, UI
Posted by Guardian in Freetime talking on Tuesday 12 January 2010 at 2:49 PM
If you live in Marche (Italy), get ready and don't miss the next DotNetMarche workshop! Our local community group is working to setup the event. You can see the actual agenda and register for it at: http://dotnetmarche.org/eventi/Default.aspx?IDevento=33.
We will have an 'all around' event on WPF from a basic introduction to some advanced patterns for building application (MVVM and UI composition), plus - for those who last till the end - some nice features like 3D and Naturally User Interfaces.
This time will also be a 'cross-community' event, the speakers will be:
- Andrea Cruciani, from DotNetUmbria.
- Paolo Possanzini, from DotNetUmbria.
- Mauro Servienti, Microsoft MVP and member of UgiDotNet.
The event will take place on January 29; Time is running out, Go sign up now!
Optimizing WMI query performances - avoid the nasty 'select *'
These days I'm working to improve the startup time of an application my company develop, using some profiling tool you can easily isolate that functions that are eating up more time during the application startup.
Aside the database connections, I've saw that our custom protection and registration system was consuming more or less 3 seconds (it varies each run in the range from 2.5 to 3.5 seconds) to generate a unique hash code for the machine on which the program is installed.
The code internally uses some WMI queries to pickup system and hardware information, the first run was something like this:
One of the functions that is used to generate part of the hash requires 2.6 seconds to run...which is unacceptable to gather some hardware information.
All those functions basically use some WMI queries to get the data we need the implementation was something like:
1: Friend Shared Function GetProcessorInfo() As String
2: Using query1 As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
3: Using queryCollection1 As ManagementObjectCollection = query1.Get()
4: Dim sb As New StringBuilder
5: For Each mo As ManagementObject In queryCollection1
6: sb.Append(Convert.ToString(mo("processorid")))
7: sb.Append(Convert.ToString(mo("family")))
8: sb.Append(Convert.ToString(mo("architecture")))
9: sb.Append(Convert.ToString(mo("revision")))
10: sb.Append(Convert.ToString(mo("level")))
11: sb.Append(Convert.ToString(mo("stepping")))
12: sb.Append(Convert.ToString(mo("uniqueid")))
13: sb.Append(Convert.ToString(mo("maxclockspeed")))
14: sb.Append(Convert.ToString(mo("manufacturer")))
15: Return sb.ToString
16: Next
17: End Using
18: End Using
19: End Function
Here you can see the source of all evil: in line 2 we ask the system to get EVERY information about the Processor and when we start enumeration the ManagementObjectCollection the WMI subsystem start gathering the data and populating the ManagementObject with all the information it can get regarding the Processors...even those we are not interested into. And this slows down everything in a terrible way.
So, the first thing you have to do when dealing with WMI is to reduce to the minimum the information that are returned from each query. I modified all the queries we made to look like:
Using query1 As New ManagementObjectSearcher("SELECT processorid,family,architecture,revision,level,stepping,uniqueid,maxclockspeed,manufacturer FROM Win32_Processor")
Running again the profiler on the function we obtain:
As you can see the execution time was cut in half! and the GetProcessorInfo() function alone passed from 1043ms to 12ms. The only function we wasn't able to improve specifying the fields to return was the one that deals with the Ethernet interfaces to get their MAC address.
Linq to NHibernate: how to query on a property without setter
Posted by Guardian in Linq NHibernate on Tuesday 22 December 2009 at 12:20 PM
Recently I've started to play with Linq to NHibernate and I have to say it work pretty well for the scenarios I'm facing. It also helped me to 're-learn' some things on NHibernate I usually forget.
Let's consider the case in which we have a class that have some properties without setters, the usual way to map them is using the access='field' modifier and tell NHibernate to not use the property by the internal field of the implementation; you can then write your HQL queries on that field, here's an example:
Public Class IDGEN
Private mID As Int64 = -1
Public Overridable ReadOnly Property ID() As Int64
Return mID
End Get
End Property
Private mYear As Int16
Public Overridable ReadOnly Property Year() As Int16
Return mYear
End Get
End Property
End Class
Here is the mapping I was used to have:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Entities.IDGEN, CommunicationModule" table="tblPROTOCOL_ID_GENERATOR" lazy="false" >
<id name="mID" column="ID" type="Int64" access="field" unsaved-value="-1">
<generator class="native" />
<property name="mYear" column="Year" type="Int16" access="field" insert="false" update="false" />
You see we refer to the internal implementation members and our HQL queries will look like:
select max(id.mID) from IDGEN id where id.mYear = :year
As an experiment I'm porting this code to use Linq to NHibernate, the link query I would like to write is this:
long idgen = Session.Linq<Idgen>().Where(i => i.Year == year).Max(i => i.ID);
You can easily see the problem here: in code I cannot refer to the private mYear or mID fields, so when the query translator tries to parse my expression I get a wonderful exception.
How to make this work ? The answer is simple and built into NHibernate we can use Access and Naming strategies, look at 'Chapter 5.1.9 property' of the NHibernate reference documentation.
There you can see how to tell NHibernate to use the Getter of the properties to retrieve values from the class, and how the internal field is called so it can use that when assigning values to object.
In the end it's just a matter of writing the right mappings, with something like this:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="SID.Gestione.RefertiDocumenti.Neurologia.Entities.Idgen, SID.Gestione.RefertiDocumenti.Neurologia" table="IncrementalNumberGenerator" lazy="false" >
<id name="ID" column="ID" type="Int64" access="nosetter.pascalcase-m" unsaved-value="-1">
<generator class="native" />
<property name="Year" column="Year" access="nosetter.pascalcase-m" type="Int16" insert="false" update="false" />
we are now able to make the former Linq query work.
We now refer to the actual property of the class, we specify we don't have setter and we use the pascalcase-m notation for the internal fields.
So fixing all your previous mapping that used access='field' attribute to a more correct notation you can easily perform Linq queries on all your classes.
Silverlight / WCF: fixing the Custom WCF Proxy Generator
Posted by Guardian in Silverlight WCF WPF Web Services on Wednesday 16 December 2009 at 2:05 PM
Some days ago I blogged about how you can build your own Custom WCF Proxy generator to extend the classes it generates and add some validation logic (or whatever you like).
Well playing with the MusicStore sample and making some changes to my domain classes there I've found a bug in the previous version of the proxy generator, let's say your domain classes are like these:
public abstract class DomainObject<TKey>
public virtual TKey Id { get; set; }
public partial class Album : DomainObject<int>
public Album()
Tracks = new List<Track>();
//public virtual int Id { get; set; }
public virtual string Title { get; set; }
public virtual string Author { get; set; }
Not only plain objects, like I had before, but you have inheritance from different classes, actually the previous proxy generator was going to extend only the classes that directly inherited from object, so in the proxy generated in the Silverlight project you could find the added code only in the 'DomainObjectOfInt' generated class (the base of the hierarchy).
To overcome this issue we have to modify the function FindAllProxyClasses() that identifies the proxy classes to extend, the new behavior will be like this:
protected virtual CodeTypeDeclarationCollection FindAllProxyClasses(CodeCompileUnit compileUnit)
CodeTypeDeclarationCollection result = new CodeTypeDeclarationCollection();
// search for all the proxy class (the one that inherits from ClientBase)
foreach (CodeNamespace ns in compileUnit.Namespaces)
foreach (CodeTypeDeclaration type in ns.Types)
// does this type inherit from ClientBase?
if (type.IsClass && type.IsPartial)
foreach (CodeTypeReference baseType in type.BaseTypes)
// if (baseType.BaseType == "System.Object")
// we need to take into account even model classes derived from other classes
if ((!IsInterface(baseType)) &&
(baseType.BaseType != "System.ComponentModel.AsyncCompletedEventArgs") &&
// we have found the proxy!
return result;
This way we exclude from our list all the classes that are: interfaces, derive from AsyncCompletedEventArgs (arguments of async events), derive from ClientBase (the class that actually handles the calls to the web service).
If you ask yourself why I had to write an IsInterface() function to check if a CodeTypeReference is an interface, the answer is: the framework already provides this information...but in an internal member of the class :(.
Here is the full code of the fixed Custom WCF Proxy Generator:
public class StructuraWcfProxyGenerator : WCFProxyGenerator
protected override void CallCodeGeneratorExtensions(CodeCompileUnit compileUnit)
//todo: we can implement the mapping of validation attributes using an external xml file placed inside the current project
// this way we can use the annotation objects even with wcf services
//EnvDTE.DTE vs = (EnvDTE.DTE)this.ServiceProvider.GetService(typeof(EnvDTE.DTE));
//EnvDTE.Project prj = vs.SelectedItems.Item(1).ProjectItem.ContainingProject;
// find all classes that inherit from ClientBase (all proxies)
var proxies = FindAllProxyClasses(compileUnit);
// add impersonation code to their constructors
foreach (CodeTypeDeclaration proxy in proxies)
protected virtual CodeTypeDeclarationCollection FindAllProxyClasses(CodeCompileUnit compileUnit)
CodeTypeDeclarationCollection result = new CodeTypeDeclarationCollection();
// search for all the proxy class (the one that inherits from ClientBase)
foreach (CodeNamespace ns in compileUnit.Namespaces)
foreach (CodeTypeDeclaration type in ns.Types)
// does this type inherit from ClientBase?
if (type.IsClass && type.IsPartial)
foreach (CodeTypeReference baseType in type.BaseTypes)
// if (baseType.BaseType == "System.Object")
// we need to take into account even model classes derived from other classes
if ((!IsInterface(baseType)) &&
(baseType.BaseType != "System.ComponentModel.AsyncCompletedEventArgs") &&
// we have found the proxy!
return result;
private static bool IsInterface(CodeTypeReference reference)
// try to create the type and see if it's an interface
return Type.GetType(reference.BaseType).IsInterface;
catch (Exception)
return false;
protected virtual void AddPartialMethods(CodeTypeDeclaration type)
IVsSingleFileGenerator ivs = (IVsSingleFileGenerator)this;
// ugly, but it's the only way I found to identify the language used
string ext;
ivs.DefaultExtension(out ext);
CodeSnippetTypeMember literalMember;
if (ext.Contains("cs"))
// csharp
literalMember = new CodeSnippetTypeMember(
"partial void ValidateProperty(string propertyName, object value);");
// vb
literalMember = new CodeSnippetTypeMember(
"Partial Sub ValidateProperty(byval propertyName as String, byval value as Object)");
// the codedom do not support partial methods yet
//CodeMemberMethod MyMethod = new CodeMemberMethod();
//MyMethod.Name = "ValidateProperty";
//MyMethod.ReturnType = new CodeTypeReference("partial void");
//MyMethod.Attributes = MemberAttributes.ScopeMask;
//MyMethod.Parameters.Add(new CodeParameterDeclarationExpression("System.String", "propertyName"));
//MyMethod.Parameters.Add(new CodeParameterDeclarationExpression("System.Object", "value"));
protected virtual void AddValidationToProperties(CodeTypeDeclaration type)
foreach (CodeTypeMember member in type.Members)
CodeMemberProperty ctor = member as CodeMemberProperty;
if (ctor != null)
// create a code statement like:
// this.ValidateProperty("Title", value)
CodeMethodInvokeExpression method = new CodeMethodInvokeExpression(
new CodeThisReferenceExpression(),
new CodeExpression[] {
new CodePrimitiveExpression(ctor.Name),
new CodePropertySetValueReferenceExpression()
// we got a constructor
ctor.SetStatements.Insert(0, new CodeExpressionStatement(method));
You can take this code and replace the old version in my previous post, regenerate your proxies and voila...you have the validation code spammed on all your new proxy class hierarchy.
With some more customization you can easily buildup a code generator that closely resembles the one provided by the new RIA services without any modification to you current up and running WCF services.
Last few days to sign up for the 12th DotNetMarche / Community Tour 2009 workshop
Posted by Guardian in Freetime talking Silverlight on Monday 14 December 2009 at 5:59 PM
To sign-up visit the DotNetMarche website: www.dotnetmarche.org.
The technical sessions will be devoted to the technologies you can use TODAY to write a web application, focusing especially on the UI.
We decided to create our own MusicStore sample and build it ground-up with 3 different technologies: Asp.Net classic / Asp.Net MVC + jQuery / Silverlight 3.
The Silverlight version of MusicStore will also use the following technologies:
- The server side components will use a SQL Express + NHiberante for the data access layer
- WCF service / HTTP handler : this is the 'data provider' of the application to deal with the database and upload files
- Silverlight 3 for the UI.
- Data binding - for displaying and acquiring data
- Validation - how you can do preventive validation on the UI
- Control Temples - to skin and change the appearance of control without touching the code
Silverlight: how to fix the Silverlight Toolkit templates to add Validation States
Posted by Guardian in Silverlight on Saturday 12 December 2009 at 1:10 PM
Using the control templates provided by the Silverlight toolkit I just noticed that those style do not support the validation states for displaying validation errors.
Since you have access to the templates adding them is a quite easy - but boring - job. First of we need to open the template of the standard controls and extract the pieces related to data validation display, then we can modify the provided templates inserting these pieces of code back. We can do this so easily because of the nice way the controls skins work in Silverlight and WPF (there are plenty of resources over the net on this subject so I will not dig into that) and thanks to the Visual State Manager that handles the display state changes without any logic to be added to the control, this link from Jesse Liberty gives a clear picture of the thing: Quick overview of Silverlight validation.
In short to modify the - let's say - the Textbox template you just have to:
- Look for the VisualStateManage.VisualStateGroups section of the template and add a VisualStateGroup with the following states in it: Valid, InvalidUnfocused, InvalidFocused. All the data validation framewrok relies on the presence of these 3 states do change the appearance of the control:
<VisualStateGroup x:Name="ValidationStates">
<VisualState x:Name="Valid"/>
<VisualState x:Name="InvalidUnfocused">
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<VisualState x:Name="InvalidFocused">
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">
<DiscreteObjectKeyFrame KeyTime="0">
- These states operate on some framework elements (validationErrorElement and validationErrorToolTip) so we have to add those too, so at the end of the control template - just before the closing </Grid> tag - add the following piece of code:
<Border x:Name="ValidationErrorElement" Visibility="Collapsed" BorderBrush="#FFDB000C" BorderThickness="1" CornerRadius="1">
<ToolTip x:Name="validationTooltip" DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}" Template="{StaticResource ValidationToolTipTemplate}" Placement="Right" PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}">
<EventTrigger RoutedEvent="Canvas.Loaded">
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">
<DiscreteObjectKeyFrame KeyTime="0">
<Grid Height="12" HorizontalAlignment="Right" Margin="1,-4,-4,0" VerticalAlignment="Top" Width="12" Background="Transparent">
<Path Fill="#FFDC000C" Margin="1,3,0,0" Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z"/>
<Path Fill="#ffffff" Margin="1,3,0,0" Data="M 0,0 L2,0 L 8,6 L8,8"/>
You must add this after all the other framework element to be sure that when enabled those controls are displayed over any other element that form the template.
This way you have standard way to display the validation error messages in your templated control. Actually you can use these pieces of codes in you own controls to give them the same look and feel. Also rewriting these pieces of code and applying them to the controls you can totally change the way validation error messages are shown.

subset: commoncrawl


text:
1913 Armory Show, 50th anniversary exhibition records, 1962-1963
Image Gallery has 24 items from this collection
Munson-Williams-Proctor Institute. Museum of Art
Collection size: 4.4 linear ft.
Collection Summary: Correspondence, notes, publications, loan forms, shipping records, and photographs relating to the Museum's exhibition re-creating the 1913 Armory Show. The exhibition was curated by Joseph Trovato, and sponsored by the Henry Street Settlement, N.Y. Included are photographs of the members of the Association of American Painters and Sculptors, the organization which sponsored the original exhibition.
Biographical/Historical Note: Art museum, founded 1919; Utica, N.Y.
Donated 1965 and 1981 by Joseph Trovato. [Trovato's own papers contain material relating to the exhibit; these are cataloged and housed separately].
How to Use this Collection
- Use of original papers requires an appointment and is limited to the Archives' Washington, D.C., Research Center. Contact Reference Services for more information.
- For more information on using the Archives' resources, see the FAQ or Ask Us.


text:
LONDON (AP) — Thoughtful workers on London's subway system Wednesday gave the pregnant Duchess of Cambridge a "Baby on Board" badge — in case she ever needs to ask commuters to give up their seats for her.
That's not likely to happen, but the former Kate Middleton nonetheless received the badge in good humor, holding it against her coat and joking that she would make sure to wear it at home.
Kate was visiting London's historic Baker Street station — known for its link to the fictional detective Sherlock Holmes — for an event marking the 150th anniversary of the city's sprawling subway system, known as the Tube.
She was joined by her grandparents-in-law Prince Philip and Queen Elizabeth II, who was attending her first public engagement in more than a week following her hospitalization for a stomach bug.
The monarch appeared well as she boarded a restored 19th-century train carriage and chatted to subway workers and train drivers about their work. Afterward she unveiled a plaque that named the train after her.
Elizabeth was hospitalized on March 3 after suffering from the symptoms of gastroenteritis.
She was released the next day, but the 86-year-old monarch appears to have taken it easy recently. Officials said Wednesday that two events were canceled last week as she recovered.
Howard Collins, who presented the baby badge to Kate, said the duchess recognized it and asked him how it works. The badges are meant to ease the awkwardness often felt by pregnant women when they ask others to give up their train seat.
"She used to travel on the Tube so she probably saw them then," he told reporters.
Kate is around five months pregnant. She said on Sunday that she doesn't yet know the sex of her first child, but hopes it's a boy.
To comment, the following rules must be followed:
Comments may be monitored for inappropriate content, but the station is under no legal obligation to do so.
If you believe a comment violates the above rules, please use the Flagging Tool to alert a Moderator.
Flagging does not guarantee removal.
Multiple violations may result in account suspension.
Decisions to suspend or unsuspend accounts are made by Station Moderators.
Questions may be sent to firstname.lastname@example.com. Please provide detailed information.


text:
Kristen Stewart - Page 3
Kristen Stewart And Robert Pattinson Are Actually A Couple
She admitted it! Sort of. Kristen was doing the photo shoot for her cover issue of British GQ when the interviewer overheard her mention that she wanted to see more of England while filming Snow White and the Hunstman because "my boyfriend is English". Who ever could she be talking about? She played coy durin
Kristen Stewart Unrecognizably Sexy on W Magazine Cover [PICTURE]
'Twilight' beauty Kristen Stewart is nearly unrecognizable on the cover of W Magazine's annual Fashion Issue.
Indeed, the normally reserved 21-year-old actress is in full-on glam mode on the retro '60s cover, complete with smoky eyes, big hair and seductive pink lips. It's arguably the best she's looked in … well, maybe ever.
'Twilight Saga: Breaking Dawn' Trailer [VIDEO]
Soooo excited for November!
What do you think of the trailer?


text:
An evaporator core drying system in which air that is blown by a blower is concentrated into a narrow cross-sectional air stream of high speed purge air which passes progressively across the area of the evaporator core, per an appropriate blow algorithm, so as to effectively and efficiently dry the evaporator core. Preferably, the configurable barrier is composed of at least one roller door located between the blower and the evaporator core.
1. An evaporator core drying system, comprising:
a heating, ventilation and air conditioning module comprising:
an evaporator core; and
a blower providing a stream of blown air;
a configurable barrier located between said evaporator core and said blower, wherein said configurable barrier is disposed substantially adjacent said evaporator core such that the stream of blown air blows from said blower through an opening in said configurable barrier and then, after blowing through said opening of said configurable barrier, blows through said evaporator core, said configurable barrier being configurable between a fully open configuration wherein said opening of said configurable barrier has an opening area which is substantially equal to a core area of said evaporator core such that exposure of said evaporator core to the stream of blown air is substantially unlimited by said opening, and a slotted configuration wherein said opening is a slot having a slot area much smaller than said core area which locally limits the area of exposure of said evaporator core to the stream of blown air, wherein the slot area in combination with the stream of blown air provide a high speed purge air through said slot; and
an electronic circuit connected with said configurable barrier, said electronic circuit implementing a predetermined blow algorithm, said electronic circuit configuring said configurable barrier between said fully open configuration and said slotted configuration responsive to the blow algorithm, said electronic circuit moving said configurable barrier so that said slot progressively moves across substantially the entire core area responsive to the blow algorithm;
wherein the high speed purge air and the progressive movement of said slot provide drying of said evaporator core responsive to the blow algorithm.
2. The system of
3. The system of
at least one selectively rollable panel; and
at least one actuator for selectively rolling said at least one rollable panel.
4. The system of
a pair of roller doors, each roller door having a respective leading edge;
wherein by varying separation of said leading edges with respect to each other said fully open and said slotted configurations of said configurable barrier are selectively provided.
5. A method for drying an evaporator core of a heating, ventilation, and air conditioning system, comprising the steps of:
blowing air, the blowing air being blown across substantially the entire area of an evaporator core;
limiting the area of the blowing air to a predetermined slot area that is much smaller than the entire area of the evaporator core at a location substantially adjacent the evaporator core, wherein the slot area in combination with the blowing air provide an air stream of high speed purge air through the slot that blows upon the evaporator core; moving the slot progressively across substantially the entire area of the evaporator core to thereby provide drying of the evaporator core; and
unlimiting the area of the blowing air with respect to the entire area of the evaporator core after said step of moving such that the blowing air is again blown across substantially the entire area of the evaporator core;
wherein said steps are implemented according to a predetermined computer-based blow algorithm.
6. The method of
7. The method of
8. The method of
9. The method of
said step of selectively rolling comprises:
rolling at least one roller door with respect to the other roller door to thereby provide a fully open configuration in which substantially the entire area of the evaporator core is exposed to the blowing air; and
rolling at least one of the roller doors with respect to the other roller door to thereby provide a slotted configuration which defines the slot; and
said step of moving comprises:
rolling both rollers doors in unison to progressively move the slot of the slotted configuration progressively across substantially the entire area of the evaporator core.
The present invention relates to heating, ventilation and air conditioning (HVAC) systems, and particularly HVAC systems of motor vehicles. More particularly, the present invention relates to an evaporator core drying system implemented at the termination of operation of the air conditioning component of an HVAC system.
The passenger compartment of motor vehicles provides a space which is environmentally adjustable to suit the predilections of the passengers via a heating, ventilation and air conditioning system, hereinafter simply referred to as an HVAC system. In this regard,
As shown at
Referring next to
During a typical air conditioning operation of an HVAC system, the evaporator core 14 cools the air which is blown over the evaporator tubes. As the air passes through the evaporator core, it becomes cooler and drier due to loss of moisture content. Usually, the moisture captured from air accumulates on the evaporator core surface and flows down and out via a drain tube 46. However, not all of the accumulated liquid leaves the evaporator core, depending upon the amount of moisture and the environmental conditions, most notably in high temperature and high humidity environments. Water retention at the evaporator core can be problematic, as the accumulated moisture could result in passengers sensing humidity from air entering through the vents, smelling odor due to bacteria and microbial growth, and, from a mechanical point of view, there is potential for rusting of the evaporator core. Accordingly, it is very desirable to ensure this accumulated water at the evaporator core is vacated therefrom whenever the motor vehicle is turned off.
Current HVAC system practices operate the blower intermittently for a short period of time after engine shut-down to remove as much moisture as possible (according to a "blow algorithm" that is well known in the HVAC system art). The blow algorithm directs the blower to blow air across the whole evaporator core surface area at the same time, which means that the air stream speed of the blow air is low and, as a result, could possibly not remove all of the moisture out of the evaporator core before blower shut-down. In addition, the moisture removal rate is limited by the vehicle's battery voltage and is potentially ineffective in humid environments. Accordingly, it is sometimes necessary to use UV light at the evaporator core to get rid of the bacterial growth, the source of which light having attendant packaging, cost and service issues.
Accordingly, what remains needed in the art is an efficient and effective way to ensure removal of moisture from the evaporator cores of HVAC systems.
The present invention is an evaporator core drying system in which air that is blown by the blower is concentrated into a narrow cross-sectional air stream of high speed purge air which passes progressively across the area of the evaporator core, per an appropriately designed blow algorithm, so as to effectively and efficiently dry the evaporator core.
The evaporator core drying system according to the present invention utilizes a configurable barrier disposed closely adjacent and upstream the evaporator core (downstream of the blower). The configurable barrier is dynamically configurable from a fully open configuration in which the evaporator core is fully exposed to the air blown by the blower, to a slotted configuration in which only a narrow cross-sectional slot exposes the evaporator core to the air blown by the blower, wherein the slot is progressively movable across the area of the evaporator core (as for example progressively from one side to the other; ie., either vertically, horizontally, or diagonally).
In operation of the evaporator core drying system, during utilization of the HVAC system of the motor vehicle, the configurable barrier is in its fully open configuration. However, when the blow algorithm implements, the configurable barrier reconfigures into its slotted configuration, wherein the slot is located at one side of the area of the evaporator core and then moves progressively thereacross to the opposite side. The operation of the blower creates a region of high air pressure between the configurable barrier and the blower, and a region of low air pressure exists downstream of the configurable barrier, wherein these two regions of differing air pressure mutually communicate via the slot. As a consequence of the air pressure drop across the slot, a rapidly moving stream of high speed purge air passes therethrough, the passage of which drying the evaporator core in a progressive manner as the slot progresses across the evaporator core.
According to the preferred embodiment of the evaporator core drying system, the configurable barrier is composed of a roller door system composed of either a selectively actuatable double roller door or a selectively actuatable single roller door.
Accordingly, it is an object of the present invention to provide an evaporator core drying system in which an air stream of high speed purge air passes progressively across the area of the evaporator core so as to effectively and efficiently dry the evaporator core.
This and additional objects, features and advantages of the present invention will become clearer from the following specification of a preferred embodiment.
Referring now to the Drawing,
Referring firstly to
By way merely of exemplification which follows the description with respect to
The evaporator core drier system 102 includes a configurable barrier 130, which is configurable between a fully open configuration shown at
Operationally with respect to drying of the evaporator core 114, the air stream 134′ is provided by a difference between a high air pressure region HP and a low air pressure region LP, each on a respective side of the configurable barrier 130, wherein the two differing air pressure regions mutually communicate via the slot 136. According to the blow algorithm, the configurable barrier 130 is thereupon continually reconfigured so that the slot (which retains a constant width) moves progressively across the area of the evaporator core 114, drying progressive portions of the evaporator core as they are progressively exposed to the air stream 134′ until the entire evaporator core has been dried.
It should be noted that while the slot 136 as depicted in
Referring now to
As shown at
Turning attention now to
Operation of the evaporator core drying system of
A blow algorithm 200 of
Next, at execution Block 212, one of the roller doors (the upper one) unrolls to provide the slot 136 of the slotted configuration of the configurable barrier at one side of the evaporator core 114, as depicted at
At execution Block 216, the roller doors reconfigure into the fully open position by one of the roller doors rolling down (the lower roller door), as shown between
Finally, at execution Block 218 the blower is shut-off.
It is to be understood that the configurable barrier may be implemented in any suitable manner. For example, as shown at
It is to be understood, therefore, that the present invention provides hardware and control methodology to: a) optimize the moisture removal rate after engine shuts down; b) eliminate potential for window fogging after the driver starts the engine the next time, since the evaporator core will have minimum (or no) moisture; c) provide a cost effective implementation of a rapid heating technology such as heat pump or hot gas cycles using the evaporator core as the heating device (conventional evaporator cores cannot be used in this manner due to moisture accumulation and the issue with window fogging); and finally, d) obviates need for UV lights.
To those skilled in the art to which this invention appertains, the above described preferred embodiment may be subject to change or modification. Such change or modification can be carried out without departing from the scope of the invention, which is intended to be limited only by the scope of the appended claims.
Patent Citations
Referenced by
Legal Events
Original Image


text:
Arientha Primanita
President Susilo Bambang Yudhoyono has told Australian Prime Minister Julia Gillard that Papua is an integral part of Indonesia as his administration continues to receive heavy criticism for its inability to resolve the violence plaguing its easternmost province.
Australian civil society groups staged a rally outside the building where the leaders met in Darwin on Tuesday, demanding Gillard pressure Yudhoyono to prosecute those behind recent deadly shootings in Papua and end a ban on international media reporting from the region.
Yudhoyono said on Wednesday that Gillard and Paul Henderson, the head of the Northern Territory, which Darwin is the capital of, expressed their full support for Indonesia's territorial integrity.
"I told them Papua is Indonesia's legal territory and that we will continue to do everything we can to bring prosperity and justice to Papuans," he was quoted as saying by www.setkab.go.id, the official website of the cabinet.
"Their response was clear. Both of them support Indonesia's territorial sovereignty," the president said before leaving the Australian city for Sumba Island in East Nusa Tenggara.
He said Indonesian diplomacy in the Pacific would always be geared toward seeking support for the country's territorial integrity from countries in the region.
Under the Lombok Treaty signed by Jakarta and Canberra in 2006, the Australian government acknowledged Indonesia's territorial integrity. Rights activists and opposition groups in Australia have continued to support the independence of Papua from Indonesia.
A recent spate of shootings in Papua that have left dozens of civilians dead have put Yudhoyono's administration under more pressure from the international community, Indonesian civil society groups and Papuan church leaders.
Observers said that Australia's support on the issue would help Yudhoyono fend off further demands to allow Papua to break away from Indonesia.
Hariyadi Wirawan, an international relations expert from the University of Indonesia, said Indonesia and Australia needed each other to solve their problems.
Australia, he said, will want Indonesia's cooperation in stopping the influx of asylum seekers, while Indonesia will seek assurances that Australia will not change its policy of supporting Indonesia's claim over its restive regions.
"Yudhoyono will ask for more … investment and support on Papua while Gillard will ask Indonesia to help stop boat people," Hariyadi said.
Australia has been trying to find a way to deal with people smugglers who bring asylum seekers to Australia. Most refugee boats depart from Indonesia.


text:
Hotels in 64443 - Easton MO
Only hotels in 64443 zip code are listed below. Search for cheap and discount hotel rates in Easton, MO for your upcoming leisure or conference / group travel. We list the best 64443 hotels and motels so you can review the Easton hotel list below to find the perfect lodging. Hotels in Buchanan county and area code 816 are also listed.
64443 Hotels, Motels & Accommodations
Next: Show All Available 64443 Hotels with Pricing >


text:
Scarlet Season: The Glossiest Reds
Listed below (left to right, row by row)
Scarlet Season: The Glossiest Reds
I wish we had been able to cover more red lipglosses, but alas, red lipsticks do tend to reign supreme! But since the glosses were not nearly as numerous as the lipsticks, what better way to remember them than with a dedicated round-up just for them?
My personal favorites were Guerlain Rouge Sultan (which is described as a lip gloss, but you could just as easily classify it as a liquid lipstick, but whatever!), Le Metier de Beaute Framboise Creme, MAC Check, Please, and MAC Warning. Too bad half that list was limited edition or discontinued. MAC Russian Red makes a good substitute for a bold, bright, glossy red, though, if you don't have either Check, Please or Warning on hand.
Which were your favorites?
- Chanel Jupiter Glossimer ($27.00)
- Eve Pearl Hey Sexy/Hot Mama Lip Gloss ($28.00)
- Guerlain Rouge Sultan Cashmere Lip Gloss ($28.00)
- Lancome Mercury Rising Gloss ($25.00)
- Le Metier de Beaute Framboise Creme Lip Creme Lip Gloss ($36.00)
- L'Oreal #306 Plumping Lip Gloss ($10.00)
- MAC Avarice Lipglass ($14.00)
- MAC Check, Please Lipglass ($14.00)
- MAC Cult of Cherry Lipglass ($14.00)
- MAC Russian Red Lipglass ($14.00)
- MAC Warning Lip Varnish ($14.00)
- Smashbox Siren Lip Gloss ($18.00)
Discussion and debate are highly encouraged, and we expect community members to participate respectfully. When asking a question, please check the FAQ section (above) for information about purchasing, price, dupes, and the like. If you have general feedback or need technical support, please contact us.
Comments that include advertisements, self-promotion, insults, etc. may be in violation of our comment policy and subject to deletion. Please see our comment policy for more information.


text:
|Artist: Various
(Save 22%)
$50.12 + Free Shipping
What are Rakuten Super Points™?
Get rewarded when you shop! Earn 1 point per dollar spent. That's like getting cash back on every purchase. Easy to see matured points in checkout. Use points just like cash.Learn More
More Buying Options
Song Listing
Disc 1
Song Title
1. Let's Get Together - Dino Valenti ~ Various Artists
2. I Feel Like I'm Fixin' To Die Rag - Country Joe & The Fish (EP version) ~ Various Artists
3. You Were On My Mind - We Five ~ Various Artists
4. Number One - The Charlatans ~ Various Artists
5. Can't Come Down - The Warlocks ~ Various Artists
6. Don't Talk to Strangers - The Beau Brummels ~ Various Artists
7. Anything - The Vejtables ~ Various Artists
8. It's No Secret - Jefferson Airplane ~ Various Artists
9. Johnny Was A Good Boy - The Mystery Trend ~ Various Artists
10. Free Advice - The Great Society ~ Various Artists
11. Mr. Jones (A Ballad Of A Thin Man) - The Grass Roots ~ Various Artists
12. Stranger In A Strange Land - Blackburn & Snow ~ Various Artists
13. Who Do You Love - Quicksilver Messenger Service ~ Various Artists
14. She's My Baby - The Mojo Men ~ Various Artists
15. Coffee Cup - The Wild Flowers ~ Various Artists
16. Live Your Own Life - Family Tree ~ Various Artists
17. Fat City - The Sons of Champlin ~ Various Artists
18. Human Monkey - The Frantics ~ Various Artists
19. Bye Bye Bye - The Tikis (Warner Brothers Single Version) ~ Various Artists
20. Section 43 - Country Joe & The Fish ~ Various Artists
21. Hello Hello - The Sopwith Camel ~ Various Artists
Disc 2
Song Title
1. Psychotic Reaction - The Count Five ~ Various Artists
2. Got Love - Front Line ~ Various Artists
3. Satisfaction Guaranteed - The Mourning Reign ~ Various Artists
4. Foolish Woman - Oxford Circle ~ Various Artists
5. My Buddy Sin - Stained Glass ~ Various Artists
6. Streetcar - The Otherside ~ Various Artists
7. Suzy Creamcheese - Teddy & His Patches ~ Various Artists
8. Rubiyat - The Immediate Family ~ Various Artists
9. Rumors - The Syndicate of Sound ~ Various Artists
10. Sometimes I Wonder - The Harbinger Complex ~ Various Artists
11. Want Ad Reader - The New Breed ~ Various Artists
12. I'm a Good Woman - Generation ~ Various Artists
13. No Way Out - The Chocolate Watchband ~ Various Artists
14. Hey I'm Lost - Butch Engle ~ Various Artists
15. I Love You - People ~ Various Artists
16. America - Public Nuisance ~ Various Artists
17. Fly To New York - Country Weather ~ Various Artists
18. Thing In "E" - Savage Resurrection ~ Various Artists
19. Hearts To Cry - Frumious Bandersnatch ~ Various Artists
Disc 3
Song Title
1. Alabama Bound - The Charlatans ~ Various Artists
2. Carl Street - The Mystery Trend ~ Various Artists
3. Somebody To Love - The Great Society (LP version) ~ Various Artists
4. Superbird - Country Joe & The Fish ~ Various Artists
5. Two Days 'Til Tomorrow - The Beau Brummels ~ Various Artists
6. Omaha - Moby Grape ~ Various Artists
7. Up & Down - Serpent Power ~ Various Artists
8. Golden Road, The (To Unlimited Devotion) - Grateful Dead ~ Various Artists
9. Codine - Quicksilver Messenger Service ~ Various Artists
10. Down On Me - Big Brother & The Holding Company (live) ~ Various Artists
11. Think Twice - Salvation ~ Various Artists
12. White Rabbit - Jefferson Airplane ~ Various Artists
13. Roll With It - Steve Miller Band ~ Various Artists
14. Why Did You Put Me On - Notes From The Underground ~ Various Artists
15. Underdog - Sly & The Family Stone ~ Various Artists
16. Summertime Blues - Blue Cheer ~ Various Artists
17. Glue - Ace of Cups ~ Various Artists
18. Soul Sacrifice - Santana ~ Various Artists
19. Bells, The - The Loading Zone ~ Various Artists
Disc 4
Song Title
1. Evil Ways - Santana ~ Various Artists
2. Red The Sign Post - Fifty Foot Hose ~ Various Artists
3. Lemonaide Kid - Kak ~ Various Artists
4. 1982-A - The Sons of Champlin ~ Various Artists
5. How Can I Miss You When You Won't Go Away - Dan Hicks & His Hot Licks ~ Various Artists
6. Amphetamine Gazelle - Mad River ~ Various Artists
7. Quicksilver Girl - Steve Miller Band ~ Various Artists
8. Revolution - Mother Earth ~ Various Artists
9. Murder In My Heart For The Judge - Moby Grape ~ Various Artists
10. Light Your Windows - Quicksilver Messenger Service ~ Various Artists
11. I'm Drowning - Flamin' Groovies ~ Various Artists
12. Portrait Of The Artist As A Young Lady - Seatrain ~ Various Artists
13. White Bird - It's A Beautiful Day ~ Various Artists
14. Dark Star - Grateful Dead (Single Version) ~ Various Artists
15. Fool - Blue Cheer (Single Version) ~ Various Artists
16. Mexico - Jefferson Airplane ~ Various Artists
17. Mercedes Benz - Janis Joplin ~ Various Artists
18. Get Together - The Youngbloods ~ Various Artists
Album Notes and Credits
Notes & Personnel Info
|Liner Note Authors: Ben Fong-Torres; Gene Sculatti.
|As the fourth Nuggets box from Rhino, LOVE IS THE SONG WE SING: SAN FRANCISCO FRANCISCO 1965-1970 is easily the most specific and idiosyncratic yet, a set devoted to a time and a place: namely the Bay Area that sowed the seeds of the Summer of Love in 1967. Released in conjunction with that 40th anniversary, LOVE IS THE SONG WE SING is surely a time capsule, but it may not be as much interest to those who lived through it as those who pine for the glory days of free love, hippies, and psychedelia. No less of an authority than legendary rock critic Greil Marcus noted in his Interview magazine review that many of these bands are obscure to him -- and he lived through the time, in the Bay Area, so he should know. Chances are the average listener looking for a heavy dose of nostalgia will also find LOVE IS THE SONG rather overwhelming in its reliance on momentary sensations and obscurities, but that's kind of the point of all the Nuggets sets: to dig way deeper than the surface and find the best of its chosen subculture. Fans of Nuggets know this, but the odd thing is that they may not be entirely satisfied with this set either, as it deviates from the Nuggets formula in a couple of crucial ways. First, there are some genuinely huge songs by genuinely huge bands -- like Jefferson Airplane's "White Rabbit," Country Joe & the Fish's "I Feel Like I'm Fixing to Die Rag," Blue Cheer's "Summertime Blues," and Santana's "Evil Ways" -- a few more marquee names than normal (including the Grateful Dead, Steve Miller Band, Janis Joplin, Sly & the Family Stone, and Moby Grape), and bands are occasionally repeated, but the biggest musical difference is that this is a decided shift away from the wild, wooly guitar rock of the previous Nuggets, lacking both the raw garage and hard, swirling psychedelia that has been the hallmark of the series. Instead, LOVE IS THE SONG WE SING is firmly within the camp of the hippies, documenting their rise, their peak, and softly disguising their fall by ending the set in 1970, when the Summer of Love was still echoing strongly but just beginning to fade.
|This set takes its time to get to 1967, as that legendary summer doesn't roll around until disc three, but the pace never seems leisurely, as the first two discs document how that summer came to be, beginning with Dino Valenti's "Let's Get Together" (which provides the chorus to the Youngbloods' "Get Together," the '60s standard that closes the set), then winds its way through a lot of folk-rock before tougher, bluesier, trippier sounds work their way into the mix toward the beginning of the second disc. Just like the hippies, LOVE never really abandons these folkie beginnings and that communal vibe is always present even as soul, jazz, bluegrass, blues, and avant-garde bubble toward the surface. Ultimately, it's best to view this box set as a document of the era of the hippies, a piece of pop culture anthropology that might not be perfect but there is no comparable compilation to this, no other set that has the same scope or ambition.
Producer: Alec Palao (Compilation)
Technical Info
|Release Date : 09/18/2007
|Original Release Date : 2007
|Catalog ID : 165564
|Label : Rhino (Label)
|Number of Discs : 5
|Studio/Live : Studio
|Mono/Stereo : Stereo
|SPAR Code : n/a
Professional Reviews
Rolling Stone (p.81)
- 4 stars out of 5 -- "The reckless joy of the acid-garage tumult and utopian dreaming on these four CDs proves once and for all that San Francisco, in the second half of the Sixties, was the most exciting rock & roll city in America..."
- 4 stars out of 5 -- "The reckless joy of the acid-garage tumult and utopian dreaming on these four CDs proves once and for all that San Francisco, in the second half of the Sixties, was the most exciting rock & roll city in America..."
Dirty Linen (pp.55-56)
- "[T]his is a wonderful tutorial for those who missed the golden age of Bay Area rock, and a memory-filled souvenir for folks who were there."
- "[T]his is a wonderful tutorial for those who missed the golden age of Bay Area rock, and a memory-filled souvenir for folks who were there."
View all buying options for Love Is the Song We Sing: San Francisco Nuggets 1965-1970
45-Day RETURNS
All products are BRAND NEW and factory sealed. Fast shipping with tracking and delivery confirmation! 100% Satisfaction Guaranteed.
Shipping: Usually ships in 1 to 2 business days
Condition: Brand New
Seller: Buy.com
Shipping: Usually Ships within 24 hours
Condition: Brand New
Love Is the Song We Sing: San Francisco Nuggets 1965-1970 [Box]
+ $2.98 shipping
Shipping: Usually ships in 1 to 2 business days
Condition: Brand New
Buy with confidence. Excellent Customer Service & Return policy. (LOVE IS THE SONG WE SING:SAN FRANCISC)
+ $9.30 shipping
Shipping: Usually ships in 1 to 2 business days
Condition: Brand New
All our items are brand new - Ships directly from our Warehouse in California - Estimated delivery time: 5-7 days after shipment.
+ $4.66 shipping
Shipping: Usually ships in 1 to 2 business days
Condition: Brand New
+ $4.50 shipping
Shipping: Usually ships in 1 to 2 business days
Condition: Brand New


text:
Dash Berlin's Live DJ Mix Set from EDC Orlando is up! Below the full set plus epic photos of the night.
Couple more photos, thanks Marc!
Views: 13372
Can we get a track list for the lovely dashers?
Definitely agree with Trang I missed EDC Orlando but this is the next best thing. Thanks Dash for posting this I am hoping to see you at EDC LV this upcoming year :D Happy Late Birthday also
Thanks for posting this for those of us who couldn't make it out to EDC........it's the next best thing to actually being there!! Hope to make it out to one of your concerts soon!! Thanks Dash!!


text:
Street style tip of the day: Denim overalls
The trend report: Overalls are back in a big way
How to dress up a pair of overalls
7 new street style-inspired outfits
Overalls get a sexy makeover for fall 2014
Pack Like a Pro: The Indy 500
10 Long-Lost '90s Trends Ripe for a Comeback
Country Chic: Are Overalls the Latest Trend?
The latest in fashion, beauty, and hair – delivered straight to your inbox.
Now you can look forward to getting the latest in fashion, hair and beauty delivered straight to your inbox.


text:
Click Here To Watch This Video at All American Heroes
All-AmericanHeroes features amateur straight guys out of uniform. These straight men are REAL current or former cops, marines, firemen, lifeguards, military police.
Description: This Week Is One of the Hottest Coupling of Military Men, Private 1st Class Roman and Usmc Sam. Roman Begins by Telling Stories of His Escapades With Men, How His Girlfriend Got Him to Do His First 3
Permanent link to this video:
Code to embed player in blogs and forums, etc:
Post this video in the JUB Forums with this code:
Simply copy the above code into your JUB forum post and the movie will appear.


text:
Kana Hanazawa second solo single "Hatsukoi Note" (Hatsukoi Nooto) is getting ready for release on July 18th. The cover jackets and track list are official. Hanazawa also has announced she will hold a pair of mini-live & talk to commemorate the single's release – ticket application by lottery. The updated information on the single follows.
Browsing Kana Hanazawa Hatsukoi no-Oto
Popular voice actress Kana Hanazawa has announced her second solo single "Hatsukoi no-Oto" which is set for release on July 18th. The single is written and composed by Nakatsuka Takeshi, who provided the music for the anime adaption of Idolm@ster, and is known to combine a unique sound of jazz, Latin, and electronic. Hanazawa released her first single "Hoshizora Destination" not too long ago on April 25th. More early release details on her second single follow,


text:
1 of 59
Lez Dance threw a hell of a beach bash on August 1, 2014 -- and it may have been the only party in St. Louis that combined strobe-light sunbathing with masterful pole dancing. 2720 Cherokee attracted bikini babes, sailors and dancers of all types who were interested in one thing: fun in the (faux) sun.
Photos by Micah Usher for the Riverfront Times.
Published on August 2, 2014


text:
Narrow your search
Convert all your video files into iPod video format.
The iPod Touch is a tiny, relatively inexpensive way to get a taste of iOS, but is it worth buying? Let's find out.
Typical price: £199.00
The latest iPod Touch is the best iPod ever, and as close to a phoneless iPhone 5 as you can get -- but its high price makes it a tough call versus cheaper tablets with larger screens.
Pricing not available
The seventh-generation iPod Nano is an incredibly compact portable media player with gym-friendly features, but it's overshadowed by the superior value of Apple's iPod Shuffle and fourth-generation iPod Touch.
Pricing not available
CNET's Donald Bell looks at the value proposition of Apple's latest 16GB iPod Touch -- and doesn't like what he sees.
Pricing not available
The iPod Classic refines the formula that put the iPod on the map. None can match its combination of storage capacity, battery life, and intuitive user interface.
Pricing not available
The Apple iPod Shuffle is an adorable way to take your favorite songs on the go, but sometimes it's too small for its own good.
Pricing not available
The fourth-gen iPod Touch is Apple's second-best portable media player, with a price that will help you forget about No. 1.
Pricing not available
The iPod nano 7th gen is a thin and light way to pack Hollywood hits into your pocket, but it's not as suited to the gym as the previous one.
Pricing not available
It's a sleek, slim device, but where does it fit in?
The long overdue refresh is the device's first major update since 2012.


text:
Elizabethtown The Elizabethtown-Lewis Central School District will be getting two new buses to help replace an aging fleet.
Voters accepted a pair of propositions from the school district during polling Feb. 6 to purchase the vehicles. The first, a 22-passenger handicap-accessible school bus not to exceed $66,500, passed 95-18; while the second to purchase a 35-passenger school bus not to exceed $53,000, also passed 94-16.
"The community's support of Elizabethtown-Lewis Central School continues to be strong," Superintendent Scott Osborne said. "I'm appreciative of the support we've received for our fleet replacement plans; we're taking appropriate steps to be thoughtful in how we use and maintain our buses, and the community recognizes that. We certainly have support here."
Osborne previously said that school is facing an aging bus inventory that needs to be addressed.
"We put a lot of miles on these and our school bus fleet is aging rapidly," he said. "Right now there are no spare buses in our fleet. Two did not pass DOT inspection. We need to get back into the cycle of replacing our buses."
The 22-passenger, handicapped accessible bus would replace their current pair of handicapped accessible buses.
"We are really cautious with Bus 73 right now," Osborne said. "It is far beyond the end of its lifespan with 137,443 miles on it. Our other bus, 77, has 113,939 miles on it. We are only asking for one and we would take 73 out of service and use 77 as a spare."
The 35 passenger bus would replace Bus 70, which has 119,310 miles on it.
Payment for the buses would come from the current budget's fund balance.
More like this story
Use the comment form below to begin a discussion about this content.


text:
Girls Sleepwear Sale: Discount Pajamas for Baby Girls and Little Girls
Sleep tight with great savings on discount girls pajamas and discount girls sleepwear at Sophias Style. Our comfy cozy discount girls pjs are sure to please your special newborn, infant, toddler, little or plus size girl! While you're shopping for boutique sale girls pajamas, don't forget to check out or entire girls sale section for the best deals around!
Laura Dare Baby Girls Red Green Dotted Christmas Present Design Nightgown 3-6M
Our Price $27.99
Sale Price: $20.99
Absorba White Orange Striped Halloween Bib Bodysuit Set Baby Girl 3-9M
Our Price $16.67
Sale Price: $4.99
Laura Dare Fuchsia Purple Petticoat Nightgown Baby Girls Premie-6M
Our Price $52.99
Sale Price: $15.99
Laura Dare Pink Red Dot Ruffle Sleepwear Set Baby Girl Preemie-24M
Our Price $20.00
Sale Price: $8.99
Laura Dare Infant Girl Lime Pink Yellow Ruffle Bloomer Pajamas 3-12M
Our Price $33.33
Sale Price: $8.99
Laura Dare Pink Black Animal Pajama One Piece Baby Girl Newborn-24M
Our Price $35.33
Sale Price: $9.99


text:
To be admitted to medical school, it has always taken good grades and a strong background in the sciences. Most pre-med students load up on college courses in biology, chemistry, physics and math. Twentieth-century American history or the poetry of Yeats? Not so much.
There's traditionally been a strong belief that college students pursuing their premedical studies should concentrate on the sciences rather than the humanities, and that this preparation will make them more successful in medical school and ultimately help them become better physicians.
A new study, published in the August edition of the Academic Medicine journal, has come along to punch a few holes into this belief. The title more or less sums it up: "Challenging Traditional Premedical Requirements as Predictors of Success in Medical Schools: The Mount Sinai School of Medicine Humanities and Medicine Program."
The study involved about 700 medical students at the Mount Sinai School of Medicine in New York. Eighty-five of these students were enrolled in the school's Humanities and Medicine Program; the rest took traditional coursework. After analyzing and comparing data on academic outcomes for the graduating classes of 2004 through 2009, the authors concluded, "Students without the traditional premedical preparation performed at a level equivalent to their premedical classmates."
In the interests of full disclosure, I graduated from a liberal arts college where most of my coursework was in the humanities. I've been increasingly disturbed at how the sciences are pushed on young people as the ticket to a "good" (read: lucrative) career, the implication being that the humanities don't hold the same value. So reading about this study in Academic Medicine made my nerdy little English major's heart skip a few beats.
Among the findings: Students enrolled in Mount Sinai's Humanities and Medicine Program were just as likely as their peers to graduate from medical school with honors or distinction. Interestingly, they also were more likely to choose residencies in primary care and psychiatry, and less likely to gravitate toward anesthesiology and surgical subspecialties. They did not perform as well on the U.S. Medical Licensing Examination Step 1, which may have been a reflection of their nonscience background or perhaps how the test itself is structured. The study's authors noted, however, that even with slightly lower test scores, this "seems unlikely to affect their clinical skills or to keep them from securing high-quality residency training positions."
The Humanities and Medicine Program is intriguing in and of itself. Qualified college sophomores and juniors majoring in the humanities or social sciences who sign up for the program are guaranteed admission to the Mount Sinai School of Medicine. (Lest anyone think it's easy to get in, it's not: The selection criteria include high school and college grades, SAT scores, two personal essays, three letters of recommendation and two interviews at Mount Sinai.) Once accepted into the program, HuMed students don't have to take organic chemistry, physics or calculus, nor do they have to take the MCAT exam. They do have to maintain at least a 3.5 grade point average, however, and they also must earn a B or better in biology and chemistry.
There's no program like it at any other medical school in the U.S., so it's hard to know whether the findings from this study can be replicated elsewhere. Nor did the study look at how Mount Sinai's HuMed graduates fared in clinical practice.
It all raises some interesting questions, though, about how we prepare future physicians here in the United States. Do pre-med students really need to sweat their way through organic chemistry in order to meet the admission criteria for medical school? Do medical schools needlessly skew the application process? Have they tilted too far toward the sciences and away from the humanities, and is this in some way detrimental to producing physicians who are well-rounded human beings?
It's a somewhat controversial question in academic circles. There's been little movement, though, to address it more fully, the journal article acknowledges:
Despite general agreement that many premed requirements are of limited educational value for the practicing physician or active scientist and that a broad liberal arts education provides direct benefits to practitioners and their patients, little progress has been made toward a fundamental reappraisal. In 2009, over 80% of matriculating applicants entered medical school with majors other than the humanities or social sciences. The belief that the premed science background (including one year each of organic chemistry, physics, and calculus) is the best form of student preparation for medical school persists, and admissions committees' reliance on exceptional MCAT scores prevails.
This emphasis on the sciences percolates all the way down to high school and even junior high. Career counselors urge students interested in medicine to start beefing up their science background as soon as possible. It's thought by many observers that if students wait until their junior or senior year in high school, it's too late. You can't help wondering about the long-term impact of this do-or-die channeling of young people's interests and the academic choices it often forces them to make.
To be a good clinician, unquestionably it takes a strong background in the sciences. Majoring in the sciences does not necessarily turn someone into a soulless robot, just as an emphasis on the humanities doesn't necessarily guarantee someone will be perceptive and empathetic. It's worth asking, however, whether a more balanced premedical education would ultimately be better both for doctors and for their patients. This study offers at least some preliminary evidence that it's possible for medical students to hold their own even when they haven't spent all their college years in the science lab.
Update, Aug. 11: Here's a personal perspective on this issue from Dr. Bob Wachter, who majored in political science.
Photo: Wikimedia Commons


text:
Call Toll Free:
Pennsylvania Railroad 2014
Sorry, this product is sold out
Pennsylvania Railroad Calendar
Chartered in Pennsylvania in 1846, construction of the Pennsylvania Railroad began in 1847, and the first all-rail line reached Pittsburgh in 1852. Eventually PRR connected Chicago with Washington, D.C. Pennsylvania Railroad recalls the unique engines and trains of "The Standard Railroad of the World."
14 by 22 inches, open
Featured Trains and Locations:
- Engine 5800 (only Class DD2 ever built) at South Philadelphia, Pennsylvania, engine terminal, 1958
- Engine class M1 Mountain 6969 (4-8-2) heads eastward in Cove, Pennsylvania, 1957
- Mountain 6758 (4-8-2) at Rockville Bridge, near Enola, Pennsylvania, 1957
- Engine 7938 (Class N2 Santa Fe 2-10-2) near Englewood, Illinois, 1947
- Mount Carmel ore train with two class I-1 Decapods (2-10-0s) and engine 4311 approach Weigh Scales, Pennsylvania, 1956
- Engine 5901 and Train #22 "Manhattan Limited" at Chicago's Union Station, 1954
- Engine class P5a Motor 4742 at Enola, Pennsylvania, 1961
- Class M1a Mountain 6754 (4-8-2) at Northumberland, Pennsylvania, turntable, 1930
- Engine class GG1 Motor 4893 at bridge in Newark, New Jersey, 1958
- Engine 1600 (Class E6 Atlantic 4-4-2) heads westward at Norristown, Pennsylvania, 1953
- Engine 7253 with coal train through Orrville, Ohio, 1967
- Class GG1 motors (six of them) at Philadelphia, Pennsylvania, 1965
Pennsylvania Railroad Background
The Pennsylvania Railroad (PRR) became the standard by which other railroads were measured. Founded in 1846 to connect Harrisburg to Pittsburgh, PA, PRR began calling itself the Standard Railroad of the World in 1916. Other railroads aspired to PRR's accomplishments, including being the first railroad to replace wooden-bodied passenger cars with steel-bodied cars, and the first to introduce the vestibule train. PRR also led the way in many safety and efficiency improvements.
Pennsylvania Railroad Introduction
Pennsylvania Railroad Calendar 2012 marks the 155th anniversary of the line that showed the world how a successful railroad should be run at least until it failed. The tracks, the trains and the history live on in the just-released Pennsylvania Railroad 2012 calendar published by Tide-mark Press. The 2012 Pennsylvania Railroad calendar brings back the days when the Pennsylvania Railroad ran from Chicago and St. Louis to New York City and Washington, D.C., with color photographs taken in the 1950s and 1960s.
Pennsylvania Railroad Calendar Photographs
Each picture is accompanied by a description of the action and the equipment. This beautifully designed publication is attractive and useful, with calendar grids that have large blocks for every day of the week. The monthly calendar also includes grids for the previous and forthcoming months, to make planning more convenient. The Pennsylvania Railroad calendar opens to a generous 14 by 22 inches, nearly 10 percent larger than most other brands and includes major holidays and phases of the moon.


text:
Mercilessly reviewing all the big movies hitting my local multiplex.
Saturday, 5 March 2011
Film #24 West Is West
I'm sure this caught a lot of people by surprise - twelve years on from the original East is East we get the sequel, the inevitably-entitled West is West. Beginning in 1970s Salford - and picking up a four years after East is East - the youngest of George and Ella Khan's boys, Sajid (Aqib Khan) is going off the rails and rejecting his father's Pakistani heritage. To set him back on the straight and narrow, George (Om Puri) takes Sajid along with him on a trip to Pakistan, ostensibly to find a wife for Sajid's traditionally-minded brother Maneer (Emil Marwa) who is living with George's Pakistani family in the Punjab. However, as George confronts his first wife, Basheera (Ila Arun), long-buried conflicts re-emerge and identities are questioned.
Good points - Om Puri cannot put in a bad performance (and the acting all-round is generally fine), the Punjab (actually India) is beautifully photographed, there are a few decent laughs to be had and the story sort-of manages to hold together under the weight of the writer's wish to work fairly strenuously on 'themes'
Bad points - well, for (presumably) a comedy it veers uncomfortably away from its genre at times; just as the first film went off the rails when the domestic violence started, so the laughter stops here as the scale of the misery wreaked by George becomes clear (and, oddly, we seem to be asked to sympathise with him toward the end, as there is a kind of spurious reconciliation). There is unevenness elsewhere too - Sajid's mentoring in Pakistan by a wise Sufi mystic seems to buy into the same kind of Orientalist chic that is parodied earlier in the film, in Jimi Mistry's cameo as proprietor of a head shop. Oh, and as with Paul there is too much use of swearing for comic effect.
A well-intentioned, occasionally amusing but ultimately problematic film.
Tweet This
Posted by Joe Hill at 11:25
Subscribe to: Post Comments (Atom)


text:
2009-10: Posted a 14-8 mark in singles play during the spring, tying for the team lead in victories ... Spent most of the season at No. 5 singles, recording a 9-4 mark ... Was a combined 8-12 in doubles competition.
2008-09: Registered a team-high eight wins, finishing with a singles record of 8-8. ... Was 1-0 at N0. 3 singles, 4-7 at No. 4 singles and 3-1 at No. 5 singles. ... Teamed with four doubles partners for a combined 3-12 record.
HIGH SCHOOL: Was a semifinalist at Hungarian National Men's Championship in doubles and the runner-up in U18 Nationals.
PERSONAL: Marton Lojos Horvath was born June 27, 1989, in Budapest, Hungary ... Son of Lajas Horvath and Gyoroyike Zugomes ... Enjoys listening to music, watching movies, surfing the Internet and playing sports.
Event is the longest-running tournament in Texas
10 graduates earned all-conference honors at Lamar
Valdenebro wraps up perfect conference record in singles
Lamar still in hunt for Southland Conference tournament berth
Lamar drops 4-3 decision to Falcons


text:
Moving Services in Sunnyside, NY
Packing. Loading. Moving Labor. Just for you, Sunnyside.
- see prices for Sunnyside, NY moving labor, instantly.
- Read real, unfiltered customer reviews.
- book your help securely and safely online.
Top movers in Sunnyside
The top moving services in Sunnyside, NY are listed below, ready and waiting to aid in your moving day adventure. To see their pricing and availability enter your zip code and move date above.
Sunnyside -- City Guide
Moving to Sunnyside?
Living in Sunnyside, NY presents certain challenges when move day comes. Finding a moving service that does a great job and doesn't charge an arm and a leg should be easier than spotting a Bluebird (the New York state bird).
When moving in New York, make sure to compare multiple moving quotes and get references or reviews from past customers of each company. This could mean several hours of research as you work your way through the Sunnyside phone book, calling individual moving companies. It also means you might not get the most transparent, unbiased reviews.
Would a moving service really give a potential customer the contact info to a disgruntled past customer, as a reference?
Sunnyside, NY needs a trustworthy place to read un-edited reviews on local moving companies and see clear, upfront pricing. That's why we built HireAHelper.com. Sunnyside movers listed on HireAHelper.com know they are held to a higher standard because (1) all future customers will see real reviews, positive and negative, left by past customers and (2) visitors to HireAHelper will see each moving company listed right along side of their Sunnyside, NY competitors. This encourages open price competition and higher quality moves, on every move booked through HireAHelper.
Moving far? Find unloading help on HireAHelper too!
One more piece of good news - HireAHelper movers aren't just in Sunnyside. In fact, our list of moving services doesn't just cover all of New York. It doesn't matter where you're moving to, HireAHelper.com has local movers listed nationwide. So, regardless of if you need unloading help in Chicago or unpacking help in Houston, we've got someone there ready to get you into your new home.
Introducing Moving 101™
Haven't rented your moving truck or container yet? We can help! Our brand spankin new Moving 101 section has all the information you need to help you compare all your moving options and plan your move. Read real reviews and compare average pricing for local & long distance truck rentals and moving containers. Find must-know tips, tricks, & reminders to make an easier move. Plus, discover more about why making a Hybrid Move with HireAHelper will save you time & money. Happy moving!Make An Easier Move
Neighboring Cities
- Arverne
- Astoria
- Bayside
- Bellerose
- Breezy Point
- Cambria Heights
- College Point
- Corona
- East Elmhurst
- Elmhurst
- Far Rockaway
- Floral Park
- Flushing
- Forest Hills
- Fresh Meadows
- Glen Oaks
- Hollis
- Howard Beach
- Jackson Heights
- Jamaica
- Kew Gardens
- Little Neck
- Long Island City
- Maspeth
- Middle Village
- Oakland Gardens
- Ozone Park
- Queens Village
- Rego Park
- Richmond Hill
- Ridgewood
- Rockaway Park
- Rosedale
- Saint Albans
- South Ozone Park
- South Richmond Hill
- Springfield Gardens
- Sunnyside
- Whitestone
- Woodhaven
- Woodside