Powered by Twitter Tools.

March 2007
M T W T F S S
« Feb   Apr »
 1234
567891011
12131415161718
19202122232425
262728293031  
Chris Donnan

Create Your Badge

Chris Donnan : Programming – Brooklyn Style

software, trading, family, fun

Krzysztof Cwalina – MSR Technical Education Series: Designing .NET Class Libraries

Go watch (or at least listen)

Krzysztof Cwalina – MSR Technical Education Series: Designing .NET Class Libraries


You can leave a response, or trackback from your own site.



Designing Interfaces UI Behavior Patterns

I have been re-reading Designing Interfaces. Good book for designing user interfaces as the name implies. The author had a lot of this info on the web, but the book has much, much more. Anyhow I was going over the ‘behavioral patterns’ and though they were woth mentiong here:

Safe Exploration “Let me explore without getting lost or getting into trouble.”

Instant Gratification “I want to accomplish something now, not later.”

Satisficing “This is good enough. I don’t want to spend more time learning to do it better.”

Changes in Midstream “I changed my mind about what I was doing.”

Deferred Choices “I don’t want to answer that now; just let me finish!”

Incremental Construction  “Let me change this. That doesn’t look right; let me change it again. That’s better.”

Habituation “That gesture works everywhere else; why doesn’t it work here, too?”

Spatial Memory “I swear that button was here a minute ago. Where did it go?”

Prospective Memory “I’m putting this here to remind myself to deal with it later.”

Streamlined Repetition “I have to repeat this how many times?”

Keyboard Only “Please don’t make me use the mouse.”

Other People’s Advice “What did everyone else say about this?”

 All great stuff. Most UIs are bad ! The section in this book on presenting complex data are excellent – I highly recommend it.

-Chris


You can leave a response, or trackback from your own site.



NinjaTrader

I spent a lot of time doing non-bank automated trading. Most of my efforts were working with TradeStation for several consulting clients. I also did more auto-trading work with prop trading individuals, direct to some API – like PatsSystems, Interactive Brokers, etc. These are all good tools for the non-institution. After several years of using SmartQuant on and off, I met a guy and started talking to him about potentially collaborating on some .net based trading technology. I had done lots of work in the optimization/ machine learning space, he has spent most of his effort doing data feed adapters. He eventually combined his small firm with these folks; NinjaTrader.

These guys seem to have continued on well enough. NinjaTrader seems to be adding features and be progressing nicely. It is an inexpensive way to develop C# based automated trading systems.

 -Chris


You can leave a response, or trackback from your own site.



StreamBase slides from Algorithmic Trading 2007 Conference

StreamBase slides from Algorithmic Trading 2007 Conference

Look At the picture on slide 4. This IS what I also believe is the future state of real trading infrastructure.

  • Event Driven Architecture – because it really is an event driven business.
  • Stream Processing engine to clean and normalise data feeds.
  • N Automated trading strategies
  • Real Time event driven risk management
  • N automated, event driven execution strategies

This is what it is all about folks. Get me in the game :) I have had notes about this stuff for a few years now, and this is the best total picture that I have seen… OK I have to screenshot this … Read the slides anyhow – but here is th slide.

thebigpicture.jpg

-Chris


You can leave a response, or trackback from your own site.



Tangosol cache for .net released

Tangosol cache for .net releasedinteresting, useful, good


You can leave a response, or trackback from your own site.



More .net tools for the tool junkie

Reflector - best .net tool ever. It is always open on my machine to look @ how .net does stuff internally. Use it in 9999 ways. Codeplex has a list of some great Reflector add-ins. 

Also – the links add-in page has a few noteworthly pointers…

Hawkeye

Doubler

Dependency Structure Matrix

-CD


You can leave a response, or trackback from your own site.



1 WPF Stuff

At the recommendation of a collegue – I have been reading Windows Presentation Foundation Unleashed .

I will say that this is a really good book. Before this one, I had read Programming Windows Presentation Foundation .

 

At the time, it was a good book, but it just does not have the same level of info as the WPF Unleashed book.

I also began looking into WPF Grids yesterday. Today I started really playing with Infragistics WPF Grid control. It is pretty cool – and it LOOKS wonderful. The Carousel Controls are lovely. These controls have some real polish to them.

  

Xceed also has a WPF grid control – I will be looking into it in the near future. 

Syncfusion is another major grid player, but their page currently says :

“We have been working with the early versions of the WPF framework and will be sharing more information about our WPF offerings in the near future. “

 This is of course not very promising – I guess we will see what comes there.

In any case – WPF is alive and well. The level of ‘bling’ that the UI world will get from WPF seems pretty significant. On comment I will make is that it DOES seem a bit like the possibility for ‘web mess’ type development with too much going on in wierd brackets in xaml docs. I guess we will just have to see how clean the real production, large applications that get built are.

-Chris


You can leave a response, or trackback from your own site.



Integration Tests using Unit Test Harnesses

One of the items that I have not gotten to talk about in my recent sessions on test driven development is in the area of integration testing. I have been focusing on ‘core developer values’ that work hand in hand with unit testing for the most part.  In particular, at my last consulting project before coming to my current role, I did quite a lot of automated integration testing using NUnit. The pattern is common:    

 

  • Client Application – talks to N services.   

  • Each server application has it’s level of volatility and own release schedule.   

  • The quality of the server applications varies (sadly, depending on where you are!).   

  • Client application has some kind of client side facade or proxy that hides the mechanics of dealing with the service/ server application.   

Not only is it important to have unit test style code testing automation, but actually doing the integration testing in an automated way can bring great value. Typically – it is ‘nasty’ to talk to a database, messing service, web service, etc. from a proper unit test. Unit tests want to make sure that you are dealing with the abstractions immediately adjacent to your class under test. Any real external dependencies like databases etc are normally stubbed or mocked out.  At some point you need to ACTUALLY test the real interaction of the tiers however. Thankfully – the unit testing tools are excellent at containing the automated tests and running them. There is a common model then between your unit tests and your integration tests. In practice what I have done is to have an extra package for integration tests. This extra package is not deployed of course. It may be 1 package per target assembly or 1 package for several assemblies depending normally on how the binaries are used – if 3 binaries are used together always then you can have 1 integration test package for example. I am generally in favor however of 1 target assembly, 1 unit test assembly (with internals visible to) and one integration test assembly (also with internals visible to). Now I have my clean core code, my unit tests and my integration tests.  Server side applications need to deploy some regular ‘integration builds’ that can be run again for integration testing. Server applications in practice may also have other service applications they depend on. In this scenario -they will also benefit from an automated integration testing strategy.    

integrationtests2.png

 


You can leave a response, or trackback from your own site.



OK – someone – give me the $


My blog is worth $10,726.26.
How much is your blog worth?


You can leave a response, or trackback from your own site.



Microsoft New York Code Camp ‘07

I hope everyone enjoyed themselves at the New York Code Camp  ‘07 today. Thanks Don. For the connection today. I enjoyed myself -there was a great bunch of interested people today. A few of us noted how popular the ‘agile room’ was. It was a ’standing room only’ set of sessions in the agile room. I wish I could of stayed for some of the afternoon chats – particularly the pairing session and the mocks session. Alas, I can only get babysitters for so long and my wife had an agenda today too :(

Anyhow – I got excellent feedback regarding my chat today on scaling agile practices. There is never enough time to go over some of this stuff – but we did alright today. The audience was engaged and asked lots of great questions. At the end of the event, as I was talking with a bunch of people – a developer came up to me and said something like the following:

 ”You know – I have been hearing about this agile stuff for some time, and trying to get a grasp on it. I have not truly appreciated the value of ‘Test First’ until today – thanks - that was great and so helpful.”

This was just what I was looking for. I hoped today to set people up to succeed at trying to ‘go do the agile thing’. Delivering the correct worldview and set of paradigms, along with a set of pragmattic, day to day, code level tools goes a long way.

Anyhow – attached is the slide deck from today - along with the example code.

Code Camp Demo Code

Slides Office 2007

Slides Pre Office 2007

-Chris

PS - I will be doing some serious work on sorting out my top ‘core developer values’ and I will post it in a series here. I will also be posting it for my current employer. These ‘core developer values’ are a big part of what it takes to be successfull with unit testing – having the right mindset and accompanying practices!

PPS - You guys who asked to come work with us – CONTACT ME- WE ARE TRYING TO HIRE C# DEVELOPERS – LOTS OF ‘EM!

 


You can leave a response, or trackback from your own site.