In an earlier post I shared copies of emails I recently sent to my state senators and the president. Today I got a response from Senator Feinstein's office.
I tried several times to include the text of the email in this post, but it turns out that Blogger's editor really doesn't have an easy way to make it look nice, or even readable. Kind of a problem. And since I couldn't manage to do that I didn't even bother trying to include the contents of the PDF file here either.
Instead, I've posted both the email and the attachment on my personal website. You can read them over there:
http://www.bangtherockstogether.com/nsa_flap/
As you'll see, I didn't write up my response just yet. For now, suffice it to say that I think her email and the PDF embody the same, tired reply the government has been giving the press for weeks. "These programs really do work." "There really is effective oversight." You know the drill.
In short, in my opinion, it's a crappy canned response that some harried senate staffer decided was the most appropriate given what little s/he read of my email and the choices they had available. If I am lucky they added one to some total of complaint letters they got about the NSA issue as well. If I am unlucky, they forwarded my email to both the FBI and the CIA, and I am now undergoing "additional scrutiny", since I am such a threat to the security of our homeland.
That said, something funny happened when I tried to reply directly to the message I got.
The senator's email came from senator@feinstein.senate.gov, so that is where my reply was going to. Amusingly, it bounced with the following error message:
550 5.1.1 <senator@feinstein.senate.gov>... User unknown
If only it was the case that Senator Feinstein was unknown, and that someone who cared about civil liberties was in her place. And I love the fact that my own senator is sending email with forged headers. Cool, eh? I wonder if the CAN-SPAM act makes that a crime? I may have to look that up.
I will mark up Senator Feinstein's response and share it here in a few days, when I can make the time. It will wind up on my website as well, no doubt, but I'll publish a link here when it's ready to go.
Thursday, July 11, 2013
For those that follow this blog... I post on G+ too
Just a quick note...
I generally use this blog for posting longer thoughts and more complicated things. Stuff where reading - and space - are required.
I've had a few exchanges lately that tell me at least a few readers here appreciate what I do. Thank you!
If you want to see more from me - shorter stuff, mostly links to news articles and other blogs I find interesting, sometimes with comments, you can find me on Google+. Specifically here:
https://plus.google.com/104648792622184339761/posts
Just about everything I post over there is public, so no G+ account is required. You go take a peek and see whether I am equally interesting (or offensive) over there.
If you like it, I encourage you to consider joining the G+ community. I have found it to be a lot more issue (and/or interest) oriented that other social media platforms. I get a lot of good news about politics and science over there, and a lot less of the mundane stuff that shows up other social media platforms. For me, that's a good thing. Of course, your mileage may vary.
Also note that the quality of the G+ experience is completely determined by the quality of those you follow (the G+ term is "circle") over there. You need to circle people with interests similar to yours, or who post articles you find interesting or useful in some way. In all likelihood these will be people you don't personally know. That's OK. In fact it's good. It's the way G+ works. Give it a shot if you are interested. I hope you like it. And feel free to circle me if you like. No worries if you do or don't - just trying to share what I do if you're interested.
I generally use this blog for posting longer thoughts and more complicated things. Stuff where reading - and space - are required.
I've had a few exchanges lately that tell me at least a few readers here appreciate what I do. Thank you!
If you want to see more from me - shorter stuff, mostly links to news articles and other blogs I find interesting, sometimes with comments, you can find me on Google+. Specifically here:
https://plus.google.com/104648792622184339761/posts
Just about everything I post over there is public, so no G+ account is required. You go take a peek and see whether I am equally interesting (or offensive) over there.
If you like it, I encourage you to consider joining the G+ community. I have found it to be a lot more issue (and/or interest) oriented that other social media platforms. I get a lot of good news about politics and science over there, and a lot less of the mundane stuff that shows up other social media platforms. For me, that's a good thing. Of course, your mileage may vary.
Also note that the quality of the G+ experience is completely determined by the quality of those you follow (the G+ term is "circle") over there. You need to circle people with interests similar to yours, or who post articles you find interesting or useful in some way. In all likelihood these will be people you don't personally know. That's OK. In fact it's good. It's the way G+ works. Give it a shot if you are interested. I hope you like it. And feel free to circle me if you like. No worries if you do or don't - just trying to share what I do if you're interested.
Thursday, July 4, 2013
Letters to my Elected Representatives
I am finally writing to my senators and the President about the NSA programs I abhor. On July 4th. It seems fitting. And since I am no doubt getting myself onto a bunch of government watch lists in the process, I will share them here too. Maybe you will find them amusing, or not.
You may disagree with me and my conclusions. That's fine.
To President Obama:
I am deeply disappointed in you and your administration. I believed your promise of a more open government after the dark years of the Bush administration. Sadly, I now see I was mislead.
Edward Snowden has shown that the NSA and the rest of the intelligence community are operating without oversight, and without concern for the civil liberties of Americans. They are building huge datasets that can easily be used to tar anyone with a crime as an excuse for shutting them up. Every repressive government on the planet now looks to the US as a shining example of how to do exactly what they have wanted to do all along.
You are making that possible. Yes these programs have been around for a long time, and we know the Bush administration supported them, but I hoped you would reign them in. Clearly not.
These programs are violating the civil liberties of Americans every day. The data being accumulated can - and will - be used against the citizens of this country in various ways. This very message is Un-American enough to put me on a watch list, I am sure, and should you or some future administration decide I am a problem, it will be used against me.
Put simply, the US has too many secrets, and doing things in the dark has become the norm. We must not have secret interpretations of US laws. We should not support programs that violate the constitution. Edward Snowden should not have felt he had to release secret documents about secret programs to draw attention to them.
Your website says: "My Administration is committed to creating an unprecedented level of openness in Government. We will work together to ensure the public trust and establish a system of transparency, public participation, and collaboration. Openness will strengthen our democracy and promote efficiency and effectiveness in Government."
Grand words that you have not lived up to.
We agree on many things. I believe in health care reform, though I think the program as it stands doesn't go nearly far enough. I believe in protecting women's rights. I believe in using the government as a force for good.
Alas we disagree vehemently where the NSA is concerned.
I do not want to live in a police state, but that is what we're coming to. If that isn't the case, prove it. Show the people what these programs really do, and how they are not a threat. Put clear limits on data collection, and real safeguards on stockpiles of collected data to avoid its misuse by anyone, now or in the future. Expose the workings of the FISA court while you're at it, and create mechanisms by which it can be challenged, or dismantle it entirely.
Secrets, in short, must be avoided. If I may quote John F. Kennedy: "The very word 'secrecy' is repugnant in a free and open society.
It is time to change course. It is time declassify much of what the NSA is doing, and to stop treating all Americans as criminals. It is time to have an open debate about their programs, and let journalists help us determine whether or not they actually work. It can and must be done. If it is not then we are lost and George Orwell's 1984 will go down in history as the most prescient work of fiction ever written. That is, of course, if history isn't rewritten to avoid that truth.
Back in 2005 and 2006 you took a principled stance against the outlandish spying being done by the NSA under the direction of the Bush administration. In case you have forgotten, here are some links to refresh your memory:
Here's an extract from a recent article - http://www.politico.com/story/2013/06/mounting-concern-over-nsa-in-congress-92422.html - quoting you:
And you say you know these programs have saved lives. In response I say "prove it". Declassify enough information to show at least the broad outline of what these programs do. There is no harm in that.
Bin Laden himself wasn't using cellular or satellite phones when we finally got to him. The bad guys already have a clue, so saying that data about thwarted attack X was gathered by the NSA screening calls from the US to and from country A would be a start. Letting journalists actually dig into the meat of such claims would be even better. Every time I've seen such claims in the past it has been shown that the NSA was lying. They've claimed their data was key to preventing some attack or making some arrest when it really wasn't.
And we know the head of the NSA - General Clapper - has lied to congress about these very programs. Where is your call to see him removed for doing that? How can we trust a man who outright lies to those who supposedly oversee the programs he runs?
In fact, the only other thing I have heard from you on this topic recently was the misguided assertion that these programs employ too many contractors, as if "real" government employees could be trusted more. In response I give you these simple words: Private First Class Bradley Manning. Clearly he was a government employee. I'm sure that stopped him from giving a boatload of secret documents to Wikileaks. Oh, wait.
In fact the real problem is that people cannot keep secrets, and that we have far too many secrets that need keeping. It doesn't matter who someone works for, they are still human.
So, despite the fact that a Democrat sits in the whitehouse, it is long past time to reign in the NSA, and to shine a very bright light into all of its darkened corridors. We the people - the supposed source of political power in this nation - need to know what the government is doing to and "for" us, clearly and simply. Perhaps we will decide - as a nation - that the collection of phone call metadata is fine. Maybe the implication that we are all a threat is fine with the masses. But perhaps not. Perhaps we don't want to live in a police state, where every move is watched and every communication monitored. Only an informed public can answer that, and that is what you owe the people: the chance to be informed.
It is long past time to get our house in order. We are nothing like a shining beacon of democracy when we spy on our own citizens in ways the Stasi could only dream of.
Please stop worrying about Edward Snowden himself and start worrying about what he's exposed. The NSA is running amok, with no effective oversight. It is violating our civil liberties every single day. It's at least as bad as it was nine years ago, and probably much worse. It is time for you to voice those concerns and help lead the effort to bring it under control.
If you do not, I won't be voting for you again. These liberties are key to our way of life. If you have lost sight of the need to defend them, I will vote for a candidate who will do so.
You have a choice. I hope you make the wise one.
To Senator Feinstein:
I write you in astonishment. The recent revelations about the NSA's clearly unconstitutional surveillance programs have me very upset. I know you are a supporter, and I suspect the fact that I am opposed to these programs - and anything like them that we haven't yet been told about - means that you will never personally read this message. That's a shame.
It is clear to me that the NSA - and probably most of the US Intelligence Community - needs to be reigned in. As a country, we've let ourselves become afraid of every little shadow, and the results are obvious. We've allowed ill thought out laws - like the Patriot Act - to govern far too much of our lives, and we've let terrible practices - like secret courts and secret interpretations of laws - become the norm. And I doubt I need to remind you of things like enhanced interrogation techniques, renditions, secret prisons, and other obscenities from the previous administration. Sadly, I have to hold both Presidents Bush and Obama as well as congress - and you - responsible for this. At least I am realistic enough to know there is nothing significant I can do about it beyond complaining.
I cannot convey to you the depth of my revulsion for the things the NSA and other agencies are doing (and have done) to (and "for") the people of the United States. We are being treated as though we are all criminals, suspected of crimes - and terrorism - without charge. Without evidence. We are being spied upon in ways that should never have been allowed, and we are spying on the rest of the world as if we own it. This must stop.
Even worse, from what I read, congress is not providing any meaningful oversight of any of our spying programs, and the FISA court is merely a rubber stamp, approving just about every request it gets. And there are other, obvious, structural problems with the FISA court as well, like who can possibly oppose a request presented to it? Answer: no one. There are no checks on what it can and cannot allow, and no disclosure about what it does. That's wrong, plain and simple, and creates a system rife with abuse.
The huge data sets the NSA has collected - and is still collecting - are a threat to anyone. Fishing expeditions can easily make anyone look bad. I look Un-American just for writing this message, and if someone at the NSA decides to look it up in a few years, they could use it to tar me as a traitor. And that same strategy can be used against any citizen.
Keeping so many secrets is counter to our democratic principles. We need much more sunlight on these programs, and clear safeguards to protect the people from the misuse of the data they collect. But speaking as a professional programmer, it is my opinion that the only way to keep such data truly safe is to avoid collecting it in the first place.
Remember Watergate? Remember the McCarthy hearings? The ways the Prism program could be misused will make those look like a walk in the park.
Given what I have seen from you in the press, I suspect you completely disagree with me, and are ready to throw the freedoms we cherish under the bus. And in truth it may be too late. Maybe those freedoms are already gone. Perhaps we've gone from being the land of the free to the land of a few free oligarchs and 300 million oppressed people.
But still, I implore you to see reason. Edward Snowden himself is a distraction. He's a symptom of the problem, not the problem itself. What matters is what the NSA and other agencies are actually doing, and just how much is being kept from the people - the people - who are supposedly the source of political power in the US. You were elected to represent the people, but on this issue you have failed us.
Unless you change your course I am done voting for you. I'll vote for a Green party candidate instead, even if they cannot win, simply because I find your stance on these issues repugnant.
The people deserve better. They deserve knowledge of what the government is doing to and for them, real oversight of any challenging programs, and a government they can trust. Given recent events it is clear we lack all of those things. Your job should be to find a way to get them back.
Somehow I think that will never happen, but I can dream.
You may disagree with me and my conclusions. That's fine.
To President Obama:
I am deeply disappointed in you and your administration. I believed your promise of a more open government after the dark years of the Bush administration. Sadly, I now see I was mislead.
Edward Snowden has shown that the NSA and the rest of the intelligence community are operating without oversight, and without concern for the civil liberties of Americans. They are building huge datasets that can easily be used to tar anyone with a crime as an excuse for shutting them up. Every repressive government on the planet now looks to the US as a shining example of how to do exactly what they have wanted to do all along.
You are making that possible. Yes these programs have been around for a long time, and we know the Bush administration supported them, but I hoped you would reign them in. Clearly not.
These programs are violating the civil liberties of Americans every day. The data being accumulated can - and will - be used against the citizens of this country in various ways. This very message is Un-American enough to put me on a watch list, I am sure, and should you or some future administration decide I am a problem, it will be used against me.
Put simply, the US has too many secrets, and doing things in the dark has become the norm. We must not have secret interpretations of US laws. We should not support programs that violate the constitution. Edward Snowden should not have felt he had to release secret documents about secret programs to draw attention to them.
Your website says: "My Administration is committed to creating an unprecedented level of openness in Government. We will work together to ensure the public trust and establish a system of transparency, public participation, and collaboration. Openness will strengthen our democracy and promote efficiency and effectiveness in Government."
Grand words that you have not lived up to.
We agree on many things. I believe in health care reform, though I think the program as it stands doesn't go nearly far enough. I believe in protecting women's rights. I believe in using the government as a force for good.
Alas we disagree vehemently where the NSA is concerned.
I do not want to live in a police state, but that is what we're coming to. If that isn't the case, prove it. Show the people what these programs really do, and how they are not a threat. Put clear limits on data collection, and real safeguards on stockpiles of collected data to avoid its misuse by anyone, now or in the future. Expose the workings of the FISA court while you're at it, and create mechanisms by which it can be challenged, or dismantle it entirely.
Secrets, in short, must be avoided. If I may quote John F. Kennedy: "The very word 'secrecy' is repugnant in a free and open society.
It is time to change course. It is time declassify much of what the NSA is doing, and to stop treating all Americans as criminals. It is time to have an open debate about their programs, and let journalists help us determine whether or not they actually work. It can and must be done. If it is not then we are lost and George Orwell's 1984 will go down in history as the most prescient work of fiction ever written. That is, of course, if history isn't rewritten to avoid that truth.
To Senator Boxer:
Back in 2005 and 2006 you took a principled stance against the outlandish spying being done by the NSA under the direction of the Bush administration. In case you have forgotten, here are some links to refresh your memory:
- http://www.huffingtonpost.com/sen-barbara-boxer/we-need-to-know-the-truth_b_109007.html
- http://www.rollcall.com/issues/51_65/-11633-1.html
- http://www.boxer.senate.gov/en/press/releases/051206.cfm
- http://www.chicoer.com/news/bayarea/ci_3822487
Here's an extract from a recent article - http://www.politico.com/story/2013/06/mounting-concern-over-nsa-in-congress-92422.html - quoting you:
But some senators held the line on Friday, when the Obama administration continued to defend the surveillance practices as necessary to defend the nation.
Sen. Barbara Boxer (D-Calif.), though emphasizing the necessary balance between privacy and security, said that Internet monitoring had helped thwart terrorist plots, as congressional intelligence leaders said Thursday of the phone monitoring practice.
“What they were doing is trying to save lives. I know for a fact lives were saved in both these programs. The issue is finding the balance between protecting people and our freedoms and that’s what I’m always after,” Boxer said, adding again: “I know they’ve saved lives.”So now you worry about "balance"? When the NSA has a standing order from the FISA court letting it collect metadata on millions of phone calls? When we're performing computer espionage against even our allies? Now balance matters?
And you say you know these programs have saved lives. In response I say "prove it". Declassify enough information to show at least the broad outline of what these programs do. There is no harm in that.
Bin Laden himself wasn't using cellular or satellite phones when we finally got to him. The bad guys already have a clue, so saying that data about thwarted attack X was gathered by the NSA screening calls from the US to and from country A would be a start. Letting journalists actually dig into the meat of such claims would be even better. Every time I've seen such claims in the past it has been shown that the NSA was lying. They've claimed their data was key to preventing some attack or making some arrest when it really wasn't.
And we know the head of the NSA - General Clapper - has lied to congress about these very programs. Where is your call to see him removed for doing that? How can we trust a man who outright lies to those who supposedly oversee the programs he runs?
In fact, the only other thing I have heard from you on this topic recently was the misguided assertion that these programs employ too many contractors, as if "real" government employees could be trusted more. In response I give you these simple words: Private First Class Bradley Manning. Clearly he was a government employee. I'm sure that stopped him from giving a boatload of secret documents to Wikileaks. Oh, wait.
In fact the real problem is that people cannot keep secrets, and that we have far too many secrets that need keeping. It doesn't matter who someone works for, they are still human.
So, despite the fact that a Democrat sits in the whitehouse, it is long past time to reign in the NSA, and to shine a very bright light into all of its darkened corridors. We the people - the supposed source of political power in this nation - need to know what the government is doing to and "for" us, clearly and simply. Perhaps we will decide - as a nation - that the collection of phone call metadata is fine. Maybe the implication that we are all a threat is fine with the masses. But perhaps not. Perhaps we don't want to live in a police state, where every move is watched and every communication monitored. Only an informed public can answer that, and that is what you owe the people: the chance to be informed.
It is long past time to get our house in order. We are nothing like a shining beacon of democracy when we spy on our own citizens in ways the Stasi could only dream of.
Please stop worrying about Edward Snowden himself and start worrying about what he's exposed. The NSA is running amok, with no effective oversight. It is violating our civil liberties every single day. It's at least as bad as it was nine years ago, and probably much worse. It is time for you to voice those concerns and help lead the effort to bring it under control.
If you do not, I won't be voting for you again. These liberties are key to our way of life. If you have lost sight of the need to defend them, I will vote for a candidate who will do so.
You have a choice. I hope you make the wise one.
To Senator Feinstein:
It is clear to me that the NSA - and probably most of the US Intelligence Community - needs to be reigned in. As a country, we've let ourselves become afraid of every little shadow, and the results are obvious. We've allowed ill thought out laws - like the Patriot Act - to govern far too much of our lives, and we've let terrible practices - like secret courts and secret interpretations of laws - become the norm. And I doubt I need to remind you of things like enhanced interrogation techniques, renditions, secret prisons, and other obscenities from the previous administration. Sadly, I have to hold both Presidents Bush and Obama as well as congress - and you - responsible for this. At least I am realistic enough to know there is nothing significant I can do about it beyond complaining.
I cannot convey to you the depth of my revulsion for the things the NSA and other agencies are doing (and have done) to (and "for") the people of the United States. We are being treated as though we are all criminals, suspected of crimes - and terrorism - without charge. Without evidence. We are being spied upon in ways that should never have been allowed, and we are spying on the rest of the world as if we own it. This must stop.
Even worse, from what I read, congress is not providing any meaningful oversight of any of our spying programs, and the FISA court is merely a rubber stamp, approving just about every request it gets. And there are other, obvious, structural problems with the FISA court as well, like who can possibly oppose a request presented to it? Answer: no one. There are no checks on what it can and cannot allow, and no disclosure about what it does. That's wrong, plain and simple, and creates a system rife with abuse.
The huge data sets the NSA has collected - and is still collecting - are a threat to anyone. Fishing expeditions can easily make anyone look bad. I look Un-American just for writing this message, and if someone at the NSA decides to look it up in a few years, they could use it to tar me as a traitor. And that same strategy can be used against any citizen.
Keeping so many secrets is counter to our democratic principles. We need much more sunlight on these programs, and clear safeguards to protect the people from the misuse of the data they collect. But speaking as a professional programmer, it is my opinion that the only way to keep such data truly safe is to avoid collecting it in the first place.
Remember Watergate? Remember the McCarthy hearings? The ways the Prism program could be misused will make those look like a walk in the park.
Given what I have seen from you in the press, I suspect you completely disagree with me, and are ready to throw the freedoms we cherish under the bus. And in truth it may be too late. Maybe those freedoms are already gone. Perhaps we've gone from being the land of the free to the land of a few free oligarchs and 300 million oppressed people.
But still, I implore you to see reason. Edward Snowden himself is a distraction. He's a symptom of the problem, not the problem itself. What matters is what the NSA and other agencies are actually doing, and just how much is being kept from the people - the people - who are supposedly the source of political power in the US. You were elected to represent the people, but on this issue you have failed us.
Unless you change your course I am done voting for you. I'll vote for a Green party candidate instead, even if they cannot win, simply because I find your stance on these issues repugnant.
The people deserve better. They deserve knowledge of what the government is doing to and for them, real oversight of any challenging programs, and a government they can trust. Given recent events it is clear we lack all of those things. Your job should be to find a way to get them back.
Somehow I think that will never happen, but I can dream.
Monday, July 1, 2013
Google Reader is Gone (and I don't miss it)
Today is the last day for Google Reader. Or maybe yesterday was, depending on what they meant by July 1st being the end, and whether or not there is an off-by-one error in their code somewhere. (Joke!)
But I don't miss Google Reader at all, and I was a fairly heavy user. Why not? Because I use BazQux Reader.
I started trying all of the alternatives back when Reader's demise was announced. I tried bunches of them, and pretty much disliked them all. But BazQux was different. Actually, I think it's better than Reader, at least for my usage model.
I'm not paid for this plug, and I hope I am unbiased.
If you've been living under a rock and only found out that Reader dies today, now is the time to look for an alternative. First, of course, export your Reader subscription list, if you still can. Then give BazQux a try. I hope you like it.
http://bazqux.com/
But I don't miss Google Reader at all, and I was a fairly heavy user. Why not? Because I use BazQux Reader.
I started trying all of the alternatives back when Reader's demise was announced. I tried bunches of them, and pretty much disliked them all. But BazQux was different. Actually, I think it's better than Reader, at least for my usage model.
I'm not paid for this plug, and I hope I am unbiased.
If you've been living under a rock and only found out that Reader dies today, now is the time to look for an alternative. First, of course, export your Reader subscription list, if you still can. Then give BazQux a try. I hope you like it.
http://bazqux.com/
Wednesday, June 26, 2013
Thoughts on the NSA scandal
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
-- Benjamin Franklin
The very word "secrecy" is repugnant in a free and open society...
-- John F Kennedy
I've been reading a lot about the NSA and the disclosures relating to it of late, and I have some thoughts on the situation, as those who know me might expect. As always with me, nothing is simple, and I am not going to give you a two line TL;DR synopsis. Read it if you care, and if you don't, well, then don't.
Is he a criminal? Probably.
Is he a traitor? Maybe.
Is what he has done wrong? Not in my mind. You may feel differently.
Should be punished? Answering that is beyond my pay grade, though my gut says "no".
What is important - really important - is what he's exposed. Most of us knew - or at least suspected - it was going on to some degree, but the documents Snowden has released help shed light on programs that have been hidden for far too long. That is a good and necessary thing, and for that I thank him.
And that is all I am going to say about Snowden himself.
And after 9/11, it became possible for any lawmaker, of any stripe, to pass just about any law, no matter how restrictive or silly, by claiming it would help "secure the homeland" or improve national security. Fear is a powerful motivator.
And so we've become slaves to our fear, and make far too many decisions based on it.
The intelligence community is the major beneficiary of all of that fear, and (of course) the money all those new laws have made available. We used to have (and sometimes worry about) only a military industrial-complex. Now we have an intelligence-industrial complex. It's a huge beast of a system, employing tens of thousands, and consuming vast amounts of money that often cannot be tracked at all. Someday we're going to be appalled at what the NSA is paying for toilet seats, but up until very recently it's all been black budgets and a complete lack of detail about what they are doing. The recent leaks have shone a small amount of light into the system, and the results are, to me, rather scary.
What we know seems to include:
Personally, I think we've overreacted to 9/11. It was, of course, a horrible tragedy. But what we have done in response is either entirely reactive - looking for things that were done before, so now we're patting down little old ladies and making everyone remove their shoes at airports - or is so secret that we cannot talk about it under any circumstances.
Well I am sick of it all. The introductory quotes I gave are spot on. Just how much liberty should we be giving up? And just how much secrecy should we tolerate? The answers aren't necessarily obvious, but if we cannot discuss these issues, we're giving in, and creating what amounts to a police state in the process. America, the police state. How does that sound? Or how about: "Come to America for the freedom, stay for the monitoring."
I have two responses:
First, you may have nothing to hide now, but will that always be true? What if you're the one who discovers a crime on the part of those in power? Shouldn't you be able to protect yourself from discovery while you figure out how best to do something about it? Alternatively, maybe your tastes change at some point and you don't want the government knowing about some little habit you've picked up. Maybe it's just a fascination with subversive literature. Maybe you're a historian and you start digging into an event in the past which the current administration wants to keep buried, or sees in a different light than you do. Isn't it possible you might want to hide something, someday? Legitimately? If you cannot imagine that, I submit you're not trying hard enough.
Secondly - and more insidiously - a giant database of call records and similar data can - at the very least - be used to make most anyone look bad in hindsight. If you have interacted with me personally, for example, that makes a connection. And if this (or some future) administration decides this blog post is a problem, you could be looked at with suspicion. And who else have you talked to? Are you certain that every last one of them is a perfectly upstanding citizen, free from any possibility of shame or recrimination? That NSA database of phone call data - combined with a simple reverse phone directory to get at names - can be used to find any number of disreputable people we might have associated with. And five years from now, we won't remember the details, so we'll have a very hard time defending ourselves, if we're even given the opportunity.
The most repressive regimes in the world would love to have the kinds of data the NSA has admitted it is "accidentally" collecting about US citizens right now. Think about that for a minute. You know it's true.
It didn't have to be that way. With a simple presidential directive and a few hours of work on the part of a few key people, the broad outlines of the major programs the NSA is undertaking could be released, and we could have a conversation based on real data, not suppositions, rumors, and leaked documents.
Yes, the terrorists might learn some things not to do - maybe - but remember that Bin Laden was only interacting with others via courier when we finally found him. No satellite phones, no cell phones... just people. And email encryption is a reality already. Don't you think maybe the bad guys already have a pretty good idea about this sort of thing? If they are using unencrypted text in gmail to talk amongst themselves, perhaps they are dumber than we give them credit for.
On the other hand, we the people - the ones paying the bills and electing the leaders - would probably learn a lot. Remember rendition and secret prisons? How about waterboarding and government sanctioned torture? Destabilizing foreign governments? Assassination attempts? All in our name. And now we can ad near universal spying and cyber espionage/warfare (even against our allies) to the list.
And if we're outraged by those disclosures, well, then maybe putting these programs in place was wrong, or the ways in which they are implemented need to be changed. That's part of democracy. But maybe the President - and the rest of our government - has forgotten about that.
Farther down the chain we have a few senators who may or may not have been briefed on these things in some detail. Just how much they know is, of course, unclear. Some of them have missed the briefings entirely. Others have come to the conclusion that the intelligence system is worth every penny we throw in its direction, and that everything the NSA says is true. My own senators have both let me down on this. It appears they think anything and everything is allowed in the name of national security, and I simply do not agree.
I recently read a claim from a Senator that the problem with the system is that it employs too many contractors, as if government employees wouldn't give secrets away. I can only laugh. Benjamin Franklin had another quote that applies here: "Three people can keep a secret if two of them are dead." Note that Franklin doesn't mention who these people might work for. And just in case you think the fact that the NSA related leaks came from a contractor justifies the claim, I have one name for you: Bradley Manning. Private First Class Bradley Manning, in fact. He's the US soldier - definitely a government employee - who passed a treasure trove of classified material to Wikileaks. That government paycheck really saved us in that case, didn't it?
The real problem is actually very simple. It's people. They can't keep secrets, no matter who they work for.
And the only real fix is not to have secrets. The less we classify and withhold, the easier it is for everyone to do their jobs, and the harder it is for someone to break these laws, or surprise others with revelations.
I will be writing my Senators, my Representative, and the President to express my extreme displeasure with the state of our security apparatus. And I suspect I will be voting differently come the next election as well.
I note, however, that with very few exceptions, both of the major parties are filled with people in the pockets of the intelligence industry. If you think you can just switch your vote to the other big party and cause change, you're fooling yourself. You'll have to look much farther than that.
Is that the kind of world you want to live in?
If not, I suggest you tell your elected representatives about it, loudly and clearly. A big backlash is about the only tool we have to change things at this point. A small backlash will only get the noisy ones watched more closely, and eventually their friends will be tarred with the same brush when these systems are misused by those in power.
All of these intelligence gathering systems are begging to be abused. If not by the current administration and people in charge, by those that replace them in the coming years. We will all suffer, and the McCarthy hearings will look like a cakewalk in comparison.
-- Benjamin Franklin
The very word "secrecy" is repugnant in a free and open society...
-- John F Kennedy
I've been reading a lot about the NSA and the disclosures relating to it of late, and I have some thoughts on the situation, as those who know me might expect. As always with me, nothing is simple, and I am not going to give you a two line TL;DR synopsis. Read it if you care, and if you don't, well, then don't.
On Edward Snowden
Everything in the media about Snowden - his background, education, girlfriend, behavior, where he is, and so on - is a side show. Yes, he broke the law. But whistleblowers do that all the time, trying to raise attention about things that violate their principles.Is he a criminal? Probably.
Is he a traitor? Maybe.
Is what he has done wrong? Not in my mind. You may feel differently.
Should be punished? Answering that is beyond my pay grade, though my gut says "no".
What is important - really important - is what he's exposed. Most of us knew - or at least suspected - it was going on to some degree, but the documents Snowden has released help shed light on programs that have been hidden for far too long. That is a good and necessary thing, and for that I thank him.
And that is all I am going to say about Snowden himself.
The Problem
Going back decades, but really gaining momentum after 9/11, we - as a nation - have run in fear. Fear of communists. Fear of the Soviet Union. Fear of terrorists. Fear of China. Fear of gays. Fear of the opposing political party. Fear of the other, of the different. Fear, pure and simple.And after 9/11, it became possible for any lawmaker, of any stripe, to pass just about any law, no matter how restrictive or silly, by claiming it would help "secure the homeland" or improve national security. Fear is a powerful motivator.
And so we've become slaves to our fear, and make far too many decisions based on it.
The intelligence community is the major beneficiary of all of that fear, and (of course) the money all those new laws have made available. We used to have (and sometimes worry about) only a military industrial-complex. Now we have an intelligence-industrial complex. It's a huge beast of a system, employing tens of thousands, and consuming vast amounts of money that often cannot be tracked at all. Someday we're going to be appalled at what the NSA is paying for toilet seats, but up until very recently it's all been black budgets and a complete lack of detail about what they are doing. The recent leaks have shone a small amount of light into the system, and the results are, to me, rather scary.
What we know seems to include:
- A president who ran for office espousing openness and transparency, but who has changed his tune and now runs a horrifically tight lipped and closed administration, particularly on national security.
- Lax - or nonexistent - oversight of these programs by congress and the courts that are supposed to oversee them.
- Agencies operating on secret interpretations of laws that are (and were) controversial. In one case, I have read speculation that the NSA is allowed to collect and record the contents of all the calls and emails it wants because that isn't the actual "intercept" the law prohibits without a warrant. In this interpretation the "intercept" only happens if some agent actually listens to a call or reads an email. Whether that is really true or not, I cannot say, but given the nature of the disclosures to date, it seems entirely plausible.
- There are few obvious safeguards in place to assure these programs aren't (and won't be) abused, and certainly no proof that abuse hasn't already occurred. In fact one article I've read documented abuse of these programs recently, including capturing the calls of a certain senator from Illinois long before he began his presidential run.
- There is no assurance these programs are actually useful. The head of the NSA recently said these programs had helped avoid over 50 acts of terrorism, but there is no way to verify that. And, on the rare occasion in the past six months when I have read actual research by journalists into claims of the benefits of NSA style intelligence gathering as they relate to specific incidents, they have all be debunked. In other words, in all the cases I have seen where an attack was thwarted by signals intelligence, the claims have been proven false, and the actual intelligence that did the job was collected in other ways.
- The head of the NSA has lied to congress - and thus to the people of the US - about the nature of these programs. Don't take my word for it, though. Google him up - General James Clapper - watch him tell congress, in answer to a direct question, that the NSA is not collecting data on millions of Americans. Then read about the court order requiring Verizon to turn over call metadata for every call on their network. He lied, plain and simple. How can a person who does that be trusted with anything? How can a system that encourages that be trusted with anything?
- And if you're not an American, it appears the NSA can do whatever they want with the data they collect on you: record your calls and listen to them, search your email, save it all forever. And all with no consequences. Isn't the USA just a shining beacon of truth and justice?
Personally, I think we've overreacted to 9/11. It was, of course, a horrible tragedy. But what we have done in response is either entirely reactive - looking for things that were done before, so now we're patting down little old ladies and making everyone remove their shoes at airports - or is so secret that we cannot talk about it under any circumstances.
Well I am sick of it all. The introductory quotes I gave are spot on. Just how much liberty should we be giving up? And just how much secrecy should we tolerate? The answers aren't necessarily obvious, but if we cannot discuss these issues, we're giving in, and creating what amounts to a police state in the process. America, the police state. How does that sound? Or how about: "Come to America for the freedom, stay for the monitoring."
They Can Watch Me - I Have Nothing To Hide
I have heard that argument from so many people over the years. It's practically an invitation: please, government (or company), feel free to read my email and listen to my phone conversations. Go ahead and track my movements even. I don't mind, because I am a law abiding citizen and I have nothing to hide. Only the bad guys have something to hide, so go get 'em!I have two responses:
First, you may have nothing to hide now, but will that always be true? What if you're the one who discovers a crime on the part of those in power? Shouldn't you be able to protect yourself from discovery while you figure out how best to do something about it? Alternatively, maybe your tastes change at some point and you don't want the government knowing about some little habit you've picked up. Maybe it's just a fascination with subversive literature. Maybe you're a historian and you start digging into an event in the past which the current administration wants to keep buried, or sees in a different light than you do. Isn't it possible you might want to hide something, someday? Legitimately? If you cannot imagine that, I submit you're not trying hard enough.
Secondly - and more insidiously - a giant database of call records and similar data can - at the very least - be used to make most anyone look bad in hindsight. If you have interacted with me personally, for example, that makes a connection. And if this (or some future) administration decides this blog post is a problem, you could be looked at with suspicion. And who else have you talked to? Are you certain that every last one of them is a perfectly upstanding citizen, free from any possibility of shame or recrimination? That NSA database of phone call data - combined with a simple reverse phone directory to get at names - can be used to find any number of disreputable people we might have associated with. And five years from now, we won't remember the details, so we'll have a very hard time defending ourselves, if we're even given the opportunity.
The most repressive regimes in the world would love to have the kinds of data the NSA has admitted it is "accidentally" collecting about US citizens right now. Think about that for a minute. You know it's true.
On Our Elected Representatives
President Obama ran promising greater transparency in government. At the Whitehouse website, as I write this, you can find a page about Transparency and Open Government where you can read this opening paragraph:My Administration is committed to creating an unprecedented level of openness in Government. We will work together to ensure the public trust and establish a system of transparency, public participation, and collaboration. Openness will strengthen our democracy and promote efficiency and effectiveness in Government.I call "bullshit". The Obama administration has been just as bad as - and possibly worse than - the previous administration on transparency. We continue to have a government that stamps things "secret" just for fun, and anything to do with national security is inescapably hidden. The NSA programs have only grown under his watch, and the Patriot Act - a bad law that never should have been passed in the first place - has been extended.
It didn't have to be that way. With a simple presidential directive and a few hours of work on the part of a few key people, the broad outlines of the major programs the NSA is undertaking could be released, and we could have a conversation based on real data, not suppositions, rumors, and leaked documents.
Yes, the terrorists might learn some things not to do - maybe - but remember that Bin Laden was only interacting with others via courier when we finally found him. No satellite phones, no cell phones... just people. And email encryption is a reality already. Don't you think maybe the bad guys already have a pretty good idea about this sort of thing? If they are using unencrypted text in gmail to talk amongst themselves, perhaps they are dumber than we give them credit for.
On the other hand, we the people - the ones paying the bills and electing the leaders - would probably learn a lot. Remember rendition and secret prisons? How about waterboarding and government sanctioned torture? Destabilizing foreign governments? Assassination attempts? All in our name. And now we can ad near universal spying and cyber espionage/warfare (even against our allies) to the list.
And if we're outraged by those disclosures, well, then maybe putting these programs in place was wrong, or the ways in which they are implemented need to be changed. That's part of democracy. But maybe the President - and the rest of our government - has forgotten about that.
Farther down the chain we have a few senators who may or may not have been briefed on these things in some detail. Just how much they know is, of course, unclear. Some of them have missed the briefings entirely. Others have come to the conclusion that the intelligence system is worth every penny we throw in its direction, and that everything the NSA says is true. My own senators have both let me down on this. It appears they think anything and everything is allowed in the name of national security, and I simply do not agree.
I recently read a claim from a Senator that the problem with the system is that it employs too many contractors, as if government employees wouldn't give secrets away. I can only laugh. Benjamin Franklin had another quote that applies here: "Three people can keep a secret if two of them are dead." Note that Franklin doesn't mention who these people might work for. And just in case you think the fact that the NSA related leaks came from a contractor justifies the claim, I have one name for you: Bradley Manning. Private First Class Bradley Manning, in fact. He's the US soldier - definitely a government employee - who passed a treasure trove of classified material to Wikileaks. That government paycheck really saved us in that case, didn't it?
The real problem is actually very simple. It's people. They can't keep secrets, no matter who they work for.
And the only real fix is not to have secrets. The less we classify and withhold, the easier it is for everyone to do their jobs, and the harder it is for someone to break these laws, or surprise others with revelations.
I will be writing my Senators, my Representative, and the President to express my extreme displeasure with the state of our security apparatus. And I suspect I will be voting differently come the next election as well.
I note, however, that with very few exceptions, both of the major parties are filled with people in the pockets of the intelligence industry. If you think you can just switch your vote to the other big party and cause change, you're fooling yourself. You'll have to look much farther than that.
Summary
Imagine for a moment that we're all rats in a maze. In this scenario the NSA is the guy running the experiments and watching from above, with video cameras and digital tape recorders. He can hear just about anything you say, if he wants to, and see just about everything you do. Sometimes you can hide in a tunnel for a minute or two, but the NSA guy knows when you went into that tunnel, when you come out, what you took with you, and everyone you met while you were in there. And if your personal maze happens to be overseas, the NSA guy is actively recording everything you say and do just because he can. And watching and reading it later, trying to determine if you're the right kind of rat or not.Is that the kind of world you want to live in?
If not, I suggest you tell your elected representatives about it, loudly and clearly. A big backlash is about the only tool we have to change things at this point. A small backlash will only get the noisy ones watched more closely, and eventually their friends will be tarred with the same brush when these systems are misused by those in power.
All of these intelligence gathering systems are begging to be abused. If not by the current administration and people in charge, by those that replace them in the coming years. We will all suffer, and the McCarthy hearings will look like a cakewalk in comparison.
References:
I've read a lot of articles focusing on these issues in the past few weeks. The list below is roughly in time order, and contains links to articles I found interesting, or that I bookmarked for one reason or another. It is far from a complete list of my research, which it would be difficult for me to regenerate at this point, though - and I say this fully understanding the irony - the NSA could probably tell you what I've read in a matter of minutes if they wanted to. There are a lot more articles to read if you dig. Feel free, if you don't mind building a track record on the web that the NSA will be able to follow, of course.
- http://www.nytimes.com/2013/06/14/technology/secret-court-ruling-put-tech-companies-in-data-bind.html
- http://www.opposingviews.com/i/society/guns/toddlers-killed-more-americans-terrorists-did-year
- http://news.cnet.com/8301-13578_3-57589495-38/nsa-spying-flap-extends-to-contents-of-u.s-phone-calls/
- http://www.alternet.org/news-amp-politics/obama-and-his-allies-say-govt-doesnt-listen-your-phone-calls-fbi-begs-differ
- http://www.motherjones.com/politics/2013/06/google-microsoft-twitter-facebook-user-data-fisa-charts
- http://www.usatoday.com/story/news/nation/2013/06/18/nsa-surveillance-secret-programs-terror-plots/2434193/
- http://gizmodo.com/confirmed-court-oversight-of-nsa-surveillance-is-a-j-514036128
- http://www.cnn.com/2013/06/18/opinion/schneier-cyberwar-policy/index.html
- http://www.guardian.co.uk/world/2013/jun/20/fisa-court-nsa-without-warrant
- http://www.geeksaresexy.net/2013/06/21/nsa-scandal-loophole-us-citizen-communications-are-compromised/
- http://www.buzzfeed.com/mhastings/why-democrats-love-to-spy-on-americans
- http://gizmodo.com/exactly-how-the-nsa-is-getting-away-with-spying-on-us-c-540606531
- https://www.youtube.com/watch?v=r9-3K3rkPRE
- http://www.businessinsider.com/expert-says-the-nsa-is-probably-spying-on-you-2013-6#ixzz2WxEEOUql
- http://www.guardian.co.uk/commentisfree/2013/jun/23/nsa-intelligence-industrial-complex-abuse
- http://www.mcclatchydc.com/2013/06/20/194513/obamas-crackdown-views-leaks-as.html?storylink=addthis#.Ucn7naFDuMd
- http://www.bloomberg.com/news/2013-06-23/u-s-surveillance-is-not-aimed-at-terrorists.html
- http://www.washingtonpost.com/blogs/wonkblog/wp/2013/06/25/heres-everything-weve-learned-about-how-the-nsas-secret-programs-work/?wprss=rss_ezra-klein
- http://www.guardian.co.uk/world/2013/jun/27/nsa-data-mining-authorised-obama
Sunday, June 23, 2013
Much Ado About Nothing
TL;DR: go see Much Ado About Nothing. Really. Just do it. Great movie.
Joss Whedon - who created enough of the modern American TV canon that I am starting to think of him as the Shakespeare of my generation, though I am certain he would disagree with that characterization - has done it again.
This time he's created a movie from a play by the original Shakespeare, and he's done it very well. He cast a bunch of people you will recognize if you know his work, and they clearly have a great time.
Put simply, Much Ado About Nothing is great. Amy Acker and Alexis Denisof have great chemistry as Beatrice and Benedick, and their acting is superb.
So, honestly, just go see it. You'll have a great time.
Joss Whedon - who created enough of the modern American TV canon that I am starting to think of him as the Shakespeare of my generation, though I am certain he would disagree with that characterization - has done it again.
This time he's created a movie from a play by the original Shakespeare, and he's done it very well. He cast a bunch of people you will recognize if you know his work, and they clearly have a great time.
Put simply, Much Ado About Nothing is great. Amy Acker and Alexis Denisof have great chemistry as Beatrice and Benedick, and their acting is superb.
So, honestly, just go see it. You'll have a great time.
Thursday, June 20, 2013
Yellow Jackets: Scourge of the Earth, or something...
I started to do some mowing and tree trimming on Tuesday. I am trimming up a bunch of trees along the road I live on, as well as mow a field. It all belongs to a neighbor who doesn't mind if I do the work. In fact, I've been mowing this field for him for several years now - to the benefit of us both - and I am finally trying to trim up the trees so they don't rip my face off when I mow under them. And to reduce the ladder fuels as well.
I had been working on to the very first tree on my neighbor's side of the property line for maybe 20 minutes when I felt a sharp pain in my right hip. Inside the pocket. It hurt. A lot.
No sign of the critter, but it had all the hallmarks of a yellow jacket sting. Only then did I note the nest in the ground, not three feet from where I was standing. Grrr.
So I backed off, made sure I wasn't about to die from anaphylactic shock, and kept working, just a bit farther away.
Maybe half an hour later I noted that the inside of my left elbow was starting to itch. Odd... no bites or stings or anything... just a consistent itch. Keep working.
Half an hour after that, though, my elbow is covered with small pustules and swollen up. And itches like mad. Grrr. Again.
Take a break. Wash the elbow clean and examine. No bite or sting marks that I can see. Slather on some topical antihistamine. Examine hip. Clear sting mark and minor swelling. Slather on some antihistamine there too. Start wondering...
Two years ago I was stung by a yellow jacket on my left elbow, just about where it is all swollen now. Could the new sting on my right hip cause the swelling on my left elbow?
The rest of the day goes along without additional excitement. That evening the elbow swelling recedes, but the hip swelling (and pain) increase, then decrease overnight, then increase again the following morning.
And continue increasing during the day. Grrr for a third time.
Finally, despite the fact that I am not obviously dying, I decide to go see a doctor. Mostly about whether the new sting could cause my left elbow to swell than about the swelling in my right hip.
And here's the takeaway from this blog post. Things I didn't know:
Beyond that, though, my question about whether the new sting could have caused the site of the old sting to swell up and itch was new to him. He didn't know the answer, but said he would try to look it up. It does happen in some cases with poison oak, he knew, so it is at least an interesting question. If I hear anything from him about it, I will share that.
This morning the swelling on my hip is down again. Maybe it will swell back up, maybe not. And the elbow is basically back to normal. Life goes on.
Finally, if anyone knows of a way to render yellow jackets completely extinct - wiped from the face of the earth - with no side effects, please share it. We live with skunks, spiders, bees, wasps, poison oak and maybe scorpions and rattlesnakes (though I haven't seen any of those in 21 years), but yellow jackets are definitely the worst. They all need to die. Now.
I had been working on to the very first tree on my neighbor's side of the property line for maybe 20 minutes when I felt a sharp pain in my right hip. Inside the pocket. It hurt. A lot.
No sign of the critter, but it had all the hallmarks of a yellow jacket sting. Only then did I note the nest in the ground, not three feet from where I was standing. Grrr.
So I backed off, made sure I wasn't about to die from anaphylactic shock, and kept working, just a bit farther away.
Maybe half an hour later I noted that the inside of my left elbow was starting to itch. Odd... no bites or stings or anything... just a consistent itch. Keep working.
Half an hour after that, though, my elbow is covered with small pustules and swollen up. And itches like mad. Grrr. Again.
Take a break. Wash the elbow clean and examine. No bite or sting marks that I can see. Slather on some topical antihistamine. Examine hip. Clear sting mark and minor swelling. Slather on some antihistamine there too. Start wondering...
Two years ago I was stung by a yellow jacket on my left elbow, just about where it is all swollen now. Could the new sting on my right hip cause the swelling on my left elbow?
The rest of the day goes along without additional excitement. That evening the elbow swelling recedes, but the hip swelling (and pain) increase, then decrease overnight, then increase again the following morning.
And continue increasing during the day. Grrr for a third time.
Finally, despite the fact that I am not obviously dying, I decide to go see a doctor. Mostly about whether the new sting could cause my left elbow to swell than about the swelling in my right hip.
And here's the takeaway from this blog post. Things I didn't know:
- Less than 1% of people have an allergic reaction to bee stings. That means that unless it itches - or your neck swells up and you cannot breathe - antihistamines don't help. This makes sense in my case. The antihistamine did nothing at all for my hip. Maybe it helped the elbow, but then again maybe not. There is no way to be sure without extensive testing, which given the situation is something I would rather avoid.
- The doctor says he has never seen an infected bee sting either, and he has seen hundreds of them over the years. That means antibiotics are wasted treatment for them too.
- The swelling around a bee or yellow jacket sting is actually a reaction to the toxin the little blighter has pumped into your system. It can make your whole arm or leg swell up before it resolves itself, but there is nothing much you can do about it. Maybe some pain killers if it hurts too much, but all that stuff we were taught about allergic reactions and the like: wrong. Unless you're part of that tiny group that actually has one, or you're stung in the mouth.
- There is no pattern to whether later stings are more or less bad than earlier stings. You never know.
- Oh, and get the stinger out ASAP if the bee left one stuck in you. Don't worry about squeezing it, just pull the thing out to get it to stop injecting more toxin into your body.
Beyond that, though, my question about whether the new sting could have caused the site of the old sting to swell up and itch was new to him. He didn't know the answer, but said he would try to look it up. It does happen in some cases with poison oak, he knew, so it is at least an interesting question. If I hear anything from him about it, I will share that.
This morning the swelling on my hip is down again. Maybe it will swell back up, maybe not. And the elbow is basically back to normal. Life goes on.
Finally, if anyone knows of a way to render yellow jackets completely extinct - wiped from the face of the earth - with no side effects, please share it. We live with skunks, spiders, bees, wasps, poison oak and maybe scorpions and rattlesnakes (though I haven't seen any of those in 21 years), but yellow jackets are definitely the worst. They all need to die. Now.
Tuesday, June 11, 2013
Richard Stallman Is Wrong About Cloud Computing, At Least In Some Ways
TL;DR: No matter what Richard Stallman may say, there is a place for cloud computing.
In an article in The Guardian, Richard Stallman calls using web based programs "worse than stupidity" and a trap to get people locked into proprietary systems.
Is he right? In some ways, maybe, but as I see it, for the population in general, he's off base.
I'm probably not the right person to criticize. I've only got about 20 years of programming behind me, mostly for companies no one has heard of. I've worked for one ISP, one OS developer, and a bunch of other places. I graduated with a CS degree long enough ago that OO was still a university concept, not actually in use in the field, and I never took to it for several reasons. As it happens, I'm sick of all of that now, and would rather carve stone, but that doesn't matter. I still do a lot of things on computers, using cloud computing of one sort or another, as well as some local computing power too.
Oh, and I know Stallman will never see this, which is just fine with me. I'm a nobody in comparison, but I still think I have a valid point.
Stallman claims that cloud computing is all marketing hype. But let's look at this a bit more deeply.
If you have a computer at home, the chances are it runs Windows. Alternatively, if you don't run Windows, it is most likely you're an Apple Mac user, and thus run MacOS. If you fall into those categories, Stallman has no use for you. Those are both proprietary operating systems and lock you into the same evils that cloud computing does. You're screwed, by definition.
In terms of popularity, I think after that come tablets and smartphones. Those generally run Android - which is open source - or IOS (from Apple) or Windows. Let's just assume that Stallman hates anything from Apple and Microsoft - probably a good bet - and think about Android for a minute.
I have an Android phone, and I love it, but it is running an old version of the OS. It's not even two years old but - despite promises to the contrary - both the manufacturer and mobile carrier have failed to update it.
Yes, technically, I could root the phone, back it up, and install the latest version of Android myself. But that takes time, risks turning the phone into a brick, and requires me to do all ongoing maintenance from there on out as well. While I might eventually attempt it, most of the people who own smart phones aren't going to bother. Too much trouble. So, many people running Android are locked into an old, unsupported OS by a combination of their carrier and phone maker. Stallman probably writes them all off to, if I had to guess, though he might claim the the companies involved are doing evil in the process.
So far, no matter which of the choices I've listed, you're very likely to be in a category that Stallman dislikes.
What does that leave?
In the personal and mobile computing world, that leaves Linux and the latest version of Android, the latter getting updated all the time and leaving more and more people behind as that happens.
So, what makes the few percent that actually run those systems - the ones Stallman might like - tick? They're all serious geeks, for starters. They know their tech and aren't afraid to mess with it. It's fun to do so, in fact.
Let me give a different perspective on this: I run Linux at home and it requires real effort. Here's an example:
Recently, Ubuntu discontinued support for the version of Linux I was using. Their newest version no longer supports older CPUS - like the one found in my laptop - so it cannot run out of the box on it for me. It does run on my desktop, but it has a new UI that I really don't like, which completely changes the way I have to interact with the computer. (I strongly prefer focus-follows-mouse, not click-to-focus, for various reasons, but the Unity UI makes that choice unavailable by default. And there are behaviors in this UI that make no sense on a desktop, but since they are trying to create on UI that will also work on pad computers and smartphones, we're stuck with it. In short, I think it stinks.)
And then there was the time that I had to wait a year for Linux to support a new motherboard, and the time Ubuntu changed to the open source graphics card driver too soon, and it didn't support my system, and getting printing to work was a pain, and I had about three choices for scanners that the manufacturer actually says support Linux, and when I did the recently required OS upgrade, the scanner stopped working and I had to go find 2 totally different things that were required to make it work and execute commands at the command line, as the superuser, to make things right again. Really.
None of that is going to be easy to explain to most users. Stallman would have no problem with it, and compared to most I had little trouble, but I am not about to make Linux support a brand new motherboard. I have a lot of other things to do with my life.
Stallman might argue that I can change to another Linux vendor, and I did look around when Ubuntu unilaterally decided that non-PAE CPUs were so old that no one would care if they weren't supported anymore. But I am not all that happy with anything I have seen so far. Over the years I have used a number of Linux versions, and I have suffered from all kinds of problems with both hardware and software compatibility. Thus far, Linux Mint runs on the laptop - despite being Ubuntu and Debian based - but I am not convinced that I want to run it on my desktop yet. Too many unknowns. I have no idea how that issue will shake out.
Looking at this objectively, Canonical - the makers of Ubuntu - have done their very best to both lock me into their system and piss me off about their hardware support changes. They act just like a proprietary OS vendor in some ways. And given past experience, most of the other Linux vendors I have used do the same.
So on the OS front just about everyone is going to have a problem. Either Stallman won't approve of your OS (walled garden or crap) or, in the unlikely event that we happen to select something he approves of, we're in for a perpetual maintenance nightmare. And I repeat: am fairly well versed in the technology. My parents are never going to run Linux. Never. Way too complicated.
But let's think a bit more about the nature of the beast here. The OS is only the start of the issue, and Stallman's real complaint - at least in that article - is about cloud computing, which goes beyond the OS and into the application arena.
For example, apparently Stallman doesn't like gmail. Because it - and other webmail systems like it, one assumes - will lock their users into one solution, and put them at the mercy of Google (or Yahoo, or Microsoft, or whoever).
Perhaps, but...
I ran my own instance of sendmail for several years, so I could totally handle my own email. It's a configuration nightmare. Not fun. No way is grandma going to do it. And you have to update the software all the time to patch for security issues, and there are always things breaking in weird ways. It is my belief that mail server administration is only for those who enjoy pain.
Beyond, that, though, come other issues. If I run my own mail server at home, I've got no simple way to do something like have email that gets delivered to that home computer also be available on my Android phone when I am not at home. I could setup a POP or IMAP server, I suppose, but then I have to have some way to make it visible to the outside world, when my ISP NATs everything by default. Possible, maybe, but way too much trouble. And not something my mother is ever going to want to understand.
Oh... maybe Stallman wants everyone to have their own server in a data center somewhere, with a public IP address. That would let them run all of this server software in a simpler way, I suppose, but does grandma really want to do that? Or maybe we should all be using virtual machines for this? But wait... that's cloud computing. Can't do that.
What else does using a webmail system get me? Over the years I've had disks fail and lost everything on them. So running my own email system means a very intensive backup system is required. Gee... with webmail, someone else is backing things up, storing multiple copies, and generally making sure the hardware isn't going out of date or failing. I'd call that a win. They are also monitoring capacity and adding more (and faster) CPUs when they are needed. Another thing I can avoid.
So, let's summarize: with gmail - or any of the other major webmail systems - I can read my email anywhere, it's backed up, and I don't have to do hardware or software maintenance on anything on the server side. That adds value in my eyes. But according to Stallman, it's all just there as marketing hype and to lock me into a particular service. I guess the choice is obvious to him.
How about other software?
My various Linux installs come with LibreOffice (formerly Open Office, before Oracle did the nasty to Sun), and it's a fine office suite as these things go. But sharing documents with others - and having edits done in just one place, rather than having to sync up everyone's changes, which is something I actually do - isn't easy with LibreOffice, just as it isn't easy with MS Office. But Google's office apps - available via Google Drive - do a nice job of that. And I never have to update the software. They make my life easier, not harder. And there are other office suite vendors as well, so I have choices. And Google lets me export my data in a number of open formats. So I am not really locked in at all. Huh. Interesting.
I also use the image manipulation program Gimp regularly, and while it is very powerful, it isn't as easy to use for some photo work as I have found some cloud photo software to be. And again, there are many choices here. And since images can be downloaded in common formats... no lock in. Fascinating.
What does all of this mean?
For me - and I suspect for most of us - cloud computing provides real value in the form of simplicity. Of course it is possible to pick a bad provider and/or get locked into something you cannot get out of, but as my examples above indicate, that is happening on the open source side as well. Just how many times should the average user have to reinstall Linux until he gets a version that works for him? And how much research should he have to do to keep it running? (And never mind figuring out how to configure the nightmare that is sendmail.)
For Stallman - and those like him - running everything themselves on their own local hardware may be fine. And I don't mind a bit if he does that. In fact I hope that over time it gets easier for all of us to run this stuff ourselves if we want to. But most of us aren't going to be able to master all of the knowledge needed to make these things run well, or even work at all in some cases. Cloud computing can help simplify things for the end user immensely if all they need is an OS and an up to date browser. That's a lot less to maintain, backup, and keep virus free.
On the business side things get a bit less clear, I admit. But what some forms of cloud computing offer is hard to beat. If your business grows, do you really want to have to add racks of servers yourself to support it? Maybe, but perhaps you'd rather use Amazon's cloud services to deal with at least some of that. If it saves you time and/or money, it might be worthwhile.
Are you locked in if you go that route? Yes. But you're just as locked in with any solution. If you do it yourself you're locked into the OS you pick, the hardware you chose, the data center you lease space from (or the building you lease or own to build your own data center), and so on. And when you go down the application route, you're locked into whatever you buy or build.
Lock in, to some degree, is a matter of fact, and no major change is simple when you think about these things. None.
But if cloud computing means you can get more capacity quickly, when you need it, rather than waiting two weeks for the servers you need to arrive and get configured, that could be a real win for at least some businesses. To discard it as all marketing hype is to miss the point.
I respect Richard Stallman for his principled stance, but in reality, things are a lot more complicated than he lets on. There is a place for cloud computing - of various kinds - for both end users and businesses. Of course there are tradeoffs - and even risks - but if he thinks that doing everything locally avoids those issues, his head is firmly planted in the sand.
In an article in The Guardian, Richard Stallman calls using web based programs "worse than stupidity" and a trap to get people locked into proprietary systems.
Is he right? In some ways, maybe, but as I see it, for the population in general, he's off base.
I'm probably not the right person to criticize. I've only got about 20 years of programming behind me, mostly for companies no one has heard of. I've worked for one ISP, one OS developer, and a bunch of other places. I graduated with a CS degree long enough ago that OO was still a university concept, not actually in use in the field, and I never took to it for several reasons. As it happens, I'm sick of all of that now, and would rather carve stone, but that doesn't matter. I still do a lot of things on computers, using cloud computing of one sort or another, as well as some local computing power too.
Oh, and I know Stallman will never see this, which is just fine with me. I'm a nobody in comparison, but I still think I have a valid point.
Stallman claims that cloud computing is all marketing hype. But let's look at this a bit more deeply.
If you have a computer at home, the chances are it runs Windows. Alternatively, if you don't run Windows, it is most likely you're an Apple Mac user, and thus run MacOS. If you fall into those categories, Stallman has no use for you. Those are both proprietary operating systems and lock you into the same evils that cloud computing does. You're screwed, by definition.
In terms of popularity, I think after that come tablets and smartphones. Those generally run Android - which is open source - or IOS (from Apple) or Windows. Let's just assume that Stallman hates anything from Apple and Microsoft - probably a good bet - and think about Android for a minute.
I have an Android phone, and I love it, but it is running an old version of the OS. It's not even two years old but - despite promises to the contrary - both the manufacturer and mobile carrier have failed to update it.
Yes, technically, I could root the phone, back it up, and install the latest version of Android myself. But that takes time, risks turning the phone into a brick, and requires me to do all ongoing maintenance from there on out as well. While I might eventually attempt it, most of the people who own smart phones aren't going to bother. Too much trouble. So, many people running Android are locked into an old, unsupported OS by a combination of their carrier and phone maker. Stallman probably writes them all off to, if I had to guess, though he might claim the the companies involved are doing evil in the process.
So far, no matter which of the choices I've listed, you're very likely to be in a category that Stallman dislikes.
What does that leave?
In the personal and mobile computing world, that leaves Linux and the latest version of Android, the latter getting updated all the time and leaving more and more people behind as that happens.
So, what makes the few percent that actually run those systems - the ones Stallman might like - tick? They're all serious geeks, for starters. They know their tech and aren't afraid to mess with it. It's fun to do so, in fact.
Let me give a different perspective on this: I run Linux at home and it requires real effort. Here's an example:
Recently, Ubuntu discontinued support for the version of Linux I was using. Their newest version no longer supports older CPUS - like the one found in my laptop - so it cannot run out of the box on it for me. It does run on my desktop, but it has a new UI that I really don't like, which completely changes the way I have to interact with the computer. (I strongly prefer focus-follows-mouse, not click-to-focus, for various reasons, but the Unity UI makes that choice unavailable by default. And there are behaviors in this UI that make no sense on a desktop, but since they are trying to create on UI that will also work on pad computers and smartphones, we're stuck with it. In short, I think it stinks.)
And then there was the time that I had to wait a year for Linux to support a new motherboard, and the time Ubuntu changed to the open source graphics card driver too soon, and it didn't support my system, and getting printing to work was a pain, and I had about three choices for scanners that the manufacturer actually says support Linux, and when I did the recently required OS upgrade, the scanner stopped working and I had to go find 2 totally different things that were required to make it work and execute commands at the command line, as the superuser, to make things right again. Really.
None of that is going to be easy to explain to most users. Stallman would have no problem with it, and compared to most I had little trouble, but I am not about to make Linux support a brand new motherboard. I have a lot of other things to do with my life.
Stallman might argue that I can change to another Linux vendor, and I did look around when Ubuntu unilaterally decided that non-PAE CPUs were so old that no one would care if they weren't supported anymore. But I am not all that happy with anything I have seen so far. Over the years I have used a number of Linux versions, and I have suffered from all kinds of problems with both hardware and software compatibility. Thus far, Linux Mint runs on the laptop - despite being Ubuntu and Debian based - but I am not convinced that I want to run it on my desktop yet. Too many unknowns. I have no idea how that issue will shake out.
Looking at this objectively, Canonical - the makers of Ubuntu - have done their very best to both lock me into their system and piss me off about their hardware support changes. They act just like a proprietary OS vendor in some ways. And given past experience, most of the other Linux vendors I have used do the same.
So on the OS front just about everyone is going to have a problem. Either Stallman won't approve of your OS (walled garden or crap) or, in the unlikely event that we happen to select something he approves of, we're in for a perpetual maintenance nightmare. And I repeat: am fairly well versed in the technology. My parents are never going to run Linux. Never. Way too complicated.
But let's think a bit more about the nature of the beast here. The OS is only the start of the issue, and Stallman's real complaint - at least in that article - is about cloud computing, which goes beyond the OS and into the application arena.
For example, apparently Stallman doesn't like gmail. Because it - and other webmail systems like it, one assumes - will lock their users into one solution, and put them at the mercy of Google (or Yahoo, or Microsoft, or whoever).
Perhaps, but...
I ran my own instance of sendmail for several years, so I could totally handle my own email. It's a configuration nightmare. Not fun. No way is grandma going to do it. And you have to update the software all the time to patch for security issues, and there are always things breaking in weird ways. It is my belief that mail server administration is only for those who enjoy pain.
Beyond, that, though, come other issues. If I run my own mail server at home, I've got no simple way to do something like have email that gets delivered to that home computer also be available on my Android phone when I am not at home. I could setup a POP or IMAP server, I suppose, but then I have to have some way to make it visible to the outside world, when my ISP NATs everything by default. Possible, maybe, but way too much trouble. And not something my mother is ever going to want to understand.
Oh... maybe Stallman wants everyone to have their own server in a data center somewhere, with a public IP address. That would let them run all of this server software in a simpler way, I suppose, but does grandma really want to do that? Or maybe we should all be using virtual machines for this? But wait... that's cloud computing. Can't do that.
What else does using a webmail system get me? Over the years I've had disks fail and lost everything on them. So running my own email system means a very intensive backup system is required. Gee... with webmail, someone else is backing things up, storing multiple copies, and generally making sure the hardware isn't going out of date or failing. I'd call that a win. They are also monitoring capacity and adding more (and faster) CPUs when they are needed. Another thing I can avoid.
So, let's summarize: with gmail - or any of the other major webmail systems - I can read my email anywhere, it's backed up, and I don't have to do hardware or software maintenance on anything on the server side. That adds value in my eyes. But according to Stallman, it's all just there as marketing hype and to lock me into a particular service. I guess the choice is obvious to him.
How about other software?
My various Linux installs come with LibreOffice (formerly Open Office, before Oracle did the nasty to Sun), and it's a fine office suite as these things go. But sharing documents with others - and having edits done in just one place, rather than having to sync up everyone's changes, which is something I actually do - isn't easy with LibreOffice, just as it isn't easy with MS Office. But Google's office apps - available via Google Drive - do a nice job of that. And I never have to update the software. They make my life easier, not harder. And there are other office suite vendors as well, so I have choices. And Google lets me export my data in a number of open formats. So I am not really locked in at all. Huh. Interesting.
I also use the image manipulation program Gimp regularly, and while it is very powerful, it isn't as easy to use for some photo work as I have found some cloud photo software to be. And again, there are many choices here. And since images can be downloaded in common formats... no lock in. Fascinating.
What does all of this mean?
For me - and I suspect for most of us - cloud computing provides real value in the form of simplicity. Of course it is possible to pick a bad provider and/or get locked into something you cannot get out of, but as my examples above indicate, that is happening on the open source side as well. Just how many times should the average user have to reinstall Linux until he gets a version that works for him? And how much research should he have to do to keep it running? (And never mind figuring out how to configure the nightmare that is sendmail.)
For Stallman - and those like him - running everything themselves on their own local hardware may be fine. And I don't mind a bit if he does that. In fact I hope that over time it gets easier for all of us to run this stuff ourselves if we want to. But most of us aren't going to be able to master all of the knowledge needed to make these things run well, or even work at all in some cases. Cloud computing can help simplify things for the end user immensely if all they need is an OS and an up to date browser. That's a lot less to maintain, backup, and keep virus free.
On the business side things get a bit less clear, I admit. But what some forms of cloud computing offer is hard to beat. If your business grows, do you really want to have to add racks of servers yourself to support it? Maybe, but perhaps you'd rather use Amazon's cloud services to deal with at least some of that. If it saves you time and/or money, it might be worthwhile.
Are you locked in if you go that route? Yes. But you're just as locked in with any solution. If you do it yourself you're locked into the OS you pick, the hardware you chose, the data center you lease space from (or the building you lease or own to build your own data center), and so on. And when you go down the application route, you're locked into whatever you buy or build.
Lock in, to some degree, is a matter of fact, and no major change is simple when you think about these things. None.
But if cloud computing means you can get more capacity quickly, when you need it, rather than waiting two weeks for the servers you need to arrive and get configured, that could be a real win for at least some businesses. To discard it as all marketing hype is to miss the point.
I respect Richard Stallman for his principled stance, but in reality, things are a lot more complicated than he lets on. There is a place for cloud computing - of various kinds - for both end users and businesses. Of course there are tradeoffs - and even risks - but if he thinks that doing everything locally avoids those issues, his head is firmly planted in the sand.
Thursday, May 30, 2013
The Thing About Things
The internet does weird things to me.
A few weeks ago, Amanda Palmer put up a sound only recording of a brand new song on her bandcamp website, I think it was. She'd performed it for the first time at a live concert and someone there had recorded it, possibly on a cell phone, and made the recording available to her.
As you might imagine, that recording wasn't all that great. Hardly ideal circumstances for such a thing.
But the song... the song grabbed me. It's titled The Thing About Things.
Without specialized software it wasn't even downloadable... you could only listen to it on the website. I really liked it.
Fast forward a couple of weeks, maybe even a month. I find out that now she's made it downloadable. And that she has recorded - but not yet released - a better version of it in a studio. I downloaded the concert version, and am waiting for the song to appear somewhere that I can actually get a good version, for which I will happily give her money.
Fast forward some more. Today, on Amanda's blog - which is in my RSS reader - I see a new post. It's the text of a speech she gave about writing. She gave the speech after a poem she dashed off after the Boston bombing horror caused a kerfluffle, and I'd already watched the speech elsewhere. It's quite good, and a reminder to me to keep creating, and that there are a lot of people in the world who judge without understanding. Here's a link to it. If you're an artist or creator of any sort, you really should watch it: http://vimeo.com/65681037.
Anyway, as I'd already watched - and been moved by - that speech, I just skimmed the blog post. But down at the bottom I found a link to a post by someone who runs Grub Street, which is the writer's organization that Amanda was speaking too. Amanda said it was a good post, so I read it too. And it was. The author talks about some points Amanda raised - about how writers feel validated and who decides what you're doing is worthwhile. Good stuff. Chase that link too.
Now, in that post, there was an embedded video of Amanda playing her Ukulele Song, which is very funny, and worth a listen too. I've heard it before, several times, and figured I'd listen again. And it was worth it. Again, chase the link.
Are you getting how my morning was going yet?
Anyway, the Ukulele song finished up and Vimeo handed me a list of other videos I might be interested in, and there was a link to Amanda playing The Thing About Things. The first version I heard was Amanda and her piano, and despite being a bad recording it brought tears to my eyes. This recording is Amanda and her ukulele, and once again, I cried. It's a much better recording of the song, and she sings it with passion, which is her trademark in my mind.
And so, in my meandering way, with lots of diversions, here, finally, is the point of this blog post: Amanda Palmer's The Thing About Things, performed live at Grub Street in Boston.
May it bring you joy, and maybe a few tears as you remember someone, somewhere.
Peace.
Edit 6/25/13 - corrected the link to The Thing About Things... Not sure how it was wrong unless Vimeo changed it on me.
A few weeks ago, Amanda Palmer put up a sound only recording of a brand new song on her bandcamp website, I think it was. She'd performed it for the first time at a live concert and someone there had recorded it, possibly on a cell phone, and made the recording available to her.
As you might imagine, that recording wasn't all that great. Hardly ideal circumstances for such a thing.
But the song... the song grabbed me. It's titled The Thing About Things.
Without specialized software it wasn't even downloadable... you could only listen to it on the website. I really liked it.
Fast forward a couple of weeks, maybe even a month. I find out that now she's made it downloadable. And that she has recorded - but not yet released - a better version of it in a studio. I downloaded the concert version, and am waiting for the song to appear somewhere that I can actually get a good version, for which I will happily give her money.
Fast forward some more. Today, on Amanda's blog - which is in my RSS reader - I see a new post. It's the text of a speech she gave about writing. She gave the speech after a poem she dashed off after the Boston bombing horror caused a kerfluffle, and I'd already watched the speech elsewhere. It's quite good, and a reminder to me to keep creating, and that there are a lot of people in the world who judge without understanding. Here's a link to it. If you're an artist or creator of any sort, you really should watch it: http://vimeo.com/65681037.
Anyway, as I'd already watched - and been moved by - that speech, I just skimmed the blog post. But down at the bottom I found a link to a post by someone who runs Grub Street, which is the writer's organization that Amanda was speaking too. Amanda said it was a good post, so I read it too. And it was. The author talks about some points Amanda raised - about how writers feel validated and who decides what you're doing is worthwhile. Good stuff. Chase that link too.
Now, in that post, there was an embedded video of Amanda playing her Ukulele Song, which is very funny, and worth a listen too. I've heard it before, several times, and figured I'd listen again. And it was worth it. Again, chase the link.
Are you getting how my morning was going yet?
Anyway, the Ukulele song finished up and Vimeo handed me a list of other videos I might be interested in, and there was a link to Amanda playing The Thing About Things. The first version I heard was Amanda and her piano, and despite being a bad recording it brought tears to my eyes. This recording is Amanda and her ukulele, and once again, I cried. It's a much better recording of the song, and she sings it with passion, which is her trademark in my mind.
And so, in my meandering way, with lots of diversions, here, finally, is the point of this blog post: Amanda Palmer's The Thing About Things, performed live at Grub Street in Boston.
May it bring you joy, and maybe a few tears as you remember someone, somewhere.
Peace.
Edit 6/25/13 - corrected the link to The Thing About Things... Not sure how it was wrong unless Vimeo changed it on me.
Tuesday, March 5, 2013
Programming Rant... Sorry.
For those of you who are not technical, or who don't care about programming, feel free to skip this post. I just have to get this out of my system.
I'm currently slogging through a book on JavaScript. I have a project I want to work on that needs to run in a browser and perhaps be turned into a stand alone smart phone application, so JavaScript seems to be the way to go given what I read. I could be wrong, but it's where I am starting.
The book in question is an O'Reilly JavaScript tome, and as an introduction to the language it isn't too bad, at least if you have some programming background. But the language itself is leading me to continue my belief that OO programming is a disaster.
I get the basic idea behind objects and methods. I am certain that some percentage of programming problems benefit from a system in which objects are available, but I suspect the number of such problems is pretty small overall. Pick your percentage... I really don't care. What matters to me is the complexity increase and efficiency decrease that come with OO. Most programmers have no clue just how their code actually works at the lowest levels anymore, and most schools certainly aren't teaching it. OO techniques just magnify those problems in enormous ways.
By way of example, here's a bit of code from the book I am reading, reformatted a bit to look OK in this post. It's only an example, and the author does mention that it will be slower than other approaches, but, well... just take a peek:
function Range(from, to) {
// Don't store the endpoints as
// properties of this object.
// Instead define accessor functions
// that return the endpoint values.
// These values are stored in the
// closure.
this.from = function() { return from; }
this.to = function() { return to; }
}
// The methods on the prototype can't
// see the endpoints directly: they have
// to invoke the accessor methods just
// like everyone else.
Range.prototype = {
constructor: Range,
includes: function(x) {
return this.from() <= x &&
x <= this.to();
},
foreach: function(f) {
for(var x=Math.ceil(this.from()),
max=this.to(); x<= max;
x++) {
f(x);
}
},
toString: function() {
return "(" + this.from() +
"..." + this.to() + ")"; }
};
and with that code defined, he shows how it can be used:
// An "immutable" range
var r = new Range(1,5);
// Mutate by replacing the method
r.from = function() { return 0; };
The first thing - for the uninitiated - is that this code is implementing an object called a range, which is nominally just two integers. The range (1...5) means the numbers 1, 2, 3, 4, and 5 are in the range, and all other integers are not. Simple enough. And obviously ranges have two endpoints, right? So where, exactly, are those endpoints stored in that code?
The author has an earlier version of this code that uses two variables to store the start and end of the range, but in this version they are not obviously present. I read this code several times, trying to figure it out, before the very last line in the example - the one starting "r.from =" finally tipped me off.
I'm an experienced programmer, and a reasonably good one. Not the best, but above average in my professional experience. I've worked with some really brilliant people over the years, and know where at least a few of my limitations are. Given what I know, this sample code can only be described as ugly and unmaintainable.
The use of a closure is enough to drive some programmers to drink. (I know plenty who never understood recursion. Closures are much, much worse.) Code of this kind is intrinsically difficult to read, difficult to follow, difficult to edit, and so on. And for those brilliant programmers out there who think this is easy to read and maintain, I cannot stress strongly enough how wrong you are. You're only thinking of it from your point of view, not the poor sod who is going to add something new to this code 2 years after you've changed jobs.
Once, years ago, I saw code like this in some C code my employer was maintaining:
int f( char *a, char* b)
{
char *temp;
/* ... lots of code that doesn't refer */
/* to the variable "temp" in any way ... */
strcpy( a, temp );
/* ... code that doesn't matter ... */
}
I was doing some porting work and found that cruft. Digging into the change history of the file in question showed me that a support engineer had "fixed" a bug by inserting the temp variable and making use of it in that way. The fact that he hadn't allocated space to copy into and was instead writing over who-knows-what on the stack didn't even occur to him. He'd tested his code and it worked just fine, so what did it matter? And yes, I tracked him down and talked to him personally. He simply didn't get it.
Really.
The world is full of cases - and people - like that. As a result, the best code for the real world is, sadly, the most readable and maintainable code possible, not the fastest, not the most clever, not the shortest. Fancy programming techniques - like the vast majority of OO - simply make things slower, harder to understand, and vastly increase the "go wrong" space in which programs can fail.
What I am learning about JavaScript - and about OO in general - is that my gut feel was right. These languages are disasters. Inexperienced programmers are creating things that should never see the light of day using idiomatic programming techniques they should never even try to use.
Sure, if you're writing some one-off bit of code that will never be reused, or will only be maintained by you, fine, write it however you want. I don't care. But if you're working on something that will outlast your time with it, or (more likely) your time with the employer who owns it, you have an obligation to write it in such a way that the next guy that looks at it can quickly and easily figure out what you were doing, why you were doing it, and make changes as needed without breaking the universe.
OO was supposed to help that, and within limits it may. But if JavaScript is any example (or C++, for that matter), the languages themselves have an amazing ability to make the code harder to read and maintain.
If we were all brilliant programmers, that wouldn't matter, but we're not, and it does.
I'm currently slogging through a book on JavaScript. I have a project I want to work on that needs to run in a browser and perhaps be turned into a stand alone smart phone application, so JavaScript seems to be the way to go given what I read. I could be wrong, but it's where I am starting.
The book in question is an O'Reilly JavaScript tome, and as an introduction to the language it isn't too bad, at least if you have some programming background. But the language itself is leading me to continue my belief that OO programming is a disaster.
I get the basic idea behind objects and methods. I am certain that some percentage of programming problems benefit from a system in which objects are available, but I suspect the number of such problems is pretty small overall. Pick your percentage... I really don't care. What matters to me is the complexity increase and efficiency decrease that come with OO. Most programmers have no clue just how their code actually works at the lowest levels anymore, and most schools certainly aren't teaching it. OO techniques just magnify those problems in enormous ways.
By way of example, here's a bit of code from the book I am reading, reformatted a bit to look OK in this post. It's only an example, and the author does mention that it will be slower than other approaches, but, well... just take a peek:
function Range(from, to) {
// Don't store the endpoints as
// properties of this object.
// Instead define accessor functions
// that return the endpoint values.
// These values are stored in the
// closure.
this.from = function() { return from; }
this.to = function() { return to; }
}
// The methods on the prototype can't
// see the endpoints directly: they have
// to invoke the accessor methods just
// like everyone else.
Range.prototype = {
constructor: Range,
includes: function(x) {
return this.from() <= x &&
x <= this.to();
},
foreach: function(f) {
for(var x=Math.ceil(this.from()),
max=this.to(); x<= max;
x++) {
f(x);
}
},
toString: function() {
return "(" + this.from() +
"..." + this.to() + ")"; }
};
and with that code defined, he shows how it can be used:
// An "immutable" range
var r = new Range(1,5);
// Mutate by replacing the method
r.from = function() { return 0; };
The first thing - for the uninitiated - is that this code is implementing an object called a range, which is nominally just two integers. The range (1...5) means the numbers 1, 2, 3, 4, and 5 are in the range, and all other integers are not. Simple enough. And obviously ranges have two endpoints, right? So where, exactly, are those endpoints stored in that code?
The author has an earlier version of this code that uses two variables to store the start and end of the range, but in this version they are not obviously present. I read this code several times, trying to figure it out, before the very last line in the example - the one starting "r.from =" finally tipped me off.
I'm an experienced programmer, and a reasonably good one. Not the best, but above average in my professional experience. I've worked with some really brilliant people over the years, and know where at least a few of my limitations are. Given what I know, this sample code can only be described as ugly and unmaintainable.
The use of a closure is enough to drive some programmers to drink. (I know plenty who never understood recursion. Closures are much, much worse.) Code of this kind is intrinsically difficult to read, difficult to follow, difficult to edit, and so on. And for those brilliant programmers out there who think this is easy to read and maintain, I cannot stress strongly enough how wrong you are. You're only thinking of it from your point of view, not the poor sod who is going to add something new to this code 2 years after you've changed jobs.
Once, years ago, I saw code like this in some C code my employer was maintaining:
int f( char *a, char* b)
{
char *temp;
/* ... lots of code that doesn't refer */
/* to the variable "temp" in any way ... */
strcpy( a, temp );
/* ... code that doesn't matter ... */
}
I was doing some porting work and found that cruft. Digging into the change history of the file in question showed me that a support engineer had "fixed" a bug by inserting the temp variable and making use of it in that way. The fact that he hadn't allocated space to copy into and was instead writing over who-knows-what on the stack didn't even occur to him. He'd tested his code and it worked just fine, so what did it matter? And yes, I tracked him down and talked to him personally. He simply didn't get it.
Really.
The world is full of cases - and people - like that. As a result, the best code for the real world is, sadly, the most readable and maintainable code possible, not the fastest, not the most clever, not the shortest. Fancy programming techniques - like the vast majority of OO - simply make things slower, harder to understand, and vastly increase the "go wrong" space in which programs can fail.
What I am learning about JavaScript - and about OO in general - is that my gut feel was right. These languages are disasters. Inexperienced programmers are creating things that should never see the light of day using idiomatic programming techniques they should never even try to use.
Sure, if you're writing some one-off bit of code that will never be reused, or will only be maintained by you, fine, write it however you want. I don't care. But if you're working on something that will outlast your time with it, or (more likely) your time with the employer who owns it, you have an obligation to write it in such a way that the next guy that looks at it can quickly and easily figure out what you were doing, why you were doing it, and make changes as needed without breaking the universe.
OO was supposed to help that, and within limits it may. But if JavaScript is any example (or C++, for that matter), the languages themselves have an amazing ability to make the code harder to read and maintain.
If we were all brilliant programmers, that wouldn't matter, but we're not, and it does.
Subscribe to:
Posts (Atom)