Tuesday, June 14, 2005
#
I managed to ride my way into work today. Now that my office just migrated outward, this is a good thing.
Total distance to and fro, 17.02 miles.
Total time, 1 hr 15 min.
Average speed, 13.7 mph
Pretty decent for a strong headwind there, and a nice pushback home.
Blue is to, red is return.
Now if I can just habitualize the experience.
I've been drinking milk for quite a long time. My whole life, in fact.
I have also experienced milk in many different places. I know the varieties available. I know the fake stuff from the real stuff. The boxed to the unboxed. One thing is for sure, pasteurization is a good thing. Why they don't pasteurize in Thailand I will never know. But now that you know, you won't need to find out, either.
Last week I was introduced to what I believe is the best milk in the world.
A local dairy is producing organic, hormone-free milk. I've had their chocolate milk, and cream, and both are fabulous.
They don't have a website, but were written up in the newspaper. The place is called Cloverleaf Dairy. You'll find it in the aesthetically pleasing, retro, fully functional, thick glass bottles on the shelf at your local Dahl's. It's worth the price. And don't forget to return the bottles. The deposit is steep. But the payoff is well worth it.
I miss the city foxes in London. Always a delight to see. A bit out of the ordinary, perhaps.
Tonite, after I threw a couple of Tilapia filets onto the grill (see recipe below) I hopped on my cruiser and headed for a quick ride. I decided that a spin around the cemetary several blocks away would be fun, so I headed that way. I made my way into the cemetary and rode deep, so that I could circle around and head back out to make it home in time to have un-charred Tilapia filets.
I took a road that headed up a hill which I hadn't taken before, and when I reached the summit I stopped and paused to catch my breath and look around. The weather wasn't too nice and a storm was building up all around me, so I was checking out the clouds. I happened to look down the hill to my left, and to my surprise, a little scraggly fox was bounding across the road and looking around. He didn't see me at all.
I dropped my bike down and tried to run around the hill to see if I could see the fox. I didn't, so I headed back to the bike and continued riding. There he was in front of me. As soon as he saw me, he paused and thought about it for a moment, and then bounded away in a slight hopping/running sort of way. A ways away, he stopped to evaluate my reaction. I just stood there looking at him. After a bit of observation, he ran a bit further, and then I turned and began to ride away again. He seemed to find this very interesting. He had run to the bottom of the hill and was sort of peeking out from behind a tombstone as I rode away. I turned around to see him again, and he was standing on all fours on top of the tombstone watching me ride away. I waved goodbye, and headed back to get some dinner.
I have to admit, I forgot to tell you something else. I originally decided to ride over to the cemetary to hopefully catch a glimpse of this supposed cougar/mountain lion that has been spotted near there. I feel like I was rewarded by seeing the fox, although now my expectations are up for this cougar sighting I really desire to have.
Tilapia Filet:
- Butter
- Garlic
- Tilapia Filets (1 per person)
- Spring Onions
- Mixed spices, fresh or dried: peppercorns, basil, salt, and whatever else.
I melt about a quarter stick of butter under the broiler in the oven in a small bowl. Once melted, I press 5-6 cloves of garlic into the butter and stir it up.
Rip a piece of tin foil about the size of a piece of 8.5”x11” paper per filet. Lay each filet down in the center of each foil sheet.
Using a spoon, spread the butter and garlic mixture on the filets.
Sprinkle some herbs and/or dried spices onto the filets.
Chop up some spring onions and lay them on top of the filets.
Now, wrap up the filets in the foil, I typically fold up the sides around the filet, and with the “longer” side, fold it up in the air, in the middle, and “roll” the foil down so it closes. Just make sure the filets are sealed in there - they don't need to be airtight, just enough so that all that goodness cooks in the foil, and doesn't cook off.
Fire up the grill, put it on medium, and throw the foiled filets down and cook for 15-20 minutes.
Good, simple fish. Enjoy.
And beware of the cougar.
If you are not aware, there is an excellent open-source development environment for .NET called #Develop (SharpDevelop). It's a nice little IDE with some good capabilities.
One aspect to #Develop that I like the most is that it forces you to understand the “how” of .NET. If all you ever did was developed using Microsoft's Visual Studio.NET, the IDE de jour, you would be limiting yourself on understanding some of the inner workings of .NET that VS.NET “hides” from you.
I say this with all hindsight, because one of my first stumbling blocks to getting into .NET was that I only had the SDK. I didn't have VS.NET at the time, and hadn't started .NET development at work. So it was like diving in an ocean of ice cold water and forgetting how to swim. (BTW, this was after VS.NET had rolled, I realize the SDK was out first without the IDE.)
SharpDevelop was around as a .8 or .9 release and I was trying to work with it, but it was still so difficult to grasp. .NET is large enough that you can't contain it all in your head in a single instant, so having to learn a new IDE + Framework was just too much.
But what it makes you do manually - or at least understand the inner workings on, is so critical to getting the most of .NET. I think any framework or system is this way. If you don't understand the tools, or system capabilities, you can't fully utilize it.
Slight tangent: I feel the same way about AJAX. The “AJAX” idea has been implementable for the past 6 years, and just now it is receiving fanfare. All because of Google? Google is all great goodness and all, and it wouldn't surprise me at all if somehow revisionist history begins to attribute the invention of peanut butter and jelly sandwiches to Google someday as well. I mean, certainly they must have pulled that one off too. Oh yeah, and the tangent is this: If a developer fully understands A) The correct separation of client/server in web/browser communication, B) DHTML scripting, C) HTTP, and D) XML - AJAX makes complete sense. And to pull something like a Dave Winer: “I've been doing this for years, I practically invented it. Where have you all been?” Ok, so I didn't practically invent it. Which is why it is “something like a Dave Winer”, but I am really wondering where everyone has been and how it took so long to grasp. The best implementation I've found is AJAX.NET.
Tangent rejoined to main thread: If you don't understand the HOW of .NET, you'll never make it work for you.
So this weekend I sat down and was messing with #Develop and found the info lacking on the whole ASP.NET with #Develop. It is a lacking feature, for sure. But there are ways around it as I came across on some blogs.
But what I decided to put together was a couple of templates to aid the ASP.NET coders out there. I ran across a few posts out there on code-behind and /bin compilation. I actually didn't want to approach it from this way, although for a production system, it's not that hard to fix. But I coded these templates with dynamic compilation in mind. Thus, there is an ASPX for the content/markup, and an ASPX.CS code-behind file that is dynamically compiled on the fly by IIS once the files are dropped on the server.
Project “combine” template: ASPXDynamicCodeBehind.xpt
Place this file in: C:\Program Files\SharpDevelop\data\templates\project\CSharp
File template: CSharp.ASPXDynamicCodeBehind.xft
Place this file in: C:\Program Files\SharpDevelop\data\templates\file\CSharp
The project template creates a project with default.aspx and default.aspx.cs with a very basic code stub.
The file template creates two files, WebForm1.aspx and WebForm1.aspx.cs and a basic code stub. The number increments just like #Develop supports with multiple classes.
You are welcome to modify them to your liking.