Tag Archives: development

App update notes

App update notes

Ben Brooks on The Brooks Review:

Stop wasting my time, stop wasting everyone’s time. If you want to write something cutesy, put it on your blog. Release notes should be clear, concise, well structured, and helpful.

Once upon a time, I thought it was great when creative/hilarious release notes appeared in my App Store updates tab. Now, I’m with Ben. Make them useful.

Developing for painfully slow Internet

Developing for painfully slow Internet

I’ve meaning to link to this piece for a while, but in my new role as a web developer, it takes on additional significance. Even for developers who aren’t targeting “third-world” users, the reality is that sometimes Internet links are slow, and building websites and web-based products that function admirably when bandwidth is severely limited should be one of our priorities. Click through for some good ideas on how to do this.

Should Microsoft iterate?

Should Microsoft iterate?

It’s pretty much a given that major Microsoft product releases follow the release-first fix-later model these days (e.g. Vista → Windows 7, Windows 8 → Windows 8.1).

Should they adopt Apple’s “don’t-even-announce-it-until-it’s-RTM” approach, or would Google’s “launch-it-in-beta-and-fix-it-on-the-fly” be a better fit?

Click through for Owen Williams’ take on what Microsoft’s current approach is costing them, and what their options are. (via Svbtle)

My Sublime Text 2 setup

I’ve posted before about my ever-deepening love for this excellent text-editor-come-IDE, but I haven’t shared the specifics of my Sublime Text 2 configuration, so for the geeks out there, here’s the gazillionth post on this topic.

1. Install Sublime Text 2

Do what it says on the box. Nothing should go wrong. If it does, quit coding on Linux and use one of the other two supported platforms.

(That was a joke. I haven’t tested the Linux version, that’s all.)

2. Install Sublime Package Control

There’s a package for pretty much anything you might want to do with Sublime Text 2, but managing them manually can be a bit of a pain. Sublime Package Control looks after installing them for you, and automagically updates them – silently – in the background. (Unless you’re a control freak and tell it not to.)

The Sublime console method has worked flawlessly for me.

3. Install the Soda theme and syntax highlighting

Sublime Text 2 is pretty, but the Soda theme makes it prettier.

From the Tools menu, select Command Palette and find Package Control: Install Package. (You’ll do this for each upcoming package installation.)

Select Theme – Soda.

Almost done. Now, for pretty syntax highlighting, follow these instructions.

No pretty UI yet? Don’t worry, we’ll make that happen in the next step.

4. Update Sublime Text 2 preferences

Go to Preferences > Settings – User from the main Sublime Text 2 menu, and your user preferences file will open. It’s JSON-formatted and almost empty, which is confusing at first, but makes sense once you dig in. All of the options available to you are explained in Preferences > Settings – Default.

Here’s how I have mine configured (note the “theme” and “color_scheme” entries):

{
    "auto_complete_commit_on_tab": false,
    "auto_match_enabled": false,
    "color_scheme": "Packages/User/Espresso Soda.tmTheme",
    "drag_text": false,
    "file_exclude_patterns":
    [
        "*.pyc",
        "*.pyo",
        "*.exe",
        "*.dll",
        "*.obj",
        "*.o",
        "*.a",
        "*.lib",
        "*.so",
        "*.dylib",
        "*.ncb",
        "*.sdf",
        "*.suo",
        "*.pdb",
        "*.idb",
        ".DS_Store",
        "*.class",
        "*.psd",
        "*.db",
        "*.bak"
    ],
    "find_selected_text": true,
    "folder_exclude_patterns":
    [
        ".svn",
        ".git",
        ".hg",
        "CVS"
    ],
    "font_face": "Source Code Pro",
    "font_size": 10,
    "highlight_line": true,
    "highlight_modified_tabs": true,
    "ignored_packages":
    [
        "Vintage"
    ],
    "show_full_path": true,
    "tab_size": 4,
    "theme": "Soda Light.sublime-theme",
    "translate_tabs_to_spaces": true,
    "trim_trailing_white_space_on_save": true
}

5. Install SublimeCodeIntel and sublimelint

Project-wide code completion, function tooltips and jump-to-declaration are provided by the SublimeCodeIntel package. Syntax error highlighting is provided by sublimelint. Install both using the method described above (be careful not to accidentally install similarly named packages). Both should work out of the box (on Mac OS X, anyway – on Windoze you might need to add interpreters to your PATH for sublimelint to work).

Update: I also install the VBScript package. Its code completion isn’t very smart, but then VBScript isn’t very smart either.

6. Configure “build” systems

I’ve already posted about how I use Sublime Text 2’s build system for PHP and JSON formatting.

7. Restart and get to work!

I’ve found that new themes don’t “take” fully until Sublime Text 2 is restarted. Your mileage may vary.

Custom code formatters in Sublime Text 2

I’m starting to fall in love with Sublime Text 2. It’s the text editor I’ve been looking for since I’ve been editing text.

It’s fast (instant startup, no lag ever). It’s truly cross-platform (looks, feels and runs identically on OS X and Windows). It works beautifully out-of-the-box, but there are plugins galore. It has split windows. It has code completion. It’s pretty.

I could go on.

Anyway, having written my own PHP and JSON beautifiers, I was looking for a quick-and-dirty way of integrating them into ST2 (i.e. without wrapping them up in a dedicated plugin – I’m not fluent with Python yet). Turns out ST2’s build system is almost perfect for this.

Go to Tools > Build System > New Build System, and drop something like this in the window that opens:

{
    "cmd": ["php", "/path/to/pretty.php", "$file"],
    "selector": "source.json"
}

Now, assuming there’s a PHP CLI binary on your path, you’re done! Press Cmd+B in a JSON file and it will be “built”, i.e. formatted.

There’s only one shortcoming I’m aware of: Sublime Text 2 doesn’t check for changes in the source file post-build. So you’ll need to use your favourite method to force a file reload.