<?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-5605857505516531350</id><updated>2024-09-02T01:49:52.602-07:00</updated><title type='text'>The Pile</title><subtitle type='html'>Where stuff goes</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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>108</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-4357288292649784465</id><published>2016-12-11T20:24:00.004-08:00</published><updated>2017-10-21T13:13:43.049-07:00</updated><title type='text'>Jumping from Ubuntu 14.04 Server to Ubuntu 16.04 Server w/o Planning</title><content type='html'>So this is what happens when you make this switch:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;PHP goes to v7.0, which means no legacy mysql procedural interface, though the mysqli procedural interface is an easy substitute, though not identical (e.g. arguments reversed in order in some calls, or additional arguments required when used in procedural mode). Check and fix errors as they are emitted, then identify similar with searches.&lt;/li&gt;
&lt;li&gt;MySQL goes to 5.7. That means some more &lt;b&gt;strict mode&lt;/b&gt; changes, for instance I had to add an unset field in INSERT statement that error&#39;d in 5.7, but was fine in 5.6. Or you can disable strict mode.&lt;/li&gt;
&lt;li&gt;Faster performance. PHP 7.0 claims to be 100% faster than the last major version (v6 was skipped). Figured I&#39;d mention something good.&lt;/li&gt;
&lt;li&gt;Apache listening only on IPv6, wha?!? Or so it might appear in netstat at first. Really it is focusing on IPv6 and handling the incoming IPv4 over the IPv6 interface using mapping, from what I gather thus far. Again, I am not a server admin, I don&#39;t have time to be a one, as I am a developer. I just do it because I have to.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Generally otherwise OK. Watch out for the little things and tail the error logs constantly is my advice. Otherwise, nice to be on a build we know is supported for years from a security perspective. BUT if I had it do over again, definitely I would have stayed with 14.04, as I did not realize just how big a switch this would be!&lt;br /&gt;
&lt;br /&gt;
I would NOT, under ANY circumstances, advise a do-release-upgrade on a production server! Build a new server and replace. I did that even in this case, just didn&#39;t want to rebuild to 14.04 when I&#39;d went to 16.04.&lt;br /&gt;
&lt;br /&gt;
Gripes: No HTTP 2.0 in default Apache2 package. No reboot-less kernel updates.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/4357288292649784465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2016/12/jumping-from-ubuntu-1404-server-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/4357288292649784465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/4357288292649784465'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2016/12/jumping-from-ubuntu-1404-server-to.html' title='Jumping from Ubuntu 14.04 Server to Ubuntu 16.04 Server w/o Planning'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-6508502867119050969</id><published>2016-11-24T07:29:00.004-08:00</published><updated>2016-11-24T07:30:28.627-08:00</updated><title type='text'>Discount code - 30% off ANY Bitsum software</title><content type='html'>This would be shameless self-promotion, but I won&#39;t try to sell you - the site will do that (I hope!). However, if you need a coupon code (aka discount code) for Bitsum Technologies software like Process Lasso, ParkControl, CPUBalance, etc... then use&amp;nbsp;&lt;b&gt;TAKEOFF30PLZ&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;a href=&quot;https://bitsum.com/&quot;&gt;Visit Bitsum&lt;/a&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/6508502867119050969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2016/11/coupon-code-30-off-any-bitsum-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6508502867119050969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6508502867119050969'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2016/11/coupon-code-30-off-any-bitsum-software.html' title='Discount code - 30% off ANY Bitsum software'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-6977273924091307267</id><published>2016-11-19T08:43:00.004-08:00</published><updated>2016-11-19T08:43:54.922-08:00</updated><title type='text'>Worst Updater Ever - Epson (yes, the printers again!)</title><content type='html'>We&#39;ve all contended with terrible printer drivers wasting countless hours of technician or personal time, but now we have print systems that generally work.&lt;br /&gt;
&lt;br /&gt;
As many know, other software companies like &lt;a href=&quot;https://google.com/&quot;&gt;Google&lt;/a&gt; and &lt;a href=&quot;https://bitsum.com/?tp&quot;&gt;Bitsum&lt;/a&gt; (wide spectrum there!) use a single-click no-hassle updater.&lt;br /&gt;
&lt;br /&gt;
So now we get to the point.&lt;br /&gt;
&lt;br /&gt;
Epson, whose hardware seems good, for whatever reason, displays a huge notice every single time it even *checks* for an update. Granted, it sure asks for permission first, but is highly annoying.&lt;br /&gt;
&lt;br /&gt;
Now, this NOT only on the PC you maybe connected the printer to via USB (it is WiFi), &lt;i&gt;this occurs on *every* device that you connect to the printer, as it is part of the &#39;printer drivers&#39; that get installed on the client.&lt;/i&gt;

Am I the only one?

&lt;br /&gt;
&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/AVvXsEgnQJ7YeivuSaNJ1bNQfeSXYbaL75X-yVf51Nb7B3m5hE6NwNDlulVRYxz2eKuqgrAo3XJ72KLgHli9zMMlbzw4zwYhibY3bsVBiyvge3Jo5JuGo0JJh2IgY9dgFETyUj-eYY3D96tbohgn/s1600/epson_updater.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;373&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnQJ7YeivuSaNJ1bNQfeSXYbaL75X-yVf51Nb7B3m5hE6NwNDlulVRYxz2eKuqgrAo3XJ72KLgHli9zMMlbzw4zwYhibY3bsVBiyvge3Jo5JuGo0JJh2IgY9dgFETyUj-eYY3D96tbohgn/s400/epson_updater.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/6977273924091307267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2016/11/worst-updater-ever-epson-yes-printers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6977273924091307267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6977273924091307267'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2016/11/worst-updater-ever-epson-yes-printers.html' title='Worst Updater Ever - Epson (yes, the printers again!)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEgnQJ7YeivuSaNJ1bNQfeSXYbaL75X-yVf51Nb7B3m5hE6NwNDlulVRYxz2eKuqgrAo3XJ72KLgHli9zMMlbzw4zwYhibY3bsVBiyvge3Jo5JuGo0JJh2IgY9dgFETyUj-eYY3D96tbohgn/s72-c/epson_updater.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-1418273909384301024</id><published>2015-04-30T10:56:00.000-07:00</published><updated>2015-04-30T11:22:29.640-07:00</updated><title type='text'>Using developer source code revision control tools to keep your server secure</title><content type='html'>&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #333333; font-family: &#39;Open Sans&#39;, Helvetica, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
The largest fear of any server admin is a breach. No matter how cautious you are, it can happen. (e.g. 0 day exploit)&lt;br /&gt;
&lt;br /&gt;
One of the ways you can help protect your server is by making sure you keep critical files under version control systems like Git or Subversion (SVN). Then you can monitor for any file system changes, any&amp;nbsp;remote access&amp;nbsp;trojans inserted, etc.. Of course, limitations apply if the server is fully compromised, rootkit style.&lt;br /&gt;&lt;br /&gt;After all, these days, a web site *is* indeed a code base.&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #333333; font-family: &#39;Open Sans&#39;, Helvetica, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
We at&amp;nbsp;&lt;a href=&quot;https://bitsum.com/&quot; style=&quot;-webkit-transition: all 0.3s ease-in-out; border: 0px; box-sizing: border-box; color: #777777; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; transition: all 0.3s ease-in-out; vertical-align: baseline;&quot; title=&quot;Bitsum - Process Lasso - Tame unruly CPU hogs&quot;&gt;Bitsum&amp;nbsp;&lt;/a&gt;do everything we can to keep what limited data we store (basically your name and contact info) secure.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/1418273909384301024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2015/04/using-developer-source-code-revision.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1418273909384301024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1418273909384301024'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2015/04/using-developer-source-code-revision.html' title='Using developer source code revision control tools to keep your server secure'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-1714336990906545526</id><published>2015-04-30T10:42:00.004-07:00</published><updated>2015-04-30T10:43:30.210-07:00</updated><title type='text'>Bing adverts may direct you to malware laden copy of Google Chrome</title><content type='html'>As we&#39;e seen with VLC and other open projects at adwords, the fraudsters love to rebundle and advertise. They&#39;ve done the same with Google Chrome at Bing:&lt;br /&gt;
&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/AVvXsEiMb0F4lgiEToMugwLQA7slTC2uzy6gqvy6_jeMqOKC-L5MuZWuiotkvxE-lM6x3E0T7M5Luj-yJT4gHmoTcT9f9dtyeE-DCfFAcftf3MAPwJndAFBDMmmUCHD0trEBs7m4rO_BfnlO5jSm/s1600/fake_bundled_chrome_rect.png&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/AVvXsEiMb0F4lgiEToMugwLQA7slTC2uzy6gqvy6_jeMqOKC-L5MuZWuiotkvxE-lM6x3E0T7M5Luj-yJT4gHmoTcT9f9dtyeE-DCfFAcftf3MAPwJndAFBDMmmUCHD0trEBs7m4rO_BfnlO5jSm/s1600/fake_bundled_chrome_rect.png&quot; height=&quot;390&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Noe that I&#39;ve written about this several times in few places. Too many blogs, forums, and social networks - not sure where to post any more. Lesson here: Be careful out there!</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/1714336990906545526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2015/04/bing-adverts-may-direct-you-to-malware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1714336990906545526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1714336990906545526'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2015/04/bing-adverts-may-direct-you-to-malware.html' title='Bing adverts may direct you to malware laden copy of Google Chrome'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEiMb0F4lgiEToMugwLQA7slTC2uzy6gqvy6_jeMqOKC-L5MuZWuiotkvxE-lM6x3E0T7M5Luj-yJT4gHmoTcT9f9dtyeE-DCfFAcftf3MAPwJndAFBDMmmUCHD0trEBs7m4rO_BfnlO5jSm/s72-c/fake_bundled_chrome_rect.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-2636549609032411623</id><published>2013-05-02T07:46:00.002-07:00</published><updated>2013-05-02T15:24:30.701-07:00</updated><title type='text'>How installer bundle companies solicit developers</title><content type='html'>&lt;b&gt;I&lt;/b&gt;f you ever wondered how freeware/shareware developers are solicited by installer bundle companies, here&#39;s an example I&amp;nbsp;received&amp;nbsp;recently:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;Dear Software Developer,&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;Did you know that you could be earning money every time someone downloads your software?&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;In fact, hundreds of developers just like you are already turning downloads into profits through partnership with SweetPacks.&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;My name is Limor Garten, and I am a partnership manager at SweetPacks (&lt;/span&gt;www.sweetpacks.com&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;).&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;We create monetization opportunities from software installations through websites such as&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;CNET (Download.com), Softonic.com and MetaInstaller.&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;To find out about how you could earn money with every software download, please contact me directly at&amp;nbsp;&lt;/span&gt;partnerships@sweetpacks.com&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;or leave your details at&amp;nbsp;&lt;/span&gt;http://lp.sweetim.com/Partners&lt;wbr style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;/wbr&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;Thanks very much,&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, helvetica, sans-serif; font-size: 14px;&quot;&gt;J******* M*****&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;&quot;&gt;SweetPacks Team&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
It&#39;s long past time that companies who sign up for such abusive installer bundles start being penalized for harming the integrity, performance, and overall experience of countless PCs, and contributing to a general lack of trust for all third-party applications.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are installer bundles?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;F&lt;/b&gt;or those that don&#39;t know, installer bundles are those deceptive, unwanted, additional pieces of software, often browser toolbars/add-ons, that present themselves in an intentionally easy to miss little checkbox during installation of some Windows software, particularly freeware and shareware. This terrible industry is so&amp;nbsp;profitable&amp;nbsp;that free, open source software is often repackaged with these bundles, then advertised and distributed by some random &#39;download site&#39;.</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/2636549609032411623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/05/more-installer-bundles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/2636549609032411623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/2636549609032411623'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/05/more-installer-bundles.html' title='How installer bundle companies solicit developers'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-8202717811418887870</id><published>2013-04-14T23:29:00.004-07:00</published><updated>2013-04-24T11:47:20.427-07:00</updated><title type='text'>Binary Interleaving: A technique to obfuscate data structures</title><content type='html'>Binary Interleaving (or Data Interleaving) is a term I made up to reflect an idea I&#39;ve been contemplating lately; interleaving the bits of a set of variables into a single binary blob. Any number and types of variables could be interleaved together. Access to variables in the interleaved blob can even be on-demand, with a controller class encoding or decoding variables on the fly.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
What in the World?&lt;/h3&gt;
&lt;br /&gt;
Data Interleaving is the process of translating any number of variables to a single binary blob by interleaving the bits of the variables. This obfuscates the variables in memory or external storage. The entire blob need not be decoded to access member variables, though it can be for improved performance.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Why?&amp;nbsp;&lt;/h3&gt;
&lt;br /&gt;
This will help complicate reverse engineering of code. It will particularly deter identifying data types and variables. Plaintext is also well obfuscated with this interleave.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Interleave Map&lt;/h3&gt;
&lt;br /&gt;
The variables to be encoded could be defined by an array of byte sizes of those variables and, optionally, pointers to a location in memory to retrieve or store their reconstituted form. In the case of on-demand access to an interleaved blob, individual variables can be decoded and re-encoded on the fly, so buffers for reconstituted storage are optional (though they may be temporarily reconstituted by the controller class as members are modified).&lt;br /&gt;
&lt;br /&gt;
The members of the bitwise interleave can be referenced in the source code via their indices. For instance, index 0 may be MY_VARIABLE_INSTANCE. By passing the variable index to an interleave blob controller class, it knows the size and, optionally, a pointer for constituted storage.&lt;br /&gt;
&lt;br /&gt;
Member data types can be anything. They need not be similar. When one variable ends, it is simply ended. See a few paragraphs below for what happens when a single variable is longer than the others.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; /* member information */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* optional pointer to its normal, constituted storage location */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* &amp;nbsp;(for use in encoding and decoding the member) */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* and the size of the member */&lt;br /&gt;&amp;nbsp; &amp;nbsp; class CInterleaveMember&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; void *pvConstitutedStore;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned long nMemberByteSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* INTERLEAVE MAP */&lt;br /&gt;&amp;nbsp; &amp;nbsp; CInterleaveMember aInterleaveMap[]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; { szSomeString, sizeof(szSomeString) },&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;amp;nIntegerMan, sizeof(nIntegerMan) },&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;amp;cMyClass , sizeof(cMyClass) };&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; void *pBLOB; &amp;nbsp;/* interleaved data stored in a allocated blob */&lt;/span&gt;&lt;/blockquote&gt;
The total size of the blob need not be stored, as it is the sum of all member sizes in the interleave map. The interleave map provides everything we need to know.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
The Process&lt;/h3&gt;
&lt;br /&gt;
In case it is not clear, the process for the interleave would go something like this: The array of members is &#39;walked&#39;, putting or getting the current bit index from each member variable, advancing to the next bit index after the entire array has been walked. When a member variable is full of bits (exhausted), it is skipped in subsequent interleave iterations (more on long vars later).&lt;br /&gt;
&lt;br /&gt;
For simplicity, let me define a few variables in bits only (not matching above):&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; szSomeString 0 1 1 1 0 0 1 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; nIntegerMan &amp;nbsp;1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; cMyClass &amp;nbsp; &amp;nbsp; 0 0 0 1&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
For the interleave, a bit is taken from each variable in succession.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; First iteration of the interleave, get first bit from each ...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;0 1 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; Next iteration(s), get the next bit from each ...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;0 1 0 1 1 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;0 1 0 1 1 0 1 1 0&lt;/span&gt;&lt;/blockquote&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
When a Member is Longer than the Others&lt;/h3&gt;
&lt;br /&gt;
In the case where one variable is much longer than the others, thus having no pair to encode with, one could use a simple XOR, and/or toss in redundant, unused data from the prior members. Any number of strategies are possible to prevent plaintext storage in the case of an abnormally long variable not having an interleave partner for its ending bits.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Sample Code&lt;/h3&gt;
&lt;br /&gt;
For example, the following represents a high-level view of the calls to a fictional class facilitating Binary Interleaving:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; /* PROTECTED VARIABLES */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* These get stored in an bitwise interleave in the binary blob */&lt;br /&gt;&amp;nbsp; &amp;nbsp; char szSomeString = &quot;Is there anybody out there?&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; unsigned long nIntegerMan = 0x9090;&lt;br /&gt;&amp;nbsp; &amp;nbsp; MyClass cMyClass(&quot;whoopie&quot;);&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; class CInterleaveMember&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; void *pvConstitutedStore;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned long nMemberByteSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* INTERLEAVE MAP */&lt;br /&gt;&amp;nbsp; &amp;nbsp; CInterleaveMember aInterleaveMap[]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; { szSomeString, sizeof(szSomeString) },&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;amp;nIntegerMan, sizeof(nIntegerMan) },&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;amp;cMyClass , sizeof(cMyClass) };&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* NOTE: Total blob size is the of members of Interleave Map */&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* INTERLEAVE REFS */&lt;br /&gt;&amp;nbsp; &amp;nbsp; typedef enum&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; _szSomeString=0,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; _nIntegerMan,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; _cMyClass,&lt;br /&gt;&amp;nbsp; &amp;nbsp; } InterleavedVariables;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; void *pBinaryBlob; &amp;nbsp;/* dynamically allocated blob storage */&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* Fictional class constructor, passing the interleave map to it */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* From the interleave map, it can calculate the total blob size */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* then dynamically allocate storage for the blob. */&lt;br /&gt;&amp;nbsp; &amp;nbsp; CBitInterleaver cBitInterleave(aInterleaveMap);&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* If the blob is externally loaded, or needs ext stored, we */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* may need to get access to the blob buffer. Fictional example: */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* We know the blob size from map! The input size is for safety. */&lt;br /&gt;&amp;nbsp; &amp;nbsp; cBitInterleave.SetBlob(pIncomingBlob, nSrcBufferSize); &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* Or we can get the blob */&lt;br /&gt;&amp;nbsp; &amp;nbsp; nBlobSize=cBitInterleave.GetBlob(ppOutgoingBlob);&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* Example to encode or decode the entire blob to constituted */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* storage. We already provided the map, and it decodes or encode*/&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* to the listed pointers.&lt;br /&gt;&amp;nbsp; &amp;nbsp; cBitInterleave.EncodeBlob();&lt;br /&gt;&amp;nbsp; &amp;nbsp; cBitInterleave.DecodeBlob();&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* Example call to decode a member of the array */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* We pass it the INDEX into the MAP, and dest buffer */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* From the Index of _nIntegerman, we ALREADY know the size */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* The out size is for safety. */&lt;br /&gt;&amp;nbsp; &amp;nbsp; cBitInterleave.GetVariable(_nIntegerMan, &amp;amp;nIntegerMan, sizeof(nIntegerMan));&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; /* OR we can use the default storage address in interleave map */ &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; cBitInterleave.GetVariable(_nIntegerMan);&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* Example call to encode a member of the array */&lt;br /&gt;&amp;nbsp; &amp;nbsp; /* We pass it the INDEX into the MAP, and input reference */&lt;br /&gt;&amp;nbsp; &amp;nbsp; cBitInterleave.SetVariable(_szSomeString, &amp;amp;szSomeString, sizeof(szSomeString));&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/8202717811418887870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/04/binary-interleaving-technique-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/8202717811418887870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/8202717811418887870'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/04/binary-interleaving-technique-to.html' title='Binary Interleaving: A technique to obfuscate data structures'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-5846060388031435181</id><published>2013-04-04T15:25:00.006-07:00</published><updated>2013-04-04T15:26:39.966-07:00</updated><title type='text'>Feedly and RSS Subscription Extension</title><content type='html'>If you use the RSS Subscription Extension for Chrome and want Feedly support, here&#39;s how. As some may know, this extension adds a feed icon to any page that offers up RSS feeds. This allows you to easily click to subscribe.&lt;br /&gt;
&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/AVvXsEggEKaF2SKhDM2QBFlPdAItJInHWKVqnfBBtPBQyRYgi-O1KbrSHdji5LlfQOG_MARIuPlKDNWpRdnbMor4RnxyvJyZA9biyWeIZjrBJIgc_erXlpj8v3I9rbnje_yC2_ddYJVs4hKe4D0B/s1600/chrome_rss_extension_feedly.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;109&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggEKaF2SKhDM2QBFlPdAItJInHWKVqnfBBtPBQyRYgi-O1KbrSHdji5LlfQOG_MARIuPlKDNWpRdnbMor4RnxyvJyZA9biyWeIZjrBJIgc_erXlpj8v3I9rbnje_yC2_ddYJVs4hKe4D0B/s400/chrome_rss_extension_feedly.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
When you click on the icon, there is a drop-down list of available news readers. Right now, only a couple are listed, after the announced death of Google Reader. You can, however, add a new one. To do this, you&#39;ll simply need the URL that is used to add feeds to the reader. Chrome inserts the RSS feed URL via a variable replacement (%s). If you don&#39;t see this list, you may have selected a default reader, and can access the list via the Options for this extension.&lt;br /&gt;
&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/AVvXsEjtmRn6E3zZw58EFUH2Ludgx44jwHrLNR7v7oxsVj__JaHNPahQ4dcDuNWSP-S5DVx6UsF3urCyLH6LONY-QE52RD66cebnjAk6_hEuEAInBGXMOr1rxTZzc34psaUimZhxpOqIoS5QSU0y/s1600/rss_feed_options.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtmRn6E3zZw58EFUH2Ludgx44jwHrLNR7v7oxsVj__JaHNPahQ4dcDuNWSP-S5DVx6UsF3urCyLH6LONY-QE52RD66cebnjAk6_hEuEAInBGXMOr1rxTZzc34psaUimZhxpOqIoS5QSU0y/s400/rss_feed_options.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The URL you need is:&lt;br /&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: #ffffdd; line-height: 15px;&quot;&gt;&lt;span style=&quot;color: #414142; font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;http://www.feedly.com/home#subscription/feed/%s[action.subscribe&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;br /&gt;
Just paste it in when you click &#39;Add&#39;, and name the reader whatever (e.g. feedly). From that point forward, you have easy access to RSS feeds.</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/5846060388031435181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/04/feedly-and-rss-subscription-extension.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/5846060388031435181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/5846060388031435181'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/04/feedly-and-rss-subscription-extension.html' title='Feedly and RSS Subscription Extension'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEggEKaF2SKhDM2QBFlPdAItJInHWKVqnfBBtPBQyRYgi-O1KbrSHdji5LlfQOG_MARIuPlKDNWpRdnbMor4RnxyvJyZA9biyWeIZjrBJIgc_erXlpj8v3I9rbnje_yC2_ddYJVs4hKe4D0B/s72-c/chrome_rss_extension_feedly.PNG" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-347928086871740308</id><published>2013-04-03T17:12:00.001-07:00</published><updated>2013-04-03T17:16:48.319-07:00</updated><title type='text'>Apache mod_qos Server Status</title><content type='html'>For those that haven&#39;t seen mod_qos&#39;s server_status page, it&#39;s pretty nifty, and allows for some operations right there on the Apache server-status page! This page is, of course, accessible over HTTP at /server-status. for Apache servers where it has not been disabled, and you have access. For instance, http://127.0.0.1/server-status&lt;br /&gt;
&lt;br /&gt;
It is a shame that mod_qos has not been ported to Apache 2.4 yet. I am not sure what blockers exist, or if it has been deprecated in its entirety. Perhaps a reader will know...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&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/AVvXsEiXJ99nKAiGKBX9N3mmreaxjJ0BJ8ZxMixRJ45nQEIoB4OgCzfuxRVfar2XVu-BwSOpRkPcgdUe8AW1lCD_x-ORfI99HPsCQcwSi2jBTAfzR_UECDOUyVMmpIdbzQiUY2D5FAkNdG5y1mYQ/s1600/mod_qos_server_status.PNG&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/AVvXsEiXJ99nKAiGKBX9N3mmreaxjJ0BJ8ZxMixRJ45nQEIoB4OgCzfuxRVfar2XVu-BwSOpRkPcgdUe8AW1lCD_x-ORfI99HPsCQcwSi2jBTAfzR_UECDOUyVMmpIdbzQiUY2D5FAkNdG5y1mYQ/s1600/mod_qos_server_status.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/347928086871740308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/04/apache-modqos-server-status.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/347928086871740308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/347928086871740308'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/04/apache-modqos-server-status.html' title='Apache mod_qos Server Status'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEiXJ99nKAiGKBX9N3mmreaxjJ0BJ8ZxMixRJ45nQEIoB4OgCzfuxRVfar2XVu-BwSOpRkPcgdUe8AW1lCD_x-ORfI99HPsCQcwSi2jBTAfzR_UECDOUyVMmpIdbzQiUY2D5FAkNdG5y1mYQ/s72-c/mod_qos_server_status.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-1019205726615439889</id><published>2013-03-31T17:55:00.000-07:00</published><updated>2013-03-31T17:55:06.926-07:00</updated><title type='text'>Google Analytics April Fool&#39;s - Visits from the International Space Station</title><content type='html'>&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;The Google&amp;nbsp;Analytics&amp;nbsp;team has pumped out an April Fool&#39;s joke already. They are showing prominently in the center of Google Analytics Real-Time View the&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;International Space Station Control Room&lt;/b&gt;&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;. See attached picture. When you check the page the visitor(s) are supposedly hitting, it is&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;April Fool&#39;s&lt;/i&gt;&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&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/AVvXsEjbp9iA51pTOLS1ta3NJhd6UcP5wgxT0lecFksabpGpy1Y2QBlVuKjsTPg1i8KPldM6mbvkGJkqshrFIsJt_mFoOtO0vRehxgHf39L3aqd-phuilVUeOElBCF4O4UbIVCJD-gR40BWT7Xr2/s1600/iss_visits_bitsum.png&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/AVvXsEjbp9iA51pTOLS1ta3NJhd6UcP5wgxT0lecFksabpGpy1Y2QBlVuKjsTPg1i8KPldM6mbvkGJkqshrFIsJt_mFoOtO0vRehxgHf39L3aqd-phuilVUeOElBCF4O4UbIVCJD-gR40BWT7Xr2/s1600/iss_visits_bitsum.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/1019205726615439889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/03/google-analytics-april-fools-visits.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1019205726615439889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1019205726615439889'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/03/google-analytics-april-fools-visits.html' title='Google Analytics April Fool&#39;s - Visits from the International Space Station'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEjbp9iA51pTOLS1ta3NJhd6UcP5wgxT0lecFksabpGpy1Y2QBlVuKjsTPg1i8KPldM6mbvkGJkqshrFIsJt_mFoOtO0vRehxgHf39L3aqd-phuilVUeOElBCF4O4UbIVCJD-gR40BWT7Xr2/s72-c/iss_visits_bitsum.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-6087284577897355299</id><published>2013-03-23T12:09:00.003-07:00</published><updated>2013-03-28T19:28:33.803-07:00</updated><title type='text'>The Abysmal State of Security Software</title><content type='html'>Security software,&amp;nbsp;specifically&amp;nbsp;anti-virus and anti-malware software, has been a staple in the Windows world since Windows 95. Users are told they need this software to keep them safe, or else they&#39;re in for a world of hurt. In this post, I&#39;ll take a minute to tell the real story and reveal why your security may make you considerably LESS safe!&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Security software rarely detects new or targeted threats&lt;/b&gt;&lt;/h3&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Sadly, the virus and malware authors are always one step ahead of security industry. These rogue programmers use the same software you do, and actively work to make sure they have defeated it. Since differentiating new malware from legitimate applications is nearly impossible, new malware usually slides right through the detection net. After all, if security software worked great, a lot fewer cases of malware infestation would exist!&lt;br /&gt;
&lt;br /&gt;
But wait, you say, what about those 99% detection rate claims? Well, they are testing against samples already known to the security industry. I would certainly hope they have a good detection rate when it comes to those! For unknown , new, or&amp;nbsp;targeted&amp;nbsp;malware, which is regenerated daily, and the only kinds you are likely to encounter, the detection rate is much lower.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Security software is prone to false positives&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;div&gt;
In the effort to try to detect new, unknown, or targeted malware, some security products are well known to alert on just about everything, including lots of legitimate applications, especially those from smaller developers. As a small developer myself, I find this highly frustrating. I sign my applications, make sure they don&#39;t do anything that looks shady, and generally do all I can to avoid false positives, but still they occur so routinely they are to be expected.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
It isn&#39;t just small developers that are affected though, false positives occur on all sorts of software. One&lt;a href=&quot;http://www.theregister.co.uk/2010/04/21/mcafee_false_positive/&quot;&gt; false positive&lt;/a&gt;&amp;nbsp;a few years ago, on svchost.exe, a critical part of Windows, had a catastrophic effect on countless PCs worldwide.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Worst is that the new web site rating services that security products now offer can take a single false positive and turn it into a badly rated domain. Getting these false positives or web site ratings fixed can be very difficult and time consuming. Some security companies are responsive, others much less so! I had one invalid site rating from a major security provider, which happened due to a false positive, last weeks, and then recur 4 times before they finally fixed it. I nearly lost my mind.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Better to have false positives than missed detections, you say? Well, unfortunately, it doesn&#39;t work that way. The malware authors work to avoid detection, so are somewhat less vulnerable to false positives. Further, users get so used to seeing false positives, they may very well quit taking detections seriously!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Security software companies often distribute malware themselves&lt;br /&gt;(installer bundles)&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;
Since I consider installer bundles malware, it is painful to see security companies using installer bundles. We&#39;ve all seen these bundles. You download application X, and are presented with deceptively packaged offers for applications Y and Z. The user&#39;s intent was only to install application X, so it is a clear violation of the user&#39;s wishes.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
It is extremely easy to accidentally get one of these bundled components installed. Since all parties involved make money per install, they have gotten more and more deceptive. Download sites like CNET now even attach their own bundles to downloads.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The most common bundles are toolbars and other web browser add-ons. They clutter up your PC and web browser, bringing performance down. Some are difficult to disable, and almost all behave in deceptive ways. This massive browser add-on problem got so bad, with some users ending up with an unreal number of browser add-ons, Microsoft had to start disabling all of them by default in Internet Explorer, forcing users to selectively choose which are enabled.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sadly, the entire software industry seems to have adopted these bundles. While it would be nice for security software to detect these as malware, instead security software companies are themselves using installer bindes! They distribute free scanners, web site rating tools, and other &#39;teaser&#39; components with common applications. One example is McAfee bundling its teaser products with Java!&lt;br /&gt;
&lt;br /&gt;
I wish I could say there was ANY security company out there detecting installer bundles as malware, but there aren&#39;t. Instead, I can&#39;t think of one that does NOT use installer bundles.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Security software companies have a hard time deciding what is malware&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;
Similar to not detecting deceitful installer bundles as malware, security companies have a hard time deciding what is malware, and what is just a deceitful application. They&#39;ve even been sued. These days, rogue software companies simply push it up to the limit of being considered malware, and get away with virtual murder. Their borderline applications not only aren&#39;t detected, but the distributing web sites are often certified by security companies as safe, a service you can pay for at most security software companies.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Given that rogue software of all types gets away intentionally undetected, the utility of anti-malware products goes down even further.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Security software offers a false sense of security&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;
Given all this, we see that security software isn&#39;t very useful. However, it really becomes harmful when users believe they are protected from threats. This may leave them to act more wrecklessly, under the false notion that their security software is protecting them. It seems preferable to remove this illusion of security, and instead have users realize that their safety is in their own hands. User education and common sense is much more effective than any security software!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Conclusion&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;
If slowing your PC down considerably wasn&#39;t bad enough, we now see that the actual utility of security software is quite questionable, as are the practices of many of these companies when it comes to rogue installer bundles. They are unlikely to detect any real threats, likely to let rogue borderline applications skate by, and give users a false sense of security. I&#39;d say, toss away the illusion, and start realizing that nothing can protect you except your own judiciousness!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
-- End --&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;appendum #1&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
Although you won&#39;t see it until something is detected, did you know that Microsoft Security Essentials is now part of Windows Defender, and built into Windows 8? Yes, that&#39;s right, you need NOT install any third-party security software! Windows Defender is arguably the best option people have right now, as it has a low false positive rate, is efficient, and not obtrusive. In fact, most people have no idea it is there! Further, Microsoft doesn&#39;t use installer bundles, as far as I know.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;appendum #2&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
I believe in the long-term, we&#39;ll move to entirely store/approved applications, which will allow tracking and rating by vendor history. The problem is, the definition of malware does not include &#39;boderline&#39; applications that are just plain deceitful, thus we&#39;ll always have crapware! Until corporations start acting with more moral fiber, things will continue to be much the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/6087284577897355299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/03/the-abysmal-state-of-security-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6087284577897355299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6087284577897355299'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/03/the-abysmal-state-of-security-software.html' title='The Abysmal State of Security Software'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-4009788198393164226</id><published>2013-01-07T00:29:00.001-08:00</published><updated>2013-01-12T23:17:36.234-08:00</updated><title type='text'>The Software Review Business or Pay or Get Bad Reviews?</title><content type='html'>&lt;h2&gt;
The Software Review Business&lt;br /&gt;or Pay or Get Bad Reviews?&lt;/h2&gt;
I received an email (then two more telling me to &#39;think about it&#39; and &#39;think more about it&#39;) ... What follows is what I believe a pretty clear extortion attempt, only thinly veiled.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;bbc_standard_quote&quot; style=&quot;background-color: #d7daec; background-image: url(http://bitsum.com/forum/Themes/default/images/theme/quote.png); background-position: 0.1em 0.1em; background-repeat: no-repeat no-repeat; border-bottom-color: rgb(153, 153, 170); border-bottom-style: solid; border-bottom-width: 2px; border-top-color: rgb(153, 153, 170); border-top-style: solid; border-top-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: x-small; line-height: 1.4em; margin: 0.1em 0px 0.3em; overflow: auto; padding: 1.1em 1.4em;&quot;&gt;
Currently i no longer post to GOTD. (Persona non grata) and normally i would not&lt;br /&gt;
directly contact a vendor (tho, i&#39;m considering changing this - i may start selling my&lt;br /&gt;
opinions/advice...)&amp;nbsp; but in your case i&#39;m going to make the effort. ((Half for &quot;free&quot; and&lt;br /&gt;
the other &#39;half&#39; will cost you a thousand dollars - but don&#39;t fret i don&#39;t even have my&lt;br /&gt;
PayPal set up yet...))&lt;br /&gt;
&lt;br /&gt;
free half:&lt;br /&gt;
&lt;br /&gt;
After several disappointing things i have removed your product. After several&lt;br /&gt;
unacceptable things i have posted this email. The next time you present on GOTD i&lt;br /&gt;
will make every effort to dissuade others from installing your product.&lt;br /&gt;
(ps btw: these are valid complaints that would warrant attention from a&lt;br /&gt;
concerned vendor - need i say less?)&lt;br /&gt;
&lt;br /&gt;
paid half:&lt;br /&gt;
&lt;br /&gt;
(will be sent upon receipt of payment.)&lt;/blockquote&gt;
&lt;div class=&quot;quotefooter&quot; style=&quot;background-color: #e7eaef; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;
&lt;div class=&quot;botslice_quote&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;This is my personal interpretation of this email. I do not claim that I am correct in this interpretation. Judge for yourself. Fortunately I&#39;m too broke to be extorted, so the decision is pretty easy. I thank all those who help defend my software against attacks like this. Now we know that software reviews have turned into a business.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;If someone is extorting negative reviews, they are surely selling positive reviews! That makes this the latest online business of manipulation.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 17.46666717529297px;&quot;&gt;I long ago proposed that download sites use more means to verify posters, ala Angie&#39;s List. Let&#39;s hope they do. I&#39;m all for real reviews, even if they aren&#39;t all flattering.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/4009788198393164226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2013/01/software-reviews-latest-online-business.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/4009788198393164226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/4009788198393164226'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2013/01/software-reviews-latest-online-business.html' title='The Software Review Business or Pay or Get Bad Reviews?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-5489747586225924358</id><published>2012-11-23T01:37:00.008-08:00</published><updated>2013-01-01T01:36:32.935-08:00</updated><title type='text'>Why Windows is akin to the wild, wild west</title><content type='html'>One of the problems as a Windows developer is that Windows violates many core principles of a protected mode Operating System. Namely, that applications should be isolated from one another. The ease of DLL injection via shell hooks is simply absurd, as is users running with administrative rights. Although UAC helped a little with the latter, it didn&#39;t do much since any software installation requires elevated rights. During installation, whatever happens, happens ...&lt;br /&gt;
&lt;br /&gt;
Now, this wouldn&#39;t be a problem if there wasn&#39;t so much crap out there. There are two issues. One is poorly written applications that map themselves into other processes, causing problems throughout the system, sometimes quite randomly, or sometimes very selectively.&lt;br /&gt;
&lt;br /&gt;
The other issue is malware or other unwanted applications like pay-per-install toolbars. These things get bundled up with software that is often free and open source. Download sites then pay for advertisements and fight for search engine rankings. It is legal for them to do this with free and open source software, regardless of what the author wishes (depending on the license). For commercial software, the vendor can at least protest. Of course, since a certain otherwise well respected download site set the precedent for allowing bundles, or download managers, this has become more common than ever, and something that can only be expected from most download sites that host their own files. The few exceptions out there are gems and we&#39;ll have to hope they don&#39;t give in to the financial temptation.&lt;br /&gt;
&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/AVvXsEipYhys-q5VBaO2ACCj98EZeWP1JWjio7WmW2UlZ2aLwqL4VHAtyPA9ifxVLHlnNl-uTDzAtLMm3-IC7QJ-Z_HmCzdbkWPQgyzA4WvbCFSwF8A7g8XevBN9AavkL9hbO58OQkvrQIdZcVs2/s1600/paintdotnetsample.png&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/AVvXsEipYhys-q5VBaO2ACCj98EZeWP1JWjio7WmW2UlZ2aLwqL4VHAtyPA9ifxVLHlnNl-uTDzAtLMm3-IC7QJ-Z_HmCzdbkWPQgyzA4WvbCFSwF8A7g8XevBN9AavkL9hbO58OQkvrQIdZcVs2/s1600/paintdotnetsample.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So, we end up with an environment which is absolute chaos. Any PC that gets anything installed, or used for that matter, is going to likely end up, over time, in a state of severe degradation, if not being totally compromised from a security standpoint (0wned ;p). Since malware, once installed, can hide its presence completely from any scanners while the OS is booted, your security software won&#39;t do much after the fact, and usually doesn&#39;t do much before the fact. In fact, &lt;a href=&quot;http://falsepositivereport.org/&quot;&gt;false positives&lt;/a&gt; are a huge problem because they are trying so hard to find some way to determine what bad software even looks like. There is no pattern to it, as there was with viruses.&lt;br /&gt;
&lt;br /&gt;
This may change, to some degree, with Windows 8 and the new Microsoft App Store, assuming it takes off. Though these stores have proven to be highly exploited as well, since it is difficult for them to define what a &#39;bad&#39; application is, and therefore you end up with shady vendors operating in every shade of grey they can. Microsoft does at least seem to be taking the vendor verification process seriously, as we at &lt;a href=&quot;http://bitsum.com/&quot;&gt;Bitsum&lt;/a&gt; had to undergo pretty strict integrity checks.&lt;br /&gt;
&lt;br /&gt;
Oh well ... that&#39;s just how it is.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Do remember that a more strict application ecosystem does mean a lessening of freedom. Just like some vendors are now locking the OS on the device, applications you might want to use that aren&#39;t&amp;nbsp;certified&amp;nbsp;won&#39;t be available!&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/5489747586225924358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/11/why-windows-is-akin-to-wild-wild-west.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/5489747586225924358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/5489747586225924358'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/11/why-windows-is-akin-to-wild-wild-west.html' title='Why Windows is akin to the wild, wild west'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEipYhys-q5VBaO2ACCj98EZeWP1JWjio7WmW2UlZ2aLwqL4VHAtyPA9ifxVLHlnNl-uTDzAtLMm3-IC7QJ-Z_HmCzdbkWPQgyzA4WvbCFSwF8A7g8XevBN9AavkL9hbO58OQkvrQIdZcVs2/s72-c/paintdotnetsample.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-2785196597423518623</id><published>2012-10-24T23:33:00.002-07:00</published><updated>2013-05-30T00:03:15.693-07:00</updated><title type='text'>Windows 8 Taskbar Frozen (Desktop Mode)</title><content type='html'>There is a bug with the Windows 8 Taskbar in that, after a period of time, the taskbar will refuse to update itself. It stays persistently frozen and/or out of sync, including the clock, running application window icons, and system tray icons. Most people will probably notice the clock first, since they may be surprised by the time it reports.&lt;br /&gt;
&lt;br /&gt;
The taskbar will do a one time update when one switches to the Modern UI Start screen.&lt;br /&gt;
&lt;br /&gt;
Restarting explorer will fix the issue for a time.&lt;br /&gt;
&lt;br /&gt;
The cause is unknown. This issue has been reported by many, but no acknowledgement from Microsoft is known.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/2785196597423518623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/10/bug-discovered-in-windows-82012-system.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/2785196597423518623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/2785196597423518623'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/10/bug-discovered-in-windows-82012-system.html' title='Windows 8 Taskbar Frozen (Desktop Mode)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-6528082762740865456</id><published>2012-10-04T23:10:00.000-07:00</published><updated>2012-10-05T16:56:06.290-07:00</updated><title type='text'>The return of native code Windows apps</title><content type='html'>&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;Microsoft has been strongly encouraging the use of C++, native code, and even use of C++ for managed code. It seems they are poised to push C++ ahead of C#, perhaps because they know they need more efficient code for low-power mobile devices. Anyone who would say that C++ is a language past its prime has no idea what they are talking about, that&#39;s for sure. Despite the fact that all popular modern OSes are written in C or C++, application developers continue to favor C++, as do users.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;The good news? These days we have what I like to call self-managed, unmanaged code. That is, unmanaged &amp;nbsp;(native) code that watches itself so closely that it performs like its own CLR manager, preventing errors and cleaning up any leftover debris (or at least notifying the developer of the condition). The basic CRT has even gotten more sophisticated, and secure. Take C++/CX for instance...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18px;&quot;&gt;Here&#39;s a recent article on developing native C++ applications for Metro/Modern UI using XAML and native/unmanaged C++/CX style code:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/windows/apps/hh465045.aspx&quot;&gt;http://msdn.microsoft.com/library/windows/apps/hh465045.aspx&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&amp;nbsp;.. C++/CX being the latest thing (essentially C++/CLI syntax that compiles to native code). Clearly they are thinking they need native apps .. I figure it is for the low-power devices and the realization that some applications will need maximal performance. Otherwise, C# would be the thing to push, as for managed code development, it is much easier.﻿&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;Other examples of the switch to unmanaged code can be seen in a variety of Microsoft applications (e.g. Microsoft Security Essentials, now Windows Defender), and those of other large corporations. AMD, for instance, switched the Catalyst drivers FROM .NET to native code several years ago.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/6528082762740865456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/10/the-return-of-native-code-windows-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6528082762740865456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6528082762740865456'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/10/the-return-of-native-code-windows-apps.html' title='The return of native code Windows apps'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-1740886317930799347</id><published>2012-10-03T17:35:00.003-07:00</published><updated>2012-10-04T13:29:36.520-07:00</updated><title type='text'>Recommending Open Hardware Monitor</title><content type='html'>While looking for an alternative to certain basic system monitoring software that has become &#39;infested&#39;, I found &lt;a href=&quot;http://openhardwaremonitor.org/&quot;&gt;Open Hardware Monitor&lt;/a&gt;&amp;nbsp;. It is written in C#, thus utilizing the .NET CLR. It also works under Linux /w MONO installed. Even better, it is open source! Pretty cool! We&#39;ve seen such efforts fail before though ...&lt;br /&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
K&lt;i&gt;&lt;b&gt;eep the project open to the community and *nobody* benefiting from the mere existence of the application!&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://openhardwaremonitor.org/wordpress/wp-content/uploads/2011/04/screenshot1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://openhardwaremonitor.org/wordpress/wp-content/uploads/2011/04/screenshot1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
The only problems are in this project&#39;s future. It is sure to be the &#39;new thing&#39; to monitor your system with. Now, what have we learned from previous system monitoring utilities?&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;The authors are likely broke because they are author freeware, thus are targets for the commercial &#39;sharks&#39;.&lt;/li&gt;
&lt;li&gt;Little by little, the author(s) sell their soul, with advertisements, then &#39;bundles&#39;, then more and more bundles.&lt;/li&gt;
&lt;li&gt;Rogue download sites repackage the freeware and get money without ever paying the developer(s).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;i&gt;ANY of the above leads to stagnation as the developer(s) all feel unfairly&amp;nbsp;subsidized.&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
How can this project be protected? Well, I am proud to say that I protected one or two free, open source projects from the complications of commercialization. The key is simply not be out to make money. Don&#39;t allow donation buttons. Don&#39;t have a treasurer. Users can give donations to individual developers, if they want, in secret, perhaps for implementing X, Y, or Z. K&lt;i&gt;&lt;b&gt;eep the project open to the community and nobody benefiting from the mere existence of the application!&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/1740886317930799347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/10/extra-extra-unmanaged-code-developer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1740886317930799347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1740886317930799347'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/10/extra-extra-unmanaged-code-developer.html' title='Recommending Open Hardware Monitor'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-9134342222406661618</id><published>2012-09-22T16:13:00.004-07:00</published><updated>2012-09-22T22:59:32.729-07:00</updated><title type='text'>How to fix: Windows 8 Modern UI if stuck on the wrong monitor</title><content type='html'>&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; line-height: 18px;&quot;&gt;Us traditional interface users may not pay much attention to the Modern UI, but the other day I managed to get it &#39;stuck&#39; on a monitor I didn&#39;t want it on. It popped up there, whenever invokved, with no way I knew of to move it. Finally I Google&#39;d and discovered if you hover in the lower _left_ of a screen you can select to open the Modern UI on that monitor. From that point forward, it remembers its last monitor. While this is quite trivial, who knows - maybe it saves someone else some time. There has been lots to get used to with Windows 8, and while I consider it a great OS, I wish Microsoft would have spent more resources on marketing and user&amp;nbsp;education&amp;nbsp;(or maybe they plan to).&lt;/span&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/9134342222406661618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/09/how-to-fix-windows-8-modern-ui-if-stuck.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/9134342222406661618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/9134342222406661618'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/09/how-to-fix-windows-8-modern-ui-if-stuck.html' title='How to fix: Windows 8 Modern UI if stuck on the wrong monitor'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-4875399809163359448</id><published>2012-09-07T08:43:00.004-07:00</published><updated>2012-09-27T12:56:08.003-07:00</updated><title type='text'>CPU Overheating Legacy Mode</title><content type='html'>&lt;h2&gt;
&lt;b&gt;CPU Overheating in Legacy Mode&lt;/b&gt;&lt;/h2&gt;
When in Legacy (non-protected) mode it seems some CPUs are particularly susceptible to overheating. This is before they start frequency scaling, sometimes before dynamic FAN speed control, perhaps before use of the HLT instruction, and definitely before use of any core parking. Thus, these mitigation strategies may be all that keeps some CPUs from overheating. I&#39;ve always noticed an increase in thermal emissions when my CPU is running full speed in legacy mode, but today is the first time I accidentally spent too much time in legacy mode, causing my system to shutdown pre-boot due to the CPU temperature (which had raised to 74C, though post-boot, with mitigation strategies in place, is back at 45C). Now, this is actually an indication of some trouble on this PC, despite the heavy load I place on it. Either I must allow for such extreme temperatures, or perhaps re-seat the Heatsink. Still, on a PC with a heavy lead that has no issues running continuously at 100% CPU frequency in High Performance mode, this is a surprising - and scary - discovery. I can&#39;t help but wonder, how long would your PC last in legacy mode?&lt;br /&gt;
&lt;br /&gt;
UPDATE: In my case, since I was in a pre-boot RAID configuration tool, I believe the failure of the CPU fan speed to ramp up may have been the primary cause. The UEFI was likely not fully initialized at this stage, and thus left me in a vulnerable state, while the CPU ran at 100% of its clock speed, with 100% utilization of a single core at least (as it does in legacy mode).&lt;br /&gt;
&lt;br /&gt;
UPDATE2: I have reproduced this many time by entering the pre-boot configuration on a HighPoint RAID controller. During its configuration interface, either the fan isn&#39;t running fast enough, or other cooling&amp;nbsp;mitigation technologies&amp;nbsp;aren&#39;t working. CPU temperature quickly escalates, and will eventually halt the PC. Otherwise, in the temperature in between, it will warn you at next bootup if it hasn&#39;t cooled already.</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/4875399809163359448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/09/cpu-overheating-in-legacy-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/4875399809163359448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/4875399809163359448'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/09/cpu-overheating-in-legacy-mode.html' title='CPU Overheating Legacy Mode'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-6756418121091965925</id><published>2012-09-06T16:33:00.000-07:00</published><updated>2012-09-07T09:48:33.873-07:00</updated><title type='text'>Keeping a process below a certain total CPU % use</title><content type='html'>&lt;br /&gt;
&lt;h2&gt;
Keeping an process below a certain total CPU % use&lt;/h2&gt;
So, you want to keep a process limited to using only a certain percentage of all available CPU time? For single core systems, it used to be I&#39;d tell people this wasn&#39;t recommended, but if they really had to forcibly limit a process, then they would have to use Process Lasso&#39;s unsafe &#39;Hard Throttling&#39;. Fortunately, these days, if you&#39;ve got a multi-core system, you are in luck! The more cores, the more control you&#39;ll have.&lt;br /&gt;
&lt;br /&gt;
By limiting the CPU affinity of a process to specific cores, you have the ability to control the available CPU time it has access to, out of the total CPU time pool. For example, in an optimal world of a quad core system with 4 fully independent physical cores, you can set increments 25%, 50%, 75%, or 100%. Now, when you throw in logical processors, the picture gets more complex. Since the logical processors won&#39;t perform well at all, the % limits are actually staggered in *effect*. While the scheduler may show an exact 50% for 2 of 4 logical cores (100% of the 2 cores time is being used), that may not mean those two cores are executing at 100% the capacity of two physical cores. In other words, the CPU time is used, but performance takes a hit. This is hard to quantify for logical processors, but &lt;a href=&quot;http://bitsum.com/threadracer.php&quot;&gt;ThreadRacer&lt;/a&gt; can help.&lt;br /&gt;
&lt;br /&gt;
Remember, Intel has its HyperThreaded cores staggered, starting at the second core (core #1 if core #0 counted as the first), and goes from there. Similarly, AMD Bulldozer+ Modules have&amp;nbsp;adjacent&amp;nbsp;processor cores that share computational units. Processors #0 and #1 would share some computational units, so you wouldn&#39;t want to load them both up if other cores are available. The scheduler itself will try to avoid such situations, in fact. With&amp;nbsp;this &#39;every other core&#39; method, it is easy to distinguish processors that are co-dependent (AMD), or HyperThreaded (INTEL).&lt;br /&gt;
&lt;br /&gt;
For the AMD Phenom II and below, all cores are true, physically independent cores, making the Phenom II the last processor made in this fashion. That is why the AMD Phenom II x6 continues to shine in benchmarks against the latest AMD&amp;nbsp;generation, despite a deficiency in base clock speed. It has 6 fully independent cores, something no current AMD processor has - they instead of 8 co-dependent cores, counted as 4 physical cores and 4 additional logical cores in marketing and by the Windows OS CPU Scheduler.&lt;br /&gt;
&lt;br /&gt;
You can do this with:&lt;br /&gt;
&lt;br /&gt;
1.&amp;nbsp;&lt;a href=&quot;http://bitsum.com/prolasso.php&quot;&gt;Process Lasso&#39;s Default CPU Affinity&lt;/a&gt;,&lt;br /&gt;
2. &lt;a href=&quot;http://bitsum.com/prolasso.php&quot;&gt;When ProBalance events occur&lt;/a&gt;&lt;br /&gt;
3. &lt;a href=&quot;http://bitsum.com/pl_when_cpu_affinity_matters.php&quot;&gt;Via the Process Lasso Watchdog&lt;/a&gt; (so that the change is only induced when certain criteria are met)&lt;br /&gt;
&lt;br /&gt;
More information is available here: &lt;a href=&quot;http://bitsum.com/pl_when_cpu_affinity_matters.php&quot;&gt;When CPU Affinity Matters&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/6756418121091965925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/09/keeping-process-below-certain-total-cpu.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6756418121091965925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/6756418121091965925'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/09/keeping-process-below-certain-total-cpu.html' title='Keeping a process below a certain total CPU % use'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-1967760371908361898</id><published>2012-09-05T20:59:00.001-07:00</published><updated>2012-09-05T21:00:26.800-07:00</updated><title type='text'>JAVA Update Check Frequency - Once a Month by Default - How to Change it, and Why You Should</title><content type='html'>&lt;h2&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;JAVA Update Check Frequency - Once a Month by Default&lt;/span&gt;&lt;/h2&gt;
&lt;h3&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;How to Change it, and Why you Should&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;I just checked the default JAVA Update Check Frequency. Turns out it is EVERY MONTH. I figured this needs an adjustment, given what we now know! There should be several more 0-day updates necessary to protect yourself from immediate exploitation by simply visiting the wrong site! To change this, you need to find the &quot;Java (32-bit)&quot; shortcut. &lt;b&gt;&lt;i&gt;Be sure to &#39;Run as Admin&#39;, else it will - without error - not actually apply your changes!&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;The actual executable backing the shortcut is in %PROGRAMFILESDIR%\Java\bin\javacpl.exe (Java Control Panel). That&#39;s &quot;Program Files&quot; for 32-bit Windows installations, or &quot;Program Files (x86)&quot; for 64-bit Windows installations.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&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/AVvXsEg5fB0xOK5JAw6NpAp53l4r9kmHjDdGbencHOa-HJXUaqupN_ObF3bv8PZmrumcNsLP5yAQ0GnvZpWFl-B17jZ-c7esS-vd2ehH1ra9q4orgLqRr2Jq8cSwZFgCwVlb3z03KXOGBBqSrq0L/s1600/java_update.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fB0xOK5JAw6NpAp53l4r9kmHjDdGbencHOa-HJXUaqupN_ObF3bv8PZmrumcNsLP5yAQ0GnvZpWFl-B17jZ-c7esS-vd2ehH1ra9q4orgLqRr2Jq8cSwZFgCwVlb3z03KXOGBBqSrq0L/s640/java_update.PNG&quot; width=&quot;564&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;Note that this may not *always* matter, as the browser you use may have its own internal implementation of Java, and/or enforce Java updates more regularly. However, I figure, why take the chance?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/1967760371908361898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/09/java-update-check-frequency-once-month.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1967760371908361898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1967760371908361898'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/09/java-update-check-frequency-once-month.html' title='JAVA Update Check Frequency - Once a Month by Default - How to Change it, and Why You Should'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEg5fB0xOK5JAw6NpAp53l4r9kmHjDdGbencHOa-HJXUaqupN_ObF3bv8PZmrumcNsLP5yAQ0GnvZpWFl-B17jZ-c7esS-vd2ehH1ra9q4orgLqRr2Jq8cSwZFgCwVlb3z03KXOGBBqSrq0L/s72-c/java_update.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-1356125966592641265</id><published>2012-09-05T19:17:00.002-07:00</published><updated>2012-09-05T19:52:44.449-07:00</updated><title type='text'>Increasing PC Performance while Saving Energy through Process Lasso&#39;s Energy Saver</title><content type='html'>&lt;b&gt;What is the&lt;a href=&quot;http://bitsum.com/prolasso.php&quot;&gt; Process Lasso&lt;/a&gt; Energy Saver?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
I love neat little innovations that were left out of Windows, and one such innovation is the ability to simply run in a High Performance power profile, while dropping automatically back down to Balanced or Power Saver when you go Idle, then back up again when you return. It makes perfect sense! That is Process Lasso&#39;s Energy Saver.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Why was an Energy Saver like mechanism left out of Windows?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The reason this is not always do-able by default is because *some processes* likely need excluded to attain the maximum performance you want in your highest power profile (named High Performance on English PCs by default).&lt;br /&gt;
&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/AVvXsEgILVnbrCIeRMKoJ4E2XbvLOJathq-JxwLVpqX1hUSK2Pu9pwcCjd6oURV9UqSR_isgx__DlPuKfunh8QcqCtSn_lNx7XE5-rS5-3maG-0z9vMAbEYiQeS5E_kd9sCuT4B-_KPL2kwphm3a/s1600/pl_energ_saver.PNG&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/AVvXsEgILVnbrCIeRMKoJ4E2XbvLOJathq-JxwLVpqX1hUSK2Pu9pwcCjd6oURV9UqSR_isgx__DlPuKfunh8QcqCtSn_lNx7XE5-rS5-3maG-0z9vMAbEYiQeS5E_kd9sCuT4B-_KPL2kwphm3a/s1600/pl_energ_saver.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
After installing &lt;a href=&quot;http://bitsum.com/prolasso.php&quot;&gt;Process Lasso&lt;/a&gt;, simply turn on Energy Saver and you are done! Best of all, Energy Saver is one of the many Process Lasso features available for *free* indefinitely!&lt;br /&gt;
&lt;br /&gt;
Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/1356125966592641265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/09/increasing-pc-performance-while-saving.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1356125966592641265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/1356125966592641265'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/09/increasing-pc-performance-while-saving.html' title='Increasing PC Performance while Saving Energy through Process Lasso&#39;s Energy Saver'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEgILVnbrCIeRMKoJ4E2XbvLOJathq-JxwLVpqX1hUSK2Pu9pwcCjd6oURV9UqSR_isgx__DlPuKfunh8QcqCtSn_lNx7XE5-rS5-3maG-0z9vMAbEYiQeS5E_kd9sCuT4B-_KPL2kwphm3a/s72-c/pl_energ_saver.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-8148947145070140044</id><published>2012-08-25T12:35:00.003-07:00</published><updated>2012-08-25T12:36:23.289-07:00</updated><title type='text'>Misc NT 6.2 screenshots (Windows 8 / Windows 2012)</title><content type='html'>&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/AVvXsEilOJhl5drI8JG3yO71z6P2Zz6v4bi8tWoNhX7eutyr9NX_7QlrGLLAdMM8tWRpw6sAmw4w7sV-7CYzBKoq42bIMLrxzMhtofarIUMpKcH_ivPO-D4kYBGgOo1fdxHdrLzmK-UqCnK0beIQ/s1600/new_launch_context_menu.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilOJhl5drI8JG3yO71z6P2Zz6v4bi8tWoNhX7eutyr9NX_7QlrGLLAdMM8tWRpw6sAmw4w7sV-7CYzBKoq42bIMLrxzMhtofarIUMpKcH_ivPO-D4kYBGgOo1fdxHdrLzmK-UqCnK0beIQ/s320/new_launch_context_menu.png&quot; width=&quot;147&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwGduwmCriVKdYtUk3XbdVWkRBp7p3vLRVefrM3mpRHOUglX9t9HVN0sLP53woukFWEP2hTef5jBFlSiqa11lZbrCjr81oUa0GWCc5barVAOzV32NHGCfiaxdCFHFPLLk7SAGI1C86Md-L/s1600/win8_dwm_in_its_own_user_context.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;60&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwGduwmCriVKdYtUk3XbdVWkRBp7p3vLRVefrM3mpRHOUglX9t9HVN0sLP53woukFWEP2hTef5jBFlSiqa11lZbrCjr81oUa0GWCc5barVAOzV32NHGCfiaxdCFHFPLLk7SAGI1C86Md-L/s640/win8_dwm_in_its_own_user_context.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;From Process Lasso, showing DWM running in its own user context.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&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/AVvXsEjx_IdFPqTRe6V6-bZ8foaWqTnxIobSAvzTPoPTx81etb3EQQw-WNhWtVpKp2iUoXpcmwRxKnbNDFJByw31fdDqeZRVXqVATK2Juy0QX9kSf3TJd0zN99FtW427UPHpiTZPYPLF-aFVK05v/s1600/windows8_copy_conflict_dialog.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx_IdFPqTRe6V6-bZ8foaWqTnxIobSAvzTPoPTx81etb3EQQw-WNhWtVpKp2iUoXpcmwRxKnbNDFJByw31fdDqeZRVXqVATK2Juy0QX9kSf3TJd0zN99FtW427UPHpiTZPYPLF-aFVK05v/s320/windows8_copy_conflict_dialog.PNG&quot; width=&quot;283&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&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/AVvXsEi39Xi3iWR7XvG7Y4TVIsu4voQeEkFy13TgRhRzZvyDBihIjEq7HkbAzijlon3AQStINdaHirSWKj1VX6nbz5_z5IqHCaWT4HNtSvurx2cozaYyKDvRfZ3JyYqIFw8X7IpS0L1sH4xpZcYc/s1600/windows_8_improved_explorer_copy.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi39Xi3iWR7XvG7Y4TVIsu4voQeEkFy13TgRhRzZvyDBihIjEq7HkbAzijlon3AQStINdaHirSWKj1VX6nbz5_z5IqHCaWT4HNtSvurx2cozaYyKDvRfZ3JyYqIFw8X7IpS0L1sH4xpZcYc/s320/windows_8_improved_explorer_copy.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/8148947145070140044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/08/misc-nt-62-screenshots-windows-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/8148947145070140044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/8148947145070140044'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/08/misc-nt-62-screenshots-windows-8.html' title='Misc NT 6.2 screenshots (Windows 8 / Windows 2012)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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/AVvXsEilOJhl5drI8JG3yO71z6P2Zz6v4bi8tWoNhX7eutyr9NX_7QlrGLLAdMM8tWRpw6sAmw4w7sV-7CYzBKoq42bIMLrxzMhtofarIUMpKcH_ivPO-D4kYBGgOo1fdxHdrLzmK-UqCnK0beIQ/s72-c/new_launch_context_menu.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-3243489133597575405</id><published>2012-08-18T13:33:00.001-07:00</published><updated>2012-08-28T16:41:31.246-07:00</updated><title type='text'>The Visual Studio 2012 Migration - and XP/2003 (NT5)</title><content type='html'>I am always an early adopter, I get excited about technology. As a developer, I should perhaps be more pragmatic. When Visual Studio 2012 went RC, I switched to it. I wanted to be ready, after all. There weren&#39;t many complications, but one was a complication... the initial (soon to be redacted) lack of support for Windows XP or Windows 2003 as a build target.&lt;br /&gt;
&lt;br /&gt;
Now, I have my ways to get around it, namely a utility I&#39;m about to upload called PESetVersion. This will let me set any of the versions of a PE/PE+, though the only applicable one is the SubSystem version. By changing this, I hope to achieve compatibility with XP and Windows 2003. Now, the CRT isn&#39;t guaranteed to function right, so I guess we&#39;ll find out in extended testing. If all runs, there is a 99% chance it will be fine. EDIT: It didn&#39;t (see below), the CRT uses NT6 APIs.&lt;br /&gt;
&lt;br /&gt;
I would imagine the CRT doesn&#39;t do anything not compatible with NT 5, unless it has some explicit check.&amp;nbsp;My reasoning is because the developers of Visual Studio 2012 actually planned to keep XP support.&lt;br /&gt;
&lt;br /&gt;
From what I hear, the marketing or some management arm nixed it from the final product. BUT, due to developer demand, this decision was redacted. Support for Windows XP and Windows 2003 will not be in the RTM though, it will come in some out-of-band update &#39;later this Fall&#39;&lt;br /&gt;
&lt;br /&gt;
Prior to VS2012 there was VS2010, which similarly dropped support for Windows 2000. However, you could still use an older Platform Toolset (compiler, linker, etc..) as specified in the project configuration.&lt;br /&gt;
&lt;br /&gt;
Sadly, the subsystem version you specify in the linker appears to be neutered so that you can&#39;t over-ride its designation of NT 6.0. It even says &#39;5.0&#39; in the configuration by default, but this is entirely ignored.&lt;br /&gt;
&lt;br /&gt;
This will be part of the &lt;a href=&quot;http://pecompact.com/pesuite.php&quot;&gt;PESuite Tools&lt;/a&gt; authored by Bitsum. It should be released in the next 24 hours.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE: &lt;/b&gt;It appears at least in some modules the CRT does import some NT6+ APIs. You therefore must use an alternate CRT or patch the existing CRT. &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;The ability to use an older VC9 or VC10 Platform Toolset is also there, and the preferred solution at this time ;o.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/3243489133597575405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/08/the-visual-studio-2012-migration-and-xp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/3243489133597575405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/3243489133597575405'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/08/the-visual-studio-2012-migration-and-xp.html' title='The Visual Studio 2012 Migration - and XP/2003 (NT5)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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-5605857505516531350.post-3661845539088214492</id><published>2012-08-03T05:13:00.000-07:00</published><updated>2012-08-03T05:14:12.314-07:00</updated><title type='text'>Cleaning up registry debris the safe way ...</title><content type='html'>As you know, many programs leave debris around after uninstall. Now, there are all types of debris, and some of it is more important than others. As I recommend on my &lt;a href=&quot;http://bitsum.com/regmerge.php#facts&quot;&gt;RegMerge&lt;/a&gt; page, do NOT resort to registry cleaners that may very well cause more harm. Instead, I recommend using RegEdit to search for the product&#39;s name, then delete keys or values that have it. WARNING: Be sure you know what you are doing and have made a backup of your hives or restore point first.&lt;br /&gt;
&lt;br /&gt;
The most serious thing left behind are shell extensions or unrestored file associations. These can cause complications, or at least annoyances. In the latter case, unrestored file associations (e.g. the program didn&#39;t revert to associate whatever extension with the previous program), you must manually correct these. I&#39;ve always thought of a project to try to repair these to their default state, and indeed &lt;a href=&quot;http://bitsum.com/regmerge.php&quot;&gt;RegMerge&lt;/a&gt; was/is the basis for that. However, for it to work, we first need &#39;default sets&#39;, which are .REG repair files that simply replace the shell association with its default handler. If you have such, please submit them, you&#39;ll of course get full credit for your contribution! Remember, RegMerge is 100% freeware from Bitsum - one of our many contributions to the community!&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/3661845539088214492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/08/cleaning-up-registry-debris-safe-way.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/3661845539088214492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/3661845539088214492'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/08/cleaning-up-registry-debris-safe-way.html' title='Cleaning up registry debris the safe way ...'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5605857505516531350.post-8921371470985568372</id><published>2012-07-20T12:49:00.002-07:00</published><updated>2012-07-20T12:51:45.121-07:00</updated><title type='text'>Decrypting EFS</title><content type='html'>&lt;br /&gt;
One of the many pains of NTFS&#39;s EFS is that if you decide to no longer use it, you can get in a situation where you are waiting hours and hours for your HDD or SSD to decrypt each file and folder, and change its attributes.&lt;br /&gt;
&lt;br /&gt;
Worst, if you abort that operation, or have inaccessible files, you can end up with MIXED filesytems, with some files encrypted, and others not. This can cause complications with some backup solutions that use direct copies (if the destination can&#39;t be encrypted, for example).&lt;br /&gt;
&lt;br /&gt;
So, how to fix? Well, you could toggle that Encrypted attribute checkbox in the folder properties, start to encrypt, then abort. Then do the opposite, being sure to include all subdirectories and files.&lt;br /&gt;
&lt;br /&gt;
OR you can use the CIPHER tool, built into Windows. Cipher let&#39;s you get and control all sorts of EFS information. Anything EFS related - it has. Including what we want, decrypting an entire directory tree.&lt;br /&gt;
&lt;br /&gt;
For example, say I want to make sure there are no EFS files left on drive D:\. The command might be:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;CIPHER.EXE /D /Sd:\&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In my case, on a drive I had 21 &#39;stray&#39; EFS files and folders still encrypted. Fixed now.&lt;br /&gt;
&lt;br /&gt;
Run Cipher /? to get a full list of options.&lt;br /&gt;
&lt;br /&gt;
Why is EFS bad? One, the filename problem. Filenames are visible. Also, since they let the attacker know likely points of plaintext (e.g. this plaintext data is likely at location X in file type Y), the key becomes quite attackable. Then there is the issue of backing up your certificate, which has been made more clear in Vista and above, but can still be a bit of a pain. TrueCrypt or BitLocker are definitely the thing to use. I prefer TrueCrypt myself, one of the best F/OSS applications ever created. EFS, in my mind, is an illusion of security more likely to cause data loss than protect your privacy.</content><link rel='replies' type='application/atom+xml' href='http://thepileof.blogspot.com/feeds/8921371470985568372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thepileof.blogspot.com/2012/07/removing-efs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/8921371470985568372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5605857505516531350/posts/default/8921371470985568372'/><link rel='alternate' type='text/html' href='http://thepileof.blogspot.com/2012/07/removing-efs.html' title='Decrypting EFS'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/11336099339134840809</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>