Securing Asterisk with IPTables

I’ve been running my phone system through Asterisk on Debian (Linux) for a number of years. I’d consider myself a novice to intermediate user of Linux, even though I’ve been tinkering with it for over a decade. I also don’t play with Asterisk very often, but like to get things set up comfortably from time to time so I can leave it alone for awhile.

I recently upgraded from Asterisk 1.6 to 11. In the move, I also spent some time taking a close look at the CLI, which caused me to notice a lot of attempts to either call extensions on my system that didn’t exist, or log in to extensions that didn’t exist. It was apparent that there were attempts being made to hack my system. It was time to dig deeper into security before someone succeeded.

In the past, by happenstance, I tended to avoid some practices that make it easier to hack an Asterisk system. The primary one being I didn’t put any extensions in the default context. Hackers seem to like to focus on that one, and with nothing there, there really is nothing to hack.

That wasn’t enough though. I really wanted to lock things down and prevent the attempts themselves. The best way, I found, was to bone up on IPTables, the most common firewall on Linux.

I took inventory of what I was doing with my system, and realized that there is only one outside account/system that I use that should need to connect to my system. I have a few phone numbers at, and need their server to be able to reach me if anyone should call one of my numbers. Everything else is internal to my home network.

Below is a set of rules that I put into my IPTables to allow in traffic from IPKall, but block anything else that is attempting to connect to this particular machine.

I should note that SIP is the only service that is open to the internet on this machine. Should I ever need to log in to it via SSH, I would do so by way of another machine on the internal network, either directly or by proxy.

The following is in a shell script. I know very little about IPTables, and learned quickly that the best way to ensure the rules behave as expected is to always start from scratch. If I need to change my rules, I’d do so in this script, and run it again once I’ve made my changes.


# First, I flush out the existing rules
iptables -F

# Next, allow all traffic on the localhost loopback interface
iptables -A INPUT -i lo -j ACCEPT

# Allow already established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow tcp and udp traffic from IPKall and all traffic from the local network
iptables -A INPUT -p tcp -s -j ACCEPT
iptables -A INPUT -p udp -s -j ACCEPT
iptables -A INPUT -p all -s -j ACCEPT

# Allow voice streaming for SIP from IPKall - Note I use a much more limited port range than the default
iptables -A INPUT -p all --destination-port 21000:21030 -s -j ACCEPT

# Set default policies for everyone else (not IPKall or local)
# Disallow any connections on port 5060 (SIP), but allow all outgoing traffic
# Note that 5060 is the only port that forwards to this machine from outside the network,
# so any traffic on any other port would be blocked at the NAT router itself,
# never bothering this machine in the first place
iptables -A INPUT -p tcp --destination-port 5060 -j DROP
iptables -A INPUT -p udp --destination-port 5060 -j DROP

So there you go. This post is really for the benefit of people doing searches for Asterisk and IPTables, and I hope someone finds this useful.

My Reality Show Idea

It seems I’m the only guy in America that doesn’t have a reality show. So I came up with an idea to get one.

A little background is necessary. My reality show would be food-based. I’m not the pickiest eater in the world, but I’m in the top 1% for sure. A while back there was a show on one of the cable stations called “Freaky Eaters” that made me look more-or-less normal, but I’m far from it. My pickiness goes back my entire life. As most kids go through a picky phase but eventually grow out of it, I never did.

My pickiness developed into a sort of phobia. I sometimes have people who think they’re going to convince me to change, but they miss one key element of my pickiness. The most recent example was in February, while on a group trip to Israel. One guy (who meant well), thought he could talk me into trying local foods. He was making comments at nearly every meal for the first few days. Eventually I had to explain it in a way that he could really understand who I am in regard to food. I explained it like this: some people are afraid of the dark, others are terrified of heights, I really don’t like trying new foods.

There’s a caveat to it though. People can live long, relatively normal, and healthy lives avoiding heights and overly-dark places. However, eating only a few different foods, of marginal nutritional value, eventually catches up with a person.

So my reality show idea is to pair people like me up with world-class chefs that can make trying new foods far less scary or intimidating. Of course, it would mean the chefs would have to have a certain level of ability to not take things personally. As a person trained in Architectural design myself, I know that creative people need a fairly thick skin to be successful.

Off the top of my head, I’d love to be paired up with a guy like Gordon Ramsey (who has several reality shows going at any given time), or Graham Elliot (one of the judges on “Master Chef”).

To add a level of interest, it would be fun to not only be introduced to good foods by people who really know food well, but to be taught how to make things that I would end up liking. Ironically, as picky as I am, I do like to cook. I really like to learn to make the things I like, as well as a restaurant would make them.

This show doesn’t have to revolve around me, or around me and the chef. It could feature different chefs, along with different picky eaters. I think it would be interesting to have a few chefs paired up with a few picky eaters, and show segments of each pair every episode, and all the pairs are on for an entire season.

I just have no idea who to pitch this show idea to. If anyone in a TV production company happens to trip over this post, and this sounds interesting, shoot me an email. You can do so by emailing my first name (Andy) at this website address.

HTPC: Revisited

Almost two years ago, I posted of my transition away from cable/satellite TV to using only internet & over-the-air and a Home Theater PC. Since it has been almost two years, I thought it a good time to update how things are going.

We’re still every bit the “cord cutters” we were back then. We haven’t missed satellite tv, and haven’t looked back. There have been some minor changes to our setup, as I’ve learned more and found different things to enhance the experience.
Read the rest of this entry »

Programming the ChronoDot DS3231 Real Time Clock

In my last post, I introduced my new hobby tinkering with the Arduino microcontroller. I also mentioned a timer that I’m building to power some lamps in my living room.

Since the Arduino doesn’t have a clock built into it, there is an interesting problem wherein there is no way to ensure that the Arduino will turn the relays on and off when I want it to. Enter the Real Time Clock (RTC). It’s a small clock chip with a battery. You program it once to set the time, and from then on it will keep time rather well. The one I have will keep time within a minute or two per year, which is plenty accurate enough for turning on lamps.

The biggest issue I’ve run into is that it has been hard to figure out how to program it with the right time. There are example sketches (program code) out there that will do it, but not exactly as I need it.

The code I got from Jack Christensen over at Adventures in Arduinoland assumes that the clock is set to UTC time, not local time, and the examples that I have found all set the clock to local time. Setting to UTC is important because it automatically adjusts for daylight savings time. It’s also easier to program the code for use anywhere in the world (share it with others) when it is based on UTC time.

So because I had such a hard time, I modified the example that is found here to set the clock to UTC, and figured out how I needed to modify it here. All you need to do is paste this into the Arduino programmer, modify the variable for the UTC offset to fit your timezone, and upload it. (I’m in UTC – 5, so mine is set to float UTCOffset = -5.0; It is set as a float for those locations that may be offset by an amount that is not a whole hour (for example, Nepal is UTC +5.75). If you’re powering the RTC from the pins, you’ll have to uncomment those and modify them to fit your configuration.

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib

#include <Wire.h>
#include "RTClib.h"


float UTCOffset = -5.0;    // Your timezone relative to UTC

void setup () {
    // Uncomment the following lines to use pins 4 & 5 as power and ground for the RTC
    // pinMode(4, OUTPUT);
    // digitalWrite(4, HIGH);  // HIGH for power
    // pinMode(5, OUTPUT);
    // digitalWrite(5, LOW);   // LOW for ground
    RTC.adjust(DateTime(__DATE__, __TIME__));  // sets the clock to the time when this sketch is compiled
    DateTime now =;
    DateTime UTCTime(now.unixtime() - 3600 * UTCOffset);   // Adjust the time from local to UTC

void loop () {
    DateTime now =;
    Serial.print(now.year(), DEC);
    Serial.print(now.month(), DEC);
    Serial.print(, DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(now.minute(), DEC);
    Serial.print(now.second(), DEC);
    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print(future.month(), DEC);
    Serial.print(, DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(future.minute(), DEC);
    Serial.print(future.second(), DEC);

Learning Programming with the Arduino Microcontroller

A few weeks ago, I got my hands on an Arduino starter kit. The Arduino is a microcontroller that is capable of doing a lot of really cool things. The starter kit included the Arduino board, a collection of electronic parts (LEDs, a breadboard, wiring, resistors, potentiometers, an LCD screen, and some other things), and a book to start learning the programming. The Arduino is programmed using a modified version of C++, so learning to program it means that your programming skills can be easily transfered elsewhere.

Learning to program the Arduino is not hard, and it’s a lot of fun. The first thing you’ll learn is how to make the LED on the board blink. It’s very simple, but seeing it do what you tell it to do is exciting.

I’ve gone about half way through the book, putting together example projects. Once I got half way through, I started having my own ideas that I wanted to try. The projects I’ve done include: A “Spaceship interface”, “Love-o-meter”, Color mixing lamp, Mood Cue, Light Theremin, and a Crystal Ball. The Spaceship interface is the first project, to give you the basics of hooking up buttons, LEDs, resistors, and working with inputs & outputs in the code. It’s very simple, just a couple lights that change when you push the button. When you’re done, it looks like something you’d see in an old sci-fi movie.

The Love-o-meter is simply a temperature sensor connected to some lights. The warmer it gets, the more lights turn on.

The color mixing lamp is really cool. It’s an LED with red, green, and blue elements in it. You can make any color you want by mixing the light from the elements.

The mood cue uses a stepper motor to point an indicator. The purpose is to learn the use of the stepper motor.

The light theremin is interesting. It uses a light sensor, and outputs a varied pitch tone based on the amount of light it sees.

I modified the code for the Crystal Ball. It’s supposed to be like a “magic 8 ball”. You program it with 8 possible answers and have a switch that’s activated by turning the board over. I never got the switch to attach to the breadboard because the pins are too short, so I just wired in a pushbutton switch instead. Instead of 8 random answers, I put in 8 random trivia facts. It was a fun project to learn how to get an LCD screen working.

Beyond that, I’ve been working on a few other projects that came to mind. One of them is a timer to control two lamps in my living room. Right now those lamps are on timers and come on in the evening, and turn off around 10:30. However, I have to adjust the timers every few weeks to follow the changing sunset time. My new timer will have a clock built in, and be able to calculate when sunset is, so I won’t have to adjust for it any more.

While contemplating that project, I found this. It’s a goofy little project, but it does almost exactly what I want my timer to do. The only difference is that I will drive a relay instead of an LED.

I emailed the guy who made that and asked if he could point me in the right direction for tracking sunrise/sunset times, since that is still a bit beyond my current abilities. He gladly shared his code with me, and has been very helpful in getting it modified to suit my needs. He also pointed me to the Arduino forums, where there is a wealth of knowledge to help figure this interesting little board out.

The other project I’m working on is a simple one to understand and build. I bought an old stoplight at a surplus store, and am fixing it up for my rec room. It will be driving by relays that are controlled by an Arduino when I’m done with it. The programming is super simple, not much more complicated than the “blink” program that is the first thing you learn with the Arduino, it will just have three lights instead of one, and the “blinks” will be very slow, and never on at the same time. I may get fancy and figure out how to connect a motion sensor to it so it only runs while we are in the room (no point in powering lights when there’s no on there to see them).

I have been having a great time, and look forward to a lot of fun projects in the future. Not only that, but I’m getting things figured out now, so when my kids get a little older, I can help them learn to program and make neat little projects too!

The Parable of the Pharisee and the Tax Collector

This post is a bit long. If you wish to skip the story behind the question that instigated this post, feel free to move down to the tweet that is embedded below and begin there.

Last night I went to be in the live audiance of The Late Debate, a local political radio talk show. I walked in a few minutes after the show started, and they were discussing gay “marriage”, which is a hot-button issue right now in Minnesota. (Last November, a ballot initiative to amend the state constitution to forever define marriage as between one man and one woman was defeated, and the Democrats took control of both houses of the legislature – already controlling the Governorship, and it’s presumed that they will pass a bill to redefine marriage to include same-sex couples).

As I walked in, their liberal guest, known to the Minnesota politcal world as “Two-Put Tommy” (Google it, I’d rather not reward him with a link), was in the middle of a screed against Christians, the primary opponents to the bill. He was chastizing Christians for cherry-picking the Biblical commands that they wish to “enforce” on everyone. His opinion seemed to be that homosexuality was only really discussed in the Old Testament, and the Old Testament (if I understand his thinking correctly) should have been made null and void by the New, which he asserts doesn’t address homosexuality.

When I got home, I posted a series of tweets addressing my frustration over such argumentation, which certainly isn’t unique to Tommy. It’s actually pretty much standard fare for non-Christians (or nominal Christians) who take issue with the moral views of Christians. There is nothing that frustrates me more about non-Christians than when they make Biblical arguments with Christians. It’s is extremely rare that they’ve ever actually read the Bible, and if they have they don’t make any effort to understand it in any meaningful way. Ask them what kind of Systematic Theology they subscribe to, or the Hermeneutical method they use to understand scripture and you’re likely to get a blank stare as an answer. Clearly they use the hostile Liberal media Hermeneutic of “it means what I think it means,” and their approach to Systematic Theology is similar.

Specifically what I proceeded to address in my Twitter posts was that there are actually three different forms of Law in the Bible: Civil, Ceremonial, and Moral. The Civil Law was their governmental law. It applied to that people at that time, in that place. It does not apply to anyone today, anywhere in the world, not even modern Israel.

The Ceremonial Law was their religious law. It involved things like animal sacrifice, dietary restrictions, and circumcision, among other things. That is what defined Judaism then, and still defines Judaism today. This is the Law that “went away” under the New Testament (it was always intended as a means of showing that we can’t acquire salvation on our own, we’re dependent upon the grace of God – Galatians 3:23-24).

The Moral Law is what Christians refer to in public discourse. The Moral Law applies to all people, at all times, and in all places. The foundation for the Moral Law is the Ten Commandments, though even they are divided in their application. The first tablet (commandments 1-5) reflect the nature of how man is to relate to God. If we’re going to talk about “separation of church and state”, these are the prerogative of the church. The second tablet (commandments 6-10) reflect the nature of how man is to relate to other men (I’m using “man” and “men” generically, of course, women are included). These commandments are: 6) Do not murder; 7) do not commit adultery; 8) do not steal; 9) do not lie; and 10) do not covet (often addressed in civil law under various conspiracy laws).

There is a lot more to be said on this, but my point is to set the stage to answer a question that was asked of me in response to my series of tweets. Jack Tomczak, one of the hosts of “The Late Debate”, and I have been following each other on Twitter for some time, and have conversed on many issues via Twitter. He takes issue with my understanding of morality and moral law (religiously he is a cultural Catholic, and politically he has strong Libertarian sympathies – we’re similar politically, but differ over issues like marriage). Jack subscribes to the main-stream Libertarian view on marriage that marriage is a religious rite and institution, and it would be better for the state to cease involvement in marriage altogether- stop issuing marriage licences and stop offering special benefits to married people such as tax credits. Because he sees it as a religious affair, he sees all arguments for the preservation of traditional marriage, and state recognition thereof as ultimately being religious in nature.

My view is that religion and morality have a lot of overlap, but morality is not necessarily religious in nature. Religious values are a subset of morality. Everything religious should be moral, but not everything dealing with morality is necessarily religious.

Because Jack doesn’t see homosexuality as immoral, and I do; coupled with his view of morality and religion being indistinguishable from each other, he asked the following question:

I think Jack meant Luke 18:9-14, which says, in the English Standard Version:

He also told this parable to some who trusted in themselves that they were righteous, and treated others with contempt: “Two men went up into the temple to pray, one a Pharisee and the other a tax collector. The Pharisee, standing by himself, prayed thus: ‘God, I thank you that I am not like other men, extortioners, unjust, adulterers, or even like this tax collector. I fast twice a week; I give tithes of all that I get.’ But the tax collector, standing far off, would not even lift up his eyes to heaven, but beat his breast, saying, ‘God, be merciful to me, a sinner!’ I tell you, this man went down to his house justified, rather than the other. For everyone who exalts himself will be humbled, but the one who humbles himself will be exalted.”

I can only presume that Jack is asking if I’m being a bit self-righteous in my views on homosexuality. I understand that thinking, but let me address it why that is not the case.

First of all, I’d like to point out that this is a parable. A lot of people have opinions on what parables are supposed to mean, but let me quote Jesus himself rather than giving my opinion. In Matthew 13, Jesus’ disciples ask him why he speaks in parables:

Then the disciples came and said to him, “Why do you speak to them in parables?” And he answered them, “To you it has been given to know the secrets of the kingdom of heaven, but to them it has not been given. For to the one who has, more will be given, and he will have an abundance, but from the one who has not, even what he has will be taken away. This is why I speak to them in parables, because seeing they do not see, and hearing they do not hear, nor do they understand. Indeed, in their case the prophecy of Isaiah is fulfilled that says:

   “You will indeed hear but never understand,
     and you will indeed see but never perceive.”
   For this people’s heart has grown dull,
     and with their ears they can barely hear,
     and their eyes they have closed,
   lest they should see with their eyes
     and hear with their ears
   and understand with their heart
     and hturn, and I would heal them.’

But blessed are your eyes, for they see, and your ears, for they hear. For truly, I say to you, many prophets and righteous people longed to see what you see, and did not see it, and to hear what you hear, and did not hear it.

In other words, it was meant to be confusing. Also, those who do understand it do so not of themselves, but because God himself has gracefully given them understanding. I have no grounds to boast to Jack that I understand this parable while it seems that he does not.

The parable of the Pharisee and the Tax Collector is one that goes straight to the heart of the Gospel. The Pharisee represented a religious system that says “do x and you’ll be saved.” That runs antithetical to the Gospel, which says that you can’t do anything to be saved, your salvation is a gracious and unmerited gift from God.

I understand my own sin. Like every other Bible-believing Christian, I hate the sin that is in myself more than anything else in the world. I hate the sin in myself more than the sins of other people. I understand that because of my own sin, I am not righteous, and I deserve the judgment of God.

The people in my discussion with Jack, those who are irreligious, homosexual, and wish to marry, are not represented at all in this parable. The Pharisee is the religious institutional leadership who arrogantly believe that their position within the religious system makes them better than everyone else, and worthy of Heaven. The tax collector is the repentent sinner who knows that he’s got an appointment in God’s courtroom, where he’ll be found guilty and punished. He calls out to the Judge for mercy, which is what the Judge is looking for. The irreligious person isn’t in the parable at all. He just doesn’t care. He lives his life as he sees fit and doesn’t consider the consequences. He’s not up at the Temple praying as these two are, he’s down in his house fornicating with his neighbor’s daughter.

I’m the tax collector in that parable. Not only am I grateful for the unmerited salvation that I have been given through Jesus Christ, I want others to come to the same knowledge of salvation as well.

And Jack, I’d love to explain the Gospel in full to you sometime. Perhaps next time I am able to join the Late Debate crowd on a Friday evening, we can discuss it in more depth.

My Twitter Philosophy

I’ve been on twitter for a while, two years as a regular user, almost six since I first created my account.

I think I tend to be a typical user as far as who I follow and what I tweet. Some are very topical, they may be tech celebs, so they only tweet tech-related stuff, just as an example.

I have two main subjects I tweet on: faith and politics. When it comes to politics, I have found no better way to keep up with state and local stuff than twitter. I just don’t have the time with three kids to follow the blogs or local media to keep up. Outside of faith and politics, I’m not afraid to tweet on whatever subject is on my mind, but other topics are less commonly found in my stream.

As for who I follow, as with most people, I follow those whom I find interesting. I also do follow-backs, but not automatically. Twitter can be a cesspool of attention-seeking glory-hounds and wanna-be self-made millionaires that will follow people by the thousands just to get follow-backs. That defeats the purpose of twitter as I see it; a community of people who have similar interests. Thus, if you follow me, and show me that you actually read my tweets (like a simple reply that is relevant to what I’ve tweeted), I’ll most likely follow you back.

However, my feed sometimes gets a little out of control, and it gets hard for me to keep up, so I sometimes feel the need to trim the list of people I follow. Usually first on the list is those who I don’t know that don’t follow me back. It’s usually an indication that someone met the criteria I illustrated above to get a follow-back, and then unfollowed me.

What it Would Take to Get Me to Vote Romney

About a month ago, I posted my refutation to some of the more idiotic things said by people who want me to vote Mitt Romney. I’m about to share some of the same thoughts, but also explain what it would take to get me to vote Romney.

There is about a 99% chance that I’ll be voting for Virgil Goode, the Constitution Party candidate for President. Why, you ask? Simply put, he’s the guy I like most. I don’t have much love for Mitt Romney, and voting for him would be a protest vote only, not a meaningful vote.

As I stated in my previous post, I live in Minnesota. Minnesota consistently votes Democrat for President. The last Republican to win Minnesota was Richard Nixon in 1972. We were the only state to go for Walter Mondale in 1984 (though likely because he’s from Minnesota). Only Washington DC joined us in not voting for Reagan. This year appears to be possibly moving more toward an even race, but is still in the Obama/Democrat category.

With Minnesota likely to go Obama, a vote for Romney is a protest vote. It’s an “anyone but Obama” vote. I don’t cast “anyone but…” votes, I vote for the guy I like most on the ballot.

“But You’re Wasting Your Vote”

You’re certainly entitled to your opinion, and you’re welcome to come up with whatever justification you wish for casting your vote, but I’ll decide what constitutes wasting my vote, thank you very much.

How you come to the conclusion of whom to vote for is your business. I don’t cast “lesser evil” votes, or “anybody but…” votes. I vote for the candidate that I like the most. For most races down the line, that ends up being the Republican, mostly for lack of any other choice – it’s the Democrat or it’s the Republican. In races even further down the line, such as school board, city council, or county office, it is often the Liberal Democrat vs. the more moderate Democrat. Whomever comes closest to my political philosophy gets my vote.

That said, it’s my opinion that “lesser evil” or “anyone but…” votes are the ones that are wasted. If there is a better candidate on the ballot, but you refuse to consider him/her because he/she is third party, you’re just rubber-stamping the status quo. In the case of the Presidential race this year, voting for Mitt Romney is voting for the guy who will drive us toward the cliff at a more leisurely pace, rather than speeding ahead with the pedal to the metal. I prefer a candidate that turns the bus around and heads away from the cliff.

“But A Vote for Anyone but Romney is a Vote for Obama”

I addressed this one in my previous post. This logic is completely idiotic, and using it shows that you don’t think at all, you just repeat the garbage you hear others saying. Just sit down and relax. You think Mitt Romney is the only other candidate. Well, just rest well knowing that since I’m not voting for Obama, my vote is as good as a vote for Romney. That may sound strange, but it’s your own bullet-proof logic.

“So What Will it Take to Get You to Vote Romney?”

I’m glad you finally got around to asking. That is what I set out to address, isn’t it?

Put simply, Minnesota will have to be very close. There will have to be a reasonable chance that it will go to a recount. Anything else and I’m going with the guy I like.

Why so close? Well, in any other case, it’s hard to make the argument that my vote really will make a difference in the outcome. If, as is normally the case, Minnesota is headed toward sending 10 electoral votes to the Democrats, then voting for Romney would be a protest vote. It’s an “anyone but Obama” vote. If that’s the case, what’s the difference between voting for Romney (who can’t win Minnesota) and Virgil Goode (who also can’t win Minnesota)? Neither guy will win Minnesota either way. In that case, a vote for Romney is a vote for the status quo. A vote for Romney says that I buy into the system. It’s Kang vs. Kodos.

If it suddenly swings in the other direction, and Romney becomes the projected winner in Minnesota, then a vote for him is simply a rubber-stamp for him. I don’t like him, and don’t have any desire to rubber stamp him. Sure, he’s the lesser evil, but still not my guy. He’s not the guy that will turn the bus around and head in the right direction.

“Why Do You Keep Talking about Minnesota? This is a National Election!”

Go back to third grade History and Civics class. We don’t have a national popular vote. We vote for electors from each state, who in turn vote for the Presidential candidates. My vote affects who those electors from Minnesota will be. Romney could get every vote from every voter in every other state, and it will make no difference who the electors from Minnesota are.

What was the Point of this Post?”

Mostly to tell you to shut up. You sound like a buffoon repeating every idiotic talking point you hear from your Republican Party handlers. Please, stop and think a little before repeating the same old tired and illogical arguments. If your candidate can’t win me to vote for him because he’s the best candidate on my ballot, then resorting to “wasted vote” and “lesser evil” arguments just expose him as being hollow, and your reasoning as weak. Maybe consider learning some basic informal logical fallacies. You’re engaging in several of them and you’re too ignorant to see it. For starters, you’re engaging in the following fallacies: Special Pleading, Bandwagon, Black or White, and Appeal to Emotion. There are probably others as well, but we’ll start there.

The Alpine INE-S920HD: My Thoughts

My family has been on several long road trips over the last two years. By long, I mean it takes at least a day to get where we’re going. in the case of a trip to Phoenix, it took three days to get home (we took our time getting down there, it took about a week). On the most recent, our trip to Bloomington, Indiana for our son’s cancer treatments, we discussed upgrading our car audio system. Our 2005 Isuzu Ascender (a Chevy Trailblazer with the Isuzu name) has nearly 110,000 miles on it, but is still in great condition. We don’t foresee needing to get a new vehicle for another 3-5 years, but wanted to get many of the features of a new vehicle, which are found in the audio system.

When I set out to do the upgrade, I had several features that I wanted in a system, and did a lot of research to make sure I’d get them. I settled on the Alpine INE-S920HD, though one of the key features I sought is not available in this unit.

What I wanted was:

  • Bluetooth for phone calls and audio – I wanted to integrate hands-free calling with the audio system. Also, I listen to a lot of podcasts, especially on long drives, I wanted to be able to play the podcasts loaded on my Android phone through the audio system without dealing with aux-in cords.
  • iPod control – While I am transitioning toward using my phone much more for podcasts, I still find myself sometimes using my classic iPod for the same thing, especially on the longer drives. I wanted to be able to integrate that into the system as seamlessly as possible.
  • Control of back seat video – To date, we’ve been using portable DVD players in the back to keep the kids entertained. I have a pair of Philips players that strap to the back of a headrest. This isn’t great, the seats usually tip somewhat back, rather than being straight up and down, meaning the players point down and can be harder to watch. I wanted to get a ceiling-mounted video screen that could be controlled by the in-dash audio system. My research showed that this is a common feature, called “Dual Zone”. I wanted the system to play my audio choice on the front speaker, and the sound for my kids’ DVDs in the rear speakers. Unfortunately, the Alpine INE-S920HD does not have this feature. I’ll explain more later.
  • Navigation – Over the past several years, we have grown to depend on our Garmin navigation systems. I wanted to get that integrated into the audio system. First, being integrated, the system will mute audio while announcing navigation instructions, so we don’t have a radio and a GPS blasting at the same time, competing for my ears. Second, I thought it would be nice to clear off the dash a little. Third, being in the dash frees up a power port, and eliminates a cord hanging from the dash.
  • A rear camera – We have a large vehicle that can be hard enough to see out the back of. Add a couple child seats in the back row and now a video screen hanging from the ceiling and I’m left with only my side mirrors to see behind the vehicle. Having a camera in the back would be very nice, and provide added safety. I thought it would be even nicer if the rear-camera could act something like a rear-view mirror while driving down the freeway, though the Alpine doesn’t do that, it only works will the vehicle is in reverse.
  • An HD Radio tuner – When I’m not listening to podcasts, I’m usually listening to talk radio. Most talk radio is on scratchy AM stations, and it would be nice to listen to them on the HD2 and HD3 streams on FM sister-stations.

Knowing what I wanted, I set out to find something that would best provide all the items on my wish list. I quickly came across the Clarion NX602, which claimed to do everything I wanted, with the possible exception of the always-on rearview camera. (I’m not sure any unit will do that when hooked up correctly). I also found this Alpine. I’ve long been a fan of Alpine, and sought to find a reason to justify buying it. My biggest hangup was the dual zone requirement. I called Crutchfield to get some of my questions answered. Among other questions, they said this unit had dual zone support. I took them at their word and assumed that meant I’d get the feature I most wanted. Unfortunately, I ended up ordering from Newegg though, because it was almost $100 cheaper than Crutchfield. It was a third party sale, and the seller does not accept returns for installed units. I can’t exactly complain that I was misled by Crutchfield when I bought from someone else and expect an exchange.

In order to make up for the missing feature that I wanted, I had to spend $250 extra to upgrade my video system to one with a built in DVD player (seriously, $250 extra for a DVD player! In 2012, when you can buy portable units for $50!) That player has an FM transmitter built in. So now we have a make-shift dual zone. My kids listen to their DVDs with a portable FM radio instead of the car audio system as I wished from the beginning.

That said, let me move on to the features the unit does have, and my opinions about them:
Read the rest of this entry »

My Evolution of Media Consumption

I’m a media junkie. Whether it’s music, TV shows, or movies, I like it. I’m especially fond of podcasting. Not only do I produce a podcast, I love listening to them.

Several years ago, I bought an Apple TV. I loved it. It was a great way to serve up my iTunes library to my TVs and stereo systems. I especially liked that I could play audio from my computer using iTunes and have it come out of the speakers hooked up to my Apple TVs (I have two). If I was moving around the house, I could have the music or podcasts I was listening to played in several rooms at the same time.

I’ve been using my Apple TVs less and less though. I still like them, but I’ve come to like something else better.

It all started last winter when I built my first Home Theater PC. As I was moving away from DirecTV and toward a life as a cord-cutter (someone who gives up cable and satellite TV), I quickly came to like using Windows Media Center as a DVR for over-the-air television. For the shows I used to watch on cable/satellite, Amazon Instant Video was an excellent substitute. Paying $3 per episode ($2 if you don’t mind standard definition, lower resolution) is much cheaper for my family than the $100/month we were paying for DirecTV.

In addition to my new DVR functionality, I quickly came to like another program: Plex. Plex is a derivative of XBMC, a media player that was originally built to play audio and video files on the first XBox, but was ported over to the PC. Plex is a little different in that it requires that one computer on your network act as a server. If you only have one computer, that’s no problem, it can serve to itself (it just requires two programs: the server and the client). The server is nice because it keeps track of everything. If you start watching a show or movie on one machine, stop part way through it, and continue in another room, it will remember where you left off.

What I love about Plex so much is that it is much more flexible than iTunes. It will handle many more file formats, and you can create your own sections. For example, instead of just having one section for TV shows, we have two. One of them is the standard TV show section, and another is for German language shows, since our kids watch all of their shows in German (which we get from, an online DVR service from Germany).

One feature that I mentioned loving about iTunes was one I missed with the HTPC: the ability to play audio to multiple places. This is a feature that Apple calles “Airplay”. However, I’ve been discovering other ways to use Airplay than just using Apple hardware. I won’t get into any real depth here, but Lifehacker has an article on how to send audio to a whole host of different places, from your phone to your HTPC and others. I can now send my podcasts from my Mac running iTunes to all of my HTPCs, as well as my Android phone, as well as my old Android phone that is hooked up to a radio in my kitchen. I’m now at a point where I can have a player set up in every area of my house (though not quite every room, so the volume needs to be turned up a bit and bedroom doors left open.)

My Apple TVs are first-generation. I haven’t used any of the newer ones (they are currently on the third generation), but I’ve come to use mine so little I don’t foresee updating to newer models. There is nothing more flexible than a computer. The newer Apple TVs have app support, but Apple has had a history of limiting what apps it will allow on their hardware. Not so with a computer.

Since building that HTPC, I set up an old laptop to act as an HTPC (mentioned in the post in March), but now have also added an old Mac Mini. For the time being, the Mac Mini mostly runs Plex, but the plan is to get a copy of Windows 7 to load on it via Boot Camp for a full-fledged HTPC for my bedroom.

If you’re going to record TV to an HTPC, DVR style, it’s good to have a current-generation machine with the power to handle several video streams simultaneously. However, older machines work great for clients. The old laptop, which works just fine as a client, is a Pentium Dual Core (the hardware that is between the Pentium 4 and the Core Duo). The Mac Mini is a Core Duo. If you’ve got an old machine that you’re looking for a use for, try hooking it up to your TV and using it as a media center.