<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Intellectual Hedonism</title>
  <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/" />
  <link rel="self" href="http://www.intellectualhedonism.com/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2009-06-29T01:20:51.4932784-04:00</updated>
  <author>
    <name>Carl Franklin</name>
  </author>
  <subtitle>from the mind of Carl Franklin</subtitle>
  <id>http://www.intellectualhedonism.com/</id>
  <generator uri="http://dasblog.info/" version="2.1.8102.813">DasBlog</generator>
  <entry>
    <title>System.Speech.Synthesis.SpeechSynthesizer.GetInstalledVoices returns incomplete list when compiling to AnyCpu on x64 machine</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/06/29/SystemSpeechSynthesisSpeechSynthesizerGetInstalledVoicesReturnsIncompleteListWhenCompilingToAnyCpuOnX64Machine.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,3f3f98c2-6d01-4b50-b279-3ffda3ffda62.aspx</id>
    <published>2009-06-29T01:20:51.4932784-04:00</published>
    <updated>2009-06-29T01:20:51.4932784-04:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.intellectualhedonism.com/CategoryView,category,NETDevelopment.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
When creating a Windows application in Visual Studio 2008 using System.Speech,
you might not be able to see all of the installed TTS voices if you are compiling
to AnyCPU. Change your target to x86 in the Project Properties, Compile options, Advanced
Options. You'll be glad you did.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=3f3f98c2-6d01-4b50-b279-3ffda3ffda62" />
      </div>
    </content>
  </entry>
  <entry>
    <title>I'm loving Tweet Sharp</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/06/18/ImLovingTweetSharp.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,c9cb7d2b-fbc0-4f91-9330-15efc35f3aa2.aspx</id>
    <published>2009-06-18T15:37:49.960576-04:00</published>
    <updated>2009-06-18T15:37:49.960576-04:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.intellectualhedonism.com/CategoryView,category,NETDevelopment.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Richard Campbell and I interviewed Daniel Crenna and Jason Diller on .NET Rocks! a
couple weeks ago (<a href="http://www.dotnetrocks.com/default.aspx?showNum=456">http://www.dotnetrocks.com/default.aspx?showNum=456</a>)
about <a href="http://www.tweetsharp.com">Tweet #</a>, their .NET library for writing
twitter-enabled apps. I'm having a ball with it as I sit in the speaker's lounge at
the Norweigian Developer's Conference in Oslo, Norway. I'll post the code I finally
come up with, but it's basically a web and tweet comber.... and those things need
to be combed...
</p>
        <p>
More to come...
</p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=c9cb7d2b-fbc0-4f91-9330-15efc35f3aa2" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Manual Serialization 200% + Faster than BinaryFormatter</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/06/16/ManualSerialization200FasterThanBinaryFormatter.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,6653a27a-e1f8-4984-9615-1bbf1ee3d45f.aspx</id>
    <published>2009-06-16T14:55:32.8173376-04:00</published>
    <updated>2009-06-16T14:55:32.8173376-04:00</updated>
    <category term="General Interest" label="General Interest" scheme="http://www.intellectualhedonism.com/CategoryView,category,GeneralInterest.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m focusing on squeezing performance for a highly scalable server application I’m
working on. Just on a lark I decided to test the BinaryFormatter against manually
serializing objects one field at a time using tools like BitConverter.
</p>
        <p>
I created a class  with a few properties of each serializable type, and
some code to generate 1000 objects populating each with random data. Then, I wrote
a helper class to wrap up methods for serializing/deserializing each type, and then
wrote a test harness to go through a cycle where I serialize, deserialize and compare
the property values of each object to the original, all the while keeping track of
how much time it took. For each run through I serialized using the BinaryFormatter
and also using my code.
</p>
        <p>
The result?  Here are the results from 5 iterations through the loop. I let it
run for 15 minutes and the results were roughly the same.
</p>
        <p>
          <font color="#000080">serializing...<br />
formatter serialize: 148ms, size: 11949508 bytes<br />
manual serialize: 78ms, size: 11550558 bytes<br />
serializer difference: 
<br />
    70ms (<strong>190% faster</strong>)<br />
    398950 bytes (4% smaller)<br />
deserializing...<br />
formatter deserialize: 110ms<br />
manual deserialize: 54ms<br />
deserializer difference: 
<br />
    56ms (<strong>204% faster</strong>)<br />
Results Match</font>
        </p>
        <p>
          <font color="#000080">serializing...<br />
formatter serialize: 141ms, size: 11949508 bytes<br />
manual serialize: 77ms, size: 11550558 bytes<br />
serializer difference: 
<br />
    64ms (<strong>183% faster</strong>)<br />
    398950 bytes (4% smaller)<br />
deserializing...<br />
formatter deserialize: 112ms<br />
manual deserialize: 43ms<br />
deserializer difference: 
<br />
    69ms (<strong>260% faster</strong>)<br />
Results Match</font>
        </p>
        <p>
          <font color="#000080">serializing...<br />
formatter serialize: 167ms, size: 11949508 bytes<br />
manual serialize: 79ms, size: 11550558 bytes<br />
serializer difference: 
<br />
    88ms (<strong>211% faster</strong>)<br />
    398950 bytes (4% smaller)<br />
deserializing...<br />
formatter deserialize: 118ms<br />
manual deserialize: 41ms<br />
deserializer difference: 
<br />
    77ms (<strong>288% faster</strong>)<br />
Results Match</font>
        </p>
        <p>
          <font color="#000080">serializing...<br />
formatter serialize: 162ms, size: 11949508 bytes<br />
manual serialize: 68ms, size: 11550558 bytes<br />
serializer difference: 
<br />
    94ms (<strong>238% faster</strong>)<br />
    398950 bytes (4% smaller)<br />
deserializing...<br />
formatter deserialize: 111ms<br />
manual deserialize: 56ms<br />
deserializer difference: 
<br />
    55ms (<strong>198% faster</strong>)<br />
Results Match</font>
        </p>
        <p>
          <font color="#000080">serializing...<br />
formatter serialize: 155ms, size: 11949508 bytes<br />
manual serialize: 70ms, size: 11550558 bytes<br />
serializer difference: 
<br />
    85ms (<strong>221% faster</strong>)<br />
    398950 bytes (4% smaller)<br />
deserializing...<br />
formatter deserialize: 105ms<br />
manual deserialize: 36ms<br />
deserializer difference: 
<br />
    69ms (<strong>292% faster</strong>)<br />
Results Match<br /></font>
        </p>
        <p>
I know what you’re thinking. It would be a real pain to implement your own serializer/deserializer
in every class you want to shred. That’s true, if you code it by hand. This would
be a great job for a code generator. 
</p>
        <p>
Even if you want to code it by hand. Look at the implementation for a class with properties
of Integer, DateTime, String, and Byte Array:
</p>
        <font color="#000000">
          <pre>
            <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
              <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Public</span>
              <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Shared</span>
              <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Function</span> Serialize(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ByVal</span> obj <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> testclass) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Byte</span>() <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> memStream <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">New</span> IO.MemoryStream <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">With</span> obj
ManualSerializer.Serialize(memStream, .Int1) ManualSerializer.Serialize(memStream,
.Date1) ManualSerializer.Serialize(memStream, .String1) ManualSerializer.Serialize(memStream,
.data) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">End</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">With</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> data() <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Byte</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> memStream.ToArray
memStream.Dispose() <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Return</span> data <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">End</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Function</span></span>
          </pre>
        </font>
        <p>
          <font color="#000000">Pretty Easy. Here’s the DeSerialize Implementation for the same
object:</font>
        </p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Public</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Shared</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Function</span> Deserialize(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ByVal</span> data() <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Byte</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ByVal</span> offset <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> Int32) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> testclass <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> obj <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">New</span> testclass <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">With</span> obj
ManualSerializer.DeSerialize(data, offset, .Int1) ManualSerializer.DeSerialize(data,
offset, .Date1) ManualSerializer.DeSerialize(data, offset, .String1) ManualSerializer.DeSerialize(data,
offset, .data) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">End</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">With</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Return</span> obj <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">End</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Function</span></span>
        </pre>
        <p>
In the Deserialize sub, the offset and the result variable are passed ByRef. That
makes it easy for the deserialize code to keep track of the running offset in the
byte array, and makes it darn easy to call from your code.
</p>
        <p>
Download my test code at <a href="http://libra.franklins.net/ManualSerializeTest.zip">http://libra.franklins.net/ManualSerializeTest.zip</a></p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=6653a27a-e1f8-4984-9615-1bbf1ee3d45f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>My weekend struggle with my PC, otherwise known as "The Beast"</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/05/17/MyWeekendStruggleWithMyPCOtherwiseKnownAsTheBeast.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,19f11a6d-3829-46d9-869d-e22ea5554e4f.aspx</id>
    <published>2009-05-17T12:46:33.9380256-04:00</published>
    <updated>2009-05-17T12:46:33.9380256-04:00</updated>
    <category term="Vista and .NET 3.0" label="Vista and .NET 3.0" scheme="http://www.intellectualhedonism.com/CategoryView,category,VistaAndNET30.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
It all started innocently enough. My brother needed a 1TB hard drive for his NAS RAID
array, when one of his died. I had a spare, which I had used as a backup drive, in
my machine. So I copied everything off it to my NAS (we both now have big NAS drives)
and removed the hard drive from my system. I left for TechEd 2009 in Los Angeles without
restarting my machine.
</p>
        <p>
Well, I get a call from the guys at the studio on Monday. My machine simply says "Bootmgr
Missing. Press Ctrl+Alt+Del to restart." Now, I run Windows Server 2008 which
I have optimized for desktop use, which is really Vista 64-Bit at its core.
</p>
        <p>
This has happened before, I thought. Every time you add or remove a hard drive on
my system the BIOS takes all hard drives out of the boot order list. Curiously though,
on this machine, you have to have a bootable CD or DVD in the CD-ROM drive in order
for the system to boot.  You also have to make the CD-ROM drive the first device
in the boot order list. When you get the "Press any Key to Boot from CD-ROM"
message you just ignore it and it boot's up just fine. I never thought much of
that.  So, I instructed Lawrence how to go into the BIOS and make the change.
Interestingly, though, that didn't work. Not only that, but we weren't getting the
"Press any key to boot from CD-ROM" message anymore. Hmmm...
</p>
        <p>
We muddled through getting the shows published somehow, albeit late, and I attacked
the problem when I got home from LA Friday night. Turns out the hard drive that has
windows on it did NOT have the required boot files, and instead, when Windows was
installed, it put the boot files on a different hard drive! Guess which one? Yep,
the one I gave to my brother, which was now part of his NAS device... which it turns
out didn't work for him. Crap.
</p>
        <p>
The next several hours were painful. I went looking on the net for answers and found
them, but my situation was just unique enough that there wasn't any complete solution
out there.
</p>
        <p>
I put the Windows DVD in the drive and booted it into the setup. You come to a screen
where you can either install windows or repair an existing installation. Good. We're
getting somewhere. It then shows you a list of existing Windows installations. Guess
what? Nothing. Setup didn't recognize my existing installation. great.
</p>
        <p>
There's an option to open a command window. I did. I started looking around at all
the drives. The DVD had a boot directory and several files associated with it, and
the system drive didn't. So, I copies those files over thinking that would at least
give me a good start. Turned out I was right. I needed those files.
</p>
        <p>
I figured out from web searches that I needed to run DISKPART and set the system partition
as the active partition. First I needed to know the drive number and partition number.
So, if you find yourself in this position, run DISKPART at the command prompt. You
then enter in commands, which I've highlighted in red.
</p>
        <p>
          <strong>DISKPART&gt; <font color="#ff0000">list disk</font></strong>
        </p>
        <p>
          <strong>  Disk ###  Status      Size    
Free     Dyn  Gpt<br />
  --------  ----------  -------  -------  ---  ---<br />
  Disk 0    Online       466 GB     
0 B<br />
  Disk 1    Online       140 GB     
0 B<br />
  Disk 2    Online       140 GB     
0 B</strong>
        </p>
        <p>
Once you know the disk number you select the disk you want to work with this way:
</p>
        <p>
          <strong>DISKPART&gt; <font color="#ff0000">select disk 0</font></strong>
        </p>
        <p>
          <strong>Disk 0 is now the selected disk.</strong>
        </p>
        <p>
Then, you select the partition, but you need to know which one it is. Do this:
</p>
        <p>
          <strong>DISKPART&gt; <font color="#ff0000">list partition</font></strong>
        </p>
        <p>
          <strong>  Partition ###  Type             
Size     Offset<br />
  -------------  ----------------  -------  -------<br />
  Partition 1    Primary           
466 GB    32 KB</strong>
        </p>
        <p>
Now you can seelct the partition thusly:
</p>
        <p>
          <strong>DISKPART&gt; <font color="#ff0000">select partition 1</font></strong>
        </p>
        <p>
          <strong>Partition 1 is now the selected partition.</strong>
        </p>
        <p>
Now just simply type
</p>
        <p>
          <strong>DISKPART&gt; <font color="#ff0000">active</font></strong>
        </p>
        <p>
After you've made the system partition the active partition, then you need to fix
and rebuild the BCD bootloader. type exit to get out of DISKPART, and from the command
prompt enter:
</p>
        <p>
          <strong>bootrec /fixmbr</strong>
        </p>
        <p>
This worked. Great! Next step.
</p>
        <p>
          <strong>bootrec /fixboot</strong>
        </p>
        <p>
When I did this I got "Element not found." with no further explanation. Crap.
</p>
        <p>
This one took me the hardest time to figure out. After hours and hours and hours,
I somehow got the idea to remove all of the other hard drives in the system and try
it again. That was the magic bullet. Once the other hard drives were removed,
I found out I had to go back into DISKPART and set the active partition again.
</p>
        <p>
After doing <strong>bootrec /fixbcd</strong> you have to do this:
</p>
        <p>
          <strong>bootrec /rebuildbcd</strong>
        </p>
        <p>
I was also getting Element not found on this one until I removed the other hard drives
and set the correct partition as active.
</p>
        <p>
So that was it. Everything worked and booted up just fine after that. I still can't
help but wonder why this process is so difficult. If Windows Setup is going to possibly
be writing boot records to drives other than the system drive, don't you think there
should be an easier process for making that drive bootable. 
</p>
        <p>
I remember in the days of Windows 2000 and before, you could simply say "SYS C:" to
make the C: drive bootable. I guess those days are gone.
</p>
        <p>
I hope Windows 7 is easier to deal with.
</p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=19f11a6d-3829-46d9-869d-e22ea5554e4f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Drive My Car</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/04/17/DriveMyCar.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,7cd45c8a-6c55-4e6e-afbf-4d48f7646415.aspx</id>
    <published>2009-04-16T21:12:26.8259376-04:00</published>
    <updated>2009-04-16T21:12:26.8259376-04:00</updated>
    <category term="Music" label="Music" scheme="http://www.intellectualhedonism.com/CategoryView,category,Music.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ok, so you want to know how that solo project session went? It was beyond words. The
ideas filled the room and solidified quickly, the musicians played off each other
like we'd been playing all our lives, and the soul was overwhelming. The entire album
will be available once I'm done getting horn parts done, and one of the tunes still
need lyrics. 
</p>
        <p>
This is the first cut, nearly done. It will have horns on the final, but I can't keep
it to myself any longer. It's a funk cover of Drive My Car by the Beatles. I did the
arrangement, and everyone did their own improv solos on the spot. Nothing was written
out except for the form. 
</p>
        <p>
          <a href="http://libra.franklins.net/DriveMyCarMix4.mp3">
            <strong>http://libra.franklins.net/DriveMyCarMix4.mp3</strong>
          </a>
        </p>
        <p>
Of course, your thoughts would be greatly appreciated.
</p>
        <p>
Photo by <a href="http://ko-kr.facebook.com/people/Serinol-Lowman/741408878">Serinol
Lowman</a>. Click to enlarge
</p>
        <p>
          <a href="http://libra.franklins.net/media/photos/nivris/CFL-117.jpg">
            <img src="http://www.intellectualhedonism.com/content/binary/nivris_band.jpg" border="0" />
          </a>
        </p>
        <p>
Al Laporte, Carl Franklin, Matt Covey, Andy Chaney
</p>
        <p>
There are more photos too, which will be available with the album.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=7cd45c8a-6c55-4e6e-afbf-4d48f7646415" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The 64-Bit Question, a .NET Rocks! Quiz Show</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/04/03/The64BitQuestionANETRocksQuizShow.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,caab155a-71ed-4a20-8bfb-1363c9750816.aspx</id>
    <published>2009-04-02T20:04:03.515-04:00</published>
    <updated>2009-04-02T20:04:47.2549568-04:00</updated>
    <category term="dnr" label="dnr" scheme="http://www.intellectualhedonism.com/CategoryView,category,dnr.aspx" />
    <category term="Funny Stuff" label="Funny Stuff" scheme="http://www.intellectualhedonism.com/CategoryView,category,FunnyStuff.aspx" />
    <category term="Rory" label="Rory" scheme="http://www.intellectualhedonism.com/CategoryView,category,Rory.aspx" />
    <category term="Rory Blyth" label="Rory Blyth" scheme="http://www.intellectualhedonism.com/CategoryView,category,RoryBlyth.aspx" />
    <category term="Video" label="Video" scheme="http://www.intellectualhedonism.com/CategoryView,category,Video.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Back in October, 2006 we recorded the 200th episode of <a href="http://www.dotnetrocks.com">.NET
Rocks!</a> at Pwop Studios. Richard Campbell, Mark Dunn, Rory Blyth, Mark Miller,
and Geoff Macioleck all participated. 
</p>
        <p>
        </p>
        <p>
We recorded it on video. Here is the second half of that video, in which I asked the
co-hosts (Richard, Rory, and Mark) questions about the show. A correct answer means
some listener got a piece of swag. Funny stuff. 
</p>
        <p>
        </p>
        <p>
          <b>Warning: adult language and themes</b>. Click the picture below to see the video
with Silverlight. 
</p>
        <p>
        </p>
        <p>
          <a target="top" href="http://libra.franklins.net/64bit/">
            <img border="0" src="http://www.intellectualhedonism.com/content/binary/64bit.jpg" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=caab155a-71ed-4a20-8bfb-1363c9750816" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Some of the funniest Youtube videos I've ever seen</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/02/17/SomeOfTheFunniestYoutubeVideosIveEverSeen.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,2fc2a5d6-5fe7-409a-817b-d2adaa15e13d.aspx</id>
    <published>2009-02-17T04:50:20.847-05:00</published>
    <updated>2009-02-17T04:54:04.719576-05:00</updated>
    <category term="Funny Stuff" label="Funny Stuff" scheme="http://www.intellectualhedonism.com/CategoryView,category,FunnyStuff.aspx" />
    <content type="html">&lt;p&gt;
I have been laughing my ass off over these, and decided to share:
&lt;/p&gt;
&lt;p&gt;
First, Joe Cocker translated...
&lt;/p&gt;
&lt;p&gt;
&lt;object height=344 width=425&gt;
&lt;param name="movie" value="http://www.youtube.com/v/SpjNLjBbVd4&amp;amp;hl=en&amp;amp;fs=1"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/SpjNLjBbVd4&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;
Next, the famous "shreds" series. This guy took concert videos and "redid" the sound.
Can't stop laughing. Once you see one, you'll be hooked.
&lt;/p&gt;
&lt;p&gt;
&lt;object height=344 width=425&gt;
&lt;param name="movie" value="http://www.youtube.com/v/2BrLEuzVCVQ&amp;amp;hl=en&amp;amp;fs=1"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/2BrLEuzVCVQ&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;
Larry Miller: The Five Levels of Drinking. The audio is what it's all about. I don't
know about the video stuff...
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;object width="425" height="344"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/2HCErr1igxo&amp;hl=en&amp;fs=1"&gt;&gt;
&lt;param name="allowFullScreen" value="true"&gt;&gt;
&lt;param name="allowscriptaccess" value="always"&gt;&gt;&lt;embed src="http://www.youtube.com/v/2HCErr1igxo&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=2fc2a5d6-5fe7-409a-817b-d2adaa15e13d" /&gt;</content>
  </entry>
  <entry>
    <title>First Solo Album Project</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/02/13/FirstSoloAlbumProject.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,c75296a3-cd96-41fe-9e68-a7bffe9561ee.aspx</id>
    <published>2009-02-13T18:40:44.8435312-05:00</published>
    <updated>2009-02-13T18:40:44.8435312-05:00</updated>
    <category term="Music" label="Music" scheme="http://www.intellectualhedonism.com/CategoryView,category,Music.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had a crazy impulsive idea a few months ago. My ex and kids are going on vacation
for a week, and I wanted to do something in the studio. So I had the staff edit up
next week's shows in advance, turned down a couple gigs, and hired three of the best
musicians in the area to live in the studio with me for a week and crank out an album
of original funk and blues music, with a couple covers. 
</p>
        <p>
Franklin Brothers' drummer and local skinbanger Matt Covey is playing drums, Amazing
Al Laporte is on piano/keys, and the *ridiculously* talented Andy Chaney is on bass.
I'm playing guitar and singing. We'll also have horns and backup singers on the final
product. This week is all about getting the rhythm section down.
</p>
        <p>
We'll be working Sunday through Friday 6pm to 2am.
</p>
        <p>
I can't wait.
</p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=c75296a3-cd96-41fe-9e68-a7bffe9561ee" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Mondays #77 - The Baby Show</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2009/01/18/Mondays77TheBabyShow.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,4508fbda-3d2b-4b49-a22b-64848224b3af.aspx</id>
    <published>2009-01-18T09:26:35.8137942-05:00</published>
    <updated>2009-01-18T09:26:35.8137942-05:00</updated>
    <category term="Mondays" label="Mondays" scheme="http://www.intellectualhedonism.com/CategoryView,category,Mondays.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://mondays.pwop.com/default.aspx?showID=86">
            <img alt="" src="http://www.intellectualhedonism.com/content/binary/mondays.jpg" border="0" />
          </a>
        </p>
        <p>
          <span>
            <b>
              <font color="brown" size="4">
                <a href="http://mondays.pwop.com/default.aspx?showID=86">The
Baby Show</a>
              </font>
            </b>
          </span>
        </p>
        <p>
          <span id="ShowLatest1_lblDescription">Karen brings the baby to the show! Mark gets
no sex for 8 weeks. Carl has rats. Baby gets motor oil for Christmas. Karen reviews
a new connection film. You'll never guess who it's about. Mark gives the tards the
respect they deserve, and Richard finds the coolest toy ever. Ever.</span>
        </p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=4508fbda-3d2b-4b49-a22b-64848224b3af" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Mondays #76 is Online!!</title>
    <link rel="alternate" type="text/html" href="http://www.intellectualhedonism.com/2008/12/15/Mondays76IsOnline.aspx" />
    <id>http://www.intellectualhedonism.com/PermaLink,guid,f974a738-45a6-451d-bb3e-a6348f2980a4.aspx</id>
    <published>2008-12-15T04:30:08.8057984-05:00</published>
    <updated>2008-12-15T04:30:08.8057984-05:00</updated>
    <category term="Mondays" label="Mondays" scheme="http://www.intellectualhedonism.com/CategoryView,category,Mondays.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I know that we aren't announcing shows on my blog anymore, but this is a special occasion. 
</p>
        <p>
          <a href="http://mondays.pwop.com/default.aspx?showID=84">
            <img alt="" src="http://www.intellectualhedonism.com/content/binary/mondays.jpg" border="0" />
          </a>
        </p>
        <p>
          <span>
            <b>
              <font color="brown" size="4">
                <a href="http://mondays.pwop.com/default.aspx?showID=84">Change</a>
              </font>
            </b>
          </span>
        </p>
        <p>
          <span id="ShowLatest1_lblDescription">All we're saying is that true Mondays fans will
be shocked. And not by the language (although we no longer bleep - you've been warned).</span>
        </p>
        <img width="0" height="0" src="http://www.intellectualhedonism.com/aggbug.ashx?id=f974a738-45a6-451d-bb3e-a6348f2980a4" />
      </div>
    </content>
  </entry>
</feed>