<?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-7281849471761972409</id><updated>2024-11-24T14:40:04.120-08:00</updated><title type='text'>s-m-r-t</title><subtitle type='html'>Occasionally I need a place to shout at the world.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><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>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7281849471761972409.post-4404202550227551285</id><published>2011-06-09T11:21:00.000-07:00</published><updated>2011-06-09T12:38:51.283-07:00</updated><title type='text'>Recursive wc on a tree of files</title><content type='html'>Here&#39;s how to get the total line count for a tree of files in &lt;foldername&gt;.&lt;/foldername&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;find foldername/ -type f -exec wc -l {} +&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;The &#39;+&#39; is the key bit, versus &#39;\;&#39; which I think tries to send them one-at-a-time.&amp;nbsp; Done with cygwin in a windows shell.&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/4404202550227551285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thenewjamesbaker.blogspot.com/2011/06/recursive-wc-on-tree-of-files.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/4404202550227551285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/4404202550227551285'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/2011/06/recursive-wc-on-tree-of-files.html' title='Recursive wc on a tree of files'/><author><name>Unknown</name><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-7281849471761972409.post-1992352410701334351</id><published>2011-03-18T11:27:00.000-07:00</published><updated>2011-03-18T11:27:32.445-07:00</updated><title type='text'>chrome.send(&#39;performClearBrowserData&#39;);</title><content type='html'>So, Chrome 10 has a new HTML-based settings/options page.  Good for them, but they really hurt the speed of clearing the cache (&lt;a href=&quot;http://code.google.com/p/chromium/issues/detail?id=75810&quot;&gt;see bug 75810&lt;/a&gt;).  Dozens of times a day, I hit Ctrl-Shift-Del (the cross-browser shortcut for &quot;Clear my cache&quot;), grab the mouse, click the &quot;Clear browser data&quot; button, close the settings tab, then switch back to the tab I care about, to hit refresh.&lt;br /&gt;
&lt;br /&gt;
Trying to bypass the cache never affects javascript files.  Ctrl-F5, Shift-F5, whichever, I&#39;ve tried them all, does not cause Chrome to reload js files.&lt;br /&gt;
&lt;br /&gt;
Digging into the page source of the settings page, I found this line of code:&lt;br /&gt;
&lt;blockquote&gt;chrome.send(&#39;performClearBrowserData&#39;);&lt;/blockquote&gt;&lt;br /&gt;
I&#39;ve tried to make a bookmarklet out of this, but while &quot;chrome&quot; is a global object the &quot;send&quot; method doesn&#39;t appear to be globally defined.  Anyone want to make an extension to more quickly (and in a keyboard-friendly way) clear the cache? Or does anyone know of a way to disable/bypass/block the cache in Chrome for development purposes?</content><link rel='replies' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/1992352410701334351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thenewjamesbaker.blogspot.com/2011/03/chromesendperformclearbrowserdata.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/1992352410701334351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/1992352410701334351'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/2011/03/chromesendperformclearbrowserdata.html' title='chrome.send(&#39;performClearBrowserData&#39;);'/><author><name>Unknown</name><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-7281849471761972409.post-1162729195524083177</id><published>2010-02-10T18:45:00.001-08:00</published><updated>2010-02-10T18:46:25.732-08:00</updated><title type='text'>Visualization of gas prices</title><content type='html'>Shows the seasonality of how gas prices fluctuate.&lt;br /&gt;
&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://public.tableausoftware.com/javascripts/api/viz_v1.js&quot;&gt;&lt;/script&gt;&lt;object class=&quot;tableauViz&quot; width=&quot;475&quot; height=&quot;517&quot; style=&quot;display:none;&quot;&gt;&lt;param name=&quot;name&quot; value=&quot;gasprices/seasonal&quot; /&gt;&lt;param name=&quot;toolbar&quot; value=&quot;yes&quot; /&gt;&lt;/object&gt;&lt;noscript&gt;seasonal &lt;br /&gt;&lt;a href=&quot;#&quot;&gt;&lt;img alt=&quot;seasonal &quot; src=&quot;http://public.tableausoftware.com/static/images/gasprices-seasonal_rss.png&quot; height=&quot;100%&quot; /&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;div style=&quot;width:475px;height:22px;padding:0px 10px 0px 0px; margin-top: -6px; color:black;font:normal 8pt verdana,helvetica,arial,sans-serif;&quot;&gt;&lt;div style=&quot;padding-left: 359px;&quot;&gt;&lt;a href=&quot;http://www.tableausoftware.com/public?ref=http://public.tableausoftware.com/views/gasprices/seasonal&quot; target=&quot;_blank&quot;&gt;Powered by Tableau&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/1162729195524083177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thenewjamesbaker.blogspot.com/2010/02/visualization-of-gas-prices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/1162729195524083177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/1162729195524083177'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/2010/02/visualization-of-gas-prices.html' title='Visualization of gas prices'/><author><name>Unknown</name><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-7281849471761972409.post-1823957986954283255</id><published>2009-11-12T17:29:00.000-08:00</published><updated>2010-01-12T17:53:45.792-08:00</updated><title type='text'>Performance of Heap32Next on Windows 7 is linear with heap entry count</title><content type='html'>&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms683440%28VS.85%29.aspx&quot;&gt;Heap32Next&lt;/a&gt; is a Windows kernel function used by OpenSSL&#39;s &lt;a href=&quot;http://cvs.openssl.org/rlog?f=openssl/crypto/rand/rand_win.c&quot;&gt;rand_win&lt;/a&gt; to generate random data via traversing a heap list.&lt;br /&gt;
&lt;br /&gt;
You&#39;d expect such a function to have O(1) performance, wouldn&#39;t you?&amp;nbsp; Nope - not on Win7, at least.&amp;nbsp; The performance of Heap32Next on any heap entry in heap list is dependent upon the summed number of heap entries in all heap lists. &lt;br /&gt;
&lt;br /&gt;
Here is time taken plotted against the number of heap objects:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit3vFr6OEslJgTeOGMZeDmEzn_9PeRmJ8tJSF5nsksa_XIm3kZh41NeDERun8_lPpWig8xMrY_fZtydu1rRhxEBly3n3RptyFrYuxaseWbZlD9GLiPyucZeBYSwT-EWnevM9g672sbyWc/s1600-h/RawMeasurements.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit3vFr6OEslJgTeOGMZeDmEzn_9PeRmJ8tJSF5nsksa_XIm3kZh41NeDERun8_lPpWig8xMrY_fZtydu1rRhxEBly3n3RptyFrYuxaseWbZlD9GLiPyucZeBYSwT-EWnevM9g672sbyWc/s400/RawMeasurements.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;You can see that there are jumps which happen to coincide with nice large powers of 2.&amp;nbsp; Here is the plot of the power-of-two intercepts (represented by the reference lines above), with a linear model fit applied:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyTjGQQohAtnFazx-FQyFpYboWNsPttLA-IgCSJskaLzRQ-U1LemTHy3qgpzMIGoCTb-oy8kSPT7HX7WLgUrka7IGnyE8QO7-5SWkgqPdW867BMP84Ivlh5Pu1SclzDN8PxVkjUCwEY4w/s1600-h/AtBreakpoints.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyTjGQQohAtnFazx-FQyFpYboWNsPttLA-IgCSJskaLzRQ-U1LemTHy3qgpzMIGoCTb-oy8kSPT7HX7WLgUrka7IGnyE8QO7-5SWkgqPdW867BMP84Ivlh5Pu1SclzDN8PxVkjUCwEY4w/s400/AtBreakpoints.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;Heap32Next Time (ms) = 0.635122*Thousands of Objects on Heap + -56.2174&lt;br /&gt;
R-squared: 0.999779&lt;br /&gt;
&lt;br /&gt;
Here&#39;s one relevant stack trace:&lt;br /&gt;
ntdll.dll!_RtlpWalkHeap@12()&amp;nbsp; + 0x3f bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ntdll.dll!_RtlpQueryExtendedInformationHeap@16()&amp;nbsp; + 0x4f5 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ntdll.dll!_RtlpQueryExtendedInformationAllHeaps@12()&amp;nbsp; + 0xe5 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ntdll.dll!_RtlpQueryExtendedHeapInformation@12()&amp;nbsp; + 0xe7 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ntdll.dll!_RtlQueryHeapInformation@20()&amp;nbsp; + 0x1bc76 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ntdll.dll!_RtlQueryProcessHeapInformation@4()&amp;nbsp; + 0x288 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ntdll.dll!_RtlQueryProcessDebugInformation@12()&amp;nbsp; + 0x11492 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
kernel32.dll!_Heap32Next@4()&amp;nbsp; + 0x4d bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
randwin.exe!RAND_poll()&amp;nbsp; Line 231 + 0x9 bytes&amp;nbsp;&amp;nbsp;&amp;nbsp; C++&lt;br /&gt;
&lt;br /&gt;
randwin.exe is my test harness, and sampling indicates that the vast majority of time is spent in RtlpWalkHeap.&lt;br /&gt;
&lt;br /&gt;
Edit: this bug has been filed with&amp;nbsp;&lt;a href=&quot;https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=524624&quot;&gt;Microsoft&lt;/a&gt; and&amp;nbsp;&lt;a href=&quot;http://rt.openssl.org/Ticket/Display.html?id=2100&quot;&gt;OpenSSL&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/1823957986954283255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thenewjamesbaker.blogspot.com/2009/11/performance-of-heap32next-on-64-bit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/1823957986954283255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/1823957986954283255'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/2009/11/performance-of-heap32next-on-64-bit.html' title='Performance of Heap32Next on Windows 7 is linear with heap entry count'/><author><name>Unknown</name><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/AVvXsEit3vFr6OEslJgTeOGMZeDmEzn_9PeRmJ8tJSF5nsksa_XIm3kZh41NeDERun8_lPpWig8xMrY_fZtydu1rRhxEBly3n3RptyFrYuxaseWbZlD9GLiPyucZeBYSwT-EWnevM9g672sbyWc/s72-c/RawMeasurements.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7281849471761972409.post-5687410582769945238</id><published>2009-11-03T17:21:00.000-08:00</published><updated>2009-11-03T17:21:40.667-08:00</updated><title type='text'>SeAccessCheckWithHint</title><content type='html'>If you&#39;re using Process Explorer to grab stack traces in order to narrow down what has gone insanely slow/wrong, and every stack trace bottoms out at SeAccessCheckWithHint (below things like PushLock, SpinLock, WaitFor, and Synchronize), it is NOT the case that your thread is just spinning.&amp;nbsp; Rather, this is the only time that Windows can jump in to grab the stack.&amp;nbsp; Look higher!</content><link rel='replies' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/5687410582769945238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thenewjamesbaker.blogspot.com/2009/11/seaccesscheckwithhint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/5687410582769945238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/5687410582769945238'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/2009/11/seaccesscheckwithhint.html' title='SeAccessCheckWithHint'/><author><name>Unknown</name><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-7281849471761972409.post-2156501707101656895</id><published>2009-08-30T14:57:00.001-07:00</published><updated>2009-08-30T19:48:41.612-07:00</updated><title type='text'>First post</title><content type='html'>Hello world.</content><link rel='replies' type='application/atom+xml' href='http://thenewjamesbaker.blogspot.com/feeds/2156501707101656895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thenewjamesbaker.blogspot.com/2009/08/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/2156501707101656895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7281849471761972409/posts/default/2156501707101656895'/><link rel='alternate' type='text/html' href='http://thenewjamesbaker.blogspot.com/2009/08/hello-world.html' title='First post'/><author><name>Unknown</name><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>