The Great HoneyJar Refactoring is a series of posts in which I take the first iOS app I ever wrote, HoneyJar, and refactor it out of its original burning-dumpster-fire state and into a modern app. And I'm doing it in public. Earlier this week, I tweeted about my adventures in trying to add a test suite to HoneyJar.
The idea is this: I want to be sure that I’m not breaking anything in the app, as it exists right now, when I start refactoring.
The Great HoneyJar Refactoring is a series of posts in which I take the first iOS app I ever wrote, HoneyJar, and refactor it out of its original burning-dumpster-fire state and into a modern app. And I'm doing it in public. Last week I introduced an idea I had: to open-source my first-ever iOS app, embarrassing as it might be, and refactor it out in the open.
Over the last week, I handled the open-sourcing of the app.
Thinking about a series of posts where I take HoneyJar, the first iOS app I wrote, and refactor it out of its burning-dumpster-fire state.
— Angelo Stavrow (@AngeloStavrow) May 16, 2016
Over the next few weeks, I’ve decided to write a series of posts about taking my first iOS app, HoneyJar, and refactoring it from its current (terrible) state into something, well, less-terrible.
And I plan on doing it in public, too.
I mentioned that keeping comments up-to-date with modifications in source code helps me with task-switching in a busy workplace.
Of course, that doesn’t make a difference if you’re not commenting your code well.
Therein lies the rub. I spent weeks on learning various sorting algorithms in my data structures and algorithms class, but I never really learned anything on the whys and wherefores of commenting.
I’ve been taught that
// This is an inline comment.
I’ve discussed the transition over to a static-site generator before.
Yes, I’m still planning on doing this.
Yes, it’s been a long time coming.
So I’m setting a deadline for myself: the next post on this blog will be with the new setup. It probably won’t have all the pieces in place re: design and other related-site plans, but I’ve got to start somewhere.
As the sole developer at work, I have to balance our “ask me anything, anytime” culture with a need for unbroken concentration on whatever code I’m writing.
I’m generally fine with a door-always-open policy like this, because it makes communication fast and easy—especially in a small team, where everyone wears several hats—but as projects get closer to a deadline, it does tend to put a bit of strain on my ability to get things done.
This is the 17th post made to this blog since the beginning of 2016.
That means that I’ve posted something every Friday since the start of the year.
Yesterday, I suggested that I might not be posting anything today. I’ve been feeling a bit tired lately as deadlines loom for work projects, so personal side-projects tend to slip a bit.
But, dammit, the idea of not breaking a streak—especially four months in—really does work as a motivator to keep things going.
A short post today, based on a realization I had earlier this week at CocoaHeads.
Like many, I often suffer from impostor syndrome. It hits when I’m tackling something new that I thought built on previous knowledge, leaving me feeling a bit bewildered, and undermining my confidence in having mastered lesser matters.
Usually, I take a walk and come back to the problem with a clearer head, and will work my way through it.
On Tuesday of this week, Smile Software announced that their TextExpander software would be switching to a subscription model. As a longtime user and big fan of TextExpander, I have some thoughts on this change.
Another bit of software that I’m a huge fan of, YNAB, made a similar switch at the end of 2015—no more desktop apps sold with traditional licenses, but rather a new web app with a yearly subscription.
When I hear ship it, or we’ll fix it in post”, I get that the intended sentiment is that perfect is the enemy of done. But too often, this translates to I’m okay with shipping garbage.
There’s a delicate balance to be struck between doing it quickly vs. doing it well, sure, but if you’re having a hard time getting there, then maybe you’ve bitten off more than you can chew.
Tinkerer with a strong interest for development, of both the personal and software persuasion; easily defeated with spatulas. Equal measures enthusiasm and concern for tech's effect on the world. He/him.