tag:blogger.com,1999:blog-207400902008-05-02T18:43:20.372-04:00BlankenthoughtsJeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comBlogger127125tag:blogger.com,1999:blog-20740090.post-60757846126990928922008-04-14T14:17:00.001-04:002008-04-14T14:18:25.483-04:00Day of .NET Events Near You! (and details about poker this weekend)There are three opportunities for you to get your "learn on," for FREE, in the next month.<br /><br /><strong>April 19 - Central Ohio Day of .NET - Wilmington, OH</strong><br /><a href="http://cinnug.org/cododn/"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://dodn.org/images/CentralOhioDoDNBadge.png" /></a>Registration has already maxed out for this one at 250 people! A great number for the third year of this event! They will have <a href="http://cinnug.org/cododn/sessions.aspx">27 different sessions</a> to choose from, and on top of being a great day of learning, I am putting together a little event afterwards for anyone that is sticking around at the Roberts Centre that night. More on that at the end of this post.<br /><BR><br /><strong>May 10 - West Michigan Day of .NET - Grand Rapids, MI</strong><br /><a href="http://www.wmdotnet.org/dodn08/"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://dodn.org/images/WestMichigan2008.gif"></a>The second year for this event, in Grand Rapids, MI. The day will focus on the future of .NET an cover all the world-class technology Microsoft has or will release this year. In addition, the day will consist of <a href="http://dodn.bruceabernethy.com/Session.mvc.aspx/All">breakout sessions</a> with breakfast and lunch included! <br /><br /><BR><br /><strong>May 17 - Cleveland Day of .NET - Cleveland, OH</strong><br /><a href="http://www.clevelanddodn.org/"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://dodn.org/images/Cleveland2008.png" border="0" alt="" /></a>Cleveland Day of .NET is a free one day conference targeted at developers using the Microsoft .NET platform. It is a collaborative effort among the various local user groups and is open to all developers, local or otherwise. This event is occurring on Saturday, May 17, 2008 from 8:00 AM to 5:30 PM. <br /><br />There will be numerous sessions to choose from covering a variety of topics. The exact session list will be coming in a few weeks but you can look forward to topics such as:<br /><br />ASP.NET <br />Silverlight <br />DLR / IronRuby / IronPython <br />SharePoint / MOSS <br />SQL Server 2008 <br />... many more<br /><br /><br /><br /><br /><br /><strong>Poker .NET</strong> (Newbies Encouraged to Try)<br />I am hosting a Texas Hold'Em Poker Tournament for the first 20 responding attendees of the Central Ohio Day of .NET. It will be held at the Robert Centre, the evening of the CODODN. I've reserved a "parlor suite" that will accomodate us with a full (unstocked) wetbar, refrigerator, and furniture for hanging out. You are welcome to bring anything you'd like to eat and drink while you're there.<br /><br />We will get started with the tournament at 8:00 PM...plenty of time to hang out with folks after the CODODN and still have some fun in the evening playing cards with your geek friends. The hotel room also has accomodations for sleeping, so if you were looking for a place to crash after the event, I can provide that for a few travelers as well.<br /><br />The buy-in will be $20, and all of the rules, etc. will be provided when you arrive. Expect your standard Hold'em rules to apply. Please contact me directly at <a href="mailto:jeffrey.blankenburg@microsoft.com">jeffrey.blankenburg@microsoft.com</a> to "register."Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-22197995150629677472008-04-10T20:26:00.006-04:002008-04-10T20:59:19.285-04:00Left Outer Join in LINQSo, you're gonna notice that I'm just gonna start throwing random code at you for the next few weeks. I'm building an application in Silverlight 2, and there's going to be many lessons for me to learn along the way.<br /><br />Those lessons that I can turn into a tutorial will become posts, and today is the second one. (If you're just joining us, the first one was <a href="http://www.jeffblankenburg.com/2008/04/how-about-some-code-simple-resizing-in.html">Simple Scaled Resizing In Silverlight 2</a>).<br /><br />So after I got my application resizing nicely, I wanted to start working with my legacy database. We'll cover how I created my WCF Service in a future post, but for today, I want to talk about how to do a LEFT OUTER JOIN statement in LINQ. It's not necessarily obvious.<br /><br />First things first, let's look at my data structure.<br /><br /><a href="http://www.jeffblankenburg.com/uploaded_images/tables-791689.png"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/tables-791689.png" border="0" alt="" /></a><br /><br />Ideally, I want to be able to pull out a list of teams that meet a certain criteria, and also retrieve their information for this year (2008 in this example) if it even exists, which it may not. The standard join statement I would write for this would look like:<br /><br /><a href="http://www.jeffblankenburg.com/uploaded_images/normaljoincode-723192.png"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/normaljoincode-723192.png" border="0" alt="" /></a><br /><br />But, because there is actually NO data (I haven't populated it yet) in the team_annual_data table, my query returns 0 rows, because, much like an INNER JOIN in T-SQL, there wasn't matching data on each side of the query, so there weren't any qualifying rows to return. But I want all of the rows from the left side, and if there's data on the right, let's have that too, but it's not required. To do that, we need to structure our join statement a little differently:<br /><br /><a href="http://www.jeffblankenburg.com/uploaded_images/realjoincode-708230.png"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/realjoincode-708230.png" border="0" alt="" /></a><br /><br />The primary difference is the "join into" statement. That creates the "LEFT OUTER JOIN" in the resulting T-SQL statement, allowing me to retrieve my "maybe it does, maybe it doesn't" set of data.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-53730566596713659762008-04-05T20:42:00.020-04:002008-04-06T20:07:55.837-04:00How About Some Code? Simple Scaled Resizing In Silverlight 2 Beta 1I've been talking technology for a while here, but it's about time I start adding some value. I already mentioned the <a href="http://www.juxtaposeblog.com/">JUXtapose blog</a>, so get over there for podcasts on User Experience and the technologies I use to make my UX and UI better.<br /><br />Today, I want to talk about <a href="http://www.silverlight.net/">Silverlight 2 (Beta 1)</a>. One of the things that always frustrated me when creating a new application is that nobody ever wrote a good example of how to get my Silverlight application to scale with the random sizes of my user's browsers. As long as I stay vector based, this application should look the same at 640x480 and 1280x1024. And if it makes sense to have it on a mobile phone, then let's use the same application there too.<br /><br />Today, my friends, I've got the simple steps you need to make your Silverlight 2 application scale effectively. I'll start this tutorial after you've created your default application (<a href="http://silverlight.net/learn/tutorials/roadmap.aspx" target="_new">there's a great walkthrough on that here by Jesse Liberty</a>).<br /><br />I am using <a href="http://msdn2.microsoft.com/en-us/vs2008/products/cc268305.aspx" target="_new">Visual Studio 2008</a>, and <a href="http://silverlight.net/GetStarted/" target="_new">Microsoft Silverlight Tools Beta 1 for Visual Studio 2008</a>. My .<a href="http://www.jeffblankenburg.com/downloads/ResizableSilverlight.zip" target="_new">entire solution can be downloaded here</a>, so you can compare the changes I have made to a default project.<br /><br /><br /><strong>Step 1</strong><br /><hr /><br />If you followed the usual steps, your project should look something like mine.<br /><img style="MARGIN: 10px 10px 10px 0px;" alt="Solution Explorer for this project." src="http://www.jeffblankenburg.com/uploaded_images/solutionexplorer-775778.png" border="0" /><br />We're only going to be working in two files for this: Page.xaml, and its code-behind file, Page.xaml.cs. First, let's take a look at the Page.xaml file, because more of our work will be code, not markup. Below is a shot of the entire XAML file (<a href="http://www.jeffblankenburg.com/uploaded_images/page.xaml-752745.png">click to enlarge</a>).<br /><a href="http://www.jeffblankenburg.com/uploaded_images/page.xaml-752745.png"><img style="MARGIN: 0px 10px 10px 0px; WIDTH: 500px; CURSOR: hand" alt="page.xaml contents" src="http://www.jeffblankenburg.com/uploaded_images/page.xaml-752745.png" border="0" /></a><br />The only additions I have made to this file are the entire <canvas.rendertransform> section. I've also made the rootCanvas red, so that we can see it. One other thing that I have to credit <a href="http://programwith.net/" target="_new">Matt Casto</a> for finding...you MUST define an initial size for your RootCanvas. Mine is 800x600, but you can use any size you'd like.<br /><br /><br /><strong>Step 2</strong><br /><hr /><br />Now we've got a little code to write, but it's honestly pretty straightforward. We've got four things to add:<br /><ol><br /> <li>an event handler for when the browser is resized.</li><br /> <li>a Page_Loaded method to intialize everything.</li><br /> <li>a proxy method for resizing our Silverlight control initially.</li><br /> <li>a Resize() method for doing the heavy lifting.</li><br /></ol><br />Here's a screenshot of my entire application namespace within the page.xaml.cs file (<a href="http://www.jeffblankenburg.com/uploaded_images/page.xaml.cs-777172.png">click to enlarge</a>).<br /><a href="http://www.jeffblankenburg.com/uploaded_images/page.xaml.cs-777172.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width:500px;" src="http://www.jeffblankenburg.com/uploaded_images/page.xaml.cs-777172.png" border="0" alt="page.xaml.cs contents" /></a><br /><br />First, we need to create a couple of variables. primarily, I need variables for the original height and width of my control before I get started. You'll see why in a moment, but it's basically to retain the "aspect ratio" of our control.<br /><br />Second, in my "main" method, Page(), I route a new RoutedEventHandler to my Page_Loaded method when the XAML loads.<br /><br /><blockquote>this.Loaded += new RoutedEventHandler(Page_Loaded);</blockquote><br /><br />Third, I have to create my Page_Loaded method. Here, I need to capture the original height and width, and I also add a new event handler to my application when the "host.content" = browser is resized. Finally, I call my Resize() method.<br /><br /><blockquote><br />void Page_Loaded(object sender, RoutedEventArgs e)<br /> {<br /> _originalWidth = RootCanvas.Width;<br /> _originalHeight = RootCanvas.Height;<br /> Application.Current.Host.Content.Resized += new EventHandler(Content_Resized);<br /> Resize();<br /> }<br /></blockquote><br /><br />Fourth, now that I have a new event handler pointing to Content_Resized(), I should probably write that method too. It just passes the call along to my Resize() method.<br /><br /><blockquote><br />void Content_Resized(object sender, EventArgs e)<br />{<br />Resize();<br />}<br /></blockquote><br /><br />Fifth and finally, I need to write my Resize() method. This is slightly more complicated than you might expect, but there's a reason. We need to capture the width and height of the new browser size. That's what currentWidth and currentHeight are for. uniformScaleAmount is what makes this complicated. We want to scale this thing uniformly, that is to say, if the application was originally 800x600, we want to keep a 4:3 ratio at all times, rather than stretching the app to fill the space allowed. Once we have determined the appropriate scale constant, we then also want to keep this app centered both vertically and horizontally in the browser as well. The last 4 lines of the code handle this, by altering the size of the overall control.<br /><br /><blockquote><br />double currentWidth = Application.Current.Host.Content.ActualWidth;<br />double currentHeight = Application.Current.Host.Content.ActualHeight;<br /><br />double uniformScaleAmount = Math.Min((currentWidth / _originalWidth), (currentHeight / _originalHeight));<br />RootCanvasScaleTransform.ScaleX = uniformScaleAmount;<br />RootCanvasScaleTransform.ScaleY = uniformScaleAmount;<br /><br />double scaledWidth = Math.Min(_originalWidth * uniformScaleAmount, currentWidth);<br />double scaledHeight = Math.Min(_originalHeight * uniformScaleAmount, currentHeight);<br />RootCanvasTranslateTransform.X = (Math.Min(RootCanvas.ActualWidth, currentWidth) - scaledWidth) / 2d;<br />RootCanvasTranslateTransform.Y = (Math.Min(RootCanvas.ActualHeight, currentHeight) - scaledHeight) / 2d;<br />}<br /></blockquote><br /><br />Please give this a try on your next application. You should be able to use this on any size Silverlight application, and as long as your creative assets can handle scaling to any size (read: vector), your application should look great at all sizes. <strong>Please leave me a comment if you give this a try...I want to know that I helped someone out!</strong>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-78670173824932516342008-04-03T11:53:00.006-04:002008-04-03T12:02:37.402-04:00JUXtaposeI know I've talked about this podcast series before...but it's growing. And it's got a new home. <a href="http://www.juxtaposeblog.com">http://www.juxtaposeblog.com</a><br /><br /><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/juxtaposelogo-719658.gif" border="0" alt="" /><br /><br />JUXtapose stands for Jeff on User Experience, and the podcast series is about exactly that. My thoughts on UX, and the tips and tricks you can use in your applications to make them more effective for your users.<br /><br />I'm starting a whole set of videos on creating Silverlight 2.0 applications. These will center around creating a NCAA-tournament style site, with user management, a slick interface, and plenty of data and web services to make everything happen. I hope you'll check it out.<br /><br />You can subscribe to my RSS feed here: <A href="http://feeds.feedburner.com/juxtaposeblog/KnIR">http://feeds.feedburner.com/juxtaposeblog/KnIR</a>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-25397552192341315552008-03-23T16:01:00.003-04:002008-03-23T17:08:41.303-04:00Cleveland, Detroit, and Columbus, Oh My!I had an opportunity to really get out and meet a great deal of the northern contingent of the Heartland district the past two weeks, and many of you have been asking for my slide deck for reference. The title of the talk was:<br /><br />"Reach End Users With Next Generation Web Applications"<br /><br /><a href="http://www.slideshare.net/jeffblankenburg/reach-end-users-with-next-generation-web-applications/">Here's a link to the slide deck.</a><br /><br />I'll write more once this crazy road trip is over!Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-43145664741044833322008-03-05T12:57:00.005-05:002008-03-05T13:25:02.252-05:00Dean Hachamovich Keynote on IE8Dean Hachamovich - General Manager, Internet Explorer<br /><br />1. CSS 2.1 - incompatibilities are detrimental to developer progress. IE 8 seems to WORK! Interoperabilities are core. We've provided 702 test cases to the W3C for CSS standards testing. IE8 will interpret web-standards as precisely as can be interpreted.<br />2. CSS Certification<br />3. Performance - modern sites rely heavily on script. IE 8 is performing as well as Firefox and Safari, and it's not done. The Back Button, with AJAX, is currently broken. IE 8 gives that power to the developer, so that Back works the way the user expects it to. Pages can be "connection aware" and change when you lose your connection.<br />4. HTML 5 Start<br />5. Developer Tools - in browser debugging of javascript and setting breakpoints, etc. CSS management and review on a LIVE page. Sweetness.<br />6. Activities - no more cutting and pasting from a web page. highlight, and get a menu with plenty of options like "show on map", look up on ebay, search, etc.<br />7. WebSlices - save part of a page to the browser, and it updates LIVE when you access it. This is functionality enabled by developers.<br />8. IE8 Beta 1 is available NOW. <a href="http://www.microsoft.com/ie/ie8">http://www.microsoft.com/ie/ie8</a>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-24229374697130051572008-03-05T12:29:00.004-05:002008-03-05T12:56:20.551-05:00Microsoft Mix 08 Keynote (Ray Ozzie)<p>Ray Ozzie talking about the "big picture" of Microsoft's development momentum<br /><br />Advertising is the economic engine for the web.<br />The internet is the medium for all future technologies. Content is king. Social networking is exploding. Significantly investing in search. </p><p>How is the internet shaping and transforming Microsoft's products and services?</p><ol><li>The web is a hub. The hub of our technology experiences. There is an explosion of connected devices out there right now.</li><li>The power of choice for when businesses embrace the cloud. All MS software will be re-engineered to enable "Server service symmetry." Distributed and federated applications will rise.</li><li>We need to embrace small pieces loosely joined. Think SOA. Transparency, standards, and interoperabilty are key. Multi-device development skills are becoming a necessity.</li></ol><p>The next five years: everything about software development will change with the impact of the cloud on applications.</p><p>Keeps referring to your collection of internet-enabled devices as your " personal device mesh." </p><p>Connected Devices: imagine the bi-directional synchronization of all of your devices, with centralized web-based deployment.</p><p>Connected Entertainment: individuals will only have to license their media ONCE. And consume that media from all of their devices. Media entertainments services are progressively transforming to share media.</p><p>Connected Productivity: office for the PC, office mobile for the phone, office live for the web that will seamlessly integrate together. The web will become an "experience hub." See Office Live Workspace. It will be the hob of our connected productivity strategy. Think Sharepoint, Exchange, etc.</p><p>Connected Business: CRM for all, not just the enterprise. Much more to come in 2008. Think Exchange, Sharepoint, and Communicator hosted services. SQL Server data services available to developers in the cloud.</p><p>Connected Development: Everything is .NET...ScottGu will expand on this later.</p><p></p>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-71026594944337658042008-03-02T18:38:00.003-05:002008-03-02T18:52:37.223-05:00I Like To Try New Things...<img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.newscom.com/db/PRN/prnphotos/docs/067/970.thm" border="0" alt="" /> My family mocks me constantly because I LOVE new products. Technology, food, clothing...you name it, I'll try it. If I like it, I'm also usually the first to tell everyone I know about it. Today is not one of those days.<br /><br />Today I had the not-so-good fortune of trying the new A&W Float. It's described as:<br /><br /><blockquote><strong><em>A creamy blend of Rich A&W and Ice Cream flavor</em></strong></blockquote><br /><br />It tastes like neither ice cream nor root beer. It's awful. And the aftertaste is even worse. As if I've been sucking on pennies I found on the street.<br /><br />The bottle and packaging are beautiful. It's a very curvy bottle with very "sodashop" branded wrapping around the bottle. It wasn't until I poured this beverage into a glass that I understood why you can't see into the bottle. It looks like dishwater. Just kind of a grayish-brown swill color. Here's how I'd best describe it: Take a glass of water, and add a shotglass full of cola, and a shotglass full of milk. Now you have the appearance of an A&W Float.<br /><br />Since this is something I will constantly have for review, expect more product reviews in the near future. Next up: Microsoft Home Server from HP.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-61540202334650803732008-02-28T18:32:00.004-05:002008-02-28T19:27:25.957-05:00Columbus Lightning TalksTonight at the Columbus .NET Developers Group (CONDG), they are having 8 lightning talks as their presentation. Lightning talks are basically 10-15 minute presentations that go one after another, with 1 minute breaks for setup/teardown.<br /><br />Here are the subjects that were presented:<br /><br /><a href="http://foremanbob.blogspot.com/">Steve Horn</a> - <a href="http://en.wikipedia.org/wiki/ADO.NET">ADO.NET</a><br /><a href="http://programwith.net/">Matt Casto</a> - <a href="http://en.wikipedia.org/wiki/Silverlight">Silverlight</a> (consuming ADO.NET)<br />Amanda Laucher/<a href="http://benders-blog.blogspot.com/">James Bender</a> - <a href="http://en.wikipedia.org/wiki/F_Sharp_%28programming_language%29">F#</a><br /><a href="http://stevenharman.net/blog/Default.aspx">Steve Harman</a> - <a href="http://en.wikipedia.org/wiki/Mock_Object">Rhino Mocks</a><br /><a href="http://geekswithblogs.net/bsherwin/Default.aspx">Brian Sherwin</a> - <a href="http://logging.apache.org/log4net/">Log4Net</a><br /><a href="http://jonkruger.com/blog/">Jon Kruger</a> - <a href="http://en.wikipedia.org/wiki/Language_integrated_query">LINQ to SQL</a><br />John Vottero - <a href="http://en.wikipedia.org/wiki/Powershell">PowerShell</a> 4 Devs<br /><br />These presentations were also videotaped, and will be made available on the <a href="http://www.condg.org">CONDG website</a>.<br /><br />Also, in the early housekeeping, there were two major announcements made:<br /><br />1) Brian Prince has accepted the Architect Evangelist role with Microsoft. He'll be working alongside me in the Heartland.<br /><br />2) Carey Payette was elected the new president of CONDG. Congratulations Carey.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-82797361451406868272008-02-22T21:55:00.003-05:002008-02-22T22:02:09.479-05:00That's Certainly An Unfortunate Truncation...<img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/googleanal-767492.gif" border="0" alt="" /><br /><br />Though sometimes those stats might appear to pulled out of nowhere...Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-49686103464173489552008-02-22T14:56:00.003-05:002008-02-22T15:33:51.405-05:00Snow Day? Are You Kidding Me?Snow days in Columbus, OH are an absolute farce.<br /><br />I've certainly Twittered about this in the past, and this probably will not be the last time I complain about it. Today, nearly every school in the Greater Columbus area is closed.<br /><br />Last night, you'd have thought we were living in New Orleans the day before Katrina hit. "Winter Storm Warnings" and "Weather Advisories" were all I could find on the television (when I wasn't completely glued to LOST.) But yet, this morning, the roads were clear, and my driveway had just a little snow on it.<br /><br />I had to pick up a book from the library today. So I went out. The roads are DRY. There are a million cars on the roads. The mall looked like tomorrow was Christmas.<br /><br /><strong>How is this a snow day?</strong><br /><br />Maybe my memory is spotty, but I recall snow days in Cleveland when I was a kid. Snow days shut down the city. Snow days meant your parents weren't going to work...not because they had to watch you, but because their office was closed as well. Snow days always meant tons of time to play in the snow, because there was 6-10 inches of the stuff.<br /><br />I've always been confused by Columbus's policy of the "2-hour delay." FOG causes a 2-hour delay. Heavy rain causes a 2-hour delay. This means working parents have to miss even more of their workday because...<br /><br />1) School bus drivers can't drive in the fog/rain?<br />2) Lawyers love a good "schoolchildren injured by weather" lawsuit?<br />3) Superintendents just don't feel like working on gloomy days?<br /><br />I can't think of a good reason to postpone school and interrupt everyone's lives for FOG?<br /><br />But back to today's rant: Why today is a snow day. It's raining here in Columbus. Most of the snow is melting. So why is school closed? Why was the city in a panic last night?<br /><br />Why do we base so many of our daily decisions on the ramblings of a guy that's right about 40% of the time? Lewis Black said it best: "In Latin, meteorologist means LIAR. Al Roker was the weather man in NYC, and three years ago we had a blizzard. We were supposed to have, according to Al, 4 to 12 inches of snow. That's his prediction. We had 36 inches. Giving him the benefit of the doubt, he was 2 feet off. That's not even in the ballpark. If you were a roofer and you built a roof and it was two feet off, you'd still be serving time. Al Roker makes 1.5 million dollars a year as a weather person and he doesn't know sh** about the weather."Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-1929387077230574232008-02-22T10:06:00.003-05:002008-02-22T10:22:57.015-05:00Free Software!!!As I hope you'll recall, we had some <a href="http://www.jeffblankenburg.com/2007/11/want-free-copy-of-visual-studio-2008.html">Visual Studio 2008 Install Fests</a> late last fall. These events sold out in under 48 hours. We gave away 525 disks that could be redeemed for a full version of VS2008 Professional.<br /><br />I've just heard back from the organization that was running this effort for us, and there's been a surprisingly LOW redemption rate. This is just a friendly reminder to everyone that has a Trial disc and has not gone online to redeem it for their full version.<br /><br />THAT OFFER EXPIRES ON MONDAY, FEBRUARY 25, 2008!<br /><br />Please make sure you get yours in. I'd hate to see you miss out on this offer.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-18048507376291684552008-02-18T13:31:00.002-05:002008-02-18T13:41:27.343-05:00Visual Studio Has Arrived!<img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/aa700831_VS08_v(en-us,MSDN_10)-703800.png" border="0" alt="" /><br />For those of you that had the good fortune to get over to one of the <a href="http://www.jeffblankenburg.com/2007/11/want-free-copy-of-visual-studio-2008.html">Visual Studio 2008 Install Fests </a>we had late last year, today's your day!<br /><br />The full licensed copy of VS2008 Pro has been mailed, and you should be receiving it as soon as TODAY.<br /><br />Keep an eye on your mailboxes...Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-7612040390060483492008-02-13T13:16:00.004-05:002008-02-13T13:45:08.271-05:00Why I Will Probably Be Sticking With Sprint (through my contract)<img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/sprintsucksabit-714145.jpg" border="0" alt="" /><br />So I'm sot sure why, but yesterday was the most traffic this blog has received EVER. And not just by a little bit. Double my most visitors ever. Most of that traffic came because of my (somewhat lengthy) post about Sprint.<br /><br />In fact, I was contacted by the <a href="http://www.consumerist.com">Consumerist</a> with some advice. Basically, they had discovered that there is an "Executive Service Hotline" that can be called, but is certainly not advertised. It's not even a toll-free number. What is IS, however, is the answer to anyone's issues with Sprint.<br /><br />The phone number is: (703) 433-4401.<br /><br />I called it this morning, and got a person on the first ring. Tammi McCants was her name. After going through the standard Sprint security measures, she asked how she could help me. I explained my situation (including much of <a href="http://www.jeffblankenburg.com/2008/02/why-i-will-most-likely-be-leaving.html">my previous post</a>) to her, and she understood my concerns. She looked through the notes that had been left on my account, and felt that the reps I had spoken with had misunderstood what I was asking for. <br /><br />She assured me that I would have no issues in returning the HTC Mogul I am currently using, and receiving the Moto Q 9c as well, including the $100 refund I was requesting. It was as if there was a seperate number for real customer service that Sprint had been hiding from the public.<br /><br />So, for the remainder of my contract, I will be sticking with Sprint as my service provider. Mostly because it will cost me $400 + tax to leave, and a new provider is going to get me with new activation fees, new phones, etc. But I would not expect to be renewing any contracts between now and then. That they can be certain of.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-56457151305383218052008-02-11T22:38:00.000-05:002008-02-12T00:25:06.429-05:00Why I Will Most Likely Be Leaving Sprint As A Customer...<img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.jeffblankenburg.com/uploaded_images/sprint-768527.jpg" border="0" alt="" /><br />So, as I sit on hold with Sprint, I was inspired to write a second post today...<br /><br />I have been a customer with Sprint since 1998. 10 years. For the first 9 of those years, it was sheer bliss. They had phones that I wanted, they had plans that fit my lifestyle. And they were constantly recognizing that I was a long-time customer and conceding deals that (at least I like to think) were not available to the public. Things like waived activation fees, shipping on new phones, etc.<br /><br />In addition, they have the cheapest unlimited data plan around. $15. What a deal for an internet addict such as myself!<br /><br />It was even a smooth transition when I added my wife to the mix. Very easy (in fact, my current plan included a free second line that I was not utilizing, so she came on almost completely free.)<br /><br />However, in August, I took a <a href="http://www.jeffblankenburg.com/2007/08/developer-evangelist.html">new job with Microsoft</a>. It involves significantly more travel than I had done in the past, as well as the opportunity to work remotely from home. These two things resulted in some pretty amazing bills my first couple of months on the job.<br /><br />So I called my next available Sprint representative, and wanted to talk through my options for changing my plan to accomodate my newly found additional minutes. We found a plan that was desirable (1400 minutes a month, still including my wife's phone for free), and cost the same as my old one (after applying a generous Microsoft discount.) I was in heaven. Until my first bill.<br /><br />It was supposed to be about $100. It was $190. This was clearly not solving my problem. So I called them. After about 30 minutes of trying to explain my situation (I had not gone over on my minutes, BTW). We finally determined that when the plan was changed, only MY phone was moved to the new plan, and, in fact, my wife's phone was still rockin' steady on the old plan. So all I'd really done was ADD a second plan to my account, not replace the old one. So she credited my account and assured me that the problem was corrected. Great! I can certainly appreciate a mistake, as long as it's corrected.<br /><br />So all is well until the next bill comes. Same mistake. I call, and I get practically the same resolution. Now we're alightly annoyed.<br /><br />Here comes December's bill. Guess what? It's still wrong. I've had enough. I call angrily. I finally get someone on the phone that knows what they are doing. He walks me through all of the steps he's taking, and the problem is corrected. And come January, IT ACTUALLY IS! Woo hoo!<br /><br />But now my phone, the Treo 700wx is acting up. I have to take the battery out and replace it about twice a day, and about once a week, I'm forced to do a "hard reset" which erases everything from the phone, forcing me to start over. Thank God I pay the $7/month for the replacement warranty. Oh, except that warranty only assures me a refurbished version of the same phone I'm struggling with. Well, that's not an option.<br /><br />So, infuriated, I call to change this policy. Those of you that know me well know that I live by a policy of "everything's negotiable." Surely, if they can give me a phone that costs $350 (the refurb), they can give me a "different" phone that costs $350. I am, of course, told that will not be possible. So I politely (as politely as I can) ask to cancel my account. This is apparently the magic word at Sprint: CANCEL. In fact, they have an entire department dedicated to making sure that I don't cancel. My customer service agent immediately becomes my inside source. He starts to tell me all of the things that I need to do and say to get what I want from the "cancellation department." So I am transferred to them. And I have a nice conversation. Almost everything I ask for happens. The phone I want was actually $550, and I am more than willing to pay the difference. $200. She obliges me. And I get the phone 3 days later, free of shipping charges, activation fees, or even taxes (don't tell the IRS.)<br /><br />This is where it takes a turn for the worst. After a week with this new phone, the HTC Mogul, I start to realize that it's just like the last phone I hated. It has a horrible one-handed experience (read: I can't text while <strike>driving</strike> holding a Coke...thanks to <a href="http://www.joshholmes.com">Josh Holmes</a> for that one). It requires me to touch the screen WAY more often than I really want to. Oh, and did I mention that I can't use it with just one hand?<br /><br />So I called my friends at Sprint tonight to talk through my return options (ones I was assured "wouldn't be a problem" when I purchased the phone). I've determined that based on the extremely limited phone options Sprint offers, the only one that is really going to meet my needs is the Moto Q 9c. I'd really like to make an exchange of sorts. The Moto Q 9c has everything I want in a phone. Good form factor, built-in GPS, WM6, the list goes on. And a ONE-HANDED keyboard. After spending 55 minutes on the phone with a customer service rep, here's what my options were:<br /><br />1) Return the HTC Mogul, and receive the Moto Q 9c, but get no refund of the difference in price ($100).<br /><br />2) Return the HTC Mogul for a full refund, and go back to using the battered and broken Palm Treo 700wx.<br /><br />3) Talk to the cancellation department again (I'm starting to see a pattern) and try and get the "fair" deal I am looking for.<br /><br />As you can guess, I chose option #3. So the rep told me he would be transferring me. But before he transferred me, he started to give me advice, just like last time. Tell them this...make sure you tell them you want to cancel...just make your demands known...etc. And then I got HUNG UP ON. No transfer, no nothing. Just a busy signal.<br /><br />After a little yelling at the room I'm sitting in, I redial Sprint. I don't have another hour to burn. It's already 11:00 PM, and I just drove two hours to Cleveland. So when their voice recognition software kicks in, I say the magic words. "Cancellation." I am immediately transferred to the Cancellation Department, and I got to talk with a new rep. For the rest of the story, we'll call her "The Rep That Likes Customers To Leave For The Competition." Or TR for short.<br /><br />So I tell TR my issues, and she is sympathetic, just like I'm sure the script told her to be. I'm very friendly, and she's receptive to my needs. All I'm asking for really, is to return one phone, and get a phone that is $100 cheaper. Oh, and to be refunded the $100 difference. I guess I don't think that I am being difficult.<br /><br />Instead, she reviews how I got the Mogul at such a discounted rate. She tells me that she's not even sure how someone could have given me the price that I was given. She then proceeds to tell me that not only can I not get that $100 returned to me, the Moto Q 9c will actually cost me $50 MORE! I kindly ask her to remind me what it's going to cost to cancel my account and move to another provider. She is very quick to let me know that it will be $200 per phone (me and my wife, remember), plus tax. THERE'S TAX ON A CANCELLATION FEE? UNBELIEVABLE! My account is now clearly flagged as "LET HIM GO, ALREADY." Before we end the call, she asks me if there's anything else she can help me with tonight (from the script), and I politely respond with "Clearly, there isn't anything you can help me with." Click.<br /><br />Tomorrow, I will be talking with AT&T and Verizon to see how we can start a new relationship together. I'm looking forward to a world where new phones are available when then come out, not 6-12 months later. A world where each and every move I make doesn't start a new 24 month contract. A world where customer service is exactly that. Service. Not an opportunity to upsell me again. Goodbye Sprint. It's been a fun 10 years of loyalty and defending your honor to my mocking colleagues and friends, but I think it's about time we start seeing other service providers.<br /><br />Here's to hoping I get one of these soon:<br /><br /><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.gadgetsonthego.net/pics/sprintletter.jpg" border="0" alt="" /><br /><br />Anyone have any reason why I should pick one provider over another? I'm looking for compelling arguments. The iPhone is NOT a compelling argument.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-18920626841882180252008-02-11T16:52:00.000-05:002008-02-11T21:49:21.117-05:00Why Do You Write Code?Today I posted the question "Why Do You Code?" on the always-reliable <a href="http://twitter.com/jblankenburg">Twitter</a>, and I got some great responses. I am posting them here. I think this type of conversation is my favorite part about social networking, by far. Click on people's names to follow them on <a href="http://twitter.com/jblankenburg">Twitter</a>! Thank you to everyone that added their answers!<br /><br />If you didn't get to participate, please add your answer to the comments!<br /><br /><a title="ohiomikeward" href="http://twitter.com/ohiomikeward">ohiomikeward</a> I code because I enjoy it... love seeing an idea that started in my head come together as a rendered page on the internet.<br /><br /><a title="Joe O'Brien" href="http://twitter.com/objo">objo</a> we get to learn how things work (domains) and we get paid to solve puzzles.<br /><br /><a title="John Stockton" href="http://twitter.com/johnnystock">johnnystock</a> I agree with @<a href="http://twitter.com/objo">objo</a> solving complex puzzles and finding ways to do what can't be done = cool feeling<br /><br /><a title="Michael Eaton" href="http://twitter.com/mjeaton">mjeaton</a> I enjoy taking an idea and making a working product out of it. Same reason I enjoy woodworking.<br /><br /><a title="Bruce Abernethy" href="http://twitter.com/babernethy">babernethy</a> I tend to agree with Jon Rentzch <a href="http://snurl.com/1zg57" target="_blank" rel="nofollow">http://snurl.com/1zg57</a> on the topic, that programmers like to solve problems, not "just code"<br /><br /><a title="Leon" href="http://twitter.com/fallenrogue">fallenrogue</a> Mostly my love of correcting the factual inconsistencies of so-called "hacker" movies.<br /><br /><a title="Leon" href="http://twitter.com/fallenrogue">fallenrogue</a> and the chix0rz, of course.<br /><br /><a title="nathanblevins" href="http://twitter.com/nathanblevins">nathanblevins</a> Coding is similiar to creating, like art or singing or etc. It is a way to express yourself. That is what got me into it.<br /><br /><a title="James Bender" href="http://twitter.com/jamesbender">jamesbender</a> It allows me to be creative and play with all the "new shiny toys."<br /><br /><a title="brianhprince" href="http://twitter.com/brianhprince">brianhprince</a> creative outlet. quietly taking over the world. stress relief. can't throw a ball.<br /><br /><a title="Joel Ross" href="http://twitter.com/RossCode">RossCode</a> It's all about understanding someone's business and being able to help them better it. Coding is just the tool to get there.<br /><br /><a title="MichaelDotNet" href="http://twitter.com/MichaelDotNet">MichaelDotNet</a> Honestly? I love taking something and having complete control over it muhahahaha The computer is my [expletive deleted]!<br /><br /><a title="toddkaufman" href="http://twitter.com/toddkaufman">toddkaufman</a> Because my true dream of becoming a professional dancer went away after the knee injury in '95<br /><br /><a title="bsherwin" href="http://twitter.com/bsherwin">bsherwin</a> I'd go postal making Big Macs, paving roads or changing light bulbs in parking lots.<br /><br /><a title="Joe O'Brien" href="http://twitter.com/objo">objo</a> another one .... how many jobs out there get to create something from nothing?<br /><br /><a title="Tim Wingfield" href="http://twitter.com/timwingfield">timwingfield</a> To create something, the continual learning, and the new challenges. And because those pesky mortgage bills keep showing up.<br /><br /><a title="Charles Husemann" href="http://twitter.com/FalconGN">FalconGN</a> because it can be fun to solve business problems with technology.<br /><br /><a title="Tim Wingfield" href="http://twitter.com/timwingfield">timwingfield</a> forgot the obvious one...Because it's FUN! It's not a "job" if you love it.<br /><br /><a title="Michael C. Neel" href="http://twitter.com/ViNull">ViNull</a> I live to code of course, I don't code to live =) Seriously, it is a "runner's high" thing<br /><br /><a title="Allen Noakes" href="http://twitter.com/allennoakes">allennoakes</a> answer: to satisfy my curiosity of patterns and logic.<br /><br /><a title="Michael C. Neel" href="http://twitter.com/ViNull">ViNull</a> I'm about understanding someone's problem and solving with them; I get no greater "thanks" than seeing my software in use<br /><br /><a title="Javier Lozano" href="http://twitter.com/lozanotek">lozanotek</a> I've always in the "it's just fun" camp. A while back, I realized that I was good at it and had a blast<br /><br /><a title="Chris Woodruff" href="http://twitter.com/cwoodruff">cwoodruff</a> I code because I can and enjoy they look on people's faces when I deliver a great tool to make their lives easier.<br /><br /><a title="David O'Hara" href="http://twitter.com/davidmohara">davidmohara</a> Because I get paid to do something I would be doing anyway. (I know that doesn't explain the why though)<br /><br /><a title="David O'Hara" href="http://twitter.com/davidmohara">davidmohara</a> "Why" isn't any different for developers than it is for other careers - it's about an aptitude (calling?) and opportunity<br /><br /><a title="Matt Blodgett" href="http://twitter.com/mattblodgett">mattblodgett</a> I originally liked programming because it was hard. I'm still hooked because I realize how hard it is to do it _well_.<br /><br /><a title="Arnulfo Wing" href="http://twitter.com/Arnulfo">Arnulfo</a> I code because it was MY career choice. Influences: fun, geek factor, money.<br /><br /><a title="Alan Stevens" href="http://twitter.com/alanstevens">alanstevens</a> I code because I couldn't stand the other careers I tried. Late one night, I realized people get paid to do what I was doing.<br /><br /><a title="pandamonial" href="http://twitter.com/pandamonial">pandamonial</a> Besides all the other stuff, you never go a day without learning something so you never get bored<br /><br /><a title="nathanblevins" href="http://twitter.com/nathanblevins">nathanblevins</a> cause "reaching rank 45 in Halo 3" does not really inspire an impressive image? lol<br /><br /><a title="David Walker" href="http://twitter.com/DavidWalker">DavidWalker</a> I started coding for fun & young w/ C64. For last 15 years its been about providing value for the cause - Biz, Community, etc.<br /><br /><a title="Dustin Campbell" href="http://twitter.com/dcampbell">dcampbell</a> A little late to the game with a less altruistic answer. Cash.<br /><br /><a title="Giles" href="http://twitter.com/gilesgoatboy">gilesgoatboy</a> honestly, because it's fun, it pays well, and it's so [expletive removed without permission from Giles Bowett] easy. solving puzzles in code ~= video games with words.<br /><br /><a title="dshultz" href="http://twitter.com/dshultz">dshultz</a> because it's challenging, fun and there's great satisfaction in creating a well-functioning app.<br /><br /><a title="johnkellar" href="http://twitter.com/johnkellar">johnkellar</a> I code because I enjoy making things easier for people. To help someone else be more productive and see their satisfaction.<br /><br /><a title="Sarah Dutkiewicz" href="http://twitter.com/sadukie">sadukie</a> It's my inner engineer that drives me to code.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-9121989328873807092008-02-04T10:29:00.000-05:002008-02-05T10:12:53.674-05:00Upcoming Events in Our Area<a href="http://msdn.microsoft.com/flash/currentissue.htm"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://nigelp.members.winisp.net/kiwiflash.gif" border="0" alt="" /></a><br />This information will also be going out in the <a href="http://msdn.microsoft.com/flash/currentissue.htm">MSDN Flash</a> email, but if you're not subscribed, I wanted to make sure you got it here as well.<BR><BR><br /><a href="http://www.arcready.com"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.teams-deliver.com/images/arcready-ad.png" border="0" alt="" /></a><br /><strong>ArcReady</strong> <a href="http://www.arcready.com/">http://www.arcready.com/</a><br />ArcReady is a free half-day series covering the topics important to aspiring and existing software architects.<br /> <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032365811&Culture=en-US">Cincinnati 3/3/2008</a><br /> <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032365813&Culture=en-US">Nashville 3/4/2008</a><BR><BR><br /><a href="http://devcares.com"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.msdnevents.com/devcares/images/Dev_Cares_Logo.png" border="0" alt="" /></a><br /><strong>DevCares</strong> <a href="http://www.devcares.com/">http://www.devcares.com/</a><br />DevCares is a FREE half-day technical training series created by Developers for Developers! We’ll address the needs and issues of developers today and show you how to make a real difference in the way that you work!<br /> <a href="https://www.clicktoattend.com/invitation.aspx?code=123892" target="_blank">Southfield, MI 02/15</a><br /> <a href="https://www.clicktoattend.com/invitation.aspx?code=123895" target="_blank">Columbus, OH 02/29</a><BR><BR><br /><strong>Central Ohio Day of .NET April 19, 2008</strong><br />The Central Ohio Day of .NET is a joint venture between the Dayton .NET Developers Group, Central Ohio .NET Developers Group and the Cincinnati .NET Users Group. The event originally was called the Cincinnati-Dayton Area Code camp and ran in 2006 and 2007 under that name. With the inclusion of the Columbus group the event has been renamed to the Central Ohio Day of .NET. The event is a FREE day of technology discussions devoted to helping the local development community grow. <br /><br />Day of .NET events are a series of mini-conferences organized by developers for developers. You can find out more about Day of .NET events, including seeing upcoming events, on the series website at <a href="http://www.dodn.org/">http://www.dodn.org/</a>.<BR><BR><br /><a href="http://www.microsoft.com/heroeshappenhere/images/logo3_WS.gif"><img style="float:left;cursor:pointer; cursor:hand;" src="http://www.microsoft.com/heroeshappenhere/images/logo3_WS.gif" border="0" alt="" /></a><br /><a href="http://www.microsoft.com/heroeshappenhere/images/logo3_SQL.gif"><img style="float:left;cursor:pointer; cursor:hand;" src="http://www.microsoft.com/heroeshappenhere/images/logo3_SQL.gif" border="0" alt="" /></a><br /><a href="http://www.microsoft.com/heroeshappenhere/images/logo3_VS.gif"><img style=" cursor:pointer; cursor:hand;" src="http://www.microsoft.com/heroeshappenhere/images/logo3_VS.gif" border="0" alt="" /></a><br /><strong>Visual Studio 2008, SQL Server 2008, Windows Server 2008 LAUNCH EVENTS!</strong><br /> 3/13/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Cleveland.aspx">Cleveland, OH</a><br /> 3/18/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Detroit.aspx">Detroit, MI</a> "Premier Event"<br /> 3/20/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Columbus.aspx">Columbus, OH</a><br /> 4/3/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Indianapolis.aspx">Indianapolis, IN</a><br /> 4/14/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Pittsburgh.aspx">Pittsburgh, PA</a><br /> 5/1/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Nashville.aspx">Nashville, TN</a><br /> 5/13/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/GrandRapids.aspx">Grand Rapids, MI</a><br /> 5/22/2008 <a href="https://microsoft.crgevents.com/heroeshappenhere/Register/Login/Louisville.aspx">Louisville, KY</a>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-79031527543704668712008-02-01T22:53:00.000-05:002008-02-01T23:04:16.849-05:00Do No Evil....My Butt.So, I've got em. They're busted. Google has knowingly done evil.<br /><br />Those of you that have been reading my blog for a little while have seen my video series, JUXtapose. I've been uploading it to <a href="http://video.msn.com/video.aspx?mkt=en-us&cid=8660356808590445705">Soapbox</a> (MSN Video), where it gets rendered and served from, saving me the bandwidth issues. And since I've been doing this, I've noticed that the videos don't seem to come through in Google Reader. <br /><br />So, I'm new to this, I must be doing something wrong. I uploaded it to YouTube...just to see what the differences were. I even used the YouTube video once as the embedded video file in my blog post. And magically, it came through. It was shown (and played) inline in my aggregator. So now I'm convinced I did something wrong with the Soapbox video. I've tried 3 or 4 different methods to use the Soapbox videos (they seem to retain the quality better), and none of them get that video to show up in Google Reader.<br /><br />So on my dedicated server, I am running SmarterMail, a free, web-based mail server. As part of the interface, I can subscribe to RSS feeds as well (not unlike EVERY mail client anymore). So I subscribed to my blog, to see how it worked. The Soapbox videos came through with NO issue. They look and function perfectly.<br /><br />So Google, it's your turn. Certainly your spiders will find this message. I want an explanation. Am I doing something wrong, or have you just created an RSS Aggravator for me? I think I know the answer, and you're guilty.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-37460284062597207182008-01-31T16:38:00.000-05:002008-01-31T17:17:18.634-05:00What Do You Want From Me?Every morning, I sit down to my computer and think, what are people going to care about reading today? I've accumulated a decent audience for this blog, and I feel like I should be earning, not holding, a spot in your RSS reader.<br /><br />Some days, it's an interesting story that hits me. Others, it's a tutorial on some technology I'm jazzed about playing with. If I've really got something itching me, I'll put a video together.<br /><br />But my question to you, dear reader, is:<br /><br /><strong>What, if anything, would make you tell your friends about what I've written?</strong><br /><br />Most of you are accomplished software developers. Some of you are friends in other industries. One of you is my Mom.<br /><br />I'm looking for <a href="http://www.blogger.com/comment.g?blogID=20740090&postID=3746028406259720718">comments</a>, emails, phone calls, <a href="http://twitter.com/jblankenburg">twitters</a>, <a href="http://www.facebook.com/profile.php?id=532822515">facebook messages</a>...however you'd like to throw me some feedback. I would honestly and truly appreciate anything you can offer me. Positive or negative.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-71945873874856959432008-01-30T08:51:00.000-05:002008-01-30T09:31:46.095-05:00Incredibly Honored...Two days ago, I received an email that really surprised me.<br /><br />With this job, I am amazed at the people I get to meet. I'm making great friends on a daily basis with some of the smartest people in the Midwest (and the country, if you ask me.)<br /><br />I do a good amount of speaking, and certainly in Ohio I've done my share lately. With each speaking engagement, I get the chance to leave an impression on a room full of people. Positive or negative, I'm leaving impressions. On Tuesday, I realized how far those impressions travel.<br /><br />My live.com email address (if you know me, you could guess it) is one I use for places I need a LiveID. I don't really use it for email, or calendar, etc. Just for logging in to sites that require it.<br /><br />Occasionally (maybe once a month), I'll jump over to the email, just to see if someone might have written me there by mistake. There were 6 messages, 5 of which challenged my masculinity in one way or another. The 6th message though, was from a woman named Paula Caso.<br /><br />She was contacting me because she teaches at a Cleveland-area high school, and runs the computer club there. They were having a fundraiser, and were building a new computer that they would auction off later this spring. With their allotted budget, they built an amazing machine. High-end gaming system. However, they were short-sighted in their spending. They blew their whole budget on the machine, and forgot to leave something for an operating system. (Before you start talking about free ones, remember that this machine will be auctioned to the public, and Windows is almost certainly a requirement.) Her husband had seen me talk at the Cleveland .NET SIG, and thought she should contact me to see if I could help.<br /><br />It was her signature line in her email that most intrigued me, however.<br /><br /><blockquote>(PS: North Olmsted High School is a public 9-12 school on the west side of the Cleveland metropolitan area in Ohio.)<br /><br />(PSS: Our computer club web site is http://www.nohsteachers.info/PCaso/NOHSCompClub/ -- we maintain our own server, but our site is in need of updating.) <br /></blockquote><br /><br />As it turns out, I grew up in North Olmsted, and spent my 4 years of high school at NOHS (as a three-sport athelete, no less). Smallest of worlds. So I'm looking into a way to help them out. And I let her know that. I also gave her a little background on what my role is with Microsoft. I told her that I've been writing/architecting software for the past 10 years, and that now I get to tell everyone about the new, cool things that we're doing at Microsoft.<br /><br />She immediately asked me if I would be interested in coming to talk to her computer club. Since I will be at the Cleveland .NET SIG on February 12, I told her she could have that entire day, if necessary. She contacted the principal, and got me a small assembly on that day.<br /><br />They are going to pull math, physics, and computer science students from their classes to come hear what *I* have to say? Whoa. That's flattering. I was expecting 8 kids in a classroom.<br /><br />Looks like I need to wrap up this post and start writing a presentation.<br /><br /><a href="http://www.ohiohelmetproject.com/png/northolmsted.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.ohiohelmetproject.com/png/northolmsted.png" border="0" alt="" /></a>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-43336828687415003612008-01-29T10:28:00.000-05:002008-01-29T11:09:27.324-05:00Why you should use a product before you sell it...<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="500" height="176" id="mk_wed8k_main" align="middle"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="http://www.microsoft.com/hardware/mouseandkeyboard/docs/wed8k/mk_Wed8k_main.swf"><param name="quality" value="high"><param name="wmode" value="transparent"><param name="bgcolor" value="#ffffff"><embed src="http://www.microsoft.com/hardware/mouseandkeyboard/docs/wed8k/mk_Wed8k_main.swf" quality="high" bgcolor="#ffffff" width="600" height="251" name="mk_wed8k_main" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><br /><br />So with my newlyfound Christmas riches, I decided to make a couple of purchases recently for my home office.<br /><br />1) <a href="http://www.microsoft.com/hardware/mouseandkeyboard/productdetails.aspx?pid=080" target="_new">Microsoft Wireless Entertainment Desktop 8000</a><br /><br />2) <a href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx" target="_new">HP MediaSmart Server EX470</a><br /><br />Once my server arrives, I'm sure I'll have a blog post about it. But today's post is about the WED 8000.<br /><br />First, let me say that the mouse and keyboard work EXCELLENTLY. In fact, I love them. The keyboard is wireless, bluetooth, and BACKLIT. The backlighting comes on as I approach the desk. For a guy that likes to work in the dark, that's a huge plus. It's even got a trackpad (like a laptop) on the keyboard, for when you're leaning back in your chair. Just awesome.<br /><br />The mouse has what seems like 74 buttons, all configurable. 4 direction scroll wheel...basically everything you've ever heard of in a mouse is there. And it's bluetooth as well.<br /><br />They both charge on a dock. The dock has 4 USB ports, in case you need to plug other stuff in, and it also is the Bluetooth receiver. This was the cool part of my installation experience. I got everything set up, and it immediately told me that "your device is locked. Unlock your device to connect via Bluetooth." I disregarded the error, since the keyboard and mouse don't have locks. Then I realized what had happened. It was trying to connect to my Palm Treo 700wx in my pocket. Once I unlocked the phone, it immediately connected and allowed me to sync with the computer. Goodbye phone dock.<br /><br /><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.microsoft.com/hardware/mouseandkeyboard/images/products/wed8k/mk_largerview_wed8k.jpg" border="0" alt="" /><br />Now to the appearance of the set. Brushed aluminum. Beautiful. Could be the centerpiece of my desktop. I've been using the mouse for about two weeks now, and every time I walk to my desk, I can't help but notice how pretty this stuff looks.<br /><br />That's when the trouble begins. This morning, while catching up on email, something stabs me on my wrist. I look down to see a small, roundish fleck of metal. I look around to see where it could have come from, but my desk is messy, so it could have just been laying there. About twenty minutes later, though, I get another stab in the wrist. Another very similar little fleck. As I pull my hand up, I now figure out where these are coming from. On the bottom end of the mouse, the Microsoft logo is there in shiny silver metal foil. Running my finger over it, there are almost no edges. But it now reads: Microso.<br /><br /><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.microsoft.com/hardware/mouseandkeyboard/images/products/wed8k/mk_otherviews_wed8k_18.jpg" border="0" alt="" /><br /><br />They put foil letters right in the place where your hand not only contacts the mouse, but probably where it shifts the most as well. I'm enamoured with this mouse and keyboard, but it just feels a little "ruined" now. I'll certainly get over it, but I just want to know...did anyone use this thing before is was packaged and shipped to stores?Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-1622905793621628692008-01-28T15:49:00.000-05:002008-01-28T15:54:06.834-05:00JUXtapose - Episode 3: Popfly: Creating Your First Mashup<embed src="http://images.video.msn.com/flash/soapbox1_1.swf" quality="high" width="432" height="364" base="http://images.video.msn.com" type="application/x-shockwave-flash" allowFullScreen="true" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&v=8d1fa72e-3159-4a74-a1a7-0b168916433d&ifs=true&fr=msnvideo&mkt=en-US&brand="></embed><br /><a href="http://video.msn.com/video.aspx?vid=8d1fa72e-3159-4a74-a1a7-0b168916433d" target="_new" title="JUXtapose - Episode 3: Popfly - Creating Your First Mashup"><img src="http://a1771.g.akamai.net/f/1771/23830/v0001/msnuuv1.download.akamai.com/23830/thumbs/prod/57/9a/62/c6c9380c-e518-43cb-8b42-6dbee7629a57.jpg" border=0 alt="JUXtapose - Episode 3: Popfly - Creating Your First Mashup" width=112 height=84><br />JUXtapose - Episode 3: Popfly - Creating Your First Mashup</a>Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-31764760756431514402008-01-11T13:39:00.001-05:002008-01-11T13:49:39.296-05:00We Have A Winner!Thank you to everyone that participated in my blogging contest. In all, we had 43 entries (some of them were emailed, for some reason). That's a solid 1/3 of my readership (as of today).<br /><br />Now for the big news....the winner. I took each entry and added it to an Excel spreadsheet. Once I had them all input, I used the random number generator function in Excel (=RANDBETWEEN(1, 43)).<br /><br />The winner of my 2008 Codemash Blogging Contest, and the SwagBag to rule them all is...<br /><br /><a href="http://jrwren.wrenfam.com/blog/2008/01/08/the-castle-talk-is-shaping-up-and-im-excited-for-codemash/" target="_new">Jay Wren</a>.<br /><br />I will be giving this bag away at CodeMash this afternoon.<br /><br />Keep an eye out for my next contest...coming in February.Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-59626072274962830462008-01-08T12:20:00.000-05:002008-01-08T12:26:21.366-05:00Time Is Running Out...The bag is packed. Let me just say that much has been added since I discussed the contents of this SwagBag. Special thanks to <a href="http://timheuer.com/blog/" target="_new">Tim Heuer</a> for reading about the contest and contributing some stuff of his own.<br /><br />You've got until Thursday morning to get your entry in. We've only got 36 entries right now. I'd like to see fifty before Thursday morning. And my offer still stands...if we can get to 100, I'll thrown in an 8GB Zune.<br /><br />Here's the post:<br /><br />http://www.jeffblankenburg.com/2007/12/codemash-contest_19.htmlJeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.comtag:blogger.com,1999:blog-20740090.post-22956716482814237672008-01-03T21:42:00.000-05:002008-01-03T22:09:53.547-05:00CodeMash Speaking UpdateIn an unfortunate turn of events, <a href="http://silverlight.net/blogs/jesseliberty/" target="_new">Jesse Liberty</a> (Senior Program Manager, Silverlight Development Team) fractured his shoulder a few weeks ago. He and his doctor were optimistic that he would still be able to make the trip to <a href="http://www.codemash.org" target="_new">CodeMash</a> (like I'm sure all of you are). His surgeon is now extremely reluctant to have him in full-on travel mode just yet, so he has been forced to cancel his trip.<br /><br />Due to these circumstances, there is a gaping hole in the <a href="http://www.silverlight.net" target="_new">Silverlight</a> content at CodeMash. I have been fortunate enough to be asked by Jesse to replace him in his absence. I'm a bit honored, and a bit panicked (I wasn't on the slate to speak until now). So there you have it....I'll be the speaker in Jesse Liberty's stead. The topics will still be the same, there will be an Intro to Silverlight and an Advanced Silverlight session at the normally scheduled time.<br /><br />So, if I haven't met you, and certainly if I have, here's when I will be speaking at CodeMash.<br /><br />01/09/07 9:30 AM - Coding In Silverlight<br />01/10/07 2:10 PM - Advanced Silverlight<br /><br />Head over to the <a href="http://codemash.org/sessionscheduler/">CodeMash Session Scheduler</a> (built in Silverlight) and get me on your agenda!Jeff Blankenburghttp://www.blogger.com/profile/09228708679448422278noreply@blogger.com