<?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>espresso online</title>
	<atom:link href="http://espresso-online.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://espresso-online.info</link>
	<description>a whole lot of interestingness</description>
	<lastBuildDate>Tue, 22 Nov 2011 20:33:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CSS Floats Explained</title>
		<link>http://espresso-online.info/2011/11/22/css-floats-explained/</link>
		<comments>http://espresso-online.info/2011/11/22/css-floats-explained/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 20:32:14 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[floats]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[teaching]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=139</guid>
		<description><![CDATA[CSS floats are quite well covered all over the place, but finding all the information in one place can sometimes be tricky. It took me quite a while to understand how floats work when I started out. And once I &#8230; <a href="http://espresso-online.info/2011/11/22/css-floats-explained/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>CSS floats are quite well covered all over the place, but finding all the information in one place can sometimes be tricky. It took me quite a while to understand how floats work when I started out. And once I started using them that opened a whole new can of worms. In this post I am going to show you how I use floats everywhere. It seems to work quite well <img src='http://espresso-online.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Lets start out with some simple HTML. You want to position two divs next to each other.</p>
<pre>&lt;div class="main_content"&gt;
  &lt;h2&gt;Hello&lt;/h2&gt;
  &lt;p&gt;Welcome to my website&lt;/p&gt;
  &lt;img src="img/me.jpg" alt="A picture of me" /&gt;
&lt;/div&gt;

&lt;div class="sidebar"&gt;
  &lt;ul class="main_menu"&gt;
    &lt;li&gt;&lt;a href="home.html"&gt;Home&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="about.html"&gt;About&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;</pre>
<p>Ok, we have a very simple HTML snippet. We have two container divs that hold the main content and the sidebar. The main content contains a title, paragraph and an image the sidebar contains the main menu.</p>
<p>To float them together you would create some CSS like this:</p>
<pre>.main_content,
.sidebar {
  float: left;
}

.main_content {
  width: 600px
}

.sidebar {
  width: 200px;
}</pre>
<p>That isn&#8217;t very complicated either. If you ran that code you would see the two divs floated nicely next to each other. But what happens if you want to wrap our current code in another div with a background colour?</p>
<pre>&lt;div id="container"&gt;
  &lt;div class="main_content"&gt;
    ...
  &lt;/div&gt;

  &lt;div class="sidebar"&gt;
    ...
  &lt;/div&gt;
&lt;/div&gt;</pre>
<pre>#container {
  width: 800px;
  padding: 20px;
  background: #333;
}
  ...</pre>
<p>That&#8217;s cool, the only trouble is that your container is not going to wrap around the the two floated divs, so it will just be a red stripe at the top. Why does this happen? Because the divs are floating. Don&#8217;t worry there are ways to fix this. I am going to show you two:</p>
<pre>#container {
  width: 800px;
  padding: 20px;
  background: #333;
  overflow: hidden;
}</pre>
<p>Setting the overflow to hidden with will make the container div wrap around the floating divs. I have no idea why it does this, but it works <img src='http://espresso-online.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . The other way is to create a CSS clear class.</p>
<pre>.clear {
  height: 0;
  clear: both;
  overflow: hidden;
}</pre>
<p>You can then use it like this:</p>
<pre>&lt;div id="container"&gt;
  &lt;div class="main_content"&gt;
    ...
  &lt;/div&gt;

  &lt;div class="sidebar"&gt;
    ...
  &lt;/div&gt;
  &lt;div class="clear"&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Leaving empty divs lying around is neither pretty nor possible sometimes. If you are using a content manage like Drupal or WordPress they put together HTML for you and sometimes it is not possible to alter that.</p>
<p>I like using the first way, where you just set the overflow on the container to hidden, that works for probably 90% of all floating. For the other 10% create a clear class and use that.</p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2011/11/22/css-floats-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Awesomeness of PHP __autoload</title>
		<link>http://espresso-online.info/2011/11/22/the-awesomeness-of-php-__autoload/</link>
		<comments>http://espresso-online.info/2011/11/22/the-awesomeness-of-php-__autoload/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 15:14:15 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Quick help]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[autoload]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=131</guid>
		<description><![CDATA[Many of you have probably written or at least tried to write a PHP framework at some point during your career. The best way to write a frameworks, in my very humble opinion, is to use object oriented programming (OOP) &#8230; <a href="http://espresso-online.info/2011/11/22/the-awesomeness-of-php-__autoload/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many of you have probably written or at least tried to write a PHP framework at some point during your career. The best way to write a frameworks, in my very humble opinion, is to use object oriented programming (OOP) and a sort of model/view/controller (MVC) architecture. In most cases this means that by the end of writing a sort of usable system you will have a large amount of files filled with different bits of code.</p>
<p>In the bad old days before PHP 5 you would have an index.php file and that looked something like this:</p>
<pre>&lt;?php
/**
 * Index file of Xframework.
 */

// Include all sorts of useful stuff...
include_once 'bootstrap.php';
include_once '/app/model/x.class.php';
include_once '/app/model/theme.class.php';
include_once '/app/controller/user.class.php';
include_once '/app/view/index.php';

// Now we can finally do something.
$x = new x();
$x-&gt;run();</pre>
<p>Wouldn&#8217;t it be really nice if we could just write the code without having to worry about including millions of files everywhere, which can become a pain in terms of maintainability.</p>
<p>Enter __autoload() in PHP5. YAY! All our troubles magically disappear. Well not really, but your life is made slightly easier. So instead of the above, you now have:</p>
<pre>&lt;?php
/**
 * Improved index file of Xframework.
 */

// Our pretty __autoload() function.
function __autoload($classname) {
  include_once '/app/classes/'. $classname .'.php';
}

// Run the framework.
$x = new x_controller();
$x-&gt;run();</pre>
<p>Using __autoload should theoretically also improve the speed at which your app loads because you only load the files that are needed at the time.</p>
<p>You could also do some really complex configurations like the below for example:</p>
<pre>&lt;?php
/**
 * A more complex __autoload example for Xframework.
 */

// Autoload some classes.
function __autoload($classname) {
  $class = explode('_'. $classname);

  $class_file = $class[0] .'.php';
  $class_type = $class[1];

  // Include the class.
  include_once '/app/'. $class_type .'/'. #class_file;
}

// Let's run the app.
$x = new x_controller();
$x-&gt;run();</pre>
<p>In the example above the autoload function is checking the class name for a type. The type could be, for example, model, view, controller, elephant or whatever you wanted it to be. That type is the directory where the class is stored. In the example we called the x_controller class. So that class would be located at /app/controller/x.php, the same would be true if you wanted it to be x_model or x_view.</p>
<p>This most definitely makes my life easier when I write PHP applications. If you spend a lot of time writing PHP applications and don&#8217;t use a specific framework for the job I would suggest that you put together a rough toolkit for yourself using __autoload() as the heart.</p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2011/11/22/the-awesomeness-of-php-__autoload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLite3 + Dropbox == Awesome</title>
		<link>http://espresso-online.info/2011/10/13/sqlite3-dropbox-awesome/</link>
		<comments>http://espresso-online.info/2011/10/13/sqlite3-dropbox-awesome/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 22:13:21 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQLite3]]></category>
		<category><![CDATA[XAMPP]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=123</guid>
		<description><![CDATA[Dropbox is one of the coolest apps I have ever used and everyone knows how to use it. I can tell my clients to Dropbox me files and they don&#8217;t roll their eyes. Finally something useful out there. No, this &#8230; <a href="http://espresso-online.info/2011/10/13/sqlite3-dropbox-awesome/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Dropbox" href="http://dropbox.com" target="_blank">Dropbox</a> is one of the coolest apps I have ever used and everyone knows how to use it. I can tell my clients to Dropbox me files and they don&#8217;t roll their eyes. Finally something useful out there. No, this isn&#8217;t an advert for Dropbox I will explain my excitement in a minute.</p>
<p>I wrote a PHP/MySQL contact manager for a client a little while ago, it was the successor to an Excel VBA app that succeeded a <a title="Psion Series 3" href="http://en.wikipedia.org/wiki/Psion_3" target="_blank">Psion Series 3</a> from 1993. So the client was very happy with the system everything working perfectly. But then he wants to be able to access his database of contacts from other computers as well (work / home / etc&#8230;). Initially I was going to build an addon that allowed him to export a file and import it on the other end. But I didn&#8217;t really like that idea because it relies too much on the client to get it right, which is not a good thing at all. (Think late night phone calls and weekends filled with a moaning client)</p>
<p>It took a while to realise that perhaps Dropbox could do exactly what I wanted, the thing that held me up was MySQL. Enter <a title="SQLite3" href="http://www.sqlite.org/" target="_blank">SQLite3</a>. I have know about SQLite3 for a while now but I have never used it much. I knew it was a portable database that lived in a single file but have never had a use for it. Until now.</p>
<p>PHP also makes it really simple to convert from a MySQL database to a SQLite3 database, thought I did spend a lot of time fiddling with export tools. I ended up porting the table structure and then writing a simple MySQL query that pushed all the data into the SQLite3 database. It took me around two hours to convert the contact manager from MySQL to SQLite3 which is not bad. All the queries work without needing to change, basically you just change any mysql_* function to sqlite_* and hey presto you&#8217;re done <img src='http://espresso-online.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>And for the cherry on top I use Dropbox to store the SQLite3 database and then reference it from the PHP application running in <a title="XAMPP" href="http://www.apachefriends.org/en/xampp.html" target="_blank">XAMPP</a> on his local machines. Then whenever he updates his database on one computer it updates them all. Also with Dropbox he can work offline as well and then sync when he connects.</p>
<p>Of course I know this is not the elixir to everything but for something simple like this where there is one guy using an app on several computers it is perfect.</p>
<p>I think maybe for my next project I will start working on building a Dropbox clone to use in my own office, maybe with a few extra features more useful to developers. Haha, no&#8230; but then again&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2011/10/13/sqlite3-dropbox-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When designing for the web, is the customer always right?</title>
		<link>http://espresso-online.info/2011/03/24/when-designing-for-the-web-is-the-customer-always-right/</link>
		<comments>http://espresso-online.info/2011/03/24/when-designing-for-the-web-is-the-customer-always-right/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 18:57:27 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[clients]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=106</guid>
		<description><![CDATA[When I began thinking about this friction between clients and designers I tried to find a real life example to best describe how the relationship should work. First I thought that it was rather like a person who wants to &#8230; <a href="http://espresso-online.info/2011/03/24/when-designing-for-the-web-is-the-customer-always-right/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="font-style: normal;">When I began thinking about this friction between clients and designers I tried to find a real life example to best describe how the relationship should work.</span></p>
<p>First I thought that it was rather like a person who wants to build a house. A person who wants to build a house looks for an architect, but they usually start out with a fairly good idea of what they want. They can show the architect rough sketches, magazine clippings and whatnot. So essentially the architect is just there to give advice, draw the plans and make sure that the house looks like the owners want it.</p>
<p>This works great except that a personal house only needs to fit the need of one person (maybe more if the client has a family but we will assume that they all were part of the planning). So for example if the client is short they may want to have kitchen cupboards that are quite low or floor level, this will be inconvenient for a taller person.</p>
<p>This scenario does not really fit the web because the web is not like a home, rather it is like a public building &#8211; a library or museum for example. The web cannot by its nature fit one person, neither can it fit everyone so a compromise needs to be arrived at. This compromise is, by using gathered knowledge, fit the largest group of people possible.</p>
<blockquote><p>the web is not like a home, rather it is like a public building &#8211; a library or museum for example</p></blockquote>
<p>With this in mind lets explore the process for designing a public building. A public building needs to be designed with the public in mind, this is the huge difference between designing a home. Yes the designs are begun in much the same way, a client with an idea finds a n architect. But in this case the client is usually a government or large company. They would probably start by getting a team of consultants together, these would be architects, designers and other people like that with experience in designing public buildings.</p>
<p>The client will then move to the background white the team puts together a design and then gets feedback from the people that are going to be affected by the building. Once all the required feedback has been gathered the team will then use it to make changes to their initial design. Once they are happy with what they have put together they will go back to their client, discuss it, maybe make one or two minor changes and then get on with the next stage.</p>
<p>The way a web design comes together follows the second scenario I proposed much closer than the first. Let me explain. The client starts out with an idea, they may go to a design company with some preconceived ideas but in most cases they just present their idea. The design company will then mull over the idea and try to build a design around it. This is done by using expertise from prior projects as well as doing usability studies and maybe a few other things as well. The usability testing involves the public in the design process by letting them show the design team how their design works in practice, the public can then also give their opinions. When all the tests and procedures have been completed the web design company will have a design that is both functional and one that works for the biggest possible amount of visitors.</p>
<p>Once the company is happy with what they have put together they will take it to their client and they will then make slight changes here and there. Once everyone is happy then they can procede to the next stage.</p>
<h3>Conclusion</h3>
<p>In conclusion I think that there are a lot of parallels that can be drawn from the second scenario. First, the client takes a less important role in the design because he trusts the team he has employed that they will give him the results he asked for. Second, the public is involved in the design process in a controlled way that allows them to influence the design but not derail the process with nonsense.</p>
<p>The biggest problem here is trust, clients need to trust that the team they have employed will do the job properly. What we do at Amoebasys is use Redmine (http://redmine.org), which is an online job tracking system, so that the client can see exactly what is going on. They can follow as each job task is signed off and this makes them happy.</p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2011/03/24/when-designing-for-the-web-is-the-customer-always-right/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remove All .svn Folders From Project</title>
		<link>http://espresso-online.info/2010/11/25/remove-all-svn-folders-from-project/</link>
		<comments>http://espresso-online.info/2010/11/25/remove-all-svn-folders-from-project/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 22:42:42 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Quick help]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=97</guid>
		<description><![CDATA[Here is a clever little script to remove all .svn folders from a project. rm -rf $(find . -name .svn) Stolen from http://snippets.dzone.com/posts/show/6698]]></description>
			<content:encoded><![CDATA[<p>Here is a clever little script to remove all .svn folders from a project.</p>
<pre>rm -rf $(find . -name .svn)</pre>
<p>Stolen from http://snippets.dzone.com/posts/show/6698 <img src='http://espresso-online.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2010/11/25/remove-all-svn-folders-from-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woolworths Constantia</title>
		<link>http://espresso-online.info/2010/10/23/woolworths-constantia-2/</link>
		<comments>http://espresso-online.info/2010/10/23/woolworths-constantia-2/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 19:55:20 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[impressed]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[trolleys]]></category>
		<category><![CDATA[Woolworths]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=87</guid>
		<description><![CDATA[I am impressed. I think that is most probably the only way to describe how I feel. While shopping at Woolworths in Constantia Village on Friday I noticed that the trolley&#8217;s baby seat was broken on one side. One of &#8230; <a href="http://espresso-online.info/2010/10/23/woolworths-constantia-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am impressed. I think that is most probably the only way to describe how I feel. While shopping at <a href="http://www.woolworths.co.za/caissa.asp?Page=ITB4_RHContext&amp;Post=Home" target="_blank">Woolworths</a> in <a href="http://www.constantiavillage.co.za/" target="_blank">Constantia Village</a> on Friday I noticed that the trolley&#8217;s baby seat was broken on one side. One of the staff noticed me fiddling with it and immediately rushed over to offer a new trolley. Though since the only thing it was carrying at the time was my laptop bag it wasn&#8217;t necessary.</p>
<p>I have never seen service like that before so as I have said before I am very impressed. Well done Woolworths <img src='http://espresso-online.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2010/10/23/woolworths-constantia-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cow &amp; Sheep :)</title>
		<link>http://espresso-online.info/2010/10/08/cow-sheep/</link>
		<comments>http://espresso-online.info/2010/10/08/cow-sheep/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 09:36:25 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Webcomic]]></category>
		<category><![CDATA[c&s]]></category>
		<category><![CDATA[cow & sheep]]></category>
		<category><![CDATA[webcomic]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=76</guid>
		<description><![CDATA[I have moved my Cow &#38; Sheep webcomic to its own domain at http://cowandsheep.co.za, at the moment I am only posting new ones there and leaving the old ones on Flickr. Have a look and tell me what you think]]></description>
			<content:encoded><![CDATA[<p>I have moved my Cow &amp; Sheep webcomic to its own domain at <a href="http://cowandsheep.co.za" target="_blank">http://cowandsheep.co.za</a>, at the moment I am only posting new ones there and leaving the old ones on Flickr.</p>
<p>Have a look and tell me what you think <img src='http://espresso-online.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2010/10/08/cow-sheep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add new files to SVN</title>
		<link>http://espresso-online.info/2010/09/01/add-new-files-to-svn/</link>
		<comments>http://espresso-online.info/2010/09/01/add-new-files-to-svn/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 22:54:10 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Quick help]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[recursive]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=67</guid>
		<description><![CDATA[This is a fairly common issue and one that I have run into on more than a couple of occasions. How do you add new files to an SVN project without running the add command for every file/directory? You use &#8230; <a href="http://espresso-online.info/2010/09/01/add-new-files-to-svn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is a fairly common issue and one that I have run into on more than a couple of occasions. How do you add new files to an SVN project without running the add command for every file/directory?</p>
<p>You use this clever one line script that I found at <a href="http://snipplr.com/view/5745/svn-add-recursively/" target="_blank">Snipplr</a>:</p>
<pre>svn status | grep "^\?" | awk '{print $2}' | xargs svn add
</pre>
<p>And as long as your file names don&#8217;t have spaces in them the script will add them recursively to your SVN project. By the way if you have spaces in your file names then you are being silly. <img src='http://espresso-online.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2010/09/01/add-new-files-to-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP SSH2 on Fedora Core the easy way</title>
		<link>http://espresso-online.info/2010/08/31/php-ssh2-on-fedora-core-the-easy-way/</link>
		<comments>http://espresso-online.info/2010/08/31/php-ssh2-on-fedora-core-the-easy-way/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:47:21 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Fedora Core]]></category>
		<category><![CDATA[HTTPD]]></category>
		<category><![CDATA[PECL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[SSH2]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=63</guid>
		<description><![CDATA[Installing the PHP SSH2 extension on Fedora is a pain in the backside unless you know how. There are countless examples for Ubuntu but everyone seems to leave the Red Hat family in the dark. Here is the easy way &#8230; <a href="http://espresso-online.info/2010/08/31/php-ssh2-on-fedora-core-the-easy-way/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Installing the PHP SSH2 extension on Fedora is a pain in the backside unless you know how. There are countless examples for Ubuntu but everyone seems to leave the Red Hat family in the dark.</p>
<p>Here is the easy way to do it:</p>
<pre>[theamoeba@amoeba2]# yum install php-pecl-ssh2
[theamoeba@amoeba2]# service httpd restart</pre>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2010/08/31/php-ssh2-on-fedora-core-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fresh pasta&#8230;</title>
		<link>http://espresso-online.info/2010/08/21/fresh-pasta/</link>
		<comments>http://espresso-online.info/2010/08/21/fresh-pasta/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 12:48:36 +0000</pubDate>
		<dc:creator>theamoeba</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[Babbo]]></category>
		<category><![CDATA[Bill Buford]]></category>
		<category><![CDATA[cooking]]></category>
		<category><![CDATA[Fresh]]></category>
		<category><![CDATA[HEAT]]></category>
		<category><![CDATA[Italian]]></category>
		<category><![CDATA[Pasta]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://espresso-online.info/?p=55</guid>
		<description><![CDATA[And it worked. It took me a while to get that just about 100g flour and 1 egg were going to make a couple of bits of spagetti or whatever shape you want. I am reading HEAT at the moment &#8230; <a href="http://espresso-online.info/2010/08/21/fresh-pasta/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>And it worked. It took me a while to get that just about 100g flour and 1 egg were going to make a couple of bits of spagetti or whatever shape you want.</p>
<p>I am reading <a href="http://amzn.to/rwe4s" target="_blank">HEAT</a> at the moment and Bill Buford&#8217;s making of fresh pasta interested me. Actually I lie, well that is sort of true, actually I was first interested in making my own pasta after watching a short clip of <a href="http://jamieoliver.com" target="_blank">Jamie Oliver</a> explaining how to do it.</p>
<p>Anyway, all that nonsense aside. I gave it a try this morning and it didn&#8217;t come out half bad. I don&#8217;t have any pasta creating contraptions. So I used a Braun &#8220;blender&#8221; thing and a rolling pin. Basically to make the version I made you throw an egg per person into a blender and then about 100g of flour per egg. In my case it was 1 egg and about 100g flour as I said at the beginning.</p>
<p>The measurements are sort of immaterial though as you must just add flour until the consistency is right. The mixture will make slightly sticky yellow balls. Once you are happy with the mix you just throw it onto a longish surface that is covered in flour so that the mix doesn&#8217;t stick to the table forever.</p>
<p>You then want to either go to the shop and buy a pasta flattening machine or just use a rolling pin like I did. If you are using a rolling pin just keep flattening the sheet of egg/flour until you are happy with it, the flatter the better but not microscopic.</p>
<p>Once it is flat you can cut it into weird shapes or make a kind of spaghetti out of it. You can get a machine to do this or like me do it by hand. So you just sort of fold the sheet up into a long rectangle, making sure to flour between each fold so it doesn&#8217;t stick.</p>
<p>Then you just use a sharp knife and cut slices out of it. I made mine pretty thick which was not such a good idea, so probably a max of about 1 cm wide. But it is all up to you. Italian cooking is not about being precise. Hehe.</p>
<p>If you are interested in cooking I would recommend that you read HEAT. It has a lot of insight about good food, how to cook it and also what happens behind the scenes in the kitchen of most decent restaurants.</p>
]]></content:encoded>
			<wfw:commentRss>http://espresso-online.info/2010/08/21/fresh-pasta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

