<?xml version="1.0"?>
<rss version="2.0"><channel><language>en</language><generator>eosgarden WCMS</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><lastBuildDate>Fri, 18 May 2012 12:12:08 +0200</lastBuildDate><title>eosgarden: Latest articles</title><link>http://www.eosgarden.com/en/articles/</link><description>Technical articles, covering Web development, Mac OS X &amp; iPhone developement, computer science, software deployment, system administration, etc.</description><item><title>GDB tutorial</title><link>/en/articles/gdb-tutorial/</link><pubDate>Fri, 06 Jan 2012 07:49:01 +0100</pubDate><description>
						I have to admit I always felt stupid, while building XCode projects, when the GDB window comes out, or when it display a message like: &#xAB;set a breakpoint in malloc to debug&#xBB;.&lt;br /&gt;
						So I decided to learn a few things about GDB. This tutorial will explain you some of the basics.
						</description></item><item><title>Calling conventions</title><link>/en/articles/calling-conventions/</link><pubDate>Tue, 03 May 2011 16:52:29 +0200</pubDate><description>
						Programming languages let us write human readable code, with concepts like variables, functions, objects, methods, etc.&lt;br /&gt;
						Those concepts don't exists for a computer, and the human readable code needs to be converted into machine code (compilation), so the CPU can execute it.&lt;br /&gt;
						This article explains how functions are called, from a machine code perspective.
						</description></item><item><title>Reference counting in ANSI-C</title><link>/en/articles/c-refcount/</link><pubDate>Sat, 23 Apr 2011 14:48:29 +0200</pubDate><description>
						Memory management can be a hard task when coding a C program.&lt;br /&gt;
						Some higher level programming languages provide other ways to manage memory.&lt;br /&gt;
						Main variants are garbage collection, and reference counting.&lt;br /&gt;
						This article will teach you how to implement a reference counting memory management system in C.
						</description></item><item><title>Detecting idle time and activity with I/O Kit</title><link>/en/articles/iokit-idle/</link><pubDate>Thu, 03 Feb 2011 17:16:08 +0100</pubDate><description>
						It may be sometimes useful, from an application, to know if the user is currently interacting with the computer (or phone), or if he's away.&lt;br /&gt;
						This article explains how to detect user's activity, on Mac OS X and on iOS.
						</description></item><item><title>Using static libraries with XCode</title><link>/en/articles/xcode-static-libraries/</link><pubDate>Tue, 01 Feb 2011 20:02:32 +0100</pubDate><description>
						It's often usefull to split an XCode project in several parts: the UI related code, and the code that's not related to the UI (tools, libraries, etc).&lt;br /&gt;
						Such a split has many advantages. It allows different compilation settings for each part and a better compilation time, as each part is built separately, if needed.&lt;br /&gt;
						This article will teach you how to setup such an XCode project.
						</description></item><item><title>Understanding floats</title><link>/en/articles/float/</link><pubDate>Tue, 25 Jan 2011 15:40:55 +0100</pubDate><description>
						Single precsion floating point numbers are usually called 'float', or 'real'. They are 4 bytes long, and are packed the following way, from left to right:
						</description></item><item><title>C &amp;amp; Objective-C quiz</title><link>/en/articles/objc-quizz/</link><pubDate>Tue, 25 Jan 2011 15:40:54 +0100</pubDate><description>
					&lt;div&gt;
						This quiz will test your knowledge of the ANSI-C and Objective-C programming languages.&lt;br /&gt;
						The following topics are covered:
					&lt;/div&gt;
					&lt;ul&gt;
						&lt;li&gt;Data types&lt;/li&gt;
						&lt;li&gt;Memory management&lt;/li&gt;
						&lt;li&gt;Pointer arithmetic&lt;/li&gt;
						&lt;li&gt;Compiler issues&lt;/li&gt;
						&lt;li&gt;Portability&lt;/li&gt;
						&lt;li&gt;Standard C library&lt;/li&gt;
						&lt;li&gt;Macros&lt;/li&gt;
						&lt;li&gt;Objective-C syntax&lt;/li&gt;
						&lt;li&gt;Objective-C runtime&lt;/li&gt;
						&lt;li&gt;Objective-C object features&lt;/li&gt;
						&lt;li&gt;Cocoa framework&lt;/li&gt;
						&lt;li&gt;iPhone development&lt;/li&gt;
					&lt;/ul&gt;
					</description></item><item><title>Cocoa: Delegate chain system</title><link>/en/articles/cocoa-delegate-chain/</link><pubDate>Tue, 25 Jan 2011 15:40:53 +0100</pubDate><description>
						Delegation is a concept available in some classes of the Cocoa framework, on Mac OS X (and of course, on iPhone OS).&lt;br /&gt;
						That concept allows Cocoa application developers to interact on specific events of core Cocoa objects.
						</description></item><item><title>Using boolean data-types with ANSI-C</title><link>/en/articles/bool/</link><pubDate>Tue, 25 Jan 2011 15:40:52 +0100</pubDate><description>
						Boolean data types are certainly the most often used data-type in any programming language.&lt;br /&gt;
						They are the root of any programming logic.&lt;br /&gt;
						Nowadays, few people remember that the boolean data type wasn't defined with the ANSI (C89) C programming language.
						</description></item><item><title>Closure and lambda in Objective-C</title><link>/en/articles/objc-blocks/</link><pubDate>Tue, 25 Jan 2011 15:40:52 +0100</pubDate><description>
						Many scripting languages allows the use of &#xAB;lambda&#xBB; or &#xAB;anonymous functions&#xBB;. That concept is often associated with the &#xAB;closure&#xBB; concept.&lt;br /&gt;
						Such concepts are well known in JavaScript, ActionScript or PHP since version 5.3.&lt;br /&gt;
						The Objective-C language offers an implementation of both concepts, called &#xAB;blocks&#xBB;.&lt;br /&gt;
						Blocks are available since Mac OS X 10.6, thanks to the use of Clang.
						</description></item></channel></rss>

