We're screwed.
No, honestly, we are. We have two parties: one wants to destroy what remains of the welfare economy - social security, medicare, medicaid, programs to reduce unemployment, to build and rebuild critical infrastructure, turning the US government solely into a war machine, and we also have the Republicans who want the same thing but with no taxes.
I wish there was a groundswell of a movement for a third party right now, but I don't see that happening.
Thursday, July 21, 2011
Tuesday, July 19, 2011
Sunday, July 17, 2011
Some thoughts on the whole Murdoch/Hackergate thing
Here are some random thoughts in no particular order. They're generally based upon things I read and wanted to clarify.
- It doesn't appear that there's hard evidence in the "NotW bugged 9/11 victims" scandal. That is to say, one newspaper, the Daily Mirror, apparently is the source for the allegations, but other newspapers haven't dug up anything to corroborate the allegation.
- Even if she's entirely innocent, legally, I don't see how the person who was editor during the start of the NotW hacking campaign, and who headed the UK newspaper division of Murdoch's empire, could possibly have seen it as reasonable to not quit for as long as she did. Most executives would, at the very least, accept they had responsibility for the atmosphere that caused such acts to be committed, even if they, themselves, didn't know the specifics.
- Despite claims to the contrary, there is no threat to Fox News from this scandal. The FCC might require that the Murdoch Empire divest itself of its broadcast stations and, possibly, its broadcast network, but the FCC doesn't really have the same kind of jurisdiction on cable channels, movie studios, newspapers, or any other aspect of Murdoch's corporation. Moreover, the Fox Network is essentially apolitical, it carries very little centralized Murdochian news or comment, with the exception of Fox News Sunday.
- Despite the regulatory differences between the UK and US, and "something must be done" atmosphere in parliament, it's not entirely clear anyone in power can actually force a Murdoch exit from the UK media, with the exception of BSkyB, which has a similar legal status to Fox Network in the US.
- BSkyB is a satellite network that includes a variety of different channels. Regulatory differences between the UK and US, and the lesser influence of Murdoch within the organization, means that those channels contain very little political commentary, and are largely entertainment oriented.
- The rumors are focusing on Murdoch exiting the UK newspaper market.
- It is unclear to be how Murdoch would benefit by divesting himself of his UK newspapers.
- Murdoch uses his UK newspapers the same way as he uses Fox News in the US, propagating a kind of right wing populist rhetoric to make money and buy influence.
- Murdoch controls over 40% of the voting shares in News Corporation, despite only owning a much smaller fraction of the company itself. It is very, very, unlikely he'll be pushed out by investors. They'd have to be pretty much unanimous that he has to go.
- One of the two major parties in the US benefits immensely from Rupert Murdoch.
- I don't think Murdoch is going close/get rid of Fox News or The Sun
- I think there's sufficient plausible deniability for Murdoch to be able to shift the perceived blame on his subordinates, particularly Brookes.
- I think Murdoch may be forced out of BSkyB.
- If any effort is made to push Murdoch out of his UK newspaper holdings, I think the UK press will be concerned because of the precedent this sets, and as such I think such a move wouldn't go anywhere.
- I don't think any serious effort will be made to counter Murdoch's influence in the US.
Thursday, July 14, 2011
If only Google had a decent search engine
Three reasons why Google is an awful search engine these days, and how they can fix it.
1. If anything's obscure in your search results, Google will ignore it.
For some reason, Google are under the impression that it's more helpful to have 100,000 wrong answers, than three good ones, or even that "There's nothing like that on the web" might actually often be more helpful than pages upon pages upon pages upon pages upon pages of irrelevant, useless, links, whose lack of relevance has to be ploddingly checked one by effing one.
2. Google will change your search for no good reason
Some time ago, Google started posting, above the search results, a little note along the lines of "Did you intend to search for something or other" where something or other was your search string passed through a spell checker - or something. 98% of the time it was wrong, but occasionally something useful would come through. And then the user could click on that suggestion, and get the search results they wanted.
Not any more. Now it just automatically searches for the "corrected" version which means if you're not searching for "Brittnay speahs nood pix" but, say, the name of a product, or a code, or something else that, well, is the kind of thing you go to Google to find, you'll get pages upon pages upon pages upon pages upon pages of irrelevant, useless, links, whose lack of relevance will seem completely unexplained unless you happen to scroll back up and notice that the bit of text that looked like "Did you intend to search for something or other" had, in fact, been "Showing search results for 'Google is awesome'. Click here to search instead for 'Obscure error message #3193'"
3. You can't click to focus any more without the world's most useless feature interrupting you.
Some idiot at Google, and I use the word "idiot" without reservation, I don't care how much effort and cleverness was involved in developing the feature, decided that people aren't interested in the content of webpages. Oh no. What they're looking for, when they do a search, is some idea of the effing color scheme of the pages that might contain the information they're looking for. And so millions were invested in creating a tool that would ensure that if a user wants to see the color scheme of any page listed in their search results, they can do so without actually visiting the page in question.
So convinced of their own cleverness were these idiots that they didn't stop there. They incorporated into Google as a mandatory search feature - you can't turn it off - and set it up so it'll be invoked if you click anywhere on a search results page that's vaguely close to a search result. When you do so, your web browser will do a little dance as it processes some Javascript that downloads a thumbnail rendering of the website in question, showing a scaled down image that's just large enough to see the color scheme, but not large enough to bother your pretty eyes with any readable content.
How can Google fix these problems
It's quite simple really. All they have to do is remove the instant preview crap, and by default search for pages containing all of the words/phrases that the user asked for.
Will they do this? Hell no.
1. If anything's obscure in your search results, Google will ignore it.
For some reason, Google are under the impression that it's more helpful to have 100,000 wrong answers, than three good ones, or even that "There's nothing like that on the web" might actually often be more helpful than pages upon pages upon pages upon pages upon pages of irrelevant, useless, links, whose lack of relevance has to be ploddingly checked one by effing one.
2. Google will change your search for no good reason
Some time ago, Google started posting, above the search results, a little note along the lines of "Did you intend to search for something or other" where something or other was your search string passed through a spell checker - or something. 98% of the time it was wrong, but occasionally something useful would come through. And then the user could click on that suggestion, and get the search results they wanted.
Not any more. Now it just automatically searches for the "corrected" version which means if you're not searching for "Brittnay speahs nood pix" but, say, the name of a product, or a code, or something else that, well, is the kind of thing you go to Google to find, you'll get pages upon pages upon pages upon pages upon pages of irrelevant, useless, links, whose lack of relevance will seem completely unexplained unless you happen to scroll back up and notice that the bit of text that looked like "Did you intend to search for something or other" had, in fact, been "Showing search results for 'Google is awesome'. Click here to search instead for 'Obscure error message #3193'"
3. You can't click to focus any more without the world's most useless feature interrupting you.
Some idiot at Google, and I use the word "idiot" without reservation, I don't care how much effort and cleverness was involved in developing the feature, decided that people aren't interested in the content of webpages. Oh no. What they're looking for, when they do a search, is some idea of the effing color scheme of the pages that might contain the information they're looking for. And so millions were invested in creating a tool that would ensure that if a user wants to see the color scheme of any page listed in their search results, they can do so without actually visiting the page in question.
So convinced of their own cleverness were these idiots that they didn't stop there. They incorporated into Google as a mandatory search feature - you can't turn it off - and set it up so it'll be invoked if you click anywhere on a search results page that's vaguely close to a search result. When you do so, your web browser will do a little dance as it processes some Javascript that downloads a thumbnail rendering of the website in question, showing a scaled down image that's just large enough to see the color scheme, but not large enough to bother your pretty eyes with any readable content.
How can Google fix these problems
It's quite simple really. All they have to do is remove the instant preview crap, and by default search for pages containing all of the words/phrases that the user asked for.
Will they do this? Hell no.
TV... this week?
It's been a while since I did a "TV this week" thing, so here's what I'm watching...
1. Leverage
This show remains awesome. It's formulaic, I admit, but it's a decent formula and it's fun.
2. Falling Skies
Not really digging it, L likes the show but I think it's slow and tedious. To be honest, I'm not digging the whole "Invading aliens" thing these days. V was bad enough, they didn't have to remake it, and the remake doesn't really grab me either.
3. Futurama
Enjoying the new series very much, it's everything I used to love about Futurama.
4. Conan
He seems somewhat tame compared to his reputation, but it's still a fun show, and actually enjoyable which I can't say about Leno. Letterman's OK but given the choice I'd rather watch something else.
5. Warehouse 13
It's not a great series, but it's better than Letterman
Looking forward to Breaking Bad this weekend.
Apparently, this coming season, they've canceled Human Target - a favorite of my wife's (we both like Guerrero...). 24 has gone (which was another "Well, it's better than Letterman" thing). It's the last ever season of House. And of course, Dollhouse and T:SCC (you already know my fixed feelings on that one...) have gone to meet their maker. Is this bad? Well, with a bit of luck something better than any of these shows will appear.
What have you been watching?
1. Leverage
This show remains awesome. It's formulaic, I admit, but it's a decent formula and it's fun.
2. Falling Skies
Not really digging it, L likes the show but I think it's slow and tedious. To be honest, I'm not digging the whole "Invading aliens" thing these days. V was bad enough, they didn't have to remake it, and the remake doesn't really grab me either.
3. Futurama
Enjoying the new series very much, it's everything I used to love about Futurama.
4. Conan
He seems somewhat tame compared to his reputation, but it's still a fun show, and actually enjoyable which I can't say about Leno. Letterman's OK but given the choice I'd rather watch something else.
5. Warehouse 13
It's not a great series, but it's better than Letterman
Looking forward to Breaking Bad this weekend.
Apparently, this coming season, they've canceled Human Target - a favorite of my wife's (we both like Guerrero...). 24 has gone (which was another "Well, it's better than Letterman" thing). It's the last ever season of House. And of course, Dollhouse and T:SCC (you already know my fixed feelings on that one...) have gone to meet their maker. Is this bad? Well, with a bit of luck something better than any of these shows will appear.
What have you been watching?
What not to cook on
We got a glass top stove as a house warming present. My wife has been wanting one for a while.
I assumed they were just as good/bad as a regular electric stove and didn't object. After all, it was going to be easier to clean, apparently, so what's not to love?
Actually it sucks. Things I hate about it:
1. It's picky about what kind of pots and pans you have
2. If you clean a pan, you have to be very careful to make sure it's dry before putting it on the "burner".
3. The temperature seems to be even less easy to control than a regular electric burner.
4. Despite the major selling point, the "easy to clean" surface, it's actually a pain to clean and there are already various permanent stains on it.
I think when I have the money I'll try to get a gas hook-up and get a proper gas cooker, like nature intended.
I assumed they were just as good/bad as a regular electric stove and didn't object. After all, it was going to be easier to clean, apparently, so what's not to love?
Actually it sucks. Things I hate about it:
1. It's picky about what kind of pots and pans you have
2. If you clean a pan, you have to be very careful to make sure it's dry before putting it on the "burner".
3. The temperature seems to be even less easy to control than a regular electric burner.
4. Despite the major selling point, the "easy to clean" surface, it's actually a pain to clean and there are already various permanent stains on it.
I think when I have the money I'll try to get a gas hook-up and get a proper gas cooker, like nature intended.
Wednesday, July 13, 2011
Stock Market #2
So I've invested in the stock market and every freakin' day my portfolio has closed down. Even today, when pretty much the entire market went up.
I'm investing long term, but even so. What's really annoying me is I can't undo some bad decisions, my employer has enough involvement in the finance industry to require its employees restrict their investments - I can't sell anything until a month after I buy it, for example.
Investment that's pissing me off: General Mills. Every report/recommendation is saying "Buy buy buy!", and yet there hasn't been a single day since I bought the thing when it hasn't dropped.
Oh well.
I'm investing long term, but even so. What's really annoying me is I can't undo some bad decisions, my employer has enough involvement in the finance industry to require its employees restrict their investments - I can't sell anything until a month after I buy it, for example.
Investment that's pissing me off: General Mills. Every report/recommendation is saying "Buy buy buy!", and yet there hasn't been a single day since I bought the thing when it hasn't dropped.
Oh well.
Sunday, July 10, 2011
Cats and cat naps
I think I've figured out why cats only sleep for twenty minutes at a time. It's that whole "curl into a ball" thing they inevitably end up in.
As they curl up, their feel get closer and closer to their noses.
Imagine the dream.
As they curl up, their feel get closer and closer to their noses.
Imagine the dream.
"I see you mouse"
The mouse froze. I can sense the terror in its eyes. It looks to the left and right trying to find a route to safety. Haha!
"You can't escape me little mouse", I think, "I know all the exits. I know everywhere you can go, and if you move, I can calculate your likely position and the thrust I need to jump on to you in a fraction of a millisecond."
The mouse looks left and right. I wait for him to make his move.
But I sense something is wrong. The mouse seems to have a glint in his eye! He squeaks at me. The bastard! He is taunting me. I prepare to leap. I no longer care if the mouse is going to move or not, I will jump on him anyway. Ha!
I prepare myself. I make my calculations. And I jump! I fly through the air, and my claws land in something soft!
Got you!
But I hear squeaking beside me. My eyes turn and I see the mouse next to me. The mouse is squeaking, he is laughing at me! The mouse is mocking me!
But what do I have? I begin to smell something. I smell cheese. Cheese! I look at my claws, and they are covered in cheese! I must have jumped on to the mouse's cheese!
The mouse is now not just squeaking, it is throwing more and more cheese at me. More and more cheese! I try to move, but my paws are stuck in the cheese, there's just so much of it! My nostrils fill with the increasingly pungent aroma.
"Squeak squeak!" teases the mouse. He runs around in front of me, and I can do nothing about it. So much cheese! It is overpowering!
I must catch that damned mouse!
I try to move forward, but I can barely move, I cannot breath with the air so thick with the cheesy smell, and my feet are so stuck in the cheese. I am desperate, I cannot catch the mouse like this! I try to breath, I can barely breath and...
...what the hell? I just woke up and my back feet are right up against my nose.
Not again!
LJ and spam
I'm actually somewhat glad I jumped ship to Blogger, as 90%+ of the comments I get at LJ are spams. As I haven't posted anything new there in a while I just changed the moderation scheme to "Friends only", so I stop getting notifications concerning the replies.
It's a shame, I like LJ on one level, but I think the whole social networking thing they tried to get into attracted the wrong element.
It's a shame, I like LJ on one level, but I think the whole social networking thing they tried to get into attracted the wrong element.
The Debt Ceiling
The Debt Ceiling is one of those things that seems entirely reasonable in theory, but in practice is utterly insane. Here's the problem.
The government is required to spend a certain amount of money. How much? That's up to Congress, which sets the budget. The executive can't reduce that amount of money unilaterally.
However, Congress also sets a "Debt limit" which means the executive may run out of money, be unable to borrow more, and find it cannot spend the money congress has told it to.
So what's the point? In practice, the only purpose the ceiling serves is to allow congress to create an artificial crisis whenever it wants. If Congress actually wants to reduce the amount of debt, or put a ceiling on it, it has always had the power to do so. The only purpose of the ceiling is to create a crisis and make it appear to be the executive's fault.
What's Obama doing about this? Answer: I don't know. Obama has ruled out taking the "constitutional option" by all accounts - basically saying "Screw you guys, you're telling me to break the law whatever happens, which by definition means your laws are unconstitutional, so I'm going to ignore the limit which appears to be the law that's the problem". Obama has a habit - public option, DADT, etc - of pretending his hands are tied when, in fact, he actually supports the outcome anyway, and his recent claim that this was a historic opportunity to cut social security makes me think that he, ultimately, wants to cut government spending.
Recently I read an article in the Washington Post which included a quote from Obama, in 2006, saying he was going to vote against an increase in the debt ceiling as a senator, which he and the democratic caucus ultimately did. While some protested this was a typical case of the MSM trying to be "balanced" using a "both sides do it" argument, the WP got this right. Yes, Obama was right that in 2006, when the economy was doing well, paying down the debt was the right approach. Virtually every mainstream, sane, economics system teaches you that in Econ 101. However, the only method to achieve this is to reduce the government's spending mandates. Obama didn't try to do that, he simply voted for something that would create a crisis.
The debt ceiling is not an effective method to reduce the debt. It does create uncertainty in the markets, and will cause lenders to demand higher interest rates for government borrowing in future, and it'll cause chaos if it's actually hit. It's a stupid idea, and it has to go.
The government is required to spend a certain amount of money. How much? That's up to Congress, which sets the budget. The executive can't reduce that amount of money unilaterally.
However, Congress also sets a "Debt limit" which means the executive may run out of money, be unable to borrow more, and find it cannot spend the money congress has told it to.
So what's the point? In practice, the only purpose the ceiling serves is to allow congress to create an artificial crisis whenever it wants. If Congress actually wants to reduce the amount of debt, or put a ceiling on it, it has always had the power to do so. The only purpose of the ceiling is to create a crisis and make it appear to be the executive's fault.
What's Obama doing about this? Answer: I don't know. Obama has ruled out taking the "constitutional option" by all accounts - basically saying "Screw you guys, you're telling me to break the law whatever happens, which by definition means your laws are unconstitutional, so I'm going to ignore the limit which appears to be the law that's the problem". Obama has a habit - public option, DADT, etc - of pretending his hands are tied when, in fact, he actually supports the outcome anyway, and his recent claim that this was a historic opportunity to cut social security makes me think that he, ultimately, wants to cut government spending.
Recently I read an article in the Washington Post which included a quote from Obama, in 2006, saying he was going to vote against an increase in the debt ceiling as a senator, which he and the democratic caucus ultimately did. While some protested this was a typical case of the MSM trying to be "balanced" using a "both sides do it" argument, the WP got this right. Yes, Obama was right that in 2006, when the economy was doing well, paying down the debt was the right approach. Virtually every mainstream, sane, economics system teaches you that in Econ 101. However, the only method to achieve this is to reduce the government's spending mandates. Obama didn't try to do that, he simply voted for something that would create a crisis.
The debt ceiling is not an effective method to reduce the debt. It does create uncertainty in the markets, and will cause lenders to demand higher interest rates for government borrowing in future, and it'll cause chaos if it's actually hit. It's a stupid idea, and it has to go.
Saturday, July 9, 2011
Investing in the stock market
This week I finally bit the bullet and opened a trading account (TD Ameritrade, in case you're wondering, but that's neither an endorsement or a criticism.)
Why invest now? Well, why not? One thing I've realized after looking at the whole thing over the last few years is there's never a "right" or "wrong" time to start investing, you just have to be careful with your strategy and not expect to make a million dollars over night. The two major strategies I'm going with are:
The problem with the economy right now is that most businesses aren't seeing demand. The lack of demand means companies are sitting on cash they don't really know what to do with. Large companies are sitting on large piles of cash, and that cash pile is growing, but they see no reason to spend more because they're selling pretty much all they make.
(This, incidentally, is why that "encourage companies to bring money back from their overseas subsidiaries" thing is not as useful as it sounds. They may physically bring the money into the US, but at best they'll simply hand it over to their shareholders. It is emphatically not going to be used to create jobs.)
Now, this means a number of things, but critically it means that investing in stocks that pay dividends right now is a good idea, because dividends are high, and will continue to be so, even if the market crashes again.
So, anyway, that's what I invested in. And I'll continue to add to the portfolio for a few years, and see what happens to it. Now's the time, especially if, as seems likely, the economy starts to nosedive like it's 1937 all over again.
Why invest now? Well, why not? One thing I've realized after looking at the whole thing over the last few years is there's never a "right" or "wrong" time to start investing, you just have to be careful with your strategy and not expect to make a million dollars over night. The two major strategies I'm going with are:
- "Averaging" - invest a fixed amount every {fixed time period} rather than looking for some magical time to invest a lot of money. Averaging is pretty much the only way to play unstable markets. It works on the basis that when the market is down a certain percentage, you lose less money than you gain when it's up a similar percentage. eg: Invest $100 - market loses half its value, you lose $50. Invest $100, market doubles in value, you gain $100.
- Dividend stocks and ETFs only
The problem with the economy right now is that most businesses aren't seeing demand. The lack of demand means companies are sitting on cash they don't really know what to do with. Large companies are sitting on large piles of cash, and that cash pile is growing, but they see no reason to spend more because they're selling pretty much all they make.
(This, incidentally, is why that "encourage companies to bring money back from their overseas subsidiaries" thing is not as useful as it sounds. They may physically bring the money into the US, but at best they'll simply hand it over to their shareholders. It is emphatically not going to be used to create jobs.)
Now, this means a number of things, but critically it means that investing in stocks that pay dividends right now is a good idea, because dividends are high, and will continue to be so, even if the market crashes again.
So, anyway, that's what I invested in. And I'll continue to add to the portfolio for a few years, and see what happens to it. Now's the time, especially if, as seems likely, the economy starts to nosedive like it's 1937 all over again.
A night of tiredness
Was feeling tired when I got home last night, so decided to take a fifteen minute nap. When I woke up it was 11.30 at night and my wife was very gingerly trying to get into the bedroom without waking me. I felt terrible, L and I were going to make a dinner together. L had decided I needed my sleep and didn't want to wake me, and had been debating actually sleeping on the couch to avoid waking me.
Couldn't get back to sleep, so got up, got a take out (McD's saving grace is that they're the only restaurant here open 24 hours a day. The only one. Still, that Mango Pineapple Smoothie they do is nice.) I stayed up until I got tired, which in practice meant about 6am. Tried to go to bed without waking L, but alas, I did. And I still couldn't sleep.
Finally, at around 11.30, I tried to "nap" again and the next thing I knew it was 4.30pm.
So I'm guessing my sleep pattern is completely out of whack now.
Did "watch" Gigli last night, which I'd never seen before. I can't comment on how good or bad it is (reportedly it's the latter) because I watched it with the sound off, to avoid waking L. Oh well.
Couldn't get back to sleep, so got up, got a take out (McD's saving grace is that they're the only restaurant here open 24 hours a day. The only one. Still, that Mango Pineapple Smoothie they do is nice.) I stayed up until I got tired, which in practice meant about 6am. Tried to go to bed without waking L, but alas, I did. And I still couldn't sleep.
Finally, at around 11.30, I tried to "nap" again and the next thing I knew it was 4.30pm.
So I'm guessing my sleep pattern is completely out of whack now.
Did "watch" Gigli last night, which I'd never seen before. I can't comment on how good or bad it is (reportedly it's the latter) because I watched it with the sound off, to avoid waking L. Oh well.
Thursday, July 7, 2011
News of the Screws
One of Britain's worst newspapers is closing this Sunday. The News of the World a newspaper that's existed since the 1800s, but it's never had an ounce of respectability, trafficking - from the beginning - in salacious gossip and scandal. The NotW has always represented everything that's rotten in British "journalism".
Why is it closing? Because it committed crimes, repulsive, awful, crimes, while chasing various stories, and - critically - it got caught.
James Murdoch (yes, Murdoch's son, it's a family business) made some interesting claims concerning the paper:
The good things the News of the World does … have been sullied by behaviour that was wrong. Indeed, if recent allegations are true, it was inhuman and has no place in our company," he said."The News of the World is in the business of holding others to account. But it failed when it came to itself.
No, the News of the World has never been "in the business of holding others to account", or had any other deep, important, mission.
Of course, the NotW isn't really being closed. It's more of a renaming and reorganization. In real terms, the NotW has been the "Sunday Sun" for several decades now (or perhaps, given what came first, the Sun is the Daily News of the World), and by all accounts, Murdoch intends to turn the Sun into a 7 day operation. Because the label "The Sun" wasn't implicated in the scandal, this is apparently all OK, and nobody's going to object.
Goodbye News of the World. I'm not sorry to see you go. I wish you were really going though, both the edition that bares your name, and the daily edition that will continue to carry your torch.
Why is it closing? Because it committed crimes, repulsive, awful, crimes, while chasing various stories, and - critically - it got caught.
James Murdoch (yes, Murdoch's son, it's a family business) made some interesting claims concerning the paper:
The good things the News of the World does … have been sullied by behaviour that was wrong. Indeed, if recent allegations are true, it was inhuman and has no place in our company," he said."The News of the World is in the business of holding others to account. But it failed when it came to itself.
No, the News of the World has never been "in the business of holding others to account", or had any other deep, important, mission.
Of course, the NotW isn't really being closed. It's more of a renaming and reorganization. In real terms, the NotW has been the "Sunday Sun" for several decades now (or perhaps, given what came first, the Sun is the Daily News of the World), and by all accounts, Murdoch intends to turn the Sun into a 7 day operation. Because the label "The Sun" wasn't implicated in the scandal, this is apparently all OK, and nobody's going to object.
Goodbye News of the World. I'm not sorry to see you go. I wish you were really going though, both the edition that bares your name, and the daily edition that will continue to carry your torch.
Tuesday, July 5, 2011
A man and a woman walk into an elevator and...
There's a spat going on in the skeptic community concerning the reaction of Richard Dawkins to Rebecca Dawson's post about being propositioned in an elevator at four in the morning.
My 2c are:
But why, in 2011, are we still in a state where women are likely to feel vulnerable in this way? I ask this because... well, the violence statistics I've read suggest that women are relatively rarely the subject of any kind of violent attack - men are, by and large, much more likely to be physically assaulted.
Now, knowing this is true, you'd suppose that two men in an elevator would size one another up, and if one feels weaker than the other, for the weaker man to feel the danger in much the same way.
But I don't think that happens. It doesn't to me anyway. In fact, I put myself in positions frequently that women I know would never dare, despite not being, really, able to defend myself in any meaningful way. I don't carry weapons, and frankly, I don't know how to fight. I never did learn that on the playground. Got the shit beaten out of me every school day for years on end. That's not an exaggeration. And I still don't. But I'll be in a city, a real one I mean, with sidewalks and stuff, and it'll be one in the morning, and I'll think to myself "I should go for a walk."
And I'll go for a walk, and enjoy a city that's quiet and showing a side of itself you can't appreciate during the day.
You know what makes me nervous when I do that? When I see a cop. Because I get all paranoid and worry that he's going to wonder what I'm doing out at that time, and I'll get stopped, and arrested for some bullshit reason, even though it's never happened to me and no cop's going to make work for themselves if they don't have to.
If I got mugged, I wouldn't be able to defend myself. And yet I'm not nervous. I don't constrain my life with fear. I don't fear the guy walking towards me, even though he looks drunk and might be desperate for money or something.
And I think most men feel the same way. But a woman can't stand for a minute in an elevator with a lecherous drunk without being worried she's going to be assaulted.
My wife would never join me on that walk. In fact, if she has a say in it, she'll refuse to let me step out the door.
That's not right. We have to change that.
My 2c are:
- It's 2011, it's inappropriate to ask a complete stranger a very awkward question with sexual overtones in a confined space, and if the recipient of such attention is female, one can understand, in the current climate, that she'd feel somewhat nervous about it.
- But why is the climate like that? In 2011? Why should it be?
But why, in 2011, are we still in a state where women are likely to feel vulnerable in this way? I ask this because... well, the violence statistics I've read suggest that women are relatively rarely the subject of any kind of violent attack - men are, by and large, much more likely to be physically assaulted.
Now, knowing this is true, you'd suppose that two men in an elevator would size one another up, and if one feels weaker than the other, for the weaker man to feel the danger in much the same way.
But I don't think that happens. It doesn't to me anyway. In fact, I put myself in positions frequently that women I know would never dare, despite not being, really, able to defend myself in any meaningful way. I don't carry weapons, and frankly, I don't know how to fight. I never did learn that on the playground. Got the shit beaten out of me every school day for years on end. That's not an exaggeration. And I still don't. But I'll be in a city, a real one I mean, with sidewalks and stuff, and it'll be one in the morning, and I'll think to myself "I should go for a walk."
And I'll go for a walk, and enjoy a city that's quiet and showing a side of itself you can't appreciate during the day.
You know what makes me nervous when I do that? When I see a cop. Because I get all paranoid and worry that he's going to wonder what I'm doing out at that time, and I'll get stopped, and arrested for some bullshit reason, even though it's never happened to me and no cop's going to make work for themselves if they don't have to.
If I got mugged, I wouldn't be able to defend myself. And yet I'm not nervous. I don't constrain my life with fear. I don't fear the guy walking towards me, even though he looks drunk and might be desperate for money or something.
And I think most men feel the same way. But a woman can't stand for a minute in an elevator with a lecherous drunk without being worried she's going to be assaulted.
My wife would never join me on that walk. In fact, if she has a say in it, she'll refuse to let me step out the door.
That's not right. We have to change that.
Not guilty
I'm not going to spend a lot of time on the subject, but I'm surprised by the hysteria concerning the acquittal of Casey Anthony.
Ms Anthony didn't "aquitt" herself well, she's obviously a serial liar, but I also felt, from what I saw of the case, that the case against her was weaker than the media portrayed it as. Just being dishonest and a slimeball doesn't make you a child murderer, and while there certainly were pieces of circumstantial evidence that made things look bad, you certainly can't convict someone of first degree murder on that basis.
Especially when such a verdict would likely result in an irrevocable execution.
Perhaps that was something running through the minds of the jury when they made their decision. If so, that'd be one of the few times the existence of the Death Penalty has served the cause of justice.
Ms Anthony didn't "aquitt" herself well, she's obviously a serial liar, but I also felt, from what I saw of the case, that the case against her was weaker than the media portrayed it as. Just being dishonest and a slimeball doesn't make you a child murderer, and while there certainly were pieces of circumstantial evidence that made things look bad, you certainly can't convict someone of first degree murder on that basis.
Especially when such a verdict would likely result in an irrevocable execution.
Perhaps that was something running through the minds of the jury when they made their decision. If so, that'd be one of the few times the existence of the Death Penalty has served the cause of justice.
Monday, July 4, 2011
Why we tax the rich
It's extremely odd listening to the rhetoric at the moment where even the suggestion that a subsidy ("tax break") on what's ultimately very much a luxury item (corporate jets) might be closed is considered "class warfare". It doesn't make much sense on any level that this is "class warfare", but the label is repeated so often by many on the right that you have to wonder why they think that.
Virtually every modern democracy has a progressive tax rate. The term "progressive" here could be defined as having two meanings - on a technical level, it's progressive in that the more you earn, the progressively large a portion of your earnings you're supposed to pay back to society. And it's progressive in that it's considered a progressive ideal, a step towards a utopian society where a leveling of the playing field is a necessary goal to bring peace, prosperity, and freedom from want for all.
But let's forget about the latter aspect, and concentrate on whether a healthy society is better off with progressive tax systems. The arguments for and against can be summarized as follows:
For
The rich, pretty much by definition, benefit more from society than the poor, and therefore should pay more towards its upkeep.
I tend to think the above point is so self-evident that it barely deserves explanation, but it does have arguments against. The key word above is "society". The argument against is that taxes don't go to "society", they go to "government", and government spends disproportionately - through welfare, unemployment, social security, medicare, etc - on the poor. This ignores the fact though that the taxes that are collected to support those specific programs are taxes being raised to fund society, not government. It happens that we use the power of government to administer those social programs, but that doesn't change where the money is flowing.
Now, obviously, it's easy to see government programs that aren't social, such as the military, but even there, it's pretty obvious that the military is defending something of more value to someone when it's defending a large amount of property and/or an infrastructure to bring in a huge amount of income than it is when it's defending little infrastructure and a small house.
There's also a practical side to contributing one's fair share to the society one lives within: the rich also benefit from a stable society free of serious want. Nobody in their right mind wants to live in a country where a significant proportion of their neighbors are desperate. How many would argue that those self same people who want a stable society to live in, to protect the infrastructure that keeps them wealthy, shouldn't pay what needs to be paid to bring that stability into place?
The rich can afford higher taxes
Again, this is an argument that should be seen as self evident, and I suspect actually it is. Most arguments against this are usually by accident when a critic of higher taxes is actually arguing something else. As in "Oh yeah, let's have higher taxes, then rich people will be forced to send their money to Barbados."
That's not really a counter argument. Nobody's being forced to send their money to an off shore tax shelter - people who do so are trying to "protect" a class of living, not preventing themselves from going into bankruptcy - and, besides, tax shelters aren't as attractive as frequently claimed. The money that's sent into a tax shelter isn't easily accessible, and unless taxes are obscenely high (like the 90% rates we saw in Britain during the 1970s), the principle of diminishing returns certainly applies here.
There's a simple, unavoidable, practical argument here. If we take two people, one earning $20,000 a year, the other earning $250,000 a year (to use a figure many on the right claim is not a high wage), if I lose half my earnings (in taxes), will it cause immense hardship? For the person on $20k, the answer is "almost certainly". For the person on $250,000, the answer is "no way."
Now, there is one thing I'd like to add here. Obviously if someone has been taxed at 30% on their income all of their lives, and has entirely legitimately made long term financial decisions based upon an assumption they'll continue to have a similar net income for a while, then raising their taxes to, say, 50%, overnight, is obviously going to cause hardship. It might mean that a mortgage suddenly becomes difficult to pay, for example. But a small increase, or a series of small increases over a decade, are not going to cause that kind of problem. And I hear no-one arguing for a sudden doubling of income taxes for the very wealthy.
People will be encouraged to evaluate whether an increasingly minor rise in personal income is worth it if it has a disproportionate effect on the businesses they run.
This is one of the strongest arguments to be made in favor of higher taxes and yet I rarely hear anyone express it. Indeed, the exact opposite argument - that raising taxes will mean business people will have less money to invest - is more often the one that people hear.
One little bit of evidence of this can be seen in the disproportionate wage rises since the 1970s. As taxes on upper incomes were reduced, the gap between wage earners has massively increased. With no incentive to put their companies first, those with the power to set their own salaries have raced to the bottom to get as much money out of their companies, and into their bank accounts.
Was this wrong? It's hard to say, but it's also true that we're in the rather odd situation where we see people running companies into the ground - from the .com excesses during the 1990s to the banks in the last decade - being rewarded with ever higher salaries, with most outsides, quite legitimately, wondering if there are any incentives whatsoever to run a business for the benefit of its shareholders, customers, and employees.
What about the counter arguments?
Higher taxes are fair, even ignoring the fact they made their money within the society they're paying taxes for, because richer people are rarely worth what they're paid
This one's controversial in some quarters, but really large salaries come down to luck and not a lot else. I'm not arguing that everyone should be paid the same as everyone else, but there's clearly something wrong when someone's working six days a week, ten hours a day, and barely making minimum wage, while someone else, through a series of accidents that started at birth, gets to work a few days a week and earn millions. I'm not arguing that millionaires aren't hard workers, most are, but it's frequently underestimated what the work differential is between those on the highest incomes, and those on lower incomes.
Money doesn't trickle down, it trickles up
The argument that money trickles down is generally based on the idea that a wealthy person will buy a much bigger home, a private yacht, and that as they spend their money, everyone they spend money on will get richer.
Unfortunately this argument doesn't actually make a lot of sense. Let's go through the problems with the whole "rising tide" thing:
Arguing that money should be concentrated in the hands of the wealthy because it'll eventually make its way to everyone else is arguing for an end to the gains made since the industrial revolution, as a world where money is widespread is a world where economies of scale make economies grow. Money never trickles down, it trickles up.
Raising taxes encourages people to spend money on their own businesses
I posited a related argument above, but here's the thing. How do I know that investing in a business you own is a great thing to do if you have higher taxes?
Well, because that's how the tax system is set up. I own a business. When I spend money I earn on my business, it becomes tax deductible, and it doesn't matter if I'm earning a billion dollars a year, or $100,000. And thanks to a progressive tax system, the more I spend on my business, the less of a proportion of what's left gets taxed!
Class warfare? It'd be class warfare if, y'know, this was about class, not income, and if it involved warfare, not taxes. This is about an economy that needs a few less moral hazards, and a society that supports itself.
Virtually every modern democracy has a progressive tax rate. The term "progressive" here could be defined as having two meanings - on a technical level, it's progressive in that the more you earn, the progressively large a portion of your earnings you're supposed to pay back to society. And it's progressive in that it's considered a progressive ideal, a step towards a utopian society where a leveling of the playing field is a necessary goal to bring peace, prosperity, and freedom from want for all.
But let's forget about the latter aspect, and concentrate on whether a healthy society is better off with progressive tax systems. The arguments for and against can be summarized as follows:
For
- The rich, pretty much by definition, benefit more from society than the poor, and therefore should pay more towards its upkeep.
- The rich can afford higher taxes. If I take away a person who's earning $1000 a month half his salary, the chances are he'll not be able to pay for food, shelter, and necessary resources. If I take away half the salary of someone earning $1,000,000 a month, well, that person's still going to be living an extremely comfortable lifestyle.
- Higher taxes generally fall upon wealthy businessmen. If wage rises have diminishing returns, then those same people will be encouraged to evaluate whether an increasingly minor rise in personal income is worth it if it has a disproportionate effect on the businesses they run.
- It's frequently argued that higher taxes are unfair, because richer people have earned every penny of their income.
- It's sometimes argued that richer people are going to spend their money anyway, so it'll trickle down to the not so rich.
- It's frequently argued that if those with high wages have more money, they'll invest more of it in their businesses.
The rich, pretty much by definition, benefit more from society than the poor, and therefore should pay more towards its upkeep.
I tend to think the above point is so self-evident that it barely deserves explanation, but it does have arguments against. The key word above is "society". The argument against is that taxes don't go to "society", they go to "government", and government spends disproportionately - through welfare, unemployment, social security, medicare, etc - on the poor. This ignores the fact though that the taxes that are collected to support those specific programs are taxes being raised to fund society, not government. It happens that we use the power of government to administer those social programs, but that doesn't change where the money is flowing.
Now, obviously, it's easy to see government programs that aren't social, such as the military, but even there, it's pretty obvious that the military is defending something of more value to someone when it's defending a large amount of property and/or an infrastructure to bring in a huge amount of income than it is when it's defending little infrastructure and a small house.
There's also a practical side to contributing one's fair share to the society one lives within: the rich also benefit from a stable society free of serious want. Nobody in their right mind wants to live in a country where a significant proportion of their neighbors are desperate. How many would argue that those self same people who want a stable society to live in, to protect the infrastructure that keeps them wealthy, shouldn't pay what needs to be paid to bring that stability into place?
The rich can afford higher taxes
Again, this is an argument that should be seen as self evident, and I suspect actually it is. Most arguments against this are usually by accident when a critic of higher taxes is actually arguing something else. As in "Oh yeah, let's have higher taxes, then rich people will be forced to send their money to Barbados."
That's not really a counter argument. Nobody's being forced to send their money to an off shore tax shelter - people who do so are trying to "protect" a class of living, not preventing themselves from going into bankruptcy - and, besides, tax shelters aren't as attractive as frequently claimed. The money that's sent into a tax shelter isn't easily accessible, and unless taxes are obscenely high (like the 90% rates we saw in Britain during the 1970s), the principle of diminishing returns certainly applies here.
There's a simple, unavoidable, practical argument here. If we take two people, one earning $20,000 a year, the other earning $250,000 a year (to use a figure many on the right claim is not a high wage), if I lose half my earnings (in taxes), will it cause immense hardship? For the person on $20k, the answer is "almost certainly". For the person on $250,000, the answer is "no way."
Now, there is one thing I'd like to add here. Obviously if someone has been taxed at 30% on their income all of their lives, and has entirely legitimately made long term financial decisions based upon an assumption they'll continue to have a similar net income for a while, then raising their taxes to, say, 50%, overnight, is obviously going to cause hardship. It might mean that a mortgage suddenly becomes difficult to pay, for example. But a small increase, or a series of small increases over a decade, are not going to cause that kind of problem. And I hear no-one arguing for a sudden doubling of income taxes for the very wealthy.
People will be encouraged to evaluate whether an increasingly minor rise in personal income is worth it if it has a disproportionate effect on the businesses they run.
This is one of the strongest arguments to be made in favor of higher taxes and yet I rarely hear anyone express it. Indeed, the exact opposite argument - that raising taxes will mean business people will have less money to invest - is more often the one that people hear.
One little bit of evidence of this can be seen in the disproportionate wage rises since the 1970s. As taxes on upper incomes were reduced, the gap between wage earners has massively increased. With no incentive to put their companies first, those with the power to set their own salaries have raced to the bottom to get as much money out of their companies, and into their bank accounts.
Was this wrong? It's hard to say, but it's also true that we're in the rather odd situation where we see people running companies into the ground - from the .com excesses during the 1990s to the banks in the last decade - being rewarded with ever higher salaries, with most outsides, quite legitimately, wondering if there are any incentives whatsoever to run a business for the benefit of its shareholders, customers, and employees.
What about the counter arguments?
Higher taxes are fair, even ignoring the fact they made their money within the society they're paying taxes for, because richer people are rarely worth what they're paid
This one's controversial in some quarters, but really large salaries come down to luck and not a lot else. I'm not arguing that everyone should be paid the same as everyone else, but there's clearly something wrong when someone's working six days a week, ten hours a day, and barely making minimum wage, while someone else, through a series of accidents that started at birth, gets to work a few days a week and earn millions. I'm not arguing that millionaires aren't hard workers, most are, but it's frequently underestimated what the work differential is between those on the highest incomes, and those on lower incomes.
Money doesn't trickle down, it trickles up
The argument that money trickles down is generally based on the idea that a wealthy person will buy a much bigger home, a private yacht, and that as they spend their money, everyone they spend money on will get richer.
Unfortunately this argument doesn't actually make a lot of sense. Let's go through the problems with the whole "rising tide" thing:
- The amount of "stuff" someone with wealth needs isn't generally that exceptional, or much larger than what someone without it needs. So the number of jobs created is actually somewhat small.
- The industries those jobs create are subject to the same constraints. A tiny group of people take huge amounts of money out of the businesses, everyone else gets whatever's left.
- The rich have more money to spend on non-productive property. For example, the rich could spend a large amount of money on land. This doesn't in any way increase jobs, indeed, by removing resources from the economy that could be put to work, it reduces the ability of an economy to create and sustain jobs.
Arguing that money should be concentrated in the hands of the wealthy because it'll eventually make its way to everyone else is arguing for an end to the gains made since the industrial revolution, as a world where money is widespread is a world where economies of scale make economies grow. Money never trickles down, it trickles up.
Raising taxes encourages people to spend money on their own businesses
I posited a related argument above, but here's the thing. How do I know that investing in a business you own is a great thing to do if you have higher taxes?
Well, because that's how the tax system is set up. I own a business. When I spend money I earn on my business, it becomes tax deductible, and it doesn't matter if I'm earning a billion dollars a year, or $100,000. And thanks to a progressive tax system, the more I spend on my business, the less of a proportion of what's left gets taxed!
Class warfare? It'd be class warfare if, y'know, this was about class, not income, and if it involved warfare, not taxes. This is about an economy that needs a few less moral hazards, and a society that supports itself.
Sunday, July 3, 2011
Asterisk review
Now that I'm using VoIP at home I've been playing around with Asterisk, finally. It's something I've wanted to play with, but I've never really had an excuse to use it.
I have about 90% of what I want, the remaining 10% being things like ways to transfer calls and some way to get calls to route using VoIP when I'm "on the road". Here's my initial thoughts.
1. It feels obsolete
I hate to start a review on a negative, and ironically I think it could well end up being "unobsolete" in the medium term, I'll explain why later, but here I am setting up a PBX with phone numbers and extensions, for phones that are fixed to a specific location. And, well, I've been using cellphones for so long now that the entire concept just seems like a throwback to the last Century. Which is not to say it's not awesome. If you were to take 1990s phone technology to the limit, well, this is what it would look like. It's just the major reason for a landline these days, outside of an office, is for a reliable, if all else fails, phone service - most of us now use cellphones for virtually everything. And that's probably why VoIP phone service is so cheap, it's not just that the infrastructure is cheaper, it's that giving people unlimited calls for $10 a month doesn't cost much when most of your customers are unlikely to make more than a couple of hours of calls a month.
Also making it feel like a throwback to another era - and I just mean "This is how it feels" not "I disagree with the concept and want new shiny things all the time" is that the entire system is controlled and configured using text-based configuration files and a built in command line interface. There is a kind-of web interface, but it's extremely limited. Hey, I like that it has these, as I said, I'm not complaining, it's just it feels a little twenty years ago.
2. It doesn't "just work"
I seriously underestimated the amount of work needed to put into an Asterisk installation for what you'd expect to be a basic configuration. The configuration was:
- A bunch of SIP accounts representing the phones in my home
- A link to a SIP account to register with to use for inbound/outbound "trunk" calling (ie calls to and from the PSTN, ie the VoIP provider's credentials.)
- A mapping between extension numbers and SIP account names.
This information is distributed across multiple files, and there's no simple "Here are my accounts, and these are the extensions they map onto" thing. You can play around with LDAP and various databases if you want to attempt to do the same thing, but that adds another layer of complexity.
What I did
In practice there are two configuration files that contain different parts of the same entities that need to be programmed with the logic of your configuration. One is the SIP configuration file, sip.conf, which contains most of the authentication and IP routing information (not call routing, but things like what ports to use, how/when to route around NAT, etc.) The other is the dialplan file, extensions.conf, that contains the whole "If the user dialed 100, call the living room phone" logic. There are shortcuts you can take, but the logic can get quite complex after a while. After trying to modify the existing example files I ended up starting from scratch with the dialplan.
Here's what it looks like:
[general]
static=yes
writeprotect=no
clearglobalvars=no
userscontext=default
[globals]
CONSOLE=Console/dsp ; Console interface for demo
TRUNK=SIP/voipo ; Trunk interface
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
__TRANSFER_CONTEXT=home
[default]
include => home
exten => s,1,Goto(incoming,s,1)
[internal]
include => trunk
include => home
include => gvoice-out
exten => dialtone,1,DISA(no-password,internal)
[no-such-extension]
exten => i,1,NoOp(No such extension)
exten => i,n,Playback(custom/ic_sit)
exten => i,n,Playback(ss-noservice)
exten => i,n,Goto(${SIPPEER(${SIPCHANINFO(peername)},context)}-no-such-extension,${INVALID-EXTEN},1)
[internal-no-such-extension]
exten => i,1,DISA(no-password,home)
[trunk]
exten => _NXXXXXX!,1,GoTo(trunk-voipo,${EXTEN},1)
exten => 123,1,GoTo(trunk-voipo,${EXTEN},1)
exten => _N11,1,GoTo(trunk-voipo,${EXTEN},1)
exten => _1NXXXXXXXXX!,1,GoTo(trunk-voipo,${EXTEN:1},1)
exten => _+1NXXXXXXXXX!,1,GoTo(trunk-voipo,${EXTEN:2},1)
exten => _+NX.,1,GoTo(trunk-gvoice,${EXTEN},1)
exten => _011XX.,1,GoTo(trunk-gvoice,+${EXTEN:3},1)
[trunk-voipo]
exten => _..,1,NoOp(Routing via VOIPO)
exten => _..,n,Dial(SIP/${EXTEN}@voipo,99,TK)
exten => h,1,NoOp(Call ended)
[trunk-gvoice]
exten => _..,1,NoOp(Routing via VOIPO)
exten => _..,n,Dial(gtalk/homebusiness/${EXTEN}@voice.google.com,99,TK)
exten => h,1,NoOp(Call ended)
[gvoice-out]
exten => _**1NXXXXXXXXX!,1,Dial(gtalk/homebusiness/+${EXTEN:2}@voice.google.com)
exten => _**N.,1,Dial(gtalk/homebusiness/+${EXTEN:2}@voice.google.com)
[home]
exten => _10XX!,1,NoOp("Regular extension called")
exten => _11XX!,1,NoOp("Regular extension called")
exten => _200X!,1,NoOp("Conference line called")
exten => _600X!,1,NoOp("Parked call called")
exten => _[a-z].,1,NoOp("Extension called by name")
exten => _..,2,Goto(home-main,${EXTEN},1)
[home-main]
exten => 1000,1,Goto(incoming,s,1)
exten => 1101,1,Goto(home,livingroom,1)
exten => 1103,1,Goto(home,mstrbdrm,1)
exten => 1151,1,Goto(home,loft,1)
exten => 1158,1,Goto(home,office,1)
exten => 1172,1,Goto(home,mylaptop,1)
exten => 1182,1,Goto(home,mycell,1)
exten => 1183,1,Goto(home,wifecell,1)
exten => 200X,1,MeetMe(${EXTEN})
exten => 600X,1,Goto(features-parked,${EXTEN},1)
include => home-regexten
exten => _[a-z].,2,Dial(SIP/${EXTEN}, 20, tk)
exten => 1199,1,Ringing
exten => 1199,n,Wait(2)
exten => 1199,n,Answer
exten => 1199,n,Wait(1)
exten => 1199,n,NoOp(${HANGUPCAUSE})
exten => 1199,n,NoOp(${DIALSTATUS})
exten => 1199,n,NoOp(CHANNEL(state))
exten => 1199,n,Playback(beep)
exten => 1199,n,Playback(hang-on-a-second)
exten => 1199,n,Playback(beep)
exten => 1199,n,Playback(hang-on-a-second-angry)
exten => 1199,n,Playback(beep)
exten => 1199,n,Playback(you-seem-impatient)
exten => 1199,n,Playback(pls-try-call-later)
exten => 1199,n,Playback(custom/ic_sit)
exten => 1199,n,Hangup
exten => i,1,NoOp(Redirecting for ${INVALID_EXTEN})
exten => i,n,Goto(home-alternates,${INVALID_EXTEN},1)
exten => i,n,NoOp("Didn't work")
exten => s,1,Goto(${ARG1},1)
exten => h,1,Hangup
[home-alternates]
exten => mycell,1,Set(DESTINATION=7721234567)
exten => wifecell,1,Set(DESTINATION=7722345678)
exten => i,1,Goto(no-such-extension,$(INVALID_EXTEN},1)
exten => _[a-z].,2,Ringing
exten => _[a-z].,n,Wait(2)
exten => _[a-z].,n,Answer
exten => _[a-z].,n,Wait(2)
exten => _[a-z].,n,Playback(followme/pls-hold-while-try)
exten => _[a-z].,n,Dial(SIP/${DESTINATION}@voipo, 20, tk)
[homebusinessgtalk]
exten => s,1,NoOp( Call from Gtalk to homebusiness )
exten => s,n,Set(crazygooglecid=${CALLERID(name)})
exten => s,n,Set(stripcrazysuffix=${CUT(crazygooglecid,@,1)})
exten => s,n,Set(CALLERID(num)=${stripcrazysuffix})
exten => s,n,Set(CALLERID(name)="From Google Talk for homebusiness")
exten => s,n,Dial(SIP/office, 20, tkD(:1))
[incoming]
exten => s,1,NoOp(Call from VoIP ${CALLERID(name)} ${CALLERID(number)})
exten => s,n,Dial(SIP/livingroom&SIP/laptop&SIP/mycell&SIP/wifecell&SIP/office, 30, tk)
exten => s,n,NoOp(Call timeout)
The two major contexts are "internal" and "incoming": "incoming" is used for calls coming from outside, and "internal" is used for calls within the network. VOIPO allows you to use your own devices, but they restrict international calls, so I configured international calls to be routed via Google Voice. The GV account is actually my "work" phone number (that is, my private LLC's) so at some point I should probably create a context that routes calls from SIP/office via Google Voice if it's not an internal extension.
There are some quirks I had to work around. For example, I wanted logic that would easily deal with invalid extensions. There's an "i" extension that's supposed to deal with this, but for reasons I can't fathom it only works if you "Goto" the invalid extension in your logic, if there's been no "Goto", it'll never get called and Asterisk will simply issue an error. For that reason, the [home] context above jumps into another context to do the work using "Goto".
Also you may notice references to a context I haven't defined above, called [home-regexten]. I'm going to cover that below. You may also notice that the logic above seems to rely upon extensions like "office" and "livingroom" being defined (see exten => 1101,1,Goto(home,livingroom,1) above?) That's also going to be explained below. It's all part of the same thing.
sip.conf is a little more complicated, and I'm not going to repost all of it here, especially as there's a lot of garbage in it. Here are some edited highlights:
[general]
context=incoming
allowguest=yes
allowoverlap=no ; Disable overlap dialing support. (Default is yes)
realm=sip.myhomedomain.org
bindport=9001 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=::
tcpenable=yes
transport=udp,tcp
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
domain=sip.myhomedomain.org
domain=sip.squiggleslash.internal
defaultexpiry=600
disallow=all ; First disallow all codecs
allow=ulaw,alaw ; Allow codecs in order of preference
regcontext=home-regexten
recordhistory=yes ; Record SIP history by default
dumphistory=yes ; Dump SIP history at end of SIP dialogue
register => 77229876543:password@voipo
externhost = squiggleslash.dyndnsprovider.com
nat=yes
canreinvite=no
domain=sip.myhomedomain.org,home
domain=sip.squiggleslash.internal,home
allowexternaldomains=yes
fromdomain=sip.myhomedomain.org
I'm pretty sure an experienced Asterisk admin will see problems here too, but I spent a lot of time trying to optimize the configuration, and then restoring settings that I thought were unnecessary trying to fix what I had broken. For example, those "domain" entries.
Highlights:
[voipo-in]
type=peer
qualify=yes
insecure=port,invite
disallow=all
allow=ulaw
context=incoming
[voipo]
type=peer
secret=password
username=7729876543
fromuser=7729876543
fromdomain=sip.voipwelcome.com
host=sip.voipwelcome.com
outboundproxy=sip.voipwelcome.com
nat=yes ; Appears to be required for outgoing audio
context=incoming
caninvite=no ; Appears to be required for outgoing audio
canreinvite=no ; Appears to be required for outgoing audio
disallow=all
allow=ulaw,alaw
insecure=port,invite
I'll be quite honest, I don't know what's going on above - well, I kinda know, and kinda don't. I haven't figured out if the [voipo-in] section is necessary, given the [voipo] one allows "insecure" incoming connections.
Finally, the handsets all have entries like this:
[office]
type=friend
secret=password
regexten=office
host=dynamic
nat=yes
callerid=Office <1158>
context=internal
There are no major highlights to go through here. The "regexten" thing is unnecessary, as it turns out, as long as regcontext is defined. The phone number has to be specified in the callerid line as if it's to work properly in SIP's caller ID system. And because this is an internal extension, it gets a context=internal setting so that when it tries to make a call, the context in the dialplan it starts out at is [internal].
OK, I said I'd explain the regcontext thing above. When that's defined, when a device registers with Asterisk, an entry gets made in the context like:
exten => office,1,NoOp(This is a valid extension)
What happens is you're supposed to put something in the dialplan along the lines of this:
[maincontext]
include => registrationscontextname
exten => _..,2,Dial(SIP/${EXTEN})
The first line includes the context these are all registered in. The second line has a wild card of "match all", and means "For any extension, regardless of what it is, attempt to call a SIP account with the same name." However, the second line has a "priority" (better named sequence number I guess) of 2, which means that it will not get called unless there's a match with a sequence number of 1.
Confused, we'll go by example:
Let's suppose [office] is registered, but [livingroom] isn't, that means the dialplan looks like this:
[registrationscontextname]
exten => office,1,NoOp(...)
[maincontext]
include => registrationscontextname
exten => _..,2,Dial(SIP/${EXTEN})
Because [maincontext] includes [registrationcontextname], it actually looks like this:
[maincontext]
exten => office,1,NoOp(...) ; <---- from registrationscontextname
exten => _..,2,Dial(SIP/${EXTEN}) ; <---- direct
Now, a call comes in for "livingroom", from an account configured to start off in context "maincontext":
Asterisk looks for exten => 1,livingroom in [maincontext]. It fails. So it falls over and sends an error back to the caller.
A call comes in for "office", from the same device
Asterisk looks for exten => office,1 in [maincontext]. Success! It executes NoOp(...).
Because it was successful, Asterisk then looks for exten => office,2 in [maincontext], it finds _..2,Dial(SIP/${EXTEN}) which matches (because the wildcard matches "office" just fine), so Asterisk executes it, executing "Dial(SIP/office)"
Makes sense?
Other configuration changes I made were to the gtalk.conf and jabber.conf files, to support my Google Voice via Google Talk account, and to rtp.conf to use ports in a small range I'd configured my router to forward.
SIP and NAT
My cellphone only works with this system when I'm home and it's on Wifi, otherwise there's no NAT configuration I can make work. It might be I've been unlucky with the particular NAT systems I've been behind. One workaround that kinda works is setting up a VPN, which kinda makes my Android phone work, but that assumes the VPN is itself not blocked (one out of two of the networks I was behind blocked VPNs. D'oh!) and, even worse, I couldn't get the VPN to stay up for more than about five minutes before Android decides to unilaterally drop it.
Versions
I started off using Asterisk 1.4, but wanted Google Voice via Google Talk support, so I manually compiled and installed Asterisk 1.8, which turned out to be fairly easy, it has relatively few dependencies and even the ancient version of Ubuntu I was testing this on (8.04) had everything in the repositories to support a version that would work with Google Talk/Voice and LDAP (which ultimately I'd like to play with.)
Recommendation
If the above looked complicated, well, it was, and my wife started to actually get annoyed at the amount of time I was spending playing with this. I'd recommend an alternative but the SIP PBXes I was playing with prior to this simply didn't work, and I installed Asterisk in large part as a desperate "If all else fails" measure. That doesn't mean you can't get the other tools to work, and there were plenty, such as SER and its derivatives, I didn't even try to work on.
There are also a bunch of systems that package up Asterisk with a UI.
So basically, I did it wrong.
Well, kinda. Actually there are a bunch of aspects of the current configuration I rather like. One is that it's extremely efficient with memory. It's using a little over 18 megabytes right now with the above configuration. I was actually thinking it might work well if installed on a small tablet device like one of those $80 Archos 28 things, though something with Ethernet instead of Wifi would be preferable.
I've also barely scratched the surface of the functionality Asterisk has to offer. There are no features, voice mail isn't set up (though that's largely because I don't need it. The only thing I can think of would be to implement something Google Voice like for incoming calls, but I don't have experience of any voice transcription software for that job.) And it's kind of overpowered (to put it mildly) for what I want to do.
If you're going to play with Asterisk, 1.8 is a good start. You can use Google Voice to get a free VoIP account with free calling to the entire US, and that currently works great with Asterisk, even if it doesn't work with many other PBXes (because GTalk isn't SIP based.) Otherwise, well, try something simpler.
I have about 90% of what I want, the remaining 10% being things like ways to transfer calls and some way to get calls to route using VoIP when I'm "on the road". Here's my initial thoughts.
1. It feels obsolete
I hate to start a review on a negative, and ironically I think it could well end up being "unobsolete" in the medium term, I'll explain why later, but here I am setting up a PBX with phone numbers and extensions, for phones that are fixed to a specific location. And, well, I've been using cellphones for so long now that the entire concept just seems like a throwback to the last Century. Which is not to say it's not awesome. If you were to take 1990s phone technology to the limit, well, this is what it would look like. It's just the major reason for a landline these days, outside of an office, is for a reliable, if all else fails, phone service - most of us now use cellphones for virtually everything. And that's probably why VoIP phone service is so cheap, it's not just that the infrastructure is cheaper, it's that giving people unlimited calls for $10 a month doesn't cost much when most of your customers are unlikely to make more than a couple of hours of calls a month.
Also making it feel like a throwback to another era - and I just mean "This is how it feels" not "I disagree with the concept and want new shiny things all the time" is that the entire system is controlled and configured using text-based configuration files and a built in command line interface. There is a kind-of web interface, but it's extremely limited. Hey, I like that it has these, as I said, I'm not complaining, it's just it feels a little twenty years ago.
2. It doesn't "just work"
I seriously underestimated the amount of work needed to put into an Asterisk installation for what you'd expect to be a basic configuration. The configuration was:
- A bunch of SIP accounts representing the phones in my home
- A link to a SIP account to register with to use for inbound/outbound "trunk" calling (ie calls to and from the PSTN, ie the VoIP provider's credentials.)
- A mapping between extension numbers and SIP account names.
This information is distributed across multiple files, and there's no simple "Here are my accounts, and these are the extensions they map onto" thing. You can play around with LDAP and various databases if you want to attempt to do the same thing, but that adds another layer of complexity.
What I did
In practice there are two configuration files that contain different parts of the same entities that need to be programmed with the logic of your configuration. One is the SIP configuration file, sip.conf, which contains most of the authentication and IP routing information (not call routing, but things like what ports to use, how/when to route around NAT, etc.) The other is the dialplan file, extensions.conf, that contains the whole "If the user dialed 100, call the living room phone" logic. There are shortcuts you can take, but the logic can get quite complex after a while. After trying to modify the existing example files I ended up starting from scratch with the dialplan.
Here's what it looks like:
[general]
static=yes
writeprotect=no
clearglobalvars=no
userscontext=default
[globals]
CONSOLE=Console/dsp ; Console interface for demo
TRUNK=SIP/voipo ; Trunk interface
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
__TRANSFER_CONTEXT=home
[default]
include => home
exten => s,1,Goto(incoming,s,1)
[internal]
include => trunk
include => home
include => gvoice-out
exten => dialtone,1,DISA(no-password,internal)
[no-such-extension]
exten => i,1,NoOp(No such extension)
exten => i,n,Playback(custom/ic_sit)
exten => i,n,Playback(ss-noservice)
exten => i,n,Goto(${SIPPEER(${SIPCHANINFO(peername)},context)}-no-such-extension,${INVALID-EXTEN},1)
[internal-no-such-extension]
exten => i,1,DISA(no-password,home)
[trunk]
exten => _NXXXXXX!,1,GoTo(trunk-voipo,${EXTEN},1)
exten => 123,1,GoTo(trunk-voipo,${EXTEN},1)
exten => _N11,1,GoTo(trunk-voipo,${EXTEN},1)
exten => _1NXXXXXXXXX!,1,GoTo(trunk-voipo,${EXTEN:1},1)
exten => _+1NXXXXXXXXX!,1,GoTo(trunk-voipo,${EXTEN:2},1)
exten => _+NX.,1,GoTo(trunk-gvoice,${EXTEN},1)
exten => _011XX.,1,GoTo(trunk-gvoice,+${EXTEN:3},1)
[trunk-voipo]
exten => _..,1,NoOp(Routing via VOIPO)
exten => _..,n,Dial(SIP/${EXTEN}@voipo,99,TK)
exten => h,1,NoOp(Call ended)
[trunk-gvoice]
exten => _..,1,NoOp(Routing via VOIPO)
exten => _..,n,Dial(gtalk/homebusiness/${EXTEN}@voice.google.com,99,TK)
exten => h,1,NoOp(Call ended)
[gvoice-out]
exten => _**1NXXXXXXXXX!,1,Dial(gtalk/homebusiness/+${EXTEN:2}@voice.google.com)
exten => _**N.,1,Dial(gtalk/homebusiness/+${EXTEN:2}@voice.google.com)
[home]
exten => _10XX!,1,NoOp("Regular extension called")
exten => _11XX!,1,NoOp("Regular extension called")
exten => _200X!,1,NoOp("Conference line called")
exten => _600X!,1,NoOp("Parked call called")
exten => _[a-z].,1,NoOp("Extension called by name")
exten => _..,2,Goto(home-main,${EXTEN},1)
[home-main]
exten => 1000,1,Goto(incoming,s,1)
exten => 1101,1,Goto(home,livingroom,1)
exten => 1103,1,Goto(home,mstrbdrm,1)
exten => 1151,1,Goto(home,loft,1)
exten => 1158,1,Goto(home,office,1)
exten => 1172,1,Goto(home,mylaptop,1)
exten => 1182,1,Goto(home,mycell,1)
exten => 1183,1,Goto(home,wifecell,1)
exten => 200X,1,MeetMe(${EXTEN})
exten => 600X,1,Goto(features-parked,${EXTEN},1)
include => home-regexten
exten => _[a-z].,2,Dial(SIP/${EXTEN}, 20, tk)
exten => 1199,1,Ringing
exten => 1199,n,Wait(2)
exten => 1199,n,Answer
exten => 1199,n,Wait(1)
exten => 1199,n,NoOp(${HANGUPCAUSE})
exten => 1199,n,NoOp(${DIALSTATUS})
exten => 1199,n,NoOp(CHANNEL(state))
exten => 1199,n,Playback(beep)
exten => 1199,n,Playback(hang-on-a-second)
exten => 1199,n,Playback(beep)
exten => 1199,n,Playback(hang-on-a-second-angry)
exten => 1199,n,Playback(beep)
exten => 1199,n,Playback(you-seem-impatient)
exten => 1199,n,Playback(pls-try-call-later)
exten => 1199,n,Playback(custom/ic_sit)
exten => 1199,n,Hangup
exten => i,1,NoOp(Redirecting for ${INVALID_EXTEN})
exten => i,n,Goto(home-alternates,${INVALID_EXTEN},1)
exten => i,n,NoOp("Didn't work")
exten => s,1,Goto(${ARG1},1)
exten => h,1,Hangup
[home-alternates]
exten => mycell,1,Set(DESTINATION=7721234567)
exten => wifecell,1,Set(DESTINATION=7722345678)
exten => i,1,Goto(no-such-extension,$(INVALID_EXTEN},1)
exten => _[a-z].,2,Ringing
exten => _[a-z].,n,Wait(2)
exten => _[a-z].,n,Answer
exten => _[a-z].,n,Wait(2)
exten => _[a-z].,n,Playback(followme/pls-hold-while-try)
exten => _[a-z].,n,Dial(SIP/${DESTINATION}@voipo, 20, tk)
[homebusinessgtalk]
exten => s,1,NoOp( Call from Gtalk to homebusiness )
exten => s,n,Set(crazygooglecid=${CALLERID(name)})
exten => s,n,Set(stripcrazysuffix=${CUT(crazygooglecid,@,1)})
exten => s,n,Set(CALLERID(num)=${stripcrazysuffix})
exten => s,n,Set(CALLERID(name)="From Google Talk for homebusiness")
exten => s,n,Dial(SIP/office, 20, tkD(:1))
[incoming]
exten => s,1,NoOp(Call from VoIP ${CALLERID(name)} ${CALLERID(number)})
exten => s,n,Dial(SIP/livingroom&SIP/laptop&SIP/mycell&SIP/wifecell&SIP/office, 30, tk)
exten => s,n,NoOp(Call timeout)
The two major contexts are "internal" and "incoming": "incoming" is used for calls coming from outside, and "internal" is used for calls within the network. VOIPO allows you to use your own devices, but they restrict international calls, so I configured international calls to be routed via Google Voice. The GV account is actually my "work" phone number (that is, my private LLC's) so at some point I should probably create a context that routes calls from SIP/office via Google Voice if it's not an internal extension.
There are some quirks I had to work around. For example, I wanted logic that would easily deal with invalid extensions. There's an "i" extension that's supposed to deal with this, but for reasons I can't fathom it only works if you "Goto" the invalid extension in your logic, if there's been no "Goto", it'll never get called and Asterisk will simply issue an error. For that reason, the [home] context above jumps into another context to do the work using "Goto".
Also you may notice references to a context I haven't defined above, called [home-regexten]. I'm going to cover that below. You may also notice that the logic above seems to rely upon extensions like "office" and "livingroom" being defined (see exten => 1101,1,Goto(home,livingroom,1) above?) That's also going to be explained below. It's all part of the same thing.
sip.conf is a little more complicated, and I'm not going to repost all of it here, especially as there's a lot of garbage in it. Here are some edited highlights:
[general]
context=incoming
allowguest=yes
allowoverlap=no ; Disable overlap dialing support. (Default is yes)
realm=sip.myhomedomain.org
bindport=9001 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=::
tcpenable=yes
transport=udp,tcp
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
domain=sip.myhomedomain.org
domain=sip.squiggleslash.internal
defaultexpiry=600
disallow=all ; First disallow all codecs
allow=ulaw,alaw ; Allow codecs in order of preference
regcontext=home-regexten
recordhistory=yes ; Record SIP history by default
dumphistory=yes ; Dump SIP history at end of SIP dialogue
register => 77229876543:password@voipo
externhost = squiggleslash.dyndnsprovider.com
nat=yes
canreinvite=no
domain=sip.myhomedomain.org,home
domain=sip.squiggleslash.internal,home
allowexternaldomains=yes
fromdomain=sip.myhomedomain.org
I'm pretty sure an experienced Asterisk admin will see problems here too, but I spent a lot of time trying to optimize the configuration, and then restoring settings that I thought were unnecessary trying to fix what I had broken. For example, those "domain" entries.
Highlights:
- bindport=9001 (There's nothing that says you need to bind to port 5060, and I wanted to clear a block of a couple of hundred UDP ports so I could route them to the Asterisk server for both SIP and RTP. SIP sets up calls, RTP does the actual "passing voice from one server to another" thingie.)
- bindaddr=:: (This turns on IPv6 support. Despite what it looks like, it doesn't turn off IPv4 support, which is good.)
- externhost = squiggleslash.dyndnsprovider.com (Tells Asterisk what its Internet address is. Useful to use a DynDNS service for this.)
- regcontext=home-regexten - registers all extensions in this context with a dummy extry. I'll explain that in a moment.
- canreinvite=no (I had to put this in multiple places to avoid problems with NAT. Basically, it makes Asterisk forward the audio to/from the Internet on behalf of each handset, rather than tell the handsets to attempt (and fail) to communicate directly with the other party. When we all switch over to IPv6, this kind of inefficient crap will become unnecessary.) From what I could figure out all the "nat=" settings actually only cover the SIP portion of the call, not the audio.
- allowexternaldomains=yes is a hack that doesn't do what it looks like. Allexternaldomains should really be labeled "assumeanydomainismydomain", and it deals with the fact that just because you told Asterisk (multiple times!) to register itself as "sip.myhomedomain.org" doesn't mean you'll not get entirely legitimate calls to "s@
" from your VoIP provider. - register => 77229876543:password@voipo (Registers with the VoIP provider, turning Asterisk into a client as far as the VoIP provider is concerned.)
- realm=sip.myhomedomain.org - deals with an authentication issue. When a SIP client registers, it gets sent a realm to authenticate against. Some clients assume that if they're trying to register as squiggleslash@sip.myhomedomain.org, if they're not asked to authenticate against sip.myhomedomain.org that something's gone wrong and they've been configured to point at the wrong server. By default, Asterisk sends a realm of "Asterisk", which is wrong however you look at it.
[voipo-in]
type=peer
qualify=yes
insecure=port,invite
disallow=all
allow=ulaw
context=incoming
[voipo]
type=peer
secret=password
username=7729876543
fromuser=7729876543
fromdomain=sip.voipwelcome.com
host=sip.voipwelcome.com
outboundproxy=sip.voipwelcome.com
nat=yes ; Appears to be required for outgoing audio
context=incoming
caninvite=no ; Appears to be required for outgoing audio
canreinvite=no ; Appears to be required for outgoing audio
disallow=all
allow=ulaw,alaw
insecure=port,invite
I'll be quite honest, I don't know what's going on above - well, I kinda know, and kinda don't. I haven't figured out if the [voipo-in] section is necessary, given the [voipo] one allows "insecure" incoming connections.
Finally, the handsets all have entries like this:
[office]
type=friend
secret=password
regexten=office
host=dynamic
nat=yes
callerid=Office <1158>
context=internal
There are no major highlights to go through here. The "regexten" thing is unnecessary, as it turns out, as long as regcontext is defined. The phone number has to be specified in the callerid line as
OK, I said I'd explain the regcontext thing above. When that's defined, when a device registers with Asterisk, an entry gets made in the context like:
exten => office,1,NoOp(This is a valid extension)
What happens is you're supposed to put something in the dialplan along the lines of this:
[maincontext]
include => registrationscontextname
exten => _..,2,Dial(SIP/${EXTEN})
The first line includes the context these are all registered in. The second line has a wild card of "match all", and means "For any extension, regardless of what it is, attempt to call a SIP account with the same name." However, the second line has a "priority" (better named sequence number I guess) of 2, which means that it will not get called unless there's a match with a sequence number of 1.
Confused, we'll go by example:
Let's suppose [office] is registered, but [livingroom] isn't, that means the dialplan looks like this:
[registrationscontextname]
exten => office,1,NoOp(...)
[maincontext]
include => registrationscontextname
exten => _..,2,Dial(SIP/${EXTEN})
Because [maincontext] includes [registrationcontextname], it actually looks like this:
[maincontext]
exten => office,1,NoOp(...) ; <---- from registrationscontextname
exten => _..,2,Dial(SIP/${EXTEN}) ; <---- direct
Now, a call comes in for "livingroom", from an account configured to start off in context "maincontext":
Asterisk looks for exten => 1,livingroom in [maincontext]. It fails. So it falls over and sends an error back to the caller.
A call comes in for "office", from the same device
Asterisk looks for exten => office,1 in [maincontext]. Success! It executes NoOp(...).
Because it was successful, Asterisk then looks for exten => office,2 in [maincontext], it finds _..2,Dial(SIP/${EXTEN}) which matches (because the wildcard matches "office" just fine), so Asterisk executes it, executing "Dial(SIP/office)"
Makes sense?
Other configuration changes I made were to the gtalk.conf and jabber.conf files, to support my Google Voice via Google Talk account, and to rtp.conf to use ports in a small range I'd configured my router to forward.
SIP and NAT
My cellphone only works with this system when I'm home and it's on Wifi, otherwise there's no NAT configuration I can make work. It might be I've been unlucky with the particular NAT systems I've been behind. One workaround that kinda works is setting up a VPN, which kinda makes my Android phone work, but that assumes the VPN is itself not blocked (one out of two of the networks I was behind blocked VPNs. D'oh!) and, even worse, I couldn't get the VPN to stay up for more than about five minutes before Android decides to unilaterally drop it.
Versions
I started off using Asterisk 1.4, but wanted Google Voice via Google Talk support, so I manually compiled and installed Asterisk 1.8, which turned out to be fairly easy, it has relatively few dependencies and even the ancient version of Ubuntu I was testing this on (8.04) had everything in the repositories to support a version that would work with Google Talk/Voice and LDAP (which ultimately I'd like to play with.)
Recommendation
If the above looked complicated, well, it was, and my wife started to actually get annoyed at the amount of time I was spending playing with this. I'd recommend an alternative but the SIP PBXes I was playing with prior to this simply didn't work, and I installed Asterisk in large part as a desperate "If all else fails" measure. That doesn't mean you can't get the other tools to work, and there were plenty, such as SER and its derivatives, I didn't even try to work on.
There are also a bunch of systems that package up Asterisk with a UI.
So basically, I did it wrong.
Well, kinda. Actually there are a bunch of aspects of the current configuration I rather like. One is that it's extremely efficient with memory. It's using a little over 18 megabytes right now with the above configuration. I was actually thinking it might work well if installed on a small tablet device like one of those $80 Archos 28 things, though something with Ethernet instead of Wifi would be preferable.
I've also barely scratched the surface of the functionality Asterisk has to offer. There are no features, voice mail isn't set up (though that's largely because I don't need it. The only thing I can think of would be to implement something Google Voice like for incoming calls, but I don't have experience of any voice transcription software for that job.) And it's kind of overpowered (to put it mildly) for what I want to do.
If you're going to play with Asterisk, 1.8 is a good start. You can use Google Voice to get a free VoIP account with free calling to the entire US, and that currently works great with Asterisk, even if it doesn't work with many other PBXes (because GTalk isn't SIP based.) Otherwise, well, try something simpler.
Saturday, July 2, 2011
Firefox 5
After a week of using Firefox 5, I have to say I think it's dealt with 90% of the reasons I switched to Chrome, and I'm sticking with it. It's still a memory hog, but not as extreme as FF4, and it still has a habit of hanging mysteriously, but it does so more rarely.
Hopefully FF6 will fix the above problems too.
Hopefully FF6 will fix the above problems too.
Hopeless
So... in 2012 there are a couple of likely scenarios concerning the election. Obama will, apparently, be the Democratic nominee, unless he does the decent thing, recognizes he's incapable of doing of the right thing, and stands aside, which seems remarkably improbable as, well, it's the right thing.
So it'll be Obama vs... well, it might be Bachmann, though I'm inclined to assume Republicans realize they actually have a shot at this unless they make a massive error of judgment and appoint someone who is unelectably insane, but that's actually not a sure thing - Republicans put up, and won with, various governor candidates who fit that profile in 2010, so they may try the same thing.
The question for me is who's going to be worse? Obama will never do the right thing. Never. That's been proven time and time and time again since 2008. He was elected with as clear a mandate as anyone ever has to do the right things to fix the economy, to end unnecessary wars, to end the actions of an executive that was looking like it had more in common with Pinochet than it did with Kennedy. And he's galloped, wildly, in the other direction. Even his supposed liberal "successes" such as "health care reform", have involved sticking a progressive label on an anti-progressive policy.
So I find myself, actually, wondering if a moderate Republican might be a better bet this time, maybe coupled with as liberal a congress as possible. I can't tell what a Bachmann presidency would look like in practice, but I do find myself wondering if a Republican who isn't an eye swiveling loony might actually stand a chance of doing the right things... occasionally.
And that's actually hard to tell. I guess the issues that concern me most are:
The situation is hopeless.
So it'll be Obama vs... well, it might be Bachmann, though I'm inclined to assume Republicans realize they actually have a shot at this unless they make a massive error of judgment and appoint someone who is unelectably insane, but that's actually not a sure thing - Republicans put up, and won with, various governor candidates who fit that profile in 2010, so they may try the same thing.
The question for me is who's going to be worse? Obama will never do the right thing. Never. That's been proven time and time and time again since 2008. He was elected with as clear a mandate as anyone ever has to do the right things to fix the economy, to end unnecessary wars, to end the actions of an executive that was looking like it had more in common with Pinochet than it did with Kennedy. And he's galloped, wildly, in the other direction. Even his supposed liberal "successes" such as "health care reform", have involved sticking a progressive label on an anti-progressive policy.
So I find myself, actually, wondering if a moderate Republican might be a better bet this time, maybe coupled with as liberal a congress as possible. I can't tell what a Bachmann presidency would look like in practice, but I do find myself wondering if a Republican who isn't an eye swiveling loony might actually stand a chance of doing the right things... occasionally.
And that's actually hard to tell. I guess the issues that concern me most are:
- Will the next President reject the deficit obsession of the pundits, and concentrate on getting the country back to work, given growth is, in reality, the only way we're going to fit the economy (and by the way, that'll fix the deficit too.) Will he or she recognize that the only economic system that has consistently worked since the 1940s has involved massive government spending at a time like this?
- Will the next President recognize that war is, actually, bad, and work to end the obsession of the US government with solving every foreign issue by putting our troops at risk, and killing large numbers of innocent people?
- Will the next President recognize that the "War on Terror" is ludicrous, terrorism is a combination of a criminal and political issue, that Al Qaeda is not a government but a group of extremists?
- Will the next President recognize that our values are more important than our enemies, and that we become no better than our enemies when we jettison our values to "fight" them?
The situation is hopeless.
Subscribe to:
Posts (Atom)