Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Mythtvnz

Wellington Channel Retuning 19 June 2012

 

 

MythTV mythtvnz RSS feed   Index | Next | Previous | View Threaded


tortise at paradise

Jun 15, 2012, 11:47 PM

Post #1 of 14 (799 views)
Permalink
Wellington Channel Retuning 19 June 2012

Wellington users may not be aware of
http://www.rsm.govt.nz/cms/policy-and-planning/projects/digital-terrestrial-television-frequency-restacking/timing-and-channel-information

For kaukau

50 > 32
48 > 32
59 > 36

I suppose it can also be done through SQL, but for the time it would
take to do I am presuming one can do this thru

/mythweb/settings/tv/channels

sql seems more risky and would take longer.


_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


nick.rout at gmail

Jun 16, 2012, 12:07 AM

Post #2 of 14 (762 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On Sat, Jun 16, 2012 at 6:47 PM, tortise <tortise [at] paradise> wrote:
> Wellington users may not be aware of
> http://www.rsm.govt.nz/cms/policy-and-planning/projects/digital-terrestrial-television-frequency-restacking/timing-and-channel-information
>
> For kaukau
>
> 50 > 32
> 48 > 32

no 48 goes to 34 I think.

> 59 > 36
>

Yes I see we are next! (after you I mean).

Are you suggesting just changing the freqid? I am not sure that will
work if the serviceids change too.

> I suppose it can also be done through SQL, but for the time it would take to
> do I am presuming one can do this thru
>
> /mythweb/settings/tv/channels
>
> sql seems more risky and would take longer.
>

No it would be three lines, if simply changing the freqid works (see above)

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


stephen_agent at jsw

Jun 16, 2012, 3:07 AM

Post #3 of 14 (758 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On Sat, 16 Jun 2012 19:07:28 +1200, you wrote:

>On Sat, Jun 16, 2012 at 6:47 PM, tortise <tortise [at] paradise> wrote:
>> Wellington users may not be aware of
>> http://www.rsm.govt.nz/cms/policy-and-planning/projects/digital-terrestrial-television-frequency-restacking/timing-and-channel-information
>>
>> For kaukau
>>
>> 50 > 32
>> 48 > 32
>
>no 48 goes to 34 I think.
>
>> 59 > 36
>>
>
>Yes I see we are next! (after you I mean).
>
>Are you suggesting just changing the freqid? I am not sure that will
>work if the serviceids change too.
>
>> I suppose it can also be done through SQL, but for the time it would take to
>> do I am presuming one can do this thru
>>
>> /mythweb/settings/tv/channels
>>
>> sql seems more risky and would take longer.
>>
>
>No it would be three lines, if simply changing the freqid works (see above)

The Kaukau changes are identical to what the Wharite changes in May
were, so here is the script I used then:

#!/bin/bash
# Update the channel frequencies for FreeviewHD from Kaukau for the
# 19-Jun-2012 changes.
source /etc/mythtv/mysql.txt
mysql -u $DBUserName -p$DBPassword -h $DBHostName $DBName << EOF
drop function if exists calcfreq;
delimiter $$
create function calcfreq(freqid int) returns int
begin
return (506000000+(8000000*(freqid - 25)));
end$$
delimiter ;

set @freqid1 = 50;
set @newfreqid1 = 32;
set @freqid2 = 48;
set @newfreqid2 = 34;
set @freqid3 = 59;
set @newfreqid3 = 36;

update channel set freqid = @newfreqid1 where freqid = @freqid1;
update channel set freqid = @newfreqid2 where freqid = @freqid2;
update channel set freqid = @newfreqid3 where freqid = @freqid3;
update dtv_multiplex set frequency = calcfreq(@newfreqid1) where
frequency = calcfreq(@freqid1);
update dtv_multiplex set frequency = calcfreq(@newfreqid2) where
frequency = calcfreq(@freqid2);
update dtv_multiplex set frequency = calcfreq(@newfreqid3) where
frequency = calcfreq(@freqid3);

drop function calcfreq;
EOF

exit 0


This will change the "freqid" values, and the "frequency" values. I
think the "frequency" value in the dtv_multiplex table is all that
matters, but if the "freqid" values are also there in the channel
table it would be best to have them matching. The tuning code for
DVB-T looks up the mplexid in the channel table, and uses that to
index the dtv_multiplex table for the tuning data. It uses the
"frequency" value from dtv_multiplex to tune to the multiplex, then
uses the "serviceid" from the channel table to select the channel on
that multiplex. The "freqid" value in the channel table is used to
tune analogue channels, but as far as I can tell it is ignored when
tuning digital channels.

If you are using one of the other Wellington transmitters affected by
this change (Haywards, Fitzherbert or Baxter's Knob) and want to use
this script, you will need to fill in the correct values from the URL
above in the script's "set" statement pairs.

All that is changing are the frequencies the multiplexes are broadcast
on - there are no changes to other things like "serviceid" values.

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


tortise at paradise

Jun 16, 2012, 3:13 PM

Post #4 of 14 (758 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On 16/06/2012 10:07 p.m., Stephen Worthington wrote:
> On Sat, 16 Jun 2012 19:07:28 +1200, you wrote:
>
>> On Sat, Jun 16, 2012 at 6:47 PM, tortise<tortise [at] paradise> wrote:
>>> Wellington users may not be aware of
>>> http://www.rsm.govt.nz/cms/policy-and-planning/projects/digital-terrestrial-television-frequency-restacking/timing-and-channel-information
>>>
>>> For kaukau
>>>
>>> 50> 32
>>> 48> 32
>>
>> no 48 goes to 34 I think.
>>
>>> 59> 36
>>>
>>
>> Yes I see we are next! (after you I mean).
>>
>> Are you suggesting just changing the freqid? I am not sure that will
>> work if the serviceids change too.
>>
>>> I suppose it can also be done through SQL, but for the time it would take to
>>> do I am presuming one can do this thru
>>>
>>> /mythweb/settings/tv/channels
>>>
>>> sql seems more risky and would take longer.
>>>
>>
>> No it would be three lines, if simply changing the freqid works (see above)
>
> The Kaukau changes are identical to what the Wharite changes in May
> were, so here is the script I used then:
>
> #!/bin/bash
> # Update the channel frequencies for FreeviewHD from Kaukau for the
> # 19-Jun-2012 changes.
> source /etc/mythtv/mysql.txt
> mysql -u $DBUserName -p$DBPassword -h $DBHostName $DBName<< EOF
> drop function if exists calcfreq;
> delimiter $$
> create function calcfreq(freqid int) returns int
> begin
> return (506000000+(8000000*(freqid - 25)));
> end$$
> delimiter ;
>
> set @freqid1 = 50;
> set @newfreqid1 = 32;
> set @freqid2 = 48;
> set @newfreqid2 = 34;
> set @freqid3 = 59;
> set @newfreqid3 = 36;
>
> update channel set freqid = @newfreqid1 where freqid = @freqid1;
> update channel set freqid = @newfreqid2 where freqid = @freqid2;
> update channel set freqid = @newfreqid3 where freqid = @freqid3;
> update dtv_multiplex set frequency = calcfreq(@newfreqid1) where
> frequency = calcfreq(@freqid1);
> update dtv_multiplex set frequency = calcfreq(@newfreqid2) where
> frequency = calcfreq(@freqid2);
> update dtv_multiplex set frequency = calcfreq(@newfreqid3) where
> frequency = calcfreq(@freqid3);
>
> drop function calcfreq;
> EOF
>
> exit 0
>
>
> This will change the "freqid" values, and the "frequency" values. I
> think the "frequency" value in the dtv_multiplex table is all that
> matters, but if the "freqid" values are also there in the channel
> table it would be best to have them matching. The tuning code for
> DVB-T looks up the mplexid in the channel table, and uses that to
> index the dtv_multiplex table for the tuning data. It uses the
> "frequency" value from dtv_multiplex to tune to the multiplex, then
> uses the "serviceid" from the channel table to select the channel on
> that multiplex. The "freqid" value in the channel table is used to
> tune analogue channels, but as far as I can tell it is ignored when
> tuning digital channels.
>
> If you are using one of the other Wellington transmitters affected by
> this change (Haywards, Fitzherbert or Baxter's Knob) and want to use
> this script, you will need to fill in the correct values from the URL
> above in the script's "set" statement pairs.
>
> All that is changing are the frequencies the multiplexes are broadcast
> on - there are no changes to other things like "serviceid" values.

Thanks Stephen, that's really cool and I am sure will be used by more
than me!

I note the dev's were talking about removing mysql.txt, I think in favor
of xml. I suppose mysql.xml could be used instead but I couldn't code
using that in any great hurry. Perhaps its still easy to use?

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


olivuts at yahoo

Jun 16, 2012, 6:57 PM

Post #5 of 14 (751 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

>________________________________
> From: tortise <tortise [at] paradise>
>To: stephen [at] jsw; MythTV in NZ <mythtvnz [at] lists>
>Sent: Sunday, 17 June 2012 10:13 AM
>Subject: Re: [mythtvnz] Wellington Channel Retuning 19 June 2012
>
>On 16/06/2012 10:07 p.m., Stephen Worthington wrote:
>> On Sat, 16 Jun 2012 19:07:28 +1200, you wrote:
>>
>>> On Sat, Jun 16, 2012 at 6:47 PM, tortise<tortise [at] paradise>  wrote:
>>>> Wellington users may not be aware of
>>>> http://www.rsm.govt.nz/cms/policy-and-planning/projects/digital-terrestrial-television-frequency-restacking/timing-and-channel-information
>>>>
>>>> For kaukau
>>>>
>>>> 50>  32
>>>> 48>  32
>>>
>>> no 48 goes to 34 I think.
>>>
>>>> 59>  36
>>>>
>>>
>>> Yes I see we are next! (after you I mean).
>>>
>>> Are you suggesting just changing the freqid? I am not sure that will
>>> work if the serviceids change too.
>>>
>>>> I suppose it can also be done through SQL, but for the time it would take to
>>>> do I am presuming one can do this thru
>>>>
>>>> /mythweb/settings/tv/channels
>>>>
>>>> sql seems more risky and would take longer.
>>>>
>>>
>>> No it would be three lines, if simply changing the freqid works (see above)
>>
>> The Kaukau changes are identical to what the Wharite changes in May
>> were, so here is the script I used then:
>>
>> #!/bin/bash
>> # Update the channel frequencies for FreeviewHD from Kaukau for the
>> # 19-Jun-2012 changes.
>> source /etc/mythtv/mysql.txt
>> mysql -u $DBUserName -p$DBPassword -h $DBHostName $DBName<<  EOF
>> drop function if exists calcfreq;
>> delimiter $$
>> create function calcfreq(freqid int) returns int
>> begin
>>      return (506000000+(8000000*(freqid - 25)));
>> end$$
>> delimiter ;
>>
>> set @freqid1 =    50;
>> set @newfreqid1 = 32;
>> set @freqid2 =    48;
>> set @newfreqid2 = 34;
>> set @freqid3 =    59;
>> set @newfreqid3 = 36;
>>
>> update channel set freqid = @newfreqid1 where freqid = @freqid1;
>> update channel set freqid = @newfreqid2 where freqid = @freqid2;
>> update channel set freqid = @newfreqid3 where freqid = @freqid3;
>> update dtv_multiplex set frequency = calcfreq(@newfreqid1) where
>> frequency = calcfreq(@freqid1);
>> update dtv_multiplex set frequency = calcfreq(@newfreqid2) where
>> frequency = calcfreq(@freqid2);
>> update dtv_multiplex set frequency = calcfreq(@newfreqid3) where
>> frequency = calcfreq(@freqid3);
>>
>> drop function calcfreq;
>> EOF
>>
>> exit 0
>>
>>
>> This will change the "freqid" values, and the "frequency" values.  I
>> think the "frequency" value in the dtv_multiplex table is all that
>> matters, but if the "freqid" values are also there in the channel
>> table it would be best to have them matching.  The tuning code for
>> DVB-T looks up the mplexid in the channel table, and uses that to
>> index the dtv_multiplex table for the tuning data.  It uses the
>> "frequency" value from dtv_multiplex to tune to the multiplex, then
>> uses the "serviceid" from the channel table to select the channel on
>> that multiplex.  The "freqid" value in the channel table is used to
>> tune analogue channels, but as far as I can tell it is ignored when
>> tuning digital channels.
>>
>> If you are using one of the other Wellington transmitters affected by
>> this change (Haywards, Fitzherbert or Baxter's Knob) and want to use
>> this script, you will need to fill in the correct values from the URL
>> above in the script's "set" statement pairs.
>>
>> All that is changing are the frequencies the multiplexes are broadcast
>> on - there are no changes to other things like "serviceid" values.
>
>Thanks Stephen, that's really cool and I am sure will be used by more
>than me!
>
>I note the dev's were talking about removing mysql.txt, I think in favor
>of xml. I suppose mysql.xml could be used instead but I couldn't code
>using that in any great hurry. Perhaps its still easy to use?
>
>_______________________________________________
>mythtvnz mailing list
>mythtvnz [at] lists
>http://lists.ourshack.com/mailman/listinfo/mythtvnz
>Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/
>
>>> Thanks from me too. I was wondering how I was going to make the channel change.
>
>


stephen_agent at jsw

Jun 16, 2012, 7:03 PM

Post #6 of 14 (747 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On Sun, 17 Jun 2012 10:13:51 +1200, you wrote:

>I note the dev's were talking about removing mysql.txt, I think in favor
>of xml. I suppose mysql.xml could be used instead but I couldn't code
>using that in any great hurry. Perhaps its still easy to use?

That would be painful - I use mysql.txt in several scripts. I am sure
it is possible to create a mysql.txt from a mysql.xml, but it would
probably need Python. It might be easiest to create a Python script
that could be called from Bash scripts to do that, then use the newly
created mysql.txt from the Bash script.

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


dmoo1790 at ihug

Jun 16, 2012, 8:00 PM

Post #7 of 14 (749 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On 17/06/2012, at 2:03 PM, Stephen Worthington <stephen_agent [at] jsw> wrote:

> On Sun, 17 Jun 2012 10:13:51 +1200, you wrote:
>
>> I note the dev's were talking about removing mysql.txt, I think in favor
>> of xml. I suppose mysql.xml could be used instead but I couldn't code
>> using that in any great hurry. Perhaps its still easy to use?
>
> That would be painful - I use mysql.txt in several scripts. I am sure
> it is possible to create a mysql.txt from a mysql.xml, but it would
> probably need Python. It might be easiest to create a Python script
> that could be called from Bash scripts to do that, then use the newly
> created mysql.txt from the Bash script.
>
If you're going to do some Python for xml parsing then I'm sure it would be dead easy to do the sql in python too. Haven't done it myself but python seems to do just about anything you want.
_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


nick.rout at gmail

Jun 16, 2012, 10:27 PM

Post #8 of 14 (741 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On Sun, Jun 17, 2012 at 3:00 PM, David Moore <dmoo1790 [at] ihug> wrote:
> On 17/06/2012, at 2:03 PM, Stephen Worthington <stephen_agent [at] jsw> wrote:
>
>> On Sun, 17 Jun 2012 10:13:51 +1200, you wrote:
>>
>>> I note the dev's were talking about removing mysql.txt, I think in favor
>>> of xml. I suppose mysql.xml could be used instead but I couldn't code
>>> using that in any great hurry. Perhaps its still easy to use?
>>
>> That would be painful - I use mysql.txt in several scripts.  I am sure
>> it is possible to create a mysql.txt from a mysql.xml, but it would
>> probably need Python.  It might be easiest to create a Python script
>> that could be called from Bash scripts to do that, then use the newly
>> created mysql.txt from the Bash script.
>>
> If you're going to do some Python for xml parsing then I'm sure it would be dead easy to do the sql in python too. Haven't done it myself but python seems to do just about anything you want.

If you are using python then you use the mythtv bindings and you don't
need to parse anything to get access to the mythconverg database.

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


dmoo1790 at ihug

Jun 17, 2012, 1:00 AM

Post #9 of 14 (739 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On 17/06/2012, at 5:27 PM, Nick Rout <nick.rout [at] gmail> wrote:

> On Sun, Jun 17, 2012 at 3:00 PM, David Moore <dmoo1790 [at] ihug> wrote:
>> On 17/06/2012, at 2:03 PM, Stephen Worthington <stephen_agent [at] jsw> wrote:
>>
>>> On Sun, 17 Jun 2012 10:13:51 +1200, you wrote:
>>>
>>>> I note the dev's were talking about removing mysql.txt, I think in favor
>>>> of xml. I suppose mysql.xml could be used instead but I couldn't code
>>>> using that in any great hurry. Perhaps its still easy to use?
>>>
>>> That would be painful - I use mysql.txt in several scripts. I am sure
>>> it is possible to create a mysql.txt from a mysql.xml, but it would
>>> probably need Python. It might be easiest to create a Python script
>>> that could be called from Bash scripts to do that, then use the newly
>>> created mysql.txt from the Bash script.
>>>
>> If you're going to do some Python for xml parsing then I'm sure it would be dead easy to do the sql in python too. Haven't done it myself but python seems to do just about anything you want.
>
> If you are using python then you use the mythtv bindings and you don't
> need to parse anything to get access to the mythconverg database.
>
Yeah you do. You need to parse the python bindings docs. :) I hesitated even before suggesting using python for sql since Stephen's script already works. Seems like even more work to figure out how the bindings work.

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


nick.rout at gmail

Jun 17, 2012, 1:01 PM

Post #10 of 14 (736 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On Sun, Jun 17, 2012 at 8:00 PM, David Moore <dmoo1790 [at] ihug> wrote:
> On 17/06/2012, at 5:27 PM, Nick Rout <nick.rout [at] gmail> wrote:
>
>> On Sun, Jun 17, 2012 at 3:00 PM, David Moore <dmoo1790 [at] ihug> wrote:
>>> On 17/06/2012, at 2:03 PM, Stephen Worthington <stephen_agent [at] jsw> wrote:
>>>
>>>> On Sun, 17 Jun 2012 10:13:51 +1200, you wrote:
>>>>
>>>>> I note the dev's were talking about removing mysql.txt, I think in favor
>>>>> of xml. I suppose mysql.xml could be used instead but I couldn't code
>>>>> using that in any great hurry. Perhaps its still easy to use?
>>>>
>>>> That would be painful - I use mysql.txt in several scripts.  I am sure
>>>> it is possible to create a mysql.txt from a mysql.xml, but it would
>>>> probably need Python.  It might be easiest to create a Python script
>>>> that could be called from Bash scripts to do that, then use the newly
>>>> created mysql.txt from the Bash script.
>>>>
>>> If you're going to do some Python for xml parsing then I'm sure it would be dead easy to do the sql in python too. Haven't done it myself but python seems to do just about anything you want.
>>
>> If you are using python then you use the mythtv bindings and you don't
>> need to parse anything to get access to the mythconverg database.
>>
> Yeah you do. You need to parse the python bindings docs. :) I hesitated even before suggesting using python for sql since Stephen's script already works. Seems like even more work to figure out how the bindings work.

Ha ha very funny.

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


killerkiwi2005 at gmail

Jun 17, 2012, 2:17 PM

Post #11 of 14 (740 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

I'm pretty sure it's this easy for random sql

from MythTV import MythDB
mythdb=MythDB()
conn=mythdb.cursor()
conn.execute( "UPDATE table SET col1 = 0 WHERE col2 = 1;" ):

--
"Weekends don't count unless you spend them doing something completely
pointless. " - Calven


dmoo1790 at ihug

Jun 17, 2012, 6:40 PM

Post #12 of 14 (732 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On 18/06/2012, at 9:17 AM, Jason Taylor <killerkiwi2005 [at] gmail> wrote:

> I'm pretty sure it's this easy for random sql
>
> from MythTV import MythDB
> mythdb=MythDB()
> conn=mythdb.cursor()
> conn.execute( "UPDATE table SET col1 = 0 WHERE col2 = 1;" ):
>
Yes that works IF you have your config.xml in the right place. My system has worked for years with a config/user problem which I've never sorted (until now). Didn't cause any issues until I tried to connect to the db in python. So now I think I have the config right and I can connect to the db with python as shown above.


david at fishstat

Jun 19, 2012, 12:44 AM

Post #13 of 14 (715 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

On 16 June 2012 22:07, Stephen Worthington <stephen_agent [at] jsw> wrote:
... a very useful bash script


Thanks all for the heads up on this change, and to Stephen, whose
script I used to easily make the required changes. I only heard about
the change via the list, and otherwise could have spent ages working
out what had gone wrong!

David

_______________________________________________
mythtvnz mailing list
mythtvnz [at] lists
http://lists.ourshack.com/mailman/listinfo/mythtvnz
Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/


kenneth.b.dixon at gmail

Jun 19, 2012, 10:51 AM

Post #14 of 14 (700 views)
Permalink
Re: Wellington Channel Retuning 19 June 2012 [In reply to]

Second. Thanks all.
On Jun 19, 2012 7:45 PM, "David Middleton" <david [at] fishstat> wrote:

> On 16 June 2012 22:07, Stephen Worthington <stephen_agent [at] jsw>
> wrote:
> ... a very useful bash script
>
>
> Thanks all for the heads up on this change, and to Stephen, whose
> script I used to easily make the required changes. I only heard about
> the change via the list, and otherwise could have spent ages working
> out what had gone wrong!
>
> David
>
> _______________________________________________
> mythtvnz mailing list
> mythtvnz [at] lists
> http://lists.ourshack.com/mailman/listinfo/mythtvnz
> Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/
>

MythTV mythtvnz RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.