<?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>[ N O C T E R N I T Y ]</title>
	<atom:link href="http://www.nocternity.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nocternity.net</link>
	<description>Contributing to the general pollution of the internet</description>
	<lastBuildDate>Tue, 25 Oct 2011 10:18:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Mass destruction</title>
		<link>http://www.nocternity.net/en/2011/10/25/mass-destruction/</link>
		<comments>http://www.nocternity.net/en/2011/10/25/mass-destruction/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 09:59:57 +0000</pubDate>
		<dc:creator>Julie Bourbeillon</dc:creator>
				<category><![CDATA[Our house]]></category>
		<category><![CDATA[bedroom]]></category>
		<category><![CDATA[corridor]]></category>
		<category><![CDATA[dining room]]></category>
		<category><![CDATA[drywall]]></category>
		<category><![CDATA[floating floor]]></category>
		<category><![CDATA[hall]]></category>
		<category><![CDATA[living room]]></category>
		<category><![CDATA[moquette]]></category>
		<category><![CDATA[panelling]]></category>
		<category><![CDATA[plaster]]></category>
		<category><![CDATA[polystyrene tiles]]></category>
		<category><![CDATA[repairs]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=633</guid>
		<description><![CDATA[The first stage of the repairs in the house wasn't quite in the "repair" category. Indeed, most of the work implied getting raw plaster on the walls and ceilings, removing carpet from the floor, and so on.  This task kept us busy from July to October 2009. Since it would be boring to present that [...]]]></description>
			<content:encoded><![CDATA[<p>The first stage of the repairs in the house wasn't quite in the "repair" category. Indeed, most of the work implied getting raw plaster on the walls and ceilings, removing carpet from the floor, and so on.  This task kept us busy from July to October 2009. Since it would be boring to present that kind of activities everywhere in the house, I'll present a few emblematic spots.</p>
<p>The hall is a good example of what we had to face in most rooms on the ground floor.</p>
<p><a href="/wp-content/uploads/2011/10/P1010088.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-634" title="Mass destruction in the hall" src="/wp-content/uploads/2011/10/P1010088.jpg" alt="" width="480" height="640" /></a></p>
<p>The wallpaper is quite easy to get rid of, but there's something much, much worse : polystyrene tiles glued on all ceilings. Not only they are  quite difficult to remove because of the position you have to be in in order to remove them, but you usually leave pieces of skin on the ceiling and end up bleeding after a few hours. Last but not least, it is impossible to remove the glue without removing pieces of plaster from the ceiling. In the end, we have ceilings which look like fields of round holes.</p>
<p>We ended up with:</p>
<ul>
<li>on the one hand somewhat "correct" walls and ceiling, if you ignore the holes which will have to be filled</li>
<li>plenty of junk which we had to bring to the waste collection centre on a regular basis. We were going there so often that the employees were almost on a first name basis with us !</li>
</ul>
<p><a href="/wp-content/uploads/2011/10/P1010120.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-636" title="End of the mass destruction in the hall" src="/wp-content/uploads/2011/10/P1010120.jpg" alt="" width="480" height="640" /></a></p>
<p>Another rather interesting place was the living and dining rooms. If you remember the pictures from <a title="The house: origins" href="/en/2011/10/16/the-house-origins/">the origins</a>, these rooms not only had the wonderful polystyrene tiles on the ceiling but also panelling on the walls. Manu had great fun removing them and... the glue...The work in progress provides a wonderful idea of the extent of the issue.</p>
<p><a href="/wp-content/uploads/2011/10/P1010076.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-639" title="Living room - mass destruction in progress" src="/wp-content/uploads/2011/10/P1010076.jpg" alt="" width="640" height="480" /></a></p>
<p>In the end, this allowed us to reach that kind of stage:</p>
<p><a href="/wp-content/uploads/2011/10/P1010147.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-640" title="End of the mass destruction in the dining room" src="/wp-content/uploads/2011/10/P1010147.jpg" alt="" width="640" height="480" /></a></p>
<p>Last but not least, the "situation" on the first floor... We had:</p>
<ul>
<li>The ever-present polystyrene tiles on the ceilings, of course, which were impossible to unglue without removing part of the paper of the drywalls,</li>
<li>Moquette on the floors. These went off easily, even if part of them were hidden under a floating floor.</li>
<li>Moquette on the walls. That was the real pain because some kind of paper layer remained glued on the drywalls and it was awful to unglue it.</li>
</ul>
<p>For instance, we went through that kind of stage regarding the corridor on the first floor:</p>
<p><a href="/wp-content/uploads/2011/10/P1010080.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-642" title="First floor corridor - work in progress" src="/wp-content/uploads/2011/10/P1010080.jpg" alt="" width="640" height="480" /></a></p>
<p>... or in one of the bedrooms:</p>
<p><a href="/wp-content/uploads/2011/10/P10100821.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-643" title="bedroom - work in progress" src="/wp-content/uploads/2011/10/P10100821.jpg" alt="" width="640" height="480" /></a></p>
<p>And with much effort, we managed to reach these almost final conditions:</p>
<ul>
<li>In the corridor</li>
</ul>
<p><a href="/wp-content/uploads/2011/10/P1010118.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-644" title="Cleaned corridor" src="/wp-content/uploads/2011/10/P1010118.jpg" alt="" width="480" height="640" /></a></p>
<ul>
<li>In the bedroom:</li>
</ul>
<p><a href="/wp-content/uploads/2011/10/P1010055.jpg" rel="lightbox[633]"><img class="aligncenter size-full wp-image-645" title="Cleaned bedroom" src="/wp-content/uploads/2011/10/P1010055.jpg" alt="" width="640" height="480" /></a></p>
<p>To be honest it was quite a depressing activity: indeed we were destroying what was somewhat decent in order to reach the raw skeleton of the house. However things would soon improve, which I will explain in a later post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/25/mass-destruction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Criminal incompetence</title>
		<link>http://www.nocternity.net/en/2011/10/20/criminal-incompetence/</link>
		<comments>http://www.nocternity.net/en/2011/10/20/criminal-incompetence/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 11:54:35 +0000</pubDate>
		<dc:creator>Emmanuel Benoît</dc:creator>
				<category><![CDATA[Systems administration]]></category>
		<category><![CDATA[incompetence]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=629</guid>
		<description><![CDATA[I have a lot of work to do, and many posts I'd like to write, but that will have to wait. I need to vent some frustration right now. I am currently on a systems administration mission where I need to inspect and fix (if necessary... lol!) a few virtual servers. Let's start with the [...]]]></description>
			<content:encoded><![CDATA[<p>I have a lot of work to do, and many posts I'd like to write, but that will have to wait. I need to vent some frustration right now.</p>
<p>I am currently on a systems administration mission where I need to inspect and fix (if necessary... lol!) a few virtual servers.</p>
<p>Let's start with the documentation. Oh wait, I can't really start from there. There's <em>nothing</em>. A bunch of IP addresses, a few very weak passwords. A list of a few shell commands, out of the blue. A list of stuff that's been done, or at least I suppose that's what it's supposed to be (the list contains entries such as <em>"Access phpmyadmin"</em>, followed by "<em>Change init level"</em>). Nothing to see here, let's move on.</p>
<p>The server's list of virtual hosts includes a SSH gateway, from which you're supposed to connect to the server's other VMs. Well, that sounded fine to me, as it may have meant I wouldn't need to go there and could simply log on through that gateway. Of course, since the "existing" documentation doesn't really list the VM's IP addresses, it's a bit messy. Especially since most ICMP packets seem to be blocked, somewhere, somehow. Oh, and some of the VMs do not listen on port 22. Has it been changed to some other port? Is it being blocked by iptables rules? No fucking clue. In addition, it was possible to log in as root (using a password that wasn't much better than "test") on the gateway.</p>
<p>For now, I've been able to find 3 out of the 11 VMs I'm supposed to take a look at,  including the aforementioned gateway. Each host includes the full Gnome desktop, as well as a random assortment of useless stuff (<em>laptop-detect</em>? Dude, it's a VM!). Of course, since the... person... who did this decided to use Ubuntu Server, it's not even possible to remove dbus, because upstart depends on it. Still, I was able to remove a few gigabytes of crap on the servers I could access.</p>
<p>I expect more bad surprises as I keep on working on that. In the meantime, my opinion is that whoever committed this in the first place should seriously think about giving up on systems administration and looking for a career in, oh, I don't know, floor wiping. Or something like that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/20/criminal-incompetence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The house: origins</title>
		<link>http://www.nocternity.net/en/2011/10/16/the-house-origins/</link>
		<comments>http://www.nocternity.net/en/2011/10/16/the-house-origins/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 19:13:07 +0000</pubDate>
		<dc:creator>Julie Bourbeillon</dc:creator>
				<category><![CDATA[Our house]]></category>
		<category><![CDATA[basement]]></category>
		<category><![CDATA[bedroom]]></category>
		<category><![CDATA[corridor]]></category>
		<category><![CDATA[dining room]]></category>
		<category><![CDATA[garage]]></category>
		<category><![CDATA[hall]]></category>
		<category><![CDATA[kitchen]]></category>
		<category><![CDATA[living room]]></category>
		<category><![CDATA[original state]]></category>
		<category><![CDATA[staircase]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=607</guid>
		<description><![CDATA[So far most posts which we have written and were related to our house were posts regarding the garden. Of course, it was way easier to write them: I had already written them for a gardening forum and all was required was simply copying them and translating them into English. At some point we had [...]]]></description>
			<content:encoded><![CDATA[<p>So far most posts which we have written and were related to our house were posts regarding the garden. Of course, it was way easier to write them: I had already written them for a gardening forum and all was required was simply copying them and translating them into English. At some point we had to start with the repairs inside the house. However, before getting into that, it is logical to present what we started with. So here are picture we took in Spring 2009 while the former owners still lived there. The idea is to introduce the extend of the work we have to do...</p>

<div class="ngg-galleryoverview">
 	
	<div class="ngg-gallery-title">
		<h3>Hall</h3>
				<div> </div>
			</div>
	<div class="pic"><a href="http://www.nocternity.net/wp-content/gallery/chambre1-1/entree.jpg" rel="lightbox[607]"><img title="Hall" alt="Hall" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/entree.jpg" /></a></div>

	<ul class="ngg-gallery-list">
	
		<!-- PREV LINK -->	
				
		<!-- Thumbnail list -->
				 
						
		<li id="ngg-image-48" class="ngg-thumbnail-list selected" >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/hall/" title=" " >
				<img title="Hall" alt="Hall" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_entree.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-61" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/dining-room-from-the-door/" title=" " >
				<img title="Dining room from the door" alt="Dining room from the door" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_sejour_depuis_porte_entree.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-62" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/living-and-dining-room/" title=" " >
				<img title="Living and dining room" alt="Living and dining room" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_sejour_salon.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-44" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/kitchen/" title=" " >
				<img title="Kitchen" alt="Kitchen" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_cuisine_depuis_porte-fenetre_mur_coete_salon.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-45" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/kitchen-2/" title=" " >
				<img title="Kitchen" alt="Kitchen" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_cuisine_mur_cote_SdB.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-43" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/kitchen-3/" title=" " >
				<img title="Kitchen" alt="Kitchen" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_cuisine_depuis_porte-fenetre.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-47" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/corridor-leading-to-the-bedrooms/" title=" " >
				<img title="Corridor leading to the bedrooms" alt="Corridor leading to the bedrooms" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_degagement_vers_chambres.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-35" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-3/" title=" " >
				<img title="Bedroom 3" alt="Bedroom 3" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre3-1.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-36" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-3-2/" title=" " >
				<img title="Bedroom 3" alt="Bedroom 3" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre3-2.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-58" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bathroom/" title=" " >
				<img title="Bathroom" alt="Bathroom" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_salle_de_bain1.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-59" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bathroom-2/" title=" " >
				<img title="Bathroom" alt="Bathroom" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_salle_de_bain2.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-60" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bathroom-3/" title=" " >
				<img title="Bathroom" alt="Bathroom" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_salle_de_bain_vers_degagement.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-33" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-2/" title=" " >
				<img title="Bedroom 2" alt="Bedroom 2" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre2-1.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-34" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-2-2/" title=" " >
				<img title="Bedroom 2" alt="Bedroom 2" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre2-2.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-30" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-1/" title=" " >
				<img title="Bedroom 1" alt="Bedroom 1" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre1-1.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-31" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-1-2/" title=" " >
				<img title="Bedroom 1" alt="Bedroom 1" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre1-2.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-32" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/bedroom-1-3/" title=" " >
				<img title="Bedroom 1" alt="Bedroom 1" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_chambre1-3.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-50" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/staircase-leading-to-the-1st-floor/" title=" " >
				<img title="Staircase leading to the 1st floor" alt="Staircase leading to the 1st floor" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_escalier_vers_etage2.jpg" width="56" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-49" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/staircase-leading-to-the-1st-floor-2/" title=" " >
				<img title="Staircase leading to the 1st floor" alt="Staircase leading to the 1st floor" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_escalier_vers_etage1.jpg" width="100" height="75" />
			</a>
		</li>

	 			 
						
		<li id="ngg-image-46" class="ngg-thumbnail-list " >
			<a href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/image/corridor-on-the-1st-floor/" title=" " >
				<img title="Corridor on the 1st floor" alt="Corridor on the 1st floor" src="http://www.nocternity.net/wp-content/gallery/chambre1-1/thumbs/thumbs_degagement_etage.jpg" width="100" height="75" />
			</a>
		</li>

	 		 	
	 	<!-- NEXT LINK -->
				<li class="ngg-next">
			<a class="next" href="http://www.nocternity.net/en/2011/10/16/the-house-origins/nggallery/page-2">&#9658;</a>
		</li>
			 	
	</ul>
	
</div>


<p>I expect I'll be able to post a few plans to accompany the pictures at some point. For now we only have paper versions and I'll have to scan them first...</p>
<p>Regarding the repairs we intended to do we chose to get some help from a general contractor to help us define exactly what we intended to do, choose the companies who would do the work and manage the day-to-day oversight of the project. In the end here is what was planned (roughly):</p>
<ul>
<li>earthwork:</li>
<ul>
<li>install a rain water collection tank</li>
</ul>
<li>joinery:</li>
<ul>
<li>change the kitchen French window, which wasn't of the same model as the others on the ground floor of the house</li>
<li>install insulated doors in the basement</li>
<li>install new doors on the 1st floor</li>
</ul>
<li>plaster works:</li>
<ul>
<li>in the basement, insulate the ceiling and create a new room which would become the server room</li>
<li>on the ground floor, remove the wall between the hall and the living room, add walls to create cupboards in the hall and the 3 rooms</li>
<li>on the first floor, line the vertical parts of the walls to increase the insulation and add new walls to fit with the new plan</li>
</ul>
<li>electricity:</li>
<ul>
<li>replace completely the whole electric installation of the house</li>
<li>add network cables to connect the whole house for either computer network, phone or TV</li>
<li>install a network distribution rack in the future server room</li>
</ul>
<li>plumbing:</li>
<ul>
<li>change completely the heating system (boiler, heaters and network)</li>
<li>install a new bathroom on the first floor</li>
<li>connect the house to the town gas network</li>
<li>set up the rain water network</li>
<li>replace the old water pumps in the basement</li>
</ul>
<li>tiling:</li>
<ul>
<li>replace the ugly tiles in the hall, living room, dining room, kitchen and ground floor corridor</li>
<li>tiling of the toilets and bathroom on the first floor</li>
<li>tiling of the new server room in the basement</li>
</ul>
<li>painting:</li>
<ul>
<li>repair and painting of the walls and ceiling of both staircases</li>
</ul>
</ul>
<p>We asked for the estimates in July 2009, signed them in September 2009 and actual work by the various contractors started in October. So you can guess there are plenty of opportunities to describe how it went !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/16/the-house-origins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minefield v3.0</title>
		<link>http://www.nocternity.net/en/2011/10/15/minefield-v3-0/</link>
		<comments>http://www.nocternity.net/en/2011/10/15/minefield-v3-0/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 08:07:53 +0000</pubDate>
		<dc:creator>Julie Bourbeillon</dc:creator>
				<category><![CDATA[Gardening]]></category>
		<category><![CDATA[Our house]]></category>
		<category><![CDATA[excavation]]></category>
		<category><![CDATA[flower bed]]></category>
		<category><![CDATA[horror]]></category>
		<category><![CDATA[plumbing]]></category>
		<category><![CDATA[tank]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=553</guid>
		<description><![CDATA[I hadn't had the time until now to finish telling the story of our earthwork adventures. Now we're getting close to the end of this episode, so it's probably a good time. While we were waiting for our friend the plumber to come and save the water tank's pump, I added some sand to make [...]]]></description>
			<content:encoded><![CDATA[<p>I hadn't had the time until now to finish telling the story of our <a title="Minefield v2.0" href="/en/2011/09/18/minefield-v2-0/">earthwork adventures</a>. Now we're getting close to the end of this episode, so it's probably a good time.</p>
<p>While we were waiting for our friend the plumber to come and save the water tank's pump, I added some sand to make the soil a little less compact; I also replanted the flower beds that had been removed or damaged during the earthworks.</p>
<p>In the <a title="What I put below the balcony" href="/en/2011/05/01/what-i-put-below-the-balcony/">flower bed under the balcony</a>, the gaura and the Graham's sage had suffered quite a lot from their staying in buckets (there was a lot of rain then, the buckets were full and the water didn't flow away). The gaura's roots were rotten, and it's dead. I'm giving the sage a chance. I also took the opportunity to make a few changes: adding one of the rosebushes and the caenothus that used to be above the water tank, as well as a few new plants, and making sure the plants were far enough from the path (last time their branches were quite annoying as they were in the way). It looked mostly OK mid-September.</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/10/P1010045.jpg" rel="lightbox[553]"><img class="aligncenter size-full wp-image-559" title="Trying to save the flower bed under the balcony" src="/wp-content/uploads/2011/10/P1010045.jpg" alt="" width="480" height="640" /></a></p>
<p title="The water tank flower bed">Now, on the side of the <a title="The water tank flower bed" href="/en/2011/05/06/the-water-tank-flower-bed/">water tank's flower bed</a>, I replanted most of the plants that were there before, and I added a few. Still mid-September, it was looking mostly decent again, although one part of it is still quite empty (on the right) and I have a few worries regarding the creeping rosebush which got removed rather brutally by the earthwork contractors. At the time it was quite impossible to break the clods as they were really sticky - and that did not help.</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/10/P1010044.jpg" rel="lightbox[553]"><img class="aligncenter size-full wp-image-562" title="Trying to save the flower bed above the water tank" src="/wp-content/uploads/2011/10/P1010044.jpg" alt="" width="640" height="480" /></a></p>
<p>Right now I'm rather encouraged: both the creeping rosebush and the sage are growing new leaves again, so they're not dead. And everything else looks like it's doing OK:</p>
<ul>
<li>Under the balcony:</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/10/P1010083.jpg" rel="lightbox[553]"><img class="aligncenter size-full wp-image-563" title="Flower bed under the balcony" src="/wp-content/uploads/2011/10/P1010083.jpg" alt="" width="480" height="640" /></a></p>
<ul>
<li>Above the water tank:</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/10/P1010082.jpg" rel="lightbox[553]"><img class="aligncenter size-full wp-image-564" title="Flower bed above the water tank" src="/wp-content/uploads/2011/10/P1010082.jpg" alt="" width="640" height="480" /></a></p>
<p>&nbsp;</p>
<p>OK, I have to admit it's covered in various weeds I need to remove, and attentive readers will have noticed that there's still a hydrangea in a bucket and a pile of earth in the back above the water tank. The "save the water pump" turned out to be quite epic, as the plumber had to come here 3 times.</p>
<ul>
<li>The first time he came, he noticed that the leak was on the outside after he cut through the wall of the server room. And after digging on the outside he discovered that the water junction (which had been changed last year) at the bottom of the drainpipe was leaking. Probably yet another consequence of the earthwork contractor falling <img src='http://www.nocternity.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  In addition, he didn't have the right pipes to fix the water circuit and when he tried to "hack" it together it ended up with a few geysers. According to Manu he barely avoided being shot in the face by one of these.</li>
<li>The second time he fixed most of the problem but there was still a leak further down the pipe which he didn't see as he couldn't test the circuit.</li>
<li>The third time he was finally able to complete the repairs.</li>
</ul>
<p>For now we've kept the hole in the server room's wall for now, until the earthwork contractors come back to fix the water junction. Just in case. In addition, the mini-excavator destroyed the concrete paths, so we'll have to replace them earlier than we'd anticipated...</p>
<p>Who said making the foundations waterproof was a simple job, eh?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/15/minefield-v3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Debian GNU/Linux on a LaCie NAS</title>
		<link>http://www.nocternity.net/en/2011/10/14/installing-debian-gnulinux-on-a-lacie-nas/</link>
		<comments>http://www.nocternity.net/en/2011/10/14/installing-debian-gnulinux-on-a-lacie-nas/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 17:33:06 +0000</pubDate>
		<dc:creator>Emmanuel Benoît</dc:creator>
				<category><![CDATA[Systems administration]]></category>
		<category><![CDATA[The LAN]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[em7210]]></category>
		<category><![CDATA[lacie]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nas]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=536</guid>
		<description><![CDATA[Since I recently set up Azathoth's 6th revision, I had the old LaCie NAS on a shelf, completely useless. I had to do something with it; however, the system which comes pre-installed on that thing is definitely not too customisable beyond the basics, so I decided to try and install Debian GNU/Linux on it. One [...]]]></description>
			<content:encoded><![CDATA[<p>Since I recently set up <a title="Azathoth, revision 6" href="/en/2011/08/21/azathoth-revision-6/">Azathoth's 6th revision</a>, I had the old LaCie NAS on a shelf, completely useless. I had to do something with it; however, the system which comes pre-installed on that thing is definitely not too customisable beyond the basics, so I decided to try and install Debian GNU/Linux on it.</p>
<div id="attachment_544" class="wp-caption aligncenter" style="width: 560px"><a href="/wp-content/uploads/2011/10/LaCie_NAS.jpg" rel="lightbox[536]"><img class="size-full wp-image-544" title="The NAS" src="/wp-content/uploads/2011/10/LaCie_NAS.jpg" alt="" width="550" height="800" /></a><p class="wp-caption-text">The NAS, with its cover removed</p></div>
<p>One important thing about this old NAS - it uses an Intel EM7210 motherboard, with an Intel 80219 CPU. As it happens, that board is more or less supported by Debian.</p>
<div id="attachment_545" class="wp-caption aligncenter" style="width: 609px"><a href="/wp-content/uploads/2011/10/EM7210.jpg" rel="lightbox[536]"><img class="size-full wp-image-545" title="The NAS's motherboard" src="/wp-content/uploads/2011/10/EM7210.jpg" alt="" width="599" height="152" /></a><p class="wp-caption-text">The NAS&#39;s EM-7210 motherboard</p></div>
<p>However, it is necessary to access the system's <a title="RedBoot manual" href="http://ecos.sourceware.org/docs-latest/redboot/redboot-guide.html">RedBoot</a> bootloader, which is only possible using a serial cable whose connector is directly on the motherboard.</p>
<div id="attachment_546" class="wp-caption aligncenter" style="width: 510px"><a href="/wp-content/uploads/2011/10/Serial_connector.jpg" rel="lightbox[536]"><img class="size-full wp-image-546 " title="Serial connector" src="/wp-content/uploads/2011/10/Serial_connector.jpg" alt="" width="500" height="375" /></a><p class="wp-caption-text">IDC10 serial connector on the motherboard</p></div>
<h6>Building the cable</h6>
<p>The serial cable that allows access to the system's console needs to be plugged on an IDC10 connector. While it might have been possible to use the connector from an old PC along with a null-modem cable, I no longer possess either of these items, so I built my own cable. This is what you need to connect:</p>
<table style="margin-left: 80px;">
<tbody>
<tr>
<th style="text-align: center;">Female DE9</th>
<th style="text-align: center;">Female IDC10</th>
</tr>
<tr>
<td style="text-align: center;">2</td>
<td style="text-align: center;">5</td>
</tr>
<tr>
<td style="text-align: center;">3</td>
<td style="text-align: center;">3</td>
</tr>
<tr>
<td style="text-align: center;">5</td>
<td style="text-align: center;">9</td>
</tr>
</tbody>
</table>
<p>And if you need a picture for the IDC10 side (I had to look it up, so I might not be the only one in this case):</p>
<div id="attachment_548" class="wp-caption aligncenter" style="width: 419px"><a href="/wp-content/uploads/2011/10/Serial_connector_pins.jpg" rel="lightbox[536]"><img class="size-full wp-image-548" title="Serial connector pins" src="/wp-content/uploads/2011/10/Serial_connector_pins.jpg" alt="" width="409" height="299" /></a><p class="wp-caption-text">Pins on the motherboard&#39;s IDC10 connector</p></div>
<p>I hadn't done any soldering for 16 years, so I was a little anxious about that. As it turns out, soldering was the easy part; the wires I used were apparently a little too big for my IDC10 connector, and I broke it. I had to rip connectors from an unused audio front panel and solder them to my wires instead. In addition, since none of my computers here have RS232 interfaces, I had to use an USB&lt;-&gt;RS232 adapter.</p>
<div id="attachment_549" class="wp-caption aligncenter" style="width: 460px"><a href="/wp-content/uploads/2011/10/Terrible_cable.jpg" rel="lightbox[536]"><img class="size-full wp-image-549 " title="Ugliest serial cable ever" src="/wp-content/uploads/2011/10/Terrible_cable.jpg" alt="" width="450" height="500" /></a><p class="wp-caption-text">I should really be ashamed</p></div>
<h6>Minicom settings</h6>
<p>The next step was to connect to the NAS's console using <a href="http://alioth.debian.org/projects/minicom/">Minicom</a> (any serial terminal would do, but I'm used to this one). The settings that need to be used are:</p>
<ul>
<li>transfer rate: 115200 bps</li>
<li>data bits: 8</li>
<li>parity: none</li>
<li>stop bits: 1</li>
</ul>
<p>It is also important to make sure that both hardware and software flow control are turned off.</p>
<h6> Booting the Debian installer</h6>
<p>Obviously, the next thing to do is to try and start the Debian installer.</p>
<p>In order to do that, it is necessary to boot into the NAS's bootloader, which can be achieved by pressing Ctrl+C in the console before the bootloader's script starts executing (you need to be rather quick, as you only have one second to do so). This leads you to a command prompt.</p>
<p>You will also need to download kernel and RAM disk images for the architecture. Both images can be found on <a title="Debian Installer for SS4000E" href="http://d-i.debian.org/daily-images/armel/daily/iop32x/netboot/ss4000e/">Debian's server</a> (you need to download <em>zImage</em> and <em>initrd.gz</em>).</p>
<p>Once you are ready to proceed, you will need to upload the images to the NAS through the serial cable. Start by telling the bootloader that you want to load the RAM disk image:</p>
<pre class="brush:plain">load -v -r -b 0x1800000 -m ymodem ramdisk.gz</pre>
<p>The bootloader will then expect you to send it the RAM disk's data (the <em>initrd.gz</em> file mentioned above) using <a href="http://en.wikipedia.org/wiki/Ymodem">YMODEM</a>. In Minicom, that can be done by pressing Ctrl+A followed by S, then selecting "ymodem" in the list, and finally selecting the file to send.</p>
<p>(Wait. Wait some more. Wait even more.)</p>
<p>When that transfer has been completed, you will also need to send it the kernel image by typing</p>
<pre class="brush:plain">load -v -r -b 0x1008000 -m ymodem zImage</pre>
<p>and then sending the <em>zImage</em> file.</p>
<p>(Wait. Wait some more. Wait even more.)</p>
<p>Once both files have been uploaded, you are ready to start the installer. The following command will do just that:</p>
<pre class="brush:plain">exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M@0xa0000000" -r 0x01800000</pre>
<h6>Completing the installation</h6>
<p>I've skipped the part about installing Debian, because that's pretty much the usual process. However, there's one additional operation to perform once the installer is done running, as the system will not boot without that. You need to edit the boot script.</p>
<p>In order to do that, when the installer reboots, enter the bootloader by pressing Ctrl+C, then enter the following command:</p>
<pre class="brush:plain">fconfig boot_script_data</pre>
<p>The prompt will change to <strong><em>&gt;&gt;</em></strong> to indicate that you are editing the configuration. You need to set the boot script to this:</p>
<pre class="brush:plain">fis load -b 0x01800000 ramdisk.gz
fis load -b 0x01008000 zImage
exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M@0xa0000000" -r 0x01800000</pre>
<p>Don't forget to exit the boot script editor by finishing with an empty line. RedBoot will ask you to confirm the changes then write the configuration to flash memory.</p>
<h6>A few notes</h6>
<ol>
<li>I initially removed the HDDs from the box while trying to boot it in order to avoid unnecessary power cycles. However, if you try to insert them while the Debian installer is running, they will not be detected, and you will end up having to reboot anyway.</li>
<li>Setting up the partitions takes an awful lot of time, and so does RAID array resynchronisation if that's what you want to use.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/14/installing-debian-gnulinux-on-a-lacie-nas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Somewhat epic lawn mowing session</title>
		<link>http://www.nocternity.net/en/2011/10/04/somewhat-epic-lawn-mowing-session/</link>
		<comments>http://www.nocternity.net/en/2011/10/04/somewhat-epic-lawn-mowing-session/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 11:10:56 +0000</pubDate>
		<dc:creator>Emmanuel Benoît</dc:creator>
				<category><![CDATA[Gardening]]></category>
		<category><![CDATA[lawn]]></category>
		<category><![CDATA[mowing]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=514</guid>
		<description><![CDATA[Ju and myself both like keeping the lawn a little high, so mowing only occurs once per month under normal circumstances. Lately however we've both been busy with other stuff, and it was bloody hot outside, so the lawn was left to fend for itself for at least 2 months. Today, there were clouds and [...]]]></description>
			<content:encoded><![CDATA[<p>Ju and myself both like keeping the lawn <a title="Definitely an understatement" href="http://en.wikipedia.org/wiki/Understatement">a little high</a>, so mowing only occurs once per month under normal circumstances. Lately however we've both been busy with other stuff, and it was bloody hot outside, so the lawn was left to fend for itself for at least 2 months. Today, there were clouds and a rather cool breeze, so I thought I'd do it.</p>
<p>Keep in mind that:</p>
<ul>
<li>the lawn isn't <em>that</em> big (400 square meters, give or take),</li>
<li>something between one fourth and  one third of it looks like this:<br />
<a href="/wp-content/uploads/2011/10/P1010065.jpg" rel="lightbox[514]"><img class="size-full wp-image-516 aligncenter" title="Damaged lawn" src="/wp-content/uploads/2011/10/P1010065.jpg" alt="" width="450" height="600" /></a>(I don't know what's to blame; maybe the soil being <a title="Beautiful soil, isn’t it?" href="/en/2011/09/17/beautiful-soil-isnt-it/">its usual charming self</a>, or the <a title="Aromatic plants flower bed (and eventually more)" href="/en/2011/04/16/aromatic-plants-flower-bed-and-eventually-more/">cherry tree's roots</a>, or the recent heat wave, or maybe some combination of the above),</li>
<li>I had mowed another quarter of it a few weeks ago as I needed something to use as mulch.</li>
</ul>
<p>And the result is:</p>
<p style="text-align: left;"><a href="/wp-content/uploads/2011/10/P1010063.jpg" rel="lightbox[514]"><img class="size-full wp-image-517 aligncenter" title="Post lawn-mowing" src="/wp-content/uploads/2011/10/P1010063.jpg" alt="" width="640" height="480" /></a><a href="/wp-content/uploads/2011/10/P1010064.jpg" rel="lightbox[514]"><img class="aligncenter size-full wp-image-518" title="More grass!" src="/wp-content/uploads/2011/10/P1010064.jpg" alt="" width="640" height="480" /></a></p>
<p style="text-align: left;">... And yes, I did step on both heaps to pack them a little.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/04/somewhat-epic-lawn-mowing-session/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gig in Rennes &#8211; Samael and others</title>
		<link>http://www.nocternity.net/en/2011/10/03/gig-in-rennes-samael-and-others/</link>
		<comments>http://www.nocternity.net/en/2011/10/03/gig-in-rennes-samael-and-others/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 08:36:29 +0000</pubDate>
		<dc:creator>Emmanuel Benoît</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[gig]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[rennes]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=503</guid>
		<description><![CDATA[So, sometimes we do get out of here. We'd bought tickets for a Samael gig in Rennes last Saturday - the gig also included 5 other bands we didn't even know of. As it turned out, it was well worth it. While the Antipode [fr - site down at the moment] hall wasn't really small [...]]]></description>
			<content:encoded><![CDATA[<p>So, sometimes we <em>do</em> get out of here. We'd bought tickets for a <a title="Samael's web site" href="http://www.samael.info/">Samael</a> gig in <a title="Rennes, France" href="http://en.wikipedia.org/wiki/Rennes">Rennes</a> last Saturday - the gig also included 5 other bands we didn't even know of. As it turned out, it was well worth it.</p>
<p>While the <a title="Antipode, Rennes" href="http://www.antipode-mjc.com/">Antipode</a> [fr - site down at the moment] hall wasn't really small compared to other gigs we've been to, for example the Ubu (also in Rennes), it was definitely not gigantic. 500 people would probably fit in there, but it wasn't full either. In any case, it has been my experience so far that metal gigs are always more enjoyable in this type of settings.</p>
<p>The first band we saw was <a href="http://www.sixreasonstokill.de/">Six Reasons to Kill</a>, which delivered a rather good death metal performance. Unfortunately for them, being the first band to play, the audience was rather sleepy, and the hall was still mostly empty. They were followed by <a href="http://www.deadshapefigure.fi/">Dead Shape Figure</a>. I'm really not too fond of thrash metal, and on that point they were no exception. The live performance itself, however, was rather enjoyable. While the audience was still a little comatose, they definitely contributed to waking it up.</p>
<p>The next band to take the stage was <a href="http://www.noctemofficial.com/">Noctem</a>. First thing we noticed about them was... Ah well, the <em>cliché</em>. They came on stage with (presumably fake) leather armours. Julie went as far as telling me "Look, <a href="http://en.wikipedia.org/wiki/Klingons">Klingons</a>!" Honestly, we both sort of expected basic (and annoying) black metal. Fortunately, it wasn't the case - what they delivered was a bit of a hybrid, including really brutal rhythmic guitar riffs, sometimes thrash-like, sometimes definitely more black metal-like, as well as slow and heavy melodic parts which reminded us of melodic death metal. And while I mentioned the <em>cliché</em> earlier, well, they exploited it quite well (singer throwing up strawberry-smelling fake blood? check!).</p>
<p>Then came <a href="http://www.keepofkalessin.no/">Keep of Kalessin</a>, who also plays a black metal-inspired kind of music (but not <em>strictly</em> black metal). While it is one of the bands I enjoyed the less, it was still a good show. Next, we got to see <a href="http://www.melechesh.com/">Melechesh</a>. I would have a hard time trying to classify what they play - to me it sounded like oriental-inspired death metal with a bit of black metal thrown in. Whatever. I really, really enjoyed it, in any case. We had a good laugh as well, as one of Dead Shape Figure's guitarists was in the audience with a tray of fries, trying to feed his on-stage colleague (hint: it didn't work too well).</p>
<p>And finally there was Samael. We've been listening to them for a rather long time, and we'd already seen them as the opening act for Paradise Lost two years ago (and we'd enjoyed it more than the main act). They played quite a lot of tracks from the latest album, as well as a few older tracks. Not that I mind either, really - I enjoy both <img src='http://www.nocternity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Good music and, unsurprisingly, good on-stage performance. The only thing I could complain about was that we were starting to be tired by then.</p>
<p>On the next day, my neck was sore and I was voiceless, so it was definitely a good (5h-long) gig. My only regret is that I forgot to bring my phone, hence the lack of pictures.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/10/03/gig-in-rennes-samael-and-others/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PostgreSQL ordered trees, final post</title>
		<link>http://www.nocternity.net/en/2011/09/24/postgresql-ordered-trees-final-post/</link>
		<comments>http://www.nocternity.net/en/2011/09/24/postgresql-ordered-trees-final-post/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 12:10:22 +0000</pubDate>
		<dc:creator>Emmanuel Benoît</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ordered trees]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[stored procedures]]></category>
		<category><![CDATA[triggers]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=455</guid>
		<description><![CDATA[Well, at least I hope it will be the last ;-p I have recently posted a little about my attempts at making ordered tree structures work in PostgreSQL. While the initial approach works quite well with a single update, trying to re-order the whole tree triggers incoherent behaviour, even with this workaround applied. Because of [...]]]></description>
			<content:encoded><![CDATA[<p>Well, at least I <em>hope</em> it will be the last ;-p</p>
<p>I have recently posted a little about my attempts at making ordered tree structures work in PostgreSQL. While the initial approach works quite well with a single update, trying to <a title="SQL ordered trees, an addendum" href="/2011/09/01/sql-ordered-trees-an-addendum/">re-order</a> the whole tree triggers incoherent behaviour, even with <a title="Triggering inconsistent behaviour with … triggers" href="/2011/09/11/triggering-inconsistent-behaviour-with-triggers/">this workaround</a> applied. Because of that, I have given up on triggers and re-implemented the whole ordering code as stored procedures.</p>
<p>A bit of context first, as every case is different:</p>
<ul>
<li>the tree is rarely modified, so bad performance isn't much of an issue there;</li>
<li>it is however very likely for the tree to be modified concurrently;</li>
<li>all updates to the tree are done through stored procedures, which all lock the whole table before updating anything and then call the re-ordering function once they're done;</li>
<li>there is at the most one update to the tree for each transaction.</li>
</ul>
<p>The approach I chose is to compute all ordering paths when the tree is being modified, storing the results in a temporary table, then re-ordering the real table based on these values. Not the most efficient way of doing things, but it has the advantage of actually working.</p>
<p>I started by removing the extra ordering path column, and all ordering triggers.</p>
<pre class="brush:sql">ALTER TABLE objects
        DROP COLUMN object_ordering_path CASCADE;

DROP TRIGGER objects_ordering_bi ON objects;
DROP TRIGGER objects_ordering_bu ON objects;
DROP TRIGGER objects_ordering_au ON objects;

DROP FUNCTION objects_ordering_bi( );
DROP FUNCTION objects_ordering_bu( );
DROP FUNCTION objects_ordering_au( );</pre>
<p>The next step was to create a function which computes ordering paths for all known objects. This function needs to go through the objects by order of increasing depth, to make sure that the path to an object's parent has been computed before the path to the object is. It uses a table with two fields: the object's identifier and path.</p>
<pre class="brush:sql">CREATE OR REPLACE FUNCTION objects_compute_paths( )
                RETURNS VOID
                STRICT VOLATILE
                SECURITY INVOKER
        AS $objects_compute_paths$
DECLARE
        o_id INT;
        o_parent INT;
        o_ordering INT;
        o_path TEXT;
BEGIN
        FOR o_id , o_parent , o_ordering IN
                SELECT o.object_id , o.object_id_parent , o.object_ordering
                        FROM objects o
                                INNER JOIN objects_tree ot
                                        ON ot.object_id_child = o.object_id
                        GROUP BY o.object_id , o.object_id_parent , o.object_ordering
                        ORDER BY MAX( ot.ot_depth )
        LOOP
                IF o_parent IS NULL THEN
                        o_path := '';
                ELSE
                        SELECT INTO o_path
                                        object_ordering_path || '/'
                            FROM objects_ordering
                            WHERE object_id = o_parent;
                END IF;
                o_path := o_path || to_char( o_ordering , '000000000000' );
                INSERT INTO objects_ordering VALUES ( o_id , o_path );
        END LOOP;
END;
$objects_compute_paths$ LANGUAGE plpgsql;</pre>
<p>Finally the re-ordering function needs to be replaced so it creates the temporary table, calls the function above to fill it, and then uses that table instead of the main table to re-order the objects.</p>
<pre class="brush:sql">CREATE OR REPLACE FUNCTION objects_reorder( )
                RETURNS VOID
                STRICT VOLATILE
                SECURITY INVOKER
        AS $objects_reorder$
BEGIN
        -- Create and fill temporary table
        CREATE TEMPORARY TABLE objects_ordering (
                object_id               INT NOT NULL PRIMARY KEY ,
                object_ordering_path    TEXT NOT NULL
        ) ON COMMIT DROP;
        PERFORM objects_compute_paths( );

        -- Move all rows out of the way
        UPDATE objects SET object_ordering = object_ordering + (
                        SELECT 1 + 2 * MAX( object_ordering ) FROM objects );

        -- Re-order objects
        UPDATE objects o1 SET object_ordering = 2 * o2.rn
                FROM ( SELECT object_id , row_number() OVER(
                                ORDER BY object_ordering_path ) AS rn
                        FROM objects_ordering ) o2
                WHERE o1.object_id = o2.object_id;
END;
$objects_reorder$ LANGUAGE plpgsql;</pre>
<p><strong>Note:</strong> there is no <em>object_ordering_path</em> column in the main table any more, but since the objects are always sorted correctly, it is possible to select using the <em>object_ordering</em> integer column to order the objects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/09/24/postgresql-ordered-trees-final-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minefield v2.0</title>
		<link>http://www.nocternity.net/en/2011/09/18/minefield-v2-0/</link>
		<comments>http://www.nocternity.net/en/2011/09/18/minefield-v2-0/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 12:57:16 +0000</pubDate>
		<dc:creator>Julie Bourbeillon</dc:creator>
				<category><![CDATA[Gardening]]></category>
		<category><![CDATA[Our house]]></category>
		<category><![CDATA[excavation]]></category>
		<category><![CDATA[flood]]></category>
		<category><![CDATA[front garden]]></category>
		<category><![CDATA[horror]]></category>
		<category><![CDATA[murphy's law]]></category>
		<category><![CDATA[tank]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=413</guid>
		<description><![CDATA[As can be expected from very small companies, our friends the earthwork contractors did not visit us as initially announced. And since we are, as always, really good at being haunted by Murphy's law, there was a rather huge storm on August the 22nd (70 mm of water in only a few hours), just before [...]]]></description>
			<content:encoded><![CDATA[<p>As can be expected from very small companies, our friends the <a title="Mine field" href="/en/2011/08/15/mine-field/">earthwork contractors</a> did not visit us as initially announced. And since we are, as always, really good at being haunted by Murphy's law, there was a rather huge storm on August the 22nd (70 mm of water in only a few hours), just before they actually came. Consequences:</p>
<ul>
<li>We spent a lovely morning mopping water from the basement and throwing buckets full of water out in the street. It was definitely an involuntary wet t-shirt contest! Without the neighbour's help we would have been truly flooded.</li>
<li>I had a lot of plants in buckets outside; well, the buckets were full of water, and I was unable to remove it all. The plants didn't like that <img src='http://www.nocternity.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ul>
<p>The earthwork contractors came two days after that. But since their secretary had no clue how large an area needed to be prepared, some of the plants we hadn't removed had to be rather savagely dug out or ended up under the heaps of earth that were extracted.</p>
<p>After a full day's work, we have:</p>
<ul>
<li>One big heap in the middle of the path,</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010022.jpg" rel="lightbox[413]"><img class="aligncenter size-full wp-image-415" title="First heap under the balcony" src="/wp-content/uploads/2011/09/P1010022.jpg" alt="" width="480" height="640" /></a></p>
<ul>
<li>A partial trench under the balcony,</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010023.jpg" rel="lightbox[413]"><img class="aligncenter size-full wp-image-416" title="Trench under the balcony" src="/wp-content/uploads/2011/09/P1010023.jpg" alt="" width="480" height="640" /></a></p>
<ul>
<li>Another trench between the wall and the water tank, with the corresponding heap...</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010024.jpg" rel="lightbox[413]"><img class="aligncenter size-full wp-image-418" title="Trench along the water tank" src="/wp-content/uploads/2011/09/P1010024.jpg" alt="" width="480" height="640" /></a></p>
<p>The nice earthwork contractors came back the next day to install a drain as well as a waterproof layer along the wall. Of course, it went catastrophically bad when they discovered their drilling machine was too short and couldn't be used at the right angle to go through the wall and have the drain's pipe join the appropriate sink hole... They really had a hard time!</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010027.jpg" rel="lightbox[413]"><img class="aligncenter size-full wp-image-419" title="Drain and waterproof layer being installed" src="/wp-content/uploads/2011/09/P1010027.jpg" alt="" width="480" height="640" /></a></p>
<p>The earthwork contractors seem to have been contaminated by our tendency to suffer from Murphy's law, and thus it started raining. The <a title="Beautiful soil, isn’t it?" href="/en/2011/09/17/beautiful-soil-isnt-it/">soil</a> is sticky, it gets really hard to dig using only a pickaxe and a shovel - so they end up renting a mini-excavator (they had some of these, but theirs were bigger and didn't fit through the gates) in order to finish putting the earth back into the trenches. Which leads to the following:</p>
<ul>
<li>The excavator in the middle of my lovely flower bed. It was nice before, wasn't it? :s</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010029.jpg" rel="lightbox[413]"><img class="aligncenter size-full wp-image-422" title="The excavator" src="/wp-content/uploads/2011/09/P1010029.jpg" alt="" width="640" height="480" /></a></p>
<ul>
<li>The trench along the water tank being filled again:</li>
</ul>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010030.jpg" rel="lightbox[413]"><img class="aligncenter size-full wp-image-423" title="Trench along the water tank - being (re)filled" src="/wp-content/uploads/2011/09/P1010030.jpg" alt="" width="480" height="640" /></a></p>
<p>And to add insult to injury, one of the contractors fell on the pipe that is used to pump water from the tank and to the taps. They changed the pipe, but it is now impossible to pump water: the pump is no longer primed and water starts flowing under the server room's floor if we try to prime it using the town's water - which means that the pipe must be disconnected or broken somewhere behind the server room's wall... We called the plumber but the guy who came wasn't the one who installed that and didn't dare to try as he doesn't know exactly where the pipes are. So we're waiting for the original plumber to be available so he can fix that...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/09/18/minefield-v2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beautiful soil, isn&#8217;t it?</title>
		<link>http://www.nocternity.net/en/2011/09/17/beautiful-soil-isnt-it/</link>
		<comments>http://www.nocternity.net/en/2011/09/17/beautiful-soil-isnt-it/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 15:06:18 +0000</pubDate>
		<dc:creator>Emmanuel Benoît</dc:creator>
				<category><![CDATA[Gardening]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://www.nocternity.net/?p=410</guid>
		<description><![CDATA[You could almost use it to make bricks]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="/wp-content/uploads/2011/09/P1010006.jpg" rel="lightbox[410]"><img class="aligncenter size-medium wp-image-411" title="Did someone say &quot;heavy clay&quot;?" src="/wp-content/uploads/2011/09/P1010006-300x225.jpg" alt="" width="300" height="225" /></a>You could almost use it to make bricks <img src='http://www.nocternity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.nocternity.net/en/2011/09/17/beautiful-soil-isnt-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

