We had a gas insert put in our fireplace last year. We didn't really do it in anticipation of the new BAAQMD fireplace regulations, but because of Scarlet's lung problems. Burning wood was just too smokey in the house for her. We're fairly satisfied with the new insert, but it came with a remote control made by Acumen that really sucked.
First, some background.
A gas insert is not unlike a gas furnace. There is a standing pilot which heats a small thermocouple. The thermocouple serves two purposes: the voltage it produces holds open the valve supplying the pilot flame (so that if the pilot goes out, the gas supply for it will be cut off), and it also is the power supply for the burner valve. Close a switch and the valve opens and gets lit by the pilot. In old fashioned furnaces, this switching was done by a simple thermostat based on a bimetallic strip.
The thermocouple is only capable of producing a few hundred millivolts, though, so if you want to do something more sophisticated, the control mechanism (whatever it is) will need to be self-powered. This is unlike most central HVAC systems today that use a 24 VAC circuit to power thermostats. There are so-called battery eliminator circuits or remote controls that can be powered off the thermocouple. More on that later.
In our case, our gas insert actually also has an electrically powered, thermostatically controlled fan. Whenever the flame is on and heats the box up to a certain temperature, the fan kicks in. The fan is powered off an outlet we had installed actually inside the fireplace itself. Given this state of affairs, it's only natural that our remote control system would have had a receiver that simply plugged in to the AC outlet.
Guess what.
They supplied us with a receiver system powered by 4 AA batteries, plus 3 AAA for the remote. Not only is that a lot of batteries to have to deal with, but it seemed like it wouldn't go more than a month or two before petering out. I did some research on the Internet and discovered the battery eliminator solution, but though Skytech did make a 6 volt battery eliminator, it didn't work on our Acumen receiver. I'm not sure if it's because our receiver was bad or whether they're all like that. But in any event, it was dismissed.
In its place, I installed a Skytech 5310. Yes, it's got a Jetsons remote, but that's not why I chose it. It was just about the only model I could find out there that had a plug-in receiver. No more batteries ever.
Anyway, ripping out the old receiver and installing the new one was a snap. Just a pair of push-on spade terminals. There was only a single outlet in the fireplace, so I added a "Y" cable so the existing fan and the remote could plug in. That's all there was to it.
Friday, March 13, 2009
Losing weight
Last January, I had a Vertical Gastrectomy. Since then, I've lost 180 pounds.

I'm almost half the man I was.
I still want to lose another 30 pounds or so, but that's going to go more slowly, I think.

I'm almost half the man I was.
I still want to lose another 30 pounds or so, but that's going to go more slowly, I think.
Labels:
misc
Thursday, February 26, 2009
Safety at the Santa Clara CalTrain station
Since I got hit by CalTrain, it appears that just possibly CalTrain has stopped routinely running trains on the wrong track past the Santa Clara station. I haven't seen a Southbound train pass on the far track in quite some time now. It used to be that the trains had a 50:50 chance of being on opposite tracks at the 8:00 AM hour. That's a good thing. It will improve safety at Santa Clara, but not as much as it needs.
Things should still be improved. I believe Santa Clara may still be one of the least safe stations left on the CalTrain line. Most stations either have two outside platforms with grade separated ingress/egress (that is, a tunnel or a pedestrian overcrossing), a single shared platform between the tracks with grade-separated ingress/egress, or two outside platforms with crossing gates protecting the tracks.
In the latter case, the crossing gates serve an extra purpose which they perhaps were not designed to do, but do anyway: they warn people in the station about an approaching train.
This morning, I got to Santa Clara a little bit later than usual, and presumed that I missed the Southbound express that normally roars through at about 8:20. That train was a little bit late. I was standing on the platform (a safe distance from the tracks, of course), when I heard a train whistle from the North and turned around to see the Southbound express only a couple seconds away from the station flying at 79 mi/hr. Part of the reason this is such a surprise is that just North of the station, the tracks curve to the left a bit, which means that people in the station can't watch for trains approaching, like they can from the South. And, of course, the Southbound trains approach the tracks closest to the platform.
This, in my view, is a dangerous setup.
Now, this isn't really an issue in and of itself. You could argue that people should presume that a train can fly past at any moment, and should give the tracks the respect they deserve. But just saying that isn't going to make people do the right thing.
The damning thing is that this would be really, really easy to fix. All that needs to happen is pouring a concrete slab to act as a Northbound platform on the far side of that track, putting a fence down the middle between the two tracks, and add a pair of crossing gates at either end. I'd expect to pay, what? $10,000 to have that work done? Even if you triple that (because the government is involved), that's $30K. The crossing gates will keep people off the tracks when trains are approaching, but more importantly, they'll warn people on the platform that a train is approaching, particularly from the North since otherwise there is no warning at all. Governments piss away bigger sums of money daily on dumber stuff than that.
Sometime in the next 20 years, BART is going to put a station in and the whole place will get gentrified. But the BART station is hardly going to invalidate the idea of fixing the safety issues now. It's not as if they're going to move the CalTrain station anywhere else.
UPDATE: Thanks to Dan in the comments, and google, I've discovered this announcement of CalTrain's plans for improving the Santa Clara station. Interestingly, the plans include a tunnel rather than gated crossings, and (combining Dan's comment) it would appear that the new outside platform is actually going to serve both the current Northbound CalTrain track, but also the next track East of that, which will make it easier (I won't say possible since there are switches that would route trains from the Northbound CalTrain track to the next track to the East, which branches off in the Fremont-bound direction) to allow Capital Corridor and ACE trains to once again stop at Santa Clara.
Things should still be improved. I believe Santa Clara may still be one of the least safe stations left on the CalTrain line. Most stations either have two outside platforms with grade separated ingress/egress (that is, a tunnel or a pedestrian overcrossing), a single shared platform between the tracks with grade-separated ingress/egress, or two outside platforms with crossing gates protecting the tracks.
In the latter case, the crossing gates serve an extra purpose which they perhaps were not designed to do, but do anyway: they warn people in the station about an approaching train.
This morning, I got to Santa Clara a little bit later than usual, and presumed that I missed the Southbound express that normally roars through at about 8:20. That train was a little bit late. I was standing on the platform (a safe distance from the tracks, of course), when I heard a train whistle from the North and turned around to see the Southbound express only a couple seconds away from the station flying at 79 mi/hr. Part of the reason this is such a surprise is that just North of the station, the tracks curve to the left a bit, which means that people in the station can't watch for trains approaching, like they can from the South. And, of course, the Southbound trains approach the tracks closest to the platform.
This, in my view, is a dangerous setup.
Now, this isn't really an issue in and of itself. You could argue that people should presume that a train can fly past at any moment, and should give the tracks the respect they deserve. But just saying that isn't going to make people do the right thing.
The damning thing is that this would be really, really easy to fix. All that needs to happen is pouring a concrete slab to act as a Northbound platform on the far side of that track, putting a fence down the middle between the two tracks, and add a pair of crossing gates at either end. I'd expect to pay, what? $10,000 to have that work done? Even if you triple that (because the government is involved), that's $30K. The crossing gates will keep people off the tracks when trains are approaching, but more importantly, they'll warn people on the platform that a train is approaching, particularly from the North since otherwise there is no warning at all. Governments piss away bigger sums of money daily on dumber stuff than that.
Sometime in the next 20 years, BART is going to put a station in and the whole place will get gentrified. But the BART station is hardly going to invalidate the idea of fixing the safety issues now. It's not as if they're going to move the CalTrain station anywhere else.
UPDATE: Thanks to Dan in the comments, and google, I've discovered this announcement of CalTrain's plans for improving the Santa Clara station. Interestingly, the plans include a tunnel rather than gated crossings, and (combining Dan's comment) it would appear that the new outside platform is actually going to serve both the current Northbound CalTrain track, but also the next track East of that, which will make it easier (I won't say possible since there are switches that would route trains from the Northbound CalTrain track to the next track to the East, which branches off in the Fremont-bound direction) to allow Capital Corridor and ACE trains to once again stop at Santa Clara.
Labels:
politics
Wednesday, February 25, 2009
Safari 4 beta breaks Back-To-My-Mac
The Safari 4 beta is very, very nice, except for one thing: if you install it on a machine that you intend to use remotely via Back-to-my-mac, it won't work. While the beta is installed, the BTTM service tab in the preferences will have a yellow dot and caution triangle that simply says that there is a problem with your connection to MobileMe.
UPDATE: It looks like they fixed this sometime yesterday without a software update. It's possible that this was unrelated to the Safari 4 beta, but I did test it simultaneously with two machines - one with, one without - before announcing it.
UPDATE: It looks like they fixed this sometime yesterday without a software update. It's possible that this was unrelated to the Safari 4 beta, but I did test it simultaneously with two machines - one with, one without - before announcing it.
Labels:
mac
Monday, February 23, 2009
Robin Hood didn't play poker
Today's lesson: don't be a Robin Hood - steal from the poor.
So, you're playing a Full Tilt Super-Turbo. Just to remind everyone, those are just 9-handed Turbo structure SnG tournaments, but with a 300 chip starting stack. That's right, 2700 chips on the table total. And the blinds start at 15/30 and go up every 3 minutes.
So anyway, you've been treading water for a couple orbits, and have 280 chips and the button in front of you. The blinds are 25/50. You look down at KTo, and it's folded around to you. What do you do?
Well, if I'm in your shoes, I don't know what to do yet, because I've left out from the setup the size of the stacks that are in the blinds.
You're certainly not going to limp. The problem with that is that limping is going to cost you almost 20% of your stack, and if you then get raised by one of the blinds, you'll have a quandary. No, this situation is all-in or fold.
Two factors matter:
1. How committed are your opponents? If one or both of them have more than a quarter of their stack out there, they're probably calling with all but the very worst hands. If they have half or more committed in the blind, they're calling with 27o. Yes, you're ahead of 27o, but, as they say, they have 2 live cards.
2. How much damage can they do to you if the call and win? If one or more of the blinds has you out-chipped, then they can end you immediately. If one or both of them has more than 50% of your stack, then not only are they capable of landing a crippling blow on your stack, with 150 or so chips, they are more likely to feel committed to the pot (particularly the BB, who has a third of his stack in).
There is a third factor - how committed are you to this pot? There are never any antes in Super Turbos, so the answer is quite simply that you're not at all committed to any pot unless you're one of the blinds. But at the same time, if you're short stacked, you're looking for a good situation to try and double up to keep going. If, with the above setup, you had, say, only 150 chips, you'd probably think that KTo with only two opponents left was probably a good enough place to take a stand. Waiting for a better hand will only put you further out of position, reducing your hand range and your likelihood of having an acceptable hand come your way before you're in the big blind (and will likely be committed).
Another thing to note is that button raises are going to be viewed by the blinds with some suspicion. The good news is that you've got a better than average hand, meaning that if they put you on a pure garbage steal, they'll have a nasty surprise. You're certain to get called by any ace in this spot, and by any pair. The good news is that those situations are likely to be fairly close to coin-flips for you (A4o vs KTo is 56/42, 44 vs KTo is 51/47). The bad news is that statistically, you're going to lose half of those.
And that's where the lesson comes in. Short stacks will call with crappier hands, which improves your odds, and even when the odds don't fall your way, they can't hurt you as much. So take their lunch money and give them a wedige every chance you get.
So, you're playing a Full Tilt Super-Turbo. Just to remind everyone, those are just 9-handed Turbo structure SnG tournaments, but with a 300 chip starting stack. That's right, 2700 chips on the table total. And the blinds start at 15/30 and go up every 3 minutes.
So anyway, you've been treading water for a couple orbits, and have 280 chips and the button in front of you. The blinds are 25/50. You look down at KTo, and it's folded around to you. What do you do?
Well, if I'm in your shoes, I don't know what to do yet, because I've left out from the setup the size of the stacks that are in the blinds.
You're certainly not going to limp. The problem with that is that limping is going to cost you almost 20% of your stack, and if you then get raised by one of the blinds, you'll have a quandary. No, this situation is all-in or fold.
Two factors matter:
1. How committed are your opponents? If one or both of them have more than a quarter of their stack out there, they're probably calling with all but the very worst hands. If they have half or more committed in the blind, they're calling with 27o. Yes, you're ahead of 27o, but, as they say, they have 2 live cards.
2. How much damage can they do to you if the call and win? If one or more of the blinds has you out-chipped, then they can end you immediately. If one or both of them has more than 50% of your stack, then not only are they capable of landing a crippling blow on your stack, with 150 or so chips, they are more likely to feel committed to the pot (particularly the BB, who has a third of his stack in).
There is a third factor - how committed are you to this pot? There are never any antes in Super Turbos, so the answer is quite simply that you're not at all committed to any pot unless you're one of the blinds. But at the same time, if you're short stacked, you're looking for a good situation to try and double up to keep going. If, with the above setup, you had, say, only 150 chips, you'd probably think that KTo with only two opponents left was probably a good enough place to take a stand. Waiting for a better hand will only put you further out of position, reducing your hand range and your likelihood of having an acceptable hand come your way before you're in the big blind (and will likely be committed).
Another thing to note is that button raises are going to be viewed by the blinds with some suspicion. The good news is that you've got a better than average hand, meaning that if they put you on a pure garbage steal, they'll have a nasty surprise. You're certain to get called by any ace in this spot, and by any pair. The good news is that those situations are likely to be fairly close to coin-flips for you (A4o vs KTo is 56/42, 44 vs KTo is 51/47). The bad news is that statistically, you're going to lose half of those.
And that's where the lesson comes in. Short stacks will call with crappier hands, which improves your odds, and even when the odds don't fall your way, they can't hurt you as much. So take their lunch money and give them a wedige every chance you get.
Labels:
poker
Sunday, February 22, 2009
The White Stripes tank on Conan's last show
I just watched the last episode of Late Night with Conan O'Brien. I'm really looking forward to Conan taking over the Tonight Show, but that won't happen for a few weeks. So Friday night's show is the last we'll see of Conan for a while. It also puts the cap on 16 years and more than 2000 shows (Conan jokes that 41 of them were actually good).
Musical guests on the show were The White Stripes, which really means Jack White (he was born Jack Gillis and, unusually, took Meg's last name when they wed) and his former wife Meg.
Now, Jack is a fairly talented writer and musician. His most recent claim to fame is as part of the duet that performed the most recent James Bond movie theme.
So why the hell did they phone it in the other night? They've had some really great hits over the years, and that's the song they chose to play? Does anyone even know what piece of shit song was? Even if you were more familiar with their catalog than I am, I'm not sure you'd recognize it anyway given how off-key the singing and off-tempo the playing was.
Musical guests on the show were The White Stripes, which really means Jack White (he was born Jack Gillis and, unusually, took Meg's last name when they wed) and his former wife Meg.
Now, Jack is a fairly talented writer and musician. His most recent claim to fame is as part of the duet that performed the most recent James Bond movie theme.
So why the hell did they phone it in the other night? They've had some really great hits over the years, and that's the song they chose to play? Does anyone even know what piece of shit song was? Even if you were more familiar with their catalog than I am, I'm not sure you'd recognize it anyway given how off-key the singing and off-tempo the playing was.
Wednesday, February 18, 2009
And thus, it begins
Probably only those of us who are RF hobbyists noticed, but KCNS-TV channel 38 is now off the air, and KOFY-TV and KICU-TV are, for now, running "nightlight" service (no programming, just messages about the analog shut-down). Unfortunately, according to reports I've heard, the KICU translator in Monterey is retransmitting the nightlight message rather than KICU's digital programming. Oops. Hopefully, whoever runs the translator will buy a CECB for the thing. :)
So those three stations join KCSM (sort of. KCSM still does have an analog station on channel 60, it's just that its coverage area is the size of a postage stamp) in the all-digital age.
None of this helps me any. TV still has some suckage:
1. Even if all the analog stations were to shut down immediately, the rules are that they have to stay on their pre-transition channels, meaning that KRON and KTVU are stuck at 56 & 57 until June.
2. Because of the rule above and because KDTV-TV is still on the air, KTNC-DT is still off the air. They shut down channel 62 operations early to start the work to convert their transmitter to channel 14, and then the transition got put off.
3. KSBW-DT can't transition to channel 8. Not that that matters all that much, except that since they're on channel 10, they're getting shit on by KXTV. As is KCBA-DT by KOVR-TV.
Thanks, Obama.
Schmuck.
So those three stations join KCSM (sort of. KCSM still does have an analog station on channel 60, it's just that its coverage area is the size of a postage stamp) in the all-digital age.
None of this helps me any. TV still has some suckage:
1. Even if all the analog stations were to shut down immediately, the rules are that they have to stay on their pre-transition channels, meaning that KRON and KTVU are stuck at 56 & 57 until June.
2. Because of the rule above and because KDTV-TV is still on the air, KTNC-DT is still off the air. They shut down channel 62 operations early to start the work to convert their transmitter to channel 14, and then the transition got put off.
3. KSBW-DT can't transition to channel 8. Not that that matters all that much, except that since they're on channel 10, they're getting shit on by KXTV. As is KCBA-DT by KOVR-TV.
Thanks, Obama.
Schmuck.
Labels:
tv
Monday, February 16, 2009
iLife '09: Garage band artist music lessons are awesome
Scarlet expressed an interest last year in learning to read sheet music again. To that end, we asked for an M-Audio KeyRig 49 for Christmas.
Since I was a teenager, I've had a sort of background interest in music. I used to sing in choirs, and have been in operas and operettas on and off. I can read music well enough to plunk out vocal parts on the piano and can hack out chords and the like, so I thought I'd be able to teach Scarlet a little bit about how to play the piano as a way to help her read music better.
I still have my old synthesizer keyboard from 1984. It doesn't have velocity support, but it can act as a MIDI source, and I have a MIDI to USB adapter that has been demonstrated to work correctly with GarageBand in the past, but the newer USB music keyboards are lighter and more portable, so they make a lot more sense for our office space. Besides, GarageBand running on a mac is far and away a better synthesizer than that old Seiko keyboard could have ever hoped to be.
So that was the plan, and that's fine. But when the MacWorld keynote in January demonstrated the Learn To Play features of iLife '09, I was intrigued. Well, we finally got our hands on a copy of iLife '09, and I was so impressed with the free lessons (they really got Scarlet started on the right foot), that I bought an artist lesson for myself: Sara Bareilles' Love Song.
It's not really my genre of choice - I'm more of an alternative rock fan than a pop fan - but in the limited selection available, it was the lowest difficulty piano choice available.
Sara is an excellent teacher, and the song is certainly both playable, interesting, and reasonably approachable. I don't play it exactly the way the sheet music says I should. I play the chords and I simplify the rhythm a little bit to suit me (I'm not sure she would really approve, but I don't have enough left-hand / right-hand disconnect to do it her way).
There are a few improvements I would make, and they're minor:
1. While you can choose to replace the sheet music with the chords, it would be really nice to display the chord names above the staff the way you often see in real print music. I'd be able to see the chords more easily, while still pulling rhythmical cues and the vocal lead off the page. As it is now, the only prayer I have of keeping up with the full speed track is just with the chord track and winging it.
2. They really, really need to not let the time pointer get so far to the right before they scroll the music. I need to read ahead a little bit, and I pretty often get to the end of the screen and wind up getting surprised by what comes next when the next measure finally scrolls in.
3. The selection in the artist store is obviously too limited to be realistic. Not only is it obvious that this will change as more artists get on board, I'd be stunned if artists don't start tripping over themselves to get into the store.
But apart from those minor complaints, I have to say, the whole concept is really a blast. It's the best $5 I've spent on computer software of any kind in at least a year.
Since I was a teenager, I've had a sort of background interest in music. I used to sing in choirs, and have been in operas and operettas on and off. I can read music well enough to plunk out vocal parts on the piano and can hack out chords and the like, so I thought I'd be able to teach Scarlet a little bit about how to play the piano as a way to help her read music better.
I still have my old synthesizer keyboard from 1984. It doesn't have velocity support, but it can act as a MIDI source, and I have a MIDI to USB adapter that has been demonstrated to work correctly with GarageBand in the past, but the newer USB music keyboards are lighter and more portable, so they make a lot more sense for our office space. Besides, GarageBand running on a mac is far and away a better synthesizer than that old Seiko keyboard could have ever hoped to be.
So that was the plan, and that's fine. But when the MacWorld keynote in January demonstrated the Learn To Play features of iLife '09, I was intrigued. Well, we finally got our hands on a copy of iLife '09, and I was so impressed with the free lessons (they really got Scarlet started on the right foot), that I bought an artist lesson for myself: Sara Bareilles' Love Song.
It's not really my genre of choice - I'm more of an alternative rock fan than a pop fan - but in the limited selection available, it was the lowest difficulty piano choice available.
Sara is an excellent teacher, and the song is certainly both playable, interesting, and reasonably approachable. I don't play it exactly the way the sheet music says I should. I play the chords and I simplify the rhythm a little bit to suit me (I'm not sure she would really approve, but I don't have enough left-hand / right-hand disconnect to do it her way).
There are a few improvements I would make, and they're minor:
1. While you can choose to replace the sheet music with the chords, it would be really nice to display the chord names above the staff the way you often see in real print music. I'd be able to see the chords more easily, while still pulling rhythmical cues and the vocal lead off the page. As it is now, the only prayer I have of keeping up with the full speed track is just with the chord track and winging it.
2. They really, really need to not let the time pointer get so far to the right before they scroll the music. I need to read ahead a little bit, and I pretty often get to the end of the screen and wind up getting surprised by what comes next when the next measure finally scrolls in.
3. The selection in the artist store is obviously too limited to be realistic. Not only is it obvious that this will change as more artists get on board, I'd be stunned if artists don't start tripping over themselves to get into the store.
But apart from those minor complaints, I have to say, the whole concept is really a blast. It's the best $5 I've spent on computer software of any kind in at least a year.
Friday, February 13, 2009
Fantastic pork/chicken recipe
ATK gets credit for this. They had an episode on this week with a recipe for crunchy baked pork chops. I adapted the recipe for skinless, boneless chicken breasts (which are, more or less, equivalent to boneless pork chops). You take 4 pieces of bread (I used sourdough) and run them through a food processor to make crumbs. Toss them with a couple tablespoons of oil and spread them on a cookie sheet and toast them for 15 minutes or so at 375.
Meanwhile, take two egg whites and add a teaspoon of mustard, or so, and a couple tablespoons of flour. Whisk all that together. Set out another few tablespoons of flour in a dish.
When the crumbs are done toasting, add a couple tablespoons of some sort of spice rub (we used curry-cumin, but lemon pepper or poultry seasoning would also work) and a couple tablespoons of grated parmigiana (let the crumbs cool a bit before doing this so the cheese doesn't melt) and a couple tablespoons of parsley. Mix it all up and put it in a flat bowl.
Pat the chicken dry, dredge it in the flour, then the egg wash/batter mix, then coat it with crumbs. You really want to pack the crumbs on to make a substantial coating.
Bake for 20 minutes at 425, or until internal temperature is 160 (for chicken. For pork, 150).
Meanwhile, take two egg whites and add a teaspoon of mustard, or so, and a couple tablespoons of flour. Whisk all that together. Set out another few tablespoons of flour in a dish.
When the crumbs are done toasting, add a couple tablespoons of some sort of spice rub (we used curry-cumin, but lemon pepper or poultry seasoning would also work) and a couple tablespoons of grated parmigiana (let the crumbs cool a bit before doing this so the cheese doesn't melt) and a couple tablespoons of parsley. Mix it all up and put it in a flat bowl.
Pat the chicken dry, dredge it in the flour, then the egg wash/batter mix, then coat it with crumbs. You really want to pack the crumbs on to make a substantial coating.
Bake for 20 minutes at 425, or until internal temperature is 160 (for chicken. For pork, 150).
Labels:
food
Wednesday, February 11, 2009
VoIP traffic shaping with FreeBSD IPFW + Dummynet
We have an Airport Extreme, and while it is a good router, it isn't perfect. Among the deficiencies in it, it lacks support for traffic shaping (sometimes called QoS).
Using the FreeBSD machine as the firewall instead of the AirPort is one option, but the problem with that is that FreeBSD lacks support for uPNP or NAT-PMP, which would seriously complicate things like Back-to-my-Mac.
The best compromise is to keep the AirPort Extreme in the routing role for the inside machines, and use the FreeBSD machine as a traffic shaping bridge.
It's fairly simple:
ipfw pipe 1 config bw 640kbps
ipfw queue 1 pipe 1 weight 100
ipfw queue 2 pipe 1 weight 1
queue 1 is for Vonage traffic, and queue 2 is for everything else.
ipfw queue 1 ip from voip to any xmit re0
ipfw queue 2 ip from not voip to any xmit re0
in this case, re0 is the "outside" LAN interface (connected to DSL).
The issue is in figuring out what the number for the bandwidth is. It's not actually the same as the DSL connection's uplink line rate. The problem is that there are several layers of encapsulation. The best way to figure out what to put in there is to start with a number far higher than the uplink bandwidth and run a speed test. Reduce the number until the speed test shows a reduction in the uplink bandwidth. In our case, the line is a 6M/768K one and the right number to use is 640kbps. The speed tests show an actual data throughput of closer to 600 kbps. The Ethernet and ATM framing for the packets takes up the rest of the bandwidth.
Using the FreeBSD machine as the firewall instead of the AirPort is one option, but the problem with that is that FreeBSD lacks support for uPNP or NAT-PMP, which would seriously complicate things like Back-to-my-Mac.
The best compromise is to keep the AirPort Extreme in the routing role for the inside machines, and use the FreeBSD machine as a traffic shaping bridge.
It's fairly simple:
ipfw pipe 1 config bw 640kbps
ipfw queue 1 pipe 1 weight 100
ipfw queue 2 pipe 1 weight 1
queue 1 is for Vonage traffic, and queue 2 is for everything else.
ipfw queue 1 ip from voip to any xmit re0
ipfw queue 2 ip from not voip to any xmit re0
in this case, re0 is the "outside" LAN interface (connected to DSL).
The issue is in figuring out what the number for the bandwidth is. It's not actually the same as the DSL connection's uplink line rate. The problem is that there are several layers of encapsulation. The best way to figure out what to put in there is to start with a number far higher than the uplink bandwidth and run a speed test. Reduce the number until the speed test shows a reduction in the uplink bandwidth. In our case, the line is a 6M/768K one and the right number to use is 640kbps. The speed tests show an actual data throughput of closer to 600 kbps. The Ethernet and ATM framing for the packets takes up the rest of the bandwidth.
Labels:
technology,
unix
Tuesday, February 10, 2009
Monday, February 9, 2009
An amusing recipe
My wife Scarlet sent me this link. We haven't tried it yet, but just the post amused me greatly. It reminds me of those crappy pyrotechnic "snakes" that we used to get to celebrate Federal Occupation Day when we were kids.
Labels:
food
Sunday, February 1, 2009
Need a cordless phone jack - any help?
Here's the situation:
We have one cat 5 line running to the living room. I used to run 100baseT Ethernet over it plus a phone line. I really want to stop doing that - instead to run all 4 pairs as Ethernet so I can do gigabit. The problem is that I need a phone jack in that location as well for the DirecTV receivers.
My first attempt at a solution was the RCA RC940 wireless phone jack. It runs a signal through the building's power lines. It is almost completely worthless. I could get a dial-tone without difficulty, but the line is so noisy that the self-test inside the receiver fails every time. I tried about 19 different configurations and the only way it wasn't so noisy you wouldn't even want to make a regular phone call with it is if the base and extension units are plugged into the same socket, which is obviously not very helpful.
We have a 5 GHz cordless phone system, but of course it doesn't have a remote jack, so that's no help. Google gives me nothing but the powerline variants when I search for 'cordless phone jack,' which is not helpful.
Attempting to search for phone / POTS over ethernet gives me either VoIP stuff, which is way, way over engineered for what I want, or gives me Ethernet over Phone line wiring, which is, of course, the exact opposite of what I need.
Are there any wireless phone jacks that do not use the power lines for transporting the signal?
Why, yes! There is the RTX DualJack... except that you can't buy one anywhere. Best of all is WalMart. "Not sold online" and "not sold in stores." Why fucking bother listing then, retards?
It seems like it would be something that would be both easy to do and useful. Surely there are lots of situations in this world where ethernet is already run and you have an analog phone device you need to use. Doesn't anyone make a dumbed-down raw Ethernet POTS line bridge system? There's no need in this circumstance to even use IP networking.
The other irony here is that virtually every google result where I see this question asked, the first response is, "I don't understand what it is you want to do."
So I'll say it again: I have a fully functional gigabit Ethernet network. I have a POTS phone line in one place. I have a need to plug in a POTS device (a DirecTV receiver) in another place. I attempted to use powerline phone extenders and it was an unmitigated disaster. Is there no way that a pair of boxes could use Ethernet to transport the POTS line?
We have one cat 5 line running to the living room. I used to run 100baseT Ethernet over it plus a phone line. I really want to stop doing that - instead to run all 4 pairs as Ethernet so I can do gigabit. The problem is that I need a phone jack in that location as well for the DirecTV receivers.
My first attempt at a solution was the RCA RC940 wireless phone jack. It runs a signal through the building's power lines. It is almost completely worthless. I could get a dial-tone without difficulty, but the line is so noisy that the self-test inside the receiver fails every time. I tried about 19 different configurations and the only way it wasn't so noisy you wouldn't even want to make a regular phone call with it is if the base and extension units are plugged into the same socket, which is obviously not very helpful.
We have a 5 GHz cordless phone system, but of course it doesn't have a remote jack, so that's no help. Google gives me nothing but the powerline variants when I search for 'cordless phone jack,' which is not helpful.
Attempting to search for phone / POTS over ethernet gives me either VoIP stuff, which is way, way over engineered for what I want, or gives me Ethernet over Phone line wiring, which is, of course, the exact opposite of what I need.
Are there any wireless phone jacks that do not use the power lines for transporting the signal?
Why, yes! There is the RTX DualJack... except that you can't buy one anywhere. Best of all is WalMart. "Not sold online" and "not sold in stores." Why fucking bother listing then, retards?
It seems like it would be something that would be both easy to do and useful. Surely there are lots of situations in this world where ethernet is already run and you have an analog phone device you need to use. Doesn't anyone make a dumbed-down raw Ethernet POTS line bridge system? There's no need in this circumstance to even use IP networking.
The other irony here is that virtually every google result where I see this question asked, the first response is, "I don't understand what it is you want to do."
So I'll say it again: I have a fully functional gigabit Ethernet network. I have a POTS phone line in one place. I have a need to plug in a POTS device (a DirecTV receiver) in another place. I attempted to use powerline phone extenders and it was an unmitigated disaster. Is there no way that a pair of boxes could use Ethernet to transport the POTS line?
Labels:
home_improvement,
technology
Saturday, January 31, 2009
FreeBSD and Journaled UFS
Since I have been in an experimental mood lately, I convinced myself to redo the /home partition on my FreeBSD machine to enable journaling. It went pretty smoothly, though since the disk was fully partitioned, it did mean doing a dump and a restore. Fortunately, though /home is relatively large, it doesn't have much stuff in it, so a dump of it fit in the free space on /usr (if this hadn't been the case, I would have just used an external disk over USB). So here's what I did:
1. Boot into single user mode.
2.
3.
4.
Now, at this point we're actually going to destroy the existing /home partition, so make sure the dump worked correctly first. In this case, my home partition was on /dev/ad0p5.
5.
6.
I didn't bother specifying a -s argument, so the default journal size of 1 GB will be in effect.
7.
8. At this point, /dev/ufs/home should reappear. Edit /etc/fstab and find the line that mounts /home and change 'rw' to 'rw,async' since with journaling enabled we'll be using an asynchronous mount.
9.
10.
11. Edit /boot/loader.conf and add a line that says
12. reboot.
So why bother? Because now /home will not need to have an fsck performed on it ever again.
1. Boot into single user mode.
2.
fsck -p && mount -a3.
umount /home4.
dump 0af /usr/home.dump /homeNow, at this point we're actually going to destroy the existing /home partition, so make sure the dump worked correctly first. In this case, my home partition was on /dev/ad0p5.
5.
gjournal load6.
gjournal label -f /dev/ad0p5I didn't bother specifying a -s argument, so the default journal size of 1 GB will be in effect.
7.
newfs -J -L home /dev/ad0p5.journal8. At this point, /dev/ufs/home should reappear. Edit /etc/fstab and find the line that mounts /home and change 'rw' to 'rw,async' since with journaling enabled we'll be using an asynchronous mount.
9.
mount /home . Now type 'mount' and make sure that both 'asynchronous' and 'journal' show up in the list of mount options for /home.10.
cd /home && restore -rf /usr/home/dump11. Edit /boot/loader.conf and add a line that says
geom_journal_load="YES"12. reboot.
So why bother? Because now /home will not need to have an fsck performed on it ever again.
Labels:
unix
Monday, January 26, 2009
The DTV transition monkey wrench
The Senate has passed the 6/12 DTV delay bill.
Which means nothing.
Why?
Because the delay is optional. That is, the broadcasters can decide to switch on 2/17 if they want to.
You get two guesses how all the TV stations are going to decide, and the first guess doesn't count.
No, this is all about deflecting blame. With a little over two weeks to go in the transition, there are far too many plans in place. There's far too much momentum around the 2/17 date for it to change at such a late date. But if the transition goes poorly, then all of the politicians can tell everyone that it's not their fault - that they gave permission for the delay but that those naughty broadcasters screwed everybody.
Just pull the band-aid off, already.
Which means nothing.
Why?
Because the delay is optional. That is, the broadcasters can decide to switch on 2/17 if they want to.
You get two guesses how all the TV stations are going to decide, and the first guess doesn't count.
No, this is all about deflecting blame. With a little over two weeks to go in the transition, there are far too many plans in place. There's far too much momentum around the 2/17 date for it to change at such a late date. But if the transition goes poorly, then all of the politicians can tell everyone that it's not their fault - that they gave permission for the delay but that those naughty broadcasters screwed everybody.
Just pull the band-aid off, already.
EchoLink and the Spirit of Amateur Radio.
EchoLink is an interesting new system that allows amateur radio operators to access radio systems (and in particular, repeaters) over the Internet. It's a lot like The Internet Repeater Linking Project, except that EchoLink is not limited to repeater station membership. On EchoLink, individual hams can be nodes and connect with repeaters around the world. The only requirement is to prove to the system managers that you are a licensed amateur radio operator. Fortunately, at least for US hams, proof of holding a Logbook Of The World signing key is sufficient. If you don't have one of those, then other means can be used to validate your license.
So far, so good. EchoLink software is available for Windows, but additionally, a program called EchoMac has been made available for MacOS X users to use.
EchoMac inspired me to perhaps give a thought to writing an EchoLink client iPhone app. Since EchoMac is open source, I should be able to use it to figure out the protocol. But I shouldn't have to resort to that. It's probably easier to simply implement the protocol from its documentation - something I've done a few times before.
There's no mention on the EchoLink site of any protocol documentation. Now, since your connection to the EchoLink servers requires callsign/password authentication, there's no particular Security by Obscurity going on here. That means that there should be no problem with sharing the protocol spec.
So I sent an inquiry in to the EchoLink folks. Here's their reply:
Really? These are Amateur Radio operators telling folks that they don't encourage development of alternative client software. Do they have any grasp of the history of amateur radio? Have they actually read §97.1(c)?
I still think I'm going to give it a try, since I'm still waiting for sufficient budget to return to the DATV arena and want something to do in the meantime, but I just thought it unbelievably astonishing that that kind of attitude could exist within this hobby.
So far, so good. EchoLink software is available for Windows, but additionally, a program called EchoMac has been made available for MacOS X users to use.
EchoMac inspired me to perhaps give a thought to writing an EchoLink client iPhone app. Since EchoMac is open source, I should be able to use it to figure out the protocol. But I shouldn't have to resort to that. It's probably easier to simply implement the protocol from its documentation - something I've done a few times before.
There's no mention on the EchoLink site of any protocol documentation. Now, since your connection to the EchoLink servers requires callsign/password authentication, there's no particular Security by Obscurity going on here. That means that there should be no problem with sharing the protocol spec.
So I sent an inquiry in to the EchoLink folks. Here's their reply:
Thanks for writing.
There isn't any good developer documentation available, since the EchoLink system itself was not envisioned as a developer's platform, and we don't encourage development of clients for other platforms.
Really? These are Amateur Radio operators telling folks that they don't encourage development of alternative client software. Do they have any grasp of the history of amateur radio? Have they actually read §97.1(c)?
I still think I'm going to give it a try, since I'm still waiting for sufficient budget to return to the DATV arena and want something to do in the meantime, but I just thought it unbelievably astonishing that that kind of attitude could exist within this hobby.
Labels:
ham
Sunday, January 18, 2009
DTV transition marches on
On 1/15, a second US TV market joined Wilmington, NC in the post-DTV transition era.
Because of the mating preferences of an endangered Hawaiian bird, the broadcasters in Hawaii have all decided to transition on January 15th instead of February 17th.
Meanwhile, President-elect Obama has called for a delay in the DTV transition. But with 30 days to go, there's just too much momentum to make a change at this point. Beter to just rip the band-aid off.
Because of the mating preferences of an endangered Hawaiian bird, the broadcasters in Hawaii have all decided to transition on January 15th instead of February 17th.
Meanwhile, President-elect Obama has called for a delay in the DTV transition. But with 30 days to go, there's just too much momentum to make a change at this point. Beter to just rip the band-aid off.
Labels:
tv
Friday, January 16, 2009
Tech wish list
Things I'd like to see:
1. Silverlight for Wii. This is sort of a 'hold your nose and deal' wish item. Silverlight forms the underpinnings of Netflix Instant Watching functionality, so any browser where Silverlight is available should support WatchNow. That would be nice.
2. The Roku box to grow a browser. Clearly the box has enough horsepower for one. The UI might be painful, but to be fair, the UI on the Wii Internet Channel is pretty bad too. Ouija board navigation is painfully slow, but if you can make do with it to enter a WPA pass-phrase, you can use it to enter URLs. Ironically, this points out a trend towards the resurgence of WebTV, which it turns out was simply a product released before its time. With the introduction of HD TVs, the TV finally now has sufficient resolution to show a web page properly, and with modern broadband connections there now is enough bandwidth to properly stream video to the TV. There's simply no reason for the Roku box developers to add "modules" for other content providers to the Roku box. All they have to do is give it a browser with enough plugins (flash and Silverlight would probably do) and have done with it.
3. An Apple desktop multi-touch trackpad. I've talked about this in the past, but now with increased stridency. Apple should take the nice glass skating rink they've put on the new Macbook Pros and put it into a small aluminum case designed to attach to the side (either side, of course) of the Apple desktop keyboard. For extra credit, they should figure out how to make a bluetooth version of the same thing to go along with the bluetooth keyboard.
4. Blu-ray support for the mac. I actually don't envision buying a Blu-ray player or Blu-ray pre-recorded media. But support for burning recordable Blu-ray disks would mean being able to back up all of my home directory - including all my movies, music, etc in iTunes - on a single disk.
1. Silverlight for Wii. This is sort of a 'hold your nose and deal' wish item. Silverlight forms the underpinnings of Netflix Instant Watching functionality, so any browser where Silverlight is available should support WatchNow. That would be nice.
2. The Roku box to grow a browser. Clearly the box has enough horsepower for one. The UI might be painful, but to be fair, the UI on the Wii Internet Channel is pretty bad too. Ouija board navigation is painfully slow, but if you can make do with it to enter a WPA pass-phrase, you can use it to enter URLs. Ironically, this points out a trend towards the resurgence of WebTV, which it turns out was simply a product released before its time. With the introduction of HD TVs, the TV finally now has sufficient resolution to show a web page properly, and with modern broadband connections there now is enough bandwidth to properly stream video to the TV. There's simply no reason for the Roku box developers to add "modules" for other content providers to the Roku box. All they have to do is give it a browser with enough plugins (flash and Silverlight would probably do) and have done with it.
3. An Apple desktop multi-touch trackpad. I've talked about this in the past, but now with increased stridency. Apple should take the nice glass skating rink they've put on the new Macbook Pros and put it into a small aluminum case designed to attach to the side (either side, of course) of the Apple desktop keyboard. For extra credit, they should figure out how to make a bluetooth version of the same thing to go along with the bluetooth keyboard.
4. Blu-ray support for the mac. I actually don't envision buying a Blu-ray player or Blu-ray pre-recorded media. But support for burning recordable Blu-ray disks would mean being able to back up all of my home directory - including all my movies, music, etc in iTunes - on a single disk.
Labels:
technology
Thursday, January 15, 2009
Journalistic stupidity
I read this story today. A plane made an emergency landing in the Hudson River after the pilot reported over the radio having run into a flock of birds.
Some tidbits from the version of the story on the above web page really need to be lambasted a bit. To wit:
Really? This wasn't a special squadron of Al Queda trained pigeons? Oops. I shouldn't have said anything. Now I've given them the idea. Sheesh. We'll be hearing that the next earthquake to hit Alameda County wasn't caused by terrorism at this rate.
Hmm. I think you're wrong, Doug, I think it isn't too early to speculate that the impact of the birds your own pilot talked about on the radio just might have had something to do with it. Maybe he's holding out for reports on the Al Queda pigeon roosting program.
Some tidbits from the version of the story on the above web page really need to be lambasted a bit. To wit:
A spokeswoman for the Department of Homeland Security in Washington said there were no indications that this incident was a result of a terrorist attack.
Really? This wasn't a special squadron of Al Queda trained pigeons? Oops. I shouldn't have said anything. Now I've given them the idea. Sheesh. We'll be hearing that the next earthquake to hit Alameda County wasn't caused by terrorism at this rate.
Doug Parker, chairman and CEO of US Airways, said it was too soon to speculate on what caused the incident.
Hmm. I think you're wrong, Doug, I think it isn't too early to speculate that the impact of the birds your own pilot talked about on the radio just might have had something to do with it. Maybe he's holding out for reports on the Al Queda pigeon roosting program.
Labels:
blogosphere,
politics
Wednesday, January 14, 2009
iPhone supports alternate CA root certs!
I happened to stumble across this earlier this evening. The iPhone now supports adding additional SSL CA root certificates. Here's the flow for adding one. You can follow along if you like. You probably don't have any particular incentive to add the KFU CA root certificate (unless you are a user at KFU), but there's no particular harm. Surf to https://www.kfu.com/ssl.html on your phone and....

Since the server's cert is signed by an unknown CA, that's not unexpected. As part of the bootstrap, you need to blindly accept the server key once.
Once you get the actual content of the page, follow the instructions and tap the "click me" link. You'll be transported into the Settings application and you'll see this:

Tap on "install" and you'll get a scary looking warning:

Don't worry, this is to be expected. Installing SSL CA root certificates is an extraordinary event and should not be taken lightly.
Tap install and you'll get:

Tap the "Done" button in the upper right corner to return to the web page where you were.
You can go into the Settings application anytime you like and find the "profile" and delete it. It's under the "General" menu item.
Since the server's cert is signed by an unknown CA, that's not unexpected. As part of the bootstrap, you need to blindly accept the server key once.
Once you get the actual content of the page, follow the instructions and tap the "click me" link. You'll be transported into the Settings application and you'll see this:
Tap on "install" and you'll get a scary looking warning:
Don't worry, this is to be expected. Installing SSL CA root certificates is an extraordinary event and should not be taken lightly.
Tap install and you'll get:
Tap the "Done" button in the upper right corner to return to the web page where you were.
You can go into the Settings application anytime you like and find the "profile" and delete it. It's under the "General" menu item.
Labels:
iphone
Wednesday, January 7, 2009
No test this week.
Well, I promised I'd be up on the mountain this weekend, but it won't happen. I don't have a 28 volt power supply for the 33cm amp yet, which means I haven't tested the 33 cm amp, and getting that done by this weekend is unlikely at best.
At this point, I think scheduling a 33 cm test before I've actually transmitted with the amp is pretty blue-sky. I'll keep everybody posted, but I will probably be able to order the power supply with my next paycheck.
At this point, I think scheduling a 33 cm test before I've actually transmitted with the amp is pretty blue-sky. I'll keep everybody posted, but I will probably be able to order the power supply with my next paycheck.
Thursday, January 1, 2009
T-47 days and counting
The digital transition at 11:59 PM 2/17 is in just a touch over 47 days.
It takes about 30 days to get your $40 DTV converter coupon.
I'd place your order right now if you don't want to be SOL when they switch them all off.
It takes about 30 days to get your $40 DTV converter coupon.
I'd place your order right now if you don't want to be SOL when they switch them all off.
Labels:
tv
So, when is the new year, anyway?
Everybody wants to celebrate the instant that the new year arrives, which makes New Year's Day unique in the annals of holidays.
The problem has always been that the North American TV industry operates entirely on Eastern time. We West-coast denizens always get the celebration tape-delayed. But even folks who live in Eastern time aren't going to get a good cue from the TV, since the digital production chain introduces all sorts of delays, not all of which can be compensated for.
The conversion to digital TV broadcasting makes things even worse, because the decoders introduce their own delays, and the magnitude of the delay depends on the decoder, so they can't be compensated for by the broadcaster (this is even assuming that the audio and video maintains the synchronization intended by the broadcaster).
We watched Anderson Cooper on CNN-HD over DirecTV this evening. The ball drop was a full 15 seconds late as I measured it. It's entirely possible that CNN might have been on a (censorship) delay loop for the event, but it's clear that TV is no longer useful for time synchronized events anymore.
And the phone isn't much better. We have Vonage, and if you tune in to WWV on the radio and compare that to calling up WWV on the phone, there's a distinct latency delta between the two.
Never mind the fact that at 0000 UTC there was a leap second this year, so everybody who's been out of the loop on that one will be a second off. At the moment, the NTP server at clock.sjc.he.net is a second off, so apparently they didn't get the memo.
The problem has always been that the North American TV industry operates entirely on Eastern time. We West-coast denizens always get the celebration tape-delayed. But even folks who live in Eastern time aren't going to get a good cue from the TV, since the digital production chain introduces all sorts of delays, not all of which can be compensated for.
The conversion to digital TV broadcasting makes things even worse, because the decoders introduce their own delays, and the magnitude of the delay depends on the decoder, so they can't be compensated for by the broadcaster (this is even assuming that the audio and video maintains the synchronization intended by the broadcaster).
We watched Anderson Cooper on CNN-HD over DirecTV this evening. The ball drop was a full 15 seconds late as I measured it. It's entirely possible that CNN might have been on a (censorship) delay loop for the event, but it's clear that TV is no longer useful for time synchronized events anymore.
And the phone isn't much better. We have Vonage, and if you tune in to WWV on the radio and compare that to calling up WWV on the phone, there's a distinct latency delta between the two.
Never mind the fact that at 0000 UTC there was a leap second this year, so everybody who's been out of the loop on that one will be a second off. At the moment, the NTP server at clock.sjc.he.net is a second off, so apparently they didn't get the memo.
Labels:
technology,
tv
Sunday, December 28, 2008
GPT for FreeBSD!
A lot has changed since the PC was first introduced in the early 1980s. Unfortunately, a lot of legacy nonsense has remained behind that has to be hacked-around because of that history. In essence, a modern Intel based computer starts the boot process as an 8088 and, effectively, climbs up out of the primordial ooze stepwise, getting a little more advanced with each tweak.
One of those bits of legacy nonsense still with us is the old FDISK based partitioning scheme, which still has nonsense like cylinders, heads and sectors in it (which mean nothing at all to modern disks, which in essence are just single-dimensioned arrays of 512 byte blocks).
FreeBSD has existed within this framework by using the old BSD "slice" system to chop up a single FDISK partition. Linux, instead, has tended to use FDISK extended partitioning, but that has led, to some extent, to Linux systems living in a single filesystem. One of the benefits of the multi-partitioning that FreeBSD uses instead are that two of the typical partitions (/ and /usr) tend to be "read-mostly," while the other two (/var and /home) tend to have the majority of write activity. This is somewhat safer, since the volatility is kept away from important configuration data (in /etc) and system code (in /boot and /usr).
Macs have discarded a lot of the Intel legacy, since they don't have to boot 20 year old operating systems (instead, they boot Unix, which is a 30 year old operating system, but I digress). So the Intel macs have adopted GPT partitioning. GPT is great, since it can operate on disks with 2^64 blocks, which is ridiculously huge, and the number of partitions is unlimited (it's actually limited to the number of blocks allocated to the GPT itself, and by default it's 128 entries).
Well, with the advent of FreeBSD 7.1, support has been added to boot from a GPT partitioned disk. The way this works is that the legacy FDISK partition (which basically marks the entire disk as allocated to protect against FDISK based tools trying to do something to the disk) contains boot code that looks for a special GPT partition that contains the second stage boot loader. That partition and the FDISK boot sector is written with the 'gpt boot' command. That boot loader looks for the first UFS partition on the disk and loads the main FORTH-based loader, which in turn loads the kernel and so on.
Just to be on the safe side, I migrated my setup by buying a new disk (a 320GB disk for $55 - can't go wrong!), partitioning it and then copying all the stuff over. As a bonus, the new disk is faster than the old one, and we get to start the warranty over.
There is, however, a 'gpt migrate' command that purports to convert a disk from FDISK and BSD slice format to GPT, but that concept sounds a bit scary to me, at least for filesystems I really care about. :)
One interesting thing is that the gpt command opens the disk for writing, even if all you want to do is read information. But if there are mounted partitions, then this will fail. There is a -r option that will make the open read-only, which is useful for the 'show' command.
Now that the disk is GPT partitioned, converting to an EFI based machine would simply require replacing the special FreeBSD boot partition with an EFI system partition (it would need to be slightly larger, but space from the adjacent swap partition could be stolen), and EFI boot code for FreeBSD would need to be added to it (if it existed).
FreeBSD 7.1hasn't yet has been released - it's at RC2 at the moment - but - on new year's day, in fact. I'm quite happy with it.
One of those bits of legacy nonsense still with us is the old FDISK based partitioning scheme, which still has nonsense like cylinders, heads and sectors in it (which mean nothing at all to modern disks, which in essence are just single-dimensioned arrays of 512 byte blocks).
FreeBSD has existed within this framework by using the old BSD "slice" system to chop up a single FDISK partition. Linux, instead, has tended to use FDISK extended partitioning, but that has led, to some extent, to Linux systems living in a single filesystem. One of the benefits of the multi-partitioning that FreeBSD uses instead are that two of the typical partitions (/ and /usr) tend to be "read-mostly," while the other two (/var and /home) tend to have the majority of write activity. This is somewhat safer, since the volatility is kept away from important configuration data (in /etc) and system code (in /boot and /usr).
Macs have discarded a lot of the Intel legacy, since they don't have to boot 20 year old operating systems (instead, they boot Unix, which is a 30 year old operating system, but I digress). So the Intel macs have adopted GPT partitioning. GPT is great, since it can operate on disks with 2^64 blocks, which is ridiculously huge, and the number of partitions is unlimited (it's actually limited to the number of blocks allocated to the GPT itself, and by default it's 128 entries).
Well, with the advent of FreeBSD 7.1, support has been added to boot from a GPT partitioned disk. The way this works is that the legacy FDISK partition (which basically marks the entire disk as allocated to protect against FDISK based tools trying to do something to the disk) contains boot code that looks for a special GPT partition that contains the second stage boot loader. That partition and the FDISK boot sector is written with the 'gpt boot' command. That boot loader looks for the first UFS partition on the disk and loads the main FORTH-based loader, which in turn loads the kernel and so on.
Just to be on the safe side, I migrated my setup by buying a new disk (a 320GB disk for $55 - can't go wrong!), partitioning it and then copying all the stuff over. As a bonus, the new disk is faster than the old one, and we get to start the warranty over.
There is, however, a 'gpt migrate' command that purports to convert a disk from FDISK and BSD slice format to GPT, but that concept sounds a bit scary to me, at least for filesystems I really care about. :)
One interesting thing is that the gpt command opens the disk for writing, even if all you want to do is read information. But if there are mounted partitions, then this will fail. There is a -r option that will make the open read-only, which is useful for the 'show' command.
Now that the disk is GPT partitioned, converting to an EFI based machine would simply require replacing the special FreeBSD boot partition with an EFI system partition (it would need to be slightly larger, but space from the adjacent swap partition could be stolen), and EFI boot code for FreeBSD would need to be added to it (if it existed).
FreeBSD 7.1
Labels:
unix
Friday, December 19, 2008
iPhone dartboard navigation
When I was waiting to turn left from San Tomas Expressway onto Saratoga Ave, I happened to glance down at my phone to see it tell me this:

Come on! That's not even the same zip code! Hell, it's not even the same city! It's the city two cities away! Oops.

Come on! That's not even the same zip code! Hell, it's not even the same city! It's the city two cities away! Oops.
Labels:
iphone
Google hosed me
I took my car in for service last night, with the plan being to take CalTrain from work, as usual, but get off at the station close to the dealership and walk to go pick it up.
I settled on this plan because when I asked the iPhone's Google Maps app to give me directions from "Sunnyvale Caltrain" to Sunnyvale VW, it said that the route was about a mile.
Well, it appears that it decided that "Sunnyvale Caltrain" meant any CalTrain station in Sunnyvale... of which there are two. It's about 1 mile from the Lawrence station to Sunnyvale VW, but it's about 3 miles from the Sunnyvale CalTrain station. If it had said that it was a 3 mile walk and showed me a mostly southerly route, I probably would have known to try Lawrence instead.
So, thanks, Google. You clearly knew best when you thought I didn't mean the Sunnyvale CalTrain station when that's exactly what I typed in.
I settled on this plan because when I asked the iPhone's Google Maps app to give me directions from "Sunnyvale Caltrain" to Sunnyvale VW, it said that the route was about a mile.
Well, it appears that it decided that "Sunnyvale Caltrain" meant any CalTrain station in Sunnyvale... of which there are two. It's about 1 mile from the Lawrence station to Sunnyvale VW, but it's about 3 miles from the Sunnyvale CalTrain station. If it had said that it was a 3 mile walk and showed me a mostly southerly route, I probably would have known to try Lawrence instead.
So, thanks, Google. You clearly knew best when you thought I didn't mean the Sunnyvale CalTrain station when that's exactly what I typed in.
Wednesday, December 17, 2008
JBoss and custom LoginModules for data sources
This is rather a specialized topic, but precious little has been said about it, so I figure it's worth a mention.
A data source in JBoss is typically either a JMS or JDBC connection pool, more or less. It represents a resource within JBoss that you can turn to to obtain the thing you want, use it, then throw it away (typically the connections are wrapped with code that catches the "close()" call and rather than closing the connection returns it to the available pool).
If the resource represents a database or remote JMS server, you're going to need to authenticate - typically by providing a username and password. In most enterprise situations, you don't want those passwords to be in plaintext in the configuration files. Rather, you have either some sort of configurable password encryption system or a password fetching system. In every shop I've worked in so far where this has been an issue, there's been a pre-existing mechanism that is set in concrete and must be used more or less without modification to obtain passwords to connect to enterprise resources.
Well, if you're configuring a data source within JBoss, you give that data source an <application-and-security-domain>, which is a <application-policy> node within server/___/conf/login-config.xml, which contains a <authentication> section which provides the username and password. The question is, how can you provide the bridge between JBoss and your established mechanism for providing username and password? Naively, the answer is that you must write your own custom JAAS login module.
Fortunately, there is a much easier way.
JBoss provides a ConfiguredIdentityLoginModule, which is simply a wrapper for a plaintext username and password. The simplest way to wire in your own password fetching code is to extend this module. You simply need to replace this method in the class:
The "options" map is a map of the list of module-options from login-config.xml. You simply call super.initialize() with all of the same arguments, but with a different options map. The new options map will have in it the "username" and plaintext "password" options that are required by the ConfiguredIdentityLoginModule.
For example, if you have a CryptoWidget that can decrypt passwords, you'd write something like this:
And that, more or less, is the entire class. You can do anything you need to modify the options map, so long as the options map you pass in to super.initialize() is what the superclass expects to get. It might be a good idea to remove any options that you require that the superclass does not require. For instance, if a "salt" option was required to pass some additional argument into the CryptoWidget, you'd fetch it, then remove it from newOptions.
Incidentally, it is necessary to make a copy of the options map because it is an unmodifiable map (note that we make newOptions unmodifiable before calling super.initialize() also).
A data source in JBoss is typically either a JMS or JDBC connection pool, more or less. It represents a resource within JBoss that you can turn to to obtain the thing you want, use it, then throw it away (typically the connections are wrapped with code that catches the "close()" call and rather than closing the connection returns it to the available pool).
If the resource represents a database or remote JMS server, you're going to need to authenticate - typically by providing a username and password. In most enterprise situations, you don't want those passwords to be in plaintext in the configuration files. Rather, you have either some sort of configurable password encryption system or a password fetching system. In every shop I've worked in so far where this has been an issue, there's been a pre-existing mechanism that is set in concrete and must be used more or less without modification to obtain passwords to connect to enterprise resources.
Well, if you're configuring a data source within JBoss, you give that data source an <application-and-security-domain>, which is a <application-policy> node within server/___/conf/login-config.xml, which contains a <authentication> section which provides the username and password. The question is, how can you provide the bridge between JBoss and your established mechanism for providing username and password? Naively, the answer is that you must write your own custom JAAS login module.
Fortunately, there is a much easier way.
JBoss provides a ConfiguredIdentityLoginModule, which is simply a wrapper for a plaintext username and password. The simplest way to wire in your own password fetching code is to extend this module. You simply need to replace this method in the class:
public void initialize(Subject subject, CallbackHandler handler, Map sharedState, Map options)The "options" map is a map of the list of module-options from login-config.xml. You simply call super.initialize() with all of the same arguments, but with a different options map. The new options map will have in it the "username" and plaintext "password" options that are required by the ConfiguredIdentityLoginModule.
For example, if you have a CryptoWidget that can decrypt passwords, you'd write something like this:
public void initialize(Subject subject, CallbackHandler handler, Map sharedState, Map options) {
Map newOptions = new HashMap(options);
String pw = (String) newOptions.get("password");
pw = CryptoWidget.decrypt(pw);
newOptions.put("password", pw);
newOptions = Collections.unmodifiableMap(newOptions);
super.initialize(subject, handler, sharedState, options);
}
And that, more or less, is the entire class. You can do anything you need to modify the options map, so long as the options map you pass in to super.initialize() is what the superclass expects to get. It might be a good idea to remove any options that you require that the superclass does not require. For instance, if a "salt" option was required to pass some additional argument into the CryptoWidget, you'd fetch it, then remove it from newOptions.
Incidentally, it is necessary to make a copy of the options map because it is an unmodifiable map (note that we make newOptions unmodifiable before calling super.initialize() also).
Labels:
java
Saturday, December 13, 2008
Next ATSC test: 1/10, 33 cm
Well, despite the complete lack of success at 420 MHz, I'll be trying again on January 10th with the new 900 MHz amp. I'll be putting out around 75 watts or so of ATSC on 910-916 MHz into a KP-20, for a total of about 380 watts of ERP. I liked the Cañada college QTH when I was there last, so that's where I'll be this time.
Of course, in the meantime, I'll need to get ahold of a 28 VDC power supply and a small generator to run it.
Of course, in the meantime, I'll need to get ahold of a 28 VDC power supply and a small generator to run it.
Sunday, December 7, 2008
Building a VHF TV dipole
After 2/17 of next year, there will be only two broadcasters below channel 14 here in the San Francisco market: KGO on channel 7 and KNTV on channel 11.
You could make do with a UHF corner Yagi... but what about those two channels?
Well, the ChannelMaster CM2016 is a good solution. It's a traditional UHF corner Yagi antenna combined with a VHF-hi dipole. But if you already have a UHF corner Yagi, there's no need to replace it. You can simply add your own VHF-hi dipole. Even better, you could make a relatively high quality folded dipole from copper plumbing pipe.
After February, the two channels that matter will be 7 and 12. 7 has a bottom of 174 MHz, 12's top is at 210 MHz. Halfway between those two is 192 MHz. A half wavelength at 192 MHz is 2.43 feet, or 29 1/4 inches, but we're going to put some fittings on each end, so subtract two inches, for 27 1/4". You'll need two pieces of 1/2" copper pipe that long, 2 90 degree 1/2" "street" elbows and two 90 degree 1/2" normal elbows. "Street" elbows are designed so that one side is the same diameter as the pipe itself, so that it can mate with one of the ordinary elbows to make a 180 degree turn.
Cut a half inch off one of the long pieces of copper and then cut that piece in half. Assemble the two ends out of one of each type of elbow. Put one of the combo elbows on each end of the long piece, and then stick a short piece in each remaining open elbow connection. The two short pieces should have a half inch gap between them. Once it is all dry-fit properly, use a plumber's torch and sweat the whole thing together. Use sheet metal screws to attach a standard TV balun on each side of the gap.
The only trick remaining is to mount the thing. You want the dipole to be at a right angles to the direction from your location to Mt. San Bruno and Sutro Tower. You need to use a piece of wood or plastic or something insulating to attach it to your mast. You also need to keep it at least a couple feet away from any other antenna on your mast, if you can.
You could make do with a UHF corner Yagi... but what about those two channels?
Well, the ChannelMaster CM2016 is a good solution. It's a traditional UHF corner Yagi antenna combined with a VHF-hi dipole. But if you already have a UHF corner Yagi, there's no need to replace it. You can simply add your own VHF-hi dipole. Even better, you could make a relatively high quality folded dipole from copper plumbing pipe.
After February, the two channels that matter will be 7 and 12. 7 has a bottom of 174 MHz, 12's top is at 210 MHz. Halfway between those two is 192 MHz. A half wavelength at 192 MHz is 2.43 feet, or 29 1/4 inches, but we're going to put some fittings on each end, so subtract two inches, for 27 1/4". You'll need two pieces of 1/2" copper pipe that long, 2 90 degree 1/2" "street" elbows and two 90 degree 1/2" normal elbows. "Street" elbows are designed so that one side is the same diameter as the pipe itself, so that it can mate with one of the ordinary elbows to make a 180 degree turn.
Cut a half inch off one of the long pieces of copper and then cut that piece in half. Assemble the two ends out of one of each type of elbow. Put one of the combo elbows on each end of the long piece, and then stick a short piece in each remaining open elbow connection. The two short pieces should have a half inch gap between them. Once it is all dry-fit properly, use a plumber's torch and sweat the whole thing together. Use sheet metal screws to attach a standard TV balun on each side of the gap.
The only trick remaining is to mount the thing. You want the dipole to be at a right angles to the direction from your location to Mt. San Bruno and Sutro Tower. You need to use a piece of wood or plastic or something insulating to attach it to your mast. You also need to keep it at least a couple feet away from any other antenna on your mast, if you can.
Labels:
tv
Saturday, December 6, 2008
Joel McHale at the Flint Center
Joel McHale has a message for all his fans:

Actually, no, Joel was very nice. As he was finishing his act, he told the entire assembled multitude (a sell-out crowd at the Flint Center) that he'd sign stuff for everyone afterwards, which I believe came as a shock to the house staff, since there were no preparations whatsoever for the resulting huge mob that gathered in the lobby around the merch booth. I waited an hour and a half to walk 5 feet.
If you go to the mall to visit Santa, the line is very orderly, but you don't get to have lots of chicks mashing their tits into your elbow.
Naturally, the ATM machine was broke, so I asked Joel if he'd let me slide on the T-shirt price by $5 (they were $25, but I only had $20). He signed my ticket, and let me take the picture you see above. When we got out, I told Scarlet the story and she said she had $5, but only had $4. We gave his bodyguard the $4 and had him pass it up to Joel and we left before he counted it. I'm sure that he made a snarky comment about it.
I'm actually going to put a dollar in the mail and send it to him (at E!). Just so he knows I'm not really cheap.
If you're a fan of The Soup (and don't you dare call it Talk Soup), you really should try and catch him if he comes near your town. It's great.
Actually, no, Joel was very nice. As he was finishing his act, he told the entire assembled multitude (a sell-out crowd at the Flint Center) that he'd sign stuff for everyone afterwards, which I believe came as a shock to the house staff, since there were no preparations whatsoever for the resulting huge mob that gathered in the lobby around the merch booth. I waited an hour and a half to walk 5 feet.
If you go to the mall to visit Santa, the line is very orderly, but you don't get to have lots of chicks mashing their tits into your elbow.
Naturally, the ATM machine was broke, so I asked Joel if he'd let me slide on the T-shirt price by $5 (they were $25, but I only had $20). He signed my ticket, and let me take the picture you see above. When we got out, I told Scarlet the story and she said she had $5, but only had $4. We gave his bodyguard the $4 and had him pass it up to Joel and we left before he counted it. I'm sure that he made a snarky comment about it.
I'm actually going to put a dollar in the mail and send it to him (at E!). Just so he knows I'm not really cheap.
If you're a fan of The Soup (and don't you dare call it Talk Soup), you really should try and catch him if he comes near your town. It's great.
Labels:
tv
Sunday, November 30, 2008
New Water Heater
Well, there are only two major appliances in the house that we hadn't replaced since moving in - the furnace / AC and the water heater. And now, there's just one. The water heater started leaking and set off the flood detector Friday morning. We called our favorite plumber (Gus at Castle Plumbing), and he said he could come out and take a look Saturday, but that if it needed to be replaced and we couldn't wait until Monday that that likely meant getting a new water heater at Home Depot, since nothing else would be open. But the good news is that the Home Depot water heaters are made by Rheem, which has a good track record.
In the meantime, we called a national plumbing chain (I won't mention their name) and they sent someone out who gave us a free estimate of $1300, but who knows whether they would have put a good water heater in for that price? In any event, that's way, way too much, so they were dismissed.
Saturday came around and I decided that it was just too likely that the water heater had to be replaced. It was 11 years old, and I strongly suspected that it wasn't the 12 year warranty kind. One thing you can take to the bank is that an N year warranty water heater will last for about N years + 1 day before giving out. So I decided to attempt to save some money by at least starting the demolition of the old unit myself. It was pretty easy, and I managed to get the old unit out all by myself. The gas and water connections came off with a wrench. The T&P relief valve had a sweated connection that I needed to desolder before I could unscrew the rest of it. Lastly, the chimney was held on with a couple of sheet metal screws.
We went to Home Depot and bought a 12 year warranty 40 gallon natural gas heater. It was about $550 or so, but the extra-cheap 6 year warranty units were about $400, so I think that's pretty clearly money well spent.
In retrospect, I probably could have installed the new unit myself. The new unit is a little taller than the old one was, because between then and now the building code has an added safety requirement - a special sealed combustion chamber that has a spring-loaded door held open by a thermal fuse. The idea is that if the burner area overheats, the door will spring shut cutting off the combustion air flow, choking off the fire. I had Gus install the new water heater mostly because of the fear that the size difference was going to make a difference between it being easy and being hard. The worry was that the water connections were going to need to be moved, which would have involved tearing out some sheetrock in the back of the water heater alcove. But there are flexible copper pipes and there was enough flex left for the new heater to fit. The only other work needed was to trim the chimney to fit and to re-plumb the T&P relief piping.
The last advice Gus had was to keep the home depot receipt, because Home Depot has a reputation for doing anything they can to low-ball you on any warranty claims. I stapled it to the door of the water heater closet. He also said we should drain it once a year, but that didn't mean emptying it all the way - just opening the drain valve and pouring off a gallon or two is enough.
In the meantime, we called a national plumbing chain (I won't mention their name) and they sent someone out who gave us a free estimate of $1300, but who knows whether they would have put a good water heater in for that price? In any event, that's way, way too much, so they were dismissed.
Saturday came around and I decided that it was just too likely that the water heater had to be replaced. It was 11 years old, and I strongly suspected that it wasn't the 12 year warranty kind. One thing you can take to the bank is that an N year warranty water heater will last for about N years + 1 day before giving out. So I decided to attempt to save some money by at least starting the demolition of the old unit myself. It was pretty easy, and I managed to get the old unit out all by myself. The gas and water connections came off with a wrench. The T&P relief valve had a sweated connection that I needed to desolder before I could unscrew the rest of it. Lastly, the chimney was held on with a couple of sheet metal screws.
We went to Home Depot and bought a 12 year warranty 40 gallon natural gas heater. It was about $550 or so, but the extra-cheap 6 year warranty units were about $400, so I think that's pretty clearly money well spent.
In retrospect, I probably could have installed the new unit myself. The new unit is a little taller than the old one was, because between then and now the building code has an added safety requirement - a special sealed combustion chamber that has a spring-loaded door held open by a thermal fuse. The idea is that if the burner area overheats, the door will spring shut cutting off the combustion air flow, choking off the fire. I had Gus install the new water heater mostly because of the fear that the size difference was going to make a difference between it being easy and being hard. The worry was that the water connections were going to need to be moved, which would have involved tearing out some sheetrock in the back of the water heater alcove. But there are flexible copper pipes and there was enough flex left for the new heater to fit. The only other work needed was to trim the chimney to fit and to re-plumb the T&P relief piping.
The last advice Gus had was to keep the home depot receipt, because Home Depot has a reputation for doing anything they can to low-ball you on any warranty claims. I stapled it to the door of the water heater closet. He also said we should drain it once a year, but that didn't mean emptying it all the way - just opening the drain valve and pouring off a gallon or two is enough.
Labels:
home_improvement
Thursday, November 27, 2008
Thanksgiving Turkey Fry
We fried our turkey again. This time, the event was transmitted to the K6BEN ATV repeater for anyone who wanted to tune it in. Scarlet used our digital camera to capture the drop and retrieval operation.
Labels:
food
Wednesday, November 26, 2008
Cringely stupidity
Sometimes Bob comes up with a real boner.
Um, because a fender-bender would kill everyone, stupid!
Cars used to be made like that airplane of yours. Then Ralph Nader wrote a little book called "Unsafe At Any Speed," and the fit hit the shan.
The threat model for airplanes and cars are entirely different, which requires entirely different priorities. Cars need to be crashworthy, because crashes are very, very frequent compared to airplanes.
Those who can't, teach. Those too stupid to even teach, commentate.
My hobby is building small airplanes and one of my favorites is a Davis DA-2A, winner of the Outstanding New Design contest in 1966, the same year my Oldsmobile (and my current Thunderbird convertible) was built. That little Davis can teach us a lot about cars.
I didn't build my DA-2A, but I am rebuilding it right now and know it intimately. My Davis is an all-aluminum two-seater with an 85-horsepower engine. The engine was built in 1946, the plane in 1982, and the whole thing cost under $4,000 at the time, though today I have more than that invested in the instrument panel alone. The plane weighs 625 lbs. empty, 1125 lbs. loaded, has a top speed of 140 miles per hour and can travel about 600 miles on its 24-gallon fuel tank.
Why can't I buy a car like that?
Um, because a fender-bender would kill everyone, stupid!
Cars used to be made like that airplane of yours. Then Ralph Nader wrote a little book called "Unsafe At Any Speed," and the fit hit the shan.
The threat model for airplanes and cars are entirely different, which requires entirely different priorities. Cars need to be crashworthy, because crashes are very, very frequent compared to airplanes.
Those who can't, teach. Those too stupid to even teach, commentate.
Labels:
blogosphere,
politics
Sunday, November 23, 2008
Saturday, November 22, 2008
Results from the test transmission
Well, I don't think very many people were able to see the signal, much less get a picture. The closest was Joel, KD6W, the vice president of PAARA. He wasn't able to decode the signal, but he was able to see the pilot show up. On the way home, on his advice, I stopped at Cañada College and parked at a spot that had excellent coverage and tried again. From there, Joel (who was at his house in Menlo Park) captured this trace on his spectrum analyzer:

It's just not quite enough to display
So 10 watts of output power, or 50 watts of ERP don't hardly get you much, I guess.
It's just not quite enough to display
So 10 watts of output power, or 50 watts of ERP don't hardly get you much, I guess.
Friday, November 21, 2008
An overview of different digital modulation schemes
There are 3 main ways that digital TV is modulated and transmitted nowadays: 8VSB, QAM and OFDM. Here's a little bit of introduction into each:
I've talked about 8VSB quite a bit on this blog. It is 8 level Vestigial SideBand modulation. Reducing it to its most basic description, you take a carrier and amplitude modulate it with a square wave that has 8 different legal amplitude levels. The result is a tremendously wide double-sideband signal. You then pass that signal through a Nyquist filter that reduces the signal down to 6 MHz of bandwidth and that's what 8VSB is. In actual fact, most modern 8VSB modulators don't actually work that way. Instead, they directly synthesize the equivalent waveform instead, but the net result is the same. The symbol rate of 8VSB is about 10 megabaud. And this is fundamentally why 8VSB is vulnerable to problems with multipath. There are 10 million symbols per second, meaning that the sample interval is only 100 microseconds long. In general, the shorter the sample interval is, the tighter the tolerances are.
QAM stands for Quadrature Amplitude Modulation. With QAM, you take a carrier and amplitude modulate it and phase modulate it at the same time. It's thus a combination of AM and FM that happen simultaneously. As with 8VSB, there is a sampling rate when the receiver must determine where in two dimensions the signal exists. In general, there are 2^n different amplitude and phase shift values in a "square" QAM constellation that has n different points on each axis, which yields n bits per baud. The more complex the constellation, the lower the symbol rate can go for the same bit rate. But the more complex the constellation, the higher your requirements for S/N become so that you can distinguish the different points from each other. Most cable companies run QAM-256, which is quite a complex constellation - each point encodes 8 bits of data. They can get away with 38 MB/s in a 6 MHz channel because of the lack of multipath and the high S/N ratio typical of cable delivery. You can run QAM over the air, but you would typically do so with only a 16 point constellation, which would net you a much lower channel bit rate than QAM-256, all else being equal. That said, if you were to attempt QAM-16 at ATSC's 19 MB/s data rate, the baud rate would be lower than 8VSB because each baud encodes 4 bits of data instead of only 3.
You might ask about 8VSB and its "constellation." With 8VSB only the amplitude of the signal is used to encode information. By coercing the waveform into a narrow bandwidth, we must give up any semblance of control over the signal's phase. As a result, when plotted on a constellation display, 8VSB's constellation consists of 8 vertical lines. Thus, each baud contributes 3 bits of information, which is why the baud rate of 8VSB must be so high. In theory, you could reduce both the baud rate of 8VSB and the width of the Nyquist filter at the same time, but doing so would make for a mode that wouldn't be compliant with ATSC specifications. By contrast, the DVB specifications incorporate many different modulation schemes, going all the way from 5 to 8 MHz wide.
The third method for delivering bulk digital data over RF is OFDM. OFDM stands for Orthogonal Frequency-Division Multiplexing. OFDM is a divide-and-conquer scheme. The incoming datastream is divided amongst a number of relatively closely spaced RF channels, each of which is either sent with traditional Phase Shift Keying or perhaps a low constellation QAM mode (PSK, however, at its heart is simply a variant of QAM - without any information on the amplitude axis). Because each individual carrier only has a small portion of the data, the resulting baud rate for each carrier is quite low. It does, however, complicate the receiver quite a bit, because it has to be able to receive and decode a number of digital streams in parallel. This is actually less of a big deal than it might seem, however, since it is relatively routine for multiple receivers to operate within a single chip. For example, there exist single-chip multichannel GPS receivers. And, of course, multiple methods exist to synthesize an OFDM "fugue," so to speak. The big downside of OFDM, however, is in its transmitter linearity and overhead requirements (particularly because of its much higher peak-to-average ratio), and its increased S/N requirements for receivers.
I've talked about 8VSB quite a bit on this blog. It is 8 level Vestigial SideBand modulation. Reducing it to its most basic description, you take a carrier and amplitude modulate it with a square wave that has 8 different legal amplitude levels. The result is a tremendously wide double-sideband signal. You then pass that signal through a Nyquist filter that reduces the signal down to 6 MHz of bandwidth and that's what 8VSB is. In actual fact, most modern 8VSB modulators don't actually work that way. Instead, they directly synthesize the equivalent waveform instead, but the net result is the same. The symbol rate of 8VSB is about 10 megabaud. And this is fundamentally why 8VSB is vulnerable to problems with multipath. There are 10 million symbols per second, meaning that the sample interval is only 100 microseconds long. In general, the shorter the sample interval is, the tighter the tolerances are.
QAM stands for Quadrature Amplitude Modulation. With QAM, you take a carrier and amplitude modulate it and phase modulate it at the same time. It's thus a combination of AM and FM that happen simultaneously. As with 8VSB, there is a sampling rate when the receiver must determine where in two dimensions the signal exists. In general, there are 2^n different amplitude and phase shift values in a "square" QAM constellation that has n different points on each axis, which yields n bits per baud. The more complex the constellation, the lower the symbol rate can go for the same bit rate. But the more complex the constellation, the higher your requirements for S/N become so that you can distinguish the different points from each other. Most cable companies run QAM-256, which is quite a complex constellation - each point encodes 8 bits of data. They can get away with 38 MB/s in a 6 MHz channel because of the lack of multipath and the high S/N ratio typical of cable delivery. You can run QAM over the air, but you would typically do so with only a 16 point constellation, which would net you a much lower channel bit rate than QAM-256, all else being equal. That said, if you were to attempt QAM-16 at ATSC's 19 MB/s data rate, the baud rate would be lower than 8VSB because each baud encodes 4 bits of data instead of only 3.
You might ask about 8VSB and its "constellation." With 8VSB only the amplitude of the signal is used to encode information. By coercing the waveform into a narrow bandwidth, we must give up any semblance of control over the signal's phase. As a result, when plotted on a constellation display, 8VSB's constellation consists of 8 vertical lines. Thus, each baud contributes 3 bits of information, which is why the baud rate of 8VSB must be so high. In theory, you could reduce both the baud rate of 8VSB and the width of the Nyquist filter at the same time, but doing so would make for a mode that wouldn't be compliant with ATSC specifications. By contrast, the DVB specifications incorporate many different modulation schemes, going all the way from 5 to 8 MHz wide.
The third method for delivering bulk digital data over RF is OFDM. OFDM stands for Orthogonal Frequency-Division Multiplexing. OFDM is a divide-and-conquer scheme. The incoming datastream is divided amongst a number of relatively closely spaced RF channels, each of which is either sent with traditional Phase Shift Keying or perhaps a low constellation QAM mode (PSK, however, at its heart is simply a variant of QAM - without any information on the amplitude axis). Because each individual carrier only has a small portion of the data, the resulting baud rate for each carrier is quite low. It does, however, complicate the receiver quite a bit, because it has to be able to receive and decode a number of digital streams in parallel. This is actually less of a big deal than it might seem, however, since it is relatively routine for multiple receivers to operate within a single chip. For example, there exist single-chip multichannel GPS receivers. And, of course, multiple methods exist to synthesize an OFDM "fugue," so to speak. The big downside of OFDM, however, is in its transmitter linearity and overhead requirements (particularly because of its much higher peak-to-average ratio), and its increased S/N requirements for receivers.
Tuesday, November 18, 2008
33 cm amp arrived
The 900 MHz amp I got the sweetheart deal on has arrived.
It's actually two amps, in fact.
The big one only has about 37 dB of gain. My thinking at the time was that its output at maximum input would not be sufficient for my needs. But now, my thinking has changed. If I feed the thing the maximum power from the exciter of 12 dBm average, the output power would be 79 watts average. Well, as we now know, the peak-to-average ratio of ATSC is 5 dB (at least it is 98% of the time), so that's actually 250 watts peak, which is probably too much (we'll have to get the thing on a scope to see for sure).
I bought that amp, plus a companion amp designed to boost the signal from -2 dBm to up to 5 watts. But I think, in retrospect, that given what I've learned that I'll probably just run the big amp by itself.
The first stage amp does have the advantage of having a power control pin that can be used to reduce the gain, but the exciter also has software output power control.
One thing that the big amp lacks is a PTT line (that is, something that can key the bias voltage for the modules on and off). This is something I'll likely need to add myself. The kind folks at the factory said they'd be happy to help with that when I got to that point.
It also lacks a cover. I'll need to get some sheet metal bent somewhere to fix that.
First step, however, will be trying it out on the air. But that will have to wait for a 28 volt power supply.
I'd like to publicly thank Ken and Lance - you two know who you are. I'd mention the company name, but I am not sure whether they would appreciate the publicity or not. If they would like a plug, I'll edit this post and add one happily. They are very nice people to deal with.
It's actually two amps, in fact.
The big one only has about 37 dB of gain. My thinking at the time was that its output at maximum input would not be sufficient for my needs. But now, my thinking has changed. If I feed the thing the maximum power from the exciter of 12 dBm average, the output power would be 79 watts average. Well, as we now know, the peak-to-average ratio of ATSC is 5 dB (at least it is 98% of the time), so that's actually 250 watts peak, which is probably too much (we'll have to get the thing on a scope to see for sure).
I bought that amp, plus a companion amp designed to boost the signal from -2 dBm to up to 5 watts. But I think, in retrospect, that given what I've learned that I'll probably just run the big amp by itself.
The first stage amp does have the advantage of having a power control pin that can be used to reduce the gain, but the exciter also has software output power control.
One thing that the big amp lacks is a PTT line (that is, something that can key the bias voltage for the modules on and off). This is something I'll likely need to add myself. The kind folks at the factory said they'd be happy to help with that when I got to that point.
It also lacks a cover. I'll need to get some sheet metal bent somewhere to fix that.
First step, however, will be trying it out on the air. But that will have to wait for a 28 volt power supply.
I'd like to publicly thank Ken and Lance - you two know who you are. I'd mention the company name, but I am not sure whether they would appreciate the publicity or not. If they would like a plug, I'll edit this post and add one happily. They are very nice people to deal with.
909 or 910?
I spent some time before work this morning pondering what to do about M-LMS licensees in the 33 cm band. M-LMS is the Multilateration Location and Monitoring Service. In the 90s, the FCC held an auction to grant nationwide licenses for this service. In the meantime, the growth of GPS has made the whole thing largely moot. Still, we amateurs must not cause harmful interference to them, to the extent that they actually use their licenses. The sooner those licenses are revoked, the better, I think, as there clearly is no public benefit to them.
There is a block of L-MLS allocation that ends at 909.75 MHz. If the last 750 kHz of this grant are in use, then I will have to change from 909-915 to 910-916 MHz. Fortunately, this is still a reasonable choice. On the TVC-9S, it's channel 2 instead of channel 1.
The only issue is the NARCC band plan for 33 cm, such as it exists. That band plan has ATV at 909-915 and a digital allocation at 915-917.
This doesn't really square all that well with the reality on the ground, given that potentially the range between 904 and 909.75 Mhz is the M-LMS block A allocation.
The NARCC plan also has an ATV channel on 922-928 MHz, which means it overlays the repeater output band at 927-928 MHz. That doesn't make sense.
The Mt. Diablo ATV folks have a repeater output from 918-924 MHz. This makes sense.
What would make sense in addition would be for NARCC to move the digital sub band from 915-917 to 916-918 MHz, move the lower ATV channel from 909-915 to 910-916 MHz, and recognize the reality that M-LMS probably denies us access to 904-910 MHz.
What am I going to do?
Well, it rather depends on whether there are current digital users between 915 and 916 MHz here in the Bay Area and/or the M-LMS license holder is actively using 909.0-909.75 MHz.
I can only hope and pray that both aren't true. If they are, then I will have no choice but to operate on 910-916 (since I can't interfere with M-LMS) or share 918-924 with Mt. Diablo. Both of those options would likely suck.
There is a block of L-MLS allocation that ends at 909.75 MHz. If the last 750 kHz of this grant are in use, then I will have to change from 909-915 to 910-916 MHz. Fortunately, this is still a reasonable choice. On the TVC-9S, it's channel 2 instead of channel 1.
The only issue is the NARCC band plan for 33 cm, such as it exists. That band plan has ATV at 909-915 and a digital allocation at 915-917.
This doesn't really square all that well with the reality on the ground, given that potentially the range between 904 and 909.75 Mhz is the M-LMS block A allocation.
The NARCC plan also has an ATV channel on 922-928 MHz, which means it overlays the repeater output band at 927-928 MHz. That doesn't make sense.
The Mt. Diablo ATV folks have a repeater output from 918-924 MHz. This makes sense.
What would make sense in addition would be for NARCC to move the digital sub band from 915-917 to 916-918 MHz, move the lower ATV channel from 909-915 to 910-916 MHz, and recognize the reality that M-LMS probably denies us access to 904-910 MHz.
What am I going to do?
Well, it rather depends on whether there are current digital users between 915 and 916 MHz here in the Bay Area and/or the M-LMS license holder is actively using 909.0-909.75 MHz.
I can only hope and pray that both aren't true. If they are, then I will have no choice but to operate on 910-916 (since I can't interfere with M-LMS) or share 918-924 with Mt. Diablo. Both of those options would likely suck.
Monday, November 17, 2008
Legality of amateur ATSC
Just to dot the eyes and cross the Ts....
97.305(c) lists on a per-band basis the parts of 97.307(f) that apply. 97.307(f)(8) applies to all amateur allocations above 51 MHz (except for the 219-220 MHz 1.25m sub-band). 97.307(f)(8) says,
The emission designator for ATSC DTV is C7W. That is, it is a vestigial sideband modulation (C), two or more digital channels (7), and a combination of different information (W). That means that, according to 97.307(f)(8) ATSC is allowed. Of course the lowest band where even a single ATSC channel would actually fit is the 70 cm band, so it is unusable on 6m, 2m and 1.25m.
The full designator for ATSC is 5M38C7WWT - the 5M38 indicates that the bandwidth is 5.38 MHz (though the channel is 6 MHz wide, there are 300 kHz of guard band at each end of the channel). The last W indicates a combination of video and audio and the last T indicates that the multiplex is via time-division.
97.305(c) lists on a per-band basis the parts of 97.307(f) that apply. 97.307(f)(8) applies to all amateur allocations above 51 MHz (except for the 219-220 MHz 1.25m sub-band). 97.307(f)(8) says,
(8) A RTTY or data emission having designators with A, B, C, D, E, F, G, H, J or R as the first symbol; 1, 2, 7 or 9 as the second symbol; and D or W as the third symbol is also authorized.
The emission designator for ATSC DTV is C7W. That is, it is a vestigial sideband modulation (C), two or more digital channels (7), and a combination of different information (W). That means that, according to 97.307(f)(8) ATSC is allowed. Of course the lowest band where even a single ATSC channel would actually fit is the 70 cm band, so it is unusable on 6m, 2m and 1.25m.
The full designator for ATSC is 5M38C7WWT - the 5M38 indicates that the bandwidth is 5.38 MHz (though the channel is 6 MHz wide, there are 300 kHz of guard band at each end of the channel). The last W indicates a combination of video and audio and the last T indicates that the multiplex is via time-division.
How far?
One of the questions I hope to answer through testing is how far the signal will go.
As a starting point, there's this chart from PC Electronics (go to the end of the 2nd page).
To use this chart, you pick the diagonal line closest to the ERP of the transmitter. In the case of my test next Saturday, I'll be using 50 watts ERP, so you'd pick the 20 watt line. Next, you need to determine the delta between the real ERP and the power of the diagonal line in question. In my case, 50 watts is 3.9 db up, so you can round that up to 4 dB. Next, take the gain of your receive antenna. Let's say, just for the sake of argument, that you have a typical 5 dBd mobile whip antenna. Add 4 dB to 5 dB and you get 9 dB. Now, follow the 20W line on the chart over to where it touches 9 dB. The answer is about 18 miles. That's about how far away from Redwood City is from Mt. San Bruno. So if I was transmitting analog ATV with 50 watts of power (remember, that's *peak* power at sync), then you'd get a P5 picture in Redwood City, assuming that your mobile whip antenna had a line of sight to the mountain.
Of course, as we've discussed, power in ATSC is measured as average power, not peak. The broadcasters are using about 7 dB less power to cover the same service area, but that's peak NTSC vs average ATSC. In fact, the true PEP of ATSC is 7 dB above its average - which is coincidently the average delta around here between the analog and digital broadcasters. So I could say, with a straight face, that my 50 watts of ERP is actually 250 watts peak ERP. If you were to run that same exercise on 250 watts instead of 50 watts, you'd find that the range is off the chart - meaning that in real terms the range is limited by topography first. Is that really going to be the case with amateur ATSC? I rather doubt it. But one of the things we need to do is establish the ATSC equivalent to that chart - that is, to determine exactly what our coverage is with a given power level. And if we get a reception report from Blossom Hill or Los Gatos, well, that'll be a pleasant surprise.
Yes, it's the wrong band, but you can compare coverage for 900 MHz by simply subtracting 6 dB from the transmit ERP and using the same chart, as the accompanying text says. It looks like the new target average power output from the 33 cm transmitter will be 75 watts. That's 1.2 dB down from 100 watts. Add that to 6 dB for comparing 70cm to 33cm and you wind up with almost exactly the same number as the KP-20's antenna gain. So the 100W line on that chart will show range for P5 LOS DX with the receive antenna gain being the number you look up on the left side axis. So if you also use a KP-20, you'll find that you should be able to receive from about 30 miles away. This does, however, presume quite a lot: That P5 DX is equivalent to ATSC DX despite any part 15 QRM on the band.
As a starting point, there's this chart from PC Electronics (go to the end of the 2nd page).
To use this chart, you pick the diagonal line closest to the ERP of the transmitter. In the case of my test next Saturday, I'll be using 50 watts ERP, so you'd pick the 20 watt line. Next, you need to determine the delta between the real ERP and the power of the diagonal line in question. In my case, 50 watts is 3.9 db up, so you can round that up to 4 dB. Next, take the gain of your receive antenna. Let's say, just for the sake of argument, that you have a typical 5 dBd mobile whip antenna. Add 4 dB to 5 dB and you get 9 dB. Now, follow the 20W line on the chart over to where it touches 9 dB. The answer is about 18 miles. That's about how far away from Redwood City is from Mt. San Bruno. So if I was transmitting analog ATV with 50 watts of power (remember, that's *peak* power at sync), then you'd get a P5 picture in Redwood City, assuming that your mobile whip antenna had a line of sight to the mountain.
Of course, as we've discussed, power in ATSC is measured as average power, not peak. The broadcasters are using about 7 dB less power to cover the same service area, but that's peak NTSC vs average ATSC. In fact, the true PEP of ATSC is 7 dB above its average - which is coincidently the average delta around here between the analog and digital broadcasters. So I could say, with a straight face, that my 50 watts of ERP is actually 250 watts peak ERP. If you were to run that same exercise on 250 watts instead of 50 watts, you'd find that the range is off the chart - meaning that in real terms the range is limited by topography first. Is that really going to be the case with amateur ATSC? I rather doubt it. But one of the things we need to do is establish the ATSC equivalent to that chart - that is, to determine exactly what our coverage is with a given power level. And if we get a reception report from Blossom Hill or Los Gatos, well, that'll be a pleasant surprise.
Yes, it's the wrong band, but you can compare coverage for 900 MHz by simply subtracting 6 dB from the transmit ERP and using the same chart, as the accompanying text says. It looks like the new target average power output from the 33 cm transmitter will be 75 watts. That's 1.2 dB down from 100 watts. Add that to 6 dB for comparing 70cm to 33cm and you wind up with almost exactly the same number as the KP-20's antenna gain. So the 100W line on that chart will show range for P5 LOS DX with the receive antenna gain being the number you look up on the left side axis. So if you also use a KP-20, you'll find that you should be able to receive from about 30 miles away. This does, however, presume quite a lot: That P5 DX is equivalent to ATSC DX despite any part 15 QRM on the band.
Test next Saturday
Next Saturday, I'll be making the treck up to Mt. San Bruno for my first test transmissions at 420-426 MHz with ~50W ERP, commencing at 1:30 PM (these tests will start on the half-hour so they don't run into the 10 minute ID slide beacon from K6BEN/R). It'll probably last a half hour or so, barring equipment problems. I won't be running on 33 cm because I don't yet have an amp.
Once again, to receive, you'll need either a computer tuner like an HD Homerun that can tune 420-426 MHz without help or you'll need a standard ATSC TV or tuner connected to a downconverter like the PC Electronics TVC-4S (tuned to channel #1). If you try tuning it in, please be sure to drop a comment regardless of whether you got anything or not. Part of the purpose of these tests is to see how far it can go.
I'll see if I can borrow a 2M HT to take with me. If I can find one, I'll hang out on WB6OQS/R (146.76(-), PL 151.44).
I won't need any help up on the mountain - I'd rather people help by trying to receive the signal. Even if you can't actually decode it, if you can look for it with a spectrum analyzer, that would help. If you attempt to look for it with an analog TV, you'll just see white noise that's difficult (if not impossible) to distinguish from the noise floor.
Aside from PC Electronics, you can find downconverters at North Country Radio, but theirs is tuned with a potentiometer, rather than a PLL, so I'm not sure if frequency stability would be an issue for an 8VSB tuner.
If you are using an HD Homerun, you can use hdhomerun_config to set /tuner0/channel to 8vsb:423000000. No downconverter necessary.
Once again, to receive, you'll need either a computer tuner like an HD Homerun that can tune 420-426 MHz without help or you'll need a standard ATSC TV or tuner connected to a downconverter like the PC Electronics TVC-4S (tuned to channel #1). If you try tuning it in, please be sure to drop a comment regardless of whether you got anything or not. Part of the purpose of these tests is to see how far it can go.
I'll see if I can borrow a 2M HT to take with me. If I can find one, I'll hang out on WB6OQS/R (146.76(-), PL 151.44).
I won't need any help up on the mountain - I'd rather people help by trying to receive the signal. Even if you can't actually decode it, if you can look for it with a spectrum analyzer, that would help. If you attempt to look for it with an analog TV, you'll just see white noise that's difficult (if not impossible) to distinguish from the noise floor.
Aside from PC Electronics, you can find downconverters at North Country Radio, but theirs is tuned with a potentiometer, rather than a PLL, so I'm not sure if frequency stability would be an issue for an 8VSB tuner.
If you are using an HD Homerun, you can use hdhomerun_config to set /tuner0/channel to 8vsb:423000000. No downconverter necessary.
More ATSC vs DVB-T arguments
This article at Broadcast Engineering is from a while ago (October, 2000), but it is another interesting point in the argument of whether 8VSB or DVB-T (COFDM) is better for amateurs.
In short, the peak-to-average ratio for COFDM is at least 2 dB greater, and the receiver needs about 4 dB more signal to receive. In other words, you need to pump out 6 dB more signal for the same coverage - that's 4 times more power. The article also mentions that COFDM is more sensitive to QRM than 8VSB. In the past, 8VSB used to have a harder time with multipath, but modern receiver chipsets have come a long way in ghost cancellation, and have largely caught up with their COFDM counterparts.
The reason we have a different standard of broadcasting than the Europeans do is due to the very different nature of broadcasting in Europe. In general, in the different countries in Europe, they have a relatively small number of broadcasters that have nationwide coverage. It would be as if NBC, CBS, ABC, Fox and PBS all had one channel that was replicated across the entire country with no local programming of any kind. The broadcasters in a particular country serve the whole country with multiple transmitters, obviously. With the advent of DVB-T, design decisions were made (by picking COFDM) that allow for multiple transmitters to operate on the same channel without interfering with each other - a so-called single frequency network (it's not really a single frequency as much as a single channel, but that's just a minor detail). Here in the US, Each individual broadcaster has a single transmitter (yes, some of them have translators, but those are special cases), and those single transmitters cover a much, much wider area than the individual transmitters in Europe. For US broadcasters, the higher peak-to-average penalty and the reduced range of power of COFDM would have been a bitter pill to swallow - particularly given the fact that broadcasters here actually pay for the spectrum rather than getting handouts from the government. Given the different reality of how broadcasting works here, it's no surprise that the FCC chose 8VSB.
I mean, to my mind, it's still moot: If the North American market had thousands and thousands of COFDM receivers, then that's what I'd be planning to use. The decision to go with 8VSB in the broadcasting universe was, for us amateurs at least, serendipitous.
In short, the peak-to-average ratio for COFDM is at least 2 dB greater, and the receiver needs about 4 dB more signal to receive. In other words, you need to pump out 6 dB more signal for the same coverage - that's 4 times more power. The article also mentions that COFDM is more sensitive to QRM than 8VSB. In the past, 8VSB used to have a harder time with multipath, but modern receiver chipsets have come a long way in ghost cancellation, and have largely caught up with their COFDM counterparts.
The reason we have a different standard of broadcasting than the Europeans do is due to the very different nature of broadcasting in Europe. In general, in the different countries in Europe, they have a relatively small number of broadcasters that have nationwide coverage. It would be as if NBC, CBS, ABC, Fox and PBS all had one channel that was replicated across the entire country with no local programming of any kind. The broadcasters in a particular country serve the whole country with multiple transmitters, obviously. With the advent of DVB-T, design decisions were made (by picking COFDM) that allow for multiple transmitters to operate on the same channel without interfering with each other - a so-called single frequency network (it's not really a single frequency as much as a single channel, but that's just a minor detail). Here in the US, Each individual broadcaster has a single transmitter (yes, some of them have translators, but those are special cases), and those single transmitters cover a much, much wider area than the individual transmitters in Europe. For US broadcasters, the higher peak-to-average penalty and the reduced range of power of COFDM would have been a bitter pill to swallow - particularly given the fact that broadcasters here actually pay for the spectrum rather than getting handouts from the government. Given the different reality of how broadcasting works here, it's no surprise that the FCC chose 8VSB.
I mean, to my mind, it's still moot: If the North American market had thousands and thousands of COFDM receivers, then that's what I'd be planning to use. The decision to go with 8VSB in the broadcasting universe was, for us amateurs at least, serendipitous.
ATSC peak to average - straight from the horse's mouth
These guys are in the business, they ought to know. This article in Broadcast Engineering talks about ATSC peak-to-average ratios. I was wrong to merely assume that the 3 dB ratio between average and the top symbol was all that was involved. There is overshoot all the way to 7 dB - 5 times the average power. However, look at Figure 3 in that article - the peaks are present only for very brief instances - the signal spends less than 2% of its time above 5 dB, which is triple the average. That does explain why the 10 watt picture of my 7025PA doesn't look as pretty is the 6 watt picture. At 6 watts, the peaks are entirely within 30 watts, which is almost entirely within the amp's linear range. However, at 10 watts, we're going to exceed the 30 watt number 2% of the time, meaning that those peaks almost certainly will be clipped, which is why the skirts start to grow.
This puts the impending arrival of the 200W amp in a different perspective. 200/3 = 66 watts, which is likely what I'll be able to get out of the thing and still be reasonably clean. It may have more headroom above 200W. If it could make it to 250W without clipping, then that would be 83 watts, but I still think I'd be happy with 66. That's 330 watts ERP.
This puts the impending arrival of the 200W amp in a different perspective. 200/3 = 66 watts, which is likely what I'll be able to get out of the thing and still be reasonably clean. It may have more headroom above 200W. If it could make it to 250W without clipping, then that would be 83 watts, but I still think I'd be happy with 66. That's 330 watts ERP.
Sunday, November 16, 2008
Meanwhile, in analog land...
I'd like to publicly thank Brian, KT6LN, for loaning me his Bird wattmeter. It confirmed that I am getting about 17 watts of power out of my DEMI 2330PATV and, more importantly, there is no reflected power. So I am getting probably about 300W ERP into K6BEN/R. It's actually been working lately, though the video doesn't look amazing, and I'm not completely knocking down the FAA RADAR QRM like some of the stronger uplinks do.
I was also able to use his wattmeter to confirm the output of the 70 cm amplifier on ATSC, though the issue there is that not all of the power coming out of the amp is actually useful signal, if you're not careful.
My experience with ATSC makes me wonder whether part of that 17 watts is out-of-channel crap that isn't contributing anything useful to my receive signal at the repeater. But this is FM TV we're talking about. Even a class C amp should be fine.
I also am not getting a P5 picture back down from the repeater. I'd say it's P4.5 or so. I suppose some of the imperfection I'm seeing is on the downlink side. I am, however, happy to just get in.
I was also able to use his wattmeter to confirm the output of the 70 cm amplifier on ATSC, though the issue there is that not all of the power coming out of the amp is actually useful signal, if you're not careful.
My experience with ATSC makes me wonder whether part of that 17 watts is out-of-channel crap that isn't contributing anything useful to my receive signal at the repeater. But this is FM TV we're talking about. Even a class C amp should be fine.
I also am not getting a P5 picture back down from the repeater. I'd say it's P4.5 or so. I suppose some of the imperfection I'm seeing is on the downlink side. I am, however, happy to just get in.
Site survey suckage
So, the roads up to Mt. Chual and Loma Prieta are tres suck. Not only are they mostly dirt roads once you get close to the summit, but they run up the back of the mountain up to locked gates, so even if you stop short of the summit, you have no exposure to the valley.
Driving along Skyline from highway 17 to Page Mill Road is no better. But it looks like there is a road running up to the summit of Black Mountain. The Longley-Rice analysis for 50 watts ERP of 423 MHz from up there looks pretty decent. Maybe that will be a good place for the test transmission(s).
Driving along Skyline from highway 17 to Page Mill Road is no better. But it looks like there is a road running up to the summit of Black Mountain. The Longley-Rice analysis for 50 watts ERP of 423 MHz from up there looks pretty decent. Maybe that will be a good place for the test transmission(s).
ATSC peak-to-average
So I may be realizing that the peak-to-average ratio of ATSC may actually be closer to 5 dB rather than 3 dB. It is true that the maximum actual amplitude sampling point is 3 dB above average, but the signal over-swings beyond that, and attempting to clip it just forces the out-of-channel sidebands up.
In these views, the reference level is actually 20 db higher than listed, because there is a 20 dB attenuator on the input to the SA.

In these views, the reference level is actually 20 db higher than listed, because there is a 20 dB attenuator on the input to the SA.
That's the output of the amplifier at minimum driver power - which results in about 6-7 watts of channel average power output. The skits that are visible at about -25 dBm were present in the output from the exciter, but were slightly lower (maybe 5 dB) relative to the main signal.
That's the output at one notch up from the minimum - which is about 10-12 watts of average power or so, but it's a bit uglier.
Saturday, November 15, 2008
Ready for 420
The DEMI 7025PA kit arrived yesterday and I took it to work with me and assembled it after work. I'm really bad at surface mount stuff, but I managed to get the thing together without any undue issues.
I assembled the amp without any changes in bias (they include some extra resistors you can use to reduce the bias voltage if you want), and without the load resistor on the input (to maximize the sensitivity). The amp is unbelievably sensitive in this configuration. Turning the power up past 4 (on a scale of 1 to 15) saturates the amp (that is, starts increasing the out-of-channel skirts without appreciably boosting the amplitude of the main signal). But so far as I can tell, I'm still getting about 10 watts of channel average power, or 20W PEP (remember, the peak-to-average ratio for 8VSB is 3 dB).
Even at minimum power, the out-of-channel skirts are a bit higher than I would like to see, but it's nothing that a mask filter can't fix, if I were going to run on 70 cm a non-trivial percentage of the time.
I assembled the amp without any changes in bias (they include some extra resistors you can use to reduce the bias voltage if you want), and without the load resistor on the input (to maximize the sensitivity). The amp is unbelievably sensitive in this configuration. Turning the power up past 4 (on a scale of 1 to 15) saturates the amp (that is, starts increasing the out-of-channel skirts without appreciably boosting the amplitude of the main signal). But so far as I can tell, I'm still getting about 10 watts of channel average power, or 20W PEP (remember, the peak-to-average ratio for 8VSB is 3 dB).
Even at minimum power, the out-of-channel skirts are a bit higher than I would like to see, but it's nothing that a mask filter can't fix, if I were going to run on 70 cm a non-trivial percentage of the time.
Tuesday, November 11, 2008
Mischief managed
I got the replacement MMIC and ferrite bead yesterday for the exciter, and a coworker was kind enough to help me out with the surface mount surgery. After it was done, with the test equipment on the bench, we measured a total channel power of 12 dBm, or 15 mW.
Monday, November 10, 2008
Overall repeater design
So I am not sure I've gone through in detail all of the parts that have to come together...
To just go up on top of a hill and transmit DTV is one thing, but again, the goal here is a repeater.
Pieces still needed:
The final amplifier. I have a line on a 100W model, which would be a boost compared to the DEMI 70W (which I'll be fortunate to get 40W and still have it be linear). 100W into the KP-20 I have would be half a kilowatt ERP! From Mt. Chual, that would almost certainly blanket the south bay nicely.
But it will need a 28 VDC power supply, and I'll then need a 28-12 volt DC-DC converter (@ 1A) to power the rest of the gear.
I'll be needing to place another order with SR-Systems - this time for a 4:1 TS MUX, another MPEG encoder and a DVB-T receiver for 426-431 MHz.
A 2 meter NBFM receiver for a 2 meter talk-in / control channel
A tower camera
A 1.2 GHz FM TV receiver
A Diamond X-6000 receive antenna and a 3 port duplexer (2m, 70 cm, 23 cm).
And lastly, I will need to build a repeater controller. For this, I'll use an Intuitive Circuits OSD generator, a Javelin Stamp, a DTMF decoder (for control) and a 567 wired as a horizontal sync detector (to detect video input from the FM receiver). I'll use the Javelin's UART class to bit-bang serial output to the OSD, another output pin as a PTT control line (which really will just key the amplifier - the exciter will free-run so as to reduce latency), and two pins as video-good input signals - one from the 567 for the analog video input, and the other from the DVB-T receiver.
The whole thing will probably draw about 600 watts of AC power while transmitting.
To just go up on top of a hill and transmit DTV is one thing, but again, the goal here is a repeater.
Pieces still needed:
The final amplifier. I have a line on a 100W model, which would be a boost compared to the DEMI 70W (which I'll be fortunate to get 40W and still have it be linear). 100W into the KP-20 I have would be half a kilowatt ERP! From Mt. Chual, that would almost certainly blanket the south bay nicely.
But it will need a 28 VDC power supply, and I'll then need a 28-12 volt DC-DC converter (@ 1A) to power the rest of the gear.
I'll be needing to place another order with SR-Systems - this time for a 4:1 TS MUX, another MPEG encoder and a DVB-T receiver for 426-431 MHz.
A 2 meter NBFM receiver for a 2 meter talk-in / control channel
A tower camera
A 1.2 GHz FM TV receiver
A Diamond X-6000 receive antenna and a 3 port duplexer (2m, 70 cm, 23 cm).
And lastly, I will need to build a repeater controller. For this, I'll use an Intuitive Circuits OSD generator, a Javelin Stamp, a DTMF decoder (for control) and a 567 wired as a horizontal sync detector (to detect video input from the FM receiver). I'll use the Javelin's UART class to bit-bang serial output to the OSD, another output pin as a PTT control line (which really will just key the amplifier - the exciter will free-run so as to reduce latency), and two pins as video-good input signals - one from the 567 for the analog video input, and the other from the DVB-T receiver.
The whole thing will probably draw about 600 watts of AC power while transmitting.
Sunday, November 9, 2008
I want one of THESE
This looks like it would be the perfect amp for the repeater. Derating the output down to 100 watts would insure that it was being driven entirely within its linear range, and besides the Comet KP-20 antenna I have has a maximum power rating of 100 watts.
The difficult part is that it requires a 28 volt power supply. DuraComm makes one, but then I'll need a DC-DC converter to come up with the 12 volts to run everything else.
The difficult part is that it requires a 28 volt power supply. DuraComm makes one, but then I'll need a DC-DC converter to come up with the 12 volts to run everything else.
Saturday, November 8, 2008
Range experiments
I bought a 1/4 wave vertical at HRO today with a mag mount for the car. Yes, I should have got something with some gain instead, but I decided to go cheap. Eventually I'll buy a Diamond X-6000 for the receive antenna for the repeater, but not this week.
I hooked the transmitter up to the UHF antenna on the corner of the garage (A Diamond V2000, which has 8.4 dB gain on 430 MHz). I measured the transmitter as best I could on the SA and it seems to be generating about 5 dBm or so. With some feedline loss, I'll assume that the net gain of the antenna system is 8 dB, so that gives us a total of 13 dBm - 20 mW ERP.
I put the 1/4 wave vertical on the van, grabbed the 70 cm downconverter and the Insignia TV and went for a drive.... to the end of the block. Google Earth says that over flat ground, I got a maximum range of about 190 meters. I probably could have shouted that far.
So the distance record for amateur ATSC TV at the moment stands at just shy of two football fields.
The amplifier is coming.... someday....
I hooked the transmitter up to the UHF antenna on the corner of the garage (A Diamond V2000, which has 8.4 dB gain on 430 MHz). I measured the transmitter as best I could on the SA and it seems to be generating about 5 dBm or so. With some feedline loss, I'll assume that the net gain of the antenna system is 8 dB, so that gives us a total of 13 dBm - 20 mW ERP.
I put the 1/4 wave vertical on the van, grabbed the 70 cm downconverter and the Insignia TV and went for a drive.... to the end of the block. Google Earth says that over flat ground, I got a maximum range of about 190 meters. I probably could have shouted that far.
So the distance record for amateur ATSC TV at the moment stands at just shy of two football fields.
The amplifier is coming.... someday....
Friday, November 7, 2008
Receiver compatibility list
One thing that will have to be done will be to keep a list of consumer grade ATSC receivers with notes on how well they work (or don't) with the output of the Minimod. I'll try to keep an up-to-date listing here.
Some receivers that can't process MPEG audio themselves sometimes pass the audio out to an S/PDIF port, which gives you a 2nd chance to decode it. This assumes, of course, that your tuner has one of those. Coupon Eligible boxes won't.
In general, tuners intended to work with computers will likely work perfectly, as they simply extract the transport stream from the 8VSB channel and expect the computer to decode it in software. Videolan should have no trouble, so long as it supports your device. Software that comes with the tuners should generally work as well. One big exception is EyeTV. When I've manually tuned the HDHomerun to the transmitter output, EyeTV has simply said that nothing was there. It's possible that EyeTV is insisting on finding the PSIP tables, but I haven't really dug into the problem to figure out what's wrong. I've simply used hdhomerun_config (downloadable from Silicon Dust) to capture the stream and MPEG Streamclip to convert it.
Unless it's otherwise mentioned, all of the tuners listed will need a downconverter for any ham band.
Silicon Dust HD Homerun: works perfectly, and can tune 70cm frequencies without a downconverter.
Samsung SIR-T451: Video good, no audio. I haven't tried the S/PDIF port.
Insignia NS-7HTV LCD TV: Video and audio both work.
Samsung LN-T4069F LCD TV: Video and audio both work.
Insignia NS-DXA1: Video good, no audio.
Obviously, I can't really ask people for reports with their own receivers yet, since I can only put out a couple of mW of power. But once I can get a significant amount of power out, I'd like to hear from owners of as many different receivers as possible to expand on this list.
Some receivers that can't process MPEG audio themselves sometimes pass the audio out to an S/PDIF port, which gives you a 2nd chance to decode it. This assumes, of course, that your tuner has one of those. Coupon Eligible boxes won't.
In general, tuners intended to work with computers will likely work perfectly, as they simply extract the transport stream from the 8VSB channel and expect the computer to decode it in software. Videolan should have no trouble, so long as it supports your device. Software that comes with the tuners should generally work as well. One big exception is EyeTV. When I've manually tuned the HDHomerun to the transmitter output, EyeTV has simply said that nothing was there. It's possible that EyeTV is insisting on finding the PSIP tables, but I haven't really dug into the problem to figure out what's wrong. I've simply used hdhomerun_config (downloadable from Silicon Dust) to capture the stream and MPEG Streamclip to convert it.
Unless it's otherwise mentioned, all of the tuners listed will need a downconverter for any ham band.
Silicon Dust HD Homerun: works perfectly, and can tune 70cm frequencies without a downconverter.
Samsung SIR-T451: Video good, no audio. I haven't tried the S/PDIF port.
Insignia NS-7HTV LCD TV: Video and audio both work.
Samsung LN-T4069F LCD TV: Video and audio both work.
Insignia NS-DXA1: Video good, no audio.
Obviously, I can't really ask people for reports with their own receivers yet, since I can only put out a couple of mW of power. But once I can get a significant amount of power out, I'd like to hear from owners of as many different receivers as possible to expand on this list.
Thursday, November 6, 2008
QSY...
Well, it turns out the output of the Mt. Diablo ATV repeater is on 919.25 MHz, so a change of frequency is in order. We'll be using 909-915 MHz. This lines up with channel 1 on the TVC-9S downconverter. It's conceivable that there would not be any interference between the Mt. Diablo repeater and ours, but there isn't anything else around here listed on the NARCC website on 910.25 MHz (which is 909-915 MHz), so there's no reason not to change. In fact, the only thing listed on that frequency is a repeater input in Springville, Northeast of Bakersfield.
So a little edit. Subtract 9 MHz from all of the 33 cm frequencies I've mentioned so far. :)
So a little edit. Subtract 9 MHz from all of the 33 cm frequencies I've mentioned so far. :)
Successful end-to-end test at 918 MHz
I got a PC Electronics TVC-9S 33 cm ATV downconverter yesterday and this evening I was able to conduct a complete end-to-end test at 918 MHz. I got a little rubber-duck 900 MHz antenna for the downconverter and fed the transmitter into a Comet KP-20. I had to turn the transmitter power down to minimum, but doing so allowed the HD Homerun to capture the stream without any errors. Not only that, but I was able to plug the downconverter into my little insignia portable LCD digital TV, and that little TV not only was able to show the picture, but the sound worked too!
Livin' the dream
Ok, Democrats. You're in the driver's seat now. You guys said that you'd make it all better. And now, you've got no excuses and no one to blame but yourselves if in 4 years time we're not in Ronald Regan like nirvanha.
In fact, the comparisons are pretty apt. The country was in bad shape, both at home and abroad at the end of Jimmy Carter's term as president. The country voted for change with both feet and elected Ronald Regan. He presided over the biggest peacetime economic expansion the country has ever known, and over the demise of soviet communism. Well, at the end of the Bush presidency, the country's in the shitter again, and the country has voted for change once again with both feet and elected Barack Obama. It will be interesting to see where we are 4 and 8 years hence in comparison to where we were in 1984 and 1988 relative to 1980.
I think either way it'll be telling. If things do improve, then it proves that the republicans and democrats really are highpopalorum and lowpopahighram, just like Huey P. Long said they were. If things don't improve, then I'll look back and say, "See? They said that if I voted for John McCain, the country would still be in the shitter and they were right: I voted for John McCain, and the country is still in the shitter." (with appologies to the old saying about Goldwater and the Vietnam war).
In fact, the comparisons are pretty apt. The country was in bad shape, both at home and abroad at the end of Jimmy Carter's term as president. The country voted for change with both feet and elected Ronald Regan. He presided over the biggest peacetime economic expansion the country has ever known, and over the demise of soviet communism. Well, at the end of the Bush presidency, the country's in the shitter again, and the country has voted for change once again with both feet and elected Barack Obama. It will be interesting to see where we are 4 and 8 years hence in comparison to where we were in 1984 and 1988 relative to 1980.
I think either way it'll be telling. If things do improve, then it proves that the republicans and democrats really are highpopalorum and lowpopahighram, just like Huey P. Long said they were. If things don't improve, then I'll look back and say, "See? They said that if I voted for John McCain, the country would still be in the shitter and they were right: I voted for John McCain, and the country is still in the shitter." (with appologies to the old saying about Goldwater and the Vietnam war).
Labels:
politics
Wednesday, November 5, 2008
Measuring ATSC power
I've been measuring the power from my ATSC transmitter by looking at its output on my spectrum analyzer. It turns out, however, that that probably is not an accurate way to judge the transmit power.
I found a PDF that has an explanation.
A spectrum analyzer is a radio receiver, whose output is hooked up to the Y axis of an oscilloscope. The X axis is a sawtooth wave, like a normal oscilloscope, but in addition to sweeping the X axis of the display, it also adjusts the frequency of the receiver.
There's a bit more to it than that, however.
One of the characteristics of the radio receiver that's part of a spectrum analyzer is its "Resolution Bandwidth." This is the bandwidth of the receiver. That is, in order to plot an amplitude value on the display, how wide of a swath of the RF spectrum do you sample in order to determine what that amplitude is?
The resolution bandwidth of a SA is tied to the span of the display. The larger the span, the higher the resolution bandwidth, which means the wider a signal has to be to actually show up. At the same time, the smaller the resolution bandwidth, the slower the sweep has to be in order to display the finer grained samples.
If the signal you're watching fits inside of the resolution bandwidth, then the entire signal contributes to the amplitude that shows up on the display. But if the signal is wider than the resolution bandwidth, then at any one given moment, you're only plotting a fraction of the signal's power on the display.
It turns out that if you know the 3 dB bandwidth of the signal (for ATSC it's 5.83 MHz), and the RBW of the SA, then you can calculate a correction factor: 10 * log (RBW / Signal BW) dB is how far down your SA will show the signal. That is, you subtract that number (which is probably negative) from the displayed power level to obtain the real one.
I took a picture the other day that showed my transmitter's signal at the 2nd division down from the top, and the reference level was -4 dBm, with 10 dB per division. That's a signal strength of -14 dBm. But the RBW was 100 kHz, so the correction factor is -17.65 dB, which actually put my output power at +3.65 dBm, or about 2.3 mW.
I found a PDF that has an explanation.
A spectrum analyzer is a radio receiver, whose output is hooked up to the Y axis of an oscilloscope. The X axis is a sawtooth wave, like a normal oscilloscope, but in addition to sweeping the X axis of the display, it also adjusts the frequency of the receiver.
There's a bit more to it than that, however.
One of the characteristics of the radio receiver that's part of a spectrum analyzer is its "Resolution Bandwidth." This is the bandwidth of the receiver. That is, in order to plot an amplitude value on the display, how wide of a swath of the RF spectrum do you sample in order to determine what that amplitude is?
The resolution bandwidth of a SA is tied to the span of the display. The larger the span, the higher the resolution bandwidth, which means the wider a signal has to be to actually show up. At the same time, the smaller the resolution bandwidth, the slower the sweep has to be in order to display the finer grained samples.
If the signal you're watching fits inside of the resolution bandwidth, then the entire signal contributes to the amplitude that shows up on the display. But if the signal is wider than the resolution bandwidth, then at any one given moment, you're only plotting a fraction of the signal's power on the display.
It turns out that if you know the 3 dB bandwidth of the signal (for ATSC it's 5.83 MHz), and the RBW of the SA, then you can calculate a correction factor: 10 * log (RBW / Signal BW) dB is how far down your SA will show the signal. That is, you subtract that number (which is probably negative) from the displayed power level to obtain the real one.
I took a picture the other day that showed my transmitter's signal at the 2nd division down from the top, and the reference level was -4 dBm, with 10 dB per division. That's a signal strength of -14 dBm. But the RBW was 100 kHz, so the correction factor is -17.65 dB, which actually put my output power at +3.65 dBm, or about 2.3 mW.
Sunday, November 2, 2008
Save the date: 2/14/09
DATV or bust.
February 14th, 2009 at high noon, I will be transmitting ATSC (or as close as I can get to it) with as much power as I can muster at 918-924 MHz from the summit of Mt. San Bruno. If equipment and time permit, I will also attempt to transmit on 420-426 MHz. This date in particular was chosen because it is the last saturday before Feb 17th, the date of the broadcast TV analog shut-down.
The plan is to generate about 150 watts of ERP at 918 MHz, and if I can obtain an amp in time, perhaps as much as 100 watts of ERP at 420 MHz.
The 73 cm transmissions should be receivable using a stock Silicon Dust HD HomeRun. You may need to direct it with the hdhomerun_config command to receive 8vsb at 423 MHz, since that's not a standard broadcast frequency.
The 33 cm transmissions will likely require use of a downconverter in front of an ATSC tuner. The PC Electronics TVC-9S set for channel 4 should work just fine combined with an ATSC tuner set for channel 3.
Those using computer connected tuners should have no trouble decoding the transport stream, while those using TV sets or consumer grade tuners may be limited to video only, as the audio will be MPEG audio rather than Dolby AC3 (which is required by the ATSC spec).
Please spread the news as far and as wide as possible. I'm setting this date this far in advance in the hopes of it becoming a highly anticipated event in the amateur community.
February 14th, 2009 at high noon, I will be transmitting ATSC (or as close as I can get to it) with as much power as I can muster at 918-924 MHz from the summit of Mt. San Bruno. If equipment and time permit, I will also attempt to transmit on 420-426 MHz. This date in particular was chosen because it is the last saturday before Feb 17th, the date of the broadcast TV analog shut-down.
The plan is to generate about 150 watts of ERP at 918 MHz, and if I can obtain an amp in time, perhaps as much as 100 watts of ERP at 420 MHz.
The 73 cm transmissions should be receivable using a stock Silicon Dust HD HomeRun. You may need to direct it with the hdhomerun_config command to receive 8vsb at 423 MHz, since that's not a standard broadcast frequency.
The 33 cm transmissions will likely require use of a downconverter in front of an ATSC tuner. The PC Electronics TVC-9S set for channel 4 should work just fine combined with an ATSC tuner set for channel 3.
Those using computer connected tuners should have no trouble decoding the transport stream, while those using TV sets or consumer grade tuners may be limited to video only, as the audio will be MPEG audio rather than Dolby AC3 (which is required by the ATSC spec).
Please spread the news as far and as wide as possible. I'm setting this date this far in advance in the hopes of it becoming a highly anticipated event in the amateur community.
Boosting the power
I heard back from Stefan at SR-Systems today. He said that if I replaced the MMIC on the minimod with a GVA 84+, and the bias inductor with a 600Ω 3A ferrite bead, that would boost the output by 12 dB. That would be enough, I think, to get us at or near 0 dBm, at least as measured by my spectrum analyzer (Stefan says I should actually expect to get -1 dBm now and close to 10 dBm after replacing the MMIC, but I think he's measuring the power by having the board transmit a CW carrier rather than measuring the power of the actual modulated digital signal).
I've gone ahead and ordered one of those MMICs. I'm not confident enough of my surface mount soldering techniques to work on a kilo-Euro worth of equipment, but I have some hopes that I'll be able to enlist someone in the hardware lab at the office to help me.
I also hope that the hardware lab can spare the ferrite bead. I think it's silly to try and order a single quantity surface mount component mail order. I bought a 20 dB attenuator in the same order as the single MMIC just to make the shipping costs worthwhile. With the attenuator, I should be able to run the output of my amp directly into the SA for power measurements and stuff (the SA can take up to 30 dBm - 1 watt - of input power).
I've gone ahead and ordered one of those MMICs. I'm not confident enough of my surface mount soldering techniques to work on a kilo-Euro worth of equipment, but I have some hopes that I'll be able to enlist someone in the hardware lab at the office to help me.
I also hope that the hardware lab can spare the ferrite bead. I think it's silly to try and order a single quantity surface mount component mail order. I bought a 20 dB attenuator in the same order as the single MMIC just to make the shipping costs worthwhile. With the attenuator, I should be able to run the output of my amp directly into the SA for power measurements and stuff (the SA can take up to 30 dBm - 1 watt - of input power).
Subscribe to:
Posts (Atom)