<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Matt&apos;s Synergistic Patterns</title>
      <link>http://mcraig.org/matt/</link>
      <description>If I haven&apos;t mentioned goats in a while, I apologize.</description>
      <language>en</language>
      <copyright>Copyright 2011</copyright>
      <lastBuildDate>Fri, 14 Oct 2011 13:48:08 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Skype on Oneiric Ocelot</title>
         <description><![CDATA[<p>Ubuntu 11.10 upgrade today and skype decided it didn't want to work.  Apparently it needs i386 libs which get removed with moving to 64-bit or something.</p>

<p>I installed them by hand (actually by synaptic)<br />
libXv1:i386<br />
libXss1:i386</p>]]></description>
         <link>http://mcraig.org/matt/archives/2011/10/skype_on_oneiri.html</link>
         <guid>http://mcraig.org/matt/archives/2011/10/skype_on_oneiri.html</guid>
         <category>Client Side</category>
         <pubDate>Fri, 14 Oct 2011 13:48:08 -0500</pubDate>
      </item>
            <item>
         <title>LX6 mouse disassembly</title>
         <description><![CDATA[<p>Took apart a Logitech lx6 laser mouse today because the left button was randomly double clicking when I only pushed it once.  They really made it annoying and put screws under the front "feet".</p>

<p>Four screws total to disassemble it.  You have two screws in the battery compartments and two screws under these feet which are attached with some kind of sticky substance like what you get with credit cards mailed and stuck to paper, only thinner.  You won't be able to save it and put the "feet" back on.  Stupid Logitech.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/11/lx6_mouse_disas.html</link>
         <guid>http://mcraig.org/matt/archives/2010/11/lx6_mouse_disas.html</guid>
         <category>Client Side</category>
         <pubDate>Wed, 03 Nov 2010 16:13:51 -0500</pubDate>
      </item>
            <item>
         <title>parking for money</title>
         <description><![CDATA[<p>http://www.rivierareview.com/articles/parking-tickets-issued-cctv-video/</p>

<p>I knew I should have done this before someone else.  Still my idea is just to use cameras to see who's parking where and charge parking fees, not to ticket people.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/10/post.html</link>
         <guid>http://mcraig.org/matt/archives/2010/10/post.html</guid>
         <category></category>
         <pubDate>Tue, 12 Oct 2010 07:45:28 -0500</pubDate>
      </item>
            <item>
         <title>sqlserver is so much fail</title>
         <description><![CDATA[<p>Combine SQLServer with Visual Studio FAIL and you'll end up hating the world.  if sqlserver thinks you have visual studio installed but you don't, you'll have no end of trouble since it will refuse to install until you have SP1, which obviously you're not installing since you don't have VS.</p>

<p>find your setup file in the installation directory and execute this line:</p>

<p>Setup /ACTION=install /SkipRules=VSShellInstalledRule</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/10/sqlserver_is_so.html</link>
         <guid>http://mcraig.org/matt/archives/2010/10/sqlserver_is_so.html</guid>
         <category>Server Side</category>
         <pubDate>Mon, 11 Oct 2010 20:09:34 -0500</pubDate>
      </item>
            <item>
         <title>Treadmill </title>
         <description><![CDATA[<p>I have a new treadmill.  The plan is to make it into a walking workstation and get healthier.  Sitting all day is just not cutting it.</p>

<p>Apparently, getting this this for $199 was a good bargain.  Web prices range from $700 - $900, though, I imagine that has more to do with scarcity than value.</p>

<p>side view:<br />
<a href="http://mcraig.org/matt/archives/94side.html" onclick="window.open('http://mcraig.org/matt/archives/94side.html','popup','width=936,height=728,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://mcraig.org/matt/archives/94side-thumb.JPG" alt="" /></a></p>

<p>back view:<br />
<a href="http://mcraig.org/matt/archives/94back.html" onclick="window.open('http://mcraig.org/matt/archives/94back.html','popup','width=500,height=1183,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://mcraig.org/matt/archives/94back-thumb.JPG"  alt="" /></a><br />
</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/08/treadmill_1.html</link>
         <guid>http://mcraig.org/matt/archives/2010/08/treadmill_1.html</guid>
         <category>Household</category>
         <pubDate>Sun, 29 Aug 2010 21:46:05 -0500</pubDate>
      </item>
            <item>
         <title>Why&apos;s this like that? - 1</title>
         <description><![CDATA[<p>as seen in ~/.bashrc file<br />
<code><br />
export HISTCONTROL=ignoredups<br />
HISTFILESIZE=100000000<br />
HISTSIZE=1000000<br />
</code></p>

<p>HISTCONTROL is used so that repeat commands do not clog up your .bash_history<br />
HISTFILESIZE is how large your .bash_history will become, someday<br />
HISTSIZE is how many entries you want.  Set it huge and don't ever lose anything.</p>

<p>If you ever overrun these settings, I'd be amazed.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/08/whys_this_like_1.html</link>
         <guid>http://mcraig.org/matt/archives/2010/08/whys_this_like_1.html</guid>
         <category>Client Side</category>
         <pubDate>Sun, 29 Aug 2010 21:32:28 -0500</pubDate>
      </item>
            <item>
         <title>Why&apos;s this like that? - 0</title>
         <description><![CDATA[<p><code><br />
moggio:~$ cat .Xmodmap <br />
remove  Lock = Caps_Lock<br />
keycode 9 = Caps_Lock<br />
keycode 66 = Escape<br />
add     Lock = Caps_Lock<br />
</code></p>

<p><strong>What does this do?</strong><br />
This switches the caps lock key and the escape key on a standard US keyboard in Linux.</p>

<p><strong>What is the motivation?</strong><br />
I use <a href="http://www.vim.org/">vim</a> for my text editing.  The escape key is way more useful than caps lock so having it right under my pinky is a win.</p>

<p><strong>How do I make it happen?</strong><br />
One way is just on the command line:</p>

<p><code>moggio:~$ xmodmap ~/.Xmodmap</code></p>

<p>another way is in your bashrc file, if you use bash shell and would like it happen when you login to X.</p>

<p><code>moggio:~$ cat .bashrc | tail -n 13 | head -n 1<br />
if [[ -e ~/.Xmodmap ]]; then xmodmap ~/.Xmodmap; fi</code></p>

<p>Note you do not need it on the 13th line from the end. Put it wherever you'd like.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/08/whys_this_like.html</link>
         <guid>http://mcraig.org/matt/archives/2010/08/whys_this_like.html</guid>
         <category>Client Side</category>
         <pubDate>Sun, 08 Aug 2010 21:49:12 -0500</pubDate>
      </item>
            <item>
         <title>XML_Tranformer.php and bad chars</title>
         <description><![CDATA[<p>XML/Transformer.php, that wonderful unmaintained PEAR module uses the php built-in xml_parse function, and, at least on my server, this function loves to fail, crash, and or die on extended ascii codes.</p>

<p>so what did I do?  I hacked it up myself.  In the transform function of the class I started by just replacing ampersands</p>

<p><code>$xml = preg_replace('/&(?!amp;)/i', '&amp;', $xml);</code></p>

<p>but that wasn't cutting it once I started getting errors like<br />
<code>Transformer: XML Error: Invalid character at line 1:342549</code></p>

<p>You guessed right, I didn't want to go searching for the 342549th character in line 1, so I wrote even more replacements:<br />
<code><br />
&nbsp; &nbsp; // bad_chr found on php manual page for built-in function xml_parse                                                        <br />
&nbsp; &nbsp;        // added higher codes found on https://files.oakland.edu/users/grossman/web/ascii.codes.html                               <br />
&nbsp; &nbsp;        $bad_chr = array("\x00" => "chr(0)", "\x01" => "chr(1)", "\x02" => "chr(2)", "\x03" => "chr(3)", "\x04" => "chr(4)", "\x05" => "chr(5)", "\x06" => "chr(6)", "\x07" => "chr(7)", "\x08" => "chr(8)", "\x09" => "chr(9)", "\x0a" => "chr(10)", "\x0b" => "chr(11)", "\x0c" => "chr(12)", "\x0d" => "chr(13)", "\x0e" => "chr(14)", "\x0f" => "chr(15)", "\x10" => "chr(16)", "\x11" => "chr(17)", "\x12" => "chr(18)", "\x13" => "chr(19)", "\x14" => "chr(20)", "\x15" => "chr(21)", "\x16" => "chr(22)", "\x17" => "chr(23)", "\x18" => "chr(24)", "\x19" => "chr(25)", "\x1a" => "chr(26)", "\x1b" => "chr(27)", "\x1c" => "chr(28)", "\x1d" => "chr(29)", "\x1e" => "chr(30)", "\x1f" => "chr(31)",  <pre>                "\x91" => "chr(145)", //single quote                                                                               <br />
                "\x92" => "chr(146)", //single quote<br />
                "\x93" => "chr(147)", //double quote                                                                               <br />
                "\x94" => "chr(148)", //double quote                                                                               <br />
                "\x96" => "chr(150)", //short dash                                                                                 <br />
                "\x97" => "chr(151)", //long dash                                                                                  <br />
                "\xA0" => "chr(32)",  //other space                                                                                <br />
                "\xB4" => "chr(180)", //some other single quote                                                                    <br />
                "\xBC" => "chr(188)", //frac 1/4                                                                                   <br />
                "\xBD" => "chr(189)", //frac 1/2<br />
                "\xBE" => "chr(190)", //frac 3/4                                                                                   <br />
                );                                                                                                                 </p>

<p>        $xml = strtr($xml, $bad_chr);</pre></code></p>

<p>In the end this is working.  I am not entirely sure how I'll catch others adding more bad character codes, since the upload and parse is all automated, but hopefully that covers what any normal human would dare use.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2010/05/xml_tranformerp.html</link>
         <guid>http://mcraig.org/matt/archives/2010/05/xml_tranformerp.html</guid>
         <category>Server Side</category>
         <pubDate>Wed, 19 May 2010 20:44:25 -0500</pubDate>
      </item>
            <item>
         <title>Mysql from Jaunty to Karmic</title>
         <description><![CDATA[<p>Apparently, when moving from Ubuntu 9.04 to 9.10 it upgrades mysql from 5.0 to 5.1 and it fails to do it right.</p>

<p>I get tons of these kinds of errors in these kinds of errors in /var/log/messages<br />
Nov 15 21:12:00 moggio kernel: [50185.649110] type=1502 audit(1258337520.364:209): operation="open" pid=6906 parent=6905 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"</p>

<p>and trying to start mysql fails miserably.</p>

<p>I solved this by going into the /etc/mysql/my.cnf and commenting out the skip-bdb line.</p>

<p>After that mysql would start successfully and let me log in and it seems fine.  Just need to test it with the stereo netbook running Amarok. <fingers-crossed /></p>]]></description>
         <link>http://mcraig.org/matt/archives/2009/11/mysql_from_jaun.html</link>
         <guid>http://mcraig.org/matt/archives/2009/11/mysql_from_jaun.html</guid>
         <category>Server Side</category>
         <pubDate>Sun, 15 Nov 2009 21:13:57 -0500</pubDate>
      </item>
            <item>
         <title>extra screen real estate</title>
         <description><![CDATA[<p>Netbooks' screens are too small.</p>

<p>The keyboards are useless.  </p>

<p>My "invention" today is making each side of the clamshell just have a screen.  <br />
There can be an onscreen keyboard if someone really wants one.  Or you could buy one of those fold-up/roll-up keyboards to carry along.  <br />
The screens can even slide together when open or something to be more seamless.  In any case you now have a 1200 x 1024 screen to look at (1024 x 1200, if you turn it the other way)</p>]]></description>
         <link>http://mcraig.org/matt/archives/2009/04/extra_screen_sp.html</link>
         <guid>http://mcraig.org/matt/archives/2009/04/extra_screen_sp.html</guid>
         <category>Client Side</category>
         <pubDate>Sat, 18 Apr 2009 21:21:52 -0500</pubDate>
      </item>
            <item>
         <title>Soapy</title>
         <description><![CDATA[<p>How about a dishwashing sponge with timed-release soap?  Water-activated.  If I knew more chemistry I would invent that, so I am just throwing it out as a suggestion.</p>

<p>It would be nice if it lasted a month or so, but maybe longer if the inner-soap prevents bacteria growth and stinkiness.</p>

<p>I know there exist hollow long-handled utensils with sponges on the end, but those are pretty worthless.  This would look just like a normal sponge, but have soap in it.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2008/07/soapy.html</link>
         <guid>http://mcraig.org/matt/archives/2008/07/soapy.html</guid>
         <category>Household</category>
         <pubDate>Tue, 22 Jul 2008 21:27:48 -0500</pubDate>
      </item>
            <item>
         <title>Noise-cancelling silverware</title>
         <description><![CDATA[<p>Why you ask?  Because who hasn't been annoyed waking up to the sound of a loved one slurping cereal and clinking their spoon on the bowl.  Who hasn't tried to eat in a diner only to be drowned out by the clinking and clanking.  Who wasn't annoyed by the "diner" sounds on that Hangover Cafe Sunday morning radio show.</p>

<p>Additionally, this would give children just learning to use utensils much less incentive to go banging their spoon into their dish or on the table.</p>

<p>Okay, this is really more a cool-factor than anything useful, but "noise-cancelling" is a hot item right now.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2008/06/noisecancelling.html</link>
         <guid>http://mcraig.org/matt/archives/2008/06/noisecancelling.html</guid>
         <category>Household</category>
         <pubDate>Sun, 22 Jun 2008 22:25:26 -0500</pubDate>
      </item>
            <item>
         <title>Inventing Brandable Jokes</title>
         <description><![CDATA[<p>How many times have you forgotten your wallet or your coffee on top of your car and just wish someone was there to warn you before you drove off?</p>

<p>With my latest invention the joke is no longer on you.  It is on the person who is yelling at you, "Hey, your coffe is on top of the car!"  Because that is not a real coffee cup, that is a replica with a magnet on the bottom, so that you can drive all over town fooling everyone into thinking you are forgetful, when really you're just a very humorous person.<br />
Next week it will be your cell phone.  The week after that, your purse/wallet.  </p>

<p>Then watch the people really stare when you leave your baby's car seat on the roof next to the beer.  The cop who pulls you over probably won't stop laughing until next Thursday he'll enjoy the joke so much.  On second thought we'll stick to just jokes in "good" taste.</p>

<p>Next year comes the branding.  If McDonald's won't pay for it to be their coffee cup, then Starbucks will.</p>

<p>Opening a new takeout restaurant?  Let your first 100 customers have a free meal and drive around with your "bag" on their roof or trunk.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2008/06/inventing_brand.html</link>
         <guid>http://mcraig.org/matt/archives/2008/06/inventing_brand.html</guid>
         <category></category>
         <pubDate>Sun, 22 Jun 2008 22:05:55 -0500</pubDate>
      </item>
            <item>
         <title>Thirsty inventors</title>
         <description><![CDATA[<p>All this inventing work has got to be making you thirsty.  It may even be making you hungry, but there just isn't time to sit down and eat a bowl of cereal.  With my next invention the problem will be solved.</p>

<p>The best part of the cereal is the milk leftover after the flakes are gone, right?  So why not just sell the milk that way.  Basically add a little sugar, some cocoa or artificial corn-flakes flavor and a little bit of food coloring and you've got "leftover cereal" Milk.</p>

<p>I'll have to think of a better name than that obviously, but I am sure I can get the milk marketing board to back me.  And we'll even get old people to buy it.  Just add the flavor of Bran Flakes and they'll love it..</p>]]></description>
         <link>http://mcraig.org/matt/archives/2008/04/thirsty_invento.html</link>
         <guid>http://mcraig.org/matt/archives/2008/04/thirsty_invento.html</guid>
         <category>Client Side</category>
         <pubDate>Thu, 10 Apr 2008 07:36:45 -0500</pubDate>
      </item>
            <item>
         <title>the inventors: someone else</title>
         <description><![CDATA[<p><a href="http://www.scienceblog.com/cms/researchers-create-beating-heart-lab-15218.html">It all starts here</a>, the beginning of the solution.</p>

<p>Since don't believe in any international cabals (and don't personally know the 10 people who control the world anyway) my special imagination time has to be spent more optimistically.   I spend most of my conspiracy theory time thinking about the conspiracy of reality and time.  </p>

<p>You know I have it on good authority that "<a href="http://www.google.com/search?hl=en&q=frank+zappa+%22time+is+an+affliction%22&btnG=Search">time is an affliction</a>" and this precise affliction is deterioration of our bodies.  The fortunate, beneficial conspiracy between reality and time is that, before I (don't) die, medical science and nanotechnology will devise means to prolong our bodies' existence indefinitely.  </p>

<p>Computer technology may devise ways for us to backup and restore our consciousness, but what fun is consciousness lingering like a <a href="http://en.wikipedia.org/wiki/Cryonics">frozen brain</a> in electrical/optical/magentic/quantum statis.  (yeah, I know they'll give your consciousness ways to expand and exercise itself, but this is my daydreaming.)</p>

<p>It looks like maybe they'll just start replacing organs as they go bad.  They'll need to work out recovery from trauma though, because once the brain dies and the body stops functioning, it will probably be hard to start back up, so keep your eyes open for more.</p>

<p>"All well and good," you say, "but you said there was a conspiracy and reality was involved."  Yes, I did and the conspiracy is you think reality has been around since the big bang, or maybe just 6000 years.  Oh, you are sorely mistaken.  Reality started one June morning in 1972.  There was no "before."  Reality just popped out so to speak and had this crazy notion the it would perpetuate time forever.</p>

<p>In order to address this affliction of time, reality likes to play a suspenseful game.  Always keeping the appearance of imminent demise, and even ensuring eventual destruction through "death,"  while at the same constantly addressing the issue of this demise through new "science."  Always having something right there to be the solution to what we said was an undefeatable enemy.</p>]]></description>
         <link>http://mcraig.org/matt/archives/2008/01/the_inventors_s.html</link>
         <guid>http://mcraig.org/matt/archives/2008/01/the_inventors_s.html</guid>
         <category>middleware</category>
         <pubDate>Sun, 13 Jan 2008 21:36:06 -0500</pubDate>
      </item>
      
   </channel>
</rss>

