These are my Potatoes Au Gratin, and I tried to type in what I did while I cooked them. What I mean by that is that if you have watched me cook you realize it is a process, so while the potatoes I make for Chirstmas will taste okay... I hope I got it all in the recipe I am giving you. I also match the foods I am cooking to the whole meal so I will add other things. For instance, I added some of the honey baked ham fat to the milk mixture but that stuff doesn't really matter much. I will come back and modify it if I find missing bits.
This is my first attempt to document my cooking process. I work different than other cooks. I do some research and figure out how I think it will go. I read what ingredients other users use and figure out what I think will do. In this case, this is part of my ongoing quest to copy my aunt. My aunt Kathy makes the best potatoes au gratin, as I get older myself and my family doesn't always get to make it home to see her, I have worked and worked at ways to find something close to hers. Aunt Kathy also calls me Natey Potatey. These are my offerring to her legend.
1 lb bacon(save grease)
2 cup milk
1 tablespoon flour
salt and pepper to taste (I do .25 tsp each, if not fresh pepper use more)
6 medium potatoes. Peeled and thinly sliced
2 cups shredded extra sharp cheddar
1 onion small
.25 cups bread crumps
Prep Notes:
I like to cut the potatoes .25 to .125 inch thick. This is the Christmas season so I am drinking scotch while cooking. What does this mean? Because of this I use a mandoline, so I can dial in the cuts. If your group likes potatoes cut them .25 thick. Otherwise let the bacon do its job. The key is to make sure the potatoes are evenly sliced so you can make sure they cook evenly.
Fry bacon, set aside and chop into bacon bits when you have a free second. Keep 3 tblspoon of the bacon grease, and try to not get the burnt bits. In a medium saucepan, cook onion until clear in bacon fat. Add flour, salt pepper. Stir. Allow time for it to bubble. add milk. stir. heat until boiling, stirring throughout. Allow 1 min of boiling. begin adding 1.5cups of the shredded cheddar slowly. If you have made an alfredo this is the same thing, except we are making cheddar sauce. The trick is to add little bits and let the sauce warm up before you add more cheese. Don't let it come to a boil while slowly adding to the roux.
Spread potatoes in a baking dish. when the cheese sauce is done add the bacon bits and stir them in. Lower the temp and let it simmer for a bit while stirring. after a few minutes take sauce and spread over the potatoes making sure to cover them all.
Bake uncovered at 375 for 1 hour. then add cheese and bread crumbs to top to make a crust and bake for an additional 15-20 minutes and potatoes are tender.
Protip: I half bake them the night before. So let them go for about 30 minutes, cover and put in fridge. Next day I will cook them with the green bean casserole at 350 for 35 minutes or slightly longer. Make sure the potatoes are cooked through.
72d72727-8df9-4e58-b172-3f94ec836032|0|.0
I have been on a team where we are creating a solution for a corporation that will be deployed to different business units around the world as a standardized solution. In this case the solution is for oil field work and will help each business unit optimize the production of wells based on the injection of water into other wells, a process called waterflooding. The customers for this application will be the engineers who will monitor the metrics in order to make decisions on how to optimize the process by controlling the variables available to that engineer. For instance, they can increase water flow to an adjacent well if they see production drop off from another well or they can even recommend drilling new wells.
As you can imagine this application is very data intensive. The process of injecting water creates many standard metrics which we are going to measure with our application. Some of these could be water rate, water pressure, or oil out for instance. With a user base that is largely technical and mathematically driven, they want as many different numbers as they can get to make their decision. This can present a problem because the information they want may be outside of the standard dataset we will provide.
This need for additional data is also driven by each business unit’s differing geography and geology. For instance, in West Texas it is often cheaper to drill a new well if a greater injection rate is needed, where an offshore rig in deep water would find the same solution cost prohibitive. Other the other hand, offshore wells may take more expensive measurements, but performing these same measurements hundreds of times in a West Texas field is too expensive to do.
We are tasked with creating a solution that has as many of the basic attributes as possible for our first release so the engineers can make the nest decision, but giving the ability to expand those data sets as needed. We will hand the finished product to each business unit’s IT staff and they will then take over ownership. We will send out patches and upgrades to the solution, which they will then install. Our finished product will consist of a database, ETL, and a user interface, so the extensibility is needed throughout.
With these goals in mind, I was asked to come up with different solutions for creating an extensible dataset. I have detailed some of these solutions below. My goal was to create a dataset that was both modular, meaning that it was standardized for flexibility, but also extensible, or able to be expaned. Since we are handing the tables over to the business unit IT staff, it is important to maintain logical divisions between the added code. This will make code we have developed less likely to break when extended. It will also facilitate smooth upgrades and patches.
Here are the solutions I provided to my client. Obviously certain choices are preferred over others.
1. Add columns to the original source tables.
a. Positives: This is arguably the simplest
b. Negatives: Presents problems when upgrading the solution and can affect any tuned performance you have set up.
In the sample, our original columns are in blue and the added columns are in red. So, we have added Latitude and Longitude

2. Create custom tables and join them via views to the source tables.
a. This is another simple solution where you create one table preferably in another schema for every table where you wish to have custom values. In our sample, the solution tables are in the dbo schema and the user tables are in the bu schema.
b. Positives:
i. This table is owned and managed by the users
ii. Can be put into separate schema for increased security (which is also nice for use on alternate filegroups or alternate backup strategies if needed)
iii. View can auto-extend
Note: (This can be done by using SELECT dbo.col1, dbo.col2, bu.* …)
iv. Helps with upgrades
v. Does not affect performance of the original tables outside of the view
vi. Users create their own ETL to populate these tables.
c. Negatives:
i. Must account for multiples in the custom attribute tables, so row counts stay the same. For instance, if there are two rows for WellID BH1 then there will be more rows in the final view. Two ways you can handle this via a “TOP 1” or by adding a date added column and taking the most recent.
In the sample, you can see we joined the table with a simple outer join and the view is populated with values for both tables. Be sure to use an outer join so you have the flexibility to keep your interface running when there are no custom attributes provided by the users. This is especially important because there may be two ETL processes(solution and user) updating a single row in the view. It is also important your interface can handle NULLs.

3. Create one custom value table and join those via views to the source tables
a. This solution creates a common attribute table so there are less new tables. It basically creates a virtual or dynamic tables, that you can create via a PIVOT.
b. Positives:
i. Custom value tables are great at keeping all values in one location for copying during upgrades
ii. These are helpful because you have them created and added dynamically via the interface.
iii. Users can update the custom valued table using their own ETL.
iv. Can be put into separate schema for increased security
v. Stored Procedures can be written so they don’t have to change.
c. Negatives:
i. Doesn’t allow for multiples of the same attribute.
ii. Requires modification of the views to add new attributes.
iii. If you extend to far (too many attributes) you will start to see performance degrade.
In the sample you can see the custom table contains the custom values for all the tables. In this case, you would want a Primary, Clustered Index on the first three columns (Table, RowID, Attribute). The values are then added to the original values using a PIVOT clause. Optionally you could create a view that does the PIVOT before the final view for the end to maintain(see dotted line in sample).

4. Create an XML column on a lookup table and store the additional information there.
a. This would involve creating an XML schema and creating XML documents for each row. You could choose to store this in the original table, a custom table for each domain, or one custom table for all domans (similar to the designs of Options 2 And 3 but with XML)
b. Positives:
i. It can be indexed as XML as well.
ii. Customer can update these using their own ETL, separate from those provided.
c. Downside:
i. It is difficult to update without an interface to do so.
ii. User’s ETL coding is more complex.
iii. Views must be manually changed for each new attribute
In the sample you can see that the there is a table that contains custom XML attributes. This option could also be created one table for the whole solution (similar to the last option) or it could be created as an additional column on the original table. I have gone away from that, because I don’t like BLOBs attached on the original tables. In this case I wouldn’t so that I can move them to other filegroups if needed.

Sample Scripts:
I have included some sample SQL scripts for option 3 and 4 in case you wish to see how these might work code wise.
ModularExtensibleDataSets-DynamicTables.sql (2.69 kb)
ModularExtensibleDataSets-XMLColumn.sql (764.00 bytes)
bfe18d21-0f8d-4659-b595-32a8327522ed|0|.0
If you have been watching the World Series at all, you have seen these Viagra commercials where there is a guy out in the middle of nowhere when something happens. Now what I don't get is what this has to do with Erectile Disfunction and your need to get your junk working when you are driving through a desert. In the Carmaro commercial there is at least a mechanic there, so if that is what he is in to, more power to him. Another one, involves a truck pulling a horse trailer getting stuck in the mud. A little Cleopatraish, but nowadays with the internet, people can get into some weird crap. The one that blows my mind is the boat one. Because when you are sailing out in the middle of the ocean by yourself, you could really use a prolonged appearance from your "first mate".
On top of this gem of brilliance, the commercials are all tinted blue. If you listen to the end of the commercial whne it is giving the warnings, it reminds you that you may experience abnormal vision. (It also mentions that if Mr. Pesky sticks around for more than 4 hours you might have an issue, unless of course you are on a boat by yourself or have a pair of horses handy.) If you don't recall, the abnormal vision is that you see everything tinted blue and can't distinguish between blue and green. Yeah I can't make this up. In fact it is suspect some actor crashed his airplane because of it.
I am guessing we are to believe that these guys are on Viagra, because ... well ... everything is blue. They are out in the middle of nowhere cruising around, very much like that nightmare you had in junior high boy when you were asked to write on the chalkboard in front of class. I am curious "What kind of perverts they are marketing to?", and the more obvious question, "How come there still isn't an over the counter version?".
bdc1560a-b0d5-4717-9bc2-d25acc94184c|0|.0
I am sure you have it too maybe to a greater or lesser degree than I do, but inside your head it exists. Whether or not it is contagious, I can't tell you. It seems like it is.
Akrasia is "the state of acting against one's better judgment", and some of you are thinking you might have that. I am not talking about those nights when you have had a few and you decide that not only should tell your boss how you really feel about them but you should throw in what you think about their wife too. (Although presumably, that is related and nine times out of ten akrasia is what got you telling all like a drunken Gossip Girl.) Today I am more focused on the times that you have the ability to make the right decision and chose not to.
One of the biggies for me is procrastination. I know that I need to do something, and I know that not doing it will be bad for me. For whatever reason, I don't do it anyway. It doesn't apply to everything. I make sure my kids are taken care of, but cutting the grass can invariably wait. Not indefinitely, of course, but I will wait until the grass is twice as hard to cut because my poor lawnmower is choking on the waist high grass like a smoker during a 10K. If you haven't figured it out, I am probably supposed to be doing something else right now. Hey at least I am not on Facebook right now.
The other nemesis is my diet. I can give mini lectures on Glycemic index and gluten sensitivity. I can even tell you how much better I felt when I stick to my zone/paleo diet and why you should too. I can tell you how my recovery times are greater and that I was able to do more work at the gym and at my job because I was clear headed. I can explain the low acid and low inflamation diets and how they can help you avoid pain and soreness after a tough workout. And I can do all that while eating german chocolate cake with coconut icing and drinking a beer. I am okay with veering off the diet once in a while, but it seems like there is always a good reason. It is a holiday, it is a birthday, there is a party, it is Gregor Mendel's 189th birthday. Whatever the reason, there is always a reason. Sometimes I can't even get it right with something as simple as, the next day I feel better if I drink red wine instead of beer. There is a clear alternative, but I don't take it. Part of me believes the adage, "If you crave it, you are probably allergic to it on some level" because that seems to be the case especially with gluten. On an aside, arkrasia doesn't seem to affect my exercise regiment nearly as badly as my diet. The two seem to flop, meaning I eat better and exercise less, while traveling(sometimes they both go to crap while traveling too, but normally they don't).
Don't get me wrong, I am not a total wreck. I get most things done in a reasonable amount of time, and I am not morbidly obese. But when it comes down to the choice, I sabotage my ability to lose another 20 pounds or get yard of the month. The articles I found talk about having discussions with yourself about the values of doing what it is you are avoiding and how they link up into the big picture. They also discuss understanding the dichotomy of the long term self (frequently more rational and goal based) and the short term self(generally less goal based and hedonistic). So based on their strategies, I am going to try reminding myself how doing the right thing fits into the vision of future Nate, and fracturing work into smaller packages so I don’t delay as long.
I think their research is strong on understanding what the problem is, but it is weak on their solutions. I am going to give it a try and I will let you know what I find, heck I might even write a book about it, but I won’t start on it until tomorrow.
Some of the Articles I found:
If you read only one, I recommend this one- http://www.newyorker.com/arts/critics/books/2010/10/11/101011crbo_books_surowiecki?currentPage=all
http://calnewport.com/blog/2011/07/15/how-to-cure-deep-procrastination/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+StudyHacks+%28Study+Hacks%29&utm_content=Netvibes
http://rebirthofreason.com/Articles/Eric/Overcoming_Akrasia.shtml
6b245edc-03f8-4504-86aa-4f6ded2f5377|0|.0