LLBLGen Upgrade from 1.x to 2.x

17 Jul

I have found this search to be pretty helpful with my upgrade from LLBLGen 1 to 2. 

  1. To use it start a find and replace and enable regular expressions. 
  2. Then in the Find What box enter PredicateFactory.CompareValue({:w}FieldIndex.{:w}, ComparisonOperator.Equal,
  3. now in the Replace with box enter 1Fields.2 ==

This will then replace the string with the correct syntax for the new query language that uses operator overloads.  These can be modified to capture most of the query types used in LLBLGen.  You will have to go back in however and remove an extra closing parenthesis.


LLBLGen Presentation

07 May

The presentations went well.  I think they are definitely something that you have to do to get better.  So now I need to find ways to do more talks.  I enjoyed the chance to get to meet people and discuss technology with people I normally wouldn’t. 

The audience for the two presentations I gave were very different.  For the lunch crowd a simple direction was best.  The time was much more crunched and the environment lent itself to more distraction and less interaction.  For the evening you only have 10 people and more time.  So a more in depth presentation would most likely be beneficial for them. 

Other than that I thought that the presentation went well.  It’s a large subject that I will get better at presenting when I show to other developers at MTM and present other topics.  I also won something for the first time ever, a book that started out with this quote.

… the highest simplicity of structure is produced, not by a few elements, but by the highest complexity.

– Ralph Waldo Emerson, "Goethe; or, the Writer"

That’s a good quote, but I think that the development circle I’m following more and more lately tries to do these Simple Complex things as simply as possible.  I know a lot of developers still like their complexity, hopefully every day I’m less and less like that.

P.S. The presentation material will be posted here very soon.


Mix 07 News

02 May

Interesting News from Mix 07.  There has been a lot of attention today to many of Microsoft’s announcements about upcoming development projects.  Most notable have been Silverlight 1.1 with built in Cross Platform CLR and Jasper.  But two other interesting bits of technology are ASP.NET Application Services and Dynamic Data Controls.

Dynamic Data Controls for ASP.NET

Dynamic data controls are a set of ASP.NET server controls that obtain database schema information at run time, provide default display formats according to common user expectations, and enable you to easily customize those formats. Watch a video showing how to build a task list application using the Dynamic Data Controls from the ASP.NET Futures Release.

ASP.NET Application Services

New services for ASP.NET enable you to add search to your ASP.NET Web applications, using a commercial search engine’s API (such as Windows Live Search) and custom search providers. You can also publish custom and dynamic sitemaps that are configured to assist search engine crawlers. A new service lets you capture JavaScript errors and report them to server-based ASP.NET code.

Source: ASP.NET Futures: ASP.NET Web: The Official Microsoft ASP.NET 2.0 Site — Major Discovery: New Planet Could Harbor Water and Life

25 Apr

How exciting is this news. Scientist’s have found a planet that could have liquid water.  I’m not sure what kind of affect being the planet of a red dwarf would have on the biology that would take place, but hopefully some space based telescopes will have a high enough resolution to directly observe the planet soon.

If we can get a clear night this weekend I will try to view Gliese 581 and post the picture.  It won’t be too amazing, but the idea that it may have life is.

Link to — Major Discovery: New Planet Could Harbor Water and Life


Storm Chasing?

24 Apr

We set out today at 2:30 to get in position to start our chase.  The "1st" line had just passed over and everyone was talking about the ominous second round that was soon to be firing.  We had circled this day Sunday since the Storm Prediction Center had marked it as high risk in most of Oklahoma. 

This was going to be an exciting day.  I hadn’t chased in nearly two years, but it seemed like today was finally going to be a can’t miss type of day.  Well we just finished a beautiful scenic drive of SW Oklahoma.  We didn’t see any storms. In fact this is what most of the day looked like.

After about 3 hours of waiting for this beautiful day to turn into the apocalyptic storm factory we decided to head back home and wait til the next time.


Ben Hall’s Blog: MbUnit RowTest

18 Apr

Ben has a post about a pretty handy feature available in MBUnit.  You can create a test that accepts parameters and then user RowTest to define different parameters for the tests.  You can even specify what exception any particular parameter list is supposed to generate.

Link to Ben Hall’s Blog: MbUnit RowTest


The Pair Programming TDD Game

16 Apr

Came across The Pair Programming TDD Game today when checking up on CodeBetter reading a post by Palermo.  It looks like it may be a good way to get some interaction going with pair programming. 

A lot of times when we try pair programming only one person has the keyboard making it easy for the other person to get bored.  The other benefit as mentioned is that the tests are more likely to be kept at a manageable size.


Jeremy D. Miller — Bloom’s Taxonomy and Design Patterns

15 Apr

Jeremy has a post about understanding design patterns.  This post doesn’t have anything new for design patterns, but does have important content about understanding.  Often when learning a new technology or method we discover just enough to get started using it. 

That’s a normal step in learning, but it’s easy to only pursue topics this far.  The initial information is easy to find.  Getting a hello world example doesn’t take much effort either.  There’s usually a quick start that lets you make something slightly more complicated without any real understanding.

The key is to make a conscious decision whether the topic is worth focusing on after you have done this.  If so then be prepared to make a commitment to learning.  Look through the information that isn’t easy to decipher.  Think of a non-trivial task and implement this new idea.  Find other people that have traveled this path and talk to them.  Discuss with others that haven’t done this what you have learned.  All of this will accelerate your understanding of the subject.

No Comments

Posted in Web/Tech


Looming Presentation

12 Apr

Well I am going to be giving a couple of presentations for the OKC .NET user group this month.  I’ll be discussing LLBLGen, a great ORMapper from Solutions Design in the Netherlands.  It is the only reason that many of our projects have been successful.  That’s great and worthy of enthusiasm, but getting in front of 40+ developers and explaining why this is so great is somewhat intimidating.  What if they don’t think so, what if they say "so, I already do something better"?

Along these lines I’ve been interested in learning about NHibernate more and more lately.  I’ve been reading and attempting to practice a more Test Driven & Domain Driven style and many of these people use NHibernate.  What if I get up and everyone goes that’s great, but NHibernate does this better.  Well I’m pretty comfortable so far with my arguments that LLBLGen deserves a shot and with some groups will be much better than many other systems.

There seems to be two subtle, but important differences between the camps.  Domain Driven people want to think of the domain as an isolated system free of dependencies to the database.  They may not have the ability to change the database and must work around a schema that doesn’t match their desired application well.  They need something that can map these two disparate systems and many are happy with how NHibernate does this for them.

The feeling I have is that with LLBLGen along with the ability to control the database completely was able to save many many hours of development by planning the DB for the application.  Many of the tables are used to map directly to objects.  New features have been introduced that help this type of design be a little more flexible now.  Inheritance allows us to define tables as base types and have subtypes that inherit fields from these base tables.  Projections have been added recently that will take entity objects that were fetched from the DB and map them to any object.

My job now becomes come up with a way to present LLBLGen that makes it look like it does it’s job well.  I’ll have to make sure that people understand the views of the software creators.  How they think a database should be built and the rewards that you can reap if you follow their pattern.  I know it has been very rewarding, now I need to let everyone else know.


Ultra Mobile PC

14 Mar
I think the best thing to happen for computing in a long time is taking place right now.  For a few years now computers have not needed the speed and size of the hardware that is being produced.  This has slowed processor development and driven PC prices down.  Laptops have even followed this same trend and seem to be getting larger and larger with screen sized as large as 17".
Finally though it appears the next evolution of the PC has arrived.  UMPCs will be available in the next month and will completely change how people view their computers. 
I think that most people have been misguided by comparing these to Pocket PCs and other hand held devices.  Where I see this device making the most impact is the notebook and even desktop market.  This device has the opportunity to become a companion that  every person in a family would want.  They will be able to watch their movies, check and send mail, get directions, play games, and browse the internet in a much less confined interface than was provided via the handheld devices.
With solid gaming platforms like the Xbox 360 and PS3 computers will be used less and less to play games.  This has by and large been the ultimate factor in pushing PC development.  With this lessened Vista will be the most intense program that many people will use on their computer.  That means that in 3 years a UMPC under $1000 will be able to do everything that someone’s desktop or notebook could do, but be completely mobile in an instant.  No need to syncronize, no need to get watered down versions of your software. 
I truely think that this is what my children will view as a PC.  I’ve thought for a long time that the future of computers would stop become less how fast they can be and more how useful they will be.  I think this is where UMPCs will lead the way towards computers not being large boxes in our house but small devices that a person could keep with them at all times.