Dear FCC Commissioners,
An Open Internet is necessary for the the continued growth of our economy and more importantly for our democracy.
While the Internet to date has been in practice open, we are currently at a critical inflection point where Internet Service Providers, who themselves may also be content providers, are in a position where they can degrade the bandwidth available between independent content providers and those provider’s consumers.
Some content providers are hesitant to enter into situations where they are purchasing access to ISP’s networks. In the short term, this is a logical and appropriate move for content providers. However, in the long term this places content providers at the mercy of ISP’s rate increases, which may or may not be justified by the ISP’s costs.
I ask that the Commission reclassify Internet Service Providers from being Information Providers to being Telecommunication Service Providers. I also ask that the Commission promulgate rules that require that all ISPs provide:
a) connectivity to all active Autonomous Systems (AS) on the internet, such that, during peak times a website will load without timing out.
b) a tariffed, regulated, service that provides direct access to ISP routers that serve a several thousand customers. This service would would at minimum include a port for transmitting TCP/IP traffic to the ISP router as well as appropriate services provided by the ISP’s Network Operations Center. ISP’s should also be allowed to recoup a reasonable profit.
Item A would ensure that all the internet is accessible. Item Part B would allow content providers to provide improved service. By requiring a tariffed service, this ensures that costs in running an ISP are properly allocated, and as such are passed onto customers appropriately.
An Open Internet is critical for the success in may aspects of life of all Americans. I thank the commission for the opportunity to comment on this important issue.
I’m a bit new to Yelp and I discovered that my review was limited to 5000 characters, although I had 6600 or so characters of stuff to say. So this is the full review.
This gym is consistently sets expectations then breaks them. I’ve been a member since February 2008 and I’m canceling this month.
When I joined it was Epicenter and the location was at 3rd and Pike. That location was nothing fancy, but it was reasonably expansive, had equipment that worked, and locker rooms that were reasonable. (FYI, what is now the T.J. Maxx was the Epicenter gym.)
I walked in one morning to workout, and I was told that location had been closed, and I could now go to the Allstar Fitness on Olive Way in the Medical Dental Building. I was helpfully handed a map that showed me how to get from the old gym to the new gym.
This change was a mixed bag. There were little things and the crazy narrow steep staircase and having to bring a lock. The old location had tanning beds, but the new one didn’t. (Yes I know its bad for you, but one here and there helps with the Seattle winters.) There were also some improvements. The showers and the lockers were nicer, the actual workout rooms also were nicer, plus the location included free towels. In addition, I eventually gained access to the location in the Municipal Tower, which wasn’t as great, but also had some helpful features and great views.
The gym changed names a few times to Epicenter Executive Fitness, then Seattle Executive Fitness. They also stated that everyone who was a member was a “Founding Member” and their dues would be locked in and they’d have free towel service. Contrary to the owner’s responses to Yelp reviews, my membership has never had an annual fee.
The Medical Dental Building location then became the incredible shrinking gym. It started slowly. A small portion of the workout floor was remodeled off to become a Trudy’s Florist. Then the downstairs lobby was closed and it became a Weight Watchers location. These were little things as far as space goes. A nice space to sit was converted to a Spa of some variety. Then the main workout floor was cut roughly in half. The other half stayed empty for several months, but recently its been remodeled as offices. Finally, the desk downstairs was removed and you had to scan your card at the door. No friendly face to greet you. At this point I looked around for other gyms, but nothing was at a price I was willing to pay.
There were also a few instances of the gym shortening their hours without notice. This started at the Epicenter location on Pike, then continued. The Olive Way location used to be open until 11 pm, but then cut back to closing at 9 pm. The weekend hours used to be until 8 pm, but are now cut back to 6 pm. (Although the website still shows that the location is open until 8pm!)
They’ve also bee horrible about communicating when they have shortened hours for holidays. Sometimes they’ve failed to communicate them at all. (On their website, on Twitter, on Facebook, and maybe they post a note at the last minute at the location.) I’ve had a few times when I’ve been aware of their posted holiday hours, only to arrive to a sign on the door that they’ve closed earlier than their posted holiday hours. What is the point of posting hours if you’re not going to follow them? (Yes, holidays probably will be slow, but if you’ve made a commitment to be open, you should be open.) I’ve tweeted at them about this, but I’ve never received a response.
The communication about the new Smith Tower location was poor as well. I saw that they were opening the location and emailed the GM of the new location. He responded, but never informed me of any special membership requirements to this location. I was able to access this location just fine, but then I got a call that starting next month, I wouldn’t have access to it any more. Poor communication.
The final straw for me happened over two days. I work out as much for my mental health as for my physical health. I realized that I needed to get to the gym, and made plans to go at about 6:10 pm on a Sunday. I had checked the website earlier in the day and it stated that they were open until 8pm. I put on my workout clothes and headed out. I went by the Municipal Tower location first, and it was closed. I checked their website on my phone and the Medical Dental Building location showed as being open until 8 pm. I then walked to that location, only to find that it too was closed. I was so pissed that I had gotten over my procrastination only to be denied a workout due to SEF’s lack of proper communication.
The next day I went to the Municipal Tower location only to be greeted by signs that the club is closing on June 30th, 2014, and due to increased theft of towels there was no longer any towel service. Now, I had previously been promised towel service for the life of my membership, so I didn’t bring a towel. I understand that they had an increased towel theft problem, an adult way to deal with the problem would’ve been to be empathetic to the fact that their members might not be aware of this policy. (Something like providing each member a “now you know, but here’s a towel for today.” then cross their name off a member list or provide a towel in exchange for them holding an ID or something like that.) No, instead Seattle Executive Fitness treated their members like middle schoolers, and said “NO TOWELS FOR YOU!” They also posted signs all over the gym reminding folks of this.
Now I wasn’t about to skip my workout, so I went and worked out. Then, I took a shower and discovered how many paper towels it takes to dry myself off. I finally had enough with the signs, and started tearing them down as I walked by. Once I got to the elevator the manager confronted me and asked if my middle school antics were necessary. I told him yes. (I’m slow on good comebacks, I should’ve said, “Well, you’re treating your members like middle schoolers so don’t be surprised when they act like them.”) He then offered to cancel my membership, but not refund the pro-rated remainder of the month. A few words were exchanged, and once the elevator came I got on it to leave. He then asked my last name so he could cancel my membership. Funny how when they’re done with you they’ll cancel your membership, but if you want to be done with them they’ll make you jump though all sorts of hoops.
I’m done with putting up with Seattle Executive Fitness’s constantly changing and broken promises. I’ve found a new gym. LA Fitness has purchased the old Vision Quest location at 2nd and Columbia. Its a very similar price. The physical plant isn’t as great, but its under new owners and they’ve stated they’ll be remodeling the place as they go, keeping all the same space.
I’ve been watching and reading about two issues:
- Brendan Eich’s appointment as CEO of Mozilla, and subsequent resignation
- Racist comments by Stephen Colbert’s eponymous character, and the #CancelColbert hashtag on twitter
This also relates back to the melee over the CEO of Chick-Fil-A’s comments about traditional marriage from two years ago. I wrote about that when it happened back then.
It pains me that the first response to all of these situations is some variation of “Let us take away their livelyhood”. This response is a mildly more mature version of a child sticking their fingers in their ears and saying “Na, Na”.
What I would like to see more of is a drive for people to sit down in the same room and talk. Dan Cathy to his credit did exactly this in the middle of the protest against his company.
Senator Tom Harkin, says Congress doesn’t work because in part Senators no longer socialize with each other.
I’m reminded of a minster’s sermon from this past summer where she pondered how would the meeting of George Zimmerman and Trayvon Martin gone differently if Zimmerman had rolled down the window and asked Martin if he needed any help.
How much more powerful could Suey Park have been if she demanded that Colbert the person, have her or another Asian-American on to respond to his racism? (I only suggest a surrogate as Suey Park is a pseudonymn and I am unsure if the woman behind it would want to make a television appearance.)
I believe it is our responsibility to respect and learn about the inherent worth and dignity of all people, especially those we disagree with.
Week four of Code Fellows is dedicated to writing your own app.
But writing your own app doesn’t start in the fourth week, it starts around week two where you have to present your app idea and some sort of wireframe for it. All this is intended to get you started thinking and planning your app.
But planning doesn’t really start until make the position of bits non-random, you start using friction to transfer ink from a pen to paper, or you make select parts of the whiteboard non-white. For various reasons, including the push of working on the apps we were putting together during the day, handbell performances, and the adjustment period needed to go from not having a fixed schedule to having a schedule of 35 hours week, I put off planning. Topping things off, all of this caught up with me in the third week, and I crashed and burned.
I didn’t make a first commit to my app’s repository until the Monday of week four, and that commit only had the boilerplate that Apple provides. I started roughing in a bit of code on Tuesday, but I didn’t start heavy lifting until Wednesday, and since the app is presented on Friday morning, you have to have it mostly done by Thursday evening.
So, I was time constrained. To add to the time constraint, I never intended this app to just be something that I deliver for class. My app fills a huge pain point for me in commuting, and I’ve spent much time thinking about it. I really want this app to be something that makes people’s day just a bit easier. So, I set out with this in mind, and tried to design a flexible, extensible foundation, and avoid technical debt. I thought I did a good job with abstracting the pieces out, making things flexible so that I could support multiple transit agencies, and add new transit agencies with just a configuration file, and I went about my day feverishly writing code.
By Thursday afternoon, I found myself in what I dubbed abstraction hell. I found myself needing to write code that I had no concrete understanding of what needed to be accomplished. Since I hadn’t really done any planning, I found myself lost in my own code, and unable to find spot that I understood to branch out from.
At one point I decided to throw in the towel and just not present all together. However, after some cajoling from an awesome developer who also is my cousin, I showed off the little bit of my app that I had managed to get written by having it output information to the console.
So how do I go forward from here? My app idea is once again on the backburner, but looking through what is needed and a seed planted by my awesome instructor, I’ve decided more abstraction is necessary, instead of less. I think a great little CocoaPod would be one that allows the API calls to be configured based on a configuration file, instead of code, so I’m going to write it.
I’ve got some investigation to do to better understand the tools I’ll be using, but I’m quite sure that the product of this whole exercise will not just be an app, but a portable little Cocoapod, that’ll help out developers in having flexibility with REST APIs out there.
Somehow a few years ago, I got lucky and I’m no longer responsible for providing technical support for my friends and family, so I don’t have to give computer advise anymore.
However, I do have one piece of advice for them in their daily computer use: Use a Password Manager, even if it is just a sheet of paper.
The whole system of passwords is incredibly weak, and it has never been weaker. At some point in the future, it is likely that the technical community will come up with a replacement for them, but you shouldn’t wait for that time, as passwords are already at risk. Passwords are regularly stolen from websites. I manage to trip over articles of password hacks all the time, so much so that I don’t even read them.
So how does a Password Manager protect you? To fully explain that, we have to delve into how websites store passwords. Bear with me, this is a wee bit technical, but I’ll keep it as painless as possible. And if its too painful, jump to the next section.
When you give a website your password, such as “P@ssw0rd!”, the website doesn’t or more accurately shouldn’t store it just like that. It encrypts it, but not in the same way your bank encrypts the information it sends your web browser.
The information a bank sends back and forth to your computer is encrypted with reversible encryption. Reversible encryption allows you to get the information that you put into it back out of it. For instance, if we were to encrypt “P@ssw0rd!” by choosing the next letter in the alphabet, next number, or for the symbols the key to the right on the US keyboard, we’d get “Q#ttx1se@”. As long as you know the rules how it was encrypted it is trivial to take “Q#ttx1se@” and decrypt it to get “P@ssw0rd!”. This is important for information that is sent back and forth to your computer, because your computer needs to be able to show you what your bank balance is, recent transactions, etc.
Passwords on the other hand are stored with irreversible encryption, also known as a hash. So take “P@ssw0rd!” and hash it you get something like, “8a24367a1f46c141048752f2d5bbd14b”. Most hashing algorithms are designed up so a small change makes a big difference. The hash of “Password!” is “0040f2abc2cff0c8f59883b99ae9fab6″ which is quite a bit different than the hash of “P@ssw0rd!”.
But passwords are not just stored by hashing them. Passwords should be salted and hashed. No salt in this instance isn’t table salt. It is a random bit of information, such as “06acebb0405318414c0577c0b6fe065d”. So what a website does is take your password, “P@ssw0rd!” and adds it to a random salt that is unique for your password, for instance “d3945bb3f56371103fb38eb5744188db” and puts them together into “P@ssw0rd!d3945bb3f56371103fb38eb5744188db”, and then it hashes that. For instance “P@ssw0rd!” might be stored as “d596b64c12671d6f2dbbf2004d98081e” once it has the salt “d3945bb3f56371103fb38eb5744188db” added to it.
So how does a website know it is you? When you give it “P@ssw0rd” to that it adds the salt it has for you, “d3945bb3f56371103fb38eb5744188db” and hashes it. It then compares the the result of that has to the hash that it already has on file. If the hashes match, it know you knew the password was what you originally gave them, “P@ssw0rd”, even though they do not store the password.
So why to through all of this song and dance about hashing and salting? It helps to protect your password the file containing your password gets stolen from the server. Helps is the important word, it doesn’t make it impossible to figure out your password when that file is stolen, it just makes it take a lot of computer power to figure out what your password is. (Physical safes work the same way, they are designed to take at least a certain period of time to break into.)
Many things have transpired to make passwords easier to figure out from the stolen file:
- Computers and more specifically graphic cards, which can do the heavy lifting of cracking passwords, have gotten much faster.
- Humans are bad at picking passwords. Yeah, you thought you were clever in replacing “a” with “@” and “o” with “0″, but everyone else, including password crackers know those tricks too.
- Lists of words that might make up passwords are easier and easier to get in electronic format.
So how does a Password Manager protect you? It does nothing to protect your password on the server, what it does is two important things:
- You’ll have a unique password for each individual site, so if your password is compromised on website, you only have to change the password on that website, not every other site you used that password.
- It allows you to have more complicated passwords than you can remember, such as “b4d6UFp/naGu1H7MzRBE-o#=vm9C0m3py]$pG171″. Perhaps you could remember that password, but could you remember 10 or 15 passwords like that? A password that is truly random is much harder for password crackers to figure out.
At this point, I hope you’re chomping at the bit to start using a password manager. Here are some suggestions:
- 1Password – This is the one I choose. My data is only on systems that I want it to be on, and it nicely integrates with web browsers.
- iCloud Keychain – This is limited to folks who utilize devices in the Apple ecosystem.
- LastPass – A centrally hosted password manager. Your passwords will be on a central server with passwords from many other people.
- Safe Wallet
- Pen and Paper, and secure that sheet of paper. Seriously. Bruce Schneier, a noted security expert has said, “… people say don’t write your password down. Nonsense. Write it down on a little piece of paper and keep it with all the other small bits of paper you value — in your wallet. … [Paper money] has value. Your password has value. As a society we are good at valuing small bits of paper. We have cracked that problem.” If you do use this method, I recommend ensuring that your passwords are random in some way, roll a die, open a book to a random page and choose the first letter of every line as your password, or some other technique.
Using a password manager is both good hygiene and insurance. Using my a password manager makes logging into websites effortless and gives me piece of mind.
I finished my first day of Code Fellows today. We’re supposed to blog frequently about what we’re learning, its a good way of reinforcing learning. Sort of like in those big college lecture halls where I took notes to make sure I paid attention and to run it through more parts of my brain. I barely ever looked at the notes afterwards. However, today’s blog entry won’t be technical. That is not what I need today.
It’s weird for me going back to school. The last time I was in a classroom was eight years ago, and I’ve only taken a few online classes since then.
Code Fellows is split up into lessons in the morning, and working time in the afternoon. In the lessons I followed along just fine. When we got to the afternoon bit, several of my classmates appeared to be done with the assignment by the time I arrived and starting working on it. Peeking at some of their bios online, a few of them have studied computer science in college, and others are freshly out of college having studied random subjects.
I completed the assignment with time to spare. I know the spots where I’ve made tradeoffs that I’ll probably have to rip out tomorrow, and I’m fine with that. I’m working to be reasonably comfortable with the idea of producing crap. I know that writing code and creating applications is like anything else: you’ve gotta do it to get better at it.
I have become a better musician. I just watched my Handbell Quartet’s first performance, and we were horrible. Its painful for me to watch that three year old performance. We could have given up at that time and moved on. However, we continued rehearsing and started rehearsing more. We got better, slowly but surely. We’ve reached the point, that a week after my quartet performed at church, I was still receiving compliments including, one guy who told me, “that was fucking awesome.”
In the same way, I know I have gotten better at writing code. I just peeked at code that I wrote 18 years ago. I know it worked. I used it daily to commit around 10,000 copyright violations per day. However, it is horrible, horrible, horrible code, and I can’t glance at it and tell you how it worked. There are so many things wrong with it, that I could write a few blog entries about it. In short, it has barely any abstraction, the variable names are not really readable, the code is spread out over multiple files, in multiple different languages. It makes a Ford Pinto seem well designed.
However, my progress at writing better code has come in fits and starts. I haven’t been as consistently dedicated to becoming a better programmer as I have been dedicated to be coming a better musician. I’ve become a better musician because I’ve consistently practiced and worked at becoming a better musician. Part of that consistency for me has been making music as a part of a group. Another important part of becoming a better musician, has been making music as part of a larger community. I’ve invested the time in going to conferences, learning from other musicians, discussing making music, and appreciating the music of others.
I recognize that for me to become develop myself as a computer programmer, I need to do that as a member of a group and a community. I initially avoided going to college to become a computer programmer because I believed it was an anti-social activity. I know that does not have to be the case.
I know I need to work consistently. My precalculus teacher once wrote that Nick “… is plenty smart, but more than a little bit lazy by my standards. He’s usually a great participant in class discussions, one of the first to answer correctly during discovery lessons. But the rest of the students catch up and then often surpass him through homework preparation and study. It seems a pity he doesn’t use his gifts better.” That quote still haunts me in its accuracy. I can’t blame my seventeen year old self for my performance in that Precalc class. There are some days I’m amazed, that given what I was dealing with in life, my teenage self was as successful as he was. (Which is to say, I graduated from high school while managing not to inflict major harm upon myself or others.)
Now, I have a pretty good handle on all of the issues that have held me back from fully utilizing my gifts. That isn’t to say all of those issues have completely disappeared, but I now they’re minor bumps and I can get back to where I want to be quickly.
Another entry that has been sitting in my drafts folder for a while. This is from December 29th, 2012. Needless to say, the Personal Knowledgebase idea didn’t get going. Perhaps I should revisit that.
I’m going to kick off a short series of blog entries. I’m calling this series Personal Knowledgebase, mostly because its got a nice geeky ring to it.
I’m at a point in my life where I’m closing one chapter and opening another. The chapter I just closed has been a pain in the ass, very enlightening, transforming, and tumultuous. So it is important for me to remember the lessons I’ve learned so I can apply them in my life and not get stuck having to learn them again.
I just read Wil Wheaton’s blog entry respect yourself and it rang quite true for two of the relationships that have ended over the past year.
The first relationship that I ended this year had been dead for a while. I had been friends wit him for eight years or so. We first met in Cincinnati and he followed me out to Seattle. Like any friendship of that length it wained and waxed over the years, but during 2011 it became quite apparent to me that I was begging for his time anytime we got together. He was horrible at responding to text messages, emails, or phone calls. When we did get together he wasn’t actually present. He’d often be stuck in fiddling on his smartphone or even taking a call from someone else for longer than just a moment or two. The last time we got together in person he was already near my neighborhood and I made an effort to meet him somewhere that was more convenient for him, and he wasn’t actually present for half of the time we were there.
Generally, in a situation like this I’d just leave the friendship be. I’d stop making attempts to communicate with him, and if he wanted to get together I’d make sure it was something that I wanted to do and he was making time for me. Since I’d been the one who initiated anytime we got together for quite some time it’d mean that we wouldn’t get together.
However, in this situation there was a tendril that kept the relationship nominally alive: he owed me money. (He was making payments as agreed, so it wasn’t that he wasn’t paying me back.) I had made the realization that the friendship was over sometime around the end of November 2011, and I decided wait to communicate this to him until the beginning of the new year. (Mostly because I didn’t want to put this in the middle of his or my holiday.) I wrote him a letter explaining that I considered the friendship to be over and that our relationship was now simply a business relationship. To make a point about my seriousness I sent an actual paper letter via Certified Mail, with a Return Receipt and Restricted Delivery. Meaning that he’d have to sign for it personally. I received an email from him 31 minutes after the letter was delivered. That email put an excessive amount of effort into deflecting any and all fault for the state of our relationship. I know I wasn’t perfect, but neither was he. Beyond that single email he didn’t make any attempts to repair our friendship.
I simply don’t miss that friendship, it had been limping along for far too long. It also felt really satisfying to collapse the ambiguity of our relationship and to clearly and cleanly communicate to him how I felt about our relationship and my understanding of it. Additionally, I appreciated that it was fair to him in that it did not leave him in the dark about the state of our relationship.
So I put this video up on YouTube earlier today:
I had written off Vlogging as “too much work”, “not worth the time”, and “that new fangled thing that the youngin whippersnappers are doing”. (Hey, I’m old enough that there are folks I can call youngin whippersnappers.)
So what prodded me out of my obstinance? Well, I had a reason to do this video. Initially, I thought this’d be a huge pain. However, I found this to be enjoyable. Vlogging, is something I’d definitely do again, although I’m not sure I’d do it in the same way. This video twas a bit insane since I wanted to cover a lot of things. To get them all to stitch together in a non-schizophrenic way, I made a concept map of the things I wanted to cover, then wrote myself a script, that I more or less stuck to. (There twas some ad libbing, and some shots that got left on the proverbial cutting room floor.)
I also did a bit of foley work, because cats will not meow on cue.
Finally, thank you to Mickeleh, a/k/a Michael Markman, for pointing me toward, celtx, a handy dandy script writing tool, and to retius, a/k/a Tad Suiter, for a video about Vlogging he did long, long ago that still stuck in my head.
I’m a fan of public transportation. One of the reasons I moved to Seattle was because I didn’t want to deal with the money pit that an automobile is.
So I was a bit miffed when I saw this advertisement on the bus:
Realizing that just complaining on twitter and on my blog does little, I sent this complaint to King County Metro:
Twice in the past two days I have seen ads for CarHop.com, which state “Move to a better Seat. Get the Car and Credit you need.”
This advertisement is against the King County Transit Advertising Policy. (Document code CON 1-1-1 (D-P) dated January 12, 2012.) This violates the stated goal and objective of maximizing ridership as it the intent of the advertisement is to convert Metro transit riders into car owners and drivers. Additionally, the advertisement contains Prohibited Advertising content as the ad is demeaning and disparaging of transit riders as it mocks their choice of transportation seat.
Please feel free to plagiarize this, and send in your own complaint to Metro.