20 years ago on Labor Day weekend, my parents and brother’s dropped me off at UMD. I believe it was a Saturday, possibly mid-morning. After a few tears and hugs, they took off in the green Aerostar and headed back to Hayward, MN.
My first memory of UMD was walking down the hall and noticing that two doors down on the opposite side of the hall, an obnoxious, hyper, loud talking jackass was telling his tall, bookish roommate (the Doctor) how good Metallica sounded on his speakers. And how cool it was to have tinfoil over their window to block out the sun. All the while drinking Cherry Pepsi and yelling out Pearl Jam lyrics.
My roommate, Chris Beese, and his family ended up showing up that afternoon. Upon arrival, Chris’s dad Gary Beese, took the opportunity to break in the Grigg’s A (1st floor) bathroom and shower. After drying off and exchanging pleasantries, Chris kicked them out of the room and decided it was time to start meeting the neighbors – after reading a chapter of his latest Star War’s book of course.
From what I remember, Chris warmed up to the new neighbors right away – Eddie Vedder included. Could have been the Cherry Pepsi, or the fact the Doctor was a hunter, or that they both had cars. I shied away, primarily because of how proud they were of being from “The Cities,” which I immediately presumed meant they were rich. In any sense, we agreed to hit the freshman dance at the Kirby Ballroom later than evening.
Turns out that our interest in finding house party trumped staying at the dance for any length of time, and being both Eddie and the Doctor had cars, we were mobile. Odd as it may sound, I had run into an upper classman by the name of Tom Goodnature in the parking lot earlier that day. I knew Tom from back in Albert Lea, and even back then, he seemed to have a good sense on where the party was. He had mentioned the possibility of having some people over at his place, and so with that hint of an opportunity, we took off to drink a few beers at Goodie’s place.
The rest is mostly history. After loosening up on five to six Milwaukee’s Best, turns out Eddie and the Doctor weren't that bad after all. 20 years later, along with the myriad others I met at UMD, we remain good friends. Though, Eddie has stressed this friendship on a number of occasions – getting strip searched at the Canadian border included.
Decided to share this story for the 20th anniversary of our freshman year at UMD! Go Bulldogs!
Thursday, August 28, 2014
UMD - 20 Year's Ago this Labor Day
Posted by Mac Noland at 2:59 PM 1 comments
Monday, April 01, 2013
Notes on Spring's OpenSessionInViewFilter and Hibernate's LazyInitializationException
I'm writing this down so I can reflect on it when the healing ends. I basically spent the last five days moping around the house figuring that my life as a below average programming hack was over. (Fortunately this is just a hobby and I have a day job.) I was trying to use Hibernate with MySQL along with Spring 3.2's Hibernate Transaction Management so I didn't have to worry as much about cleaning up after myself. I'm using Spring's MVC for controlling the user interface stuff.
The issue I was running into initially was a "org.hibernate.LazyInitializationException: could not initialize proxy - no Session" when returning my view and whipping through the objects. This kind of made sense to me since I knew the Hibernate Transaction Management piece (annotated as @Transactional) was doing its job of closing the Session.
My first whack at things were to Eagerly load by objects. While this did fix the issue initially, I quickly found that this was the wrong, the very wrong, approach. I was loading my object, my object's collection of objects, those object's objects, those objects collection of objects, and so on. Once could argue my object relationships could use some scrubbing, but that aside, Eager loading was not the answer.
If you Google LazyInitializationException you'll get a number of references to using Spring's OpenSessionInViewFilter. The logic here is that by using this filer, or writing your own if you're smart enough, is that it has hooks into the Transaction Manager such that together they will keep the Session open until the request has finished. This means that you can still Lazy load things, and whip through stuff in your view. Then after request is finished, the OpenSessionInViewFilter will take care of closing the Session. This was perfect!!!
But like most things in my life, getting his implemented wasn't as easy as you'd think. After wiring up the filter, I didn't get any change in behavior. Still got the error message "org.hibernate.LazyInitializationException: could not initialize proxy - no Session." I gave the OpenSessionInViewInterceptor version a try, but no go. Same error.
Stepping back a second. When I first got started writing this application a few weeks back, I noticed some odd behavior. When I launched the application and my beans were created, I was ending up with two database connections showing up on the MySQL side. Without any requests coming in, I should just have one. But I never thought much of it though. And as it turned out, I should have really paid attention to this.
I don't have much experience in doing this, but I was at such a point in my disillusion, that I attached the Spring 3.2 source to my libraries and started walking through the OpenSessionInViewFilter and HibernateTransactionManager code. In here I could see where the filter "binds" a newly created Session to the hibernate transaction manger and then where the transaction manager tries to fetch that Session from its binding. For some reason, the transaction manager was never finding the Session that the filter was putting in there. You could see the filter open a Session, then the transaction manger open a second Session after failing on a Session lookup. Even a dummy like me found this fishy.
I'm not sure if was the morning coffee or evening beer, but something fired in my mind and made me think back to those two database connections. Could there be a relationship? And as it turns out, there was.
I'm sure it's much more complicated that this, or much more simple, but essentially what was happening was I was instantiating Spring twice. I was loading it once with my MVC Dispatcher Servlet and then again with the Context Listener. Along with everything else, this was creating two HibernateTransactionManager beans. So I believe what was happening was, the OpenSessionInViewInterceptor was setting a Session on one transaction manager bean, but the other transaction manager bean was taking care of the transaction pieces and thus not finding the Session that the filter gave it.
After all this, I stopped instantiating Spring twice and the world started to align for me. So far the OpenSessionInViewFilter is working just fine. I'm able to lazy load my options and properly return my views. For a ton of reading in this problem a good place to start is issuing this Google search "site:stackoverflow.com opensessioninviewfilter lazyinitializationexception".
Posted by Mac Noland at 12:49 PM 2 comments
Friday, September 14, 2012
2011 West Blue Golf League - Results
Here are the results from the 2011 West Blue Golf League.
Playoffs
1st - Kraft Dinner
2nd - Pinseekers
3rd - Bushwoods (over a crumbling Double Eagles)
Consolation = Swing Doctors (over Golf Gods in a squeaker)
The tournament weather was a bit chilly and wet if I remember. Not nearly wet enough though to prevent Trzynka from nearly killing former Thomson Reuters employee Mike Grey with a long draw down the left hand fairway (road). Impressive aim.
Attention critics: Notice how we had one three-sum this year and they finished with par.
Tournament
1st - Hunecke, Steigerwald, Rehfeld, Rager (-9)
2nd - Thoresen, Noland, Fermole, Miller (-8)
3rd - Grausnick, Meggitt, Wendt, Wiegel (-7)
4th - Hanson, Wagner, Mohs, Augeson (-7)
5th - B. Kuznia, Rademacher, Spilman, Burch (-6)
6th - Harlow, Kroening, Schwartz, Helmueller (-6)
7th - Sole, Maurer, Trzynka, Olenius (-6)
8th - Porter, Dietsche, Remarke, Vlasak (-6)
9th - Tschida, Ronning, Walberg (par)
Longest Drive #3 - Harlow (290 yards)
Closest to pin #7 - Augeson (10 feet)
Closest to pin #12 - Tschida (10 feet)
Closest to pin #16 - Grausnick (10 feet)
Longest Put #18 - Meggitt (19.5 feet)
Five skins were awarded in a year with no eagles. Grausnick's team on #8 with a birdie, Thoresen's team on #9 with a birdie, Harlow's team on #13 with a birdie, Hunecke's team on #16 with a birdie, and Tschida's team with a birdie on #17.
Posted by Mac Noland at 8:31 PM 0 comments
Labels: westbluegolf
Friday, December 02, 2011
My Time. My Boys.
Many of you may have wondered why within the last year I've written a total of four blog posts, this being the fifth. Oddly enough, my lack of anything remotely personal, such as blogging, has disappeared now that I have not one son, but two. It's not so much the diaper changing that swallows your time. It's the diaper change after the diaper change, followed by playing football and baseball - in the living room when mom's not home - and the occasional snow man, bath, feeding, doctor visit, and temper tantrum. It's amazing how much time those things take away from your personal space and time.
But you know what? It's totally worth it. Spending time with my boys is the greatest experience I've ever had. No, I don't have time for happy hour, blogging, working out on Saturday mornings, or reading a book a week. The things that fill up this space such as skating and skiing lessons, watching my baby army-crawl towards the Christmas tree, educating the oldest that to get a good swing on a ball you have to come down on the ball (even though it defies what your mind is telling you), are things that I wouldn't change for anything in the world.
Now, off to watch Handy Manny and scream at the oldest to clean up his toys.
Posted by Mac Noland at 6:56 PM 0 comments
Monday, August 22, 2011
2011 Militia Open
Here are the results from the 2011 Militia Open. These are brought to you by Justin Bieber and a panda.
Longest Drive #4 = Jake
Closest To The Pin #7 = Mac
Closest To The Pin #11 = Mac
Closest To The Pin #13 = Jake
1st = Aaron/Patrick (75)
2nd = Keith/John McN. (78)
3rd = Jake/John Wild. (79)
4th = Mac/John Sch. (79)
It's believed that the 75 by Aaron and Patrick is a Militia record.
Posted by Mac Noland at 12:16 PM 0 comments
Wednesday, August 17, 2011
My Gopher Football Schedule - 2011
Here is our lineup for the 2011 Gopher Football scheduled with Coach Kill.
09/10/11 - New Mexico State (Matt)
09/17/11 - Miami - Ohio (Sell)
09/24/11 - North Dakota State (Mac)
10/22/11 - Nebraska (Mac & Matt)
10/29/11 - Iowa (Mac)
11/12/11 - Wisconsin (Matt)
11/26/11 - Illinois (Mac & Matt)
Posted by Mac Noland at 8:07 AM 0 comments
Labels: gopherfootball
Wednesday, December 08, 2010
My Proust Questionnaire
Here is my Proust Questionnaire for writing class.
Posted by Mac Noland at 5:15 PM 0 comments
Tuesday, December 07, 2010
Thoughts on Coach Kill
When Coach Jerry Kill was announced as Gopher Football coach, I, like many alumni and season ticket holders said "who?" Top on my list was Marc Trestman and Mike Leach. Both would have brought national attention to the program and given us the prominence we need.
Posted by Mac Noland at 6:41 PM 0 comments
Sunday, October 24, 2010
Walter Football
Posted by Mac Noland at 2:36 PM 3 comments
Friday, October 22, 2010
Bond Valuation Class
I just finished up with a course on bond valuation at the U of M. If I end up passing, I'll have two classes left to finish my MBA.
Posted by Mac Noland at 7:32 PM 2 comments
Wednesday, September 15, 2010
2010 West Blue Golf League - Results
Here are the results from the 2010 West Blue Golf League.
Playoffs
1st - The Mulligans
2nd - Swing Doctors
3rd - Earth Movers (over Mentally Handicapped)
Consolation = Pinseekers (over Double Eagles)
The tournament weather was around 70 degrees, but with a prevailing two-club wind. I'm thinking the wind, along with the Gopher Football's poor play against South Dakota, affected most of the players (Travis Ranger and Jim Conry excluded). Compared to years past, scores were down about three strokes. We also had our first + score under my tenure. Unacceptable.
Lastly, the three-sum taking second was due to a no-show. The two defined three-sums finished 9th and 12th.
Tournament
1st - Bjerken, Wagner, Spilman, Schwartz (-9)
2nd - Porter, Braxmeier, Remarke (-8)
3rd - Gleiter, Trzynka, Fermoyle, Gebhart (-7)
4th - Price, Noland, Loya, Gerding (-6)
5th - Steigerwald, Conry, Englert, Finander (-6)
6th - Kuznia, Prout, Rehfeld, Walberg (-5)
7th - Hanson, Augst, Harlow, Piere (-5)
8th - Sole, Lenz, Ronning, Rowan (-3)
9th - Wendt, Madigan, Mohs (-3)
10th - Schwartz, Kroening, Olenius, Rager (-3)
11th - McNaughton, Hunecke, Grausnick, Vlasak (-2)
12th - Meggitt, Tschida, Daml (+2)
Longest Drive #3 - Gerding (280 yards)
Closest to pin #4 - Fermoyle (not even close)
Closest to pin #7 - Prout (driver into the wind)
Closest to pin #16 - Bjerken
Longest Put #18 - Rager
Two skins were awarded. The Gleiter, Trzynka, Fermoyle, Gebhart team eagled #1 for the first (second year in a row that a eagle took a skin here). And the Bjerken, Wagner, Spilman, Schwartz team birdied #11 for the second.
Posted by Mac Noland at 8:52 AM 1 comments
Labels: westbluegolf