Pages

Friday, December 30, 2011

Broccoli Wrapped Meatballs

0 comments
Some years ago mom made up this recipe to make use of the abundance of broccoli leaves we had in the garden that year. When I started my own winter garden I couldn't wait to make this, it's now a staple I must make every year! Broccoli leaves are a great alternative to other greens such as collars, mustard, and turnips which have much stronger flavor. Broccoli leaves can be prepared all the same ways but they have a milder and more familiar flavor, making them quite acceptable to finicky palates.

To go along with our meatballs this evening, the kids helped me pick carrots and broccoli from the garden. It's been pretty neglected out there because I don't care to venture out in the cold. That's the great thing about winter gardening, it really just kind of takes care of itself.



Broccoli Wrapped Meatballs

10 Medium Broccoli Leaves
1 lb ground beef
1 onion chopped fine
Italian bread crumbs
Minute Oatmeal
Tony Chachere's to taste

Prepare the broccoli leaves by blanching them in water for a few seconds to make them pliable. Cool and cut out the large center stem without cutting the entire leaf in half. Mix together ground meat, chopped onion (you can use less if you prefer), fair dash of breadcrumbs and oatmeal to bind the mix (I sometimes add an egg too). Season to taste.



Roll a small chunk of the meatball mix into a ball and lay one leaf with the cut ends slightly overlapping. Start rolling and tucking the leaf around the meatball to the end. Place seam side down in a casserole dish. Repeat with remaining leaves and meat. Pour half a can of prepared spaghetti sauce over the meatballs and bake at 375 degrees F for 40-50 minutes until done. Sprinkle with cheese if desired.


I would venture to say you could probably feed 3-4 people with the meatballs, but between the kids and I we ate 5. I probably could have kept going but I decided I should leave some for Brandon when he gets back from Dallas. He went to watch the BYU/Tulsa bowl game.


The kids love eating vegetables from the garden that they got to help grow and pick. Ian is a huge broccoli fan and zoey loves carrots, but she prefers them raw instead of steamed. I seriously love these Danver 156 carrots, they're so sweet and their flavor is so intense!

Wednesday, December 28, 2011

Christmas At the Mastens

0 comments
Christmas is supposed to be the most awesome day of the year, it was nothing short of a nightmare at our house. Now the day after Christmas was sooo much better. Let me tell you how it all went down.

On Christmas Eve, things were going really well. I finished up all my cooking and cleaning I wanted to get done before my parent's fabulous Christmas Eve party. A couple hours before the party Zoey starts complaining she doesn't feel well. She really wasn't identifying very well what was bothering her. Eventually Brandon took her home for a while, where no real improvements were made. By the time he brought her back, she had fallen alseep in the van and took a nap in my parents room during a portion of the party. I knew that was not going to be good. She never takes naps, and when she does it usually screws up her schedule really bad. When she finally woke up it was only about an hour and a half to bed time. She was a terror when she got up, weeping and wailing and gnashing of teeth at every tiny little thing. If she dropped something or tripped or whatever it was nothing short of a complete meltdown. We wound up leaving the party at 7:30 since both the kids were at their end. Ian was so wound up, I knew it was going to take time to bring him down and Zoey well, It was a relief just to get her in the van and contained.

Brandon and I wound up staying up late catching up on some shows and making sure that the kids stayed asleep before Santa came. As expected, Zoey woke up wailing an hour after bed. Gave her some motrin and she went back to sleep. 3:00 am rolls around and Zoey busts into our room announcing that Santa came. We wearily tell her to get in bed with us and go back to sleep because we can't open presents until Ian wakes up. We're only able to contain her for about 30 minutes before she decides to take matters into her own hands and she gets out of our bed and goes to start unwrapping presents on her own.

So we decided to just get up, wake up Ian and have Christmas hoping the kids would take an early nap before Church. So here's some photos of the wreckage that is Christmas morning.







About 5:00 in the morning I just can't stay awake anymore and I take Ian back to bed with me. Zoey is so wired, she can't get enough of the toys, so Brandon stays up with her. Ian and I get up around 8 and find Brandon trying to get some sleep on the couch. I send him back to bed and I make some breakfast for the kids. Zoey is still going strong bouncing from toy to toy making sure that every new thing gets played with.

At 10:30 I try to put the kids down for a nap, to no avail, they both refuse to sleep, too many toys need playing with. We get to church at 12:30 and it is the hardest hour of church to get through because both of the kids are completely buck wild. We spend most of the time chasing them around the halls. Zoey shows no sign of slowing down. I'm certain at some point she is just going to crash, but she resists.

After church we go to my brother's in-laws house for some yummy Christmas lunch. As soon as we get there, Zoey sees the gifts and tries to help herself to opening some when my brother corrects her that it isn't time for gifts yet. She has the most massive awful melt down that lasts at least 30 minutes, just crying and crying and crying. We leave at about 3:30. Zoey is still not showing any signs of passing out. We get home and Ian welcomes a much needed nap. Zoey absolutely refuses, she won't even sit quietly on the couch and watch a movie. I was hoping that would put her to sleep. At this point she has been awake and going for over 12 hours.

At 5:00 I wake up Ian and we go to Moms house for some Christmas Eve leftovers. Zoey is showing more signs of wear, just being generally cranky. Ian isn't happy about being woken from his nap. I'm really just ready for the day to end, it's been exhausting fighting the kids and the kids fighting each other. Brandon and I are both really tired and cranky too.

Now the day after Christmas was great, everyone got lots of rest, we went after Christmas shopping as a family and the kids played together all day long with their toys and we relaxed and enjoyed each other's company.

At the end of the week, it was a great Christmas. I've set a new record for finished objects off my sewing machine/serger in a week. 11 pairs of pajama pants for all the nieces, nephews, and friends' kids.



One last final picture of how we decorated the house this year. We bought A LOT of lights at the after Christmas sales. It's gonna be double awesome next year!



And a list of random words that Brandon typed in while we were reading scriptures. I guess I'm not getting my bonus points for legitimately including them in the post. Merry Christmas Everyone!

poop

beeblebrox

s'up?

ninjas

tortellini

Don't josh me.

fugetaboutit

bazoop

dingy

The Art of Merging

0 comments
A preface, I am going to try better to document all the issues I have while programming and my solutions. I've used the wonders of other people's documentation of their solutions to problems to help me fix my own, it's time that I gave back. In reality, no one is probably ever going to come to this blog to solve a programming problem, but I gotta do my part and at least put it out there.

No, I'm not talking about merging your vehicle onto the highway, although that's another post in itself about the proper technique. I'm talking about database merging or more specifically merging data between two tables.

The Problem

I am building an interface between my home grown software on MS SQL and an out of box application that runs on an Oracle database. That isn't particularly pertinent to this solution but it's a basis of why you might want to use this technique. In this interface there is a set of Assets in Oracle and for the ease of use, all those Assets and information are copied into my program in a similarly structured table. 15-20K records are used at one time. In total, several hundred thousand.

Table Equipment in MS SQL
ID
OracleID
SerialNumber
Description
ImportantValue
Active

Table Asset in Oracle
OracleID
SerialNumber
Description
ImportantValue
Active

The problem is that once we load all the values from Asset into Equipment how do we know what changes in Asset so that we can update the records in Equipment? If I were allowed to modify the database that Asset resides in, this would be an easy run time solution using triggers. Unfortunately I am barely allowed read access. That program is locked down tight. In some cases records are added to Asset and we need to add those to Equipment as well. Records will never be deleted from Asset only deactivated.

The Solution

My first thought was to use EXCEPT to find the differences between the table and then run a CURSOR (which is just a while loop in SQL) to do an update or insert on each of the returned records. I really really didn't want to do this because a CURSOR should really be a last resort, it is slow. If you have to traverse potentially tens of thousands of records, that's not the way to go. Not to mention the code is long, and while readable isn't particularly elegant.

After some research I discovered MERGE is a newly supported function in MS SQL Server 2008, although I got the vibe it existed in 2003 as well. What happened in 2005? I don't know. All I know is I could use it in my 2008 database and that makes me happy. Now I don't claim to know everything about the execution and how all these functions work, but I do know it was fast and it did what I wanted to do and I didn't need a cursor.

Here's the full microsoft explaination of MERGE 

This page gave a sample using static values to enter or update, but I modified my own query to use another query instead.


MERGE INTO Equipment AS Target
USING (SELECT OracleID, SerialNumber, Description, ImportantValue, Active
FROM Asset)
  AS Source (NewOracleID, NewSerialNumber, NewDescription, NewImportantValue, NewActive)
ON Target.OracleID = Source.NewOracleID
WHEN MATCHED THEN
UPDATE SET
                    SerialNumber=NewSerialNumber
                    Description=NewDescirption
                    ImportantValue=NewImportantValur
                    Active=NewActive
WHEN NOT MATCHED BY TARGET THEN
INSERT (OracleID, SerialNumber, Description, ImportantValue, Active) VALUES  
                    (NewOracleID, NewSerialNumber, NewDescription, NewImportantValue, NewActive)

And there you have it, a data merge between Asset and Equipment. This case will actually select ALL the rows in Asset and compare them all and perform updates on everything it matches. If you only wanted to update or insert the differences, then you would modify the SELECT statement after the USING clause to only return the affected rows. That can be done using the EXCEPT function.

For Example


SELECT * FROM (SELECT OracleID, SerialNumber, Description, ImportantValue, Active
FROM Asset
EXCEPT
SELECT OracleID, SerialNumber, Description, ImportantValue, Active
FROM Equipment) A


This will return any records changed or added to the Asset table. I found that the query time was acceptable using the MERGE without the EXCEPT so I left it as is.

Program On.

Monday, December 19, 2011

Clean Up

0 comments
When I ask Ian if he'll help me pick up toys or clean up the house:

Ian: Yeeahhhh. Cween up Cween up. *fewefs  ncjhehkan snjknads* body cween up.

He'll repeat this about 5 or 6 times or until he finds a toy while cleaning up that he wants to play with and then he's done helping. I guess they sing that song in nursery because we don't sing it here very often. It's so adorable to hear him sing it and help!

Sunday, December 18, 2011

The Zone

0 comments
Since I've started working again and putting in some real hours, we've been putting some upgrades into my work space. I had two 19" monitors, but one was VGA only and pretty old, the text wasn't clear and since I have issues with eye dryness anyway, it wasn't helping. We decided to get a new monitor. Somehow in all the logic and reasoning that flew around for the next few days, we wound up with a new TV and I got Brandon's old gaming monitor. And now here's my new programming environment:



If I open  Visual Studio to the full right screen I can view almost 100 lines of code. It's SO awesome. I've decided this is my most efficient set up: Running web app in the left screen, code bottom 2/3 of the right screen, SQL server in the top third of the right screen. I rarely have to do window switching now to get around everything I need in my environment. I can really whip out some code now! Also on the left, my very own work phone, love this thing. Brandon set up a VOIP server that we route through Google so I don't have to burn my cell minutes on long conference calls and the speaker phone is way better on this phone. I got everything I need, except maybe a mini fridge filled with Pepsi.

Yeah, I know you're jealous.

Saturday, December 10, 2011

Peas Porridge Cold!

1 comments
A couple days ago we had our first freeze. It wasn't a very hard one but it did mottle and damage my pea plants. I don't know what I'm doing wrong but these things just aren't producing for me. Maybe I'll have to try earlier next spring with a different variety. My crop last spring hardly did anything. Anyway since the plants were already a bit damaged, I decided to let Zoey go ahead and pick the peas that had developed. She gets REALLY fixated on the garden once I allow her to pick something. So every day since she asks if she can pick peas or she'll go out there and check out the plants and insist there are peas ready. I've given up on trying to restrain her since I'm pretty sure the plants won't really make much more before too many freezes start happening and kill the plants entirely. She has been quite diligent about going out and picking every single pod she can find, bringing them in and then shelling them into one of her stacking cups and asking me to keep them in the fridge so she can eat them later.  Amazingly enough she does eat them! and Ian too! I can't get them to eat peas in any other way. I guess that's another benefit of home gardening, if your kids feel like they have helped create that food, they're more willing to eat it. In total we've only had about 1/4 cup of peas, so not much to speak of but enough for a 3 year old to be thrilled.

Sunday, December 4, 2011

Some Videos

0 comments
Sometimes the kids will play together alone at Masten Park. When I saw this I didn't want to interrupt the fun by opening the door so I'm spying between the blinds at the back door. I dunno what all the background noise is. It's pretty hilarious watching them smack their heads numerous times and still keep playing.


Ian picks up on things a lot faster than Zoey did. Here you can see he has learned how to open a door and knows what the bathroom is for. He will frequently run to the bathroom right after he wets his diaper. We've sat  him on there a couple times but he doesn't go. He's really obsessed with the bathroom lately, but I worry  because not only does he know how to flush the toilet he realizes that it makes things disappear. He has yet to connect all those dots, but I'm sure it's only a matter of time we're fishing things out of the toilet that don't belong there.