If you want to do something good, put it inside something funny.

Getting the word out on the FCC proposal and net neutrality


“If you want to do something evil, put it inside something boring”

Here’s a good comedy video getting to the heart of the issue of protecting net neutrality, and the problem with an FCC-sanctioned fast/slow lane, effectively allowing companies to negotiate faster speeds for their data.

https://www.youtube.com/watch?v=fpbOEoRrHyU

It took me probably a half hour to actually find the primary sources explaining what they are proposing to do. It seems this quote is the most egregious line:

At the same time, it could permit broadband providers to serve customers and carry traffic on an individually negotiated basis, “without having to hold themselves out to serve all comers indiscriminately on the same or standardized terms,” so long as such conduct is commercially reasonable.
http://www.fcc.gov/document/protecting-and-promoting-open-internet-nprm
(Search “116.”)
http://transition.fcc.gov/Daily_Releases/Daily_Business/2014/db0515/FCC-14-61A1.pdf

I think that is why the quote “if you want to do something evil, put it inside something boring” is really insightful here. First of all, there is probably no one who actually read the whole NPRM. The proposal is actually called “Protecting and Promoting an Open Internet” even though one of its key effects is to essentially reverse net neutrality. If this goes through, I’d be pretty thankful for the person who actually read the boring thing and figured out that there were some problems.

It also highlights the importance of news outlets in reporting this, but since no one actually digs into primary sources, it is very easy to get misinformation, and it becomes key to pass along a simple sound byte like “creating an internet fast lane.” That is why comedy sources like this actually probably have the best chance of shedding light on the key issue at stake.

It seems the corrollary here would be “If you want to do something good, put it inside something funny.”

The FCC is taking comments from the internet, and you should leave a comment just as John Oliver encouraged the internet trolls to do. Note that this filing has over 50k comments in the last 30 days. I’d bet a lot of them are because of a comedy video. When no one reads primary sources, it’s probably best to get your angle from a comedy source with a clear agenda.

You can do that here.

http://www.fcc.gov/comments

Here was my comment, you can use this if it is helpful.

Please do not pass a law that allows broadband providers to individually negotiate terms to provide different companies with different access speeds to the internet. Keep net neutrality in effect as it is meant to be — with everyone getting equal access, not discriminating on the data, and not prioritizing certain web traffic.

Rankings of Customer Support

Here is an ordered ranking of the customer support experience at different companies that I am either a personal or business customer of. Being a user of customer support, it makes it even clearer how important it is for your business.

A few things that strike me about companies that work really well as opposed to experiences that are rather miserable:

  • Quick response time
  • Clear and friendly
  • Good follow through on resolving issues

If someone is a customer and you keep dropping the ball on their issues, that is not a good thing.

(If you are a student/teacher/customer of CodeHS and there is something we can do better, please let me know at jkeesh@codehs.com).

The List

(Positive)

  1. Simple
  2. Zenpayroll
  3. Zenefits
  4. New Relic
  5. Customer.io
  6. Stripe
  7. (Neutral)
  8. PipeDrive
  9. Segment.io
  10. UserVoice
  11. Google
  12. RecruiterBox
  13. Asana
  14. Uber
  15. (Negative)
  16. Digital Ocean
  17. Linode
  18. Getaround

How to Buy Dogecoin


Dogecoin is the fun new cryptocurrency on the block, and you should get some! It’s not quite that easy yet, so here is a step by step guide.

Step 1: Buy Bitcoin on Coinbase

The first thing to do is go to Coinbase and create an account. This is an online bitcoin wallet, or an easy place to buy and sell bitcoins. It takes a bit of time to verify your account, and add in the payment info, but this is so far the most user-friendly way I have found to buy bitcoin using US dollars. So you can use your bank account and get yourself some bitcoin.

Step 2: Send the Bitcoin to Cryptsy

I believe there may be a way to get Dogecoin using USD on Vault of Satoshi, but I haven’t yet personally used that site. So in any case, say you have your bitcoin on Coinbase. The next thing you’ll want to do is create an account on Cryptsy, a site to trade cryptocurrencies. So after you log in click Balances at the top.


Then hover over bitcoin and click the “Deposit/Autosell BTC” link.

 

 

Then you’ll see a pop up show up with a long string of numbers and letters. This is the address. You want to copy this address.

 

 

Now go back into coinbase, and send the bitcoin to this address.

It may take some time to get the bitcoin into your cryptsy account because bitcoin is a bit slow.

Step 3: Trade Bitcoin for Dogecoin

Now click the Trade link at the top, scroll to the DOGE/BTC section and click. Now you’ll be at a page like this.

 

 

Then you can buy as much dogecoin as you like with your bitcoin.

Step 4: Send that Dogecoin to a Wallet

Now you have that dogecoin in crypsty, but you probably want it somewhere else so you can easily send it around. I have tried online wallets at DogeVault and DogeAPI and they both work. Online wallets are less secure, so you could also download the dogecoin client, but that is a bit of a hassle.

So now you do the same thing to send your dogecoin to a wallet. On the crypsy balances bage, hover over dogecoin and click Withdraw. Then you can send it to the address (string of numbers and letters) for you online dogecoin wallet ( this is the address you get from DogeVault or wherever your dogecoin wallet is).

 

 

There you have it! That’s how you can get dogecoin. If you don’t have any but want to get involved, send me a tweet @jkeesh and I can send you a tip.

Connecting to a RDS Server from a Local Computer Using SSH Tunneling on a Mac


That was the google query I searched and it took me a long time to find an answer so I’m going to contribute it back to the internet.

Most helpful resources:

http://stackoverflow.com/questions/9119497/i-can-connect-to-db-through-sequel-pro-but-not-through-command-line

http://www.sequelpro.com/docs/Connecting_to_a_MySQL_Server_on_a_Remote_Host

(almost helpful: http://it.blog.adclick.pt/linux/amazon-rds-tunnel-access-from-your-desktop/ )

Problem

I wanted to connect to a remote RDS instance from my mac computer. You normally would connect through an ec2 instance so do things differently, but if you want to connect from your local computer, the permissions make this a bit challenging. You might think you just connect by saying

mysql -u user -p -h your.rds.host

but that won’t work.

Solution

If you scour the internet there appear to two main solutions.

  1. Add your IP address to a whitelist on rds, but could be problematic since your IP address will probably change.
  2. Connect to the RDS instance using SSH tunneling.

I had not set up SSH tunneling before and for some reason had a hard time tracking it down. I use sequl pro to inspect our database sometimes, and I realize I was able to connect using SSH tunneling via their gui interface.

So, what is the solution?

There are two steps:

  1. Set up the SSH Tunnel
ssh -N -L 3306:your.rds.endpoint.rds.amazonaws.com:3306 sshuser@yourserver.com
 -N   
only set up the tunnel
 -L   
set up the forwarding
 3306
that first number is the port on your local machine
your.rds.endpoint.amazonaws.com
The name of the rds endpoing
3306
the port on the remote computer
sshuser@yourserver.com
how you log in to your ec2 instance

2. Use the SSH Tunnel

mysql -u dbuser -p -h 127.0.0.1

This lets you connect to the remote rds instance. Note that you have to use the host here 127.0.0.1 explicitly and that it is not the host you set up earlier. This is because it is now forwarding all of the requests. That’s all.

To be clear on how the ports work, here is another example

ssh -N -L 1234:your.rds.endpoint.rds.amazonaws.com:3306 sshuser@yourserver.com
mysql -u dbuser -p -h 127.0.0.1 -P 1234

This says forward from port 1234 on my computer to port 3306 on the remote instance. I just used 3306 in both as the defaults.

Donate Bitcoins