Category Archives: Programming

A New Development Tool: Kaleidoscope

Black Pixel has been getting a lot of airtime recently, especially after one of Apple’s Developer Relations people decided to head over and join them.

Kaleidoscope App

Well, I have picked up one of their apps this past week, Kaleidoscope, to help me when working with merges. It is billed as a file comparison app for the Mac, but it can also take a look at changes in whole folders, help you view the visual changes in an image, and look at text files. It integrates with Git and many 3rd party apps and I have liked it so far.

It is available on the Mac App Store (you’ll find the link on their site), but you will have to pay for it. Otherwise, if you want to try, you can find a 15-day trial on their site as well. Why not give it a shot?

TextMate Updates File Browser

I still use TextMate 2 as my editor-of-choice.

Recently the pace of the updates has increased and some semi-major changes are being released into the open.

Build r9345 has this in the release notes:

File browser has a new navigation bar. This is work in progress. You can find most actions of the old bar in the Go menu (where you can also see the key equivalents). Presently missing is “Show Hidden Items”, a toolbar below the file browser will soon appear.

And it’s true!

TM2 File Browser

It is nice to see some of the visual refreshes coming into the editor. I’m waiting to see what they decide to do with the toolbar at the bottom and whatever else they might have in store. TextMate 2 has been the beneficiary of opening up its source to the world on GitHub.

Fear of Imperfection

When I get stuck, I tend to try and think my way out.

As my wife of almost six years would tell you, that’s probably not the best thing for me to do. However, it is a habit I cannot seem to break.

In my current rut of which I am stuck in I’ve been doing some reflection on why I’m in this rut. It is not a fun rut. I really don’t like being here and I know that things are better when I am out of this said rut but … here I sit. Stuck. In a rut.

Here’s the thing, I’m afraid.

I’m not afraid of failing, per say, or of the unknown (because who really knows what is going to happen even when we do think we have a decent idea of where things are going). No, I’m afraid of doing some imperfect.

Mainly this revolves around programming. What is stuck in my head is that I can’t do anything unless the entire project, from start to finish and every step in between, is going to be perfect. Every step clear. Every decision the correct one. Every line of code exactly where it should be and typed the correct way the first time. Having to clean up later or remove code that really didn’t need to be there is not acceptable. In my head, it shouldn’t be that way. Not that this should be easy, but that I should be able to, somehow, do it perfectly even if it is hard.

I’m not wholly sure where this has come from or how long it has been here, but that is what has been surfaced during my current reflection. It is amazing what a person can find out about themselves even after 26 years.

So what to do? Really, it is to get the fingers moving and the code going again. It is to force through even if things aren’t going perfectly. Embrace the ugly, as it may be in a way. Focus on small wins.

All stuff I know.

It also means putting down the books and tutorials, at least in the obsessive, “this will surely teach me the perfect way” style that I have been reading books recently. What good is the knowledge if not harnessed for something bigger, for moving ahead? It isn’t worth anything except to help me sound smarter when sitting around the table.

What good is that last part anyway? Meaningless.

So I move ahead, with fits and starts, with ideas. With failure behind and ahead and move forward, hoping to find something and knowing that going anywhere is infinitely better than standing still.

The Benefits of Wide

Tonight I was working through more of the Big Nerd Ranch iOS Programming guide and my 13″ screen finally came to bite me in the butt.

I was opening up a header file alongside the interface file and … poof … I really couldn’t work in either. I just ran out of room (as far as width is concerned). 1280 pixels wide is just not quite enough to get both of the files open so that I can connect the disparate pieces together.

That’s the benefits of wide screens. I’m not sure if 1440 pixels would be enough to make up the difference, but I’m looking again at trying to work in my 23″ monitor here at home. Sadly, that means I need to find a working adapter since the cable I purchase last year is quite flaky and annoying.

This is making me reconsider some of my plans for my next computer purchase. While a new 13″ MacBook Pro with Retina display would be great, I’m not sure if it would have enough logical space for me to work with Xcode. It looks like that Mac mini with a traditional display (or two) might be the best interim option until Apple releases desktops which are Retina ready or the logical pixels densities on the portables grow a little more.

Self Inflicted Stupidity

I was working on some iOS programming today and was hitting my head against what was seemingly an immovable problem.

I could not get one of my statements to resolves to true. No matter what I would do, it would always resolve to false and mess everything up.

I stared at the problem for probably a half-hour before it finally hit me.

Arrays are zero-indexed.

Yup, of course it to going to resolve to false when it will NEVER be equal. Never. Ever. Period. No amount of hoping will change it. In programming, n will never  be equal to n + 1. it just won’t happen.

So … sometimes you need to take a step back and just think things through a little bit. Even the most basic of computing tenets sometimes escape your brain and need to be unearthed again.

Wow.