<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>comp.buetow.org</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/" />
    <link rel="self" type="application/atom+xml" href="https://ssl.buetow.org/comp/atom.xml" />
    <id>tag:ssl.buetow.org,2009-08-09:/comp/7</id>
    <updated>2010-03-07T19:55:12Z</updated>
    <subtitle>All about computers and other irrelevant technical stuff</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.23-en</generator>

<entry>
    <title>Two new books ordered</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/03/two-new-books-ordered.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.650</id>

    <published>2010-03-07T18:46:48Z</published>
    <updated>2010-03-07T19:55:12Z</updated>

    <summary>The first book I&apos;ve ordered is Programming in Prolog. This book covers everything I should know about Prolog for my next exam. Originally published in 1981, this was the first textbook on programming in the Prolog language and is still...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Book" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Haskell" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Logic programming" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="University" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p>The first book I've ordered is <a href="http://www.amazon.de/Programming-Prolog-Using-ISO-Standard/dp/3540006788/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1267987638&sr=1-1">Programming in Prolog</a>. This book covers everything I should know about Prolog for my next exam. </p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="HsM-3667014.jpg" src="https://ssl.buetow.org/comp/HsM-3667014.jpg" width="200" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span><em>Originally published in 1981, this was the first textbook on programming in the Prolog language and is still the definitive introductory text on Prolog. Though many Prolog textbooks have been published since, this one has withstood the test of time because of its comprehensiveness, tutorial approach, and emphasis on general programming applications. Prolog has continued to attract a great deal of interest in the computer science community, and has turned out to be the basis for an important new generation of programming languages and systems for Artificial Intelligence. Since the previous edition of Programming in Prolog, the language has been standardised by the International Organization for Standardization (ISO) and this book has been updated accordingly. The authors have also introduced some new material, clarified some explanations, corrected a number of minor errors, and removed appendices about Prolog systems that are now obsolete.</em></p>

<p>This book was available for just 5 EUR (used)!</p>

<p>The second book I ordered is <a href="http://www.amazon.de/gp/product/0954300696/ref=ox_ya_oh_product">The Haskell Road to Logic, Maths and Programming</a>:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="41GMVH8KHHL._SL500_AA300_.jpg" src="https://ssl.buetow.org/comp/41GMVH8KHHL._SL500_AA300_.jpg" width="200" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span><em>The purpose of this book is to teach logic and mathematical reasoning in practice, and to connect logical reasoning with computer programming in Haskell. Haskell emerged in the last decade as a standard for lazy functional programming, a programming style where arguments are evaluated only when the value is actually needed. Haskell is a marvellous demonstration tool for logic and maths because its functional character allows implementations to remain very close to the concepts that get implemented, while the laziness permits smooth handling of infinite data structures.</em></p>

<p>I gonna start to read those books AFTER finishing <a href="https://ssl.buetow.org/comp/2010/02/new-book-about-functional-programming-ordered.html">my previous book</a> which is still very interesting! :)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Structure and Interpretation of Computer Programs online Lectures</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/03/structure-and-interpretation-of-computer-programs-online-lectures.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.648</id>

    <published>2010-03-06T11:09:53Z</published>
    <updated>2010-03-06T11:25:22Z</updated>

    <summary>I&apos;ve mentioned this book once before. Structure and Interpretation of Computer Programs has been MIT&apos;s introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressing knowledge and it presents basic principles of...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Functional programming in general" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p>I've mentioned this book <a href="https://ssl.buetow.org/comp/2010/01/book-tip-structure-and-interpretation-of-computer-programs.html">once before</a>. </p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="wizard.jpg" src="https://ssl.buetow.org/comp/wizard.jpg" width="200" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span><em>Structure and Interpretation of Computer Programs has been MIT's introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressing knowledge and it presents basic principles of abstraction and modularity, together with essential techniques for designing and implementing computer languages. This course has had a worldwide impact on computer science curricula over the past two decades.</em></p>

<p>You can find the online videos and the free online book right <a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/">here</a>. For the case the ftp servers are busy you can download them from my own pub ftp instead (<a href="ftp://ftp.buetow.org/pub/OnlineLectures/StructureAndInterpretationOfComputerPrograms">ftp.buetow.org/pub</a>).</p>]]>
        
    </content>
</entry>

<entry>
    <title>Terminal broken?</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/03/terminal-broken.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.647</id>

    <published>2010-03-05T21:16:17Z</published>
    <updated>2010-03-05T21:21:43Z</updated>

    <summary> A &apos;tput reset&apos; should fix it....</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="UNIX" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="https://ssl.buetow.org/comp/kaputt.png"><img alt="kaputt.png" src="https://ssl.buetow.org/comp/assets_c/2010/03/kaputt-thumb-400x252-126.png" width="400" height="252" class="mt-image-none" style="" /></a></span></p>

<p>A '<em>tput reset</em>' should fix it.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Monads in C++</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/monads-in-c.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.646</id>

    <published>2010-02-28T21:38:22Z</published>
    <updated>2010-03-07T19:53:43Z</updated>

    <summary>Here is an example on how you could implement Monads in C++. Hrmm... I think I prefer the version of Haskell ;) Here is a funny way of explaining Monads in Haskell (using Monsters devouring values)....</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Damn" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Fun" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><a href="http://www.cc.gatech.edu/~yannis/fc++/FC++.1.5/monad.h">Here</a> is an example on how you could implement Monads in C++. Hrmm... I think I prefer the version of Haskell ;)</p>

<p><a href="http://www.reddit.com/r/programming/tb/oq3m">Here</a> is a funny way of explaining Monads in Haskell (using Monsters devouring values).</p>]]>
        
    </content>
</entry>

<entry>
    <title>nim Game in Haskell (Playing around w/ the IO Monad)</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/nim-game-in-haskell-playing-around-w-the-io-monad.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.644</id>

    <published>2010-02-23T22:45:35Z</published>
    <updated>2010-03-07T19:55:27Z</updated>

    <summary>http://cxg.de/_d0aef6.htm (Excercise of Lecture 9 of &quot;Programming Haskell&quot;)...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Haskell" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><a href="http://cxg.de/_d0aef6.htm">http://cxg.de/_d0aef6.htm</a> (Excercise of Lecture 9 of "<a href="https://ssl.buetow.org/comp/2010/02/haskell-online-lectures.html">Programming Haskell</a>")</p>]]>
        
    </content>
</entry>

<entry>
    <title>Working dress</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/working-dress.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.642</id>

    <published>2010-02-20T10:14:07Z</published>
    <updated>2010-02-20T10:15:15Z</updated>

    <summary></summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Fun" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="pastedGraphic.jpg" src="https://ssl.buetow.org/comp/pastedGraphic.jpg" width="280" height="230" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>]]>
        
    </content>
</entry>

<entry>
    <title>New book about functional programming ordered</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/new-book-about-functional-programming-ordered.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.641</id>

    <published>2010-02-20T00:55:13Z</published>
    <updated>2010-02-23T20:07:58Z</updated>

    <summary> I&apos;ve just ordered a new book (in german language) called &quot;Funktionale Programmierung: Sprachdesign und Programmiertechnik &quot; (in english &quot;Functional programming: Language design and programming techniques&quot;). This book is for people who know already a little bit about functional programming...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Book" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Functional programming in general" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="University" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="https://ssl.buetow.org/comp/41QUtMNiIqL.jpg"><img alt="41QUtMNiIqL.jpg" src="https://ssl.buetow.org/comp/assets_c/2010/02/41QUtMNiIqL-thumb-150x227-123.jpg" width="150" height="227" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></a></span> I've just ordered a new book (in german language) called "<a href="http://www.amazon.de/gp/product/354020959X/ref=ox_ya_oh_product">Funktionale Programmierung: Sprachdesign und Programmiertechnik</a> " (in english "Functional programming: Language design and programming techniques"). This book is for people who know already a little bit about functional programming but want to dig deeper a little bit! It is demonstrating lots of stuff using functional programming languages such as <a href="http://www.haskell.org">Haskell</a> and <a href="http://en.wikipedia.org/wiki/Opal_(programming_language)">Opal</a>. </p>]]>
        
    </content>
</entry>

<entry>
    <title>VAX executable binaries on my x86!</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/vax-executable-binaries-on-my-x86.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.640</id>

    <published>2010-02-18T20:41:21Z</published>
    <updated>2010-02-23T22:35:52Z</updated>

    <summary>I was just looking around a little bit in the .git subdirectory of a local git repository of mine and found out that some files are VAX COFF executables! pb@earth:~/DataTrap/git/science/.git$ file ./objects/e5/940c1148ae6050cdc20b5978fa7419b2b093eb ./objects/e5/940c1148ae6050cdc20b5978fa7419b2b093eb: VAX COFF executable ;) VAX is a...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Damn" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Fun" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p>I was just looking around a little bit in the .git subdirectory of a local <a href="http://git-scm.com/">git</a> repository of mine and found out that some files are <a href="http://en.wikipedia.org/wiki/COFF">VAX COFF</a> executables!</p>

<p><em>pb@earth:~/DataTrap/git/science/.git$ file ./objects/e5/940c1148ae6050cdc20b5978fa7419b2b093eb<br />
./objects/e5/940c1148ae6050cdc20b5978fa7419b2b093eb: VAX COFF executable<br />
</em></p>

<p>;)</p>

<p><a href="http://en.wikipedia.org/wiki/VAX">VAX</a> is a pretty old computer architecture which runs operating systems like <a href="http://en.wikipedia.org/wiki/OpenVMS">OpenVMS</a>:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="https://ssl.buetow.org/comp/Vax780_small.jpeg"><img alt="Vax780_small.jpeg" src="https://ssl.buetow.org/comp/assets_c/2010/02/Vax780_small-thumb-400x257-121.jpeg" width="400" height="257" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></p>

<p>Well, .. in real those are just binary blobs where git stores content in. A joke or by accident? Because OpenVMS' file system has integrated version control in its native file system. Its much simpler than git, but... ;)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Server reachable over 40 years ago</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/server-was-probably-reachable-over-40-years-ago.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.639</id>

    <published>2010-02-14T11:47:15Z</published>
    <updated>2010-02-23T22:37:02Z</updated>

    <summary>I received the following notification from Hetzners monitoring robot just after shutting down one of the my VServers: ==&gt; PING (reminder)...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Fun" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Servers" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="hetzner" label="Hetzner" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="monitoring" label="Monitoring" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vserver" label="VServer" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xen" label="Xen" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="https://ssl.buetow.org/comp/334px-Tux.svg.png"><img alt="334px-Tux.svg.png" src="https://ssl.buetow.org/comp/assets_c/2010/02/334px-Tux.svg-thumb-100x117-118.png" width="100" height="117" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></a></span>I received the following notification from <a href="http://www.hetzner.de">Hetzner</a>s monitoring robot just after shutting down one of the my VServers:</p>

<pre>==> PING (reminder) <==  
State is now:   ERROR    (00:30h 2010.02.14)
State before:   UNKNOWN  (was over 40 years)</pre>]]>
        
    </content>
</entry>

<entry>
    <title>&apos;Programming Haskell&apos; online lectures</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/haskell-online-lectures.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.638</id>

    <published>2010-02-14T10:51:47Z</published>
    <updated>2010-03-06T07:42:30Z</updated>

    <summary> I found a great series of free haskell lectures online at http://www.cs.nott.ac.uk/~gmh/book.html#videos. The referent is going through all the chapters of the book &apos;Programming Haskell&apos;. The videos are pretty good and atm I am enjoying watching them. You should...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Book" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Functional programming in general" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="haskell" label="Haskell" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="lecture" label="Lecture" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="Video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="haskell.png" src="https://ssl.buetow.org/comp/haskell.png" width="120" height="120" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span> I found a great series of free haskell lectures online at <a href="http://www.cs.nott.ac.uk/~gmh/book.html#videos">http://www.cs.nott.ac.uk/~gmh/book.html#videos</a>. The referent is going through all the chapters of the book 'Programming Haskell'. The videos are pretty good and atm I am enjoying watching them. You should give them a try as well! I think you don't even need to buy <a href="http://www.cs.nott.ac.uk/~gmh/book.html">the book</a> in order to understand everything.</p>

<p>Update: I put those videos on my pub FTP server for download: <a href="ftp://ftp.buetow.org/pub/OnlineLectures/ProgrammingHaskell/">ftp://ftp.buetow.org/pub/OnlineLectures/ProgrammingHaskell/</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Nokia N95 8GB</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/02/nokia-n95-8gb.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.637</id>

    <published>2010-02-13T13:59:12Z</published>
    <updated>2010-02-23T22:40:44Z</updated>

    <summary>i bought myself a new cell phone. new is relative, but it is newer than my previous phone (se p910i) and the original n95 (which is owned by my girlfriend by now). since i liked the n95 i thought i...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p>i bought myself a new cell phone. new is relative, but it is newer than my previous phone (<a href="http://en.wikipedia.org/wiki/Sony_Ericsson_P910">se p910i</a>) and the <a href="http://en.wikipedia.org/wiki/Nokia_N95">original n95</a> (which is owned by my girlfriend by now). since i liked the n95 i thought i should buy the <a href="http://en.wikipedia.org/wiki/Nokia_N97">n97</a> or at least the <a href="http://en.wikipedia.org/wiki/Nokia_N96">n96</a>. </p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="nokia-n95-8gb-combo1.jpg" src="https://ssl.buetow.org/comp/nokia-n95-8gb-combo1.jpg" width="372" height="632" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>

<p>the n96 however is not the real successor of the n95. it is more the successor of the <a href="http://en.wikipedia.org/wiki/Nokia_N85">n85</a>. i dont like the design of the n96. the fabrication of the n96 can not be compared with the fabrication of the n95. </p>

<p>and the n97 is a little bit too much. it is more than a small portable computer. it's not a cell phone anymore. at the moment the n97 is too expensive and not what i want.</p>

<p>but there is also a revision of the n95 available. it's the<a href="http://en.wikipedia.org/wiki/Nokia_N95#N95_8GB_.28N95-2.29"> n95 8gb</a>. it has more memory, a faster cpu, more storage, a bigger display, ... the n95 8gb isn't the newest cell phone available anymore, but fits perfectly my needs. I am able..</p>

<ul>
	<li>to phone and to write SMS messages</li>
	<li>to read and write e-mail messages through IMAPS (using ProfiMail)</li>
	<li>listening to local radio stations</li>
	<li>downloading of podcasts and listening them offline</li>
	<li>listening to mp3</li>
	<li>online weather forecast</li>
	<li>schedule of the local public transport, online and offline (java app)</li>
	<li>alarm clock</li>
	<li>browsing internet sites optimized for mobile devices (WLAN/UMTS)</li>
	<li>taking pictures with the 5mp camera</li>
</ul>

<p>here are a few pictures comparing the n95 (grey) with the n95 8gb (black):</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_2228.jpg" src="https://ssl.buetow.org/comp/img_2228.jpg" width="200" height="150" class="mt-image-none" style="" /></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_2229.jpg" src="https://ssl.buetow.org/comp/img_2229.jpg" width="200" height="150" class="mt-image-none" style="" /></span><br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_2230.jpg" src="https://ssl.buetow.org/comp/img_2230.jpg" width="200" height="150" class="mt-image-none" style="" /></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_2233.jpg" src="https://ssl.buetow.org/comp/img_2233.jpg" width="200" class="mt-image-none" style="" /></span></p>

<p>And: <a href="http://www.symbian.org">Symbian</a>, the phones operating system, has been declared as open source just a few days ago. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Redesign of the Fype Interpreter</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/01/redesign-of-the-fype-interpreter.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.636</id>

    <published>2010-01-31T22:14:49Z</published>
    <updated>2010-03-07T19:54:44Z</updated>

    <summary>After reading Structure and Interpretation of Computer Programs I decided to rethink the interpreter of Fype. Fype is a small scripting language invented and implemented (in C) by me. I decided to take the code-base of Fype and to rewrite...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="C/C++" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Fype" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="fype_small.png" src="https://ssl.buetow.org/comp/fype_small.png" width="150" height="29" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>After <a href="https://ssl.buetow.org/comp/2010/01/book-tip-structure-and-interpretation-of-computer-programs.html">reading <em>Structure and Interpretation of Computer Programs</em></a> I decided to rethink the interpreter of <a href="http://fype.buetow.org">Fype</a>. Fype is a small scripting language invented and implemented (in C) by me. I decided to take the code-base of Fype and to rewrite the core of its interpreter-part in order to use a Scheme/Lisp-like syntax. which is much easier to parse. The syntax is simpler and much more powerful now. So far it is now possible to define functions and sub-functions and to display all involving frames. Here is an example:</p>

<pre>(def (test)
   (say "This is test")
   (def (test2) 
      (say "I am in test2" "And test3 will be defined next!")
      (def (test3)
         (say "Displaying all frames now:")
         (show-frames))
      (test3))
   (test2))
(test)</pre>

<p>The invocation of the interpreter prints out the following result:</p>

<p><em>This is test<br />
I am in test2<br />
And test3 will be defined next!<br />
Displaying all frames now:<br />
FRAME(id=3) 0:<br />
FRAME(id=2) 1:<br />
+ST_LAMBDA(name=test3;args=)<br />
( ( say Displaying all frames now: ) ( show-frames ) ) <br />
FRAME(id=1) 2:<br />
+ST_LAMBDA(name=test2;args=)<br />
( ( say I am in test2 And test3 will be defined next! ) ( def ( test3 ) ( say Displaying all frames now: ) ( show-frames ) ) ( test3 ) ) <br />
FRAME(id=0) 3:<br />
+ST_LAMBDA(name=test;args=)<br />
( ( say This is test ) ( def ( test2 ) ( say I am in test2 And test3 will be defined next! ) ( def ( test3 ) ( say Displaying all frames now: ) ( show-frames ) ) ( test3 ) ) ( test2 ) )<br />
</em></p>

<p>Now what's left to do: Implement a few more built in functions. And we have a new Scheme/Lisp-like language with a very very small footprint available :) </p>

<p>Btw.: This version of fype aims to be pure-functional and with lazy evaluation.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Book Tip: Structure and Interpretation of Computer Programs</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/01/book-tip-structure-and-interpretation-of-computer-programs.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.632</id>

    <published>2010-01-03T11:50:55Z</published>
    <updated>2010-01-27T21:38:03Z</updated>

    <summary>During Christmas break I read the book &quot;Structure and Interpretation of Computer Programs - Second Edition&quot; (by Harald Abelson and Garald Jay Sussman with Julie Sussman). &quot;The book should be read by every self-respecting computer scientist. Because of its clarity,...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="Book" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Functional programming in general" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Fype" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="41VPCK8QCXL._SS500_.jpg" src="https://ssl.buetow.org/comp/41VPCK8QCXL._SS500_.jpg" width="150" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span>During Christmas break I read the book "Structure and Interpretation of Computer Programs - Second Edition" (by Harald Abelson and Garald Jay Sussman with Julie Sussman). </p>

<p><em>"The book should be read by every self-respecting computer scientist. Because of its clarity, simplicity, and wit, this work is highly recommended to anyone seeking an understanding of the emerging pradigms of computer science"</p>

<p>-- Mitchell Wand, American Scientist</em></p>

<p>This book handles all the topics using the dialect of Lisp called Scheme. It is impressive how simple a syntax and the interpreter and how powerfull the corresponding language can be. The book is mainly dealing with funcional programming techniques. I should overthink <a href="http://fype.buetow.org">Fype</a>, which is my own language for which I wrote an interpreter for.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Supporting Gentoo Virtual Servers (Xen DomU)</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2010/01/supporting-gentoo-virtual-servers-xen-domu.html" />
    <id>tag:ssl.buetow.org,2010:/comp//7.631</id>

    <published>2010-01-02T09:07:49Z</published>
    <updated>2010-01-02T09:15:27Z</updated>

    <summary>Since a while I am offering Linux Virtual Servers (Xen DomU) and FreeBSD Jails at buetow.org. Until now I was only capable of offering Debian VServers and FreeBSD Jails. From now on I also support VServers running Gentoo....</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="FreeBSD" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="P. B. Labs" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="153651891_6415635e3f.jpg" src="https://ssl.buetow.org/comp/153651891_6415635e3f.jpg" width="50" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span>Since a while I am offering Linux Virtual Servers (Xen DomU) and <a href="http://www.freebsd.org">FreeBSD</a> Jails at <a href="https://ssl.buetow.org/?site=Hosting">buetow.org</a>. Until now I was only capable of offering <a href="http://www.debian.org">Debian</a> VServers and FreeBSD Jails. From now on I also support VServers running <a href="http://www.gentoo.org">Gentoo</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Per User rc.d on FreeBSD using CSH</title>
    <link rel="alternate" type="text/html" href="https://ssl.buetow.org/comp/2009/12/per-user-rcd-on-freebsd-using-csh.html" />
    <id>tag:ssl.buetow.org,2009:/comp//7.629</id>

    <published>2009-12-30T14:40:43Z</published>
    <updated>2010-02-14T11:20:22Z</updated>

    <summary>On my FreeBSD Jail I&apos;ve lots of users. And some of them require to start automatically an application in their homes at reboot (e.g. IRC bouncer or IRC bot). In order to accomplish this I wrote myself the following small...</summary>
    <author>
        <name>pb</name>
        
    </author>
    
        <category term="FreeBSD" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Shell" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="https://ssl.buetow.org/comp/">
        <![CDATA[<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="freebsd-devil-l.jpg" src="https://ssl.buetow.org/comp/freebsd-devil-l.jpg" width="100" height="106" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>On my FreeBSD Jail I've lots of users. And some of them require to start automatically an application in their homes at reboot (e.g. IRC bouncer or IRC bot). In order to accomplish this I wrote myself the following small script and placed it into /usr/local/etc/rc.d/zzz-usercs.sh (and set the executable flag):

<pre>

#!/bin/csh
# (c) 2009 by Paul C. Buetow

set RC_DIR=rc.d

foreach user ( `cut -d : -f 1 /etc/passwd | grep -v '#'` )
  if ( -e ~$user/$RC_DIR ) then
    cd ~$user
    foreach rc ( ./$RC_DIR/*.sh )
      if ( -x $rc) then
        # Double Fork (Security reasons)
        (su -l $user ./"$rc" $1 >& "$rc.out" &) &
        chmod 660 "$rc.out"
        chown ${user}:wheel "$rc.out"
      endif
    end
  endif
end
</pre>

Every user can now configure its own rc.d-scripts in ~/rc.d/. All scripts must end with .sh and they must be executable. The working directory is always ~ by default. The parameters are passed 1:1 to the individual user-rc.d scripts. E.g. ./zzz-usercs.d.sh start will pass start as its argument to all user scripts.]]>
        
    </content>
</entry>

</feed>
