tag:blogger.com,1999:blog-14804845696181555222024-03-04T22:52:25.894-08:00At HomeAnonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-1480484569618155522.post-79835836013408205622016-02-19T19:51:00.003-08:002016-02-19T19:51:58.557-08:00OpenBSD, ATmega328 and Pololu USB AVR Programmer<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">This is what I have been poking around with lately: programming an atmega MCU without IDE, and minimum Arduino dependencies. That's just the way I like it. <a href="http://www.robotshop.ca/"></a></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-Ql0RcoTmAxs/VsfaJ56pqwI/AAAAAAAABiE/Ig7oFqDH4B0/s1600/2016%2B-%2B1" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://4.bp.blogspot.com/-Ql0RcoTmAxs/VsfaJ56pqwI/AAAAAAAABiE/Ig7oFqDH4B0/s400/2016%2B-%2B1" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-YZVrbKrpFUI/VsfaJ_cUmiI/AAAAAAAABiM/9WN_Tf3F4Us/s1600/2016%2B-%2B2" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://4.bp.blogspot.com/-YZVrbKrpFUI/VsfaJ_cUmiI/AAAAAAAABiM/9WN_Tf3F4Us/s400/2016%2B-%2B2" width="400" /></a></div>
<br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Bought some parts from <a href="http://www.robotshop.ca/">www.RobotShop.ca</a>:</span></span> </span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">--<b>Pololu USB AVR Programmer</b>.</span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">http://www.robotshop.com/ca/en/pololu-usb-avr-programmer.html</span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">So far, happy with this little device. I just wish I could figure out a way to program the MCU without a crystal. </span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">--<b>ATmega328</b>.</span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><a href="http://www.robotshop.com/ca/en/atmega328-arduino-uno-optiboot-bootloader.html">http://www.robotshop.com/ca/en/atmega328-arduino-uno-optiboot-bootloader.html</a>.</span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">I clearly prefer to do my stuff without IDE. And doing this with OpenBSD is quite satisfactory. There is actually a port of Arduino (<a href="http://openports.se/devel/arduino">http://openports.se/devel/arduino</a>) which I also use and which is also without IDE, but I wanted to go a little further. It's a nice learning experience.</span></span><br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">So here is the Makefile, a file I borrowed here <a href="http://canthack.org/2010/12/programming-the-arduino-in-pure-c/#comment-57224/index.html">http://canthack.org/2010/12/programming-the-arduino-in-pure-c/#comment-57224/index.html</a> (Programming Arduino in pure C). Modified for my needs and adapted to recent version of OpenBSD. i.e. SUDO=doas...</span></span><br />
<br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">AVRDUDE=avrdude -B3 #-V<br />OBJCOPY=avr-objcopy<br />CC=avr-gcc<br />RM=rm -f<br /><br />MCU=atmega328p<br />F_CPU=16000000UL<br />BIN_FORMAT=ihex<br />PORT=/dev/cuaU0<br />BAUD=115200<br />PROTOCOL=avrispv2 <br />CFLAGS=-Wall -Os -DF_CPU=$(F_CPU) -mmcu=$(MCU)<br />PROG=${.CURDIR:C/.*\///g}<br />SUDO=doas<br /><br />.SUFFIXES: .elf .hex<br /><br />.c.elf:<br /> $(CC) $(CFLAGS) -o $@ $<<br /><br />.elf.hex:<br /> $(OBJCOPY) -O $(BIN_FORMAT) -R .eeprom $< $@<br /><br />.PHONY: all<br />all: ${PROG}.hex<br /><br />${PROG}.hex: ${PROG}.elf<br /><br />${PROG}.elf: ${PROG}.c<br /><br />.PHONY: clean<br />clean:<br /> $(RM) ${PROG}.elf ${PROG}.hex<br /><br />.PHONY: upload<br />upload: ${PROG}.hex<br /> ${SUDO} $(AVRDUDE) -c $(PROTOCOL) -p $(MCU) -P $(PORT) \<br /> -b $(BAUD) -U flash:w:${PROG}.hex</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">A cool little C program to test things out:</span></span><br />
<br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">#include <avr/io.h> <br />#include <util/delay.h> <br /><br />const int sle=100;<br />int main(void) {<br /> DDRB |= 0b00111100;<br /> int i = 0;<br /> while(1){<br /> for(i = 5; i > 1; --i){ <br /> PORTB = (1 << i);<br /> _delay_ms(sle); <br /> }<br /> for(i = 2; i < 6; ++i){ <br /> PORTB = (1 << i);<br /> _delay_ms(sle); <br /> }<br /> }<br />}</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"><span style="font-family: inherit;">The mandatory make && make upload output with limited verbosity...</span></span></span></span></span><br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"><span style="font-family: inherit;"><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> marst@milkway.my.domain:21:48:16<br />/home/marst/documents/programming/c/avr/blinkLED:<br />$>make && make upload <br />avr-gcc -Wall -Os -DF_CPU=16000000UL -mmcu=atmega328p -o blinkLED.elf <br />avr-objcopy -O ihex -R .eeprom blinkLED.elf blinkLED.hex<br />doas avrdude -B3 -c avrispv2 -p atmega328p -P /dev/cuaU0 -b 115200 <br /><br />avrdude: AVR device initialized and ready to accept instructions<br /><br />Reading | ################################################## | 100% 0.<br /><br />avrdude: Device signature = 0x1e950f<br />avrdude: NOTE: FLASH memory has been specified, an erase cycle will be<br /> To disable this feature, specify the -D option.<br />avrdude: erasing chip<br />avrdude: reading input file "blinkLED.hex"<br />avrdude: input file blinkLED.hex auto detected as Intel Hex<br />avrdude: writing flash (310 bytes):<br /><br />Writing | ################################################## | 100% 0.<br /><br />avrdude: 310 bytes of flash written<br />avrdude: verifying flash memory against blinkLED.hex:<br />avrdude: load data flash data from input file blinkLED.hex:<br />avrdude: input file blinkLED.hex auto detected as Intel Hex<br />avrdude: input file blinkLED.hex contains 310 bytes<br />avrdude: reading on-chip flash data:<br /><br />Reading | ################################################## | 100% 0.<br /><br />avrdude: verifying ...<br />avrdude: 310 bytes of flash verified<br /><br />avrdude: safemode: Fuses OK<br /><br />avrdude done. Thank you.</span></span></span></span></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></span></span></span>Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-6836358192483634252015-12-28T17:24:00.001-08:002015-12-28T17:24:44.945-08:00<h2>
Perl script for my I3 Status Bar</h2>
I decided to roll out mu own little script to handle my I3 window manager status bar. It's a good way to get back into a bit of Perl.<br />
I also wanted to roll out my own little JSON formatter. I did not feel to need to go with what ever Perl module offers. Still some fine tuning required. It crashes when a song title contains a double quote.<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">#!/usr/bin/perl </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">use strict;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub toJSON{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $retval, my $left, my $right;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $sep;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> while ( $left = shift){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if ($left eq "text"){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $left = "full_text";</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> } </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $right = shift;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $retval = $retval . $sep. qq/"$left":"$right"/;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $sep=",";</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> return "{".$retval ."}"; </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub getvol{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $vol = 0;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $vol=`mixerctl outputs.master`; #outputs.master=150,150</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $vol =~ /=(\d+),/;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> return sprintf ("%.0f",$1/2.55);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub getdate{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my @months = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my @days = qw(Sun Mon Tue Wed Thu Fri Sat Sun);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> return sprintf("%s %s %s, %02d:%02d:%02d", @days[$wday], $mday, @months[$mon], $hour, $min, $sec);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub getsong{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $retval = `/usr/local/bin/mpc current`;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> chomp($retval);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> return $retval;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub display{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $song_, my $date_, my $vol_, my $weather_;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $song_ = toJSON("text", getsong(), "color", "#808000");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $vol_ = toJSON("text", "Vol:".getvol()."%");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $date_ = toJSON("text", getdate(), "color", "#9060f0");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $weather_ = toJSON("text", checkweather(), "color", "#009000");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> printf ("[%s,%s,%s,%s],", $song_ , $vol_ , $weather_, $date_);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub checkweather{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $epoch_ = time();</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $filename = "/tmp/tmp.xml";</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $fileage = time() - (stat($filename))[9];</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if ($fileage > 3600){ #Time to refresh weather data</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> system("ftp -o /tmp/tmp.xml http://weather.gc.ca/rss/city/qc-126_e.xml");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>my $temperature="No data";</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>my $condition, my $pressure, my $humididy, my $windchill, my $dewpoint, my $windspeed;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $overnightcondition;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> my $titletagcount=0; #at 5th tag, get overnight conditions.</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> # 0 : Gatineau</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> # 1 : Warning</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> # 2 : Current conditions</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> # 3 : Night conditions</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>open(FILE,"/tmp/tmp.xml") || die "Failed: $!\n";</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>while ( <FILE> ) {</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (/<title>(.*)<\/title>/ ){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> ++$titletagcount;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> #printf ("%d : %s\n", $titletagcount, $1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if ($titletagcount == 4 ){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $overnightcondition=$1;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if (/<b>Condition:<\/b> (.*) <b/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> $condition = $1;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }elsif (/<b>Temperature:<\/b> (-?[\d.]+)/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> $temperature = sprintf("%s°C", $1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}elsif (/<b>Pressure.*<\/b> ([\d.]+)/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>$pressure = sprintf("%s kPa",$1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}elsif (/<b>Humidity:<\/b> ([\d]+)/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>$humididy = sprintf("%s\%",$1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}elsif (/<b>Wind:<\/b> (.*)<br/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>$windspeed = sprintf("%s",$1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}elsif (/<b>Dewpoint:<\/b> (-?[\d.]+)/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>$dewpoint = $1;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}elsif (/<b>Wind Chill:<\/b> (.*)<br/){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>$windchill = sprintf("[%s]", $1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return sprintf("%s %s%s, Wind:%s, P:%s, RH:%s, %s", </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $condition, $temperature, $windchill, $windspeed, $pressure, $humididy, $overnightcondition);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">sub main{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> print '{"version":1}[';</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> for(;;){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> display();</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> sleep(5);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">main();</span><br />
<br />
<pre><file><title>(.*)<\/title>/ ){
++$titletagcount;
#printf ("%d : %s\n", $titletagcount, $1);
if ($titletagcount == 4 ){
$overnightcondition=$1;
}
}
if (/<b>Condition:<\/b> (.*) <b/){
$condition = $1;
}elsif (/<b>Temperature:<\/b> (-?[\d.]+)/){
$temperature = sprintf("%s°C", $1);
}elsif (/<b>Pressure.*<\/b> ([\d.]+)/){
$pressure = sprintf("%s kPa",$1);
}elsif (/<b>Humidity:<\/b> ([\d]+)/){
$humididy = sprintf("%s\%",$1);
}elsif (/<b>Wind:<\/b> (.*)<br/){
$windspeed = sprintf("%s",$1);
}elsif (/<b>Dewpoint:<\/b> (-?[\d.]+)/){
$dewpoint = $1;
}elsif (/<b>Wind Chill:<\/b> (.*)<br/){
$windchill = sprintf("[%s]", $1);
}
}
return sprintf("%s %s%s, Wind:%s, P:%s, RH:%s, %s",
$condition, $temperature, $windchill, $windspeed, $pressure, $humididy, $overnightcondition);
}
sub main{
print '{"version":1}[';
for(;;){
display();
sleep(5);
}
}
main();
</pre>
</title></file></pre>
Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-39248445922235877462015-08-23T13:08:00.002-07:002015-10-17T13:38:18.955-07:00Setting up An Alternative Aquarium.Inspired from the book of the same title<br />
"<a href="http://www.amazon.com/An-Alternative-Aquarium-Robust-Habitat-ebook/dp/B004W9C756" style="color: #660099; cursor: pointer; text-decoration: none;">An Alternative Aquarium: A Robust Habitat</a>" that I just finished reading<span style="font-size: 18px;">.</span><br />
<div>
<br /></div>
<div>
I will use my 20 gal long that I bought recently. It was not really intended for this but for some dirt setup anyway. I did not have a stand, so had to make one. Good old 2X4 held together with home made ash dowels and 12 1/2in carriage bolts. A coat of iron buff to throw in some color and a coat of Dasish oil still drying. And I need to decide where to set it up. It might be my bedroom tank.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJydO63IDRRsvYLsCazkcAwRXxy5GQ_KvCAxHdxci-cagRa7pwY6z0-wdxFKVjTcXCBQYtaLZeyph1qBwke0zMowutv9bpmzYmPQliwdjYUJty4rtd-wbLKRqQb75-c80jA6ObNHsX4Ow/s1600/20Gal_long_stand.25.18_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJydO63IDRRsvYLsCazkcAwRXxy5GQ_KvCAxHdxci-cagRa7pwY6z0-wdxFKVjTcXCBQYtaLZeyph1qBwke0zMowutv9bpmzYmPQliwdjYUJty4rtd-wbLKRqQb75-c80jA6ObNHsX4Ow/s320/20Gal_long_stand.25.18_small.jpg" width="289" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-m9-NsgSwOxk/VdomEsdql4I/AAAAAAAABBk/2L2haSnGhCk/s1600/20Gal_long_driftwood.37.53_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="258" src="http://4.bp.blogspot.com/-m9-NsgSwOxk/VdomEsdql4I/AAAAAAAABBk/2L2haSnGhCk/s320/20Gal_long_driftwood.37.53_small.jpg" width="320" /></a></div>
<br />
<div>
I dug out 2 full buckets of clay from the backyard. Dug almost 2 feet down. I don't fertilize the lawn. So that should be ok. There were some pretty big earthworms. Then I need to decide if I go wild hunting for soil or if I use the pond soil I bought as this is what I was supposed to use before I read the book...</div>
<div>
<br /></div>
<div>
Haven't decided yet on the plants and fauna. There will be a heater as it gets cold here in the winter. No filter, just a pump.<br />
<br />
Here is the pump setup.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoh__WhEn4c0TU5CpNWyfjg93ksPxFsgEpF5UpMqitJu0y1Tc1qr8osy3Z-H42wEfA4G6Bjueuqn0S3GJ65rVJC6NdSAFNl7Sj51dps6yw4sjnl6qHrCsSAM_R22V9jcYv_GGjilnv3iQ/s1600/20150825_184745.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoh__WhEn4c0TU5CpNWyfjg93ksPxFsgEpF5UpMqitJu0y1Tc1qr8osy3Z-H42wEfA4G6Bjueuqn0S3GJ65rVJC6NdSAFNl7Sj51dps6yw4sjnl6qHrCsSAM_R22V9jcYv_GGjilnv3iQ/s320/20150825_184745.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-MOPRQ8Z9378EKKUKTbaP3TJeAIeVbXvo7xc0FnTP_dpEFlkP0zb7OCuCF0o04zEtB2Ayd5upOAgC-lo2kKEi-2tINeQXDvTy-0HSQ1nHMxZW4dgICg76V_X53uM0NSWLLLLY0xOBut4/s1600/20150825_184811.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-MOPRQ8Z9378EKKUKTbaP3TJeAIeVbXvo7xc0FnTP_dpEFlkP0zb7OCuCF0o04zEtB2Ayd5upOAgC-lo2kKEi-2tINeQXDvTy-0HSQ1nHMxZW4dgICg76V_X53uM0NSWLLLLY0xOBut4/s320/20150825_184811.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv0-xQpV_VrFO-a9mtdmL42XPcQXyllIiTxen2OcMswY7ls5BQYdqCEosenpesAh97Lz-lXAM3MHQkchtzYOdzpWinTygqRSH3KZdFP0HJ7xYxhfOWtxWCdSy-9w7wEUHeIkpcjzWcgKM/s1600/20150825_184837.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv0-xQpV_VrFO-a9mtdmL42XPcQXyllIiTxen2OcMswY7ls5BQYdqCEosenpesAh97Lz-lXAM3MHQkchtzYOdzpWinTygqRSH3KZdFP0HJ7xYxhfOWtxWCdSy-9w7wEUHeIkpcjzWcgKM/s320/20150825_184837.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYbWG-akCrdm6w2kEIEfwqKqQPomnMMFSOMlPwFO7jCuYLF-40O4F0NIojPJQ9saoVjubBazLY5-naibXmA7Vgtohu_LHJy0enEumjeYML_7kgx5dw4f8cGcrGGGtFZS9JT6UnpalGAGw/s1600/20150825_184857.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYbWG-akCrdm6w2kEIEfwqKqQPomnMMFSOMlPwFO7jCuYLF-40O4F0NIojPJQ9saoVjubBazLY5-naibXmA7Vgtohu_LHJy0enEumjeYML_7kgx5dw4f8cGcrGGGtFZS9JT6UnpalGAGw/s320/20150825_184857.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ7MsaqNlqRTosTXv6ZO5tHzVyp7tgVH8X0s3NVaf17Out6ziWI_JhOGvVUhY1SmInAu97jznOARz-vmXyjsfMiI4iLmrEYRSjaSd-rI1PHSAjEjSa-KMyIU1nTs2XlJPN1qXTPGjxSp0/s1600/20150825_184921.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ7MsaqNlqRTosTXv6ZO5tHzVyp7tgVH8X0s3NVaf17Out6ziWI_JhOGvVUhY1SmInAu97jznOARz-vmXyjsfMiI4iLmrEYRSjaSd-rI1PHSAjEjSa-KMyIU1nTs2XlJPN1qXTPGjxSp0/s320/20150825_184921.jpg" width="320" /></a></div>
<br />
Layering the substrate. Clay from my backyard, pond soil and play sand. Then time to fill up. It's a myth that setting up a dirt tank is messy.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-4S-rc1JIdbw/VhB1G4yJjoI/AAAAAAAABHM/tXXTtqJrR54/s1600/20150902_141241.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-4S-rc1JIdbw/VhB1G4yJjoI/AAAAAAAABHM/tXXTtqJrR54/s320/20150902_141241.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuaNx104_FLu33EL2IvcBy7ocKzhtC8jYnK0T6kEE1WIw3G93wASNz0sZSDa84Ziv_yl8MENMZNF4RwsRnpUcx9qeNyDfAXlxlx2k6kBJDqADI08iuZljJ5MpKEThMpmAPkYCZlxIgsSc/s1600/20150825_190318.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuaNx104_FLu33EL2IvcBy7ocKzhtC8jYnK0T6kEE1WIw3G93wASNz0sZSDa84Ziv_yl8MENMZNF4RwsRnpUcx9qeNyDfAXlxlx2k6kBJDqADI08iuZljJ5MpKEThMpmAPkYCZlxIgsSc/s320/20150825_190318.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-EkuMxlks-K8/VhB1Gz2-fRI/AAAAAAAABHQ/k_LtXqLKc0k/s1600/20gal_filling_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-EkuMxlks-K8/VhB1Gz2-fRI/AAAAAAAABHQ/k_LtXqLKc0k/s320/20gal_filling_1.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-lUfOPH4kvbg/VhB1HHcM-0I/AAAAAAAABHY/Fry6ErVWvQY/s1600/20gal_filling_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-lUfOPH4kvbg/VhB1HHcM-0I/AAAAAAAABHY/Fry6ErVWvQY/s320/20gal_filling_2.jpg" width="320" /></a></div>
<br />
<br />
Adding some supports for land plants that get their water from the tank through a wick. One of my dog, Pasha, helped with the watering mat I used to make the wicks.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPWeHPhtsPDeLqJdTnK5NV-nERceP7Ry88Fsjliwmn_dK1D6YHuZZmXUgInSx8hx5iq0uAg1TCCRoul_0bR7luul7MbVEsXLIrWQZSA6OM3z1cal-fSkvkftf9MJDfUw4WMByUJBcFUD4/s1600/20150909_190055.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPWeHPhtsPDeLqJdTnK5NV-nERceP7Ry88Fsjliwmn_dK1D6YHuZZmXUgInSx8hx5iq0uAg1TCCRoul_0bR7luul7MbVEsXLIrWQZSA6OM3z1cal-fSkvkftf9MJDfUw4WMByUJBcFUD4/s320/20150909_190055.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG1RJjJj5hoa7xJM4OMz2QWIRBNBWo6R5-Fsuoa5W1ZIV5Hr1L8hyBSfvaQmp5QlY0UC9Uf3rZXJpQCk-7ghjq-sshth59I0tCE0-t5EoBSxS1yEQPzGszbAGPicmt74MAzDv4yEjxOu8/s1600/20150909_190903.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG1RJjJj5hoa7xJM4OMz2QWIRBNBWo6R5-Fsuoa5W1ZIV5Hr1L8hyBSfvaQmp5QlY0UC9Uf3rZXJpQCk-7ghjq-sshth59I0tCE0-t5EoBSxS1yEQPzGszbAGPicmt74MAzDv4yEjxOu8/s320/20150909_190903.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj27oiFtbmicKgmLCOb9wDoFGpOTYo7JC4uSmE8-Z5TPdrarpzrWh_MxebJm9MsC5szBS7j9kJqhUNohsi-imj3VUXH2-UebUL0AlOS9OC_Luhj-tfUTsTkiQV_CX3Mis50gpVR1AyGYOU/s1600/20150909_192906.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj27oiFtbmicKgmLCOb9wDoFGpOTYo7JC4uSmE8-Z5TPdrarpzrWh_MxebJm9MsC5szBS7j9kJqhUNohsi-imj3VUXH2-UebUL0AlOS9OC_Luhj-tfUTsTkiQV_CX3Mis50gpVR1AyGYOU/s320/20150909_192906.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj45XcLaAvoILAUI07HJjwBMVGXJmlt0VvFW_mgq-jegHEJcNZ__uNNDxatha9Cw7FtGYwr2guTjijSOJivuRfZg_e8NOHmMOCFBmapiIvgyMEGyXYCxJZVLv6MVixd-T8W4MM9RCd7Ja0/s1600/2015-09-13+16.06.08.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj45XcLaAvoILAUI07HJjwBMVGXJmlt0VvFW_mgq-jegHEJcNZ__uNNDxatha9Cw7FtGYwr2guTjijSOJivuRfZg_e8NOHmMOCFBmapiIvgyMEGyXYCxJZVLv6MVixd-T8W4MM9RCd7Ja0/s320/2015-09-13+16.06.08.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTTOnLL2H76NfqTo-ZsQmF-fx9k9Ni8mzd3RSXVh_d2MFuHPjivXiKdi81Af9TnVxhvzRfYXYbu0_Xth4ZSrJZ5OabsJrCL7c7sf_IZ6IoFC0qT_nPosEitvK4-1jlf0_oc6RXBLXcS0g/s1600/2015-09-13+16.24.48.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTTOnLL2H76NfqTo-ZsQmF-fx9k9Ni8mzd3RSXVh_d2MFuHPjivXiKdi81Af9TnVxhvzRfYXYbu0_Xth4ZSrJZ5OabsJrCL7c7sf_IZ6IoFC0qT_nPosEitvK4-1jlf0_oc6RXBLXcS0g/s320/2015-09-13+16.24.48.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil43PquOBwoUByQ0uxCEAHdzEenYhUJWc9TAvADHXBUMdSWiA8X3gBD-OhqT3S3eQUi9JwM8IKhPv9AWI2xtoGBCnRNzOV9rFWzGnbAWcSjEJ5zvz7CU_pw-jId91zMf9Rkb6sIHQ6a84/s1600/20150913_162049.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil43PquOBwoUByQ0uxCEAHdzEenYhUJWc9TAvADHXBUMdSWiA8X3gBD-OhqT3S3eQUi9JwM8IKhPv9AWI2xtoGBCnRNzOV9rFWzGnbAWcSjEJ5zvz7CU_pw-jId91zMf9Rkb6sIHQ6a84/s320/20150913_162049.jpg" width="320" /></a></div>
<br />
The tanks as of 3 Oct 2015. Fauna includes 9 White cloud mountain minnows and 1 hillstream loach. As usual, pond and trumpet snails are part of the game.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFYr6CGfhaY4y1pBEz4gG3uolt7W57sYmGeE-9TrXcucnApiChOq3FOKPn96Xyt1sn91-vOjQGz6l3XuuDyLpDvFuJBHyFgfch3gOVLjgrUDYLuHLsyXh40u_MrelrLeKQMRRe2pd9p_Y/s1600/20151003_211843.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFYr6CGfhaY4y1pBEz4gG3uolt7W57sYmGeE-9TrXcucnApiChOq3FOKPn96Xyt1sn91-vOjQGz6l3XuuDyLpDvFuJBHyFgfch3gOVLjgrUDYLuHLsyXh40u_MrelrLeKQMRRe2pd9p_Y/s320/20151003_211843.jpg" width="320" /></a></div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com1tag:blogger.com,1999:blog-1480484569618155522.post-3888641259626760252015-08-01T18:43:00.002-07:002015-08-01T18:43:43.787-07:00Update on the River Above the tank.Cala Lillies shooting high in both 75 and 15 gal. 29 gal not doing so well.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ROfeTpx7H4k/Vb11OLP0ubI/AAAAAAAAA_0/6CwnANwS4Qc/s1600/75Gal_overview_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-ROfeTpx7H4k/Vb11OLP0ubI/AAAAAAAAA_0/6CwnANwS4Qc/s320/75Gal_overview_small.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-l2rNBpZKhRg/Vb11ak6zmhI/AAAAAAAAA_8/VKUz9IvBzvs/s1600/Tall_CalaLilly_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-l2rNBpZKhRg/Vb11ak6zmhI/AAAAAAAAA_8/VKUz9IvBzvs/s320/Tall_CalaLilly_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0T8uRfUUpkESbK8VoSCbTuHNDH3NIUyAv5hpaUQmfOYmnoH_bPe03nC8Vi6HSTUNIpTelsiaTaUKzauazD4zD2pttb0p83JbD6vooeoq06A9oeSpDIvdpD-YUKyOP7yZ-I0DqBJULJ30/s1600/Smaller_CalaLilly_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0T8uRfUUpkESbK8VoSCbTuHNDH3NIUyAv5hpaUQmfOYmnoH_bPe03nC8Vi6HSTUNIpTelsiaTaUKzauazD4zD2pttb0p83JbD6vooeoq06A9oeSpDIvdpD-YUKyOP7yZ-I0DqBJULJ30/s320/Smaller_CalaLilly_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj25YzhTjapWfFXfvgppBhFv4LihnHdE3OV0RXvxNZFjCvFky8c-Dr-bXnLvurd03xf5RIflryXEJ-Xpaj1_3lK42v_OYh_imr7Rl7TcSLTE0KeFC5Yhru3HTVLRArconcrP6cCWF58uQ/s1600/15Gal_TallCalaLilly_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj25YzhTjapWfFXfvgppBhFv4LihnHdE3OV0RXvxNZFjCvFky8c-Dr-bXnLvurd03xf5RIflryXEJ-Xpaj1_3lK42v_OYh_imr7Rl7TcSLTE0KeFC5Yhru3HTVLRArconcrP6cCWF58uQ/s320/15Gal_TallCalaLilly_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-by3cmGIv7Pk/Vb11tsYv8-I/AAAAAAAABAU/NXrCfQ-cZUs/s1600/15Gal_CalaLillyFlower_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-by3cmGIv7Pk/Vb11tsYv8-I/AAAAAAAABAU/NXrCfQ-cZUs/s320/15Gal_CalaLillyFlower_small.jpg" width="240" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com1tag:blogger.com,1999:blog-1480484569618155522.post-72681169343915373622015-07-17T13:46:00.003-07:002015-07-17T13:49:54.807-07:00Cala Lillies rooting in the river above the tank.<div class="separator" style="clear: both; text-align: left;">
This is one week of growth for the cala lillies bulbs. Growth is insane. It is so far the fastest growing plant.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qEuw18fDkgvO_ngqmYeXABPwrXCDdxmtck-4lvdWIkPqg9kXrD5oGdoFnHzB7o5Tw4FaeBXZxnSERcg9VXRJS8dteE0JlvSslVveSxAyCOofDRo68qchHS6keDpXMGvxzfpQGqC-SVc/s1600/calalilly_75g_left_small.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJkOxutza1jB5fKx_V6ZAchiksULbWFMifz4NHOguJlxxzPPM6RY5F_h3OILIwphHnX1HeKb82qMNgulWmvd3n1yIytH6N8VNKQ9MHRSPHvov_vWXd1YJyGqrAWX-FdSmDLwgMW4Wx3wA/s1600/calalilly_75g_right_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJkOxutza1jB5fKx_V6ZAchiksULbWFMifz4NHOguJlxxzPPM6RY5F_h3OILIwphHnX1HeKb82qMNgulWmvd3n1yIytH6N8VNKQ9MHRSPHvov_vWXd1YJyGqrAWX-FdSmDLwgMW4Wx3wA/s320/calalilly_75g_right_small.jpg" width="240" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qEuw18fDkgvO_ngqmYeXABPwrXCDdxmtck-4lvdWIkPqg9kXrD5oGdoFnHzB7o5Tw4FaeBXZxnSERcg9VXRJS8dteE0JlvSslVveSxAyCOofDRo68qchHS6keDpXMGvxzfpQGqC-SVc/s1600/calalilly_75g_left_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qEuw18fDkgvO_ngqmYeXABPwrXCDdxmtck-4lvdWIkPqg9kXrD5oGdoFnHzB7o5Tw4FaeBXZxnSERcg9VXRJS8dteE0JlvSslVveSxAyCOofDRo68qchHS6keDpXMGvxzfpQGqC-SVc/s320/calalilly_75g_left_small.jpg" width="240" /></a></div>
Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-4923963752362673322015-07-07T18:11:00.000-07:002015-07-07T18:11:08.949-07:00Mario's over the tank river - part 2There has been some modifications. I did not like the outflows. They take too much real estate over the tank. I installed two bulkheads instead. I lined the inside of the bulkheads with some textile to kill the sound and eliminate splashes.<br />
<br />
I did a leak test overnight. All seem ok. I added some raiser blocks to give place for the filter intake. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-vRas5_iDXD8/VZx3kKT-7EI/AAAAAAAAA-c/_ZFo4eaC2yY/s1600/bulkhead_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-vRas5_iDXD8/VZx3kKT-7EI/AAAAAAAAA-c/_ZFo4eaC2yY/s320/bulkhead_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-jLH7AyWX45Y/VZx3usELOMI/AAAAAAAAA-s/__ZB7jdBAsg/s1600/leaktest_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-jLH7AyWX45Y/VZx3usELOMI/AAAAAAAAA-s/__ZB7jdBAsg/s320/leaktest_small.jpg" width="262" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-285W2boSPFw/VZx3pUI-gOI/AAAAAAAAA-k/jq4yuKwKu2I/s1600/fillingin_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-285W2boSPFw/VZx3pUI-gOI/AAAAAAAAA-k/jq4yuKwKu2I/s320/fillingin_small.jpg" width="240" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-bDUNufHG3sM/VZx3033btiI/AAAAAAAAA-0/ytdWVo5_XwA/s1600/primaryoutflow_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-bDUNufHG3sM/VZx3033btiI/AAAAAAAAA-0/ytdWVo5_XwA/s320/primaryoutflow_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf6xnYsfQkXY2VBmZ-pQ2iSSz3ZYVn-DZTTkXiO91CHWmxIpm80pbNYKqKS30iyvGovPxPeugHuRlg6wfN-ot8HXcKT97VQZdjhXLK94tuU5Qoy2pXCaeYSlDkfZrlSLKfN8IMey4rbvs/s1600/riverbed_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf6xnYsfQkXY2VBmZ-pQ2iSSz3ZYVn-DZTTkXiO91CHWmxIpm80pbNYKqKS30iyvGovPxPeugHuRlg6wfN-ot8HXcKT97VQZdjhXLK94tuU5Qoy2pXCaeYSlDkfZrlSLKfN8IMey4rbvs/s320/riverbed_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XybkBE-OGGY/VZx3_P4pD8I/AAAAAAAAA_E/EqzTN2Erbfk/s1600/someplants_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-XybkBE-OGGY/VZx3_P4pD8I/AAAAAAAAA_E/EqzTN2Erbfk/s320/someplants_small.jpg" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-29846287681738558502015-07-04T17:24:00.002-07:002015-07-04T17:24:46.732-07:00Mario's over the tank river.This little river will be installed atop my 75 gallon tank. The river is the same length as the tank; 48 inches. It is about 5 inches wide and just over 1.5 inches high. It's not high, it will be low flow river with of course plants in it. Bed will be lavarock with maybe some pieces of drift wood.<br />
<br />
This is the barebone box without the ends. Because it's dadoes, just wanted to do a dry fit before glueing the parts together<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiizDm0gk1Cf7ZiEaafZeMsOyMAP8xPz0M_K0ndcX9c8j9rlugJ-8jwteak4eeEZ2R-741hXwRd6kfooOsjtkehTKP4bTQFJfJqGUsD0V5H566PnObVOcyVAMmF1MXrtNJ0IxLR_whzKzo/s1600/plainbox_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiizDm0gk1Cf7ZiEaafZeMsOyMAP8xPz0M_K0ndcX9c8j9rlugJ-8jwteak4eeEZ2R-741hXwRd6kfooOsjtkehTKP4bTQFJfJqGUsD0V5H566PnObVOcyVAMmF1MXrtNJ0IxLR_whzKzo/s320/plainbox_small.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-d1g9DLk2Fms/VZh4QyL1UGI/AAAAAAAAA94/7TNBMrfzqlI/s1600/boxglued_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-d1g9DLk2Fms/VZh4QyL1UGI/AAAAAAAAA94/7TNBMrfzqlI/s320/boxglued_small.jpg" width="320" /></a></div>
<br />
<br />
This is the outflow. Water will return to the tanks through this small opening.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-6X6OeXzNrkw/VZh4ajjR-EI/AAAAAAAAA-A/hClgUy0o0no/s1600/boxoutflow_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-6X6OeXzNrkw/VZh4ajjR-EI/AAAAAAAAA-A/hClgUy0o0no/s320/boxoutflow_small.jpg" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This is some arrangements in progress. I seived all the lava rock I have to get some smaller ones. I am a little short in rocks. I will throw some larger ones int. I painted and varnished the outside of the wooden box. The inside is line with a PVC pond liner. Then I place a layer of geotextile then the rocks.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxyuAbY-xtaM4rPrFBH89eIPNyYRfM_dA2Iy-ZZX-umHuTkW39f9DU_iod00fGyJggca2FvvpGj54j4PE7Pf64d03Nb0WSGRA9aAoR6N5ypkaDtGYc1LtoRB8Yfuvakaz8v9TFUgpcs5w/s1600/boxrockbed_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxyuAbY-xtaM4rPrFBH89eIPNyYRfM_dA2Iy-ZZX-umHuTkW39f9DU_iod00fGyJggca2FvvpGj54j4PE7Pf64d03Nb0WSGRA9aAoR6N5ypkaDtGYc1LtoRB8Yfuvakaz8v9TFUgpcs5w/s320/boxrockbed_small.jpg" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-63124537415976232872015-06-27T10:41:00.002-07:002015-06-27T10:41:41.147-07:00The almost 1 2X4 riparium lamp standBecause the 10 gal tank is in a rather dark corner, I am building this very simple stand. If satisfy with it, I might build some more for other tanks.<br />
<br />
Material is 1 2X4 plus about 24 inches of a 2X6 for the legs.<br />
Hardware is 6 lag bolts, 3"X5/16.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuN1AobapodDH-jCo_kWeh2H9ce0tM0ip0ONZJpLO3R7uwNKu9Gwgjy9c-CPdfdJsc-GZMqUrNzaryXYyCWJyv5AxCwPCBMuU5pckhbLG2rzWjB9jfiLIoOcZSbHLqcZPyAUng-onPWnA/s1600/cheapLampStand_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuN1AobapodDH-jCo_kWeh2H9ce0tM0ip0ONZJpLO3R7uwNKu9Gwgjy9c-CPdfdJsc-GZMqUrNzaryXYyCWJyv5AxCwPCBMuU5pckhbLG2rzWjB9jfiLIoOcZSbHLqcZPyAUng-onPWnA/s320/cheapLampStand_small.jpg" width="193" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I applied some iron buff to darken the wood. The I will probably just oil it... Picture to come.</div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-30102250437097643612015-06-07T17:23:00.000-07:002015-08-04T15:22:46.169-07:00A larger planter, for my 29 gal this time - Turning it On<a href="http://mariostg.blogspot.ca/2015/06/a-larger-planter-for-my-29-gal-this-time.html">View Part 1</a><br />
<br />
I decided to direct the output of my 2213 Eheim canister filter to the planter. I reduced the flow for now. Of course it made the tank rather cloudy. That should clear up...<br />
<br />
Some observations. The geotextile seem to defy the gravity. Hanging free and lower than the bottom of the planter, capillarity seem to suck the water out of the planter.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-8My6IwEbYFA/VXTfBbknAoI/AAAAAAAAA7g/20Kobl7xPD8/s1600/LargerPlanterF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-8My6IwEbYFA/VXTfBbknAoI/AAAAAAAAA7g/20Kobl7xPD8/s320/LargerPlanterF.jpg" width="320" /></a></div>
<br />
Turning the filter on, water flows down the geotextile. I extended the geotextile by adding a longer layer as the dripping is a little noisy. Adding a longer layer that touches the surface of the water in the tank makes the system completely silent.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRR_hhPrFPMItGUpNzD7w-94GiRwVmPEIsQ8Gxj-aRdiKaQExPfqQ-eRraUpyt4W7FseCLlXrXkNVvK37RFR72n0aXR0YmSkDvNFs-R_geVBrUjg1l8BY8dspACwpKJBPbq-ez_HubsFU/s1600/LargerPlanterG.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRR_hhPrFPMItGUpNzD7w-94GiRwVmPEIsQ8Gxj-aRdiKaQExPfqQ-eRraUpyt4W7FseCLlXrXkNVvK37RFR72n0aXR0YmSkDvNFs-R_geVBrUjg1l8BY8dspACwpKJBPbq-ez_HubsFU/s320/LargerPlanterG.jpg" width="320" /></a></div>
<br />
Here is the outflow of the canister filter flowing into the planter.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ovKI9JPk3lo/VXTfCdGogaI/AAAAAAAAA7w/DCW4EOOdo4o/s1600/LargerPlanterH.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-ovKI9JPk3lo/VXTfCdGogaI/AAAAAAAAA7w/DCW4EOOdo4o/s320/LargerPlanterH.jpg" width="315" /></a></div>
<br />
And finally, the big mess in the tank. Fishes really seem to careless.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDF1bUveuL2xFiF0n4rvE8cN-Xwvh0VP10q_61my_OgbU0G3Ut7DiTW82eiE3IU07z1TaxXzQdcWh_NIyOX-cEM1QT0AQTS-R43b8Zz0on9OOC9tQw1UPyWB4YqUp6LHzPcauf9Au3e_I/s1600/LargerPlanterI.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDF1bUveuL2xFiF0n4rvE8cN-Xwvh0VP10q_61my_OgbU0G3Ut7DiTW82eiE3IU07z1TaxXzQdcWh_NIyOX-cEM1QT0AQTS-R43b8Zz0on9OOC9tQw1UPyWB4YqUp6LHzPcauf9Au3e_I/s320/LargerPlanterI.jpg" width="320" /></a></div>
<br />
9 June 2015, the flow of the filter is set to max. Water in the tank has cleared up a bit. Here is a close look at the mini river...<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-WaUpcynp88U/VXcYFR-HcBI/AAAAAAAAA8M/QFa0oey2p8E/s1600/LargerPlanterJ.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-WaUpcynp88U/VXcYFR-HcBI/AAAAAAAAA8M/QFa0oey2p8E/s320/LargerPlanterJ.jpg" width="320" /></a></div>
<br />
2015-06-13. Quick update. The planter is receiving visitors from the tank. Some snails are working their way up the water fall :)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-fKbbz67nJLo/VXxzkLi0BQI/AAAAAAAAA9I/qTeBPjt-PJ8/s1600/SnailGoingUp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-fKbbz67nJLo/VXxzkLi0BQI/AAAAAAAAA9I/qTeBPjt-PJ8/s320/SnailGoingUp.jpg" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2015-08-04. Peace Lily really catching up. Tank water is clear. It's my black water tank. The paint holder HOB filter is... holding on.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAKks5ul6ZXb6wsk-T3VJRQdIDtbhlGmjk9HXI13nmI4qnEdCZdLvbJ0-ecyPmwM2fdZqfdcBkhtpsN84uHzx5vnxBcky14IXWzTQ20kYflPzF_p6wd71eYoBzOurbZshF4okZeEXtrRs/s1600/LittleWaterFall_20150804_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAKks5ul6ZXb6wsk-T3VJRQdIDtbhlGmjk9HXI13nmI4qnEdCZdLvbJ0-ecyPmwM2fdZqfdcBkhtpsN84uHzx5vnxBcky14IXWzTQ20kYflPzF_p6wd71eYoBzOurbZshF4okZeEXtrRs/s320/LittleWaterFall_20150804_small.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1DKq7jJyazJtYVo4xxsXpD3rsQP6M3rDIhSleqe23hfGm0NpXcgmdMEdbootevreg6PuMEPhIeLXPJYYsx_LxOLq8mrpIPcm6V9EBaCD82cq75Pm-rP9A4KMJyHDQSzW7iuIXr8zgz9k/s1600/29Gal_20150804_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1DKq7jJyazJtYVo4xxsXpD3rsQP6M3rDIhSleqe23hfGm0NpXcgmdMEdbootevreg6PuMEPhIeLXPJYYsx_LxOLq8mrpIPcm6V9EBaCD82cq75Pm-rP9A4KMJyHDQSzW7iuIXr8zgz9k/s320/29Gal_20150804_small.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWp2167NkBh75Je5tKm2pXaNw_fvFctDgKRkpDsDS_K7yLbaDTEJs8YnFHpnzXZ0AyX6j7phDWHp3piDn1ETAeF5g4VyhWngSCMC7hb0IksDT25jc5072rLPBTz0baJvdGk1BBoQEO4JQ/s1600/PaintHolder_20150804_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWp2167NkBh75Je5tKm2pXaNw_fvFctDgKRkpDsDS_K7yLbaDTEJs8YnFHpnzXZ0AyX6j7phDWHp3piDn1ETAeF5g4VyhWngSCMC7hb0IksDT25jc5072rLPBTz0baJvdGk1BBoQEO4JQ/s320/PaintHolder_20150804_small.jpg" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com2tag:blogger.com,1999:blog-1480484569618155522.post-73333789919846695962015-06-07T12:01:00.000-07:002015-06-07T17:33:49.976-07:00A larger planter, for my 29 gal this timePlanter on top of aquarium or hanging on the side of the tank is an addictive activity. Here is one I am setting up on my 29 gallon tank.<br />
<br />
I took a planter that I lined with a piece of PVC pond liner because the planter has a drain hole. I laid over the liner a sheet of geotextile. I cut a piece off the front portion of the planter. The water will drain back in the tank slowly flowing against the geotextile that I cut longer. Eventually, some moss could be established there.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGzTe5YBINEdoZoOlLi342ngEECwZ11U7PegAJR7NC6CElT1NNSScLfWQCS202cRI-3H6DVZ9i8nc-utHmhI2k_okWc_j6s1BJ2awfRWlRweU6vEDW0kXO97s7Xii2Rc-ikfcB_2HL1Rk/s1600/LargerPlanterB.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGzTe5YBINEdoZoOlLi342ngEECwZ11U7PegAJR7NC6CElT1NNSScLfWQCS202cRI-3H6DVZ9i8nc-utHmhI2k_okWc_j6s1BJ2awfRWlRweU6vEDW0kXO97s7Xii2Rc-ikfcB_2HL1Rk/s320/LargerPlanterB.jpg" width="320" /></a></div>
<br />
Some of the plants: Pothos, Spathiphyllum (very small for now), Tradescantia zebrina, Papyrus (Egyptian?), Fittonia.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3G37OG1dpru4QEEK4NXl1g1K1TX76Cx-nWqcyKe47jrrdH4zSFQbhRhYBAru7S_FgjK4YWqzRV4p1TVe7vzIHQCBLaZO9KoBRZUZbM3iT78KcMxnQd89rQzb7t5wbQ69sQp0mUGttUp0/s1600/LargerPlanterA.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3G37OG1dpru4QEEK4NXl1g1K1TX76Cx-nWqcyKe47jrrdH4zSFQbhRhYBAru7S_FgjK4YWqzRV4p1TVe7vzIHQCBLaZO9KoBRZUZbM3iT78KcMxnQd89rQzb7t5wbQ69sQp0mUGttUp0/s320/LargerPlanterA.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
So this is what the planter looks like on the tank. Now I just need to figure out how I want to setup the pump.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcjmOI-jeZ0flOEJI9SO8w7Ix5q4u4Is6M-ky5vb_AR5R4rCCP6JKl9QIZ0ND_kOopHT6sKtXSag6Ttnfw8yweeuKGOfPZFzlS09EeV2KhLuV4fIvrZykEHpukwdI3Dv6-CtdQvRSvog/s1600/LargerPlanterE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcjmOI-jeZ0flOEJI9SO8w7Ix5q4u4Is6M-ky5vb_AR5R4rCCP6JKl9QIZ0ND_kOopHT6sKtXSag6Ttnfw8yweeuKGOfPZFzlS09EeV2KhLuV4fIvrZykEHpukwdI3Dv6-CtdQvRSvog/s320/LargerPlanterE.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a href="http://mariostg.blogspot.ca/2015/06/a-larger-planter-for-my-29-gal-this_7.html">Part 2 - Turning it On</a>Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-54249170421462270842015-06-05T16:10:00.000-07:002015-06-09T10:28:33.322-07:00I recently set up a home made HOB planter made of a cheap paint holder bought at Dollarama. The planter is hung on my 15 gal tank.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvbQhmF9aIHiml46UAR3XyH9swQI6-AXDNAmtd-xoMHC2CRfHU60YdM0OrnH6l5x2ewdNpn2FwNUXFaCocJqJKuCP6_YKvNY_lYc4uKPbKZUcZHgHpI6DFRtkLz4gJSvNG4Vma5bq49sA/s1600/PaintHolderPlanter-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvbQhmF9aIHiml46UAR3XyH9swQI6-AXDNAmtd-xoMHC2CRfHU60YdM0OrnH6l5x2ewdNpn2FwNUXFaCocJqJKuCP6_YKvNY_lYc4uKPbKZUcZHgHpI6DFRtkLz4gJSvNG4Vma5bq49sA/s320/PaintHolderPlanter-1.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-WhtOSAjM30k/VXccVAEMmPI/AAAAAAAAA8Y/2REjxAFeD04/s1600/PaintHolderPlanter-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-WhtOSAjM30k/VXccVAEMmPI/AAAAAAAAA8Y/2REjxAFeD04/s1600/PaintHolderPlanter-2.jpg" /></a></div>
<br />
<br />
I added some moss from the bottom of the tank. I laid the moss on some geotextile that should remain wet from the water flow. Alos put some wilder moss I collected from the pond in the backyard.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDVHhpK90a1OVHWuQI80pzyx8w5WD-JqrjvanHJnwHAWMbs_ac_a6wqReVTfvbFccXL6ltEGuCphzpIebGVmy3zcfyhYPGn0SxhMi8IldH6pK_iDciBRQBgHc4TJ6PKHdz28y1xvMlzwA/s1600/MossOnGeotextile.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDVHhpK90a1OVHWuQI80pzyx8w5WD-JqrjvanHJnwHAWMbs_ac_a6wqReVTfvbFccXL6ltEGuCphzpIebGVmy3zcfyhYPGn0SxhMi8IldH6pK_iDciBRQBgHc4TJ6PKHdz28y1xvMlzwA/s320/MossOnGeotextile.jpg" width="295" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOv9wIrlZcJP0Gk2NPGEm9QNiP7-iGam2_TQ48T-7_79WNVrnUpgOVZnIafz_54FB9ms3QzQrMMNzFISbRTLObkmmSstT9EapiNGx-Pgl7m-IzhlpL4JDL3eeR2oBcueAez4Zxqq_Yn_8/s1600/MossOnLavarock.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOv9wIrlZcJP0Gk2NPGEm9QNiP7-iGam2_TQ48T-7_79WNVrnUpgOVZnIafz_54FB9ms3QzQrMMNzFISbRTLObkmmSstT9EapiNGx-Pgl7m-IzhlpL4JDL3eeR2oBcueAez4Zxqq_Yn_8/s320/MossOnLavarock.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
An overall view of the tank as of 30 May 2015<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4WDutDlnpXH2eVD1FsqeA__aaBSU1Q1mSMqNHf_pLS-h2WBY2p_5KqssjJe7kqJNIuRBAVJ-JalCocyZsDRGkQ9E8pNi37xjo3vNjioAha-VEihe3KycY2DRLaMX5GduxqIwJ669lAsw/s1600/15gal_20150530.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4WDutDlnpXH2eVD1FsqeA__aaBSU1Q1mSMqNHf_pLS-h2WBY2p_5KqssjJe7kqJNIuRBAVJ-JalCocyZsDRGkQ9E8pNi37xjo3vNjioAha-VEihe3KycY2DRLaMX5GduxqIwJ669lAsw/s320/15gal_20150530.jpg" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com1tag:blogger.com,1999:blog-1480484569618155522.post-86802444212645685302015-05-28T17:12:00.001-07:002015-05-28T17:12:17.948-07:00Critters in the "wild" low tech fresh water aquarium<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMDNde43szUdkJl-s7xTo6kOJNBi0_GYyUxUqXM6GltkfzBQPmfEyKMAmW-79axCjBIOj7euFT-o5ZzJBI_Gu58BJPJkEpAPt5lyrFizF2BTO70sL1AOzDrnHiUdKxjvkHmh8ErB2QaQ0/s1600/20150527_181254.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMDNde43szUdkJl-s7xTo6kOJNBi0_GYyUxUqXM6GltkfzBQPmfEyKMAmW-79axCjBIOj7euFT-o5ZzJBI_Gu58BJPJkEpAPt5lyrFizF2BTO70sL1AOzDrnHiUdKxjvkHmh8ErB2QaQ0/s320/20150527_181254.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-UXnofKif01nMW7M3R2u4KjyRZNKrqy0BTsO5sBWIwhT7b4gujcMNM6ShTl6kBRPZzsNLodMYX7U44ykRl3wO3aKnF6YMOrFOIWuWQzw0wdqUb5AjWWxN9bvW2DNxb1hnRObPCYJl_rY/s1600/20150527_181918.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-UXnofKif01nMW7M3R2u4KjyRZNKrqy0BTsO5sBWIwhT7b4gujcMNM6ShTl6kBRPZzsNLodMYX7U44ykRl3wO3aKnF6YMOrFOIWuWQzw0wdqUb5AjWWxN9bvW2DNxb1hnRObPCYJl_rY/s320/20150527_181918.jpg" width="240" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-69859723273487908862014-08-02T11:39:00.000-07:002014-09-06T16:59:14.650-07:00<div class="separator" style="clear: both; text-align: left;">
My new freshwater 75 gallons tank as of Jul 29. Plants are staring to grow. From left to right. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6XKFx-Njbj0/U90vh1HjThI/AAAAAAAAAWU/qAAlrrueJtA/s1600/75g_left.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-6XKFx-Njbj0/U90vh1HjThI/AAAAAAAAAWU/qAAlrrueJtA/s1600/75g_left.jpg" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ_UQIaxBPlQ48QZ6MN__Ct5_yristxYFjZ1Ra5pDy-lD0SRRb2pLFI3QpPxoI_PLjmal7ACa0WOhW58qB5e20fV9tgmj5sxXIdbopLCwpz2GPryTGk-v3JqkkyPbfSGovqnC7_rOe-HE/s1600/75g_center.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ_UQIaxBPlQ48QZ6MN__Ct5_yristxYFjZ1Ra5pDy-lD0SRRb2pLFI3QpPxoI_PLjmal7ACa0WOhW58qB5e20fV9tgmj5sxXIdbopLCwpz2GPryTGk-v3JqkkyPbfSGovqnC7_rOe-HE/s1600/75g_center.jpg" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgowm237ls7jgGS9WSJZPGbiq8-TZd_S5F_1jk4tLEGQIjEVIsZ3Sn6KSaoW8NlOa8QDK2XGTbYWJKTqTBB1Yp0STHT_hl6VcyRTIz0gRY8pIwhYbMRihM_taadoK8rt4iFPz3nWyK68dg/s1600/75g_right.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgowm237ls7jgGS9WSJZPGbiq8-TZd_S5F_1jk4tLEGQIjEVIsZ3Sn6KSaoW8NlOa8QDK2XGTbYWJKTqTBB1Yp0STHT_hl6VcyRTIz0gRY8pIwhYbMRihM_taadoK8rt4iFPz3nWyK68dg/s1600/75g_right.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The look of the tank as I was filling it. As one can see, not too much turbidity.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Z0j3L9Ljndc/VAufU3ZnV8I/AAAAAAAAAas/zs_dkU4rqw0/s1600/DSC00850.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-Z0j3L9Ljndc/VAufU3ZnV8I/AAAAAAAAAas/zs_dkU4rqw0/s1600/DSC00850.JPG" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com0tag:blogger.com,1999:blog-1480484569618155522.post-48660980884686816492014-03-18T18:47:00.000-07:002014-03-18T18:59:24.668-07:00OpenBSD sqlport browser<div class="separator" style="clear: both; text-align: left;">
Been working lately on a simple OpenBSD package browser. No extensive graphics, works from the terminal with navigation similar to vim. I do this for fun. I find it convenient for exploring existing packages.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
As seen on the picture, the green section on the left enumerates the packages. The blue section on the right shows some key information related to a given package. I am only using some of the fields available from sqlports. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Yes the colors are not the nicest, but they are convenient at the moment for laying out things and debug.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The yellow bar at the bottom is a status bar while the grey bar is the user input bar. i.e. where one would type 123g to select the package that corresponds to the number. Nothing decided yet what to do with the red header.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Using "/" key allows to search for a given package name. Typing /vim would list any package that have a name matching vim.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Using "w" key will open the browser at the homepage of the package selected. Environmental variable BROWSER must be set for this to work. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjObVn9u1MaqGTSb_DAEIt9mS5eW6vKgdGOaoJOk_R7qpfmLldYsIMogKZZfPTkzzwYt90kCx0E8-a_DVjMRUEn_pSnTz2cMk1XPLGMFeT9RhMP-0PmZQsshdNrRNO-1PG3vc69wU3Q0Sc/s1600/sqlportbrowser.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjObVn9u1MaqGTSb_DAEIt9mS5eW6vKgdGOaoJOk_R7qpfmLldYsIMogKZZfPTkzzwYt90kCx0E8-a_DVjMRUEn_pSnTz2cMk1XPLGMFeT9RhMP-0PmZQsshdNrRNO-1PG3vc69wU3Q0Sc/s1600/sqlportbrowser.png" height="245" width="400" /></a></div>
<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/00353052465461526304noreply@blogger.com1