<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Dead Beef Cafe</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/" />
    <link rel="self" type="application/atom+xml" href="http://www.deadbeefcafe.org/atom.xml" />
    <id>tag:www.deadbeefcafe.org,2009-02-26://2</id>
    <updated>2009-05-16T21:35:42Z</updated>
    <subtitle>Computer Security, Geek Stuff, and Food</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.23-en</generator>

<entry>
    <title>fun with cat</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2009/05/fun-with-cat.html" />
    <id>tag:www.deadbeefcafe.org,2009://2.64</id>

    <published>2009-05-16T21:19:55Z</published>
    <updated>2009-05-16T21:35:42Z</updated>

    <summary>No, not the feline kind.I was reading a good book the other day (Hacking: The Art of Exploitation) when I ran into something that I hadn&apos;t thought about before:cat foo - | programSuch a simple little thing, and immediately I...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Geekery" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[No, not the feline kind.<br /><br />I was reading a good book the other day (<a href="http://nostarch.com/hacking2.htm">Hacking: The Art of Exploitation</a>) when I ran into something that I hadn't thought about before:<br /><br /><br /><blockquote>cat foo - | program<br /></blockquote><br />Such a simple little thing, and immediately I want "Oh!&nbsp; How come I didn't make that connection before?"&nbsp; It makes perfect sense, first it shoves the contents of foo to program and then hands control back to the user.&nbsp; How utterly useful at times.<br /><br />It got me to thinking, could I get away with:<br /><br /><blockquote>cat - - foo | program<br /></blockquote><br />And sure enough, that works too!&nbsp; Utility, I think there might be a use or two, but so far the ones I've come up with are sort of contrived.<br /><br />And finally, an alternate method:<br /><br /><blockquote>perl -e 'stuff(); while(&lt;&gt;) { print;} ; other_stuff()' | program<br /></blockquote><br />Also works quite sufficiently (not that it would be any surprise.<br /><br />Now why hadn't I thought of this before?&nbsp; I'm not sure, but now I have and it's added to my toolkit.<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Chat spam fail</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2008/08/chat-spam-fail.html" />
    <id>tag:new.deadbeefcafe.org,2008://2.55</id>

    <published>2008-08-16T16:44:39Z</published>
    <updated>2009-02-26T23:09:05Z</updated>

    <summary>I tend to leave my chats signed in, just throw up a &apos;not here now&apos; sort of message. Or just walk away from the computer and forget about them. Sometimes, this leads to amusing things. Recently, I&apos;ve been getting hit...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Rants" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[I tend to leave my chats signed in, just throw up a 'not here now' sort of message.  Or just walk away from the computer and forget about them.  Sometimes, this leads to amusing things. 

Recently, I've been getting hit with tons of one-line spammers telling me to chat particular yahoo accounts.  Yeah, sure, that's going to happen.

This morning though, I got this amusing tidbit:<br /><br /><blockquote>
(04:38:36 AM) honneybunss22: hihi! you're from chat right?
<br />(04:41:40 AM) honneybunss22: cool, sorry i type a little slow. 18f in college here, what are you up to?
<br />(04:47:38 AM) honneybunss22: u wanna se more? i'm feeling kinda wild right now<br />(04:50:37 AM) honneybunss22: i'm gonna send you a cam invite here k?
<br />(04:53:34 AM) honneybunss22: ok sent, did you get it?
<br />(04:56:32 AM) honneybunss22: hmm.. let me try again, hang on
<br />(04:59:35 AM) honneybunss22: what about now?
<br />(05:02:39 AM) honneybunss22: ugh, this is stupid, this always happens to me when i use yahoo
<br />(05:11:42 AM) honneybunss22: k, you just need a CC or debit to verify ur over 18, even an expired one works. we can't have little ones seeing what im about to do lol
<br />(05:14:35 AM) honneybunss22: let me know when u make ur username, so i can link u to my cam profile
<br />(05:20:34 AM) honneybunss22: ok you're good to go
</blockquote>

No, I didn't redact or change anything.

Let me count the fails:

1) It's acting as if I sent it messages in response... no messages were sent.
2) It takes it almost an hour to go through the whole sequence (I wonder if it would have gone quicker if a cat had walked on the keyboard)
3) They don't ever tell me where the site is, just that I should go there.
4) Granted, I suppose court cases have decided that providing a CC is proof of age?  But I'm sure that if little Johnny wanted to be a brat, he could snag a CC from a wallet or purse, especially at 5am in the morning.
5) Grammar, I know mine is sometimes a little off, but at least a bot could be kind enough to use complete words instead of sms-speak.

I know, boring, but it amused me this morning as I was vaguely waking up.]]>
        
    </content>
</entry>

<entry>
    <title>Countdown... </title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2008/08/countdown.html" />
    <id>tag:new.deadbeefcafe.org,2008://2.54</id>

    <published>2008-08-05T02:12:31Z</published>
    <updated>2009-02-27T16:29:03Z</updated>

    <summary>RSA, as many of you may have heard in other blogs was a silly rehash of vague promises of &apos;securing your enterprise&apos; and &apos;vertical security&apos; without anyone actually being willing to put on their material what their products did and...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Geekery" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p><span class="caps">RSA, </span>as many of you may have heard in other blogs was a silly rehash of vague promises of 'securing your enterprise' and 'vertical security' without anyone actually being willing to put on their material what their products did and didn't do.  I don't like it when I look at a booth and I see nothing that indicates what technology or technologies are being sold.  If you're a <span class="caps">VPN </span>product, tell me you're a <span class="caps">VPN </span>product, don't advertise as "securing your remote users".  It's way too vague, and on top of that, it's probably not true.</p>

<p>Tomorrow I depart for Blackhat and defcon.  I expect to see no fluff, no vague promises of security as a service, or other over-generalized hogwash as an attempt to lure me in and waste my time on a product space that either I've already bought, already discarded, or have been told I have no budget to purchase.  I do expect some vendors, providing parties (yay!) and useful information about their products.  I expect some excellent talks (anyone that hasn't heard that <a href="http://doxpara.com">Dan Kaminsky</a> will be talking about the <span class="caps">DNS </span>flaws at blackhat has been living under a rock for too long) on a wide range of topics, some of which will not be of interest and some of which will undoubtedly be way over my head (but I like the feeling of drowning in information technology overload).</p>

<p>For the first time, one of my co-workers will be in attendance, and my boss.  Oh joy.</p>

<p>My plan is to post some highlights of things that especially catch my attention.  Hopefully you'll find them as interesting as I do or did when I see them.  (What is the correct tense when talking about things in the future that will be in the past when you will be talking about them?)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Robust Programming</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2008/01/robust-programming.html" />
    <id>tag:new.deadbeefcafe.org,2008://2.53</id>

    <published>2008-01-23T20:41:23Z</published>
    <updated>2009-02-27T16:30:41Z</updated>

    <summary>I was perusing some job descriptions recently, and ran across the interesting phrase &quot;robust programming&quot;. The manner in which it was in the job description seemed to indicate that it was likely more than my immediate thought on the topic....</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>I was perusing some job descriptions recently, and ran across the interesting phrase "robust programming".</p>

<p>The manner in which it was in the job description seemed to indicate that it was likely more than my immediate thought on the topic.  Robust meaning that it has a quality of being sturdy and able to withstand change, I took this to mean that it was a form of fail-safe programming.  That it was the concepts that you program to gracefully and properly handle errors, and try to write programs in a fashion that they were difficult to break.  Being curious, I went out into that great big research resource (aka The Internet) and did a couple searches to see if I could find more information. </p>

<p>Of course, I did.</p>

<p>First stop, wikipedia:</p>

<blockquote>
In computing terms, robustness is the resilience of the system under stress or when confronted with invalid input. It is   the ability of the software system to maintain function even with the changes in internal structure or external environment. For example, an operating system is considered robust if it operates correctly when it is starved of memory or disk storage space, or when confronted with an application that has bugs or is behaving in an "illegal" manner, such as trying to access memory or storage belonging to other tasks in a multitasking system.<br />
</blockquote>

<p>Ages ago, when I was learning object oriented programming for the first time, I recall learning about Parnas' Principle which states: </p>

<blockquote>
      	<li>  The developer of a software component must provide the intended user with all the information needed to make effective use of the services provided by the component, and should provide no other information.
    </li><li>  The developer of a software component must be provided with all the information necessary to carry out the given responsibilities assigned to the component, and should be provided with no other information.
</li></blockquote>


<p>So, both sides of an object, a function, a method, a procedure, a program, etc. should give the other side all the information they need to take the expected action, and only the information needed.  This fits in very well with security models, only tell them what they need to know to do what they are supposed to do, and only accept the information that is necessary for the action but only the information needed for the action.</p>

<p>In my searching, I ran into what seems like a very thorough covering of the topic of <a href="http://nob.cs.ucdavis.edu/%7Ebishop/secprog/robust.html" target="_blank">robust programming by Matt Bishop at <span class="caps">UCD</span>avis</a></p>

<p>It's interesting reading, and makes you realize how fragile the typical programming really is.  One thing that I hadn't thought about previously, when you get a data structure as part of an interface to a library, how much can you mangle the structure by filling it with inappropriate values and get 'unexpected results' which can be used to your advantage.</p>

<p>Hopefully, with more use of test-driven developement, pair programming, robust programming, and people focusing on writing bomb-proof code, we will see fewer security issues in software.</p>

<p>Honestly, I'm not holding my breath because everyone seems to think that their code is either invulnerable, or not important enough for someone to care about how secure it is.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Orzo Pasta Salad</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2008/01/orzo-pasta-salad.html" />
    <id>tag:new.deadbeefcafe.org,2008://2.52</id>

    <published>2008-01-23T20:36:30Z</published>
    <updated>2009-02-27T16:31:08Z</updated>

    <summary>I recently had a party for a bunch of friends, and while I like pasta salads they have in the past gone largely untouched. This makes me sad, so I decided to throw together a different kind of pasta salad,...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>I recently had a party for a bunch of friends, and while I like pasta salads they have in the past gone largely untouched.  This makes me sad, so I decided to throw together a different kind of pasta salad, thinking that possibly that was the problem.  (Not everyone likes the typical mayonnaise-coated pasta salads, though I admit to being similarly picky.)</p>

<p>i decided on something vaguely mediterranean themed, but without the olives (because I can't stand them).  The ingredient list I came up with was:</p>

<ul>
<li>Orzo
</li><li>Olive Oil (Good quality extra virgin)
</li><li>Garlic, minced
</li><li>Basil, chiffonade
</li><li>Salt and Pepper, ground
</li><li>Artichoke hearts, sliced
</li><li>Feta, sliced (a good feta, please)
</li><li>Prosciutto, sliced into thin strips
</li><li>Lightly Roasted Pine Nuts
</li>
<p>
</p><li> Optional:  Olives, also sliced.
</li></ul>
<p>Chop the garllic and basil and dump into a bunch of olive oil and let sit as you cook the orzo per the directions.  You can work on prepping the artichokes, the feta, the prosciutto, and <strong>shudder</strong> the olives while the orzo is cooking.  (Honestly, I also did the olive oil, garlic, and basil while the pasta was cooking as well.)  Pour the hopefully seasoned olive oil, with all the seasonings over the orzo and stir.  Use a big bowl with lots of room, think of it as similar to making sushi rice where you want to get it nice and fluffy.  Add more olive oil and basil chiffonade as appears reasonable.  Dump in the artichoke hearts and stir through. Salt and pepper some, remember that there the feta and prosciutto are going to add to the flavors.   Once the orzo has cooled sufficiently (this may be aided with a refrigerator) add the feta and the prosciutto, again stir through.  Do a final taste and season with salt and pepper, and if anything else in the spice rack looks like it should be added feel free to improve(-ize).  Chill for a couple hours and serve.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Mounting at an offset</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2007/06/64.html" />
    <id>tag:new.deadbeefcafe.org,2007://2.51</id>

    <published>2007-06-14T00:38:35Z</published>
    <updated>2009-02-27T08:03:34Z</updated>

    <summary>A couple days ago my officemate had a computer blow up. The typical &quot;oh I smell the ozone&quot; sort of power supply death syndrome. No big deal, he&apos;s a good computer guy, yank the hard drives out, throw them into...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Geekery" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>A couple days ago my officemate had a computer blow up.  The typical "oh I smell the ozone" sort of power supply death syndrome.  No big deal, he's a good computer guy, yank the hard drives out, throw them into external enclosures, and bring them up on another machine to grab the desired data.</p>

<p>Unfortunately, the disk with the work data on it decided that it didn't like this tactic at all, and said no to mounting.  He worked at it a little bit, and then handed it to me.</p>

<p>Now I'm sure all of you have been handed a reasonably big disk to deal with forensically, you copy the disk so you can work on a copy of the copy and have a copy to copy to start work on again when you totally bork the situation and want to start over from scratch (which is why you copy from the original to start off with, and why did you copy the copy?  Cause an external Firewire or <span class="caps">USB</span> 2.0 isn't going to be as fast as an internal disk-to-disk copy of that same 200+GB.)</p>

<p>Hit it up with the usual tools, mmls<sup class="footnote"><a href="http://www.deadbeefcafe.org/2007/06/64.html#fn1">1</a></sup> to show me what the partition table looked like in the file, then fdisk to go in and look at it again:</p>


<p>fdisk image.dd</p>

<p>The number of cylinders for this disk is set to 378602.<br />
There is nothing wrong with that, but this is larger than 1024,<br />
and could in certain setups cause problems with:<br />
1) software that runs at boot time (e.g., old versions of <span class="caps">LILO</span>)<br />
2) booting and partitioning software from other OSs<br />
   (e.g., <span class="caps">DOS FDISK,</span> OS/2 <span class="caps">FDISK</span>)</p>

<p>Command (m for help): p</p>

<p>Disk /dev/sdd: 250.0 <span class="caps">GB,</span> 250059350016 bytes<br />
86 heads, 15 sectors/track, 378602 cylinders<br />
Units = cylinders of 1290 * 512 = 660480 bytes</p>

<p>   Device Boot      Start         End      Blocks   Id  System<br />
/dev/sdd1   *           1      208090   134217727+   4  <span class="caps">FAT16 </span>&lt;32M</p>



<p>After changing the partition type to 0x07 (NTFS), it was time to rip that partition out again, and  mount it up.  Start 'dcfldd if=image.dd of=image.c.img bs=512 skip=1 status=on'<sup class="footnote"><a href="http://www.deadbeefcafe.org/2007/06/64.html#fn2">2</a></sup> (this time it's not a forensics case I'm just trying to get some files for a friend so who cares about <span class="caps">MD5 </span>hashes).  Sit back and wait, and wait, and wait. </p>

<p>I admit it, I'm not patient a lot of the time.  When I start something like this I want it done, I don't want to have to wait, so I tend to keep fiddling with something while the long process is running.  This time it definitely paid off.</p>

<p>I went looking for what the bits were that indicated the start of an <span class="caps">NTFS </span>filesystem, and found a little write-up ( <a href="http://www.ntfs.com/ntfs-partition-boot-sector.htm" target="_blank">http://www.ntfs.com/ntfs-partition-boot-sector.htm</a> ) that told me precisely what I wanted to know.  With a little bit of knowledge and knowing a few tools you can get into a lot of trouble :), I whipped out head, and hexdump, and less, and put together: </p>

<p>head -500k image.dd | hexdump -C | less </p>

<p>And started looking for the header, and found it 0x7e00 ... which with a little math one figures out is 32k bytes into the file.  You'll also note that this is not where I started to cut the file apart with dd, you'll notice that I started at byte 512.  Now that I've been letting the earlier dd run for most of the day while working on other things, I didn't really want to restart it at the new offset so I went looking for an alternative...  and found it!</p>

<p>mount -t ntfs -o loop,ro,offset=0x7e00 image.dd /mnt</p>

<p>Yup, that's right, you can mount starting at an offset.  If you happen to know where the filesystem header is, just point mount at it and let it figure it out.  Having figured that out, and it worked great, the entire contents of the filesystem were there, and I started tarring off the files from it that my officemate wanted.  But now I had a thought, if I can do a fix to the partition table of the original disk, then I can hand him the external disk in an enclosure and it gets even easier.  A little trip into fdisk again, and I am able to again try to mount the actual drive... and it doesn't like me.  I think it had something to do with that starting sector being set to 1.  On a whim, I decided to try:</p>

<p>mount -t ntfs -o ro,offset=0x7e00 /dev/sdd /mnt</p>

<p>and discovered that it will do the same thing with hardware as with a loop interface.  I don't think I'm fearless enough that I'm willing to try to mangle the partition table to point it at the right location.  I'll let the tar finish, and give my officemate the tar so he can have the files he cares about back, and we can wipe the drive and start over entirely.</p>

<p>[1] mmls is part of The Sleuthkit, available at:  <a href="http://www.sleuthkit.org/sleuthkit/index.php" target="_blank">http://www.sleuthkit.org/sleuthkit/index.php</a><br />
<sup class="footnote"><a href="http://www.deadbeefcafe.org/2007/06/64.html#fn2">2</a></sup> dcfldd is an 'improved' dd, which includes things like status, and hashing of the data transfered.  It's available at: <a href="http://dcfldd.sourceforge.net/" target="_blank">http://dcfldd.sourceforge.net/</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Thank you Blackhat, again</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2007/02/thank-you-blackhat-again.html" />
    <id>tag:new.deadbeefcafe.org,2007://2.50</id>

    <published>2007-02-27T16:26:59Z</published>
    <updated>2009-02-27T16:33:05Z</updated>

    <summary>A couple years ago Blackhat (http://www.blackhat.com) was embroiled in a legal battle between Cisco Systems and Mike Lynn about a presentation he was giving on breaking into Cisco&apos;s IOS. We won&apos;t go into the details about that here but you...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Rants" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>A couple years ago Blackhat (<a href="http://www.blackhat.com" target="_blank">http://www.blackhat.com</a>) was embroiled in a legal battle between Cisco Systems and Mike Lynn about a presentation he was giving on breaking into Cisco's <span class="caps">IOS. </span> We won't go into the details about that here but you can go read <a href="http://www.granick.com/blog/" target="_blank">Jennifer Granick's journal </a> for the details. </p>

<p>And now Blackhat looks like it might be in the middle again.  <a href="http://www.infoworld.com/article/07/02/26/HNblackhatrfid_1.html" target="_blanks">InfoWorld report</a> that <span class="caps">HID, </span>the proximity <span class="caps">RFID </span>card maker may be going up against <span class="caps">IOA</span>ctive, Inc. to stop a similar presentation that targets their technology, as well as similar technology from other vendors in the same field.</p>

<p>What really gets to me in this case is a quote attributed to <span class="caps">HID </span>from InfoWorld:<br />
<quote><br />
"These systems are installed all over the place. It's not just <span class="caps">HID, </span>but lots of companies, and there hasn't been a problem. Now we've got a person who's saying let's get publicity for our company and show everyone how to do it, and it puts everyone at risk. Where's the sense of responsibility?" Carroll said.<br />
</quote></p>

<p>Where is the responsibility in a security company selling a product that they know has a vulnerability in it?  That their customers might be susceptible to an attack which is mostly public already?  That apparently one researcher took less than a month to put together?</p>

<p>I'm tired of this, I'm tired of hearing about security companies that fail in some major aspect of securing their own devices, working with customers to alleviate or understand problems with the technology they are selling or have sold.  Security in a black box of "trust us this will work" is worthless to the customer.  Why am I tired of this?  Because I see to many examples of it, including:</p>

<p>Default installations of security web applications that leave themselves open to the world.<br />
Security appliances that converse via <span class="caps">SSL </span>that you can't update the certificate.<br />
Security appliances that offer no secured communications channel for device management.</p>

<p>I think, if you're are selling or creating any security device you need to at least hold yourself to a higher standard for protecting it and protecting your customers.  Though I hate to create new legislation, perhaps we need some in this arena.  I envision something where a researcher that finds a flaw is protected by whistleblower style legislation (even if they don't work at the company) and the company must to a notification to customers affected by the problem.</p>

<p>Can I get a hell yeah?</p>

<p>-- decaf out (poor editing and writing attributed to my current fever)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Another Macaroni and Cheese</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2007/01/another-macaroni-and-cheese.html" />
    <id>tag:new.deadbeefcafe.org,2007://2.49</id>

    <published>2007-01-09T21:25:05Z</published>
    <updated>2009-02-27T16:27:09Z</updated>

    <summary>Collect the following ingredients: 1/2 cup of butter (mmmm) 1 tsp mustard salt and pepper 1 chopped onion 1 chopped green pepper 2 cups elbow macaroni 3 cups water 2 cups of cheddar, grated In a large saute of frying...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>Collect the following ingredients:  </p>

<p>1/2 cup of butter (mmmm)<br />
1 tsp mustard<br />
salt and pepper<br />
1 chopped onion<br />
1 chopped green pepper<br />
2 cups elbow macaroni<br />
3 cups water<br />
2 cups of cheddar, grated</p>

<p>In a large saute of frying pan, melt the butter.  Add onion and green pepper and saute for until soft.  Add salt, pepper, mustard, salt, and pepper, then stir to combine.  Add macaroni and fry in butter for 3 to 5 minutes making sure to stir and coat with butter.  Pour in 2 cups of water, cover, let boil.  Stir occasionally until the water is almost gone and then sample.  Use additional water to keep boiling/steaming macaroni as needed until the pasta is cooked.  Remove from heat and add cheese, stir through and serve.</p>

<p>Optional: Add 1 to 2 cups of cubed cooked ham to macaroni a few minutes before removing from the heat.</p>

<p>Takes approx. 15 to 20 minutes and serves up to 6 depending on portion sizes :)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Macaroni and Cheese</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2007/01/macaroni-and-cheese.html" />
    <id>tag:new.deadbeefcafe.org,2007://2.48</id>

    <published>2007-01-06T15:46:20Z</published>
    <updated>2009-02-27T16:34:15Z</updated>

    <summary>12-16 oz elbow pasta 4 Tbs flour 4 Tbs butter 2 cups milk 16 oz cheese (2:1 Monterrey Jack:Cheddar but use whatever you like) grated Preheat oven to 400^F In large pot of boiling water cook pasta until super al-dente,...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>12-16 oz elbow pasta <br />
4 Tbs flour<br />
4 Tbs butter<br />
2 cups milk<br />
16 oz cheese (2:1 Monterrey Jack:Cheddar but use whatever you like) grated</p>


<p>Preheat oven to 400^F<br />
In large pot of boiling water cook pasta until super al-dente, drain set aside pasta</p>

<p>While the pasta is cooking, in a separate pan, melt butter over medium-high heat. When the bubbles start to subside, whisk in the flour and cook until golden brown and there is a distinct nutty aroma. Whisk in milk and cook until thickened. (This is a good time to add additional seasonings such as white pepper, Tobasco sauce, cayenne pepper, dijon mustard etc etc etc). Once the sauce has thickened, turn off the heat and slowly mix in the grated cheese, reserving some for topping the final dish. Mis together the sauce and the pasta and pour into an oven-safe casserole. Sprinkle the remaining cheese on top and bake until the top is brown and crisp. Remove from oven and allow to set for 5-10 minutes and serve.</p>

<p>[Alas no pictures, I really should fix that] </p>]]>
        
    </content>
</entry>

<entry>
    <title>On Making Sauce</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2006/12/on-making-sauce.html" />
    <id>tag:new.deadbeefcafe.org,2006://2.47</id>

    <published>2006-12-07T16:22:02Z</published>
    <updated>2009-02-27T16:35:59Z</updated>

    <summary>Words to the wise from The Ethicurean: Ideally, the flour is whisked into the liquid and thickens it, but does not clump. If you see clumps of flour, you have too much flour. A little butter will thin the mixture,...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>Words to the wise from <a href="http://www.ethicurean.com/2006/12/07/accidental-white-wine-sauce/">The Ethicurean</a>:</p>

<blockquote>Ideally, the flour is whisked into the liquid and thickens it, but does not clump. If you see clumps of flour, you have too much flour. A little butter will thin the mixture, but don't overdo it, or you will enter a vicious cycle of butter- and flour-adjustment. I once ended up with three gallons of turkey gravy through just such a mistake, having started with a mere quart of liquid.</blockquote>]]>
        
    </content>
</entry>

<entry>
    <title>XSS Cheat Sheet</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2006/12/xss-cheat-sheet.html" />
    <id>tag:new.deadbeefcafe.org,2006://2.46</id>

    <published>2006-12-04T16:23:44Z</published>
    <updated>2009-02-27T16:36:23Z</updated>

    <summary>RSnake over at ha.ckers.org has posted a really cool cross site scripting (XSS) cheat sheet. It includes a variety of techniques for testing for the presence of a XSS vulnerability complete with tags for which browsers it works with. A...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Geekery" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>RSnake over at <a href="http://ha.ckers.org/">ha.ckers.org</a> has posted a really cool cross site scripting (<a href="http://en.wikipedia.org/wiki/Cross_site_scripting"><span class="caps">XSS</span></a>) <a href="http://ha.ckers.org/xss.html">cheat sheet</a>. It includes a variety of techniques for testing for the presence of a <span class="caps">XSS </span>vulnerability complete with tags for which browsers it works with. A great tool to add to one's toolbox.</p>]]>
        
    </content>
</entry>

<entry>
    <title>A trio of autumn soups</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2006/11/a-trio-of-autumn-soups.html" />
    <id>tag:new.deadbeefcafe.org,2006://2.45</id>

    <published>2006-11-19T03:45:48Z</published>
    <updated>2009-02-27T16:36:49Z</updated>

    <summary>Ah, fall. When a young woman&apos;s fancy lightly turns to... soup. Lots of hot, hearty soup. And sex, of course, but that doesn&apos;t really require saying. The days are getting chillier, and the winter squashes and root veggies are starting...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>Ah, fall.  When a young woman's fancy lightly turns to... soup.  Lots of hot, hearty soup.  And sex, of course, but that doesn't really require saying.  The days are getting chillier, and the winter squashes and root veggies are starting to come into season, which make excellent soups.</p>

<h3>Butternut Bisque</h3>

<p>This hearty squash soup is savory, not sweet, but with a hint of spice.</p>

<p><em>Ingredients</em><br />
1     small butternut squash<br />
1 apple<br />
14   oz can of chicken broth<br />
2 oz white wine<br />
1/4     tsp crushed red pepper<br />
1/8  tsp ground cinnamon<br />
1/8  tsp ground nutmeg<br />
1/8  tsp ground ginger<br />
1 tbsp chives, fresh chopped</p>

<p><em>Directions</em><br />
1. Halve, peel and clean squash.<br />
2. Slice and core apple.<br />
3. Place squash in ziploc almost completely closed.<br />
4. cook squash in microwave for 7-10 minutes, or until completely soft.<br />
5. cook apple ziploc in microwave for 1 minute or so.<br />
6. Place squash, apple, and enough broth to moisten in blender, and blend until smooth.<br />
7. Pour blended mixture into a medium sauce pan, and add rest of broth, wine, ginger, cinnamon, and red pepper.<br />
8. Bring to a gentle simmer for 5 minutes or so.<br />
9. Ladle into bowls, and garnish with chives.</p>

<h3>Duck-Leek Soup</h3>

<p>I love leeks.&nbsp; And garlic.&nbsp; And shallots. Really, I love the whole allium family.&nbsp; This is a nice low calorie soup, but the duck fat makes it taste very rich and satisfying.<br />
<em>Ingredients</em><br />
18     oz chicken broth<br />
1       leek<br />
1/2    tbsp butter<br />
1/4    chicken or duck, smoked, diced<br />
1       tbsp white flour<br />
<em>Directions</em></p>

<p>1. Wash leek thoroughly<br />
2. Thinly slice entire leek, bulb and leaves.<br />
3. Melt butter in a small sauce pan over medium heat.<br />
4. Toss leek in butter, and cook until limp and slightly transparent.<br />
5. Add flour to pan and toss thoroughly to coat leek.<br />
6. Add broth slowly, stirring constantly to prevent lumps.<br />
7. Add duck and simmer gently for 10 minutes.<br />
8. Serve with a nice german rye bread, or other hearty bread.</p>

<h3>Cassoulet</h3>
This quick-cooking version of an traditional french country stew is very filling, high in fiber, and great for winter lunches. It can also be made in a slow cooker, if you brown the meat beforehand.	

<p><em>Ingredients</em><br />
28	oz baked beans<br />
1	lb lamb<br />
4	oz turkey kielbasa<br />
1/2	medium onion, chopped<br />
1	cup tomatoes, chopped<br />
1/2	cup celery, chopped<br />
1/8	cup garlic, minced or pressed<br />
1/4	cup tomato sauce<br />
2	tbsp blackstrap molasses<br />
2	tbsp rosemary<br />
1	 bay leaf<br />
1	tsp herbes de provence or fines herbes<br />
<em>Directions</em><br />
1. Lightly brown lamb and kielbasa in a large skillet, spraying with cooking spray to keep it from sticking. </p>

<p>2. Add onion, celery, rosemary, herbes d' provence, and half of the garlic. Stir over medium heat until celery and onions are softened.</p>

<p>3. Transfer meat and veggies to large saucepan, and add all remaining ingredients. </p>

<p>4. Simmer over low heat until flavors are well blended or you're dying of hunger. 15 minutes is the bare minimum, but an hour will blend the flavors better.</p>

<p>5. Serve hot, with crusty bread for dipping.</p>]]>
        
    </content>
</entry>

<entry>
    <title>30 minutes to amazing stew</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2006/11/30-minutes-to-amazing-stew.html" />
    <id>tag:new.deadbeefcafe.org,2006://2.44</id>

    <published>2006-11-17T22:47:37Z</published>
    <updated>2009-02-27T16:37:30Z</updated>

    <summary>I made another stew last night, fastest stew I&apos;ve made, and quite possibly the best as well. I figure now that i&apos;ve talked it up that much, you&apos;ll want a full disclosure of what exactly I did to make it...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>I made another stew last night, fastest stew I've made, and quite possibly the best as well.</p>

<p>I figure now that i've talked it up that much, you'll want a full disclosure of what exactly I did to make it taste so great.</p>

<p>First, I got a new kitchen tool, and I can't believe that I haven't gotten one of these before.  A pressure cooker.  The direct application of PV=nRT on food.  Such gloriousness shouldn't have been missing from my kitchen before. Just remember, read the instructions for your pressure cooker, make sure it's behaving or it can become a very dangerous bomb on your stovetop.  This recipe may fill your pressure cooker more than you are comfortable with, reduce ingredients in proportion as appropriate.</p>

<p>In a measuring cup, combine the liquids and first guess at appropriate spicing, including bay leaves.</p>

<p>Start by mincing about 3 cloves of garlic and mincing the 1/2 onion, and making sure the meat is cubed and as defatted as you want it.  (The pressure cooker said no fatty meat.)  Heat the pressure cooker (open, of course) and put a little olive oil in, toss in the garlic and onion and sautee for a couple minutes.  Throw in the meat and brown it some, pour in the liquid and one of the bags of tomatos, turn up the heat and seal the pressure cooker.  Once it's at pressure, cook for 20 minutes.</p>

<p>While this is cooking, rinse the fingerling potatos and cut any that are bigger than about an inch square if you desire.  When the 20 minutes are up, depressure the cooker, taste the broth and reseason as needed, add the potatos and repressurize the cooker, then cook for 4 minutes.  Depressurize and add the carrots and final set of tomatos, pressurize again and cook for 2 minutes.  Depressurize, stir, taste, final season and serve.</p>

<p>Hopefully, you've been smart and have a batch of noodles cooking to keep this stew company.  </p>

<p>Warning: This will probably server 10 - 12 people easily.</p>

<p>Ingredient List:</p>

<p>1.5 lbs cubed lamb<br />
2.5 lbs cubed beef<br />
1/2 onion, diced<br />
3 cloves of garlic, minced<br />
2 bay leaves<br />
Salt, Pepper, Thyme, Basil to taste<br />
2 bags cherry tomatos<br />
2 bag fingerling potatos<br />
small bag baby carrots<br />
1/4 cup Worchestire sauce<br />
1/2 cup apple cider vinegar<br />
1/2 cup of a tasty red wine (that's been left on the counter for the last week or so, corked)<br />
1/2 cup of beef broth</p>]]>
        
    </content>
</entry>

<entry>
    <title>Incredible statement</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2006/10/incredible-statement.html" />
    <id>tag:new.deadbeefcafe.org,2006://2.43</id>

    <published>2006-10-20T21:22:34Z</published>
    <updated>2009-02-27T16:38:33Z</updated>

    <summary>I was talking with a friend who works in a large segmented organization, where administration is done ad-hoc in each segment with some infrastructure that covers the entire organization. They were having issues with one of the systems administrators after...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Rants" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>I was talking with a friend who works in a large segmented organization, where administration is done ad-hoc in each segment with some infrastructure that covers the entire organization.  They were having issues with one of the systems administrators after an outbreak of some virii in the administrators area.  After having dealt with the issues in some highly non-professional manners, the administrator came up with the following:</p>

<p>"We're going to buy Mac Minis and run Windows on them because Macs aren't affected by these security problems." [1]</p>

<p>The number of things that are so wrong about this statement are astounding.  The fact that the people for whom the adminstrator maintains systems for bought this line is even more astounding.</p>

<p>Let's break this down on where the security problems exist, and how this proposed solution helps with them.</p>

<p>If it's the fact that the Mac traditionally used Motorola processors instead Intel based processors and that's why they don't have security problems, then by going with Mac Mini's isn't going to help since they're Intel based machines (otherwise it would be pretty difficult to do what we're going to look at next, run Windows on them).</p>

<p>If it's the fact that Windows has a number of vulnerabilities, especially if it's not properly maintained and protected with firewalls then changing the operating system would be an acceptable alteration.  But we're not, we're going to load Windows onto the Mac Minis.</p>

<p>The reason that the Macs currently are less of a security risk is that there are fewer exploits and known vulnerabilities out there for Mac OS X (and previous versions of MacOS as well).  Personally, I expect that to slowly change as Mac OS X gains in popularity.  But in this instance, that's not the method we're choosing to make these systems more secure.</p>

<p>So we're left with the best security method I've heard of:  A different case!  By affixing an Apple logo onto the host, we've made it more secure, because Macs aren't subject to the same security problems.</p>

<p>-- decaf out</p>

<p>[1] Unfortunately while this quote is as close as I can get to the spirit of what was said, it may not be accurate as I didn't hear the person say it.</p>

<p><span class="caps">UPDATE</span>:&nbsp; Since this has been linked to by a couple places now I thought I'd add a quick note to clarify.&nbsp; It's not the entire organization that is making this change, just one small (but important) group out of the entire organization.&nbsp; Probably less than 1% of the people and hosts that exist in the organization.</p>]]>
        
    </content>
</entry>

<entry>
    <title>First Roast Beef</title>
    <link rel="alternate" type="text/html" href="http://www.deadbeefcafe.org/2006/10/first-roast-beef.html" />
    <id>tag:new.deadbeefcafe.org,2006://2.42</id>

    <published>2006-10-14T18:28:11Z</published>
    <updated>2009-02-27T16:38:55Z</updated>

    <summary>I like to cook, and I cook frequently, but there are some things it occurs to me that I&apos;ve never cooked though I really enjoy eating them. For example: Roast Beef So this week I made my first (that I...</summary>
    <author>
        <name>decaf</name>
        
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.deadbeefcafe.org/">
        <![CDATA[<p>I like to cook, and I cook frequently, but there are some things it occurs to me that I've never cooked though I really enjoy eating them.  For example:  Roast Beef</p>

<p>So this week I made my first (that I can recall) Roast Beef.  It was pretty good, stabbed it and stuffed 5 garlic cloves into the holes made in a 3 lb roast, rolled it in a grind of rosemary, thyme, salt, and pepper.  Cooked it with a digital thermometer in it until it got to 140 at the core... then let it rest for a bit as the core kept coming up in temp.</p>

<p>When I cut through the nice crunchy crust through the nice pink insides I knew I'd cooked it just about perfect.</p>

<p>And as cold leftovers, I think it might have actually gotten better.</p>]]>
        
    </content>
</entry>

</feed>
