eddieroger.com

Maybe some day I'll have a real blog title.

Moving to Amazon

It’s been a while since I posted. For that, I apologize. For a more detailed explanation, see previous post.

I’m spinning up an experiment. I want to see what it would be like to move my blog to Amazon EC2. I’ve toyed with the idea of an EC2 instance for a while, initially serving as a VPN endpoint for my iPhone and iPad when roaming. But, the platform seems well suited to host small websites with a cost model that mimics traffic, and that’s appealing. Also, the ability to scale up quickly should something grow, mirror and load balance across the world, etc. Lots of things.

So this is a test post. I mean, it’s real, but if you’re seeing it, you’re seeing it from Amazon. I need to move my static assets still, and then come up with a plan for migration of WordPress instances, but I think it’s worth a shot. It’s super neat to be able to have basically a server store available at my fingertips.

For what it’s worth, I’m running Nginx on Ubuntu 12.04.1 LTS, and taking advantange of Elastic IP and a few EBS volumes to keep persistent data off of my OS volume. Upgrading to 10.04 LTS was too painful.

One Month

It’s pretty crazy how much can change in a month. The whole world has moved 1/12 of the way around the sun. SThe cold has left and returned and left again.The sun comes up halfway through my drive to work instead of at the end. Movies have been released, religious school has ended for this quarter, Spring Break and Pesach have come and gone.

As for me, my whole world has flipped over, because a month ago my Grandma was still alive.

I’m no idiot. I know that no one lives forever, present blogger included. Realizing that my grandmother was aging, I had started to think about death more and more. While I would not say I have come to grips with it’s inevitability, I have certainly thought a lot about the nature of the world as I see it as well as what I think my place is in it.

The biggest realization is that the world does, in fact, keep going. Again, I didn’t expect for it to stop, but I was taken back by how normal everything else felt relative to me. To everyone else who didn’t know me or my family, nothing had changed. To people who knew me, but not well, nothing had changed. Yet I am still stuck with the reality that all kinds of things have changed forever. Even internally, leaving the hospital for the last time felt the same as any other, despite the heavy knowledge that not all of us were leaving - or, at least, not through the same set of doors.

I don’t know if it’s the surreal feeling, my mind playing tricks with me, or a religious or cosmic truth that I don’t know, but while I can’t talk to Grandma and get a reply anymore, I don’t feel like she’s gone. And no, not in that corny, “she’s always in your heart” kind of way, but not in a presence either. I just don’t feel her absense in ways I expected.

Despite feeling as through I knew my Grandma really well, it is intriguing to go through her stuff and see what was really important to her. She kept all kinds of things, and it’s like a sort of adventure to figure out why. Things that have surprised me the least are the obvious things - birthday cards, notes, etc. The most surprising, though, are the things that I never once gave a second thought to keeping, like a random blog post here or a trinket from a trip - both of which are things she had. I reread the blog post and tried to figure out what made her want it, but all I came up with was that I probably helped her set up her printer, that was the test, and she held on to it. The trinket was a coin Miles and I made at the Rock and Roll McDonalds in Chicago in 1994. We must have gave it to her when we got back. The thing only cost $0.50, but it was important to her. Also, both of these finds made me cry.

There is a surprising amount of administrivia that comes with death. The funeral home and hospital handled death certificates, but that was only a fraction. Grandma had several online accounts that I knew of that needed addressing. Facebook has a two-step process, the first of which (Memorializing) will lock the account from login and prevent the account from showing up in a handful of places (search, friend suggestions). The second is full deletion. We haven’t done that yet. Geni, an online genealogy site, doesn’t let you designate the avatar of an active account as deceased, and requires documentation to mark it for an account you can’t log in to. Similarly, closing an account provides an option to indicate that the holder is deceased, which will automatically close the account and flag their avatar. I have no idea why this exists, since I don’t share passwords and don’t expect to be able to close my acccount from beyond the grave. However, for Grandma, it was useful since I had her password. I don’t know GMail’s process because I can’t bring myself to do it. This doesn’t even start to cover the real-world issues like bank accounts, car titles, insurance, inheritance, etc. My family, however, is constantly prepared for this since none of us are on any account alone. We have learned from our history, but that is a different blog post.

The definition I use for “friendship” in my head has also been updated. We were surrounded almost immediately by friends and extended family who took incredible care of us. I can’t properly thank them here, and frankly think they deserve better than a blog post. You quickly learn who really is there for you, because they appear without question. This is amazing - I knew that was a cliche, but I never realized how true it is. Even those who are distant by time or physical distance have ways of being with you, and I can’t express how much I appreciate those who did. I have never known the right thing to say or do in situations like this, and I extend that awkwardness to my friends, so just showing up is enough. Likewise, I had no idea what the proper response is to the sentiments offered. For some reason, “Thank You” didn’t seem appropriate, but it worked. I think my problem here is that the pleasantries don’t really change anything - I know people feel bad for me and can empathize or sympathize, but that doesn’t change how I feel. I also realize that’s a very cold statement, but it’s true and I stand by it.

Speaking of comfort, I found a lot more than I expected through the Judaic rituals. I do consider myself a religious person and not terribly cynical about it, but I found it really nice that there was basically a checklist of things that had to be done, and all I had to do was participate. Maybe that’s it - I know I felt fairly devistated, so having to stop and thing in an orderly fasion about what to do would probably have been impossible. I can only imagine that it’s worse when it’s your own parent and you are really responsible for making sure things happen. I also liked wearing the kriah ribbon because I felt that in a small way it kept her with me - not that she has left my mind much since, but it extends a step further. Lastly, I like the grace period of shiva and shloshim in that they add a humanistic approach to grief - no one expects a mourner to jump back in to the world, and we have prescribed ways of reintegrating. Or, as I’ve been calling it, finding the new normal.

In a lot of ways, I have changed. My perspective of those who have passed has changed in a big way. I would think of my paternal grandfather in a certain way that isn’t how I think of my grandmother now. I think that’s because I still have a way of thinking of her - a context, voice, persona etc, that I got from knowing her. I also have been a lot quieter in a few ways. I’ve barely posted to Facebook (especially considering my former patterns). I think I’ve been talking less, too, but that’s hard to quanity since I spend all day with myself, and only really notice it when I’m alone. But my patterns were all disrupted pretty severly, and I didn’t enjoy the things I had before, like playing games on my computer or TV. I did escape deeply in to books, tearing through the Hunger Games trilogy (well, still tearing through the last one). I think some of this is mild depression, but I’m not a doctor, and it’s starting to come around get back to normal. I have also become incredibly resolved to do some of my passion side projects and to focus again on my diet and exersize, the latter of which is being expedited by Pesach.

There’s so much more to say, but just getting that out was a surprising help. If there is anything for people who aren’t me to take away from this, it’s let the people in your life know what they mean to you. But that’s cliche, and you do it anyway, right?

CouchDB for Mac Installation

One of the things I wanted to do when I very destructively changed my blog to Octopress was better document the things I do with my computer so that I can find it in the future. A recent project has lead me down a rabbit hole towards CouchDB, and since I do my development on a Mac, I need a local instance. For the record, installation on Ubuntu, like what my servers run, is super-duper easy:

Ubuntu Installation
1
apt-get install couchdb

Mac installation, however, wasn’t quite as easy, but it was close. I’m using Homebrew as my package manager since I’ve had a sordid past with MacPorts. After installing Homebrew, I just needed to have it install CouchDB. Here’s all the code I ran:

Mac Installation
1
2
3
4
5
# Install Homebrew - only need to do this once
/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

# Install CouchDB and dependencies 
brew install couchdb -v

I added the -v flag because I wanted to make sure it wasn’t locking up, since my first attempt at an install didn’t go so well. However, attempt #2 went swimmingly, and I’m installing it on my MacPro right now. So far, so good.

Update Always run on verbose! Turns out I’m having a problem downloading one of the dependent files, so it’s halting. Rerunning the brew install step will eventually fix it by finally getting the whole file. Sounds hacky, is hacky.

Because I want to have CouchDB running when the machine is and not think about it, I needed to add a launchd script to my startup. I was guided how to do so by running “brew info couchdb”, but for posterity, here’s my transcript:

Launch on Login Configuration
1
2
3
4
5
6
7
# To get the help
brew info couchdb
[...]

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/couchdb/1.1.1/Library/LaunchDaemons/org.apache.couchdb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/org.apache.couchdb.plist

That’s it! I now have a working installation of CouchDB on my Macs! If you’re playing along with the home game, here’s a link to the admin console.

Welcome to the Admin Party!

Switching to Uverse

My parents are by no means afraid of technology. We were one of the first families I knew with a computer, early on the broadband bandwagon, and they both now have smartphones. However, my parents have always been extremely deliberate with their technology choices. Voicemail didn’t have a long life at my house, since the answering machine kept working, and was a much simpler path between missed call and message. We also never made the jump to put Caller ID on the line because answering the phone was just as pragmatic. And the computers that we had early were only upgraded when they stopped doing the things the needed to do, which often included incrememntal internal upgrades. My parents fall right at the top of the Gartner Hype Cycle.

Given this, I was a little surprised when my dad called me up the other day and said that they were seriously considering switching their Comcast cable and Internet service over to Uverse. I’ve been using Uverse since I moved back to Indianapolis, and it is easily the only AT&T service I’ve been impressed with in the last ten years. The plan my parents picked will save them money (pragmatic!) and result in a pretty big upgrade in technology for them. Whole house DVR, on-screen Caller ID (finally), and boxes on all the televisions - surprisingly progressive. Through the duration of the call, I gave my dad some notes to tell the installer (no wireless boxes unless necessarily, use the existing coax, place the gateway in the family room where the router is), and let the process happen.

The installer came when I was away for the evening, so I was phone-only support. My mom handled it like a champ. The installer left something to be desired, but she had already got her computer back on the new Internet and had Grandma’s halfway set up. I had to do some of the more specific configurations I have in place - namely, reprogramming the Harmony remotes and replacing the lazy installer’s coax from the box with HDMI - but they all took right to it. I’ve taugh them so well.

A few days in, and so far, so good. I’m taking the “no news is good news” approach - I haven’t been called about any big issues, and after I swap out a few more HDMI cables for coax, they’ll be all set. My dad is amazed by remote scheduling via his Nexus S and seems to really be enjoying DVR. Mom and Grandma are less than thrilled about the lack of The Hallmark Channel, but they move on. And I’m happy that they’re finally taking advantage of HDTV on the sets they’ve got.

All in all, a good change. Welcome to the bleeding edge.

Resolutions

Happy New Year.

Resolutions are a big part of New Years, but I’ve never really got it. I mean, I do on a superficial level - nothing says opportunity to start something new like a brand new year - but I’ve never needed a prompt like that to begin something fresh. Now, I will usually start new things on a Sunday for similar reasons, but I get 52 of those a year instead of just one. What’s more, my birthday is right around the corner from New Year’s, so why not use that?

That said, there are plenty of things I have on my list to accomplish in 2012. Some are worth sharing and may get their own blog post, some are fairly personal and probably won’t. But, Internet, have no fear - blogging more is high up on the list, because I love you. For now, just take this as a sign of good faith - 2012 won’t necessarily be a year of change (because isn’t every?), but it will be a year of accomplishments. So, here’s to it.

So Long GoDaddy, and So Can You

Unless you don’t use the Internet or haven’t seen the news in a while, you should be mildly familiar with the Stop Online Piracy Act, nicknamed (and #hashtagged) SOPA. Essentially, the Government is trying to put in to place measures that will allow a ISPs to block a domain at will - gross oversimplification, of course, but this isn’t an article about SOPA.

Since it’s inception, GoDaddy has been a strong supporter (and recent contributor) to the wording and legislation around SOPA. To me, these are acts that I can’t support, so I’m taking my business elsewhere. I’ve registered a few domains with them over the year as well as purchased an SSL certificate, and pending right now, I’m moving them over to Namecheap. They came strongly recommended by the hivemind at reddit, publicly display their disapproval and stance on SOPA, and even had a promotion - byebyegd - for anyone leaving GoDaddy (or anyone at all).

Will a measly 10 domains make a difference to GoDaddy? Probably not, but as of yesterday, they had lost 70,000+. And isn’t the basic idea behind capitalism the ability to vote with my dollar? They probably won’t close their virtual doors because of this, but they will be shy a few dollars every year come renewal.

The nice thing for me is that I am finally consolidating my domains and taking a solid inventory of the mess I’ve made of my domains and web presence over the last few years. As of a few days from now, all of my domains will have the same renewal date, and I will have a solid list of which domain is where. I may even come up with a Mac app out of this to manage it all going forward. Wouldn’t that be something?

Oh yeah, Merry Christmas and Happy Hanukkah!

Here We Go Again

Not again.

For a long time, my site had the subtitle, “Another Day, Another Platform.” Well, I’m afraid that’s, true again. If memory serves, in the nearly 10 years of this website’s existence, I’ve moved platforms at least five times. Clearly memory isn’t serving or that would be an actual number. I’ve been with Blogger using iFrames, Movable Type to generate static HTML (heh, more on this later), WordPress and WordPress and WordPress, and my own incarnation once or twice in there.

On Being an Adult Male at a Gym Meet

There’s been a lot of talk in the press recently about some of the disgusting things that have been happening at Penn State. Not the cover up business, but the terrible allegations against Sandusky and what he may have done to those poor children. This isn’t a story about him.

We live in a world where it is now weird for adult men to be alone with children. Single fathers aren’t the norm. Men walking through a park a little too slowly will trigger a call to the cops. Kids can’t be outside too far from home or too long for fear of being snatched.

This past weekend I got to (finally!) go to my cousin’s gym meet at a local middle school. Being the avid amateur photographer I pretend to be, I took my camera. As my dad and I were walking in, I had a strange cringe of what people would think about two adult men (we drove separate from my aunt and cousin) walking in to a building of little girls with our cameras. I made sure we were sitting obviously with my aunt before actually pulling out my cam and zoom lens, but I couldn’t share the fear that people would be concerned. After her first event, I let it go, but I can’t shake the feeling.

I don’t intend on diving in to a “how did we get here” type blog post, nor is this a social commentary. I have come to rationalization that I would rather people eye me funny if I take my cousins out for lunch or something than risk a stranger harming them and no one taking action. But it is a shame that this is the case.

For the record, my cousin swept the event and scored highest all around for age group. She’s just that great - no big deal.

Rails and Django, Round 2

A lot time ago, I played around with Rails a lot. At the time, it was something I could believe in, and I wanted to love it. For a short while, I did, I just never had a practical usage for it. Shame, I guess, because you can only write so many blog applications before the magic runs out.

Then one day I heard about Django. I started playing with it, and I love it. Free Eddie panels, python, who could ask for more? I feel in deep. And I had a reason this time to write an app. So I did. And it was magic.

This weekend I was playing with Gitorious to slap a pretty front end on my repos, and I found out it was written mostly in Rails. After delving in to the code for a long time to get the dumb thing running (and it doesn’t yet), I sparked - “Hey, Rails! Let’s go look at that again.”

I Googled, I made yet another blog, then I accidentally Googled “Django Rails.” Comparison. The holy war of the Internet world. You may have heard of Mac versus PC, vi versus emacs. Turns out, they’re just as furious about Django and Rails.

For me, what it came back to was that I would rather spend time writing Javascript and CSS not for free in exchange for free Eddie and authentication. I don’t understand how you can have an application meant to be on the Internet these days that doesn’t include free - albeit basic - user authentication. I’m not saying that the state of Django’s Eddie is what I want in a big app, but it gets me from zero to 40mph with the option to swap it out later. I also get free, segregated Eddie. I can be dropping data in to an app within minutes of creating my project, and I love this fact.

All in all, these downsides are enough to keep me in Django. The grass is greaner, but this time I’m staying till.

For now, anyway.

Django Development on the iPad

Alright, maybe that title is misleading. A better one would be “any development on the iPad.”

I’m setting out on an experiment. For a long time, I’ve said that I’m a command line guy. A modern green screener. A relic, willing to trade my mouse for a permanent keyboard, any day of the week. In theory, this means I should be able to do some serious development with just an SSH terminal and a keyboard. As it happens, my iPad has just that.

I’m tossing between two SSH apps right now - iSSH and a new player, prompt. I don’t know much about iSSH other than it fell squarely in the “just works” category - point it at a server, enter some credentials, and it just worked. Prompt is from Panic, a company that makes software good enough I want to buy (namely Unison and Transmit). It’s version 1.0, and thus not without faults. Namely, the thing goes three minutes and hangs unexpectedly. Between the two, though, an SSH client is acquired and runs.

Next up - environment. I have an account on my web server that I can log in to for running the thing, so I’ve made a directory for local development. Now my SSH client has somewhere to go. A few virtualenvs and git inits later and I had a place to work.

For a quick test, I spun up a very basic Django project and kicked off it’s internal server. After remembering to let it listen on all IPs, I was able to get to it from Mobile Safari. A rousing success.

So that’s where I am. I have a kludgey but functional ultra mobile development environment. I’m going to let this go for a bit and see if it’s feasible. Clearly a gap is anything graphic, but that’s what my big Mac rocks at doing. For quick, ugly code work, this should do nicely. I guess we’ll see.