I’m a big fan of Brett Terptra’s app Marked for showing Markdown previews while writing in another app. Since I’ve been using BBEdit more for writing Markdown, I’ve wanted a way to preview the current document without leaving the app, so I took a few minutes to write an AppleScript which does that. If you haven’t previously saved the document, you’ll be prompted to. Once the document’s on disk it’ll open up in Marked.
A new app I created called Closeby is now available on the App Store. It uses your address book to tell you how far you are from people you’ve saved addresses for. Closeby is great if you’re visiting a town you don’t live in, are stumbling home from a bar and need the closest couch to crash on (I take no responsibility for the damage this does to your personal relationships), or just want to see all your friends addresses on a map.
I’m trying to eliminate ever using log messages in my code for debugging. I’m sure a a lot of people already know this, but if you ever need to log an NSData you know contains a string in the debugger the command is:
po (char *)[data bytes]
Incase anyone else was wondering Instruments, FileMerge and the rest went in Xcode 4.3:
Across all the various OEMs that make Android tablets, 12 million have been sold in total. Ever. For context, Apple sold 15 million iPads last quarter.
I’ll admit I have some regret leaving the Mac App Store. It’s just so convenient for purchasing and installation. If I’m going to make this work, I’ll have to redesign my own rather clunky purchase and activation experience. And I’ll have to do a much better job of marketing, something that has not been easy with Clipstart.
I don’t envy anyone who’s facing this problem. I feel like Apple needs to rethink what they’re trying to do with Sandboxing; giving developers more time is not the answer. The problem is that to many useful apps just aren’t going to work with sandboxing, and others are going to need to compromise their users experience in order to accommodate it. I think of Apple has a company who puts the experience of their users first. Forcing apps to fit into a mold this restrictive is forcing them to implement work arounds for things that were never a design problem to begin with, or be left out of the biggest venue to get their app in front of the majority of users.
Since Git doesn’t create numeric build numbers, I haven’t known exactly what to do with my app’s bundle version (
CFBundleVersion) since switching to it. According to Apple
CFBundleVersion needs to be “a monotonically increased string, comprised of one or more period-separated integers.” My previous (bad) solution was to sort of ignore this and just update when I release a new version. Now that I’ve started using Hockey for beta relases, it requires a unique number for every build, so I need to start paying more attention to it. It’s for the best since it’s better to give this number some significance.
I didn’t want to have to update this manually every time I send a beta build, so I started looking for an Xcode build script that could generate something like this for my ad hoc and App Store builds. Since I didn’t really like any of the code I saw, I decided to write my own using Python, and while I was at it set it to also commit and tag the build in Git.
You can add this as a “Run Script” build phase in Xcode (make sure you set the shell to
/usr/bin/python). The only line you should need to update is
configurations_list = ['Beta', 'App Store'] to be the names of the configurations you want this to run under. You’ll also need to set your CFBundleVersion to a start point that’s a whole number (0 for example). If you want this to work with a different SCM, just update the
os.system lines to run the right commands for your system (or take them out all together if you don’t want that feature at all). For a configuration called App Store, I have the commit message set to be “Automated Commit For Build 25. Configuration: App Store.”, and the tag to be “AppStore_25”. You can change that if you like.
Of course, I take no responsibility if anything bad happens to your project, but it seems to be working great for mine.
Update: There’s a bug where this will cause simulator builds to fail if you don’t set your “Mac OS X Deployment Target” to 10.7 in your build settings.
It was worth the investment. I don’t mean just monetarily. I invested many hours into BBEdit and I’m sure there are many more to come. But it was worth it. I have an environment that I feel productive in.
It’s been my default editor for a couple of months now, and I thought this was a really good in-depth post about the pros and cons of BBEdit.