• Architecture reviews

    Someone recently asked to hear about others’ experiences with architecture design reviews, teams, and processes. I shared one experience from a past job and I think it’s something worth sharing here, too.

  • Career path for a software engineer like me

    I call myself a software engineer, but that’s only because that’s a broad term that covers my entire career so far and I believe it will cover my career for some time to come. I started out as a lower level Software Engineer 1, then moved up to levels 2 and 3 at my first company, SEP. At Lessonly, I was a Lead Software Engineer, Director of Engineering, then a Principal Software Engineer. Now at High Alpha, I am again a Principal Software Engineer.

  • My Hacker Muscle Has Atrophied

    I have found myself building a new web app in my spare time. I have a need which I am trying to solve - that’s how these things start, right? It’s been a while since I started something in my own time that I was excited about, so it feels good to be building something outside of work.

  • What Is a Software Architect?

    I have been thinking a lot about what it means to be a Software Architect, primarily because I am working to define that role at Lessonly. What does an architect do that is different from other engineers on the team? What do they not do? What skills do they need to have and how do they use them?

  • Impostor Syndrome

    I have heard the term “Impostor Syndrome” thrown around a lot lately to the point where I don’t believe its meaning is truly agreed upon. I know I have a bit of impostor syndrome going on, but now it feels like saying that is supposed to be a badge of honor. So now I prefer to think of it for what it really is: self-doubt.

  • I Wrote a README

    Some people call them Manager Readmes. I’m calling mine simply, README. It’s about me. As a manager, as a coworker, as a direct report, as a human. You can read it right here.

  • On Delegating

    Over the last few years I’ve grown as a leader. I’ve learned that as I grow in my career and as I grow the team around me, the work load does not get easier - it gets much heavier. Of course, delegating is a skill that helps with the work load, but, for me at least, there are several barriers to get through before becoming effective at it.

  • Best Steak I Ever Had

    Just the other day, I ate the best steak I’ve ever had. It was a $10 ribeye I made myself using a sous-vide cooker. I seasoned it with salt, pepper, and rosemary, vacuum sealed it and froze it when I bought the meat. I took it right from the freezer and cooked at 132.5° for about and hour and a half before grilling it at high heat for a couple minutes on each side. Paired with a sweet potato with red onion, it was an amazing meal.

  • Use a return_url with omniauth

    I’ve been working on implementing single sign on in Lessonly (a Rails 4.2 app), specifically with SAML (because that’s what the clients need). Omniauth has been making it fairly easy to do, which has been great.

  • Rails, Rspec, and testing controllers with the same name

    It’s important to write tests for your code.

  • I now work at Lessonly

    Hey all! I’ve made an awesome pivot in my career. I’ve moved away from the custom software shop model of SEP and into the startup world with Lessonly - “the dead simple training software”.

  • Announcing GDG Indy

    GDG Indy

  • Android for iOS Developers - Activities

    I began learning iOS development a few years ago. As one of the few developers at my company who knew how to write iOS apps, I quickly gained a lot of experience. When I was asked recently to help on the Android version of an app I wrote for a client, I found myself struggling to change my mental models for the architectures behind the development tools and language for the OS.

  • Kanban for daily life

    What is Kanban? Read about it at Wikipedia. Basically, it’s a method of visual process management. Often, Post-it Notes are used to signify tasks and they are put on a board with columns to identify each task’s state: ready to do, in process, needs, review, completed, etc.

  • Setup multiple SSH identities for git

    Today, I learned how to set up multiple SSH identities out of necessity. I use the same machine for development at SEP and for development of my own personal projects. I use Bitbucket, Github, and others for my code repositories as well as SEP’s own Gitorious server for internal and client projects.

  • Curiosity as a tool

    SEP has asked us to write about the tools of our trade. I’m a software engineer at a decently-sized software engineering company, so it’s pretty clear that I have several tools in my programming toolbox. Things like Sublime Text for scripting, Kaleidoscope for file diffs, Stackoverflow for Q&A and community, and even Spotify for getting in the zone.

  • Where is the iOS app industry headed?

    I’m worried about the iOS app industry.

  • Is biometric security really secure?

    I’m posting this as a response to my colleague’s blog post. Laurie asked whether biometrics as a security mechanism is actually useful.

  • Beware of users

    Beware of users!

  • Reversing output in Mac terminal goes great with Mercurial log

    I hate Mercurial.

  • Why HTML-based smartphone apps are generally a bad idea

    I’ve long had this opinion that building smartphone apps by writing HTML and sticking it into a native app shell is a bad idea. I’m not talking about web apps, mind you; I’m talking about apps you get from the App Store or Play Store, but really just run HTML and Javascript. My two main issues are that it’s difficult to get the app to look right and that people seem to want to make an HTML app work on multiple platforms.

  • What's Still Possible

    This is a lesson for the newer programmers out there. And experienced programmers, too; I learn this lesson over and over again.

  • That wasn't so bad

    I wrote a blog post.

  • I Don't Have Time

    I don’t have time to do that cool thing I’ve been wanting to do.

  • What happened to my orientations? A story of iOS6

    So what did happen to my iPad app’s orientations? I updated to iOS 6 and all of a sudden, my app stopped rotating.

  • Simple XML parsing in iOS

    I recently had need to parse XML in an iOS app. A while back I learned how to do it with NSXMLParser, but that’s more complicated than I wanted. It is event-based, which means it’s done asynchronously. That’s great and all for more complicated applications, I’m sure, but I had some very simple XML that should take milliseconds to parse and I didn’t want to mess with async on that.

  • Converting your iPhone app to a universal app

    How to convert an iPhone app to also support iPad has been a big scary mystery to me until recently when I actually had need to do it. Like when I first started programming in Objective-C, it felt weird. But once I got the hang of it, I realized it actually makes sense and it’s not incredibly difficult.

  • iOS App Store SEO

    Making your app visible on the App Store takes some effort. Here are some considerations for making your app visible. This list compiles advice from Tomasz Kolinko of, other sources, and from my own experience.

  • Not About Organization

    Reading My Other Pants’s recent blog post got me thinking. How do I keep myself organized?

  • As it turns out, you CAN change the back button title in a UINavigationController

    Long have I wished to change the back button title in a UINavigationController. Long have I failed.

  • Get Better - Failure Behind a Curtain Helps You to Shine in the Spotlight

    Okay, I’ll bite.

  • Fifth Third Bank ATM Fees BS

    Okay this isn’t related to anything my blog is about, but it’s such BS I can’t not say anything about it.

  • Xcode can do strange things sometimes

    I am really not sure what caused this, but I can tell you what was wrong.

  • Good to know

    Every now and then, maybe once every few months, I will notice that while I am typing, the ‘z’ and ‘y’ keys have switched. Not only that, but some others switch as well. It’s quite frustrating, especially since I have trouble remembering the not-so-obvious solution between occurrences.

  • C#: Inspecting a nameless exception

    Finding the answer to this eased a great pain for me today.

  • Rescuing your data from that dead hard drive

    Recently I put myself in a position where a good chunk of my memories ended up on a failing external hard drive. Windows refused to recognize that there was anything attached to USB, while Ubuntu acknowledged the drive, but wouldn’t mount it. I needed a way to get my photos, videos, and other assorted files back before the drive died forever. Here’s how I did it.

  • Google Fiber

    I am officially showing my support for Google Fiber in Carmel, Indiana. To anyone living in Carmel, it should be clear why we deserve Google Fiber:

  • Ubuntu: Moving directories to new partitions

    A couple of months ago my laptop’s hard drive crashed and I didn’t have a Windows recovery disk, so I reformatted and installed Ubuntu 9.04. The default configuration (which I assumed would be reasonable) gave my root partition only 4GiB of space, and it ran out quickly.

  • Email From Ruby on Rails

    Who knew that sending an email using ActionMailer and TLS would be so difficult? It turns out that ActionMailer isn’t equipped to work with SSL connections to SMTP servers. There is, however, a plugin created to get ActionMailer to work with TLS here.

  • Email From Your iPhone App

    Programming your iPhone application to set up an email for the user to send is easy, as long as you don’t mind it quitting your application. The following code will open the Mail application with a new email ready to be sent with the given email address, subject, and email body.

  • Emulating the iPhone in an iPhone Web App

    I’ve been working with iUI, a CSS- and JavaScript-based framework for building websites that appear just like iPhone applications on the iPhone. You can use the same TableViews, TabBars, swiping actions, and even landscape/portrait mode. With this framework, it is possible to create a web application that looks very similar to an iPhone app that uses the iPhone’s built-in controls and features.

  • IIS Windows Authentication Problem on the Domain

    I was involved in setting up an IIS web site that uses Windows Authentication for users on the domain. When testing it out before full deployment, it was discovered that Firefox would send Windows credentials to the server as expected, but Internet Explorer just kept asking the user to enter username and password.

  • SQLite and the iPhone

    I’m pretty new to iPhone development, so when I ran into a problem with implementing an iPhone app with a SQLite database, I naturally went to Google for answers. Alas, Google did not have the answer for me! If anyone else runs into this problem, hopefully I can help them solve it.

  • Adobe Flex and Browser Maximize/Restore

    So after much research and trial and error, it seems that Adobe Flex does not support detection of browser maximize and minimize actions! This is frustrating because the Flex app I’m working on now has some panels in it that resize automatically when resizing the window, but they do NOT resize when the browser is maximized or restored. It seems that the resize event isn’t fired for these objects on browser maximize and restore.

  • Combining Windows Authentication with Forms Authentication in ASP.NET

    The problem I am working on now involves combining Windows Authentication with Forms Authentication in IIS. This took a good deal of trial and error, so I’ll post my solution here.

  • Microsoft Certifications and

    Microsoft Certifications are a great way to certify your expertise. I, myself, am a Microsoft Certified Technology Specialist in .NET Framework Application Development.

  • Adventures in Software

    I began my programming career in JavaScript, which quickly transformed into a love for Java back in its 1.1 days. My education consisted of C++ and Java, but I always wanted to know what else was out there. I taught myself C and little bit of Assembler. I learned Scheme and Prolog. I used Notepad as my main code editor.

subscribe via RSS