You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

English Based Rules Using .NET and IronRuby– Details on my Codemash Talk this coming Friday

Posted by Keith Elder | Posted in .Net, Presentations, Speaking | Posted on 09-01-2012

Tags: , ,

Geeks from all across the United States and across the pond with varying backgrounds will gather in Sandusky, OH during the heart of Winter once again, that’s right, it is CodeMash week. This year over 1,300+ attendees will be gathering for a new and improved experience that sold out in just a few hours. The Kalahari Resort has made some major upgrades (their ribbon cutting is even today!) to expand their conference center so CodeMash will be bigger than ever! And to top it off, they’ve asked me to be the MC again this year which is an honor within itself.

On Friday at 9:30 AM I’ll be speaking about how to represent business rules in plain English. I wanted to provide a few more details because honestly a one paragraph abstract doesn’t really explain what we’ll be covering and how excited I am about this talk. The cool factor and impact this could have on a business is pretty staggering. Here’s the abstract:

In this session we will explore writing an English-based rules engine that allows developers to create domain-specific rules for an application that can be easily understood by anyone. We will use a combination of C# and the DLR (dynamic language runtime) with IronRuby on the .NET platform to create a way to write, manage, and process rules for an application.

Ok, so what does that *really* mean? Well, it means a few things. For starters most all applications have rules of some sort. Some line of business applications have 1,000’s of rules. Imagine for a moment all of the rules needed to say… close a home loan, or process an insurance claim. In order to manage all of these rules businesses use what is called a “Rules Engine”. These rules engines are typically very expensive applications. They require lots of setup, training and offer many many features. With the majority of these one has to define a dictionary, vocabulary, and then write rules based on that. Managing these rules becomes very complex down the road.

What I am focusing on in this talk is taking something like plain old English (POE) that can be easily ready and understood and turn that into executable code. Here’s an example.

Let’s say we have this simple survey or set of questions or form data we are collecting.


Pretty simple form. But let’s say these are the rules your marketing department wanted you to implement (which you very well know are going to change at some point on a whim).

If answer to question 1 is Very Satisfied
And client is a repeat client
Then send them a discount coupon in the mail
If answer to question 1 is Very Unsatisfied
Then send survey via email to clientrelations@boyhowdy.com
If answer to question 3 is Yes
Then subscribe them to newsletter
If answer to question 4 is Yes
Then schedule a follow up call in 6 months

So you either A) hard code them or B) you use a rules engine. What we are going to do on Friday at CodeMash is take those plain English rules above and execute them using a combination of IronRuby and C# on the .NET platform dynamically.

Do I have your attention now? I hope so. See you on Friday.

We have 150+ IT Positions open–Why you Should Come Work for Quicken Loans

Posted by Keith Elder | Posted in Quicken Loans | Posted on 23-09-2011


That’s right, at Quicken Loans we have over 150+ Information Technology positions open! If you’ve been looking for a career at one of THE top companies to work for in the country (this is not hearsay this is a fact, we rank in the top companies to work for each and every year) with an awesome culture then I want you to send me your resume and apply.

How To Apply

The way you get your name in the door is through ME. We are really big on referrals from team members and anyone that is referred from an existing team member (in this case me) will get considered. In other words you won’t be lost in the masses.

Once you are ready to apply simply email me at: keithelder at quickenloans.com

Include in your email which positions you are interested in and of course your resume.  I will take it from there. Referrals move pretty quickly so be prepared to talk to someone at our company very soon!

How NOT To Apply

We have a careers web site, actually a really good one. I do encourage you to review it as it contains tons of information that I don’t need to review here. But do NOT enter your information into the careers web site. We get thousands of submissions and they are very hard to sift through. You know how it is, every person in college getting out applies as well as what I call career jumpers (those that work in a place for a year and then want to jump somewhere else just to make more money). If you are a jumper, sorry but I am not interested in reviewing your information. Think of this move as the last job you’ll have and retire. We have extremely low turn over and very career focused individuals, that’s who we are looking for.

What Makes Quicken Loans So Cool

I thought about this for awhile and I could talk about the many benefits and perks we have but honestly you can read about that on our BENEFITS & PERKS page on our careers web site. I thought I’d focus on things you won’t find on our careers web site.

The first one is our people. Everyone company has people in it but I honestly believe we have some of the best and brightest minds in the industry. These are people you’ll work with but you’ll also play with. The jobs I’ve enjoyed the least over the years were because of the people. At Quicken Loans many of my team members are my friends. We go on fishing trips, sporting events, camping trips, and many other things including social outings and much more. Not only will you work with great people but you’d also find some of your best friends in life. Working in a place where you WANT to hang out after work with the people you work with is just awesome. It really speaks to what great people we have at Quicken Loans.


Bullet Time as we call it something you won’t find in a lot of companies. Every Monday starting at lunch all of IT (and I mean everyone) stops working on core business efforts and gets together to work on whatever they want. Bullet Time = Innovation Time.

This innovation time means you can play with whatever you want. Have a technology you’ve been wanting to explore? Go for it. Have an idea for an application you’ve been working on that doesn’t get priority? Go for it. We are all about innovation and because all of IT is involved at the same time no one feels guilty about working on something out of the box and it makes it easy to find other resources you may need to get behind your idea. Ever since we started bullet time amazing things have happened in our business that would have never even been given the time of day. Bullet Time = Awesome.

Beyond people and bullet time you’ll be given access to all of the tools you need to complete your job. If you are a .NET developer you’ll get an MSDN Ultimate license to get everything you need. Everyone gets new state of the art hardware with minimally two screens.

Our head quarters in downtown Detroit is nothing but short of amazing. Onsite gym, dry cleaning, free cappuccino, slushies, popcorn, onsite Hard Rock Café and an awesome cafeteria.

Finally I’ll mention that you can set your own career path. Working for Quicken Loans is truly what you want to make out of it. And it is completely unique as we have a family of companies. There are always new opportunities not only within Quicken Loans but many of our team members have gone into other companies within our family.



All of our family of companies are connected and once you are in the family you’ll always be presented with opportunity. Just be yourself, be awesome, and opportunity will come your way.

Our Culture

I get asked a lot to describe our culture at Quicken Loans and I think this picture represents it the best. It is very flat.



I think we’ve worked hard over the years to keep it flat. Flat means you don’t have to go through 15 team members just to get a decision done. To explain this in geek speak, there are NO TPS reports! Our culture thrives on simplicity. As a matter of fact our culture is founded on simple principles we call ISMs. These ISMs are who we are and drive all of our daily decisions when at work. Our ISMs are everywhere throughout our company from the top to the bottom. We live by these principles and they are constantly in the back of our minds.

I invite you to read more about our culture on our careers web site: http://quickenloanscareers.com/about/culture/

Positions We Have Open

Ok, now to the positions we have open. Again we have 80+ and they are literally across the board. Again you can find more specifics about these on the careers site. After reviewing that information, email me if you are interested.

  • .NET Developer
  • Application Engineer
  • Business Analyst
  • Business Intelligence Business Anayst
  • Data Analyst
  • Data Warehouse Engineer
  • Messaging Systems Engineer
  • Project Manager
  • SharePoint Developer
  • Software Developer/Business Intelligence Engineer
  • Software Quality Assurance Engineer (QA)
  • Statistical Analyst/Data Modeler
  • Windows System Engineer
  • UNIX Engineer
  • VMWare Engineer
  • Network Engineer

Ready to work for an awesome company that is Engineered to Amaze? I hope so and I look forward to hearing from you.

Windows 8 and the up and coming Hardware Revolution

Posted by Keith Elder | Posted in Computer Hardware, Windows | Posted on 19-09-2011

This past week I was at the BuildWindows conference where the wrapper was finally taken off of Windows 8. We’ve known for some time that Windows 8 was coming but we only had a few glimpses of the real story behind Windows 8. Tuesday we finally got to see the full details about Windows 8 and how big of a release this really is (bigger than Windows 95!).

The biggest news around Windows 8 was the announcement about the new touch first Metro desktop. This means Windows 8 will have count them *two* desktop modes. At first, like many, I had my concerns about it but it wasn’t until I played with both the Samsung tablet given away at Build and playing with it at home on the metal of a notebook I have that I can put into a docking station allowing me to use it with dual screens that I started to get excited. I’ll try to explain so bear with me, this is going to be a long post.

If you haven’t seen the new desktop and how it works I invite you to watch this presentation by Jensen Harris that was given at Build entitled: 8 traits of great Metro style apps.



The PC Isn’t Dead

There have been many articles about how the PC is dead in the news lately. These articles in my opinion are just bogus crap articles spurred on by the press to have something to write about. When the press has lulls in news they have to sit around and speculate what’s happening and thus we get articles about how the PC is dead and how we are all going to be walking around in a world with these consumption devices (tablets and phones). What they fail to think about is that *someone* (you and me) at some point has to produce information for these devices to consume.

FACT: It takes longer to produce information than consume it.

Thus given the old saying of “use the right tool for the right job” why would anyone think the greatest device known to man at producing, consuming and creating information, the PC, is dead? Simple, it is called money. That’s because they get paid to write these articles and speculate.

So, the PC isn’t dead. This is a fact. Don’t argue against me, you’ll lose. It is going to be around for a long time. Here’s the kicker though… it is going to just look different thanks to Windows 8.

Consuming and Producing Information With One OS

As I see it, there are mainly two different modes we use information. We are either consuming information or we are producing information. It turns out the absolute best device for doing both of these is still the PC (you know that thing that isn’t dead?).  If anything, the PC it is about to undergo a major revolution. And by revolution I mean the hardware is going to change as we know it today. Me personally I fully welcome this change and here’s why.

The past week at the Build conference I spent the majority of my time consuming information. I did so on two devices: iPad and phone. The times I had to produce small amounts of information via tweets, text messages or quick responses to email these devices worked. Notice I used the phrase “small amount of information”.  This is key because once we move past producing a small amount of information these devices fail.

Have you ever received an email on either your phone or tablet where you told yourself, “I’ll answer that later”? I bet everyone has. Why? Because these devices are information consumption devices. Let’s face it, when we have to do real work these devices fail. I don’t know how fast you can type but I can pump out upwards of 140 words a minute. Now why in the world would I want to use touch type to type say 25 words a minute? My time is valuable and thus when I have to produce more information (like a blog post) that requires more typing I’m not going to do it on a consumption device (tablet, iPad, etc).

The reason Windows 8 is such a game changer is it is going to allow all of us to consume information and produce information on the same device.

Windows 8 is like a Transformer. It can transform to consuming information to also producing information.

Windows 8 The Transformer

Install Windows 8 Dev Preview in VMware WorkstationWhat does Windows 8 have that changes this? For starters it has a touch first interface. This new interface (pictured to the left) is really the the consumption interface. Microsoft calls it the Metro interface. But the standard desktop interface is there as well, what myself and others have coined as the Retro interface. Or as I like to call it, the desktop where information is produced or created.

The Metro interface is immersive, full screen apps, full touch enabled, and as Microsoft calls it *fluid*. For tablet and slates this new interface is going to serve us all very well once developers start filling up the store with awesome applications.

The Retro interface is what we are accustomed to in Windows 7 today. Nothing has changed there except we’ve gotten a lot of new enhancements. Windows 8 builds on top of Windows 7 and just makes things better with new features like:

  • New ribbon added to Windows Explorer
  • Ability to mount ISO files natively (yeah for developers)
  • Hyper V
  • New taskbar features (unique taskbars per screen)
  • and many more

Being able to switch between these different modes is powerful. Switching between the two is easy and very smooth just by pressing the “Windows” key on the keyboard. Or the “Windows” button if you have a tablet.

By having both a touch first user experience and the full desktop this allows the user to transform the operating system to meet the various requirements how the user wants to interact with information.

Apple for example has a desktop OS and they have an OS that runs their iPad/iPhone. When you’ve hit the point to where you need to produce information instead of consume it one has to set their iPad down and reach for their notebook or PC. This is something I think Microsoft has gotten right by simply just using Windows 8 to do it all. Think about it for a minute. Think about how the Enterprise today provisions and manages iPads or Android tablets? They sort of don’t. By leveraging Windows, Microsoft has just put tablets and slates into the Enterprise so all of the tools of deployment, management, etc can be leveraged (bitlocker, roaming, active directory credentials, etc). Remember your tablet is just Windows! Brilliant! Folks this is a game changer, make no mistake about it.

With Windows 8 the hardware revolution that is coming is going to change things as we know it today. I see a day when we won’t have a desktop at home to get multiple screens, and a notebook to carry with us, and a tablet to carry with us. I see all of these devices converging into one simple and easy to use PC, I mean tablet, I mean slate, I mean notebook. Someone will create a new name for it. Something like… SlateBook (remember you read that here first! Smile ).

We already sort of got a hint of this from Samsung with the tablet they gave attendees at Build. It came with a docking station and a keyboard. This allows everyone to interact with the machine normally on the retro desktop. But it also is a tablet that can be removed from the docking station and used as more of an information consumption device leveraging touch.

The PC isn’t dead, the devices will just transform for the user as they need it to. And Windows 8 is the OS that is going to make that possible.

My Perfect Windows 8 Computer

I’ve thought about this a lot over the past week and I’ve researched a lot of devices as of the past week trying to find something I could maybe even potentially purchase to run Windows 8 that would transform if you will. I’m saddened to say that I haven’t found anything *yet*.

My perfect Windows 8 computer is going to have the following characteristics:

  • Be easily dockable so it can be used at home where all of my peripherals will plug into it (multiple monitors, speakers, keyboard, mouse, etc)
  • Be powerful enough to run as a desktop but also not consume a lot of battery life
  • Be thin enough that I can remove it from the docking station and carry it with me
  • Easily transform into an information consumption device
  • Easily transform into an information producing device

Yes I want my cake and eat it too but I am tired of having three devices to do three different things. As I see it, Windows 8 will allow us to embrace a new hardware revolution where these devices converge into a single power device. It will in fact be a PC (personal computer) but it will be also a tablet for consumption and support full keyboard and mouse to switch between consumption to information producing.

Right now my perfect device would be an ultra thin notebook like the Asus UX21 that would also have a touch screen that can be transformed into a slate / tablet.

Now I’m not saying that there will not be a lot of just tablets created and sold. I am sure there will be. But from where I’m sitting I’m honestly tired of tablets, and notebooks, and really not having my full computing experience with me wherever I go. Yes I want my cake and want to eat it too.

If the OEMs can get the hardware right Windows 8 I predict is going to start a new hardware revolution whereby consumers can purchase one device that does it all. Will they be cheap? Probably not but honestly who cares! Would you rather carry one device with you everywhere or three?

One? Good glad we agree. Smile

DevLink 2011– Remember What Forrest Would Say

Posted by Keith Elder | Posted in DevLink, Speaking | Posted on 22-08-2011

imageSaturday evening I arrived back in Hattiesburg after spending a week in Chattanooga, TN and the DevLINK Technical Conference. I had a blast at DevLINK. Here’s a recap of the week’s activities.

Live Radio

Thursday evening John Kellar (DevLINK Chairman), Todd Anglin (Telerik) and myself were on the local radio station 95.3 WPLZ as guests on “You’re Live” which is a weekly technology radio show in Chattanooga hosted by David Karnes. This was a very cool experience as I had never gotten to do live radio before.  The show was an hour long and I have to say it went by in what seemed like literally 10-15 minutes. After the show aired they gave us a recording of it. I took the recording and took out the blanks where the commercials were and uploaded it to this site. You can listen to it here:


Friday’s Keynote

Friday evening I gave the closing keynote speech for DevLINK entitled “What Software Developers can Learn from Forrest Gump". I know… it is a crazy title for a talk to give to a bunch of developers. But you know what? I think I pulled it off, crazy or not.

I thought about posting the slide deck with this post but honestly I don’t think it would do anyone any good without the commentary and stories that go along with it (especially the stories). I can honestly say that just reading through the slides would have zero impact (trust me on this one).

What I will do though is give you a link to the two books I mentioned during the talk.



Thanks to all of the volunteers that made DevLINK awesome and thanks to “Sing it or Wing it” for letting me sing Karaoke Friday night. See you next year!

Funny Tweets from DevLINK




(this one isn’t true but funny, references something I said in the keynote)


August 15th-16th Workshop – Introduction to .NET– .NET From Scratch, Chattanooga, TN

Posted by Keith Elder | Posted in Sharp Axe, Training | Posted on 21-07-2011

Happy to announce I will be doing a two day training class / workshop starting Monday August 15th – August 16th in Chattanooga, TN two days before DevLink. The workshop will provide those with zero .NET experience an easy gateway to get hands on experience with the platform.

This two day workshop is for anyone who is starting at ground zero with .NET and wants to dive into the platform starting from scratch. It is designed for developers experienced in at least one other language. It starts with the basics of .NET and covers Microsoft Visual Studio, writing code in C#, and how to build applications in various technologies on the platform such as Windows and for the web. If you are new to writing applications on Microsoft .NET, what better way to get a jump start!


  • What is .NET? – Discusses the fundamentals of the .NET platform
  • Visual Studio – Walks through how to use Visual Studio features like projects, debugging, Intellisense and other critical foundational skills.
  • C# – Covers the basics of the C# (variable declaration, loops, arrays, collections, working with data, working with XML, LINQ).
  • Client and Web Applications – Covers building Windows applications and web applications.

Full Details here: http://sharpaxetraining.com/introduction-to-net-net-from-scratch-august-15th-16th-chattanooga-tn/

Register Online here: http://sharpaxe.eventbee.com/event?eid=823328354