Just a few weeks ago I resigned from my position at Wharton Computing. I'll be moving on to work with my friend Steve Rittler, at his company CounterMarch Systems. I am eternally grateful for the friendships forged and experiences gained during my time at Wharton, but all good things must come to an end.
The upshot is that since I will be working from home full time I will have back the 3 hours of each day that I previously spent commuting; which means I'll be able to spend more time with my family, and one thing in particular that I'm excited about: We'll all be able to eat breakfast together. It also means that I'll have no excuse not to join the gym down the street from my house and get working on Goal #6.
I can't help but be excited for my new job. Working from home, for a small company, with one of your best friends -- does it get any better than that? We'll just have to see.
On a related note: If you're in the Philly area (or willing to relocate, but telecommuting is not an option), The Learning Lab (my former team) is looking for a hot shot web developer to be my replacement.
Posted in
Jobs |
Meta
| 6 Responses
January 27 2012
I have taken the last few years off from posting my goals, but I don't see any reason not to start up again. I'm not really one for resolutions, mostly because of their binary nature: either you succeed or you fail. Life is rarely like that. Goals are more my style: even if you don't get to 100% of your goal, you can still get 96% there, and that's something!
Since I didn't make official goals for 2011, here's a quick list of things I did this year that I'm pleased with:
- My second son, Ethan, was born in January, and in the last few weeks he's been starting to walk!
- I really started taking reading seriously. I read 23.333 books in 2011 (My goal was 24, and I'm still finishing up the last one). Getting a Kindle definitely helped with this.
- I released 4 updates to my various Mango Blog plugins.
- I presented on the CFMeetup (online) and at CF.Objective()
- I really started taking Git seriously, and it has been a boon of productivity. I'll never go back to SVN if I don't have to!
- I released my first near-native mobile app, The Squeeze, for BlackBerry Playbook. (I've since given up on the platform, but we still use our Playbook, because it's the best video camera we have.)
- I upgraded from a 13" Macbook to a 15" Macbook Pro. Buying used is definitely a good way to save money, but there are some pitfalls.
- I wrote an article for the Adobe Developer Center for Flex 3 developers who need to update their knowledge to Flex 4/4.5.
- Compadre Steve Rittler and I created, organized, and ran Philly Merge, a one day regional conference (Philadelphia) "For Entrepreneur-Developers and Developer-Entrepreneurs".
- I fell in love with TDD all over again when I realized how necessary it is to work on fragile setups, like those I was creating with ColdFusion's ORM.
- I participated in the How I Got Started in ColdFusion meme.
- I finally figured out freaking SPF records in DNS. Geez.
- While I haven't yet released Taffy 1.1, which was definitely a goal for 2011, I did get RC1 out the door and all that remains before 1.1 is officially released is to write more documentation.
- I created a GitHub "organization" dedicated to helping fill the gaps in CFScript.
- I proved once and for all why Tabs are Superior to Spaces!
Now, the fun part, my goals for 2012:
- Finally release Taffy 1.1. I really want this one done in the next month or two.
- Read 24 books. I felt like this was an incredible pace last year. Two books a month is still a pretty high goal for me.
- Do well in my presentation for CFObjective this year.
- Attend JSConf 2012 (no date announced yet). If there were only one language that I need to know aside from ColdFusion (and let's face it, there's more than that), it's JavaScript. 2011 saw my JS skills greatly improve, and the next step is definitely to continue reading about it and to start attending training/conferences.
- Continue doing Yoga regularly. I started doing Yoga (again) in November or December of 2011 and it's been a great workout and really improves my flexibility and balance. My favorite video to follow is very fast paced, too, so I get a bit of a cardio workout in the process.
- Lose some weight. My metabolism is finally catching up with me (or I with it?)... and I'm starting to tip the scales into the overweight category. At least, it feels that way given the way the weight is distributed. Mostly I need to work on my gut. I would be thrilled to lose about 10 pounds, especially if the majority of it came from the mid-section.
- Make Philly Merge 2012 a reality.
- Watch the Phillies take the World Series trophy back. Ok, so this one is mostly out of my control. Except for the watching part. But I will take my part seriously!
Did I miss anything obvious?
Posted in
Meta
| No Responses Yet
January 02 2012
I love 1Password. A lot. So this is a bittersweet post.
I love 1Password so much, in fact, that after several months -- maybe a year -- of using it for my personal password management, I recommended it as a way for my team to share passwords. We have ~30 applications we maintain, and each has sql passwords, api keys, etc, for each environment (dev, stage, prod)... plus a gamut of other passwords that need to be shared, so something was necessary. The series of text files we inherited wasn't scaling well.
It worked out great... For a while.
I keep my personal 1Password keychain file in my dropbox, for various reasons:
- Access to it from anywhere, including my phone (making it easy to copy+paste those complex generated passwords on the go) and computers without a 1Password client installed
- Sharing it across various machines I work from, with automatic sync. If I sign up for a new site while at work, the password is waiting for me when I get home.
- Free & encrypted cloud-based backup
When we started sharing a 1Password keychain for our team, it only made sense to also put that file in dropbox too. We have a folder that we share with everyone on the team, and we just put it in there.
For a while, this worked quite well. The only problem was that switching between keychain files could be annoying. Luckily, I figured out a workaround that made this pretty painless: Just drag shortcuts to both keychain files onto the OSX Dock (YMMV on other operating systems), and click them to tell 1Password which one you want to use. The browser extensions will always associate with the last file you had open in the application.
That was then. The good ole days. These days, if you use this approach, you may find your credit card numbers (and other private information) in the wrong keychain! Unless you want your coworkers ordering prank books for you, this is probably bad.
So, after much agony and strife, I reluctantly decided to switch my personal password repository to LastPass. I figured switching myself would be less hassle for the rest of the team, who are likely not using 1Password for their personal data.
I was thrilled to find that you can export your 1Password data and import it into LastPass. In fact, that made my day! I was not excited at the prospect of having to manually copy over the details of several hundred accounts. So thank you, LastPass team, for that feature.
So that's the story of how I got here. But what do I think of LastPass so far?
- The chrome extension lacks polish. In just about every way imaginable, it's usability and user experience is inferior to 1Password. But it works.
- I really dig how it auto-fills password forms for you without even a button press or keyboard shortcut (in most situations).
- The software serials that I had in 1Password don't seem to have imported well. There are entries for them, but all of the useful information (license number, amount paid, date purchased, etc) are lost. They end up in the "form fill profiles" section.
It's only been a day. We'll see how I feel about it in a week/month/year. Maybe I'll follow up further down the road.
Posted in
Meta
| 8 Responses
November 03 2011
Once and for all, I have the answer! I've long known and exercised my belief that tabs are (far, far) superior to spaces, but only recently have I gained enlightenment as to exactly why they are superior.
Spaces are "hard coded", while Tabs are "dynamic".
What does that mean, exactly? Every IDE worth a damn allows you to adjust the number of spaces that a tab appears to take up. This is commonly referred to as "tab size" or "tab width". If your team agrees (begrudgingly?) to use spaces, then everyone has the exact same view of the code.
The problem is that people's preferences are different. I might like to use 3 space indents so that things don't start flying off the right side of the screen after just a few levels of nesting, whereas you might like 5+ spaces, to really draw attention to where things nest. There's nothing wrong with either preference. And the beautiful thing is, using Tabs and letting everyone set their own tab width (because one person's tab width has no affect on anyone else's view), everyone gets to see what they want to see.
So there you have it. Tabs win. You're welcome.
Posted in
Best Practices |
Meta
| 5 Responses
November 01 2011