Featured Post

Microsoft’s XP slated for October 29th

Acording to Yahoo, Microsoft has announced its plans to release Windows XP October 29th of this year. There will be two versions of XP, one for home and one for professional use.                        

Read More

Fishin’ With Geeks 2012

Posted by Keith Elder | Posted in Fishing | Posted on 23-01-2012

Some call it “Catfishing with Keith”, others call it “Fishin’ with Geeks”, others call it “Fishin’ with Friends”, whatever you call it plans are underway for 2012. You’ll find all you need to know about this annual event among the links below.

http://keithelder.net/catfishing-with-keith/

Links of Interests

Any questions that aren’t clear or unanswered please contact me.

Building an English-Based Rules Engine in .NET with IronRuby Slides and Demo

Posted by Keith Elder | Posted in .Net, C#, CodeMash, IronRuby, Presentations, Speaking | Posted on 19-01-2012

As promised at CodeMash to those that attended my session I finally am getting around to getting the slides and demo from my talk posted to my web server. You can download everything at this URL location:

http://keithelder.net/Presentations/RulesEngineWithIronRuby/RulesEngineWithIronRuby.zip 

What you will need to run the demo:

  • Visual Studio 2010

To run the demo you should be able unzip it, open it up in Visual Studio and hit F5.

Once the demo opens you’ll be presented with this.

SNAGHTML29cde5e7

In the middle of the screen you’ll see sample rules for the survey already loaded.

To convert these rules to Ruby script click on the “SurveyRuleSet” option listed under “Rule Sets”. This will load all of the available rules for that rule set.

SNAGHTML29d09da1

Once you have the rules loaded for the SurveyRuleSet you can then click “Convert To Ruby Script” button and the English text in the middle of the page will be converted into Ruby Script.

SNAGHTML29d205e5

Once you have the Ruby script generated click the “Use Script in Survey”.

SNAGHTML29d4666b

This will open a form that has questions and answers.

SNAGHTML29d5267f

Once the form is open just press “Submit” and the rules will fire. You can close the form, change the rules, re-gen the script and then re-run the form to see new rule values run.

When the “Submit” button on the Survey form is called, this is when the IronRuby engine gets invoked.

You can also load the SouthernRuleSet and then load the pre-typed Southern rules to see a “Southern DSL” of the same rules.

In Visual Studio you can open the SurveyRuleSet.cs file and uncomment the other attributes to enable Spanish instead of English (just as an example).

DISCLAIMER

What you should try to take away from this the most are what it is doing and what is possible. We are running something very similar to this in production so this isn’t smoke and mirrors. There are a lot of things that are missing in the demo, but they are completely doable with some additional work. For example grouping isn’t done in this example, other rules like greater than, lesser than etc could all be added to the base ruleset class. Use your imagination and go wild.

Enjoy.

Speaking at Hub City NUG Thursday Jan 19th 2012

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

Not everyone can make it to CodeMash so I’m doing what I can to bring CodeMash back to you. This coming Thursday January 19th, 2012, I will be giving the talk I gave at CodeMash at the Hub City .Net User Group located in Hattiesburg, MS. The talk will start at 7:00 PM with food being served starting at 6:30 PM.

Presentation: Building an English-based Rules Engine Using .NET and IronRuby

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.

Time: 7:00 PM (6:30 PM food starts)
Location: Deloitte Hattiesburg
Directions:
5912 U S HIGHWAY 49 SUITE H1
HATTIESBURG, MS 39401-7584
Map:
http://bit.ly/eDXYij

Deloitte’s entrance is an outside facing door to the right of Cloverleaf Mall’s food court.

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.

image

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

image

That’s right, at Quicken Loans we have over 80+ 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.

BulletBanner.PNG

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.

 

image

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.

 

image

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)
  • SQL DBA
  • 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.