tag:blogger.com,1999:blog-23930394437005213872024-03-08T15:04:52.861-07:00Remy Laneusing System.Reflection;Unknownnoreply@blogger.comBlogger36125tag:blogger.com,1999:blog-2393039443700521387.post-74615189458288290732010-12-06T10:32:00.001-07:002010-12-06T10:33:00.268-07:00Discipleship verse of the week - Second Timothy 3:16 - 17<blockquote>Scripture is God breathed, and is useful for teaching, rebuking, correcting, and training so that the man of God is thoroughly equipped for every good work.</blockquote>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-599195385883361712010-11-24T09:59:00.001-07:002010-11-24T10:01:44.281-07:00Heralding (the condemned art of) introspectionJosh Allen hit a nerve with his post, <a href="http://www.netcrucible.com/blog/2009/04/21/the-curse-of-objectivity/">The Curse of Objectivity</a>. He addresses the fact that subjective thought is discouraged in the scientific community. He balances his observation with the merits of objective thought, but concludes that subjective thought has essentially been thrown out and that is not good.<br />
<br />
<a href="http://www.netcrucible.com/blog/2009/04/21/the-curse-of-objectivity/">So go read his post</a>, you'll get more out of it than anything I might say here! Then consider how objective only thought has foisted itself upon you. Also consider the similarities between objective-only thought, and naturalism or humanism.<br />
<br />
As a simple analogy I might consider objective thought my eyes and subjective thought my ears. If I am deaf I can still function, but am limited. If I am standing on train tracks I can only see one direction at a time. With ears I can be looking one way and still be aware of a train rumbling down the tracks behind me. I can then turn my eyes to see the source of the noise, and step aside before it is too late. Subjective thought is similar, it wells up inside of us and speaks of something we cannot see, or even easily express. Without it we are as deaf people, unaware of the screaming sounds of the city, or the roar of a train barreling right at us. Unaware of the wind rustling through the trees, or cicadas singing their mating song.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-18085561707662749452010-11-24T08:56:00.000-07:002010-11-24T08:56:52.719-07:00Discipleship verse of the week - Psalm 1:1 - 3<blockquote>Blessed is the man who walks not in the counsel of the wicked, nor stands in the path of sinners, nor sits in the seat of the scornful; but he delights in the law of the Lord and in His law he meditates day and night. He is like a tree planted by the rivers of water that brings forth fruit in its season, whose leaves shall not whither. And whatever he does shall prosper.</blockquote>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-62029041086328404892010-11-16T09:35:00.001-07:002010-11-22T16:09:43.070-07:00Discipleship verse of the week - Luke 9:23 - 24<blockquote>Then he said to them all, "If anyone would come after me he must deny himself, take up his cross daily, and follow me. For whoever wants to save his life will lose it, but whoever loses his life for my sake will save it."</blockquote>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-77721241517189052112010-11-16T09:20:00.001-07:002010-11-16T09:24:10.424-07:00Enforcing HTTPS or HTTP in ASP.NET WebForm PagesThis is really simple and yet extremely effective... I add these two methods to my Page base class, and suddenly all of my WebForm pages redirect to https when the Request is not to localhost.<br />
<br />
<code>protected override void OnInit(EventArgs e)<br />
{<br />
base.OnInit(e);<br />
PushSSL();<br />
}<br />
<br />
private void PushSSL()<br />
{<br />
const string SECURE = "https://";<br />
const string UNSECURE = "http://";<br />
<br />
//Force required into secure channel<br />
if (!Request.IsLocal && !Request.IsSecureConnection)<br />
Response.Redirect(Request.Url.ToString().Replace(UNSECURE, SECURE));<br />
}</code><br />
<br />
This code is a simplified version of what I found in this post: <a href="http://weblogs.asp.net/kwarren/archive/2005/07/08/418541.aspx">443 <--> 80 - Seamlessly moving requests in and out of SSL</a>. His use of the System.Diagnostics.Conditional("SECURE") attribute on the PushSSL method is very interesting. I like it, but decided I didn't want the extra bit of build configuration complexity this round.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-33998854477444457092010-11-12T16:20:00.001-07:002010-11-12T16:20:59.843-07:00Find it and lose find it and lose itPeriodically, I need the ability to fetch any single item from an arbitrary Linq to SQL ITable based on the primary key value. I've seen this code elsewhere on the Internet, but every time I go looking for it I struggle to find it. So now I'm saving it here once for all. In this case the expectation is that my primary key ID is an integer, but <i>int</i> could easily be replaced by <i>GUID</i> or anything else.<br />
<code><br />
public static class ITableHelpers<br />
{<br />
public static object SingleOrDefaultByID(this ITable table, int id)<br />
{<br />
var param = Expression.Parameter(table.ElementType, "e");<br />
var predicate = Expression.Lambda(<br />
Expression.Equal(<br />
Expression.Property(param, table.PrimaryKey().Name), <br />
Expression.Constant(id)<br />
), <br />
param<br />
);<br />
<br />
var call = Expression.Call(typeof(Queryable), "SingleOrDefault", new Type[] { table.ElementType }, table.Expression, predicate);<br />
return table.Provider.Execute(call);<br />
}<br />
<br />
public static System.Reflection.PropertyInfo PrimaryKey(this ITable table)<br />
{<br />
var matchingProperties = table.ElementType.GetProperties().Where(p => p.GetCustomAttributes(true).OfType<System.Data.Linq.Mapping.ColumnAttribute>().Any(c => c.IsPrimaryKey));<br />
<br />
if (matchingProperties.Count() != 1)<br />
throw new NotSupportedException(String.Format("Class '{0}' does not contain exactly one property that is a Linq to SQL primary key.", table.ElementType.FullName));<br />
<br />
return matchingProperties.Single();<br />
}<br />
}</code>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-64605678115520175052010-11-11T08:45:00.001-07:002010-11-11T08:49:54.138-07:00Sharing laughterI like to make people laugh, and now I might have some idea why beyond "it makes them happy and me happy". Laughter is involuntary. Laughter results from <i>sharing</i> some thought, or observation, or event that triggers an involuntary response. Some call this striking a chord, and now I think I get why. For someone to laugh in response to something you said, you must "strike a chord", a part of them that is deeply ingrained, and if so deeply ingrained that it has an involuntary result then both of us must share some level of deeper understanding.<br />
<br />
So partially why I want to make people laugh derives from a desire to see evidence of some deeper, shared understanding.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-85613240655260440952010-11-10T10:09:00.002-07:002010-11-11T09:04:20.028-07:00SubSonic 3.0's SimpleRepository Auto Migrations - What's the point?I recently began taking a serious look at <a href="http://subsonicproject.com/">SubSonic</a> 3.0 for .NET 3.5. The feature that interested me most is called SimpleRepository and is intended to enable code-first development. It is the primary motivation for trying out SubSonic instead of sticking with my tried and true Linq to SQL workflow of design the DB, update the data context, generate classes using my custom T4 template, and then tweak partial classes. Just writing the steps down makes me tired!<br />
<br />
SubSonic's built-in <a href="http://www.subsonicproject.com/docs/Using_SimpleRepository">SimpleRepository</a> class provides an implementation of code-first and tweak the database later (a.k.a. auto migrations). Initially I didn't get it, but as I read more and more about how coders are using databases these days, the NoDB concept, MongoDB, etc. etc. it started to sink in. What started to sink in? Well being able to just code, being able to forget about the DB and know that the POCOs I'm creating and changing are being accurately mapped to and retrieved from a magical elf-prince named Database. Of course there will be more to it then just magic like that, but I understand and am perfectly ok with dealing with needs like indexing and production DB migration paths. Those issues are discussions for other posts some other day because they concern the test and production environment and not prototyping/developing.<br />
<br />
<h3>What's the point of auto migrations?</h3>Ok, so what's the point of a feature called auto migrations that won't automagically migrate my production database from version B to version C? The goal of prototyping/developing is not to migrate my production DB up or down, but to be able to quickly create, experiment with, and refine features. Wouldn't it be nice if I didn't have to go through the endless routine of tweak database, update Linq to SQL datacontext, re-generate classes using my custom T4, dot, dot, dot. This is exactly where SimpleRepository with auto migrations enabled shines: if I make a change to my POCOs and then try working with it and the data it contains the SimpleRepository's auto migration feature steps in and alters the database...I'm guessing, just guessing here, but I think it waves a wand and cries out to the elf-prince named Database, "All Your Database Are Belong To Us", and the elf-prince reorganizes his kingdom accordingly. Crazy!<br />
<br />
<h3>What's the catch?</h3>Are you catching my drift, feeling my excitement, does it sound to good to be true? Is it? I'm not 100% sure yet, but I'm very close to finding out and when I do I'll create a post and supply some code that proves just how super-duper the tech is, and/or laments what is lacking.<br />
<br />
<div style="text-align: center;"><i>If you already have experience with SubSonic 3.0's auto migration feature please share the love with a comment.</i></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-55888470681927664682010-11-05T12:06:00.000-06:002010-11-05T12:06:20.381-06:00The greatest SQL Server development tools everA very special situation at work has required us to look into software for comparing and merging data between two databases with very similar data. Originally we had planned to use Microsoft's SQL Server replication, but the replication system's inability to cope with special constraints forced us to look elsewhere for a solution. A co-worker recommended <a href="http://www.red-gate.com/">Redgate</a>'s <a href="http://www.red-gate.com/products/SQL_Data_Compare/index.htm">SQL Data Compare</a> product, and as it turns out that it rocks something fierce. It does exactly what I hoped it would, and is stupid simple to use.<br />
<br />
Whilst looking at that I also took a look at <a href="http://www.red-gate.com/products/SQL_Compare/index.htm">SQL Compare</a> from the same company. Also mind numbingly good.<br />
<br />
Like most shops (should have) we have three environments (or more): Dev, Test and Production. Migrating from the development environment on up has consistently been a chore (at best) and headache inducing, I hate this and want to quit (at worst). With these tools much of the pain is completely side-stepped with minimal tweaking required at migration time.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-66352420149328918542010-10-13T08:28:00.001-06:002010-10-13T08:33:22.589-06:00SQL Server cursors - How I got into and out of an infinite loopRecently while coding at work, a sql server cursor of mine got stuck in an infinite loop. The infinite loop was very surprising to me because I did not expect the result set from the cursor query to change as I updated or inserted new records into the table my cursor query was based on. What I now know is that when a cursor is based on some table, and you update or insert a new record into that table, the cursor will take that data change into consideration. How exactly? Well I'm not sure... (...if <i>you </i>are sure please leave a comment :)<br />
<br />
I side-stepped the issue by creating a table variable that I first inserted into, and then spun the cursor off of instead of the spinning directly off of the actual table. Since I am not making any changes to the table variable, but only the actual table, I have not gotten caught in the unending cursor trap.<br />
<br />
In addition to the overly aware cursor issue was another problem I have no explanation for. A co-worker noted that one of the fields would sometimes but not always change from Run to Run Complete. Apparently the use of a cursor can induce strange behavior when updating a record that is part of the cursor's result set. In this specific case I was updating the record that the cursor was currently on. Until I have a better grasp of cursors, my use of a table variable seems to side-step this issue by keeping the table my cursor uses and the table I am populating separate.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-39398085600811820872010-10-04T09:33:00.000-06:002010-10-04T09:33:56.016-06:00Detecting Errors in Views at Compile TimeI got this tip from <a href="http://blog.stevensanderson.com/">Steve Sanderson</a>'s fantastic book <a href="http://www.amazon.com/ASP-NET-Framework-Second-Experts-Voice/dp/1430228865/ref=sr_1_1?ie=UTF8&qid=1286205132&sr=8-1">Pro ASP.NET MVC 2 Framework</a>.<br />
<br />
Open your ASP.NET Webforms or MVC .csproj file in WordPad and find:<br />
<blockquote><Target Name="AfterBuild"><br />
</Target> </blockquote>Make it look like this to cause views to compile when building in release mode:<br />
<blockquote><Target Name="AfterBuild" Condition="'$(Configuration)' == 'Release'"><br />
<blockquote><AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" /></blockquote></Target></blockquote>Be aware of xml comments <!-- --> around the AfterBuild tags that will keep your change from getting used.<br />
<br />
The effect is compiler errors in your views will show up when you compile in release mode, and not just when that view is open in Visual Studio.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-3346142868112071552010-09-30T08:43:00.004-06:002010-09-30T08:47:54.732-06:00Stumbling into unit testingWell, I finally did it, I took a dip in unit testing last night. I've wanted to put it to use for some time, but have excused myself with the thought that it would take too long to figure out and what I really need to do is get on with writing real code. Riight... To my surprise and happiness, not only was it quick to get the unit testing ball rolling, but it was wonderfully satisfying to see those little tests succeed or even fail! It's one thing to write code that expresses some intent, and expect (more like hope) it will do what I want it to. It is quite another thing to write code, create a test <span style="font-size: x-small;">[1]</span>, and see that test case prove that my original intent and the final result are one and the same.<br />
<br />
I now have a feel for its utility that makes me excited to continue using it. To my new and naive understanding, a unit testing project is like a small console application that runs quickly and tells me simple but important things like "code A threw exception X", "test case B did not match the expected value Y", or "all tests passed and all seems well, sweet dreams". When compared to how I have done "testing" up to this point the time savings is enormous. That is because my traditional technique (for web application development for example) is write some code, compile code, launch web server and browser, login, browse to affected web page, and perform test case B. Had I only stopped making excuses sooner, the time and headaches I could have saved.<br />
<br />
<span style="font-size: x-small;">[1] Yeah I know everybody says write the tests than the code, red-green-refactor and so on, but I'm just starting. I look forward to growing in understanding, and learning when is best time to do what.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-63912196572620312062010-09-23T13:00:00.000-06:002010-09-23T13:00:01.121-06:00Create email files in .NET instead of sending emails with SpecifiedPickupDirectoryNormally in web.config we have:<br />
<blockquote><configuration><br />
<system.net><br />
<mailSettings><br />
<b><smtp deliveryMethod="Network"></b><br />
<b> <network host="smtp.example.com" /></b><br />
<b> </smtp></b><br />
</mailSettings><br />
</system.net><br />
</configuration></blockquote>Recently I learned that when developing we can output to ".eml" files directly to our C:\ drive if we configure like so:<br />
<blockquote><configuration><br />
<system.net><br />
<mailSettings><br />
<b><smtp deliveryMethod="SpecifiedPickupDirectory"></b><br />
<b> <network host="ignored" /></b><br />
<b> <specifiedPickupDirectory pickupDirectoryLocation="c:\ExampleEmailPickupFolder" /></b><br />
<b> </smtp></b><br />
</mailSettings><br />
</system.net><br />
</configuration></blockquote>The .eml files can be opened and read using Notepad. I'm told Outlook can open them, but I'm not sure if Lotus Notes can.<br />
<br />
If you ever want to test email capabilities while developing locally you no longer have to be shy about it, but can output directly to files. Another useful feature is that you don't have to be worry about accidently emailing a user since we know emails are not sent, but we can see what every email that would have been sent looks like.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-61456493193237948652010-09-18T16:37:00.001-06:002010-09-18T16:37:05.284-06:00Cleaning up my online life<p>It began yesterday with facebook, and has filled up much of today with gmail.</p> <p><a href="http://lh5.ggpht.com/_7vtbp9gOeC4/TJU-wuVBReI/AAAAAAAAASs/eENRJBaSJHs/s1600-h/Shredding-facebook-and-gmail%5B5%5D.jpg"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Shredding-facebook-and-gmail" border="0" alt="Shredding-facebook-and-gmail" align="left" src="http://lh3.ggpht.com/_7vtbp9gOeC4/TJU-xFMhSnI/AAAAAAAAASw/4eNKHLjp3hk/Shredding-facebook-and-gmail_thumb%5B3%5D.jpg?imgmax=800" width="194" height="240"></a>I’ve made up my mind how I will use facebook. Initially I was going to deactivate the account, but my older sister requested I keep it so that she could tag photos with me. A silly reason perhaps, but it got me to consider alternatives to complete deactivation. Essentially, I have reduced my set of facebook “friends” to only those people I am or have been very close to. In reducing that set I’ve gotten past the idea of offending people by de-friending. Which isn’t to say I don’t care, I do, but for me personally the point of facebook is not to be magically connected to hundreds of people I rarely or ever think about (not even considering how much or little they think of me). Instead, my new purpose for facebook is to please my older sister. We’ll see how it goes. I may still eventually decide to deactivate the account.</p> <p>My gmail inbox has turned into a horrifying, unwieldy, beast of a box. The sheer volume, my inability to make it clean, has resulted in me checking it sporadically—perhaps once a month on average. It had 3200 unread messages, all important I’m sure, now it has 1. I left the one unread to remind me to follow up on it Monday. Cleaning out that inbox took about 3 hours. An hour per thousand messages it would seem. Having used all that time I hope to keep it clean, and establish a regular schedule for effective use, perhaps once a week. I’ve unsubscribed from every single email newsletter possible, and am prepared to junk any newsletter I could not unsubscribe from. </p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-20654217589263893112010-09-14T09:59:00.000-06:002010-09-14T09:59:05.646-06:00POST values take precedence over GET valuesThis is something I have always suspected, but now I know for certain. If there is a posted value with the name ArticleID, a get value in the query string with the same name, and your action asks for "int ArticleID" then ASP.NET MVC 2 will give you the posted value and ignore the get value.<br />
<br />
It makes good sense to me, but is nonetheless something every ASP.NET MVC developer should be aware of especially when dealing with security.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-91186473707295769062010-09-01T07:29:00.002-06:002010-09-02T13:45:30.241-06:00Happy Birthday Annalee!<a href="http://lh5.ggpht.com/_7vtbp9gOeC4/TH5VUzCLyKI/AAAAAAAAASc/Y4xIz7SO5ZM/s1600-h/Trujillo%20Camping%20Trip%20016%5B6%5D.jpg"><img align="left" alt="She's so cute!" border="0" height="180" src="http://lh6.ggpht.com/_7vtbp9gOeC4/TH5VVK77AlI/AAAAAAAAASg/vm4n2bV_ew4/Trujillo%20Camping%20Trip%20016_thumb%5B4%5D.jpg?imgmax=800" style="border: 0px none; display: inline; margin: 0px 10px 5px 0px;" title="She's so cute!" width="240" /></a>She is now 23 years of age. It is especially exciting because now I’m only 3 years older than her rather than the 4 years older I have been since June 29th.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-6439724447851253362010-07-29T10:32:00.001-06:002010-07-29T10:32:44.176-06:00For FreedomIt's become more and more obvious <b>to me</b> recently how in and out of a good mood I can be. One day I'm in, the next, I'm out. It affects others. I've also been struggling with loving Jesus...the effect of my struggle with accepting his love. Cause and effect. But Jesus has not forgotten me. He has sent encouragers and encouragement to me noticeably often recently. Although, that statement isn't obvious unless I take time to notice. My mom wrote me a note today. A friend invited me over to hang out after receiving a downcast cry for help in the form of a text. It's easy to consider things like that "little things" with the effect of taking them for granted. But each are really big things. They are big because they happened, big according to what happened, and big on account of why they happened.<br />
<ul><li>It happened - The alternative is nothing happened.</li>
<li>What happened - A conversation that stated Jesus does want me, to know me, and for me to know him. A note encouraging me not to give up.</li>
<li>Why it happened - I am downcast and someone noticed. I feel some need and asked for help.</li>
</ul>Those are big things. Here are the verses from the note:<br />
<blockquote>It was for freedom that Christ set us free; therefore keep standing firm and do not be subject again to a yoke of slavery.</blockquote><blockquote>Take My Yoke upon you and learn from Me, for I am gentle and humble in heart, and you will find rest for your souls.</blockquote>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-20860851834403216352010-07-20T12:40:00.000-06:002010-07-20T12:40:31.149-06:00SQL Server - Enforce foreign key constraints and cascading deletesApparently if <b>Enforce foreign key constraint </b>is set to <b>No</b> in the designer cascading deletes will not take place. The programmatic variant of setting that to No is:<br />
<code><br />
ALTER TABLE MyTable NOCHECK CONSTRAINT MyFKConstraint</code><br />
<br />
Swapping out NOCHECK with CHECK will enforce the fk constraint.<br />
<br />
Although I think this behavior is reasonable, and even desirable it has put me on my heels more than once. Hopefully writing it down will keep me from forgetting again.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-29626396883262810082010-07-19T18:00:00.001-06:002010-07-21T17:05:26.611-06:00What clown on a unicycle?Some cognitive psychologists came up with a very creative way to look into how aware of our surroundings us people are. They ran a clown on a unicycle in circles for 8 hours in a commons area where sidewalks intersect at their campus. The results are quite humorous, and the implications alarming.<br />
<br />
Check out <a href="http://well.blogs.nytimes.com/2009/10/22/what-clown-on-a-unicycle-studying-cell-phone-distraction/">The New York Time's coverage of the Clown on a Unicycle study</a>.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-27139138663170093252010-06-26T18:55:00.005-06:002010-07-21T17:04:43.429-06:00World Changers interview<h3>Tell us a little about the impact of world changers project on the community and participants.</h3>World Changers emphasizes sharing Christ’s love, and provided plenty of opportunities. I did not know most of the people who were going, including the 3 passengers in my van. Fortunately we had a road trip and what better way to get to know someone than on a road trip. There are so many ways to share Jesus’ love. In most cases there is nothing glamorous or complex about doing so. In fact, the most effective means I know of for sharing His love look exactly like sitting down and talking.<br />
<br />
Of course, the main thing that World Changers does is fix houses. I was aware of three major types of projects: siding, roofing, and flooring. My project group was responsible for residing a very old house. Although the house’s great need of repair was obvious, the owner, Mr. Smith, simply did not have the financial or physical resources required to reside his house. Looking back now I see that meeting someone’s need in this way aligns perfectly with the Gospel message. Christ met a need we could never meet on the cross.<br />
<br />
World Changers emphasized sharing Jesus’ love from the individual level on up to the community level and beyond. I had an opportunity to tell a University of Missouri media student what we were doing and why we were doing it. She came out to Moberly specifically to interview volunteers on camera for a class she is taking. World Changers anticipates and invites opportunities like this, and provides guidance to anyone being interviewed. By preparing me ahead of time I was able to rightly recall that we came all this way to share Jesus’ love through service. I believe a college classroom of media students will now get to see and hear the simple message that “Jesus loves”.<br />
<br />
<h3>Tell us about one way God has used the trip while being back home.</h3>Having been gone from work for a week, co-workers would regularly point out they hadn’t seen me for a while, or ask where I have been. World Changers emphasis on the why we were there, and not just what we were doing flowed into every encounter like this. I had multiple opportunities this last week to tell co-workers that I was with 150 others sharing the love of Christ through fixing up houses. It was a very easy thing to say, and now I’m anxious for more opportunities to share how Christ loves. Now none of the times I shared with a co-worker led to a deep, spiritual conversation, but it did say more to many than I had said before. It said “I believe Jesus is real”, “I believe Jesus loves people through me”, and “I am someone who is willing and ready to talk about Jesus”. Where is goes from there I leave in God’s hands, but I do pray for more opportunities.<br />
<br />
Learn more:<br />
<ul><li><a href="http://www.world-changers.net/">http://www.world-changers.net/</a></li>
<li><a href="http://en.wikipedia.org/wiki/World_Changers">http://en.wikipedia.org/wiki/World_Changers</a><br />
</li>
</ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-2098385387052603602010-04-08T08:09:00.002-06:002010-07-21T17:05:45.778-06:00The message heard from the beginningWe should love on another!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-76255751060843655032010-03-26T12:37:00.003-06:002010-07-21T17:03:58.468-06:001 Peter: SojourningA temporary stay.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-52484137410797498902010-02-01T10:16:00.006-07:002010-07-21T16:56:05.564-06:009 LINQ to SQL Tips by Dinesh Kulkarni<ol><li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2007/11/05/how-to-map-an-enum.aspx">How to map an enum</a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2007/11/09/linq-to-sql-how-to-2-base-class-for-all-entities.aspx">How to use common base class for all entities</a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/05/05/linq-to-sql-tips-3-deferred-lazy-loading-of-related-objects-with-stored-procs.aspx">Deferred (lazy) or eager loading of related objects with stored procs</a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/05/11/linq-to-sql-tips-4-use-deleteonnull-if-you-want-to-delete-object-with-null-fk.aspx">Use DeleteOnNull if you want to delete object with null FK </a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/05/16/linq-to-sql-tips-7.aspx">Using stored procs that return multiple results</a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/05/23/linq-to-sql-tips-6-how-to-refresh-given-datacontext-won-t-stomp-on-your-objects.aspx">How to refresh given DataContext won't stomp on your objects</a> </li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/06/01/linq-to-sql-tips-7-minimal-update-when-you-don-t-want-optimistic-concurrency-check.aspx">Minimal update when you don't want optimistic concurrency </a><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/06/01/linq-to-sql-tips-7-minimal-update-when-you-don-t-want-optimistic-concurrency-check.aspx">check</a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/06/06/linq-to-sql-tips-8-how-to-and-why-create-a-partial-class-in-the-designer-to-augment-generated-code.aspx">How to (and why) create a partial class in the designer to augment generated code</a></li>
<li><a href="http://blogs.msdn.com/dinesh.kulkarni/archive/2008/07/01/linq-to-sql-tips-9-understanding-datacontext-s-internal-caching.aspx">Understanding DataContext's internal caching</a></li>
</ol>Dinesh Kulkarni is one of the developers behind my favorite .NET 3.5 feature, linq to sql (aka dlinq). He has a series of tips that are not organized so I decided to organize them here. Anyone who uses or plans to use linq to sql should read every tip because these tips address the most common questions he has been asked.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2393039443700521387.post-18430137183371950992009-12-05T09:45:00.002-07:002010-07-21T17:04:21.345-06:00Cut Christ out of meand I bleed to death.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2393039443700521387.post-85114242686348029802009-11-20T13:55:00.010-07:002010-07-21T17:03:21.234-06:00What the heck is the local church anyway?Dear Reader,<br />
<br />
Yesterday I discovered that I either never knew or have forgotten what the local church is, is about, exists for, and why I should care or encourage others to care. I doubt that I am alone in this, and wonder if you feel the same.<br />
<br />
Having gone to church non-stop the past 4 years it is a strange thing to suddenly realize that I don't even know why I am going, what a local church is, or why it should exist. Instead of responding with dispair, disillusionment, or some other dis I tried to find some more info. I gleaned the following from a DesiringGod.org recording. I'll summarize here, but don't take my word for it listen to the recording yourself: <a href="http://www.desiringgod.org/ResourceLibrary/Sermons/ByTopic/5/290_The_Local_Church_Minimum_Vs_Maximum/">The Local Church: Minimum Vs. Maximum</a><br />
<br />
John Piper's 7 minimum essentials of a local church<br />
<ol><li>Give evidence of being a Christian</li>
<li>Baptism</li>
<li>Regular assembly</li>
<li>Must be worship</li>
<li>Exhortation from the Word of God</li>
<li>Celebrate the Lord's supper</li>
<li>Appointed leaders</li>
</ol>Maximum: Zealous for good deeds<br />
<blockquote>We are coming out of an era in American church life in which it has been possible for evangelical Christians to give a tithe to the church and then devote themselves financially to building the good life and all the while keep a clear conscience. It was an era in which for conservative evangelicals ethics meant primarily the avoidance of certain sins rather than the pursuit of good deeds. (John Piper)</blockquote><blockquote>The era of comfortable isolation for us American evangelicals is ending, because its justification is crumbling and because the misery and destitution of the world is coming too close now to ignore. And as it approaches, local churches in whom the Spirit of God dwells will feel themselves drawn to some fairly radical reorientations of lifestyle, reorientations calculated to maximize good deeds for <i>all</i> men and especially for those of the household of faith. (John Piper)</blockquote>Unknownnoreply@blogger.com0