My local congressman, Buddy Carter, sends out a weekly newsletter and this week’s was a doozy. I don’t normally write to him, because I’m not sure it does any good, but I had to in this case.
Here’s what I wrote. Feel free to use it and write to your representatives.
In your latest newsletter you say the following: “I believe committing this horrific act removes all civil liberties and they should be investigated in whatever way is necessary. This is now an issue of national security and it is ridiculous that Apple is not participating in the investigation of known murderers and terrorists.”
This paragraph shows an amazing lack of understanding of the Constitution and our fundamental civil rights, and a failure to grasp the most basic facts of not just what the FBI is asking Apple to do, but the FBI’s own actions that led to where we are right now.
I’ll leave the constitutional questions to someone else, but the technical ones are simple:
Creating a backdoor, ANY backdoor, for the FBI means that Apple will have to give that backdoor to any government in any country they do business in. Submitting to this request of our government means that they have to give that back door to repressive regimes in China, the middle east, etc.
Creating a back door, ANY back door, in encryption or security means that back door can be exploited by any one – good guys, bad guys, terrorists, etc.
The FBI wouldn’t be in this situation if they hadn’t asked local law enforcement to change the suspects’ Apple ID password. If they’d left it as is, Apple could have gotten into their account and given the FBI whatever they wanted – as they have done in many many cases.
This isn’t a simple case, but just demanding that Apple do what the FBI asks denies the complexity of the issues and weakens security for everyone.
We need strong encryption, unfettered by ill-informed and ill-advised government demands, for ALL of us to be safer. Any weakness at all can be exploited by the bad guys just as easily as the good – and like people are so fond of using the 2nd amendment as a “check against unchecked tyranny” – strong encryption is an even better check against that tyranny, and not just in the US.
I ask that the government get smarter, that our representatives gets smarter, about thinking about how to perform their duties and catching criminals than asking the innovative companies that drive our economy to get dumber.
My kids both have Google Ed accounts for their school work, which comes with an email address. Some of the parents in the school’s Facebook group were asking how to set up the school email account on their phones, which feels like overkill to me. I don’t log in to my kid’s email – I just have all of their incoming email forwarded to me (which I then filter to get it out of the way so I can read it later).
And here’s how to set that up if you’d like to do the same thing!
Click the Gear icon on the top right side of the page and click Settings
Click on the “Forwarding and POP/IMAP” tab.
Now click the Add a forwarding address button.
Put in your email address that you want emails forwarded to and click Proceed.
It’ll send a confirmation code to your email. Grab that and put it in the verify field.
Now click the radio button next to Forward a copy of incoming email to…, select your email from the dropdown and then choose keep Gmail’s copy in the inbox from the second dropdown.
And there you go. Now you’ll get all your kid’s emails in your inbox. Lucky you!
Now, for bonus points, filtering. I have a ton of filters to keep my inbox nice and clean, and my kids’ emails have their own filters. Here’s how to set one up:
After you set up email forwarding, you’ll start getting emails to your kid in your inbox. You need one of those to start with. It doesn’t matter what it is as long as your kid is one of the recipients.
In the search box at the top of GMail, search for to:email@example.com (replacing “firstname.lastname@example.org” with their actual email address).
Once the results come up, click the More button and choose Create Filter.
The To field should be filled out with your kid’s email address, so go ahead and click “Create filter with this search”.
This is where things get fun. Here are the settings I use for my kid’s email:
Label it with the kid’s name.
Skip the Inbox
Mark it as read.
With those settings, they never hit the inbox, but, I have to remember to check it periodically, so it’s probably a good idea to leave them in the Inbox to start and not mark them as read – just apply the label.
That should help you keep up with your kid’s school emails without going crazy! Good luck!
I used to work on a big search product at AOL and still love search, even though that’s not what I do anymore. So, when I saw that IndexTank and Heroku were having a contest to build a cool app with IndexTank’s search-in-a-box, I couldn’t resist. I knew I had to keep it simple since I don’t have a lot of time for hacking outside of work, but I knew I had to do something.
I had two ideas, and went with the simpler one: What would happen if you broke a book down into individual sentences and made it searchable? Would it be useful at all? I decided to try Huckleberry Finn by Mark Twain, since it’s not too long, is public domain, is quotable and full of vernacular that can screw up indexers, and I knew it was available from Project Gutenberg.
I call the result… Huck Smash, and I think it’s pretty cool.
I’m going to try to spend more time outside of work playing with single-purpose sites and fixing Ficly up. I need to keep things constrained so I don’t bite off more than I can chew or over-commit, but this was so much fun I want to do it again.
I’d love to hear what you think of Huck and any ideas you have for improvements.
I read Zed Shaw’s blog post on the decline of open source participation last week and it got me thinking about just how much open source software we use at work and how we’re (mostly not) giving back to those communities. So, here’s the first step in me becoming more involved and giving something back, even if it’s just a huge “thank you”. I am trying to be more involved, especially in the MongoDB and MongoMapper communities. I’m probably not going to be contributing code to either, but I’m fairly active on the mailing lists, have reported bugs and am committed to help with the MongoMapper documentation project.
Excuses aside, here’s a list of the big open source things we use on a daily basis and why we love them:
Apache – The webserver that holds everything together. It’s used by most of the web, and we use it too.
Ruby on Rails – Rails lets us do more faster. We also use a bunch of gems that I’ll list later on.
Sinatra – When you don’t need everything that Rails has (a simple API, for example), then Sinatra is perfect.
Passenger – Deploying Rails apps used to be a pain. Not anymore! Thank you, Passenger!
MySQL – Need an RDBMS? Well, we use this one. And it works pretty darned well.
Memcached – We cache everything we can, and memcached helps us do that.
MongoDB – We use it because it’s web scale! (if you get that joke, then you’re in the club!) Seriously, we first started using MongoDB just to collect our stats because we’d maxed our poor MySQL instance. Then, I looked deeper and realized it’s perfect for the big top secret thing I’m working on now. Atomic updates and super-fast inserts make it perfect for collecting a lot of data quickly. And it’s now slouch on the query side either. There’s also a great community behind MongoDB. The updates and improvements are frequent and the community is always willing to jump in and help.\
It’s a nice hybrid between the new school document store databases and a traditional RDBMS.
Beanstalkd – A super-fast queue server. It just works, which is why I love it. We queue everything we can. Why? It’s a great way to meter load. If you can only handle 3 jobs running at once, then you only run 3 workers. If you can handle more, you run more. It’s great!
And of course, all of our servers are Linux and run hundreds of open source packages that I don’t even worry about.\
Since our strength lies in Ruby, we try to do everything in Ruby that makes sense. I’m not going to list all the gems we use, but here are a few of my favorites – the ones that make life easier and make programming all day more fun.
MongoMapper – Makes working with MongoDB even more fun. I’m on the MongoMapper mailing list, and it’s one of the most supportive and helpful communities I’ve been a part of. It makes using it more fun.
memcache-client & beanstalk-clent – they’re how we talk to memcached and beanstalkd
hashie – Allows you to very easily create classes built around hashes. Great for wrapping around API’s.
typhoeus – My favorite of the many HTTP clients for Ruby.
will_paginate – Now I don’t need to do all the horrible gymnastics needs to add “previous” and “next” links to things! THANK YOU!
hpricot – My favorite way to parse HTML – with CSS selectors!
aws-s3 – A great interface to Amazon S3 (where we store a bunch of stuff)
There you go. That’s pretty much our entire stack. I left out a bunch of gems – most of them we don’t use directly – or that just provide one or two things.
So, thank you to all of the creators and contributors to open source projects out there, especially the ones we use to make our work easier. The web would be a much smaller place if there weren’t dedicated geniuses out there making this stuff, and the world would be a poorer place for it. I promise to be a better member of the community and contribute where I can!
My pal Murray Wilson does great things – he and AWOL take kids the system doesn’t want and teaches them to take apart, clean and refurbish computers the system doesn’t want – computers that would otherwise go to the landfill.
They then put linux on them and put them out into the community with families that need them. He’s one my absolute favorite people in Savannah (nay, the world) and I’m proud to know him.
The computers will, of course, end up in the landfill eventually, but the “Goon Squad” gives them easily another 2-5 years of life, and the kids learn useful and marketable skills. It’s a win-win, and an amazing program and Murray and AWOL built from the ground up.
If you can spare it, AWOL can always use some help. Every little bit helps, and every kid they help is one that’s not in the juvenile justice system or out on the street by themselves.
I finished speaking at *The Future of Social Media”… it was fun telling them not to join twitter if they’re just going to be marketers and not actually be human. I told them other stuff too, I think.\
I didn’t have a lot of time to talk about the future, so I didn’t get to talk about identity vs. persona and my three categories of social networks… maybe next time. I’m pretty sure I scared the hell out of them when I talked about reputation stuff.\
Some things I mentioned that either I didn’t put the URL for in the slides or didn’t have in the slides at all:
I talked a little bit about Seth Godin. His blog may be a little pat, but I’ve learned a lot about marketing and product development from his books.
My interest in reputation started with Cory Doctorow’s Down and Out in The Magic Kingdom. It introduces the idea of “whuffie” which captured my imagination. I hope to some day implement a real whuffie system online. I came really close once.\
I think that’s it… hopefully the people who saw it enjoyed it and got something out of it. It was a lot of fun preparing it.
When I left AOL, I gave them back my Blackberry, and have since been either without a phone completely or using Jen’s bright pink Razr. I want a new iPhone, but waited a little while to get past the initial rush. Well, this afternoon was supposed to be the day. I called up the local AT&T store to see if they had any, and got a menu. Here’s what happened:
I pressed 2 to order new wireless service or hardware. Waited six minutes to talk to someone
Asked the guy who picked up if the Savannah AT&T store had any in stock. He asked me my zip code and then asked me to hold. I spent three minutes on hold (there’s a timer on the phone… handy).
He told me he could transfer me to the store. I then spent 8 minutes on hold.
I ended up at the original phone menu and pressed 2 again just for fun. I waited for 5 minutes before my head exploded and I hung up.\
That was twenty-three minutes to go basically in a big circle. AT&T, you suck. I mean, you’re a phone company and I can’t dial a local number and talk to the local AT&T store? How stupid is that?\
Thank you, AT&T, for wasting almost half an hour of my life. You’re the balls.
Jason posted a tweet about writing songs this afternoon and I must have been in a particularly suggestible post-nap state and instantly came up with several extremely nerdy song titles. I think almost all of these fall into to Nerd Country n’ Western, but whatever. Here they are:
I’m Semantic, But Wow, You’re Well-Formed
Since You Left, I’ve Been in Plain Old Semantic Hell
Why Do Our Tags Have to Branch?
If You Won’t Mock My Markup, I Won’t Jeer Your Scripts
What’s in a DOCTYPE?
I Sold My Soul to the W3C, and All I Got Was a Long-Sleeved Tee
Baby, It’s Not Really a Microformat!
Let’s Go Home and Append Some Child Nodes to Your DOM
If You Leave, All I’ll Have is Twitter\
I’m sorry. I really am, but you’re welcome to add to the nerdy nonsense in the comments…
I’m speaking today at The Social Networking Conference about social networking mashups. I decided to turn it on its head a little bit and do an introduction on portable social networking instead, because what is it but a big ol’ mashup of identity, relationships and content?\
If you’re at the conference, I’ll see you at 1:30, and I’ve updated the slides a bit since I had to turn them in for the CD, so the presentation is a wee bit bigger and more complete than the one you got in your packet. I’ve uploaded the “final” version here, and you’re welcome to download it.\
Feedback is welcome. I certainly couldn’t cover everything, because I only have about 35 minutes to cover everything (and 36 slides). I don’t touch on the Data Portability working group, or several other relevant things, because there just isn’t time. It’s very much an introduction into why it makes sense for social networks to support “good things” like OpenID, Creative Commons, microformats, providing feeds for everything, etc. Hopefully, it will lead to more technical discussions and some good questions.\
Feedback is, of course, welcome!
We had a lovely time in Mississippi eating way too much fried/barbecued/fatty food (I only gained one pound, and have promptly lost three, so no worries), playing with the dog, hanging out with Jen’s parents, fishing and watching the boys ride around in the trailer behind Grandpa Brian’s lawn tractor. I’ll try to upload pictures tonight.\
I’m back at work, and having a hard time getting back into the work groove. So, I got my twitter stats instead… yeah, productive, I know (I also cleared out my inbox, remembered my kerberos password, did annual review feedback for folks, updated SVN and set up a meeting for this afternoon).\
What I found funny is the tweets per hour. Since I got the blackberry over the summer, I twitter more at night while watching TV than I do while I’m at work. I also seem to post a lot around 11AM, which is usually when I take my first break of the day. All in all, I post a lot, which doesn’t really bother me, or seem to affect my work. I love the “noise” twitter generates. After working for almost 13 years with constant interruption, if I don’t get interrupted every ten minutes or so, it feels like something’s wrong.
Also, March was my heaviest month o’ tweets, which isn’t surprising since SxSW was right smack in the middle, and that’s where I really “got it”. I’m not sure what happened in May, or why December was so high – especially considering I was at home for almost three weeks and without “real” bandwidth for a week.
I think I’ve reached a sort of twitter equilibrium. I follow about 200 people, with only about 50 sent to my phone, which keeps the noise on my phone when I’m not near the computer down to a dull roar.\
(I generated the stats with the very handy script written by Damon Cortesi)