<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-12705624</id><updated>2008-06-16T15:36:50.828-07:00</updated><title type='text'>Pauly and the Fatman</title><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/blog.html'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default?start-index=26&amp;max-results=25'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12705624.post-6789042138331029172</id><published>2008-06-16T15:36:00.001-07:00</published><updated>2008-06-16T15:36:50.862-07:00</updated><title type='text'>The Root of All Evil</title><content type='html'>I am reading Dick Morris' "Off with Their Heads: Traitors, Crooks &amp; Obstructionists in American Politics". (I know it was published in 2003, but my reading list is very long and political books get pushed to the back of the line.) Morris guided Bill Clinton and now works for Fox News, so my feeling is that like many of us he is chasing a buck (or he and Bill had a falling out and its payback time).&lt;br /&gt;&lt;br /&gt;Anyway, in the book Morris talks about the "left believing that poverty is the root of all evil", and that's what interested me. Is poverty really the root of all evil? I believe not. I think an ignorance of the innate evalue of human life, absence of a basic moral compass, and fear of suffering and destitution are at the core of evil's root.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2008/06/root-of-all-evil.html' title='The Root of All Evil'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=6789042138331029172' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/6789042138331029172'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/6789042138331029172'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-5866862859476805386</id><published>2008-05-20T11:54:00.000-07:00</published><updated>2008-05-20T12:15:34.218-07:00</updated><title type='text'>Get it at the (Microsoft) Codeplex</title><content type='html'>Do you need Microsoft sample code, patches, toolkits? Then, checkout www.codeplex.com. The codeplex is a microsoft site used to store all of the goodies you need. for example, you can download the SQL Express 2005 Advanced Services SP2 which will add SSMS (SQL Services Management Studio) Express and Full text Indexing to SQL Express. Check out the codeplex!</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2008/05/get-at-microsoft-codeplex.html' title='Get it at the (Microsoft) Codeplex'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=5866862859476805386' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/5866862859476805386'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/5866862859476805386'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-2114511830095312967</id><published>2008-05-09T09:30:00.000-07:00</published><updated>2008-05-09T09:39:29.690-07:00</updated><title type='text'>SQL Server Management Studio Not Installed - Fix</title><content type='html'>When you install Visual Studio it install SQL Server Express, but not SQL Server Management Studio (why anybody would ever want this configuration is beyond me). My workstation had Visual Studio 2008 and SQL Server Express on Vista. As many people know get SSMS installed with this pre-existing configuration is a pain in the butt. This approach worked:&lt;br /&gt;&lt;br /&gt;1. Control Panel|Programs|Uninstall&lt;br /&gt;2. Select Microsoft SQL Server 2005 (we won't uninstall express)&lt;br /&gt;3. When the uninstall option pops up de-select everything and make sure workstation components is checked (only)&lt;br /&gt;4. Let the uninstall run. &lt;br /&gt;5. Place the SQL Server disk in the drive, navigate to E:\ENGLISH\SQL2005\ENTERPRISE\32BIT\Tools\Setup&lt;br /&gt;6. Double click on SqlRun_Tools.msi and double-click&lt;br /&gt;7. Select the components you'd like to install.&lt;br /&gt;&lt;br /&gt;This seems to work just fine.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2008/05/sql-server-management-studio-not.html' title='SQL Server Management Studio Not Installed - Fix'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=2114511830095312967' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/2114511830095312967'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/2114511830095312967'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-6781515001306062065</id><published>2008-04-21T10:01:00.001-07:00</published><updated>2008-04-21T10:01:48.328-07:00</updated><title type='text'>DevExpress is Most Excellent Host</title><content type='html'>I don't endorse products for just money, and I surely don't endorse them for free meals. I do endorse products I believe in, and if I can I get paid (for writing articles) about those products not by the vendor. This applies to CodeRush and DevExpress. CodeRush is a must have meta-programming tool. CodeRush helps you produce code maybe as much as ten times faster and that code is uniform, which should mitigate the need for goofy coding standards meetings.&lt;br /&gt;&lt;br /&gt;That said, if I could be bribed by hospitality Ray Navasarkian and Mark Miller from DevExpress would certainly have made the cut. The DevExpress team, including Mark, Ray, Dustin Campbell, and Oliver Sturm hosted a sumptuous meal at the Metropilitan Grill in Seattle on Thursday (4/17/09) night. The atmosphere was handsomely appointed, the conversation was collegial, and the food was superlative. &lt;br /&gt;&lt;br /&gt;Ray, Mark and company provide first class products and are first class hosts. Thanks for your hospitality. (I have to go now because I have to hit them up for sponsoring our Day of .NET in lansing, Michigan on June 21st, 2008.)</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2008/04/devexpress-is-most-excellent-host.html' title='DevExpress is Most Excellent Host'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=6781515001306062065' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/6781515001306062065'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/6781515001306062065'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-7273345168317703206</id><published>2007-12-01T06:36:00.001-08:00</published><updated>2007-12-01T06:38:43.175-08:00</updated><title type='text'>New Deal is Raw Deal</title><content type='html'>Social Security was one of the programs of Franklin Roosevelt’s “New Deal” in the 1930s, during the Great Depression. Average people didn’t have access to capital markets or retirement accounts. Things have changed. Anyone can save and invest in stocks, bonds, treasury notes and many of these accounts can be opened with $50. The other thing that has changed is that the Federal government has screwed up social security. There is no social security for anyone still working today. Its bankrupt, and when you and I go ask for our checks they are going to bounce. Social security’s time has come and gone. I want a refund, and I want out. I demand that individuals be allowed to self-direct their retirement—in 401ks, IRAs, or individual trusts—and that money is solely and entirely for my benefit and so should you.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/12/new-deal-is-raw-deal.html' title='New Deal is Raw Deal'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=7273345168317703206' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/7273345168317703206'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/7273345168317703206'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-4285496614967737065</id><published>2007-09-14T07:45:00.001-07:00</published><updated>2007-09-14T07:45:36.463-07:00</updated><title type='text'>The Parable of the Impossible Perfect Pushup</title><content type='html'>A young man went into the Army. At this time the Army was fully gender-integrated. All of the young recruits were admonished not to be flirting with the young women.&lt;br /&gt;&lt;br /&gt;After many weeks of running, push-ups, sit-ups, and training all the young men were feeling fit and confident and the young women’s bodies were sleak and trim. One young man broke the “rules” and was caught talking to a beautiful young woman.&lt;br /&gt;&lt;br /&gt;The drill sergeant made the young man do push-ups. (Push-ups is an acceptable form of corporal punishment in the Army.) The routine for push-ups is to drop to a prone position, perform a four-count pushup—two-times up and down is one push-up—return to the standing position at attention—heals together, arms at the side—and then the rest position. Every element of the push-up is to be performed precisely.&lt;br /&gt;&lt;br /&gt;The drill sergeant made the private do ten four count push-ups and then return to the (parade) rest position. Each time the private did the ten four count push-ups and rose to the standing position the drill sergeant would have the recruit return to the prone position and perform ten more four-count push-ups. &lt;br /&gt;&lt;br /&gt;This went on for many minutes. When the recruit was visibly exhausted the drill sergeant finally asked &lt;em&gt;“do you know what you are doing wrong?”&lt;/em&gt;&lt;br /&gt;The recruit replied: &lt;em&gt;“No drill sergeant!”&lt;/em&gt; as was the custom.&lt;br /&gt;&lt;br /&gt;The drill said: &lt;em&gt;“Your heels aren’t together when you come to the standing attention position.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The moral&lt;/strong&gt;: Drill sergeants will let you fail as a form of instruction; people you work with will just let you fail.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Chinese proverb&lt;/strong&gt;: A fall makes you wiser. &lt;br /&gt;&lt;br /&gt;When you recover depends on how long it takes you to recognize the mistake.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/09/parable-of-impossible-perfect-pushup_14.html' title='The Parable of the Impossible Perfect Pushup'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=4285496614967737065' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/4285496614967737065'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/4285496614967737065'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-8643879701989793419</id><published>2007-09-14T07:43:00.000-07:00</published><updated>2007-09-14T07:44:06.536-07:00</updated><title type='text'>The Parable of the Impossible Perfect Pushup</title><content type='html'>A young man went into the Army. At this time the Army was fully gender-integrated. All of the young recruits were admonished not to be flirting with the young women.&lt;br /&gt;&lt;br /&gt;After many weeks of running, push-ups, sit-ups, and training all the young men were feeling fit and confident and the young women’s bodies were sleak and trim. One young man broke the “rules” and was caught talking to a beautiful young woman.&lt;br /&gt;&lt;br /&gt;The drill sergeant made the young man do push-ups. (Push-ups is an acceptable form of corporal punishment in the Army.) The routine for push-ups is to drop to a prone position, perform a four-count pushup—two-times up and down is one push-up—return to the standing position at attention—heals together, arms at the side—and then the rest position. Every element of the push-up is to be performed precisely.&lt;br /&gt;&lt;br /&gt;The drill sergeant made the private do ten four count push-ups and then return to the (parade) rest position. Each time the private did the ten four count push-ups and rose to the standing position the drill sergeant would have the recruit return to the prone position and perform ten more four-count push-ups. &lt;br /&gt;&lt;br /&gt;This went on for many minutes. When the recruit was visibly exhausted the drill sergeant finally asked &lt;em&gt;“do you know what you are doing wrong?”&lt;/em&gt;&lt;br /&gt;The recruit replied: &lt;em&gt;“No drill sergeant!”&lt;/em&gt; as was the custom.&lt;br /&gt;&lt;br /&gt;The drill said: &lt;em&gt;“Your heels aren’t together when you come to the standing attention position.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The moral&lt;/strong&gt;: Drill sergeants will let you fail as a form of instruction; people you work with will just let you fail.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Chinese proverb&lt;/strong&gt;: A fall makes you wiser. &lt;br /&gt;&lt;br /&gt;When you recover depends on how long it takes you to recognize the mistake.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/09/parable-of-impossible-perfect-pushup.html' title='The Parable of the Impossible Perfect Pushup'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=8643879701989793419' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/8643879701989793419'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/8643879701989793419'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-5042587147852642896</id><published>2007-05-29T08:22:00.001-07:00</published><updated>2007-05-29T08:28:06.084-07:00</updated><title type='text'>Party with Palermo TechEd 2007</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://partywith.palermo.cc"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.softconcepts.com/blogs/pkimmel/uploaded_images/498762885_26806c75c9_m-760229.jpg" border="0" alt="" /&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/05/party-with-palermo-teched-2007.html' title='Party with Palermo TechEd 2007'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=5042587147852642896' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/5042587147852642896'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/5042587147852642896'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-1554615954805014777</id><published>2007-05-20T18:06:00.000-07:00</published><updated>2007-05-20T18:07:01.131-07:00</updated><title type='text'>Chris Woodruff and West Michigan Day of .NET</title><content type='html'>On Saturday, 5/19/2007 I was honored to present an &lt;em&gt;Intro to Orcas&lt;/em&gt; at the West Michigan Day of .NET, hosted, coordinated, and pulled off to great affect by Chris Woodruff. (I suspect Chris had help but Chris was clearly the grand master on Saturday.) The venue--Davenport University in Grand Rapid, Michigan--was superlative, the organization was first rate, the enthusiasm was palpable, the attendees were fun and gracious, the interest in new technolgies was fantastic, and I was pleased to play a small role.&lt;br /&gt;&lt;br /&gt;Kudos Chris.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/05/chris-woodruff-and-west-michigan-day-of.html' title='Chris Woodruff and West Michigan Day of .NET'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=1554615954805014777' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/1554615954805014777'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/1554615954805014777'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-2099772398005265846</id><published>2007-05-20T17:36:00.001-07:00</published><updated>2007-05-20T18:05:59.636-07:00</updated><title type='text'>Chris Woodruff Pulls a Hat Trick</title><content type='html'>On Saturday, 5/19/2007 I was honored to present an &lt;em&gt;Intro to Orcas&lt;/em&gt; at the West Michigan Day of .NET, hosted, coordinated, and pulled off to great affect by Chris Woodruff. (I suspect Chris had help but Chris was clearly the grand master on Saturday.) The venue--Davenport University in Grand Rapid, Michigan--was superlative, the organization was first rate, the enthusiasm was palpable, the attendees were fun and gracious, the interest in new technolgies was fantastic, and I was pleased to play a small role.&lt;br /&gt;&lt;br /&gt;Kudos Chris.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/05/chris-woodruff-pulls-hat-trick.html' title='Chris Woodruff Pulls a Hat Trick'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=2099772398005265846' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/2099772398005265846'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/2099772398005265846'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-7358219346008137433</id><published>2007-03-09T08:56:00.000-08:00</published><updated>2007-03-09T09:03:25.392-08:00</updated><title type='text'>Load Images with FileStream to Prevent File Locking</title><content type='html'>Many applications use images. Some applications, the purpose is specifically to manage images. If you are writing a Windows Forms application and loading images you might be tempted to use the easy Image.FromFile(filename). The problem is that FromFile locks the image file until the Image object is destroyed. And, since .NET has non-deterministic garbage collection, you don’t really know when that will be.&lt;br /&gt;&lt;br /&gt;Tip: If an image file represents a bad image then .NET throws an OutOfMemoryException. (A terrible exception by the way for this purpose, by the way.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.softconcepts.com/blogs/pkimmel/uploaded_images/except-715611.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.softconcepts.com/blogs/pkimmel/uploaded_images/except-714331.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you load and Image.FromFile and try to manage it in the file system—for example, by deleting it with in Windows Explorer—you might get the following error.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.softconcepts.com/blogs/pkimmel/uploaded_images/colliseo-775566.bmp"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://www.softconcepts.com/blogs/pkimmel/uploaded_images/colliseo-773245.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Instead of using Image.FromFile use Image.FromStream, using a FileStream to load the image, and a MemoryStream to initialize the Image. .NET Won’t lock the file—because you release the lock when you close the FileStream. To incorporate great images like the coliseum below use Image.FromStream  as demonstrated.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;namespace UsingImage&lt;br /&gt;{&lt;br /&gt;  class Program&lt;br /&gt;  {&lt;br /&gt;    static void Main(string[] args)&lt;br /&gt;    {&lt;br /&gt;      const string filename = &lt;br /&gt;        @"C:\Documents and Settings\paulki01\My Documents" + &lt;br /&gt;        @"\My Pictures\Rome\2006_0324Image0149.JPG";&lt;br /&gt;&lt;br /&gt;      byte[] buffer = null;&lt;br /&gt;      using(FileStream fs = new FileStream(filename, &lt;br /&gt;          FileMode.Open, FileAccess.Read))&lt;br /&gt;      {&lt;br /&gt;        buffer = new byte[fs.Length];&lt;br /&gt;        fs.Read(buffer, 0, (int)fs.Length);&lt;br /&gt;        fs.Close();&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      Image img = Image.FromStream(new MemoryStream(buffer));&lt;br /&gt;&lt;br /&gt;      using(Form form = new Form())&lt;br /&gt;      {&lt;br /&gt;        PictureBox pix = new PictureBox();&lt;br /&gt;        pix.Parent = form;&lt;br /&gt;        pix.Image = img;&lt;br /&gt;        pix.SizeMode = PictureBoxSizeMode.StretchImage;&lt;br /&gt;        pix.Dock = DockStyle.Fill;&lt;br /&gt;        form.TopMost = true;&lt;br /&gt;        form.Controls.Add(pix);&lt;br /&gt;        form.ShowDialog();&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2007/03/load-images-with-filestream-to-prevent.html' title='Load Images with FileStream to Prevent File Locking'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=7358219346008137433' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/7358219346008137433'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/7358219346008137433'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-3045202937984788528</id><published>2006-12-06T06:21:00.001-08:00</published><updated>2006-12-06T06:28:52.786-08:00</updated><title type='text'>No Longer Fine</title><content type='html'>When you hit a bump in the road people start asking you "how you doing?", "everything ok?", etc. One can tell how rough other people think you got it by the frequency of the inquiry. I got tired of saying "Fine", so I switched to "still vertical". However, "still vertical" doesn't really capture the essence of a great day. So, I have decided that if asked "how ya doin?" and I am having a great day, I will respond "Ghetto Perfect".&lt;br /&gt;&lt;br /&gt;Well-wisher: "How are you?"&lt;br /&gt;Me: "Ghetto Perfect"&lt;br /&gt;&lt;br /&gt;Having been born in Little Motown (Flint, Michigan making me a Flintstone Kid), home of the now departed Scurvy, murder central, I can't help but like rap. So, fine is fine for some, still vertical is an average day, and Ghetto Perfect--all things considered--is a pretty good day.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/12/no-longer-fine.html' title='No Longer Fine'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=3045202937984788528' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/3045202937984788528'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/3045202937984788528'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-8962562067877729862</id><published>2006-12-06T06:17:00.000-08:00</published><updated>2006-12-06T06:20:04.090-08:00</updated><title type='text'>Outsource Yourself</title><content type='html'>(Hum to Johnny Cash’s rendition of&lt;br /&gt;Nine Inch Nails Hurt)&lt;br /&gt;&lt;br /&gt;I retired myself today.&lt;br /&gt;To see if I still earn.&lt;br /&gt;I focus on the gain.&lt;br /&gt;The only thing that’s real.&lt;br /&gt;The paycheck is the whole.&lt;br /&gt;The old familiar friend.&lt;br /&gt;Try to spend it all today.&lt;br /&gt;But it was spent yesterday.&lt;br /&gt;&lt;br /&gt;What have I become?&lt;br /&gt;My sweetest RAM.&lt;br /&gt;Everyone I know&lt;br /&gt;Receives a pension in the end&lt;br /&gt;But you could have it all&lt;br /&gt;My empire of shirts&lt;br /&gt;I will ignore your needs&lt;br /&gt;I will make you blurt&lt;br /&gt;&lt;br /&gt;I wear this rayon shirt&lt;br /&gt;Upon my hackers chair&lt;br /&gt;Full of stupid code&lt;br /&gt;I cannot repair&lt;br /&gt;Beneath the stained white shirt&lt;br /&gt;The feelings are so clear&lt;br /&gt;I should be somewhere else&lt;br /&gt;And you should be right here.&lt;br /&gt;&lt;br /&gt;What have I become?&lt;br /&gt;A minister of flesh&lt;br /&gt;Everyone I know&lt;br /&gt;Becomes one in the end&lt;br /&gt;You could have it all&lt;br /&gt;My empire of sweat&lt;br /&gt;Cash will let you down&lt;br /&gt;Greed might lead to hurt&lt;br /&gt;&lt;br /&gt;If I could start again&lt;br /&gt;A thousand miles from here&lt;br /&gt;I’d be a bartender&lt;br /&gt;And sell watered down beer</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/12/outsource-yourself.html' title='Outsource Yourself'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=8962562067877729862' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/8962562067877729862'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/8962562067877729862'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115990479124119956</id><published>2006-10-03T12:30:00.000-07:00</published><updated>2006-10-03T12:47:44.800-07:00</updated><title type='text'>Quick conversion from DbType to System.Type Without Switch</title><content type='html'>I was looking for a simple way to convert from a DbType to a System.Type. DbType is an enum and System.Type is a struct (or class, I forget).&lt;br /&gt;&lt;br /&gt;Now, if you have a parameter object that has a value you can write p.Value.GetType()--assuming p is your parameter name and value is not null. But, what if Value is null? The answer is to get the string value of DbType from its ToString method and then request the system type like this:&lt;br /&gt;&lt;br /&gt;Assume you have:&lt;br /&gt;&lt;br /&gt;IDataParameter p = new SqlParameter("@Foo", null);&lt;br /&gt;p.DbType = &lt;em&gt;some type&lt;/em&gt;;&lt;br /&gt;&lt;br /&gt;then:&lt;br /&gt;&lt;br /&gt;string _s = p.DbType.ToString();&lt;br /&gt;Type _t = Type.GetType("System." + _s);&lt;br /&gt;&lt;br /&gt;For all but a few types this works fine, which includes AnsiString, Binary, Date, Time, VarNumeric, AnsiStringFixedLength, StringFixedLength, and Xml. For these types simply write a conditional check. Its not a perfect solution but until someone (eh-hem! Microsoft!) builds DBTypeConverter this beats the heck out of a monolithic switch statement.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/10/quick-conversion-from-dbtype-to.html' title='Quick conversion from DbType to System.Type Without Switch'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115990479124119956' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115990479124119956'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115990479124119956'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115893932762881272</id><published>2006-09-22T08:23:00.000-07:00</published><updated>2007-03-09T08:50:27.141-08:00</updated><title type='text'>Recursive Nested Functions in C#</title><content type='html'>&lt;p&gt;I was wondering today if it were possible to create nested functions. Procedures seem pretty straightforward: name an anonymous delegate and then invoke it later in the code using the name. But what about functions? Well, functions can be manage by declaring the delegate type first (shown in the example). What about recursive nested functions? Well, the name assigned to the delegate doesn't exist until after the anonymous delegate block. So, to recurs use reflection and pull the method right of the stack frame.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Reflection;&lt;br /&gt;using System.Diagnostics;&lt;br /&gt;namespace NestedFunction&lt;br /&gt;{&lt;br /&gt; class Program&lt;br /&gt; {&lt;br /&gt;   delegate long FactorialDelegate(long n);&lt;br /&gt;   static void Main(string[] args)&lt;br /&gt;   {&lt;br /&gt;     //recursive nested function - calculates Factorial(n)&lt;br /&gt;     FactorialDelegate Factorial = delegate(long n)&lt;br /&gt;     {&lt;br /&gt;       MethodBase method =&lt;br /&gt;         new StackTrace().GetFrame(0).GetMethod();&lt;br /&gt;       return n &gt; 1 ? n * (long)method.Invoke(null,&lt;br /&gt;         new object[]{ n - 1 }) : n;&lt;br /&gt;     };&lt;br /&gt;     Console.WriteLine(Factorial(5));&lt;br /&gt;     Console.ReadLine();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;In the code listing I declared a function delegate. In the main procedure an instance of that delegate type is declared and assign to an anonymous delegate. The Anonymous method pulls itself of the stackframe and can recurs. Later (or anywhere) in the function the delegate instance can be used like any other function.&lt;br /&gt;&lt;br /&gt;Probably slow. Definitely heinous looking, but it does mean C# could support nested functions directly and you could use them now if you wanted to.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/09/recursive-nested-functions-in-c.html' title='Recursive Nested Functions in C#'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115893932762881272' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115893932762881272'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115893932762881272'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115772628097887663</id><published>2006-09-08T07:26:00.000-07:00</published><updated>2006-09-08T07:40:18.350-07:00</updated><title type='text'>The Missing LINQ</title><content type='html'>The jury is still out for me. I think LINQ (or Language INtegrated Query) is a cool technology. The problem for me is that it &lt;em&gt;looks like SQL&lt;/em&gt; and SQL aint pretty. Ultimately LINQ will prove to be powerful, but I wonder if the SQL-like syntax will make code more or less abstruse. Throw in some lambda equations and the code looks messy (to me anyway).&lt;br /&gt;&lt;br /&gt;Here is a DLINQ example, followed by a sample using lambda equation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;private static void DatabaseQuery()&lt;br /&gt;{&lt;br /&gt;Northwind db = new Northwind(&lt;br /&gt;@"C:\Program Files\LINQ review\Data\Northwnd.mdf");&lt;br /&gt;var match = from c in db.Customers&lt;br /&gt;where c.Country == "USA" &amp;&amp;amp; c.ContactName.Contains("Yoshi")&lt;br /&gt;orderby c.ContactName descending&lt;br /&gt;select c;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;foreach(var o in match)&lt;br /&gt;Console.WriteLine("&gt; {0} / {1} / {2}", o.CompanyName, o.ContactName, o.Country);&lt;br /&gt;Console.ReadLine();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;delegate T Func&lt;t&gt;(T t);&lt;br /&gt;private static void Lambda()&lt;br /&gt;{&lt;br /&gt;Func&lt;int&gt; funcDel = delegate(int x){ return x+x; };&lt;br /&gt;Func&lt;int&gt; lambda = x =&gt; x+x;&lt;br /&gt;Console.WriteLine(funcDel(5));&lt;br /&gt;Console.WriteLine(lambda(5));&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;In both cases the code looks like it needs a lot of comments to describe what is happening, and things that need a lot of comments by implication aren't clear. Unclear is generally considered bad. (Did I mention SQL queries are ugly?!)&lt;br /&gt;&lt;br /&gt;Well, it looks like LINQ, XLINQ, and DLINQ are here to stay, so let me see if I can get some mielage out of it.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/09/missing-linq.html' title='The Missing LINQ'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115772628097887663' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115772628097887663'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115772628097887663'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115366665631286061</id><published>2006-07-23T07:53:00.000-07:00</published><updated>2006-07-23T07:57:36.326-07:00</updated><title type='text'>ASP.NET and Joe Stagner Speak at GLUGNET</title><content type='html'>On July 20th, 2006 Joe Stagner, Microsoft PM for ASP.NET spoke at our users group meeting on the beautiful campus of Michigan State University. Joe's presentation on Atlas was lively, engaging, and informative. Joe's energy and expert knowledge of Atlas encouraged me to go to work the next morning and replace the heavy JavaScript implementation of Atlas we were using with some of the Atlas Web Controls, like the Update Panel.&lt;br /&gt;&lt;br /&gt;GLUGNET had a record turnout, and I would encourage anyone who gets a change to here Joe speak to do so. Thanks to Drew Robbins of Microsoft and Joe Kunk VP of GLUGNET for working so hard to bring our group Joe Stagner.&lt;br /&gt;&lt;br /&gt;If you are interested in attending a .NET Users Group contact &lt;a href="mailto:pkimmel@softconcepts.com"&gt;pkimmel@softconcepts.com&lt;/a&gt;.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/07/aspnet-and-joe-stagner-speak-at.html' title='ASP.NET and Joe Stagner Speak at GLUGNET'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115366665631286061' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115366665631286061'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115366665631286061'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115275022550780303</id><published>2006-07-12T17:22:00.000-07:00</published><updated>2006-07-12T17:23:45.506-07:00</updated><title type='text'>A Judiciary Supposes</title><content type='html'>that a housewife's endeavors are worth approximately $130,000US per annum. A man that goes to work every day knows precisely his minimum worth to an employer. I submit that what you can freely get or coerce from your "employer" is what your job is precisely worth at its lowest extreme.&lt;br /&gt;&lt;br /&gt;Suppose a man only earns $50,000 dollars per annum and his wife attends to the children how can her efforts be worth more? For if they were then why shant the man defer compensatorially and permit the wife to collect such wages?&lt;br /&gt;&lt;br /&gt;It is hooey that men and women are deemed equal yet in a divorce settlement it is assumed that women are equally entitled to property but unequally incapable of providing for the children without financial support from the man.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/07/judiciary-supposes_12.html' title='A Judiciary Supposes'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115275022550780303' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115275022550780303'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115275022550780303'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115262791733744993</id><published>2006-07-11T07:15:00.000-07:00</published><updated>2006-07-11T07:25:17.346-07:00</updated><title type='text'>Outsource Yourself</title><content type='html'>I retired today. I outsourced myself. It finally dawned on me that if a big company could hire cheap foreign labor to reduce costs why couldn't I hire cheap foreign labor to work for me. I pay them a pittance and keep the rest. It works quite well.&lt;br /&gt;&lt;br /&gt;So, I am sitting here on my yacht "Chillin' the Most" drinking margeuritas  at 10am  catching some sun.&lt;br /&gt;&lt;br /&gt;I'm thinking that I will outsource myself at two or three companies next year and upgrade my yacht from the current 3' dinghy to maybe a twelve foot johnboat. If I outsource myself 50 or 100 times I can probably get a real yacht. (Now I just have to outsource myself at home because my wife won't do any housework.)</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/07/outsource-yourself.html' title='Outsource Yourself'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115262791733744993' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115262791733744993'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115262791733744993'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-115098381384644380</id><published>2006-06-22T06:40:00.000-07:00</published><updated>2006-06-22T06:43:33.913-07:00</updated><title type='text'>CodeRush</title><content type='html'>So I am late to the party but they did a very nice job on CodeRush. I am hooked. Writing my own templates and spitting out code. If you haven't looked at Developer Express' CodeRush and Refactor! you are missing out on two great tools!&lt;br /&gt;&lt;br /&gt;By the way I want to write a template to generate a method call where the first parameter is filled in with a different case in the third parameter -- on is local variable and the other is a SQL Server column name. Anyone want to help?</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/06/coderush.html' title='CodeRush'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=115098381384644380' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115098381384644380'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/115098381384644380'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-114988068427196436</id><published>2006-06-09T12:11:00.000-07:00</published><updated>2006-06-09T12:18:04.320-07:00</updated><title type='text'>Client-Side Script Breaks Validators No More!</title><content type='html'>Recently I was using an image button with CausesValidation = true in an ASP.NET page. The inception also has an OnClientClick event and validators. What I discovered was that the client-side script caused an invalid validator to be ignored and the validation summary wasn't displayed. To fix this problem I tapped into the WebUIValidation.js file that gets referenced by ASP.NET pages. (Microsoft ships this javascript file with .NET.)&lt;br /&gt;&lt;br /&gt;By manually checking WebUIValidation.Page_IsValid and calling WebUIValidation.ValidationSummaryOnSubmit() if the page is invalid the desired behavior--the validation summary--is now displayed correctly.&lt;br /&gt;&lt;br /&gt;Here is the revised code:&lt;br /&gt;&lt;br /&gt;function ImageSaveClick()&lt;br /&gt;{&lt;br /&gt;if( !Page_IsValid )&lt;br /&gt;{&lt;br /&gt;ValidationSummaryOnSubmit();&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;return window.confirm("Are you sure?");&lt;br /&gt;}</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/06/client-side-script-breaks-validators.html' title='Client-Side Script Breaks Validators No More!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=114988068427196436' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114988068427196436'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114988068427196436'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-114848120969458121</id><published>2006-05-24T07:01:00.000-07:00</published><updated>2006-05-24T07:33:29.733-07:00</updated><title type='text'>Informotion</title><content type='html'>Shoshana Zuboff in "In the Age of the Smart Machine: The Future of Work and Power" coined the term Informate to &lt;em&gt;describe expanded access to information and control&lt;/em&gt;. I'd like to introduce &lt;em&gt;informote&lt;/em&gt; as the process of moving bits around. That's all. (Just remember you heard it here first.)&lt;br /&gt;&lt;br /&gt;Oh, one more thing: 007. Instead of &lt;em&gt;martini, shaken not stirrred&lt;/em&gt; just order a double-o-7 and make mine with stoly vodka and three olives, no twist. Ever. (Make sure they don't bring a 7-and-7 by mistake. Gross.)</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/05/informotion.html' title='Informotion'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=114848120969458121' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114848120969458121'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114848120969458121'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-114122609495099891</id><published>2006-03-01T07:04:00.000-08:00</published><updated>2006-03-01T07:16:39.986-08:00</updated><title type='text'>Open Invitation to Chariman Bill</title><content type='html'>Dear Bill Gates:&lt;br /&gt;&lt;br /&gt;I am the president of a .NET users group, GLUGNET. I live in Michigan, which unfortunately has a constipated economy based on manufacturing. You may or may not be aware that although our myopic leadership keeps chasing investment dollars for automotive manufacturers, we have a tremendous and growing IT investment base. Unfortunately, much of the IT investment is still in older, manufacturing related, non-Microsoft technologies. &lt;br /&gt;&lt;br /&gt;People like our GLUGNET board, which includes hard workers like Joe Kunk, know just how great many of the Microsoft technologies are, but we need your help. &lt;br /&gt;&lt;br /&gt;We want to re-invigorate Michigan's interest in IT and the new economy. To do that we need a jolt of excitement. So I am extending an invitation to you to drop in and visit our group. Sometimes a little recognition goes a very long way.&lt;br /&gt;&lt;br /&gt;We meet the third Thursday of every month on the beautiful campus of Michigan State University in East Lansing, Michigan, pizza and soft drinks are provided by corporate sponsors, and there are no membership dues.&lt;br /&gt;&lt;br /&gt;Keep up the good work,&lt;br /&gt;&lt;br /&gt;Paul Kimmel</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/03/open-invitation-to-chariman-bill.html' title='Open Invitation to Chariman Bill'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=114122609495099891' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114122609495099891'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114122609495099891'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-114018898201631843</id><published>2006-02-17T07:05:00.000-08:00</published><updated>2006-02-17T07:09:42.036-08:00</updated><title type='text'>ASP.NET 2.0 - Cool New Features</title><content type='html'>Sometimes when I am focused in one area I miss obvious, cool new features in another area. Specifically, I am talking about cross-page postbacks, client callback manager, an asynchronous pages in ASP.NET 2.0. &lt;br /&gt;&lt;br /&gt;Cross-page postbacks means that a second page has an object reference to the page that caused the postback. This means you can read properties and control values right off the preceding page. No more stuffing values in query strings or in session for this simple maneuver. &lt;br /&gt;&lt;br /&gt;Client callback manager seems to be like Ajax - lighweight or soft HTTP asynchronous posts. This ought to give your applications a real kick in the shorts.&lt;br /&gt;&lt;br /&gt;Finally, asynchronous pages. Got a long running query? Why not do as many other tasks as you can while the database is working in the background?&lt;br /&gt;&lt;br /&gt;If you want to find out how to use these features then check out upcoming articles in VB Today column on codeguru.com.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/02/aspnet-20-cool-new-features.html' title='ASP.NET 2.0 - Cool New Features'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=114018898201631843' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114018898201631843'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114018898201631843'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-12705624.post-114005186633174605</id><published>2006-02-15T16:59:00.000-08:00</published><updated>2006-02-15T17:04:26.350-08:00</updated><title type='text'>TechNet Virtual Labs 2</title><content type='html'>I still think virtual labs are great, and they are so great that they shouldn't have expired beta software or broken links on them. Thus, I, in equal parts, encourage you to look for and use virtual labs and admonish Microsoft to fix broken links and remove labs that are dependent on beta software.&lt;br /&gt;&lt;br /&gt;Personally, I am embarrassed when my sites have bad or broken links. A 300 billion dollar company ought to lop off someone's head when their site is busted. I tried to use three virtual labs today: one had a broken link, another had beta software that had expired, and the third had beta software that hadn't expired. Come on Remondians, this is a great service, make sure every experience is as positive as your customer support is tenacious.</content><link rel='alternate' type='text/html' href='http://www.softconcepts.com/blogs/pkimmel/2006/02/technet-virtual-labs-2.html' title='TechNet Virtual Labs 2'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12705624&amp;postID=114005186633174605' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softconcepts.com/blogs/pkimmel/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114005186633174605'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12705624/posts/default/114005186633174605'/><author><name>PaulKi</name><uri>http://www.blogger.com/profile/06174931161334114704</uri><email>noreply@blogger.com</email></author></entry></feed>
