<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: That is not your daddy&#8217;s OS</title>
	<atom:link href="http://www.dadhacker.com/blog/?feed=rss2&#038;p=1023" rel="self" type="application/rss+xml" />
	<link>http://www.dadhacker.com/blog/?p=1023</link>
	<description>Instant wisdom about any random thing I feel like.</description>
	<lastBuildDate>Sat, 21 Aug 2010 16:53:56 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Zac</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-26700</link>
		<dc:creator>Zac</dc:creator>
		<pubDate>Sun, 14 Sep 2008 07:15:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-26700</guid>
		<description>Agree with many comments above -  I took a few CS classes at Carnegie Mellon but ended up graduating in Bio.  Java classes were widely regarded as a joke by the department, and I believe there were only two in the entire curriculum.  Those guys were really, really hardcore.

I firmly believe that you can&#039;t understand what you&#039;re doing unless you comprehend where it came from; I think assembly and C courses should be absolutely mandatory.
 
By the way, I wonder how Chrome shakes up opinions given above :-)</description>
		<content:encoded><![CDATA[<p>Agree with many comments above &#8211;  I took a few CS classes at Carnegie Mellon but ended up graduating in Bio.  Java classes were widely regarded as a joke by the department, and I believe there were only two in the entire curriculum.  Those guys were really, really hardcore.</p>
<p>I firmly believe that you can&#8217;t understand what you&#8217;re doing unless you comprehend where it came from; I think assembly and C courses should be absolutely mandatory.</p>
<p>By the way, I wonder how Chrome shakes up opinions given above :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: landon</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-19301</link>
		<dc:creator>landon</dc:creator>
		<pubDate>Tue, 24 Jun 2008 06:15:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-19301</guid>
		<description>@William - Code reading is a skill. You have to practice it, because that&#039;s mostly what you do in an existing system that is more than a 100K lines or so.

I read _Lion&#039;s Notes on Unix_, which is pretty dated but still a good read. Also, Kernighan and Plauger&#039;s _Software Tools_.  I enjoyed these, but they&#039;re quite old.  We&#039;re not on PDP-11s any more.

Modern stuff: Bits of the Linux kernel, probably. 4.x bsd Unix sources are better, because there&#039;s a good &quot;implementation of&quot; book by Mckusick, et al, on the internals.

Books like _Apache Server Commentary_ are pretty good, too. I think there were others in this series as well (_The Linux Core Kernel Commentary_).

Knuth&#039;s &quot;Literate Programming&quot; books (e.g., _The Stanford Graphbase_, and _TeX: The Program_) are okay, but you&#039;ll not encounter this in industry.

At work: Walk through some code with a cow-orker. Read it first, make notes, and then run through it &quot;paragraph by paragraph,&quot; paraphrasing to your cow-orker what the code is doing, blow-by-blow. It was amazing how much this has helped my understanding of complex system; something about being on the spot with another person.</description>
		<content:encoded><![CDATA[<p>@William &#8211; Code reading is a skill. You have to practice it, because that&#8217;s mostly what you do in an existing system that is more than a 100K lines or so.</p>
<p>I read _Lion&#8217;s Notes on Unix_, which is pretty dated but still a good read. Also, Kernighan and Plauger&#8217;s _Software Tools_.  I enjoyed these, but they&#8217;re quite old.  We&#8217;re not on PDP-11s any more.</p>
<p>Modern stuff: Bits of the Linux kernel, probably. 4.x bsd Unix sources are better, because there&#8217;s a good &#8220;implementation of&#8221; book by Mckusick, et al, on the internals.</p>
<p>Books like _Apache Server Commentary_ are pretty good, too. I think there were others in this series as well (_The Linux Core Kernel Commentary_).</p>
<p>Knuth&#8217;s &#8220;Literate Programming&#8221; books (e.g., _The Stanford Graphbase_, and _TeX: The Program_) are okay, but you&#8217;ll not encounter this in industry.</p>
<p>At work: Walk through some code with a cow-orker. Read it first, make notes, and then run through it &#8220;paragraph by paragraph,&#8221; paraphrasing to your cow-orker what the code is doing, blow-by-blow. It was amazing how much this has helped my understanding of complex system; something about being on the spot with another person.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William Mayo</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-19298</link>
		<dc:creator>William Mayo</dc:creator>
		<pubDate>Tue, 24 Jun 2008 05:51:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-19298</guid>
		<description>@Mike - I guess this is kind of at the heart of what I was saying... I don&#039;t believe that that necessarily will be better.  I&#039;m not saying that that we shouldn&#039;t have web applications, or even that it&#039;s bad to make it possible to push any application onto a remote platform using web services.  I just am not convinced that pushing all computing and user data onto &quot;the cloud&quot; (I also just HATE that nomenclature) is desirable.  Some fences are there because they need to be, and some just mark comfort zones and prejudices, but some of those comfort zones are still valuable to those holding them.  I&#039;m not sure I&#039;m really rooting for a world in which there&#039;s no hard boundary between my data and the net, in short.

@Landon - Slightly offtopic here: I have a question.  Every single person who I&#039;ve read/heard speak on the subject of developing programming skill and knowledge agrees that, in addition to programming and reading about programming, you should examine other code in a thorough manner.  I can find lots of suggestions for which books to look at, and if I look real hard, I can find particular problems recommended for enlightening, but what programs should someone look at, when they&#039;re ready to start trying to grok actual, production code?</description>
		<content:encoded><![CDATA[<p>@Mike &#8211; I guess this is kind of at the heart of what I was saying&#8230; I don&#8217;t believe that that necessarily will be better.  I&#8217;m not saying that that we shouldn&#8217;t have web applications, or even that it&#8217;s bad to make it possible to push any application onto a remote platform using web services.  I just am not convinced that pushing all computing and user data onto &#8220;the cloud&#8221; (I also just HATE that nomenclature) is desirable.  Some fences are there because they need to be, and some just mark comfort zones and prejudices, but some of those comfort zones are still valuable to those holding them.  I&#8217;m not sure I&#8217;m really rooting for a world in which there&#8217;s no hard boundary between my data and the net, in short.</p>
<p>@Landon &#8211; Slightly offtopic here: I have a question.  Every single person who I&#8217;ve read/heard speak on the subject of developing programming skill and knowledge agrees that, in addition to programming and reading about programming, you should examine other code in a thorough manner.  I can find lots of suggestions for which books to look at, and if I look real hard, I can find particular problems recommended for enlightening, but what programs should someone look at, when they&#8217;re ready to start trying to grok actual, production code?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John H.</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-19228</link>
		<dc:creator>John H.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 02:54:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-19228</guid>
		<description>This is a heart-cockle-warming thread.  I wish I could make a living in 6502 assembly these days....</description>
		<content:encoded><![CDATA[<p>This is a heart-cockle-warming thread.  I wish I could make a living in 6502 assembly these days&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Thompson</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-19112</link>
		<dc:creator>Jim Thompson</dc:creator>
		<pubDate>Sat, 21 Jun 2008 09:09:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-19112</guid>
		<description>I once took one of those script-kiddiie Perl programmers and exposed him to the raw bring-up on a new board (musenki, ppc 8245 cpu, first step was hacking the bootloader to work, second step was working-around the reversed flash bus).

The whole process blew his mind.

After Musenki, he went to another linux hardware startup (agenda, who built a PDA).</description>
		<content:encoded><![CDATA[<p>I once took one of those script-kiddiie Perl programmers and exposed him to the raw bring-up on a new board (musenki, ppc 8245 cpu, first step was hacking the bootloader to work, second step was working-around the reversed flash bus).</p>
<p>The whole process blew his mind.</p>
<p>After Musenki, he went to another linux hardware startup (agenda, who built a PDA).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrock</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-19091</link>
		<dc:creator>Adrock</dc:creator>
		<pubDate>Sat, 21 Jun 2008 02:15:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-19091</guid>
		<description>Lipsy, I just finished a grad level course with regular languages. Less practical (e.g. learning how to use RL in Perl) and more theoretical (underlying concepts.) It was so difficult I constantly found myself wanting to stick a hot poker in my eye. Everyone did terrible. I ended up with a B+, but I barely cracked 60% on any tests unscaled!  I say God Bless those before us you created the VS C++ compiler!</description>
		<content:encoded><![CDATA[<p>Lipsy, I just finished a grad level course with regular languages. Less practical (e.g. learning how to use RL in Perl) and more theoretical (underlying concepts.) It was so difficult I constantly found myself wanting to stick a hot poker in my eye. Everyone did terrible. I ended up with a B+, but I barely cracked 60% on any tests unscaled!  I say God Bless those before us you created the VS C++ compiler!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-18988</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Fri, 20 Jun 2008 05:24:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-18988</guid>
		<description>Hi.
First I have to introduce myself a little : I&#039;m french so I&#039;m sorry if I make stupid english mistakes, I&#039;ll try to be understood. And I&#039;m one of these “software engineers” who never use anything else than PHP, JavaScript, ActionScript and a little TI Basic on my calculator in High School.

I&#039;m not here to troll (Oops I shouldn&#039;t have say it, you&#039;re gonna think I am) but my colleages and I have the (bad) habbit to troll about the very subject of this article. In the web startup I work for, we have a division full of C/C++ guys who program what we web developers call “heavy softwares”. Every time we talk about the languages we use, they start to rent the absence (not true but still) of variable types in PHP and JS.

Every time I hear them rent, I only think about two things : 
- since JS and PHP are written with C, it&#039;s a little bit the C community&#039;s fault that this languages commit these “sins”.
- thank God (or whoever you want) there is guys like me who don&#039;t know C, Fortran, Lisp or I don&#039;t know what because they&#039;re will be no web applications whatsoever or they will be delivered for twice the time.

You can do pretty much everything with interpreted languages (except OSs, you&#039;re really right about that) and you can do everything with compiled languages but often for twice the price.

I&#039;ll finish with two short examples of what I&#039;m saying.

- This week, I had to add quotes in some 200 XML files almost every two lines. XML is evil, more if it&#039;s to talk to a C application like in this case.
It took me 15 lines of codes (written in about 15 minutes) and a simple regular expression in PHP to do the job. I didn&#039;t even have to launch my browser, just launched the script with a command line. A colleague of mine told me it would have required twice the work to do it in C.

- Last month, I gave the Adobe AIR runtime a try. With only JS, CSS and HTML and a well known video Flash player library (and basic SQL to store some local data) talking in JSON with a good server API (written in PHP), I wrote a video player wich installs himself in &quot;one&quot; click, automatically updates itself when I publish a new version and &quot;only&quot; use 40Mb of RAM and some 5% of CPU when playing a video.
It took me 15 hours, half of it trying to understand the shitty Adobe documentation for AIR. It&#039;s doable with C but for how much time (given you use VLC or something like that to play the FLV videos).



On a complete different note, I love this blog, I admire guys like you who add to deal with &quot;challenging&quot; hardware (almost like browsers are challenging plateforms to write for). Keep the good work sir.</description>
		<content:encoded><![CDATA[<p>Hi.<br />
First I have to introduce myself a little : I&#8217;m french so I&#8217;m sorry if I make stupid english mistakes, I&#8217;ll try to be understood. And I&#8217;m one of these “software engineers” who never use anything else than PHP, JavaScript, ActionScript and a little TI Basic on my calculator in High School.</p>
<p>I&#8217;m not here to troll (Oops I shouldn&#8217;t have say it, you&#8217;re gonna think I am) but my colleages and I have the (bad) habbit to troll about the very subject of this article. In the web startup I work for, we have a division full of C/C++ guys who program what we web developers call “heavy softwares”. Every time we talk about the languages we use, they start to rent the absence (not true but still) of variable types in PHP and JS.</p>
<p>Every time I hear them rent, I only think about two things :<br />
- since JS and PHP are written with C, it&#8217;s a little bit the C community&#8217;s fault that this languages commit these “sins”.<br />
- thank God (or whoever you want) there is guys like me who don&#8217;t know C, Fortran, Lisp or I don&#8217;t know what because they&#8217;re will be no web applications whatsoever or they will be delivered for twice the time.</p>
<p>You can do pretty much everything with interpreted languages (except OSs, you&#8217;re really right about that) and you can do everything with compiled languages but often for twice the price.</p>
<p>I&#8217;ll finish with two short examples of what I&#8217;m saying.</p>
<p>- This week, I had to add quotes in some 200 XML files almost every two lines. XML is evil, more if it&#8217;s to talk to a C application like in this case.<br />
It took me 15 lines of codes (written in about 15 minutes) and a simple regular expression in PHP to do the job. I didn&#8217;t even have to launch my browser, just launched the script with a command line. A colleague of mine told me it would have required twice the work to do it in C.</p>
<p>- Last month, I gave the Adobe AIR runtime a try. With only JS, CSS and HTML and a well known video Flash player library (and basic SQL to store some local data) talking in JSON with a good server API (written in PHP), I wrote a video player wich installs himself in &#8220;one&#8221; click, automatically updates itself when I publish a new version and &#8220;only&#8221; use 40Mb of RAM and some 5% of CPU when playing a video.<br />
It took me 15 hours, half of it trying to understand the shitty Adobe documentation for AIR. It&#8217;s doable with C but for how much time (given you use VLC or something like that to play the FLV videos).</p>
<p>On a complete different note, I love this blog, I admire guys like you who add to deal with &#8220;challenging&#8221; hardware (almost like browsers are challenging plateforms to write for). Keep the good work sir.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-18977</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Fri, 20 Jun 2008 04:03:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-18977</guid>
		<description>JulianF Says:
&quot;Great Blog, I love it! The comments too…
I would be interested in what the old timers would recommend in terms of a programming language to learn so that bad habits are not ingrained in my programming soul.&quot;

Helpful Answer
I don&#039;t think you can really answer that question. I used to think the Perl was for obscurantist posers, but I actually worked on a project that used Perl and it was quite OK. For a variety of fairly horrible reasons we needed to generate code and parse. And the guy that wrote the Perl did it in quite C like way. 

Of course Perl being Perl doesn&#039;t have civilized things like function prototypes or strong typing so we had to be a bit careful about passing arrays around. But I don&#039;t think you can say that people will necessarily be ruined by writing in a scripting language. 

That said, I&#039;ve always enjoyed C and C++, used as someone else put it as C with classes, not &quot;look I can find a use for operator overloading&quot;. Though actually I think smart pointers and using are OK too. You have a destructor that will be called when something goes out of scope, why not use that feature. But it is possible to write awful code in C++ if you try to use all the features to show what a genius you are, just like it is possible to write awful code in Perl if you try to be terse. Or assembler if you try to be clever. 

But it&#039;s possible to right stuff that is a joy to read in C++, Perl, Assembler or even English.

I think the lesson is don&#039;t try to be a god when you code. Write code that you&#039;d be happy to go in and change on your first day at a new job. 

But I think to really understand what is going on you need to be familiar with C/C++. And also know how to debug those languages in assembler on the machine you work on.

Unhelpful Answer
tl;dr
Mu
http://en.wikipedia.org/wiki/Mu_(negative)
(That&#039;s hacker God talk for &quot;your question has no answer, n00b&quot;)</description>
		<content:encoded><![CDATA[<p>JulianF Says:<br />
&#8220;Great Blog, I love it! The comments too…<br />
I would be interested in what the old timers would recommend in terms of a programming language to learn so that bad habits are not ingrained in my programming soul.&#8221;</p>
<p>Helpful Answer<br />
I don&#8217;t think you can really answer that question. I used to think the Perl was for obscurantist posers, but I actually worked on a project that used Perl and it was quite OK. For a variety of fairly horrible reasons we needed to generate code and parse. And the guy that wrote the Perl did it in quite C like way. </p>
<p>Of course Perl being Perl doesn&#8217;t have civilized things like function prototypes or strong typing so we had to be a bit careful about passing arrays around. But I don&#8217;t think you can say that people will necessarily be ruined by writing in a scripting language. </p>
<p>That said, I&#8217;ve always enjoyed C and C++, used as someone else put it as C with classes, not &#8220;look I can find a use for operator overloading&#8221;. Though actually I think smart pointers and using are OK too. You have a destructor that will be called when something goes out of scope, why not use that feature. But it is possible to write awful code in C++ if you try to use all the features to show what a genius you are, just like it is possible to write awful code in Perl if you try to be terse. Or assembler if you try to be clever. </p>
<p>But it&#8217;s possible to right stuff that is a joy to read in C++, Perl, Assembler or even English.</p>
<p>I think the lesson is don&#8217;t try to be a god when you code. Write code that you&#8217;d be happy to go in and change on your first day at a new job. </p>
<p>But I think to really understand what is going on you need to be familiar with C/C++. And also know how to debug those languages in assembler on the machine you work on.</p>
<p>Unhelpful Answer<br />
tl;dr<br />
Mu<br />
<a href="http://en.wikipedia.org/wiki/Mu_(negative)" rel="nofollow">http://en.wikipedia.org/wiki/Mu_(negative)</a><br />
(That&#8217;s hacker God talk for &#8220;your question has no answer, n00b&#8221;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Power</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-18970</link>
		<dc:creator>Matt Power</dc:creator>
		<pubDate>Fri, 20 Jun 2008 02:05:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-18970</guid>
		<description>About the only thing that might accurately be called a browser O/S that I can think of is Inferno (having people like Ritchie and Thompson on the developer list lends some serious credibility)

That it runs as a stand alone O/S on a broad swathe of hardware (embedded and upwards) as well as in a browser plug-in helps considerably.

http://www.vitanuova.com/inferno/</description>
		<content:encoded><![CDATA[<p>About the only thing that might accurately be called a browser O/S that I can think of is Inferno (having people like Ritchie and Thompson on the developer list lends some serious credibility)</p>
<p>That it runs as a stand alone O/S on a broad swathe of hardware (embedded and upwards) as well as in a browser plug-in helps considerably.</p>
<p><a href="http://www.vitanuova.com/inferno/" rel="nofollow">http://www.vitanuova.com/inferno/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JulianF</title>
		<link>http://www.dadhacker.com/blog/?p=1023&#038;cpage=1#comment-18966</link>
		<dc:creator>JulianF</dc:creator>
		<pubDate>Fri, 20 Jun 2008 00:09:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadhacker.com/blog/?p=1023#comment-18966</guid>
		<description>Great Blog, I love it! The comments too...
I would be interested in what the old timers would recommend in terms of a programming language to learn so that bad habits are not ingrained in my programming soul.
C? 

Agree with above - more Atari stories please!

Cheers,
Julian F</description>
		<content:encoded><![CDATA[<p>Great Blog, I love it! The comments too&#8230;<br />
I would be interested in what the old timers would recommend in terms of a programming language to learn so that bad habits are not ingrained in my programming soul.<br />
C? </p>
<p>Agree with above &#8211; more Atari stories please!</p>
<p>Cheers,<br />
Julian F</p>
]]></content:encoded>
	</item>
</channel>
</rss>
