<?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>iKris</title>
	<atom:link href="http://kriskirkland.com/?feed=rss2&#038;p=53" rel="self" type="application/rss+xml" />
	<link>http://kriskirkland.com</link>
	<description>The life and times of a network engineer.</description>
	<lastBuildDate>Thu, 01 Mar 2012 19:27:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>WWW:Mechanize HTTPS File Download</title>
		<link>http://kriskirkland.com/?p=160</link>
		<comments>http://kriskirkland.com/?p=160#comments</comments>
		<pubDate>Fri, 21 Oct 2011 03:54:52 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Daily]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[mechanize]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://kriskirkland.com/?p=160</guid>
		<description><![CDATA[I was trying to download a governmental DB..but of course you had to login so after several hours I came up with this; NOTE: This is being done an a windows machine. I could never find good documentation on WWW:Mechanize, I had to piece different examples together to get this to work. So hopefully this [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to download a governmental DB..but of course you had to login so after several hours I came up with this; </p>
<p>NOTE: This is being done an a windows machine. </p>
<pre class="brush: perl; title: ; notranslate">
#!c:\\perl\\bin
use strict;
use WWW::Mechanize;
use HTTP::Cookies;
my $outfile = &quot;out.htm&quot;;
my $url = &quot;ENTER_YOUR_URL_TO_LOGIN&quot;;
my $username = 'ENTER_YOUR_USERNAME';
my $password = 'ENTER_YOUR_PASSWORD';
my $mech = WWW::Mechanize-&gt;new();
#Debug
#$mech-&gt;add_handler(&quot;request_send&quot;, sub { shift-&gt;dump; return });
#$mech-&gt;add_handler(&quot;response_done&quot;, sub { shift-&gt;dump; return });
#END Debug
$mech-&gt;cookie_jar(HTTP::Cookies-&gt;new());
$mech-&gt;get($url);
$mech-&gt;form_name('ENTER_NAME_OF_FORM');
$mech-&gt;set_visible( $username, $password ) ;
$mech-&gt;click('ENTER_BUTTON_NAME');
my $output_page = $mech-&gt;content();
my $download = 'ENTER_URL_OF_FILE_TO_DOWNLOAD';
$mech-&gt;get($download);
if ( ! open( FOUT, &quot;&gt;download.zip&quot; ) ) {
    die( &quot;Could not create file: $!&quot; );
}
binmode( FOUT ); # required for Windows
print( FOUT $mech-&gt;response-&gt;content() );
close( FOUT );
</pre>
<p>I could never find good documentation on WWW:Mechanize, I had to piece different examples together to get this to work. So hopefully this will save another poor soul a couple hours worth of work.  </p>
]]></content:encoded>
			<wfw:commentRss>http://kriskirkland.com/?feed=rss2&#038;p=160</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AllstarLink app_rpt on Debian</title>
		<link>http://kriskirkland.com/?p=143</link>
		<comments>http://kriskirkland.com/?p=143#comments</comments>
		<pubDate>Wed, 09 Feb 2011 17:42:10 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Daily]]></category>
		<category><![CDATA[Ham Radio]]></category>
		<category><![CDATA[27272]]></category>
		<category><![CDATA[allstarlink]]></category>
		<category><![CDATA[allstarlink.org]]></category>
		<category><![CDATA[allstarlinknode]]></category>
		<category><![CDATA[app_rpt]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[Asterisk/app_rpt]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[k5krk]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[repeater]]></category>
		<category><![CDATA[voyage]]></category>
		<category><![CDATA[voyage linux]]></category>

		<guid isPermaLink="false">http://kriskirkland.com/?p=143</guid>
		<description><![CDATA[I have written a script to download and install the needed files for app_rpt and the AllStarLink system. This is working on AllStar Node # 27272. You must first have a working sound environment which is out of the scope of this document. My goal was to be able to install on an ALIX 3d2 [...]]]></description>
			<content:encoded><![CDATA[<p>I have written a script to download and install the needed files for app_rpt and the AllStarLink system. This is working on AllStar Node # 27272.<br />
<img class="alignnone" title="W5IRP" src="http://kriskirkland.com/wp-content/uploads/2011/02/20110215-095042.jpg" alt="Repeater" width="360" height="482" /><br />
You must first have a working sound environment which is out of the scope of this document. My goal was to be able to install on an <a href="http://www.pcengines.ch/alix3d2.htm">ALIX 3d2</a> board and use the DMK URI. I started off with a CentOS CF image, but had strange audio issues that I attributed to the bloated CentOS producing to many processing cycles.  This is when I began working on building and installing app_rpt on a <a href="http://www.debian.org">Debian</a> derived OS called <a href="http://www.voyage.hk">Voyage Linux</a>. This &#8220;should&#8221; work on any Debian kernel after 2.6.28.</p>
<pre class="brush: bash; title: ; notranslate">
#Voyage Linux Specific
remouterw
vi /etc/apt/sources.list</pre>
<p>Change Repos:<br />
From: deb http://ftp.tw.debian.org/ lenny/updates main contrib<br />
To:   deb http://ftp.debian.org/ lenny/updates main contrib</p>
<p>From: deb http://www.voyage.hk/dists/experimental ./<br />
To:	deb http://us.voyage.hk/dists/experimental ./</p>
<p>From:	deb http://www.voyage.hk/dists/0.6 ./<br />
To:	deb http://us.voyage.hk/dists/0.6 ./</p>
<pre class="brush: bash; title: ; notranslate">apt-get remove syslinux atftpd nfs-kernel-server sg3-utils minicom
#End Voyage Linux Specific

apt-get update
apt-get install dialog apt-utils
apt-get upgrade
#Optional (I like to use it because we are constricted to 2G on the CF cards)
apt-get autoremove
#End Optional
</pre>
<p>You can now download and run the install script.</p>
<pre class="brush: bash; title: ; notranslate">wget http://www.kriskirkland.com/pub-files/allstar-deb.sh
sh  allstar-deb.sh</pre>
]]></content:encoded>
			<wfw:commentRss>http://kriskirkland.com/?feed=rss2&#038;p=143</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Southern Propagation</title>
		<link>http://kriskirkland.com/?p=126</link>
		<comments>http://kriskirkland.com/?p=126#comments</comments>
		<pubDate>Thu, 06 May 2010 14:48:55 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Daily]]></category>
		<category><![CDATA[Ham Radio]]></category>

		<guid isPermaLink="false">http://kriskirkland.com/?p=126</guid>
		<description><![CDATA[This week has been crazy on VHF, every morning up until about 11AM CST we have been getting some strange propagation. Here is a map from this morning showing propagation paths.]]></description>
			<content:encoded><![CDATA[<p>This week has been crazy on VHF, every morning up until about 11AM CST we have been getting some strange propagation. Here is a map from this morning showing propagation paths.</p>
<p><img class="alignnone" title="PropPath" src="http://kriskirkland.com/wp-content/uploads/2010/05/path.png" alt="" width="600" height="574" /></p>
]]></content:encoded>
			<wfw:commentRss>http://kriskirkland.com/?feed=rss2&#038;p=126</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FCC Amateur Database</title>
		<link>http://kriskirkland.com/?p=95</link>
		<comments>http://kriskirkland.com/?p=95#comments</comments>
		<pubDate>Tue, 20 Apr 2010 19:18:11 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Daily]]></category>
		<category><![CDATA[Ham Radio]]></category>
		<category><![CDATA[Amateur Radio]]></category>
		<category><![CDATA[call sign]]></category>
		<category><![CDATA[callsign]]></category>
		<category><![CDATA[databse]]></category>
		<category><![CDATA[FCC]]></category>
		<category><![CDATA[hamdb]]></category>
		<category><![CDATA[k5krk]]></category>
		<category><![CDATA[Radio]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[SQLite3]]></category>

		<guid isPermaLink="false">http://kriskirkland.com/?p=95</guid>
		<description><![CDATA[Have you ever wanted your own copy of the FCC Amateur call sign database? A couple months ago I decided to write an application to download the FCC database nightly and run table updates. I started writing the script in Perl, but ended up rewriting it in Python&#8230;because I&#8217;d never written anything in Python before. I [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted your own copy of the FCC Amateur call sign database?</p>
<p>A couple months ago I decided to write an application to download the FCC database nightly and run table updates. I started writing the script in Perl, but ended up rewriting it in Python&#8230;because I&#8217;d never written anything in Python before. I also wanted to be able to access the database without a DB server, so I decided to use SQLite3. If you make changes or use my code please let me know, I&#8217;ll sleep better at knight knowing my time was not wasted.</p>
<p><span id="more-95"></span></p>
<pre class="brush: python; title: ; notranslate">
#!/usr/bin/python
######################################
#
#
#   Copyright 2009
#   Kris Kirkland
#   K5KRK
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see .
#
#
######################################

import sqlite3
import glob
import os
import cmd
import urllib
import datetime
import zipfile
import os
import sys
import gzip
import string
import logging
import shutil

########## User Config ##############
db_name = &quot;hamdb.sqlite&quot;
db_dir = &quot;/var/www/&quot;
#Must have trailing /
working_dir = &quot;/tmp/hamdb/&quot;
table_deff = &quot;deff.txt&quot;
#####################################

############ URLS ###################
deff_url = &quot;http://wireless.fcc.gov/uls/data/documentation/pa_ddef44.txt&quot;
fcc_zip_full = &quot;http://wireless.fcc.gov/uls/data/complete/l_amat.zip&quot;
fcc_zip_sun = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_sun.zip&quot;
fcc_zip_mon = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_mon.zip&quot;
fcc_zip_tue = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_tue.zip&quot;
fcc_zip_wed = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_wed.zip&quot;
fcc_zip_thu = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_thu.zip&quot;
fcc_zip_fri = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_fri.zip&quot;
fcc_zip_sat = &quot;http://wireless.fcc.gov/uls/data/daily/l_am_sat.zip&quot;
#####################################

########### Logging ################

###################################
#del_file = &quot;rm -rf &quot; +working_dir+
db_loc = os.path.join(db_dir, db_name)
now = datetime.datetime.now()

dow = now.strftime(&quot;%a&quot;)

#dow = 'Mon'

if dow == &quot;Sun&quot;:
	get_url = fcc_zip_full
if dow == &quot;Mon&quot;:
	get_url = fcc_zip_mon
if dow == &quot;Tue&quot;:
	get_url = fcc_zip_tue
if dow == &quot;Wed&quot;:
	get_url = fcc_zip_wed
if dow == &quot;Thu&quot;:
	get_url = fcc_zip_thu
if dow == &quot;Fri&quot;:
	get_url = fcc_zip_fri
if dow == &quot;Sat&quot;:
	get_url = fcc_zip_sat

# Check to see if this is the first run
if not os.path.exists(db_loc):
	print '\nDatabase does not exists - Downloading complete version\n'
	print 'After completion rerun script in order to get the daily updates\n'
	dow = 'Sun'
	get_url = fcc_zip_full

if not os.path.exists(working_dir):
	os.makedirs(working_dir)

if not os.path.exists(db_dir):
	os.makedirs(db_dir)

print now.strftime(&quot;%b %d %H:%M:%S&quot; ), 'Starting FCC Download and Import'

if dow == &quot;Sun&quot;:
    if os.path.exists(os.path.join(working_dir, 'fcc.zip')):
        rm_fcc = &quot;rm -rf &quot; +working_dir+ &quot;fcc.zip&quot;
        os.system(rm_fcc)
    urllib.urlretrieve(deff_url, os.path.join(working_dir, table_deff))
    urllib.urlretrieve(get_url, os.path.join(working_dir, 'fcc.zip'))
    print now.strftime(&quot;%b %d %H:%M:%S&quot; ), 'Download of', get_url, 'completed.'
    unzip = &quot;/usr/bin/unzip &quot; +working_dir+ &quot;fcc.zip -d &quot; +working_dir
    del_db = &quot;rm -rf &quot; +db_loc
    os.system(del_db)
    os.system(unzip)
    data = open(working_dir+table_deff,'r').read()
    data = data.replace('go\n','')
    data = data.replace(')\n',');\n')
    con = sqlite3.connect(db_loc)
    con.execute(&quot;attach '%s' AS dbo;&quot; % (db_loc))
    con.executescript(data)
    con.commit()
    con.close()

else:
    if os.path.exists(os.path.join(working_dir, 'fcc.zip')):
        rm_fcc = &quot;rm -rf &quot; +working_dir+ &quot;fcc.zip&quot;
        os.system(rm_fcc)
    urllib.urlretrieve(get_url, os.path.join(working_dir, 'fcc.zip'))
    print now.strftime(&quot;%b %d %H:%M:%S&quot; ), 'Download of', get_url, 'completed.'
    unzip = &quot;/usr/bin/unzip &quot; +working_dir+ &quot;fcc.zip -d &quot; +working_dir
    os.system(unzip)

files = glob.glob(working_dir+&quot;*.dat&quot;)
for file in files:
    tableNameSuffix = os.path.splitext(os.path.basename(file))[0].upper()
    tableName = 'PUBACC_' + tableNameSuffix
    cmd = &quot;sqlite3 -separator '|' %s '.import %s %s'&quot; % (db_loc,file,tableName)
    print now.strftime(&quot;%b %d %H:%M:%S&quot; ), 'File', file, 'imported into Table', tableName
    os.system(cmd)

shutil.rmtree(working_dir)
sys.exit()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://kriskirkland.com/?feed=rss2&#038;p=95</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FT-7900r Scion Install</title>
		<link>http://kriskirkland.com/?p=83</link>
		<comments>http://kriskirkland.com/?p=83#comments</comments>
		<pubDate>Thu, 24 Sep 2009 05:13:11 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Daily]]></category>
		<category><![CDATA[Ham Radio]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[Amateur]]></category>
		<category><![CDATA[FT-7900]]></category>
		<category><![CDATA[FT-7900r]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[Kirkland]]></category>
		<category><![CDATA[Kris]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Radio]]></category>
		<category><![CDATA[Scion]]></category>
		<category><![CDATA[tC]]></category>
		<category><![CDATA[yaesu]]></category>

		<guid isPermaLink="false">http://kriskirkland.com/?p=83</guid>
		<description><![CDATA[I decided to update my mobile installation, which consisted of an ICOM IC-2100h. When I first received my Tech ticket, I started looking for other hams that have installed radios in the likes of a Japanese car like the one I own. I own a 2009 Scion tC, once i decided to equip this ride [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to update my mobile installation, which consisted of an ICOM IC-2100h. When I first received my Tech ticket, I started looking for other hams that have installed radios in the likes of a Japanese car like the one I own.<br />
I own a 2009 Scion tC, once i decided to equip this ride with an antenna I realized the entire top of the car is glass! This of course makes mounting a magnetic antenna impossible&#8230;. <img src='http://kriskirkland.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Step 1: Tear apart the console, I recommend removing the lower portion of the console (shifting assembly) first.<br />
<img class="alignnone" title="Tear Down" src="http://kriskirkland.com/pub-files/ft7900/IMG_0547.JPG" alt="" width="317" height="320" /></p>
<p><span id="more-83"></span></p>
<p>Step 2: Cut notch into the &#8220;cubby&#8221; hole portion of the console to allow for the head unit control cable.<br />
<img class="alignnone" title="Modification" src="http://kriskirkland.com/pub-files/ft7900/IMG_0548.JPG" alt="" width="351" height="346" /></p>
<p>Step 3: Route all cables through console to the midsection of the drivers seat. All should then be routed under the seat, make sure the cables aren&#8217;t near the seat track.<br />
<img class="alignnone" title="Cable Routing" src="http://kriskirkland.com/pub-files/ft7900/IMG_0549.JPG" alt="" width="270" height="295" /><br />
<img class="alignnone" title="More Routing" src="http://kriskirkland.com/pub-files/ft7900/IMG_0552.JPG" alt="" width="369" height="277" /></p>
<p>Step 4: Put it all back together&#8230;<br />
<img class="alignnone" title="Back Together" src="http://kriskirkland.com/pub-files/ft7900/IMG_0557.JPG" alt="" width="369" height="277" /></p>
<p>I created a &#8220;mounting bracket&#8221; using a 19 inch piece of flattened tin&#8230;&#8230;stop laughing its all I had laying around.<br />
The tin was wrapped around cardboard in order to create a light weight frame, the FT-7900r separation kit was mounted to the front of the tin frame.</p>
<p>Once its all snugged in, the mic cable is a little tight against the inside of the console.</p>
<p>Here is the final project:<br />
<img class="alignnone" title="Final" src="http://kriskirkland.com/pub-files/ft7900/IMG_0555.JPG" alt="" width="327" height="346" /><br />
Note: that location is actually my home QTH <img src='http://kriskirkland.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://kriskirkland.com/?feed=rss2&#038;p=83</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
