<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>CodeVerity</title><link>http://codeverity.com/</link><description>Software Engineering, Security and whatever else I feel like writing about</description><generator>Graffiti CMS 1.1 (build 1.1.0.1083)</generator><lastBuildDate>Tue, 10 Nov 2009 13:04:05 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/codeverity" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Happy Birthday Marines – Give a little back</title><link>http://codeverity.com/timweaver/happy-birthday-marines-ndash-give-a-little-back/</link><pubDate>Tue, 10 Nov 2009 13:04:05 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/happy-birthday-marines-ndash-give-a-little-back/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;A few years ago I posted that I wanted to give back to the Marines and families in NH that are in need. This year I would like to do the same thing. Here’s the relevant part:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;If you, your spouse, or someone you know is currently on active duty in the US Marine Corps or has been injured while on active duty and simply isn’t going to be able to afford to put something under the tree this year, contact me via this blog. Send me the name of the child, what he/she would really like to have, who it is to be from, and where to send it. Please include a telephone number where I can contact you. I will take some measures to verify your information and I can’t promise how many gifts I can afford to send out, but I will do what I can. What I won’t do is publish any information about you or your family. This will be strictly confidential.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;I would also encourage all the other former military out there that are able, to help out as well. You know who you are.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;My wife asked me what she should get the 'guy who has everything' -- This is my response.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Semper Fi&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;here’s the full post: &lt;a href="http://codeverity.com/timweaver/time-to-give-a-little-back-to-the-marines/"&gt;http://codeverity.com/timweaver/time-to-give-a-little-back-to-the-marines/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Happy Birthday Marines.&lt;/p&gt;</description></item><item><title>Borderlands – Do NOT buy this game if you value your free time</title><link>http://codeverity.com/timweaver/borderlands-ndash-do-not-buy-this-game-if-you-value-your-free-time/</link><pubDate>Sat, 31 Oct 2009 20:39:28 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/borderlands-ndash-do-not-buy-this-game-if-you-value-your-free-time/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;I swear I’ve spent 8 hours playing this game since just yesterday. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.megatonnews.com/wp-content/uploads/2007/10/borderlands6050620071017_133320_1_big.jpg" /&gt;&lt;/p&gt;</description></item><item><title>Proactive Selling</title><link>http://codeverity.com/timweaver/proactive-selling/</link><pubDate>Wed, 28 Oct 2009 11:33:34 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/proactive-selling/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;I’m not a sales person (thankfully) so this is simply my take on how not to sell something, be it services, goods, or ideas. Making a sales is essentially about a few things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Identify what you are selling&lt;/li&gt;    &lt;li&gt;Position what you are selling&lt;/li&gt;    &lt;li&gt;Find a person/entity with a need for what you are selling&lt;/li&gt;    &lt;li&gt;Sell to that person/entity&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now those are very simplistic items, but let’s consider them for a moment. Of all the items listed, bullet point 3 (Find a person…) is by far the most difficult. Sales people like to fabricate needs for their products, and then sell to those needs. The internet is littered with such products that sound amazing, might do cool stuff, but actually don’t provide any real value. Finding a preson/entity with a true need that your product can resolve is the ultimate “qualified lead”.&lt;/p&gt;  &lt;p&gt;Once you qualify the lead you still have to sell your product, but at least you aren’t fabricating a need or blindly searching.&lt;/p&gt;  &lt;p&gt;Given those assumptions, you would think that if you have a customer with an ongoing need, that your engineering team has identified, you as&amp;#160; an organization would put effort towards satisfying that need. In an economy where every dollar helps, even small sales matter, unless of course you are Microsoft.&lt;/p&gt;  &lt;p&gt;The problem with discounting the small sales, is that these days everyone is connected, everyone is informed. If you as an organization ignore even the smallest of clients, you may face a huge backlash from an explosion of negative marketing coming from Twitter, Facebook, or one of the other social networking sites. It simply doesn’t make business sense to ignore even the smallest of issues. You have to find a way to at least communicate with your clients that you recognize the need even if you choose to do nothing about that need.&lt;/p&gt;</description></item><item><title>Now I Remember Why I like Kindle Books</title><link>http://codeverity.com/timweaver/now-i-remember-why-i-like-kindle-books/</link><pubDate>Wed, 30 Sep 2009 02:06:27 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/now-i-remember-why-i-like-kindle-books/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;Doh! See that shipping and handling charge. That sucks. It’s free with Kindle and I don’t have to wait for it.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Shipping Method:&lt;/b&gt;    &lt;br /&gt;Standard Shipping&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Shipping Preference:&lt;/b&gt;    &lt;br /&gt;Group my items into as few shipments as possible&lt;/p&gt;  &lt;p&gt;Subtotal of Items:&amp;#160;&amp;#160; &lt;br /&gt;$7.99&lt;/p&gt;  &lt;p&gt;Shipping &amp;amp; Handling:&amp;#160;&amp;#160; &lt;br /&gt;$3.99&lt;/p&gt;</description></item><item><title>Kindle Problems Ahead</title><link>http://codeverity.com/timweaver/kindle-problems-ahead/</link><pubDate>Tue, 29 Sep 2009 00:17:54 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/kindle-problems-ahead/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;I’ve posted a few times &lt;a href="http://codeverity.com/timweaver/amazon-kindle-s-dirty-little-secret/"&gt;before&lt;/a&gt; about my Kindles (yes, I have more than one). I’ve spent more on books this year than I have on books in the last 10 years combined, and frankly, loved every minute of it. &lt;/p&gt;  &lt;p&gt;There are a large number of competitors suddenly flooding the market with different style readers, and different book formats. Lately I’ve started to grow slightly uncomfortable with the level of investment I have with Amazon. You see, I read my books more than once. In fact, the good ones I’ll read many times. &lt;/p&gt;  &lt;p&gt;I’ve gotten some very good books this year (&lt;a href="http://www.amazon.com/Old-Mans-War/dp/B000SEIK2S/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1254183138&amp;amp;sr=8-1&amp;amp;tag=booklibrary0b-20"&gt;Old Man’s War&lt;/a&gt;, &lt;a href="http://www.amazon.com/The-Way-of-Shadows-ebook/dp/B001E0V112/ref=kinw_dp_ke?ie=UTF8&amp;amp;qid=1254183170&amp;amp;sr=1-1&amp;amp;tag=booklibrary0b-20"&gt;Way of Shadows&lt;/a&gt;, among many others). What happens when my Kindle dies or Amazon stops supporting the format? I’m reminded of all the DRM’d music that I’ve purchased a lost. A few years ago I vowed to never buy DRM music again, yet here I am buying a lot of DRM protected books. Seems like I’m making the same mistake… &lt;/p&gt;</description></item><item><title>Icovia Is Hiring a Customer Manager</title><link>http://codeverity.com/timweaver/icovia-is-hiring-a-customer-manager/</link><pubDate>Fri, 25 Sep 2009 15:34:57 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/icovia-is-hiring-a-customer-manager/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;We are looking to hire a Customer Manager and Support Representative for our Londonderry, NH office. Interested, check out the job posting on Craigslist:&lt;/p&gt;
&lt;p&gt;http://nh.craigslist.org/csr/1390775318.html&lt;/p&gt;</description></item><item><title>Find and Solving a Problem that Only Occurs on Production Servers</title><link>http://codeverity.com/timweaver/find-and-solving-a-problem-that-only-occurs-on-production-servers/</link><pubDate>Fri, 18 Sep 2009 00:25:55 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/find-and-solving-a-problem-that-only-occurs-on-production-servers/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;We’ve had a series of ongoing “problems” that happen only in production. The issue we ran into is that the incorrect results only occurred when we pushed fully tested and validated code to our production server. We could not reproduce the symptoms on our Development or QA environments.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What do these three things have in common:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Occasionally users will report being “logged out” suddenly&lt;/li&gt;    &lt;li&gt;&lt;a href="http://logging.apache.org/log4net/index.html"&gt;Log4Net&lt;/a&gt; simply stops logging data&lt;/li&gt;    &lt;li&gt;The wrong image or settings file will be returned to the application &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, you can look at the first two bullets and say that the root cause is a worker process recycle. In IIS6, when ASP.NET worker process crashes, or gets recycled, you essentially lose the active session. &lt;/p&gt;  &lt;blockquote&gt;   &lt;h4&gt;&lt;em&gt;Session State&lt;/em&gt;&lt;/h4&gt;    &lt;p&gt;&lt;em&gt;If you need session state in ASP.NET, there are three session state modes that you can choose from. Each mode offers varying degrees of performance and scalability as described in the following list:&lt;/em&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;em&gt;&lt;strong&gt;InProc&lt;/strong&gt;. The in-process store provides the fastest access to session state. There are no serialization or marshaling costs involved because state is maintained within the managed memory of the ASP.NET process. The ASP.NET process is the Aspnet_wp.exe file on Windows 2000 Server, and the W3wp.exe file on Windows Server 2003. When the process recycles, the state data is lost, although you can disable process recycling in IIS 6 if process recycling affects your application. The in-process store limits application scalability because you cannot use it in conjunction with multiple worker processes; for example, it prevents Web farm or Web garden deployment. Also, high numbers of large or concurrent sessions can cause your application to run out of memory. &lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;em&gt;&lt;strong&gt;StateServer&lt;/strong&gt;. The session state service, a Microsoft Win32® service, can be installed on your local Web server or on a remote server that is accessible by all Web servers in a Web farm. This approach scales well, but performance is reduced in comparison to the in-process provider because of the additional serialization and marshaling that is required to transfer the state to and from the state store. &lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;em&gt;&lt;strong&gt;SQL Server&lt;/strong&gt;. Microsoft SQL Server provides a highly scalable and easily available solution. SQL Server is a solution that is well-suited to large amounts of session state. The serialization and marshalling costs are the same as the costs for the session state service, although overall performance is slightly lower. SQL Server provides clustering for failover, although this is not supported in the default configuration for session state. To enable clustering for failover, you have to apply configuration changes, and the session data must be stored in a non temporary table. &lt;/em&gt;        &lt;p&gt;&lt;em&gt;For more information, see Knowledge Base article 323262,&amp;quot;INFO: ASP.NET Session State with SqlServer Mode in a Failover Cluster,&amp;quot; at &lt;/em&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;323262"&gt;&lt;em&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;323262&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are a number of bugs reported against Log4Net that reference the fact that Log4Net stops logging after a worker process recycle, so again that points to a worker process recycle issue.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;However, the 3rd bullet doesn’t match up. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Is it a red herring? &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ever heard of &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/659f2e2c-a58b-4770-833b-df96cabe569e.mspx?mfr=true"&gt;Web Gardens&lt;/a&gt;? Essentially it allows the creation of more than one worker process per application pool.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We have wildcard mapping that allows ASP.NET to correctly return the requested file(s) based upon the subdomain the request came from. In production, with our new code, the second request would return data (seemingly cached) from the first request. However, if you were too slow to make the second request, then you would get the correct file back. Looking at the response we could see that it is marked Public with a very short cache expiration. What gives?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It turns out that we had marked a number of files as Public with a one minute expiration. This was because the same file is being requested multiple times and we didn’t want to have to go to the server for it each time, when it couldn't have changed. It worked great in Development and in QA, but failed miserably (and correctly) in production.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The culprit is the Web Gardens setting of IIS. In our Development environment the web server was set to have up to 47 worker processes (who picked 47 anyway?) per pool. So each request, as we switched subdomains ended up being served by a new worker process, which went ahead and pulled the file from the server. In production, we have the Web Garden setting correctly at 1 so the same worker process was handling all the requests, which means a request for /testme.com/companygoo.xml and /notestme.com/companygoo.xml returned the same file, even though we didn’t want it to.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The “fix” was to correct our Development environment and set the private files to Private so they aren’t cached. We were looking at the wrong server for the problem.&lt;/p&gt;</description></item><item><title>No Dorothy, Flash Will Not Solve Your Compatibility Problems</title><link>http://codeverity.com/timweaver/no-dorothy-flash-will-not-solve-your-compatibility-problems/</link><pubDate>Wed, 19 Aug 2009 00:53:54 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/no-dorothy-flash-will-not-solve-your-compatibility-problems/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;Yesterday I read a post/thought titled &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=264822"&gt;Know Your Materials&lt;/a&gt;, which was in essence a mostly one sided article about how HTML CSS Javascript will never really be compatible (true in my opinion) and Silverlight, while nice isn’t really a player, so you should focus on Flash.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I spend about 50% of my time in Flex 3 Builder and have done so for long enough to have an opinion on whether or not Flash/Flex is the ultimate answer. In my opinion it isn’t (shocking I know). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I’ll give an example. Let’s take &lt;a href="www.facebook.com"&gt;Facebook&lt;/a&gt; Connect. Facebook has experience phenomenal growth lately, with little signs of stopping in the near term. Connect gives web developers a chance to play in the vast pool of people / information that is Facebook, which is very valuable to many (and I would argue most enterprises). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Let’s suppose you have a SWF and you embed it giving it a name and/or an id attribute:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;lt;embed id=”myflash” name=”myflash” …… &amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Let’s not forget that this simple task is not universally accepted. Do you embed or use an object tag?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now let’s say you want to use Facebook Connect via &lt;a href="http://www.adobe.com/devnet/facebook/articles/facebook_architecture_overview_06.html"&gt;Flash&lt;/a&gt;. Well, you need to make some javascript callbacks like so:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, create a wrapper method so you don’t need a new javascript function for each callback&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;function fbFlashCallback(func){&lt;/p&gt;  &lt;p&gt;try   &lt;br /&gt;&amp;#160; {    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var flash = document[as_swf_name];    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; flash[func]();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160; }    &lt;br /&gt;&amp;#160; catch(e)    &lt;br /&gt;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; alert (e.message);    &lt;br /&gt;&amp;#160; }&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;What happens when fbFlashCallback gets called? The answer is “it depends”.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It depends on whether or not your as_swf_name variable correctly matches the case of the variable name in the document. &lt;/li&gt;    &lt;li&gt;It depends on whether or not you actually defined both ID and Name on your embed tag&lt;/li&gt;    &lt;li&gt;It depends on whether or not your client is using FireFox/IE/Chrome or Safari&lt;/li&gt;    &lt;li&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The problem is the call document[as_swf_name] isn’t consistent across all browsers so here we are, using Flash/Flex and we are still fighting compatibility issues.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Are those issues likely to go away? The answer is no because not everything on the web is ever going to go to Flash. Even as Chrome OS and HTML 5 loom on the horizon, we are still looking at years if not decades of browser quirks. The issues you run into and have to deal with certainly aren’t the same when you are using    &lt;br /&gt;Flash/Flex, but they don’t go away. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When you have a driving requirement to integrate with the rest of the world, it pays to consider how well your chosen technology will play with others along with all the other usual factors.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Just my 2 cents.&lt;/p&gt;</description></item><item><title>iPhone UI Flakiness</title><link>http://codeverity.com/timweaver/iphone-ui-flakiness/</link><pubDate>Wed, 05 Aug 2009 11:40:43 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/iphone-ui-flakiness/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;I have what is probably a somewhat unusual usage pattern for my phone. I have very limited service at my house, so along with cell phone &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16875997031&amp;amp;nm_mc=OTC-Froogle&amp;amp;cm_mmc=OTC-Froogle-_-Cell+Phones+Accessories-_-Wireless+Extenders-_-75997031"&gt;signal booster&lt;/a&gt; I also forward my phone to my home Skype number. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I would like to forward to my &lt;a href="http://www.google.com/voice"&gt;Google Voice&lt;/a&gt; number, but as sadly Apple apparently doesn't want me to use Google Voice.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Which brings me to my current problem. With the latest update to the iPhone software, Apple has essentially broken the UI for forwarding your phone.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you have limited signal (less than one bar) and go to forward your phone one of 3 things will happen:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;After a long delay the phone will correctly forward and you will see the call forward icon on the top status bar&lt;/li&gt;    &lt;li&gt;After a long delay the forward icon will appear, however the forwarded # will be blank and/or say ‘Loading…’&lt;/li&gt;    &lt;li&gt;After a long delay the forward icon will appear and the forwarded # will be blank for a few seconds before switching to the last forwarded number&lt;/li&gt;    &lt;li&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Number 1 isn’t a problem. The phone forwarded as expected. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Number 2 is just broken. How do you know if the phone is forwarded or not? The icon clearly indicates call forwarding but the number isn’t there. If you exit the call forwarding menu (by going back to settings) and then go into call forwarding again the icon will usually (though not always) disappear and your phone will NOT be forwarded. If you fail to go back into the settings menu the icon stays, though your phone is NOT forwarded.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Number 3 is broken as well. About 50% of the time, even though the icon is there and the number appeared, if you go back to settings and back into Call Forwarding the # will be blank and the forwarded icon will disappear. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So in order to forward my phone I have to go into Settings –&amp;gt; Call Forwarding. Wait until the icon and number appear. Go back to the Settings screen, then Call Forwarding again, and wait one more time to ensure the forwarded number and icon remain. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here’s where it gets fun. Because I have such a low signal, the phone may not be able to determine if calls are forwarded. If that happens it will drop the icon and just give an OFF indication, even though it isn’t OFF.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now I have a 4th problem. I can’t reliably determine if the phone is correctly forwarded, nor can I reliably determine if the phone isn’t forwarded. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This feature worked 100% of the time prior to the v3 update. Apple please fix your UI. I’m tired of not getting calls because my phone is forwarded when I think it isn’t.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Oh, and while I’m at it, please approve the Google Voice app or I like many others may be forced to switch the Palm Pre.&lt;/p&gt;</description></item><item><title>Using a UNC Path from ASP.NET</title><link>http://codeverity.com/timweaver/using-a-unc-path-from-asp-net/</link><pubDate>Wed, 22 Jul 2009 10:54:14 GMT</pubDate><guid isPermaLink="true">http://codeverity.com/timweaver/using-a-unc-path-from-asp-net/</guid><dc:creator>timweaver</dc:creator><slash:comments>0</slash:comments><category domain="http://codeverity.com/timweaver/">timweaver</category><description>&lt;p&gt;A fairly common requirement is for assets to exist on a network share. I’ve had to setup this type of site at least a couple of times, though it’s been a long time.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are basically two ways to go about this: &lt;a href="http://msdn.microsoft.com/en-us/library/ms998351.aspx"&gt;Delegation and Impersonation&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Today I setup the share, applied the appropriate permissions and the correct ACL permissions and everything should have worked, but it didn’t.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What I found was that if the account I was impersonating was a member of the Administrator’s group it worked fine. Otherwise, no permission I granted made any difference. Now, I’m not about to push a site with the executing identity an administrator. That’s just plain asking for someone to take-over your site.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;After a couple of hours of increasing frustration I sat back and just looked at the path I was using:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;//&amp;lt;servername/g$/sharename&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Notice the problem?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It’s the letter G. Yes ladies and gentlemen, this aggravating experience was brought to you by the letter G.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The path to the share is:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;//&amp;lt;servername/sharename&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Because I had the g$ the user had to have permissions to the root of G, which of course it didn’t.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;File this one under stupid developer tricks.&lt;/p&gt;</description></item></channel></rss>
