<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-660972138960280931</id><updated>2024-10-06T21:50:08.067-07:00</updated><category term="twitter"/><category term="Douglas Crockford"/><category term="JScript"/><category term="JavaScript"/><category term="MFC"/><category term="PowerShell"/><category term="VBScript"/><category term="Windows"/><category term="ambition"/><category term="best practices"/><category term="bots"/><category term="followers"/><category term="kludges"/><category term="poetry"/><category term="replyz"/><category term="wisdom"/><title type='text'>Context is All</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-3128256763532087323</id><published>2011-07-25T08:42:00.000-07:00</published><updated>2011-07-25T11:52:49.193-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JScript"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell"/><category scheme="http://www.blogger.com/atom/ns#" term="VBScript"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Legacy Scripting Still King of User Empowerment</title><content type='html'>Attention has been shifting from legacy Windows scripting languages like VBScript to PowerShell. This is appropriate because PowerShell is, if you excuse the expression, more powerful.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, there is one area where legacy scripting edges out PowerShell: user empowerment. What I mean by &quot;user empowerment&quot; is the ability for a user to unilaterally control their own computing environment. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For Windows XP and Vista, PowerShell has to be downloaded and installed. This requires Administrator privileges that some users won&#39;t have. PowerShell is bundled with Windows 7, but scripting is disabled by default and enabling it also requires Administrator privileges.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, in an ideal world, you&#39;d contact your IT department and they&#39;d promptly install PowerShell or enable it for you. In practice, however, there are usually institutional hurdles that make this a difficult and invasive process.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So if you find yourself on a locked-down Windows PC and you want to automate some of your work, consider VBScript or JScript.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Links:&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/t0aew7h6.aspx&quot;&gt;VBScript&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/hbxc2t98.aspx&quot;&gt;JScript&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd835506.aspx&quot;&gt;PowerShell&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Correction: &lt;a class=&quot;  twitter-atreply&quot; name=&quot;ScriptingGuys&quot; href=&quot;http://twitter.com/ScriptingGuys&quot; rel=&quot;nofollow&quot; style=&quot;font-family: Arial, &#39;Helvetica Neue&#39;, sans-serif; font-size: 15px; line-height: 19px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 132, 180); text-decoration: none; white-space: nowrap; &quot;&gt;&lt;span class=&quot;at&quot; style=&quot;color: rgb(0, 132, 180); text-decoration: none; white-space: nowrap; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline-block; opacity: 0.5; &quot;&gt;@&lt;/span&gt;&lt;span class=&quot;at-text&quot; style=&quot;color: rgb(0, 132, 180); white-space: nowrap; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: underline; &quot;&gt;ScriptingGuys&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot;  &gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15px; line-height: 19px;&quot;&gt; on twitter informed me that you &lt;i&gt;can&lt;/i&gt; enable PowerShell scripting without Administrator privileges for the current user.  The command to use is: &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(68, 68, 68); font-family: Arial, &#39;Helvetica Neue&#39;, sans-serif; font-size: 15px; line-height: 19px; &quot;&gt;Set-ExecutionPolicy -Scope currentuser -ExecutionPolicy unrestricted&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/3128256763532087323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2011/07/legacy-scripting-still-king-of-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/3128256763532087323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/3128256763532087323'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2011/07/legacy-scripting-still-king-of-user.html' title='Legacy Scripting Still King of User Empowerment'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-3380449795306228214</id><published>2011-04-23T07:44:00.000-07:00</published><updated>2011-04-23T08:46:37.473-07:00</updated><title type='text'>5 Reasons Why a Republican Presidential Candidate Should Reject Birthism</title><content type='html'>I&#39;m not a Republican, but I have some advice for Republican Presidential candidates. Make a public statement like this: &quot;President Obama was born in the United States. It&#39;s a fact&quot;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of course, if you&#39;ve already said the opposite or gave a wishy-washy answer, it&#39;s too late for you.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here&#39;s five reasons making such a statement can help elect you:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;1 It will separate you from the Pack&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;For the most part Republican Presidential candidates fall into two categories: Those who openly question Obama&#39;s birthplace and those who can&#39;t bring themselves to make a clear statement on the matter.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;The moment you declare your belief that Obama was born in the US, you immediately become a big story no matter how obscure you were before. The fact that a famous publicity-hound like Trump is saying the opposite will keep you in the news for some time.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;2 It will appeal to independent voters&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Most independent voters will not vote for a candidate who is afraid to speak an obvious truth for fear of alienating a party or special interest group. You can convince them you are your own man (or woman).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;3 It will let you deal with the Tea Party on your own terms&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium; &quot;&gt;By signaling to the Tea Party that you aren&#39;t going to do whatever they want without question, you can court their support from a position of strength.  As a Republican, you probably share at least some of the same policy views. The worst case scenario is that some of them might not vote, but there&#39;s no danger of them voting for Obama.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;4 It will improve the reputation of your party&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;The Birther movement is making the Republican party look foolish. By rejecting it, you repair some of the damage.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;5 It&#39;s the right thing to do&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;This might seem like odd political advice, but in a world of politics where half-truths, fallacious arguments, and deceptive language are the norm, doing the right thing can remind you that you had some good intentions going in. That can strengthen your resolve.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/3380449795306228214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2011/04/5-reasons-why-republican-candidate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/3380449795306228214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/3380449795306228214'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2011/04/5-reasons-why-republican-candidate.html' title='5 Reasons Why a Republican Presidential Candidate Should Reject Birthism'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-7662126288114882799</id><published>2011-01-26T13:36:00.000-08:00</published><updated>2011-01-26T13:39:11.985-08:00</updated><title type='text'>Android Developers Blog: Android 3.0 Platform Preview and Updated SDK Tools</title><content type='html'>Tablet Support for Android! &lt;a href=&quot;http://android-developers.blogspot.com/2011/01/android-30-platform-preview-and-updated.html&quot;&gt;Android Developers Blog: Android 3.0 Platform Preview and Updated SDK Tools&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/7662126288114882799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2011/01/android-developers-blog-android-30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7662126288114882799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7662126288114882799'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2011/01/android-developers-blog-android-30.html' title='Android Developers Blog: Android 3.0 Platform Preview and Updated SDK Tools'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-7272176476431005053</id><published>2011-01-24T21:02:00.001-08:00</published><updated>2011-01-24T21:02:49.497-08:00</updated><title type='text'>The Truth about the InternetExplorer Object and the WebBrowser Control</title><content type='html'>&lt;div&gt;Recently I&#39;ve been developing with VBScript. It&#39;s not because I think of it as a cutting-edge technology I need to learn, but rather because at work I&#39;m stuck with a locked-down XP computer without any other programming tools, no internet access and no administrator privileges. Let&#39;s just say that software development isn&#39;t part of my current job description (There&#39;s a back-story here, but that&#39;s a story for a different day).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The application we are using at work is browser-based, but the UI (am I supposed to call it Ux now?) is horrible. Since our group is apparently far too low on the totem-pole to get our suggestions implemented, I&#39;ve been writing scripts to ease our pain. The next step in this endeavor is to automate Internet Explorer and that&#39;s where the plot thickens.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are two related &quot;objects&quot; you can use to automate IE: the InternetExplorer Object and the WebBrowser control. They are both available through Shdocvw.dll and that&#39;s where the confusion begins. The InternetExplorer object is an automation interface to IE. The WebBrowser control is an ActiveX control that can be hosted within an application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MSDN documents both of them in the documentation tree under WebBrowser Control here. This leads some people to believe that the following code creates a WebBrowser control but it doesn&#39;t:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Set objIE = CreateObject(&quot;InternetExplorer.Application&quot;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It does, however, create an InternetExplorer object. This distinction is important for a two reasons. First, because the above code will open an instance of the standard IE application which doesn&#39;t happen you create a WebBrowser control. And secondly, because the events supported by each is different.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Adding to the confusion, events supported exclusively by the InternetExplorer object aren&#39;t supported in the way you might assume. For example, if you set the StatusBar to False in your code, it will hide the Status Bar in your Automated IE instance and will trigger an OnStatusBar event. On the other hand, if you then go to your automated IE window and select &quot;Status Bar&quot; from the &quot;View&quot; menu, it will make the Status Bar visible, but it will not trigger the OnStatusBar event.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/7272176476431005053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2011/01/truth-about-internetexplorer-object-and_24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7272176476431005053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7272176476431005053'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2011/01/truth-about-internetexplorer-object-and_24.html' title='The Truth about the InternetExplorer Object and the WebBrowser Control'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-7892524994208769942</id><published>2010-12-14T19:22:00.000-08:00</published><updated>2010-12-14T19:40:06.469-08:00</updated><title type='text'>Do you sell any clocks in this bookstore?</title><content type='html'>When I was in college I worked in a bookstore. One day a lady came in and asked us if we had any clocks for sale. Today, that question might not be too strange. After all, mega-bookstores like &lt;i&gt;Barnes and Noble&lt;/i&gt; and &lt;i&gt;Borders&lt;/i&gt; carry a lot of different stuff, but it was an odd question at the time.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was reminded of that incident today while thinking about job interviews. Why? Hold on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Imagine a universe where that lady&#39;s question was perfectly sensible. In that world, you might enter a traditional book-only bookstore and be greeted by the proprietor who asks you &quot;What kind of product were you looking for?&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think some interviewers have been to that world.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I selected your company to send my Resume to. I even applied for a particular job you are offering. Why are you asking about what kind of job I want? If I were looking for something you can&#39;t offer, I wouldn&#39;t be here.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/7892524994208769942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/12/do-you-sell-any-clocks-in-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7892524994208769942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7892524994208769942'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/12/do-you-sell-any-clocks-in-this.html' title='Do you sell any clocks in this bookstore?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-1584988302598119054</id><published>2010-12-06T11:29:00.000-08:00</published><updated>2010-12-06T11:58:16.925-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="kludges"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><title type='text'>Who says you don&#39;t need your MFC books anymore?</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4Oi45YepG3R2e8XBycNPK3Ssdw1-PR-t_rUqpywSWJEkhpF7opwCpRaANN_jG0dZjrMAfq4neiwyd7AR1nZ_r35lkejV1S6RkOUbcZcHNMHKp75prc3XW4ug-2nJOZvO4W_eiwjqqUxFa/s1600/IMG_20101205_103525.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 239px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4Oi45YepG3R2e8XBycNPK3Ssdw1-PR-t_rUqpywSWJEkhpF7opwCpRaANN_jG0dZjrMAfq4neiwyd7AR1nZ_r35lkejV1S6RkOUbcZcHNMHKp75prc3XW4ug-2nJOZvO4W_eiwjqqUxFa/s320/IMG_20101205_103525.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5547654266506711570&quot; /&gt;&lt;/a&gt;I have a problem with my van. The battery connectors are corroded and I don&#39;t have the money to have it fixed. (Did I mention that I approach car repair like the stereotypical grandma approaches installing an operating system on her computer?)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I needed something heavy to hold the wires to the battery while I started the van, so Jeff Prosise&#39;s &lt;i&gt;Programming Windows with MFC&lt;/i&gt; came to the rescue. I also have a copy of Jeff&#39;s &lt;i&gt;Programming Microsoft .NET&lt;/i&gt;, but I hope to have my van repaired before I need it.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/1584988302598119054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/12/who-says-you-dont-need-your-mfc-books.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/1584988302598119054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/1584988302598119054'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/12/who-says-you-dont-need-your-mfc-books.html' title='Who says you don&#39;t need your MFC books anymore?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4Oi45YepG3R2e8XBycNPK3Ssdw1-PR-t_rUqpywSWJEkhpF7opwCpRaANN_jG0dZjrMAfq4neiwyd7AR1nZ_r35lkejV1S6RkOUbcZcHNMHKp75prc3XW4ug-2nJOZvO4W_eiwjqqUxFa/s72-c/IMG_20101205_103525.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-1688224850543382660</id><published>2010-09-17T15:19:00.000-07:00</published><updated>2010-09-17T22:04:00.358-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="best practices"/><category scheme="http://www.blogger.com/atom/ns#" term="Douglas Crockford"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>What I learned about JavaScript from Douglas Crockford</title><content type='html'>About a year and half ago, O&#39;Reilly published Douglas Crockford&#39;s book: &lt;span style=&quot;font-style:italic;&quot;&gt;JavaScript: The Good Parts&lt;/span&gt;. It&#39;s a great book and is particularly useful if you have the opportunity to create new JavaScript code so that you can use the subset of the language that he describes.&lt;br /&gt;&lt;br /&gt;One thing the book lacks is a summary of all the good advice in the form of a best practice list. Now, such lists are useful as long as we keep in mind that nearly every &quot;rule&quot; has an exception. Perhaps Crockford deliberately avoided the problems that can come from separating recommendations from their explanation and justification.&lt;br /&gt;&lt;br /&gt;Nevertheless, I want to present some of his recommendations as a list that you can apply without necessarily knowing their background. I highly recommend that you consult Crockford&#39;s book for more details.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Mitigate JavaScript&#39;s default global variables by creating a single global variable that acts as a container for your application.&lt;br /&gt;code example:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var THEAPP = {};&lt;br /&gt;THEAPP.book = {&lt;br /&gt;&quot;name&quot;: &quot;JavaScript The Good Parts&quot;,&lt;br /&gt;&quot;author: &quot;Douglas Crockford&quot;&lt;br /&gt;};&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;When using the Function Invocation Pattern, save a copy of &lt;code&gt;this&lt;/code&gt; in a variable (called &quot;&lt;code&gt;that&lt;/code&gt;&quot; typically). This will allow an inner function access to the outer function&#39;s objects.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;JavaScript doesn&#39;t have block scope, so declare a function&#39;s variables at the top of the function body.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use the Module Pattern to encapsulate singletons.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use Cascade to call many methods on the same object in sequence in a single statement. Each method of the Cascade returns the object.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The &lt;code&gt;length&lt;/code&gt; property of an array is the largest integer property name in the array plus one. So assigning a smaller value than the current one to the length property truncates the array.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Avoid the &lt;code&gt;for in&lt;/code&gt; statement and use the conventional &lt;code&gt;for&lt;/code&gt; statement instead.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;When to use arrays vs. objects. When the property names are small sequential integers, use an array. If not, use an object.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Regular expressions are best when they are short and simple.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The &lt;code&gt;array.sort&lt;/code&gt;, sorts arrays of numbers incorrectly because its default comparison method does a string compare.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use K&amp;amp;R style braces (put &quot;&lt;code&gt;{&lt;/code&gt;&quot; at the end of the line) to avoid a serious language design flaw in JavaScript&#39;s &lt;code&gt;return&lt;/code&gt; statement.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don&#39;t use an assignment expression in the condition part of an &lt;code&gt;if&lt;/code&gt; statement.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don&#39;t allow &lt;code&gt;switch&lt;/code&gt; cases to fall through to the next case.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don&#39;t use implied global variables. Any variable used without declaring it, will be global by default.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Avoid using &lt;code&gt;new&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Always provide the radix parameter when using &lt;code&gt;parseInt&lt;/code&gt;. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;If you intend + to add, make sure that both operands are numbers.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div&gt;Link to book description: &lt;a href=&quot;http://oreilly.com/catalog/9780596517748&quot;&gt;JavaScript: The Good Parts&lt;/a&gt;&lt;/div&gt;Link to Douglas Crockford&#39;s &lt;a href=&quot;http://www.youtube.com/watch?v=hQVTIJBZook&quot;&gt;JavaScript Video&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/1688224850543382660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/09/what-i-learned-about-javascript-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/1688224850543382660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/1688224850543382660'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/09/what-i-learned-about-javascript-from.html' title='What I learned about JavaScript from Douglas Crockford'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-6647144567465875475</id><published>2010-08-13T11:46:00.000-07:00</published><updated>2010-08-13T11:56:12.919-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ambition"/><category scheme="http://www.blogger.com/atom/ns#" term="poetry"/><category scheme="http://www.blogger.com/atom/ns#" term="wisdom"/><title type='text'>One of my favorite Spoon River Anthology quotes</title><content type='html'>Edgar Lee Masters wrote a very unusual book of poetry where each character described their life and sometimes their death. A collection of fictional auto-obituaries you might say. One of my favorites is &lt;br /&gt;&lt;br /&gt;ALEXANDER THROCKMORTON&lt;br /&gt;&lt;br /&gt;IN youth my wings were strong and tireless, &lt;br /&gt;But I did not know the mountains.&lt;br /&gt;In age I knew the mountains &lt;br /&gt;But my weary wings could not follow my vision— &lt;br /&gt;Genius is wisdom and youth.</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/6647144567465875475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/08/one-of-my-favorite-spoon-river.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/6647144567465875475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/6647144567465875475'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/08/one-of-my-favorite-spoon-river.html' title='One of my favorite Spoon River Anthology quotes'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-2179573772620815843</id><published>2010-07-24T08:54:00.001-07:00</published><updated>2010-07-24T09:20:25.069-07:00</updated><title type='text'>Daniel Schorr</title><content type='html'>The long time, highly respected journalist, Daniel Schorr died yesterday at the age of 93. Years ago I had the pleasure of reading his book: &lt;i&gt;Clearing the Air &lt;/i&gt;which described his experience reading his own name on President Nixon&#39;s enemies list on live TV and his leaking of the Pike Congressional Committee&#39;s report on illegal CIA and FBI activities.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He once described how he approaches a television news story:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px; border-collapse: collapse; line-height: 18px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&quot;My typical way of operating is not to stick a camera and a microphone in somebody&#39;s face and let him say whatever self-serving thing he wants to say, but to spend a certain amount of time getting the basic information, as though I was going to write a newspaper story.... [I] may end up putting a mike in somebody&#39;s face, but it is usually for the final and hopefully embarassing question.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px; border-collapse: collapse; line-height: 18px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;In broadcast news today, the philosophy seems to be that &quot;balance&quot; comes from allowing each side a chance to say &quot;whatever self-serving thing&quot; they want to say, as opposed to searching for, and broadcasting the facts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There&#39;s a  great and detailed tribute to Mr. Schorr at NPR: http://n.pr/9BMHz4.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/2179573772620815843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/07/daniel-schorr.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/2179573772620815843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/2179573772620815843'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/07/daniel-schorr.html' title='Daniel Schorr'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-5770784291136246870</id><published>2010-07-20T12:13:00.000-07:00</published><updated>2010-07-20T12:44:38.913-07:00</updated><title type='text'>Conservatives&#39; advice to the unemployed increasingly bizarre</title><content type='html'>&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;Laid off from your job? No problem. Just offer to work at your old job for half the money. That&#39;s the advice of Jeff Miron of the conservative Cato Institute. In a debate on The Nightly Business Report about extending unemployment benefits, Mr. Miron said the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:arial, sans-serif;font-size:12px;&quot;&gt;&lt;h3  style=&quot;color: rgb(0, 0, 0); font-weight: bold;  margin-bottom: 3px; font-size:15px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-weight: normal;  font-size:12px;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-weight: normal;  font-size:12px;&quot;&gt;The broader thing is it creates the wrong incentive. There&#39;s clear evidence that people who are unemployed tend to leave unemployment just before their unemployment benefits run out. It&#39;s not just a question -- it&#39;s not the right way to think about it -- are there jobs? &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-weight: normal;  font-size:12px;&quot;&gt;The right way is are there jobs at what wages? If people lower their wage demands, if they offer to take say their old job for 50 percent of what they were getting, there would be a lot more jobs out there. That&#39;s the adjustment that needs to happen in many cases. But unemployment insurance and especially very, very long-term unemployment insurance impedes that kind of adjustment.&quot; &lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-weight: normal;  font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-weight: normal;  font-size:12px;&quot;&gt;Full transcript is here:  http://to.pbs.org/d3tLvb&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-weight: normal;  font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;Perhaps Mr. Miron has never been laid off or has no experience in HR. If he did, he&#39;d know that being laid off isn&#39;t an opportunity for negotiation - it&#39;s about completing some paperwork before you&#39;re escorted off the premises. After that you&#39;re persona non grata at your former place of employment. They will talk to you about the bureaucratic aspects of being terminated such as your 401K or Cobra, but they&#39;re not interested in  talking to you about positions in the company.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/5770784291136246870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/07/conservatives-advice-to-unemployed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/5770784291136246870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/5770784291136246870'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/07/conservatives-advice-to-unemployed.html' title='Conservatives&#39; advice to the unemployed increasingly bizarre'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-3210920526476960182</id><published>2010-07-05T14:23:00.000-07:00</published><updated>2010-07-05T14:28:52.506-07:00</updated><title type='text'>Great minds think alike :)</title><content type='html'>It seems that economist Paul Krugman agrees with me about extending unemployment benefits: http://nyti.ms/bMqVmn .Of course, his article is more informed and eloquent than mine: http://bit.ly/9Pa2G0</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/3210920526476960182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/07/great-minds-think-alike.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/3210920526476960182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/3210920526476960182'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/07/great-minds-think-alike.html' title='Great minds think alike :)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-5336656081410384804</id><published>2010-07-03T08:53:00.000-07:00</published><updated>2010-07-03T09:16:54.923-07:00</updated><title type='text'>I Got a Free T-shirt!</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBb4bFNTzS3yYzQbDTT05JBkku7LM9S5WMltKMgd1M_44m09XEUuX5ZT3gUonblsBEcDhYEdn3zNd67G0xlc6T7lK98PdJXB6173DbTgCSFpulmBa4VkunGtRdI3AW1ydKygzOkyRR_Zeo/s1600/shirt.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 309px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBb4bFNTzS3yYzQbDTT05JBkku7LM9S5WMltKMgd1M_44m09XEUuX5ZT3gUonblsBEcDhYEdn3zNd67G0xlc6T7lK98PdJXB6173DbTgCSFpulmBa4VkunGtRdI3AW1ydKygzOkyRR_Zeo/s400/shirt.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5489713826500336722&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#0000EE;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;I got a free shirt from Replyz for answering a lot of tweeters&#39; questions. Very nice. Pikachu not included. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I described Replyz in a previous blog post: http://contextisall.blogspot.com/2010/06/replyz.html&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/5336656081410384804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/07/i-got-free-shirt-from-replyz-for.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/5336656081410384804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/5336656081410384804'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/07/i-got-free-shirt-from-replyz-for.html' title='I Got a Free T-shirt!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBb4bFNTzS3yYzQbDTT05JBkku7LM9S5WMltKMgd1M_44m09XEUuX5ZT3gUonblsBEcDhYEdn3zNd67G0xlc6T7lK98PdJXB6173DbTgCSFpulmBa4VkunGtRdI3AW1ydKygzOkyRR_Zeo/s72-c/shirt.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-7406353723581455836</id><published>2010-07-03T07:15:00.001-07:00</published><updated>2010-07-03T08:12:15.817-07:00</updated><title type='text'>Do conservatives believe deep down that the unemployed are really deadbeats?</title><content type='html'>Last night on the PBS News Hour there was a debate about extending unemployment after the Senate failed to approve a bill that would have mandated it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;William Beach of the Conservative Heritage Foundation  stated that if you extend the benefits people are less likely to look for work:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;JEFFREY BROWN: Right. But we also heard that there is longer -- people are unemployed for longer periods.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;WILLIAM BEACH: Indeed. Indeed. And we have created a bit of a problem by extending unemployment beyond that 26 weeks.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;We know that that changes the behavior of people who are unemployed. They don&#39;t look for work as much as they otherwise would be. If you have got that 26th week looming ahead of you, all the academic studies show that you go out and you really begin to make an active job search.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Not as much job training is undertaken or education, so there are some incentives that are put in place that are rather perverse...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:&#39;trebuchet ms&#39;;&quot;&gt;The full transcript is here: http://tinyurl.com/233gsea&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of course no matter how active the unemployed are at looking for work, you can&#39;t hire five people for one job opening.  5-to-1 is the current ratio of job seekers to employment opportunities among the &lt;i&gt;officially&lt;/i&gt; unemployed (when those who are not receiving unemployment benefits are counted the ratio is higher).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, what about retraining? Well, I&#39;ve been a software developer for over 20 years and just a few years ago my profession was the sort of job people were retrained for. Now there are many unemployed technology workers and if those like myself who have a college degree and years of experience have trouble finding work, what chance do the retrained have?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The fact of the matter is that businesses throttle the rate of employment, not workers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wonder. Can I be retrained to be a smug political pundit?  There seems to be a lot of demand for them.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/7406353723581455836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/07/do-conservatives-believe-deep-down-that.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7406353723581455836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7406353723581455836'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/07/do-conservatives-believe-deep-down-that.html' title='Do conservatives believe deep down that the unemployed are really deadbeats?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-967655037208176586</id><published>2010-06-30T10:08:00.000-07:00</published><updated>2010-06-30T12:52:18.946-07:00</updated><title type='text'>Droid X ad mocks Apple&#39;s Antenna Woes</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVcyeCofw0RCJbd-zttd5l_yCkhM5t31nr-PBRaU6AkIOxR8XNdhxjypv2_Bk7Fk8ICG8NcSXGhAB_T5M96CuYtrXCnkdSi-bvQiqtb5Pn4iDCerJbk0itesn9SytTW2CXWBeF6OSyID_/s1600/DroidX_Ad.PNG&quot;&gt;&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 168px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVcyeCofw0RCJbd-zttd5l_yCkhM5t31nr-PBRaU6AkIOxR8XNdhxjypv2_Bk7Fk8ICG8NcSXGhAB_T5M96CuYtrXCnkdSi-bvQiqtb5Pn4iDCerJbk0itesn9SytTW2CXWBeF6OSyID_/s320/DroidX_Ad.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5488652580973265138&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Motorola ran a full-page advertisement in the New York Times for the Droid X. It touted the X&#39;s double antenna that allows the user to hold the phone &quot;anyway you like&quot; without compromising clarity.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPOui1wab-W-eaPUTe8lrvWYB5s_f5c_4EgvB6nCiUsdIeSk3QEvrcyJle7eJwaGRfUgX40S7_HYap4IfC6qC3sKQNvShTk0XboPAWniChv68uBxhRdoOyQMam8K1r9-_wpsHri3nSa7fn/s1600/DroidX_text.PNG&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; cursor: pointer; width: 400px; height: 61px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPOui1wab-W-eaPUTe8lrvWYB5s_f5c_4EgvB6nCiUsdIeSk3QEvrcyJle7eJwaGRfUgX40S7_HYap4IfC6qC3sKQNvShTk0XboPAWniChv68uBxhRdoOyQMam8K1r9-_wpsHri3nSa7fn/s400/DroidX_text.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5488653998129904530&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/967655037208176586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/06/droid-x-ad-mocks-apples-antenna-woes.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/967655037208176586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/967655037208176586'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/06/droid-x-ad-mocks-apples-antenna-woes.html' title='Droid X ad mocks Apple&#39;s Antenna Woes'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVcyeCofw0RCJbd-zttd5l_yCkhM5t31nr-PBRaU6AkIOxR8XNdhxjypv2_Bk7Fk8ICG8NcSXGhAB_T5M96CuYtrXCnkdSi-bvQiqtb5Pn4iDCerJbk0itesn9SytTW2CXWBeF6OSyID_/s72-c/DroidX_Ad.PNG" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-5052231622724073812</id><published>2010-06-28T11:01:00.000-07:00</published><updated>2010-06-28T11:17:47.939-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bots"/><category scheme="http://www.blogger.com/atom/ns#" term="followers"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><title type='text'>Twitter Follower Bot Redemption</title><content type='html'>Most people want followers when they first sign-up for Twitter. One way to do this is by using a service that promises &quot;thousands of followers&quot;. Unfortunately people don&#39;t always read the fine print, so they don&#39;t realize they&#39;ve entered into a &quot;devil&#39;s bargain&quot; .&lt;br /&gt;&lt;br /&gt;They get more followers, but they&#39;ve also agreed to allow the &quot;service&quot; to send spam tweets to their followers in their name. In some cases these spam tweets are sent once an hour and they go on forever.&lt;br /&gt;&lt;br /&gt;You can look for an opt-out option on their website (the URL is included in the spam tweets) but the opt-out doesn&#39;t always work. In addition, sometimes their url &quot;shortener&quot; (e.g. tinyurl.com) figures out they are spamming and drops the target URL. In that case you may not be able to figure out what the actual URL is for the &quot;service&quot;.&lt;br /&gt;&lt;br /&gt;One sure-fire way to stop spamming your followers is to change your twitter password. Then the &quot;service&quot; can no longer access your account to send tweets.</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/5052231622724073812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/06/twitter-follower-bot-redemption.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/5052231622724073812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/5052231622724073812'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/06/twitter-follower-bot-redemption.html' title='Twitter Follower Bot Redemption'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-282381118401247185</id><published>2010-06-21T16:45:00.000-07:00</published><updated>2010-07-24T08:45:18.647-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="replyz"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><title type='text'>Replyz</title><content type='html'>My followers on twitter may wonder why I have so many tweets that start with &quot;A:&quot; and why I seem to be answering random questions and sending the answers to random people.&lt;br /&gt;&lt;br /&gt;The reason is that I&#39;m using a site called Replyz. Replyz searches through twitter looking for tweets that contain questions and then stores and displays them. So you can see questions being asked by people who you aren&#39;t following on twitter and post answers if you wish. The answers will show up in twitter as Replies.&lt;br /&gt;&lt;br /&gt;If you wish, you can filter the questions if you only want to see questions in a particular category. I haven&#39;t used the filtering function which is why my answers may seem a bit random to my followers.&lt;br /&gt;&lt;br /&gt;The &quot;A:&quot; at the beginning of my reply is just my own convention to hint that this is in answer to a question. Lately I&#39;ve been trying to incorporate a simplified version of the question in my answer in case a follower might actually be interested in the question.&lt;br /&gt;&lt;br /&gt;If you want to check it out go to http://replyz.com/ and request an invitation.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Update: You no longer need an invitation to use replyz.com&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/282381118401247185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/06/replyz.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/282381118401247185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/282381118401247185'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/06/replyz.html' title='Replyz'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-7302293376334245797</id><published>2010-06-17T11:41:00.000-07:00</published><updated>2010-06-21T19:54:31.307-07:00</updated><title type='text'>How to solve VMware black screen</title><content type='html'>I run VMware fusion on my Mac to develop and test Windows applications.  I&#39;ve noticed when running XP as the guest OS it will sometimes hang with  a black screen when I resume it (I think it happens when an automatic  update for XP has occurred).&lt;br /&gt;&lt;br /&gt;Anyway, I couldn&#39;t get it to respond  and attempting to close it didn&#39;t work. I could suspend it, but it just  saves the bad state. Finally I found the answer at VMware Communities: &lt;a href=&quot;http://communities.vmware.com/message/893646#893646&quot;&gt;http://communities.vmware.com/message/893646#893646&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/7302293376334245797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/06/i-run-vmware-fusion-on-my-mac-to.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7302293376334245797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/7302293376334245797'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/06/i-run-vmware-fusion-on-my-mac-to.html' title='How to solve VMware black screen'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-660972138960280931.post-765932822008348295</id><published>2010-06-17T09:48:00.000-07:00</published><updated>2010-06-17T09:50:52.777-07:00</updated><title type='text'>Digium</title><content type='html'>&lt;div&gt;In 2002 a company called &lt;a href=&quot;http://digium.com/&quot;&gt;Digium&lt;/a&gt;  was incorporated. It made PBX software based on the open source PBX  software called Asterisk which the company founder, Mark Spencer  created.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In late 2007, Digium bought a small  company called Switchvox which had taken the &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;Asterisk&lt;/span&gt;  software, simplified PBX management and user operations so that non-tech  companies could operate it, and wrapped it up as a turn-key PBX system  (This is a great simplification, but you get the idea).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recently  Switchvox announced the Switchvox Extend API and &lt;a href=&quot;http://developers.digium.com/switchvox/&quot;&gt;Switchvox Developer  Central &lt;/a&gt;which is a portal for Switchvox integration developers. One  of the coolest features of this site is the &lt;a href=&quot;http://developers.digium.com/switchvox/?pageView=testSuite&quot;&gt;API  Test Suite&lt;/a&gt; which allows you to make any Extend API call to your  Switchvox system. It displays both the request and response data.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If  you want to check-out the Switchvox Extend API but don&#39;t own a  Switchvox PBX, you can get a &lt;a href=&quot;https://www.digium.com/en/forms/swvx_demo.php&quot;&gt;free account&lt;/a&gt; on  the demo server and use the Test Suite with that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just  one disclaimer - I&#39;m a former employee of Switchvox.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://contextisall.blogspot.com/feeds/765932822008348295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://contextisall.blogspot.com/2010/06/in-2002-company-called-digium-was.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/765932822008348295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/660972138960280931/posts/default/765932822008348295'/><link rel='alternate' type='text/html' href='http://contextisall.blogspot.com/2010/06/in-2002-company-called-digium-was.html' title='Digium'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12243704678467168724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>