<?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>Dani Berg &#187; books</title>
	<atom:link href="http://daniberg.com/home/category/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniberg.com/home</link>
	<description>Angels like Kittens</description>
	<lastBuildDate>Mon, 30 Aug 2010 05:10:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>gnu make</title>
		<link>http://daniberg.com/home/2010/06/gnu-make/</link>
		<comments>http://daniberg.com/home/2010/06/gnu-make/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 04:32:57 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=799</guid>
		<description><![CDATA[Whenever I can I try to read Chromium&#8216;s source code. Even if all I have are 40 minutes between Sunnyvale and Millbrae. Poking Chromium&#8217;s source code is an educational hobby of mine so I am in no rush and I take a lot of detours diving into subjects related to the project. The most recent [...]]]></description>
			<content:encoded><![CDATA[
<p>Whenever I can I try to read <a href="http://code.google.com/chromium/" target="_blank">Chromium</a>&#8216;s source code. Even if all I have are 40 minutes between Sunnyvale and Millbrae. Poking Chromium&#8217;s source code is an educational hobby of mine so I am in no rush and I take a lot of detours diving into subjects related to the project.</p>
<p>The most recent example was <a href="http://www.gnu.org/software/make/" target="_blank">GNU Make</a>. When I first started reading the Makefile generated by <a href="http://www.chromium.org/developers/how-tos/depottools/gclient">gclient</a> I got stuck. The Makefile dumps almost 30MB of instructions to compile the project and some lines of code were a complete mystery to me.</p>
<p>The usual approach. Order a used (if possible) book from Amazon. <a href="http://www.amazon.com/gp/product/0596006101?ie=UTF8&#038;tag=d024-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0596006101">Managing Projects with GNU Make (Nutshell Handbooks)</a><img src="http://www.assoc-amazon.com/e/ir?t=d024-20&#038;l=as2&#038;o=1&#038;a=0596006101" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Robert Mecklenburg is a really good book. I just skipped the Java chapter.</p>
<p>I kept switching between reading the book and Chromium&#8217;s Makefile. Being confronted by a real (and big) working example of a Makefile pushed me harder to go through the entire book.</p>
<p>I&#8217;ve been writing quite a few Makefiles since then. Even for situations were GNU Make is not appropriate. After all, when you are a hammer everything looks like a nail.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2010/06/gnu-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restful web services</title>
		<link>http://daniberg.com/home/2010/06/restful-web-services/</link>
		<comments>http://daniberg.com/home/2010/06/restful-web-services/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:49:42 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=766</guid>
		<description><![CDATA[This one has been laying on my desk for quite too long. Time to make a post about it and get it back to the shelf. I first started reading Restful Web Services by Leonard Richardson &#38; Sam Ruby one year ago. April 2009. I know that because of the Amazon receipt. I read the [...]]]></description>
			<content:encoded><![CDATA[
<p>This one has been laying on my desk for quite too long. Time to make a post about it and get it back to the shelf.</p>
<p>I first started reading Restful Web Services by Leonard Richardson &amp; Sam Ruby one year ago. April 2009. I know that because of the Amazon receipt.</p>
<p>I read the first chapters and wondered why I didn&#8217;t learn about Restful Web Services before. Simplicity is the key. Suddenly all XML-RPC code that I wrote in the past started to smell really bad.</p>
<p>The problem is that after the first chapters I probably got bored or the book could have been shorter. In any case, I just finished reading it this past April. A year later! It is a good book though, even if you just read the first few chapters.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2010/06/restful-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mailserver and Postfix</title>
		<link>http://daniberg.com/home/2010/02/mailserver-and-postfix/</link>
		<comments>http://daniberg.com/home/2010/02/mailserver-and-postfix/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 06:16:41 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=710</guid>
		<description><![CDATA[In order to keep this diary blog updated I should add a small note about mail servers. I&#8217;m still doing some sys admin work for about 2 hours a day. After a lot of experimentation I finally have one mail server up and running with Postfix and Dovecot. Besides the official documentation I usually try to [...]]]></description>
			<content:encoded><![CDATA[
<p>In order to keep this <del datetime="2010-02-23T01:29:38+00:00">diary</del> blog updated I should add a small note about mail servers. I&#8217;m still doing some sys admin work for about 2 hours a day.</p>
<p>After a lot of experimentation I finally have one mail server up and running with <a href="http://www.postfix.org/">Postfix</a> and <a href="http://www.dovecot.org/">Dovecot</a>.</p>
<p>Besides the <a href="http://www.postfix.org/documentation.html">official documentation</a> I usually try to read at least one book about the tools I&#8217;m working with. <a href="http://my.safaribooksonline.com/">Safari</a> led me to <strong>Postfix: The Definitive Guide</strong> by <em>Kyle D. Dent</em>. The book gives a good overview on how Postfix works and goes through several different configurations that you may be interested in implementing. The only problem is that the book is outdated (December 2003) &#8211; that&#8217;s last decade!</p>
<p>Everything seems to be running ok but running and maintaining a mail server is a lot of work. There are just so many details and configurations that can go wrong. Performance, Security, Authentication, Disk space, Spam, Anti-viruses&#8230; The list is huge. I&#8217;m looking forward to meeting the next sys admin to join our team.</p>
<p>I&#8217;m working on a project that offers domains and email accounts to the final client so it&#8217;s been a good experience to understand how mail and <a href="http://daniberg.com/home/2010/02/wearing-a-sysadmin-hat/">dns</a> servers work. We have a lot work ahead!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2010/02/mailserver-and-postfix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wearing a sysadmin hat</title>
		<link>http://daniberg.com/home/2010/02/wearing-a-sysadmin-hat/</link>
		<comments>http://daniberg.com/home/2010/02/wearing-a-sysadmin-hat/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:39:38 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[dns]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=687</guid>
		<description><![CDATA[In the past weeks I&#8217;ve been doing some temporary sysadmin work for my day job and this new role extended to my night-time job. Yeah, I joined a startup but I&#8217;ll talk more about that some other day. I had to move one of the web services we offer in my regular job to its [...]]]></description>
			<content:encoded><![CDATA[
<p>In the past weeks I&#8217;ve been doing some temporary sysadmin work for my day job and this new role extended to my night-time job. Yeah, I joined a startup but I&#8217;ll talk more about that some other day.</p>
<p>I had to move one of the web services we offer in my regular job to its own server. It was a good change, we moved the entire app from a CentOS/cPanel box hosted on the Planet to an instance running Ubuntu on AWS.</p>
<p>CPanel is a really good product and saves you a lot of time but it is a pain in the butt if you are serving more than shared hosting accounts. If you have ever tried to automate tasks that handle virtual domains, email accounts and DNS entries you know what I&#8217;m talking about.</p>
<p>Anyway, I must admit that I&#8217;m having a blast wearing a sysadmin hat during part of my day.  I&#8217;m learning a lot. I have this great excuse to read some books that were on my TO READ list for a long time.</p>
<p>One of these books is <strong>Pro DNS and Bind</strong> by <em>Ron Aitchison</em>. I have had this book on my desk for months but I finally finished reading it. The book gave me a nice introduction to DNS servers, resolvers, zone files, resource records and diagnostic tools. Highly recommended.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2010/02/wearing-a-sysadmin-hat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Masters of Doom</title>
		<link>http://daniberg.com/home/2010/01/masters-of-doom/</link>
		<comments>http://daniberg.com/home/2010/01/masters-of-doom/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:25:59 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=636</guid>
		<description><![CDATA[I have just a few posts per month but also have a lot of drafts waiting to be completed. A few of these drafts are almost complete and most are just short notes about subjects I want to write about in the future. I wish I could post more often, but not only is my [...]]]></description>
			<content:encoded><![CDATA[<p>I have just a few posts per month but also have a lot of drafts waiting to be completed. A few of these drafts are almost complete and most are just short notes about subjects I want to write about in the future. I wish I could post more often, but not only is my schedule too tight, also writing clearly is just plain hard for me. It takes me precious time. Not to mention that English is not my mother tongue.</p>
<p>However, I have one more motivation to keep writing. Besides my beloved wife who has the burden of proof reading my posts I have <em>a</em> reader. Yes, that is right. One reader. Hallo Rafa! Thanks for all the support buddy.</p>
<p>Now, back to the topic of this post. I was checking the draft list and noticed that I didn&#8217;t add Masters of Doom to the Books category on this blog. I read this book many years ago but ended up reading it again this past December. Great source of inspiration.</p>
<p>In case you&#8217;ve been living under a rock, Masters of Doom is about <a href="http://en.wikipedia.org/wiki/John_D._Carmack" target="_blank">John Carmack</a>, <a href="http://en.wikipedia.org/wiki/John_Romero">John Romero</a>, Id Software, Commander Keen, Wolfeinstein, Doom&#8230;</p>
<p>If you didn&#8217;t read it just do yourself a favor and order a copy of it!</p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2010/01/masters-of-doom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A matter of guidance</title>
		<link>http://daniberg.com/home/2009/12/a-matter-of-guidance/</link>
		<comments>http://daniberg.com/home/2009/12/a-matter-of-guidance/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 05:08:51 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=306</guid>
		<description><![CDATA[Cloudy days are perfect for productive leisure, so in March before moving to the US I spent a lazy-cloudy-Sunday afternoon packing. Moving is always exciting and a good chance to get rid of everything that is not necessary in your life anymore. You can even leave bad vibes behind if you are spiritual. We tend [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://daniberg.com/home/wp-content/uploads/2009/12/LasVegas.JPG"><img class="alignleft size-medium wp-image-634" title="LasVegas" src="http://daniberg.com/home/wp-content/uploads/2009/12/LasVegas-168x300.jpg" alt="LasVegas" width="168" height="300" /></a> Cloudy days are perfect for productive leisure, so in March before moving to the US I spent a lazy-cloudy-Sunday afternoon packing. Moving is always exciting and a good chance to get rid of everything that is not necessary in your life anymore. You can even leave bad vibes behind if you are spiritual. We tend to gather too much junk. Keep it simple.</p>
<p>The cleanup included my bookshelf. My mission was to dispose of as many books as possible. Boy, books are heavy to carry and physics does not apply when it is part of your luggage.</p>
<p>While running through the titles I started to compare dates of purchase against subjects. I have had this habit since I was a teen, every time I buy a book I sign and date it.</p>
<p>Anyway, my small library was another lead to an obvious issue: my quest to become a programmer is a mess.</p>
<p>Here&#8217;s one good example. I wanted to code games when I was a teen. After some research I concluded that C++ and DirectX were the right tools for the job. I decided to start with C++ and ordered &#8220;C++ How to Program&#8221; by Deitel. Back then, a small number of web pages would advise: &#8220;You have to learn C&#8221;. My mind discarded that advice as fast as I could read it. Why would I learn C? Isn&#8217;t C++ not only C but PLUS PLUS! It is the future. Yeah, I know you are laughing at me.</p>
<p>I read and tried all the examples from &#8220;C++ How to Program&#8221; before reading or writing any line of pure C code and felt ready to dive into some DirectX books and code the best tic-tac-toe ever!</p>



<p>Turns out my ambitious plan needed a detour. You have to go through some Windows programming before you can dive into DirectX (I don&#8217;t know how it works now a days). Gosh, 70 lines of C code just to print Hello World in the Win32 API world.</p>
<p>I can&#8217;t just copy and paste code so I ordered &#8220;Programming Windows&#8221; by Petzold to become familiar with Windows programming. BTW, Programming Windows is a great book &#8212; and I found a minor mistake in the text! (<a href="http://www.jasondoucette.com/books/pw5/pw5errata.html#chapter5">Erratum #5</a>).</p>
<p>I read the book, tried the examples and the fact is: Win32 API is C Code.</p>
<p>Because of that I finally ordered the classic &#8220;The C programming language&#8221; book to fill this awful gap in my skill set. Comparing the dates of purchase I realized that I bought the C book 2 years after the C++ one. Sad.</p>
<p>I now remember that after going back and forth I finally achieved my goal. The best tic-tac-toe game ever written did compile and run without crashing. The euphoria lasted for almost 5 seconds!</p>
<p>Before writing my first line of code I was already humble and comfortable with the idea that it takes a lifetime to be a great developer. BUT, it took me a long time to have a better overview of the skills set you need to build in order to be a software developer.</p>
<p><em>It&#8217;s a matter of proper guidance</em>.</p>
<p>It doesn&#8217;t matter if it&#8217;s a CS degree or guru souls willing to show you the way.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/12/a-matter-of-guidance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apprenticeship Patterns</title>
		<link>http://daniberg.com/home/2009/11/apprenticeship-patterns/</link>
		<comments>http://daniberg.com/home/2009/11/apprenticeship-patterns/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 19:02:51 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=556</guid>
		<description><![CDATA[I was randomly checking the titles available from Safari&#8217;s web site when I found Apprenticeship Patterns by Dave Hoover and Adewale Oshineye. The book presents several patterns to improve your learning experience as a software developer apprentice. Evaluating how you you learn is key to excel and achieve mastery in any form of art. Yes, I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[
<p>I was randomly checking the titles available from <a href="http://safari.oreilly.com" target="_blank">Safari&#8217;s web site</a> when I found Apprenticeship Patterns by Dave Hoover and Adewale Oshineye. The book presents several patterns to improve your learning experience as a software developer apprentice.</p>
<p>Evaluating how you you learn is key to excel and achieve mastery in any form of art. Yes, I&#8217;m including software in the art category.</p>
<p>A good example to follow are musicians as they have in their curriculum a solid base on the matter. They learn not only how to play but how to study and practice. They have method.</p>
<p>Aprenticeship Patterns is a good book and the subject is fascinating. Probably most of the patterns are already part of your daily schedule, but reading the book is still a good opportunity to reflect on the process to hone in on your skills.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/11/apprenticeship-patterns/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Learning MySQL</title>
		<link>http://daniberg.com/home/2009/10/learning-mysql/</link>
		<comments>http://daniberg.com/home/2009/10/learning-mysql/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 16:00:52 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=533</guid>
		<description><![CDATA[I&#8217;m trying to keep track of the books I read on this blog. It will be fun to check the posts a few years from now. I just finished reading one more book from the O&#8217;Reilly learning series. Learning MySQL by Seyed M.M. (Saied) Tahaghoghi and Hugh Williams. I picked this book up for two [...]]]></description>
			<content:encoded><![CDATA[I&#8217;m trying to keep track of the <a href="http://daniberg.com/home/category/books/">books I read</a> on this blog. It will be fun to check the posts a few years from now.</p>
<p>I just finished reading <a href="http://daniberg.com/home/2009/08/learning-python/">one more book from the O&#8217;Reilly learning series</a>. <strong>Learning MySQL</strong> by Seyed M.M. (Saied) Tahaghoghi and Hugh Williams.</p>
<p>I picked this book up for two reasons:</p>
<p>1) I had never read an entire MySQL book until now and there is just no excuse for that.</p>
<p>2) It is easy to read and digest. Productive leisure.</p>
<p>I think I&#8217;m now ready for an advanced book on the topic <img src='http://daniberg.com/home/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/10/learning-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing GNU Emacs Extensions</title>
		<link>http://daniberg.com/home/2009/10/writing-gnu-emacs-extensions/</link>
		<comments>http://daniberg.com/home/2009/10/writing-gnu-emacs-extensions/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 03:56:04 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=488</guid>
		<description><![CDATA[I&#8217;m not an Emacs Lisp programmer. In the best case scenario a wanna-be Emacs Lisp hacker. A few months ago I decided to have an introduction to this world full of parenthesis to solve a few problems I was having with Emacs default settings. When I first started using Emacs I had a hard time [...]]]></description>
			<content:encoded><![CDATA[
<p>I&#8217;m not an Emacs Lisp programmer. In the best case scenario a <em>wanna-be</em> Emacs Lisp hacker. <a href="http://daniberg.com/home/2009/05/elisp-and-buffers/">A few months ago</a> I decided to have an introduction to this world full of parenthesis to solve a few problems I was having with Emacs default settings.</p>
<p>When I first started using Emacs I had a hard time dealing with tabs and spaces. Thanks <a href="http://www.jwz.org/doc/tabs-vs-spaces.html">jwz</a>. In my day job tabs are the norm but I like my personal toy projects to have spaces instead. Problem solved. Now each project has its own preferences in my .emacs file. Life is great.</p>
<p>I went to the public library here in Sunnyvale and while skimming through computer titles I found <em>Writing GNU Emacs Extensions</em> by Bob Glickstein. Now, I have a few books to finish reading and of course, tons of code to write/read/edit, but I couldn&#8217;t resist and borrowed the book.</p>
<p>The book was printed in 1997 and mainly refers to Emacs version 19.34 but so far the concepts still apply (I&#8217;m running version 23).</p>
<p>I think the next step is to learn some form of Lisp&#8230;</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/10/writing-gnu-emacs-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JPod</title>
		<link>http://daniberg.com/home/2009/09/jpod/</link>
		<comments>http://daniberg.com/home/2009/09/jpod/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 02:42:41 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=468</guid>
		<description><![CDATA[It didn&#8217;t take long for me to read another book from Douglas Coupland. I first read Microserfs and since I liked the book I ordered JPod from the same author. The text form is pretty much like Microserfs, an epistolary novel according to Wikipedia. JPod has one different thing though, a subtle dark humour. People [...]]]></description>
			<content:encoded><![CDATA[

<p>It didn&#8217;t take long for me to read another book from Douglas Coupland. I first read <a href="http://daniberg.com/home/2009/04/microserfs/">Microserfs</a> and since I liked the book I ordered JPod from the same author.</p>
<p>The text form is pretty much like Microserfs, an <a href="http://en.wikipedia.org/wiki/Epistolary">epistolary novel</a> according to Wikipedia. JPod has one different thing though, a subtle  dark humo<span style="text-decoration: line-through;">u</span>r. People are killed but the narrative gives you the impression that the characters don&#8217;t take it as a big deal! Weird and funny!</p>
<p>There is also a TV show based on the novel. CBC Television from Canada produced 13 episodes and then canceled the show. Too bad. At least the episodes are available on DVD. Oh well, now I have to watch it&#8230;</p>
<p><strong>Note on Nov/27/2009</strong></p>
<p>&#8230; and I did. I must say that the first episodes are not great but by the end of the season you are wondering why the show was canceled. Can we have season 2? Can we have <a href="http://en.wikipedia.org/wiki/Arrested_Development_%28TV_series%29">Arrested Development</a> back? Please?!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/09/jpod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning Python</title>
		<link>http://daniberg.com/home/2009/08/learning-python/</link>
		<comments>http://daniberg.com/home/2009/08/learning-python/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 00:04:16 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=424</guid>
		<description><![CDATA[Write, run and throw away scripts are the excuse I need at my job to try different languages. One of the first languages I tried some years ago was Python. I really like the language but never had a proper introduction to it until now. I just finished reading Learning Python by Mark Lutz. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[
<p>Write, run and throw away scripts are the excuse I need at my job to try different languages.</p>
<p>One of the first languages I tried some years ago was Python. I really like the language but never had a proper introduction to it until now.</p>
<p>I just finished reading Learning Python by Mark Lutz. It&#8217;s a really good book especially if you are learning your first language. If it&#8217;s not the case the text can sometimes be too repetitive.</p>
<p>Anyhow, to make better use of my new and improved Python skills I devoted a few hours at night to understand what the heck is going on when I setup and sync <a href="http://daniberg.com/home/2009/06/chromium-compiled-in-ubuntu/">Chromium</a>&#8216; s source code.</p>
<p>I can finally rest when I type</p>
<p><code>gclient config http://src.chromium.org/svn/trunk/src<br />
gclient sync</code></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/08/learning-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Day</title>
		<link>http://daniberg.com/home/2009/06/windows-day/</link>
		<comments>http://daniberg.com/home/2009/06/windows-day/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 19:27:32 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=227</guid>
		<description><![CDATA[I&#8217;ve been involved in a C#/ASP.NET project for a few weeks now. It is my &#8220;Windows Day&#8221; during the week. It is exciting to be in a completely different environment and trying different things. I feel refreshed when I&#8217;m back to Ubuntu and getting things done for my employer in Brazil. The learning curve is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been involved in a C#/ASP.NET project for a few weeks now. It is my &#8220;Windows Day&#8221; during the week. It is exciting to be in a completely different environment and trying different things. I feel refreshed when I&#8217;m back to Ubuntu and getting things done for my employer in Brazil.</p>
<p>The learning curve is demanding though. It is not just a matter of learning a new language like C# and the .NET platform. There are also tools like IIS, SQL Server and Visual Studio. Took me a while to print &#8220;Hello World&#8221; in the browser.</p>


<p>I did add 2 books to my Safari account at O&#8217;Reilly.<em> Learning C# 3.0</em> by Jesse Liberty and Brian MacDonald and <em>Programming ASP.NET 3.5</em> by Jesse Liberty, Dan Maharry and Dan Hurwitz.</p>
<p>The ASP.NET book was a good choice for me. It&#8217;s hands on and the examples are really easy to follow. Nice start.</p>
<p>Learning C# is a great book only if you are learning your first language. I skimmed through most of the chapters to get the information I was interested in. I&#8217;ll try Programming C# next week.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/06/windows-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Producing Open Source Software</title>
		<link>http://daniberg.com/home/2009/05/producing-open-source-software/</link>
		<comments>http://daniberg.com/home/2009/05/producing-open-source-software/#comments</comments>
		<pubDate>Wed, 06 May 2009 20:41:40 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=186</guid>
		<description><![CDATA[I have just finished reading a really good book: Producing Open Source Software by Karl Fogel. The text is enriched by examples taken from the Subversion project where the author used to be involved. The book covers a wide range of topics found in Open Source Projects including Technical, Social and Political Infrastructures, Money, Packaging [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://daniberg.com/home/wp-content/uploads/2009/05/p1040896.jpg"><img class="alignleft size-thumbnail wp-image-187" title="p1040896" src="http://daniberg.com/home/wp-content/uploads/2009/05/p1040896-150x150.jpg" alt="p1040896" width="150" height="150" /></a>I have just finished reading a really good book: <a href="http://producingoss.com/en/index.html">Producing Open Source Software</a> by <a href="http://www.red-bean.com/kfogel/">Karl Fogel</a>. The text is enriched by examples taken from the <a href="http://subversion.tigris.org/">Subversion</a> project where the author used to be involved. The book covers a wide range of topics found in Open Source Projects including Technical, Social and Political Infrastructures, Money, Packaging and Releasing, Licenses and etc.</p>
<p>It is a good source of information if you are trying to improve or understand all the processes and overhead demanded by software development. Recommended even if the project you are engaged is not free/open source.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/05/producing-open-source-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eLisp and buffers</title>
		<link>http://daniberg.com/home/2009/05/elisp-and-buffers/</link>
		<comments>http://daniberg.com/home/2009/05/elisp-and-buffers/#comments</comments>
		<pubDate>Sat, 02 May 2009 20:34:30 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=167</guid>
		<description><![CDATA[I finally decided to devote some time to learning elisp and get rid of the shame I have every time I copy and paste code into my .emacs file. I&#8217;m now reading Programming in Emacs Lisp (Second Edition) by Robert J. Chassell. It is really good reading. Not only to learn elisp but also because [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://daniberg.com/home/wp-content/uploads/2009/05/i-gnu-m-x2.png"><img class="alignleft size-thumbnail wp-image-168" title="i-gnu-m-x2" src="http://daniberg.com/home/wp-content/uploads/2009/05/i-gnu-m-x2-150x150.png" alt="i-gnu-m-x2" width="150" height="150" /></a>I finally decided to devote some time to learning elisp and get rid of the shame I have every time I copy and paste code into my .emacs file. I&#8217;m now reading <a href="http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/index.html">Programming in Emacs Lisp (Second Edition)</a> by <a href="http://en.wikipedia.org/wiki/Robert_J._Chassell">Robert J. Chassell</a>. It is really good reading. Not only to learn elisp but also because the author is a great writer and I have the feeling he is interested in the history of words. Etymology is a fascinating field.</p>
<p>The text mentions, for example, where the word buffer comes from:</p>
<p><em>The word `buffer&#8217;, by the way, comes from the meaning of the word as a cushion that deadens the force of a collision.  In early computers, a buffer cushioned the interaction between files and the computer&#8217;s central processing unit.  The drums or tapes that held a file and the central processing unit were pieces of equipment that were very different from each other, working at their own speeds, in spurts.  The buffer made it possible for them to work together effectively.  Eventually, the buffer grew from being an intermediary, a temporary holding place, to being the place where work is done.</em></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/05/elisp-and-buffers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microserfs</title>
		<link>http://daniberg.com/home/2009/04/microserfs/</link>
		<comments>http://daniberg.com/home/2009/04/microserfs/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 20:46:44 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=133</guid>
		<description><![CDATA[I like tech novels but I&#8217;m not always on the cutting edge of the books. I just finished reading Microserfs from Douglas Coupland. The book is from 1995 so I&#8217;m almost 15 years late. Shame on me. The narrative is in the form of diary entries which guides you into a very personal and introspective reading. The [...]]]></description>
			<content:encoded><![CDATA[
<p>I like tech novels but I&#8217;m not always on the cutting edge of the books. I just finished reading Microserfs from Douglas Coupland. The book is from 1995 so I&#8217;m almost 15 years late. Shame on me.</p>
<p>The narrative is in the form of diary entries which guides you into a very personal and introspective reading. The plot starts in Redmond, Washington then moves to the Silicon Valley. This was really attractive for me since I&#8217;m now living in California. It was great to read about the cities, places and roads across the valley and be there the next day.</p>
<p>Can&#8217;t wait to order more books from Coupland!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2009/04/microserfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Project arrives</title>
		<link>http://daniberg.com/home/2008/08/new-project-arrives/</link>
		<comments>http://daniberg.com/home/2008/08/new-project-arrives/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 17:50:00 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=39</guid>
		<description><![CDATA[Back from Germany! Had 15 days to rest. Lovely company, places to visit, great food and beer. Oh beer!! Das Bier und das Wasser. Neutral liquids. I wish if I will ever find a bottle of Erdinger here for only 85 cents. Well, I must admit that it was not 100% fun. First my flight [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.com/gp/product/1590595084?ie=UTF8&amp;tag=d024-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590595084"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_g2WBI0UvgLU/SMQGo_gTleI/AAAAAAAAAAw/bRYVDSQGZCQ/s320/51KY85SK2YL._SL160_.jpg" alt="" id="BLOGGER_PHOTO_ID_5243323167477568994" border="0" /></a>Back from Germany! Had 15 days to rest. Lovely company, places to visit, great food and beer. Oh beer!! Das Bier und das Wasser. Neutral liquids. I wish if I will ever find a bottle of Erdinger here for only 85 cents.</p>
<p>Well, I must admit that it was not 100% fun. First my flight was canceled and I had to make a connection in France. Then they lost my luggage. Due to almost 8 hours delay I missed the chance to visit Switzerland. Aff. At least I had a book with me. For good or bad I improved my skills on security. PHP Pro Security is good reading by the way. Since I mentioned a book I can also recommend Beginning Linux programming although I&#8217;m still reading it.</p>
<p>Now! I didn&#8217;t know how tired I was until now. I&#8217;m feeling that batteries are recharged and don&#8217;t need to sleep for a long period. And that&#8217;s great</p>
<p>&#8216;CAUSE I&#8217;ll will put on hold the AR development.</p>
<p>BUT I have a new side project with a great webdesigner.</p>
<p>Details about Vaporware some other day.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.com/gp/product/0470147628?ie=UTF8&amp;tag=d024-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0470147628"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_g2WBI0UvgLU/SMQHWUAKr2I/AAAAAAAAAA4/P7in9Rou15E/s320/510IefKcXpL._SL160_.jpg" alt="" id="BLOGGER_PHOTO_ID_5243323946074025826" border="0" /></a>The main reason I&#8217;ll put on hold the AR project is time. I just don&#8217;t have enough free time for it now. Other than that it&#8217;s PHP code. Don&#8217;t get me wrong. It&#8217;s not a PHP issue. The problem is that my &#8220;official&#8221; job demands most of my day into PHP. You know, nothing like a different project/language to keep you fresh and learn new stuff. Since the AR is not an online project no one will be hurt if I bury it into fridge for some time. Gesundheit.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2008/08/new-project-arrives/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programming PHP book comments</title>
		<link>http://daniberg.com/home/2007/11/programming-php-book-comments/</link>
		<comments>http://daniberg.com/home/2007/11/programming-php-book-comments/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 18:03:00 +0000</pubDate>
		<dc:creator>Dani Berg</dc:creator>
				<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://daniberg.com/home/?p=37</guid>
		<description><![CDATA[One of the books I&#8217;m reading now is Programming PHP, 2nd Edition by Rasmus Lerdorf, Kevin Tatroe and Peter MacIntyre. Really nice, specially if you have in mind that Mr. Lerdorf invented PHP. After facing a few mistakes along the text I decided to write down a few ideas. Exercise my writing skills. You can [...]]]></description>
			<content:encoded><![CDATA[<p><img id="BLOGGER_PHOTO_ID_5243315020906955986" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_g2WBI0UvgLU/SMP_OzKhBNI/AAAAAAAAAAM/hmGZkyLddc4/s320/51PTZKfestL._SL160_.jpg" border="0" alt="" /><br />
One of the books I&#8217;m reading now is Programming PHP, 2nd Edition by Rasmus Lerdorf, Kevin Tatroe and Peter MacIntyre. Really nice, specially if you have in mind that Mr. Lerdorf invented PHP. After facing a few mistakes along the text I decided to write down a few ideas. Exercise my writing skills. You can check it <em>here</em> (link removed).</p>
<p><strong>Note on Mar/22/2009</strong>: I&#8217;m not maintaining this section anymore.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4429654278687803";
/* 468x60, created 6/11/09 */
google_ad_slot = "0066133711";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://daniberg.com/home/2007/11/programming-php-book-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
