Archive for September 3, 2014

Wednesday, September 3, 2014

iOS Console 0.9

LemonJar:

iOS Console allows you to view iOS console logs directly from your Mac, and now with built in textual filtering, finding a specific log message has never been easier!

Path Finder 7

Path Finder 7 has an updated interface and some interesting new features such folder comparison.

Update (2014-09-15): Gabe Weatherhead:

If you’re struggling with using the Finder because it feels too limited then the full purchase price of $40 is probably worth it, just like it was with Path Finder 6. I don’t think PF7 is a particularly impressive update but the overall application is terrific.

Writing a CSV Parser

Thomas Burette:

If a supplied CSV is arbitrary, the only real way to make sure the data is correct is for an user to check it and eventually specify the delimiter, quoting rule,... Barring that you may end up with a error or worse silently corrupted data.

Writing CSV code that works with files out there in the real world is a difficult task. The rabbit hole goes deep. Ruby CSV library is 2321 lines.

On the surface, it seems like almost a one-liner.

Craig’s Terminal Tips

Craig Hockenberry:

As much as I love them, these long “trick lists” on Stack Overflow have a problem: they’re poorly organized with little narrative describing why you’d want to use a technique. This long homage to the command line is my attempt to remedy that situation.

A great tip that I tend to forget is that you can type Control-X, Control-E to edit the current command using your EDITOR.

Swift Memory Dumping

Mike Ash:

This is far from normal or sane Swift code, but it works and the results are really useful. It’s also a great example of how Swift lets you interact with all sorts of low-level C calls without much more of a fuss than it takes to call them from C. Although you should probably avoid these shenanigans when you can, the fact that you can do stuff like unsafeBitCast and get pointers to the internal storage of arrays is really handy when you need it.

Common App Rejections

Apple:

Before you develop your app, it’s important to become familiar with the technical, content, and design criteria that we use to review all apps. We’ve highlighted some of the most common issues that cause apps to get rejected to help you better prepare your apps before submitting them for review.

Most interesting to me is that 6% of the rejections are apparently because Apple doesn’t like the user interface.

Update (2014-09-04): David Smith discusses the changes to the App Review Guidelines.

The Humble Map

Rob Napier:

And again we replace our cut-and-paste for-loop with a reusable function that captures the goal. We save some code, but it’s more than that. We can compose filters and maps to create more interesting things in highly readable ways.

[…]

The goal of using map and filter this way is to make your code easier to read, understand, and debug. It gets the boilerplate out of the way and leaves you with the key parts of what you’re trying to do.

This is so much nicer in Swift than Objective-C because of the concise syntax.

Facebook Pages vs. Groups

John Gordon:

For most organizations Groups are much better than Pages. This was not always so, a couple of years ago Facebook seemed to be deprecating Groups. Unfortunately, you can’t convert a Group to Page or vice-versa.