<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cosine Jeremiah and his Musings &#187; C</title>
	<atom:link href="http://cosine.org/category/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://cosine.org</link>
	<description>Life and Ruby and Security</description>
	<lastBuildDate>Sat, 10 Apr 2010 08:48:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>AVLTree 0.1.4 Released</title>
		<link>http://cosine.org/2008/11/16/avltree-014-released/</link>
		<comments>http://cosine.org/2008/11/16/avltree-014-released/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 09:11:35 +0000</pubDate>
		<dc:creator>Cosine Jeremiah</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[avltree]]></category>

		<guid isPermaLink="false">http://www.cosine.org/?p=79</guid>
		<description><![CDATA[This morning I released AVLTree version 0.1.4.  The difference from version 0.1.3 is an idea from modifications made to the code by the Samhain folks to improve performance.
If you are not familiar with my AVLTree project, it is a C library that implements AVL trees and provides an interface for indexing and iterating over [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I released <a href="http://www.cosine.org/project/AVLTree/">AVLTree</a> version <a href="http://www.cosine.org/project/AVLTree/AVLTree-0.1.4.tar.gz">0.1.4</a>.  The difference from version 0.1.3 is an idea from modifications made to the code by the <a href="http://www.la-samhna.de/">Samhain</a> folks to improve performance.</p>
<p>If you are not familiar with my AVLTree project, it is a C library that implements AVL trees and provides an interface for indexing and iterating over objects.  I like to think of it as my little C answer to the hashes and dictionary objects available in more advanced languages.</p>
]]></content:encoded>
			<wfw:commentRss>http://cosine.org/2008/11/16/avltree-014-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chisec 16 and C</title>
		<link>http://cosine.org/2008/03/03/chisec-16/</link>
		<comments>http://cosine.org/2008/03/03/chisec-16/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 12:00:44 +0000</pubDate>
		<dc:creator>Cosine Jeremiah</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[chisec]]></category>

		<guid isPermaLink="false">http://www.cosine.org/2008/03/03/chisec-16/</guid>
		<description><![CDATA[Thursday, February 28 was a long day for me, but in a good way.  It started almost like any normal morning, except I had to wake up 20 minutes early to handle the morning care and feeding of my animals.  That task is one my wife usually performs, but she had to run [...]]]></description>
			<content:encoded><![CDATA[<p>Thursday, February 28 was a long day for me, but in a good way.  It started almost like any normal morning, except I had to wake up 20 minutes early to handle the morning care and feeding of my animals.  That task is one my wife usually performs, but she had to run out extra early for her own work.</p>
<p>My morning at work went relatively fast.  I had very few scheduled tasks because of meetings dotting my schedule and my vice president&#8217;s group was all going out to play <a href="http://www.whirlyball.com/">Whirlyball</a> for the afternoon.  Additionally, due to my company&#8217;s sales team scoring a big contract, the company was serving free Lou Malnati&#8217;s pizza for lunch.</p>
<p>Whirlyball was probably the most fun of the day, but it is what happened afterward that is the most interesting.  I arrived at Houlihan&#8217;s at 6:30, preparing to socialize with other security professionals at Chisec 16 starting at 7:00.  I did not wait long.  I had hardly sat down when Maniac showed up, always full of interesting conversation and even an <a href="http://en.wikipedia.org/wiki/ASUS_Eee_PC">Asus Eee PC</a>, something I had never seen before.  It was not long before the room was full of other security professionals from all over the Chicago area.</p>
<p>With 20&ndash;30 people in a room, you do not get to talk to everyone.  I primarily spoke with a couple guys from the University of Chicago and some consultants from no less than three different firms.  It was <a href="http://www.matasano.com/log/thomas-ptacek/">Thomas Ptacek</a> that gave me the biggest surprise of the evening.</p>
<p>Tom told me that it is getting increasingly rare to find computer people that know C.  I had never thought about it, but I could see why this would be a problem.  I have been using C since 1994, and I simply consider it a staple of my computer abilities.  It is like part of the foundation.  It is through C that I know how a shell interacts with an operating system, or how any program interacts with other components of the system.  My knowledge of C is how I learned about the general structure of a running process in memory, and from that I understand how things like buffer overflow attacks actually work.  It is through C that I even know how Ruby handles its garbage collection, at a low level.  In regard to modern computer architecture, if you do not know C, then I would be incredulous if you told me that you <em>really</em> understand computer architecture.  I am not sure that knowledge of C++ can really convey the same understanding, except that someone could do so by paying close attention to the subset of C++ that is C.</p>
<p>I wonder&#8230; do you know C?  If I were to compile a list of important languages that all computer programmers should learn, C would be high on the list, if not the top language.  Certainly there are other important languages out there that expand ones mind around advanced programming topics, such as Ruby, Lisp, and ML, but down at the linker level C is the language that all other languages communicate with the operating system or the hardware&mdash;application binary interfaces (ABIs) are designed around how C compilers generate object files.  <em>It is </em>that<em> important.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://cosine.org/2008/03/03/chisec-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
