Category Archives: Blog

On rules, boxes, and upcoming festivities

I’m spending the time right now to go through LinkedIn and add more people I know. Part of it is procrastination — from what, I’m not exactly sure — but the other part is to connect with a bunch of people I may even only kinda sorta know.

Recently I’ve been engaging in many exercises where I challenge the self-check of caring how I appear. Part of that is my mohawk experiment (photos currently on Facebook!) but it also involves simple things like sending a bunch of LinkedIn invites to people who may not remember me or don’t think it’s worth knowing me.

And that’s really not so bad, is it?

The goofy thing is that in order to even press the “Connect” button, I need to first evaluate whether I want to connect or not. Sometimes I worry so much about how I appear, I forget that I’m make the judgment call first.

Or maybe that’s it: I’m trying to make the judgment call first. I want control of my world. After all, that’s what wearing a mohawk up on the ‘L’ during the morning commute means: I live by my own rules. Even if those rules aren’t totally “real”, I still get a say in building that illusion.

It’s not an exact science, and I’m only starting to really internalize that. I grew up trying to put everything I knew into clean, distinct boxes. Now that I’ve spent a good portion of my life working as and under managers, dealing with insurance and cable companies, and working on teams ranging from super nerd to bug trainer, I’ve realized something important: life is organic.

Obviously that’s a true statement, but you know what I mean. It’s not a clear hierarchy or something you can map to a blueprint. In order to solve the really interesting, really challenging problems, you have to get creative, messy, and creatively messy.

I’m busybusybusy but there’s still some cool news to share. A new blogging platform called Ghost is being developed, something I’m excited to use and excited to develop for. In the past I really wanted to write a new blogging platform, something very similar to Ghost. Since they’ve already got the resources to go ahead and do it, I don’t feel the need to pursue that particular project anymore. :)

Schedule for the next few days is hectic. I’ll go ahead and give it to you like it’s an AIM profile and date myself in the process.

paramore / the great gatsby / american beer classic / mother’s day

Comments Off

Filed under Blog

Things I’ve learned while developing web applications

I spent most of today working on #143 — my aforementioned “secret coding project” — and I can’t help but compare today’s work to a video game I tried to put out at the end of January for #1GAM. Here’s how today is different from back then:

There is no impending deadline
For #1GAM I tried to do my game as part of a game jam that ended that weekend. When I was trying to write the first level, I had no idea what I was doing and avoided doing it by spending way too much time on the start screen. Today for #143 I spent a lot of time on the landing page too, but not to avoid work. I’m using it to nail down how I want to brand my app, because ultimately that will be the voice I use to drive the project to completion.

I’m working with familiar technologies
I started #143 using Node.js and Express — great tools and fun to learn about, but not my bread and butter. A couple nights ago I switched over to Ruby on Rails and things have been phenomenal. I’m focused way more on creating a minimum viable product so I can dog-food right away.

Doing what I want to do, not what I should do
#1GAM was about putting out a game a month, a plan I adopted because I thought it would be a good idea and start me in the right direction. Turns out it wasn’t a good idea even though it could be good for others. What I need to succeed in the game industry isn’t a bunch of small games I have no passion for. What I need is a tool that can help me develop my ideas, keep me honest in my execution, and assure me that I am tracking the big picture.

So there, I guess you have it. :) In writing this blog post I was able to come up with my product goals for #143. Once it’s shiny enough to share, I’ll be sure to do a write-up. Until then I’ll keep coding away!

Comments Off

Filed under Blog

Some things never change

“Did your clippers break?”

Some assholes in a car just yelled that at me as I was crossing the street. Reminds me of an incident not too long ago in Champaign when someone yelled at me,

“Sweet beard, faggot!”

I try not to care too much about how I look, but these kinds of things still get to me, even if I know they “shouldn’t”. None of my family or friends or co-workers take pot-shots at how I look. I hold the same level of respect for them as well.

Maybe I’m unhappy because I realize there are still a lot of assholes in the world. I think it also scares me a bit because I’m putting myself out there and, because I look different, a bunch of strangers are ruffling their feathers at me.

Then again, I think that’s why I put myself out there in the first place. If I can’t be okay with just looking like I’m different, how I can I be comfortable being different? I’m training myself to get used to the idea of others not always agreeing with what I do, and teaching myself that you can’t appease everyone, including the assholes.

Edit: I talked with my sister and she brought up a good point: these strangers are taking shots at my character and identity, whereas any teasing I incur from folks I know is about visual preference, not any slight against who I am.

I also realized I’m trying care less about what others think of me. I already spend a tremendous amount of energy worrying and I want to bring that down, even if it’s through these “brute force” methods.

Comments Off

Filed under Blog

Generating release notes

For all you non-software folks out there, release notes are the thing that describes what changed when you update software. You may have noticed them when you update apps on your iPhone, or if you play World of Warcraft you might know them as patch notes. Either way, it’s good to have them because it gives you a clear picture of what to expect when you next use that software.

The thing is, release notes can be hard to generate. Developing software isn’t linear; a developer could be working on a feature for months and it won’t make it into a release until it’s merged into master and pushed. So right off the bat, you can’t depend on the linearity of when tasks in your project management tool actually gets completed. You’d need to track their whereabouts (merged into master, staging, production, etc.) after completion.

So then you go over to source control and think you can generate release notes off of the commits that have happened between release. This… sort of works. It takes into account the non-linear nature of programming, but if you try to do it by hand (because you underestimated the problem) you find that it’s hard to follow which commits actually make it in, even if the commit is dated a month before the release it’ll go into. The other major problem is that commits are often too granular for release notes; what you really want are the features that spurred those code changes, which often come from your project management tools (ah yes, a circle).

After seeing these two things, your only other real approach is to have a good process of planning and updating when features are supposed to go into releases. If the planned release is wrong you’re supposed to bump it into a different release. If you’ve got multiple environments, it’s a good idea to generate release notes for each environment, even if it doesn’t seem like you’ll need the documentation (e.g. something internal). In reality you will need the documentation because it’s a good summary and it’ll help you when you’re summarizing multiple releases into release notes, most likely because you push production less frequently than you push your staging environment(s).

The “real” solution to all of this is having someone care about release notes, usually a product owner or a client. Having a product owner who’s internal is nicer because they’ll have a better idea of the kind of quality they’re looking for in release notes. In either case, if the matter is pressed enough then a process should emerge that makes generating release notes as painless as possible.

Comments Off

Filed under Blog

Status update

Got to set up Node and Express today on Heroku; using Heroku’s Node setup guide made it a breeze. Mostly I just needed to make small steps in the right direction. Once I understand what I’m doing in Express (and eventually Backbone) I’m sure the ball will start rolling.

I’d like to start blogging about my coding conquests — I think the only thing really holding me back right now is a good Markdown plugin. I can use WP-Markdown but I worry about how it’s storing content (even though it says it stores it as HTML, which is at least not bad). Heck, I don’t know how WordPress stores my text so I guess I’ll first start there. And if I need to make my own… I guess that requires learning PHP and a bunch of other stuff. For now I’ll just stick to Javascript and Node and see where that takes me.

C2E2 is on Sunday, so I’m pumped to go to that. That leaves Saturday to get lots of work done. :)

Comments Off

Filed under Blog