Saturday, April 28, 2007
CASTrader Blog
http://www.castrader.com
(Chris, you probably know about this one already...)
©2007 Marc Adler - All Rights Reserved
Any impressions of the Microsoft FinDev Conference?
Anyone care to leave their impressions of the conference?
©2007 Marc Adler - All Rights Reserved
Airplane Boarding and Messaging
http://www.math.duke.edu/news/awards/MCM2007lmw.pdf
At the airport, I always fantasize myself with a Jedi light sabre in hand, lopping off the heads of those people who block the aisles for ten minutes, trying to shove some ridiculously-sized carry-on into the overhead bin.
Of course, my solution is to equip everyone with their own private jets, ala The Jetsons. However, the New York Times threw cold water on this idea.
©2007 Marc Adler - All Rights Reserved
Friday, April 27, 2007
KDB+ Architect Needed
©2007 Marc Adler - All Rights Reserved
Wednesday, April 25, 2007
Finetix and Sungard - It's Official
http://biz.yahoo.com/bw/070425/20070425005824.html?.v=1
Funny thing that no comments from the owners of the acquired company was made in the press release, going against the tradition of each party stroking eachother's backs.
This acquisition harkens back to the 2001 buyout of PriceWaterhouse Consulting (PWC) by IBM Business Consulting Services (BCS). The consultants of PWC were paid about 40% more than the equivalent consultants at BCS. Immediately, many of the PWC consultants experienced "downwards salary adjustments". For several years after that, the BCS consultants got no merit increases, nor did they get anything that resembled a bonus. Many of the best PWC consultants left.
I know for a fact that SunGard does not pay the same excellent salaries that Finetix paid. (I have been contacted many times by recruiters for product and project management positions at Sungard, and the total comp was about 2/3 of the Finetix comp.... maybe the technical consulting positions pay better?) It will be an interesting next few years for the Finetix employees that decided to stay with the new SunGard organization. I know that, when I was hiring for Finetix, I received resumes from a number of people who were employed by SunGard. I cannot help but see how this cycle will not repeat itself.
Best of luck to all of my old colleagues from Finetix! You know where to reach me. My group has a number of openings.....
©2007 Marc Adler - All Rights Reserved
Thursday, April 19, 2007
Resharper Suggestions from a Colleague
(from Tim)
- A way to split all the classes in a file into their own files (e.g. I’ve refactored one class into several, I’m happy with my new class hierarchy, and I want to now make sure I have one class per file)
- A way to copy XML documentation from the base class or interface (it will do this if you ask it to implement interface members, but after that you have to copy & paste)
©2007 Marc Adler - All Rights Reserved
Wednesday, April 18, 2007
TopCoder.com
There are more components and apps written for Java, but the .NEt world is well represented on that site.
I have also heard that some of the financial companies are starting to recruit from TopCoder. It's a good way of examining a candidates coding technique and architectural insight. It's a better way of screening a candidate, rather than going through the same old "Describe Polymorphism to Me" questions.
©2007 Marc Adler - All Rights Reserved
Help Improve Resharper
Off the bat, I would like:
1) A way to tell Resharper to fix an entire file in one fell swoop, without having to navigate to each error or warning.... especially when resolving Redundant Qualifier warnings.
2) A way to Encapsulate all local variables in one fell swoop without having to navigate to each variable, right-clicking, and choosing Encapsulate Field.
©2007 Marc Adler - All Rights Reserved
Thursday, April 12, 2007
Sunguard Consulting Services
Looks like Chris Conte saw some value in my old employer, and made an offer. But, according to my various sources, the only catch is that 50% of the consultants have to stay in order for the deal to go through.
Are Lab49 and Infusion next? They would certainly make a tasty snack for Larry Ellison.
©2007 Marc Adler - All Rights Reserved
Wednesday, April 04, 2007
Street#Grid
Maybe meet up for a drink afterwards?
©2007 Marc Adler - All Rights Reserved
QuickFix and Parsing
I believe that FIX4NET has this functionality, but they do not support FIX 4.4.
We have to petition Mike Roberts to get a .NET version of the TTConnect FIX Engine.
©2007 Marc Adler - All Rights Reserved
Sunday, April 01, 2007
Solution: QuickFix to Enums
static public Type EnumOrdType = new ConstCharsToEnumCreator<OrdType, char>().Convert();
static public Type EnumProduct = new ConstCharsToEnumCreator<Product, int>().Convert();
Now, if we want to fill a combo box with the values of these objects,
this.cmbOrdType.Items.AddRange(Enum.GetNames(OrderBO.EnumOrdType));
this.cmbProduct.Items.AddRange(Enum.GetNames(OrderBO.EnumProduct));
The definition of the helper class is:
public class ConstCharsToEnumCreator<TQuickFixType, TEnumBaseType>
{
static private AssemblyBuilder m_assemblyBuilder;
static private ModuleBuilder m_moduleBuilder;
private EnumBuilder m_enumBuilder;
private Type m_createdEnum;
private Type m_typeThatHasConstChars;
public ConstCharsToEnumCreator()
{
this.m_typeThatHasConstChars = typeof(TQuickFixType);
if (m_moduleBuilder == null)
{
CreateCallee(Thread.GetDomain());
}
}
public Type Convert()
{
CreateEnumBuilder();
FieldInfo[] fields = this.m_typeThatHasConstChars.GetFields();
foreach (FieldInfo field in fields)
{
if (field.IsStatic && field.IsLiteral && field.IsPublic && field.FieldType == typeof(TEnumBaseType))
m_enumBuilder.DefineLiteral(field.Name, field.GetRawConstantValue());
}
m_createdEnum = m_enumBuilder.CreateType();
return m_createdEnum;
}
private void CreateCallee(AppDomain myAppDomain)
{
// Create a name for the assembly.
AssemblyName myAssemblyName = new AssemblyName();
myAssemblyName.Name = "EmittedAssembly";
// Create the dynamic assembly.
m_assemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Save);
// Create a dynamic module.
m_moduleBuilder = m_assemblyBuilder.DefineDynamicModule("EmittedModule", "EmittedModule.mod");
}
private void CreateEnumBuilder()
{
// Create a dynamic Enum.
string enumTypeName = string.Format("{0}.{1}Enum", this.GetType().Namespace, this.m_typeThatHasConstChars.Name);
m_enumBuilder = m_moduleBuilder.DefineEnum(enumTypeName, TypeAttributes.Public, typeof(TEnumBaseType));
}
}
©2007 Marc Adler - All Rights Reserved