<?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 for Remosi&#039;s Rants</title>
	<atom:link href="http://coders.meta.net.nz/weblog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://coders.meta.net.nz/weblog</link>
	<description>babblings!</description>
	<lastBuildDate>Thu, 23 Apr 2009 08:33:16 +1200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Building Hitchhikers Guide To The Galaxy by Hagen</title>
		<link>http://coders.meta.net.nz/weblog/2009/03/17/building-hitchhikers-guide-to-the-galaxy/comment-page-1/#comment-55861</link>
		<dc:creator>Hagen</dc:creator>
		<pubDate>Thu, 23 Apr 2009 08:33:16 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/?p=64#comment-55861</guid>
		<description>Hi, I read the article on your weblog on python-ctypes-and-debugging-symbols and as I was trying something similar, I wondered if you’d still have any code left, so I wouldn’t have to reinvent the wheel. (comments are closed there and i couldn’t find any email of you, so i posted here)

Thank you and greetings from germany!</description>
		<content:encoded><![CDATA[<p>Hi, I read the article on your weblog on python-ctypes-and-debugging-symbols and as I was trying something similar, I wondered if you’d still have any code left, so I wouldn’t have to reinvent the wheel. (comments are closed there and i couldn’t find any email of you, so i posted here)</p>
<p>Thank you and greetings from germany!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio by Mark</title>
		<link>http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/comment-page-1/#comment-49878</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Mon, 15 Dec 2008 00:55:16 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/#comment-49878</guid>
		<description>This is the funniest thing ever.  I&#039;m trying Linux after using Windows and I get so frustrated I can&#039;t see straight with it. I was laughing so hard because I have had such a hard time trying to learn Linux and Eclipse that I finally punted and started using Visual Studio instead of Eclipse.

Eclipse is this lumbering POS that can&#039;t load a new workspace without restarting.  I try source level debugging and its a crap shoot whether the damn thing honors break points or not.  Find in Files is a pain the butt, won&#039;t save your previous searches, and reminds me of Lotus Notes: spend your time searching for things, rather than doing.</description>
		<content:encoded><![CDATA[<p>This is the funniest thing ever.  I&#8217;m trying Linux after using Windows and I get so frustrated I can&#8217;t see straight with it. I was laughing so hard because I have had such a hard time trying to learn Linux and Eclipse that I finally punted and started using Visual Studio instead of Eclipse.</p>
<p>Eclipse is this lumbering POS that can&#8217;t load a new workspace without restarting.  I try source level debugging and its a crap shoot whether the damn thing honors break points or not.  Find in Files is a pain the butt, won&#8217;t save your previous searches, and reminds me of Lotus Notes: spend your time searching for things, rather than doing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio by Hank Fairfax</title>
		<link>http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/comment-page-1/#comment-21167</link>
		<dc:creator>Hank Fairfax</dc:creator>
		<pubDate>Sun, 23 Dec 2007 20:01:56 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/#comment-21167</guid>
		<description>WinMerge has significant weaknesses (it is terribly slow for large directories, and pitiful support for regular expressions -- you cannot give it a sed string to apply to one side of the input, for example, which is desperately needed), but it is still generally much better for visual navigation than diff -- you cannot seriously navigate diff across thousands of directories in a large tree.

We need a good visual diff navigation tool for mid-sized (&amp; larger) hierarchy trees, which allows reasonably easy chained input filters such as sed or awk or tr or whatever is most appropriate to the user&#039;s current needs, and certainly a good cross-platform tool.</description>
		<content:encoded><![CDATA[<p>WinMerge has significant weaknesses (it is terribly slow for large directories, and pitiful support for regular expressions &#8212; you cannot give it a sed string to apply to one side of the input, for example, which is desperately needed), but it is still generally much better for visual navigation than diff &#8212; you cannot seriously navigate diff across thousands of directories in a large tree.</p>
<p>We need a good visual diff navigation tool for mid-sized (&amp; larger) hierarchy trees, which allows reasonably easy chained input filters such as sed or awk or tr or whatever is most appropriate to the user&#8217;s current needs, and certainly a good cross-platform tool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Back in my day by Aristotle Pagaltzis</title>
		<link>http://coders.meta.net.nz/weblog/2006/11/27/back-in-my-day/comment-page-1/#comment-12211</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Sun, 17 Jun 2007 03:50:49 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2006/11/27/back-in-my-day/#comment-12211</guid>
		<description>I didn’t say the low-level stuff doesn’t matter.

What I meant is, much of the knowledge your refer to is only incidental to an understanding of low-level stuff, and is just an artifact of the architecture in question. I don’t consider those things trivia: rather limitedly useful, particularly when they’re an artifact of a &lt;em&gt;limitation&lt;/em&gt; of the architecture in question (such as the segmented memory model).

OTOH, there is other low-level knowledge that is universal and is applicable “anywhere” – the stuff about pointers and filesystems that you mentioned happens to fall into this category. (But there are gradations there as well: understanding FAT is much less useful than understanding inode-based filesystems like FFS and its many descendants.)</description>
		<content:encoded><![CDATA[<p>I didn’t say the low-level stuff doesn’t matter.</p>
<p>What I meant is, much of the knowledge your refer to is only incidental to an understanding of low-level stuff, and is just an artifact of the architecture in question. I don’t consider those things trivia: rather limitedly useful, particularly when they’re an artifact of a <em>limitation</em> of the architecture in question (such as the segmented memory model).</p>
<p>OTOH, there is other low-level knowledge that is universal and is applicable “anywhere” – the stuff about pointers and filesystems that you mentioned happens to fall into this category. (But there are gradations there as well: understanding FAT is much less useful than understanding inode-based filesystems like FFS and its many descendants.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio by Peter Bindels</title>
		<link>http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/comment-page-1/#comment-11851</link>
		<dc:creator>Peter Bindels</dc:creator>
		<pubDate>Mon, 11 Jun 2007 12:28:32 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/#comment-11851</guid>
		<description>&gt; Solutions and Projects confuse you? Well look up the answer: solutions contain projects. Naturally, this issue doesn’t arise in the Linux makefile/command-line world because it hasn’t come close to offering decent automatic dependency checking or project management. 

At least it doesn&#039;t tell me that my changes were &quot;not relevant&quot; subsequently stubbornly producing a nonworking build from valid source.

&gt; Because solutions aren’t designed for that - see above. You can do exactly what you want with multiple *projects*. Alternatively, you could run two instances of VS, if you insist on separate solutions.

I would say that I&#039;m working on a project, trying to make a solution (singular) consisting of a number of partial solutions (plural). I would most certainly not say that I&#039;m working on a solution, trying to make a project.

&gt; “But it’s almost insulting to have the compiler tell me that my C program doesn’t conform to the ISO C++ specification.”

&gt; Why would a C program necessarily conform to the ISO C++ spec.? They are different languages with different specs. In any case, it isn’t telling you that at all. It is telling you strdup, sprintf, etc. are dangerous. They are: it’s right.

Well... in part because C was a nigh-perfect subset of C++ (and will be again after the next update) and in part because VS itself doesn&#039;t really understand what ISO C++ means.

&gt; “One example which bit me in the butt was that I can’t malloc() in my program, and then free() it in a library.”

&gt; Not true. They share a process heap.

You should try to make UI programs. In VS2005 running on the newest Microsoft technologies like C# and .NET it&#039;s STILL requiring you to access all the UI objects only from the thread that created them. That was relevant in, like, 1985, but could we please get rid of it now?

&gt; It is the most fully featured debugger available, as evidenced by your comment on “run to cursor”, and “bt full”. In Visual Studio you have constant point and click access to the stack trace, as well as locals, watched expressions, etc. In GDB you type incantations such as bt that produce a non-interactive splurge. 

I get the feeling you dislike command lines. VS is a debugger with a frontend, GDB is a debugger. If you used a frontend, it should feel (and I can add, does feel) very much the same. 

&gt; VS has regexp search.

With fairly usable but nonstandard syntax. It&#039;s quite ok though.

&gt; Use winmerge. As in Linux, a separate tool is required to do this. Winmerge is, needless to say, far better than diff.

I can&#039;t comprehend how you can say a thing like this. I might be using an old version of WinMerge, but all the people I know that want to diff more than one file use a Windows Cygwin port of Unix diff.</description>
		<content:encoded><![CDATA[<p>&gt; Solutions and Projects confuse you? Well look up the answer: solutions contain projects. Naturally, this issue doesn’t arise in the Linux makefile/command-line world because it hasn’t come close to offering decent automatic dependency checking or project management. </p>
<p>At least it doesn&#8217;t tell me that my changes were &#8220;not relevant&#8221; subsequently stubbornly producing a nonworking build from valid source.</p>
<p>&gt; Because solutions aren’t designed for that &#8211; see above. You can do exactly what you want with multiple *projects*. Alternatively, you could run two instances of VS, if you insist on separate solutions.</p>
<p>I would say that I&#8217;m working on a project, trying to make a solution (singular) consisting of a number of partial solutions (plural). I would most certainly not say that I&#8217;m working on a solution, trying to make a project.</p>
<p>&gt; “But it’s almost insulting to have the compiler tell me that my C program doesn’t conform to the ISO C++ specification.”</p>
<p>&gt; Why would a C program necessarily conform to the ISO C++ spec.? They are different languages with different specs. In any case, it isn’t telling you that at all. It is telling you strdup, sprintf, etc. are dangerous. They are: it’s right.</p>
<p>Well&#8230; in part because C was a nigh-perfect subset of C++ (and will be again after the next update) and in part because VS itself doesn&#8217;t really understand what ISO C++ means.</p>
<p>&gt; “One example which bit me in the butt was that I can’t malloc() in my program, and then free() it in a library.”</p>
<p>&gt; Not true. They share a process heap.</p>
<p>You should try to make UI programs. In VS2005 running on the newest Microsoft technologies like C# and .NET it&#8217;s STILL requiring you to access all the UI objects only from the thread that created them. That was relevant in, like, 1985, but could we please get rid of it now?</p>
<p>&gt; It is the most fully featured debugger available, as evidenced by your comment on “run to cursor”, and “bt full”. In Visual Studio you have constant point and click access to the stack trace, as well as locals, watched expressions, etc. In GDB you type incantations such as bt that produce a non-interactive splurge. </p>
<p>I get the feeling you dislike command lines. VS is a debugger with a frontend, GDB is a debugger. If you used a frontend, it should feel (and I can add, does feel) very much the same. </p>
<p>&gt; VS has regexp search.</p>
<p>With fairly usable but nonstandard syntax. It&#8217;s quite ok though.</p>
<p>&gt; Use winmerge. As in Linux, a separate tool is required to do this. Winmerge is, needless to say, far better than diff.</p>
<p>I can&#8217;t comprehend how you can say a thing like this. I might be using an old version of WinMerge, but all the people I know that want to diff more than one file use a Windows Cygwin port of Unix diff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio by A programmer</title>
		<link>http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/comment-page-1/#comment-6613</link>
		<dc:creator>A programmer</dc:creator>
		<pubDate>Thu, 19 Apr 2007 13:53:54 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/#comment-6613</guid>
		<description>The problem is not Visual Studio; it&#039;s your ignorance.

Solutions and Projects confuse you?  Well look up the answer: solutions contain projects.  Naturally, this issue doesn&#039;t arise in the Linux makefile/command-line world because it hasn&#039;t come close to offering decent automatic dependency checking or project management.  

&quot;Why can’t I have multiple solutions open at once? One for building an external library and one for building the main program?&quot;

Because solutions aren&#039;t designed for that - see above.  You can do exactly what you want with multiple *projects*.  Alternatively, you could run two instances of VS, if you insist on separate solutions.

You suggest library handling is worse in Visual Studio, again because you clearly don&#039;t understand Visual Studio&#039;s library handling.  You can add libraries to projects, to project settings, or via #pragmas.  If you understood this, you wouldn&#039;t have the problem you describe.

&quot;But it’s almost insulting to have the compiler tell me that my C program doesn’t conform to the ISO C++ specification.&quot;

Why would a C program necessarily conform to the ISO C++ spec.?  They are different languages with different specs.  In any case, it isn&#039;t telling you that at all.  It is telling you strdup, sprintf, etc. are dangerous.  They are: it&#039;s right.

&quot;One example which bit me in the butt was that I can’t malloc() in my program, and then free() it in a library.&quot;

Not true.  They share a process heap.

&quot;I find using “bt full” from gdb to be much more useful than the annoying “watches”/”call stack”/”locals” interface, which appears to be more limited than I remember it being when I was using IDE’s in DOS.&quot;

It is the most fully featured debugger available, as evidenced by your comment on &quot;run to cursor&quot;, and &quot;bt full&quot;.  In Visual Studio you have constant point and click access to the stack trace, as well as locals, watched expressions, etc.  In GDB you type incantations such as bt that produce a non-interactive splurge.   GDB lacks numerous features present in the Visual Studio debugger, as evidenced by your mention of features possessed by DOS(!) IDE&#039;s not present in GDB.

&quot;I miss regular expressions&quot;

VS has regexp search.

&quot;Why can’t I compare two files to see how they differ like I can with diff(1)?&quot;

Use winmerge.  As in Linux, a separate tool is required to do this.  Winmerge is, needless to say, far better than diff.</description>
		<content:encoded><![CDATA[<p>The problem is not Visual Studio; it&#8217;s your ignorance.</p>
<p>Solutions and Projects confuse you?  Well look up the answer: solutions contain projects.  Naturally, this issue doesn&#8217;t arise in the Linux makefile/command-line world because it hasn&#8217;t come close to offering decent automatic dependency checking or project management.  </p>
<p>&#8220;Why can’t I have multiple solutions open at once? One for building an external library and one for building the main program?&#8221;</p>
<p>Because solutions aren&#8217;t designed for that &#8211; see above.  You can do exactly what you want with multiple *projects*.  Alternatively, you could run two instances of VS, if you insist on separate solutions.</p>
<p>You suggest library handling is worse in Visual Studio, again because you clearly don&#8217;t understand Visual Studio&#8217;s library handling.  You can add libraries to projects, to project settings, or via #pragmas.  If you understood this, you wouldn&#8217;t have the problem you describe.</p>
<p>&#8220;But it’s almost insulting to have the compiler tell me that my C program doesn’t conform to the ISO C++ specification.&#8221;</p>
<p>Why would a C program necessarily conform to the ISO C++ spec.?  They are different languages with different specs.  In any case, it isn&#8217;t telling you that at all.  It is telling you strdup, sprintf, etc. are dangerous.  They are: it&#8217;s right.</p>
<p>&#8220;One example which bit me in the butt was that I can’t malloc() in my program, and then free() it in a library.&#8221;</p>
<p>Not true.  They share a process heap.</p>
<p>&#8220;I find using “bt full” from gdb to be much more useful than the annoying “watches”/”call stack”/”locals” interface, which appears to be more limited than I remember it being when I was using IDE’s in DOS.&#8221;</p>
<p>It is the most fully featured debugger available, as evidenced by your comment on &#8220;run to cursor&#8221;, and &#8220;bt full&#8221;.  In Visual Studio you have constant point and click access to the stack trace, as well as locals, watched expressions, etc.  In GDB you type incantations such as bt that produce a non-interactive splurge.   GDB lacks numerous features present in the Visual Studio debugger, as evidenced by your mention of features possessed by DOS(!) IDE&#8217;s not present in GDB.</p>
<p>&#8220;I miss regular expressions&#8221;</p>
<p>VS has regexp search.</p>
<p>&#8220;Why can’t I compare two files to see how they differ like I can with diff(1)?&#8221;</p>
<p>Use winmerge.  As in Linux, a separate tool is required to do this.  Winmerge is, needless to say, far better than diff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Back in my day by Matt</title>
		<link>http://coders.meta.net.nz/weblog/2006/11/27/back-in-my-day/comment-page-1/#comment-5766</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Sun, 01 Apr 2007 12:06:17 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2006/11/27/back-in-my-day/#comment-5766</guid>
		<description>Machine code size optimisations like the xor trick you mentioned are still a very active art in security research into &quot;shellcode&quot; for exploit payloads.  Not only does shellcode need to be small but as it&#039;s normally injected into a process&#039; memory as a null-terminated string it cannot usually contain nulls.  They often have to go a step further too and make use of encryption and polymorphic code to avoid detection.

No doubt a lot of talented shellcode creators grew up learning a lot of their methods from what was necessary on computers of the day.

Links:

* en.wikipedia.org/wiki/Shellcode
* metasploit.com/shellcode.html
* milw0rm.com/shellcode/</description>
		<content:encoded><![CDATA[<p>Machine code size optimisations like the xor trick you mentioned are still a very active art in security research into &#8220;shellcode&#8221; for exploit payloads.  Not only does shellcode need to be small but as it&#8217;s normally injected into a process&#8217; memory as a null-terminated string it cannot usually contain nulls.  They often have to go a step further too and make use of encryption and polymorphic code to avoid detection.</p>
<p>No doubt a lot of talented shellcode creators grew up learning a lot of their methods from what was necessary on computers of the day.</p>
<p>Links:</p>
<p>* en.wikipedia.org/wiki/Shellcode<br />
* metasploit.com/shellcode.html<br />
* milw0rm.com/shellcode/</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio by Sino Kaya</title>
		<link>http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/comment-page-1/#comment-4666</link>
		<dc:creator>Sino Kaya</dc:creator>
		<pubDate>Mon, 12 Mar 2007 15:17:09 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/#comment-4666</guid>
		<description>I suppose that&#039;s why there are diverse programming languages, IDEs, tools, processes, etc. Can you imagine when the Chinese stops speaking Chinese altogether and adopts English as its native tongue? Will the world be a better place if every body uses the same things, forget about being passionate with one cultural thing over another? I say, let us hear about the good and the bad. If you silence the critics, the bad thing perpetuates, and worse, transforms itself into a bigger monster.  I see that happen in small and big projects.</description>
		<content:encoded><![CDATA[<p>I suppose that&#8217;s why there are diverse programming languages, IDEs, tools, processes, etc. Can you imagine when the Chinese stops speaking Chinese altogether and adopts English as its native tongue? Will the world be a better place if every body uses the same things, forget about being passionate with one cultural thing over another? I say, let us hear about the good and the bad. If you silence the critics, the bad thing perpetuates, and worse, transforms itself into a bigger monster.  I see that happen in small and big projects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio by Trent Waddington</title>
		<link>http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/comment-page-1/#comment-4155</link>
		<dc:creator>Trent Waddington</dc:creator>
		<pubDate>Wed, 28 Feb 2007 23:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2007/03/01/visual-studio/#comment-4155</guid>
		<description>&quot;I feel like I’m in Beijing and I don’t speak the language.&quot;

Exactly, and you&#039;re behaving like an american with culture shock.  Just because it is *different* doesn&#039;t mean it is bad.  Try to soak up the culture and appreciate it without *judging* so much.</description>
		<content:encoded><![CDATA[<p>&#8220;I feel like I’m in Beijing and I don’t speak the language.&#8221;</p>
<p>Exactly, and you&#8217;re behaving like an american with culture shock.  Just because it is *different* doesn&#8217;t mean it is bad.  Try to soak up the culture and appreciate it without *judging* so much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Back in my day by Isomer</title>
		<link>http://coders.meta.net.nz/weblog/2006/11/27/back-in-my-day/comment-page-1/#comment-3350</link>
		<dc:creator>Isomer</dc:creator>
		<pubDate>Wed, 24 Jan 2007 01:46:10 +0000</pubDate>
		<guid isPermaLink="false">http://coders.meta.net.nz/weblog/2006/11/27/back-in-my-day/#comment-3350</guid>
		<description>Knowing how filesystems work, and having a general conception of how interrupts and things work is still important to understand (IMHO).

I had an argument with someone a while ago that said that &quot;free(3)&quot; wasn&#039;t freeing memory because the pointer still pointed somewhere.  It&#039;s that kind of loss of knowledge that really worries me.</description>
		<content:encoded><![CDATA[<p>Knowing how filesystems work, and having a general conception of how interrupts and things work is still important to understand (IMHO).</p>
<p>I had an argument with someone a while ago that said that &#8220;free(3)&#8221; wasn&#8217;t freeing memory because the pointer still pointed somewhere.  It&#8217;s that kind of loss of knowledge that really worries me.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
