Wes Anderson Color Palettes
I’ve been thinking of creating a custom Keynote theme to use for all of the talks I do. This will be very helpful for that.
I’ve been thinking of creating a custom Keynote theme to use for all of the talks I do. This will be very helpful for that.
I like the Cocoa responder chain — I like being able to specify nil as target and have the action message follow the responder chain until it’s handled (or not).
But this doesn’t work with UIGestureRecognizer. The documentation states that “nil is not a valid value” for the target in addTarget:action:.
Neat — I learned something.
Nice update to an app I use all the time. The multi-line fill-ins feature in particular is something I’ve really wanted. You can buy or upgrade via Smile’s website. If you previously bought it on the Mac App Store, all you need to do is download the demo and launch it, and you’ll be offered the upgrade price from within the app.
My friend Matt just released a new shareable list app with one of my favorite names ever: BeeList. If you've been looking for an app like this, it looks like a good choice, and is available for the unbelievably low price of $1.99.
An Exploration of Portland Oregon Food and Drink:
I was floored by these results. The relatively new Ristretto Roasters came out of nowhere to take first place, edging out Stumptown Coffee.
A bunch of my favorites made the list (I've tried all of these), but I'm shocked to not see Heart Coffee Roasters on this list. The Red E Cafe has also started selling their own beans recently, and I wouldn't be surprised to see them on the list in the future.
Whether or not you got a ticket this year — or are just going — WWDC is five days of being insanely busy and struggling to keep your electronics charged. I’ve created a quick checklist of things that I’ve picked up or wish I had for previous events. You don’t want to get to San Francisco and realize you forgot to bring something you really need, and you really don’t want to try and buy anything once you’re there.
Don’t plan on picking any of these up while you’re there. There’s going to be a rush on the local Apple Store and you won’t be able to find it.
Mophie Juicepack (or similar)
It seems like a full iPhone battery is enough for about two thirds of a day at WWDC. These generally claim to double your battery life (or better), so that should be just right. The worst thing is having to abandon your friends to go find a plug, or trying to charge off of your laptop the entire day. You will not regret this purchase.
Apple USB Ethernet Adapter for MacBook Air
If you have a MacBook Air you’re going to want one of these in order to plug in and download whatever Apple has for you.
iPad and iPhone Wall Chargers
Don’t plan on charging anything off of a laptop at night. You’ll forget one time and it will be a nightmare. Bring a wall charger for each separate device you bring.
Extra Dock Connector Cables
Bring at least one more than the number of devices you have that use it.
Travel Toothbrush and Toothpaste
I usually count on the hotel I’m staying at to provide these. Last year they didn’t and it was a total pain in the ass.
Lightweight Jacket
It gets cold in San Francisco at night, not frigid, but cold enough to need something. Don’t get stuck wearing your WWDC jacket the entire time.
Backpack Travel Bag
I recently upgraded my travel bag to an Archival Clothing Rucksack and it’s a great improvement over the roller bag I’d been using before. I can fit everything, it’s not a pain if I need to carry it around part of a day and I won’t be asked to check it at the gate if the plane is full.
Extra Clothes
Bring two more than you think you need of the following: socks, underwear, shirts and pants.
Data Plan for Your iPad (if 3G or LTE)
If you can offload some of the mapping and messaging you’ll be doing during the day to your iPad you’ll have a much better chance of your iPhone battery making it through the day. I did this at Macworld and it was a great decision; completely worth the twenty or thirty dollars.
I switched from TestFlight to HockeyApp recently and couldn't be happier. It's not that I was ever unhappy with TestFlight — each is probably better in different ways, and you should use TestFlight if you prefer it — but for me HockeyApp just fits better. I thought I'd take some time and explain why I like it so much.
This is the feature that made me want to check out HockeyApp in the first place: they make me pay them. I have no confusion what my relationship with the company is. Because of this I feel they'll stick around, are more likely to always treat me like a valued customer and I that can expect to not be surprised by radical changes as a result of developing new business models.
Once I started my trial, it became clear that crash reporting is the standout feature of HockeyApp. The library they've created is called QuincyKit, and the server component can either be self hosted, or with HockeyApp (you get a couple of extra features this way).
All you have to do is enter the details for this version of your app and the dsym file to get fully symbolicated crash reports. You can also upload the xcarchive file Xcode generates when you archive using their uploader app for Mac, and it's everything's handled automatically.
It's already helped track down some crash-bugs that I never would have found otherwise, and I've heard the same from other developers.
On top of just showing crash reports, they can be also be easily integrated with just about every bug tracker I've ever heard of. I use GitHub Issues, and have HockeyApp set to automatically generate a new ticket whenever a crash report comes in.
I don't currently include analytics in the release versions of my apps, mostly because I don't want to have other peoples code in my apps any more than necessary1. But during testing I'd like to see things like who's downloaded the app, how long it's been ran for and what devices it's been ran on. The HockeyKit library gives me all of that as well as over the air updates for testers.
I don't have any issue with apps that use analytics, but tracking users (non-identifiably) wasn't helping me sell more copies, wasn't helping me improve my apps and gave me another way to distract myself. ↩
There's one document I spend an unreasonable amount of time referring back to when coding that I think is worth others looking at too — Apple's “Coding Guidelines For Cocoa.” It's important to have a consistent style — especially when working with others — and Apple has made explicit a few that are used pretty inconsistently in the real world.
For example, from the “Naming Methods” section:
Don’t use “and” to link keywords that are attributes of the receiver.
So, for example:
- (void)doSomething:(id)foo andSomething:(id)bar
Is only correct when the second argument is an optional parameter for the method, not when it's an attribute of something.
There's a lot of other goodies, like what the very few acronyms it's OK to use in your code are are. Read it and refer back to it, and I promise the people you work with will thank you.
My friends at Sepia Labs have just released the version 2 of Glassboard, their app for sharing privately and securely with people you know on iOS, Android and now the web. Also it's gorgeous. The app is free, so you should check it out. Brent has a lot more to say about it.
This Is What Developing For Android Looks Like | TechCrunch:
Siu is nonplussed though. He’s told me in the past that thorough QA testing makes Animoca’s apps retain users better because so many other Android developers do a bad job at it. Unlike iOS users who throw up their hands in frustration, write bad reviews and just leave, Android users tend to be delighted when they find apps that work even if they have a glitch or two.
So Android users are more tolerant than iOS users of crappy apps because more apps are crappy? Sounds great.
The past couple of weeks I've been considering the possibility of buying a new desk. The problem I've had is that while there's some that I love the look of, they all come about 29" high, which is really not ideal for typing. The ideal position when is to have your elbows at at least a 90° angle and your feet flat on the ground. Maybe someone a few inches taller (I'm 5'8) wouldn't have this problem, but for me I either have to get a chair which puts me so high off the ground my feet dangle, put my keyboard on a tray or get a shorter desk. Up until now I've been using a laptop table under the desk as a keyboard stand, but it gets in the way of my feet and I'm sick of it. Since I can't find a desk that I'm in love with which also is at the right height, I'm building my own.
The idea — which I found on a blog — is to use hairpin legs with any piece of wood you like. I ordered the legs in the 24" height, which when paired with a 1" top will lower my desk height by around 4". It doesn't sound too hard to do, and the result will hopefully be a gorgeous looking desk at exactly the right height for about $150. If my monitor sits too low I can always build a little table top stand for it the same way using 2" legs or so.
Mark Dalyrymple on the Big Nerd Ranch Blog:
These synthesizes tell the compiler that each property should be backed by an instance variable whose name is prefixed by an underscore. The compiler names the backing instance variable after the property if you don’t provide an alternative.
OK, so why do programmers do this? Seems like it’s just extra busywork. I see two main reasons: one involves style, and one involves safety.
I'm amazed at the number of bugs I see in people's code that's due to not using properties consistently. Please do this.
I sort of disagree with this part though:
Some people use a trailing underscore (that’s Google’s style), and folks also prefix or suffix with “m” for “member”. It’s all fine. One nice thing about the leading underscore is that it automatically participates in Key-Value Coding.
Just use an underscore — Apple says to.
MarsEdit is the final destination for almost everything I post here, and version 3.5 is a really nice update. The improved full screen mode is something I've wanted since Lion came out.
If there's one thing I've spent way too much time thinking about, it's the way I format code (bracing and spacing). I know eventually I could get used to any reasonable style, so the time I spend reformatting Xcode's generated code is useless busy work. All I really want is Apple to tell me “this is the way we want you to do it.” While Apple's example projects don't really have a consistent style, the code that Xcode generates for file templates and autocompletion does — the one true brace style.
So my style has evolved from something like this when I started working for myself last September:
- (void) myMethod: (id) sender
{
for( int i; i < 10; 1++ )
{
printf( @"%d", i );
}
}
To something more like Allman style:
- (void)myMethod:(id)sender
{
for (int i; i < 10; i++)
{
printf(@"%d", i);
}
}
And finally to K&R / 1TBS
- (void)myMethod:(id)sender
{
for (int i; i < 10; i++) {
printf(@"%d", i);
}
}
So braces for method and function definitions go on the next line, everything else goes on on the same line. Are there practical reasons this style is better or worse than others? I'm sure. The style I was using before going independent spaces everything out a lot, so whatever reason to like it or not, there's a lot of reformatting that's going to occur, so moving to the second style was mostly to avoid that.
Always putting braces on the next line didn't always work well either though, particularly with blocks. I just couldn't find a way to make blocks look passably decent or work with Xcode's auto-indenting while putting their opening brace on the next line.
Xcode's autoindenting turns what would be this:
dispatch_async(dispatch_get_main_queue(), ^{
// do something here
});
Into this:
dispatch_async(dispatch_get_main_queue(),
^{
// do something here
});
But the biggest reason for making this switch is that's the closest thing to a supported-style Xcode has — all of the file templates lay method definitions out this way, and so does autocomplete. I'm not working against my tools anymore, I don't need to waste time reformatting, and that becomes time I can spend getting real work done.
I live in Portland Oregon, a place that’s often referred to as the Cycling Mecca of the United States. Indeed, it is relatively easy to get around by bike here compared to other cities I’ve lived in, but even here there seems to be a feeling by some that good enough is good enough, and it’s not. The fact that we have gotten as far as we have in Portland has more to do with the demand of the people who live here than anything else. You only need to compare pictures of bike roads in Amsterdam and compare it to a street heavily trafficked by bikes in Portland to see that. In one bikes are treated as equal and separated from cars, in the other we’re expected to take back streets, usually ride in traffic, and in all cases end up very close to cars. In the best cycling city in America, cyclists are second class citizens. Where does that put everywhere else in the country?
I do not believe there is anything inherently different about cities in the United States that mean we can’t do as good as countries in Europe — I think we lack political will. Prioritizing more motor vehicle infrastructure over cycling (and public transit) is short term thinking: we are running out of fossil fuels, we do have an obesity epidemic and we are destroying the environment. If you prioritize building infrastructure to encourage active transportation in the United States — and de-prioritize single occupant motor vehicle traffic — it helps all these things. There’s no reason to believe Americans inherently hate biking or walking — I think it’s just that only the very motivated one’s will to do it if it means riding next to cars in traffic.
What got me thinking about this was an article on the Bike Portland website about a woman who was hit by a car on her bike and could have easily died:
Indeed, I was lucky. Others, like Hank Bersani, have not been. And what is our government doing to prevent these tragedies? What has been done to protect our health and safety? A sharrow here or there, bike lanes that end randomly and traverse road debris and metal sewer grates, a few bike lights and yield signs… nothing of substance. Nothing that actually treats people, not vehicles, as a vested interest.
All of what she said is true. In the best bike city in the country we don’t have bike lanes on most major streets, and where they do exist they’re rarely — if ever — physically separated from motor vehicle traffic. How is that supposed to encourage anyone but the bravest and most confident cycles to get on a bike as a main form of transportation?
The author goes on quote a study which laid out the relative economic cost to society — through lowering costs of health care, infrastructure and road maintenance — of motor vehicle traffic vs bicycle traffic.
Bike infrastructure costs less to build and less to maintain than car infrastructure. There is a reduction in healthcare costs associated with regular cycling, and a recently reported study showed an equivalent $0.42 economic gain for every mile biked compared to a $0.20 economic loss for every mile driven. Supporting and encouraging citizens to bike is an investment that pays off, all while leaving extra funds for education and other basic services.
Who wouldn’t want to fight obesity (the Surgeon General estimates 300,000 people who die each year may be attributable to obesity), help the environment and save money that can be used elsewhere?
The article ends by calling out who’ve called building bike infrastructure frivolous, by bringing up the death of a local cyclist:
And even in these tight times, the funding is there. We just choose to do nothing. We choose to treat the loss of Hank Bersani, the devastation of his family and friends, and preventing the torment of the next family who will receive a similar solemn phone call as a “waste” of taxpayer resources.
The idea that doing things which can save lives, and also pays off economically, would be called frivolous or a waste by anyone is hard for me to get my head around.
I’m not a hippie, I’m not an environmental activist and I know that motor vehicles cannot be entirely replaced by biking and public transit. I’m a realist, and the more I think about this the more I see treating alternative forms as equal — and preferable when possible — is the kind of investment we’d all like to make, and that as a society we should make: low risk and high payout. We can do better.
Sam Adams is the person who isn’t running for mayor again due to having a consensual relationship with an adult. He was nice enough to once let me hang out with him and his colleagues without knowing me when I first moved here, and has responded to me directly on Twitter before to answer questions about the city.
Watching this ad from 2008, I can’t help but feel he still represents what Portland is about, and that we’re better for having him. Sad to see him go so soon.
Colin's idea was to keep the shorter side of the iPhones screen the same, i.e. 640 pixels at 1.94 inches. With that in mind how much would the longer side need to increase so the that diagonal measurement was 4 inches. The answer, derived using simple algebraic rearrangement of Pythagorus's theorem, 1152 pixels and 3.49 inches. That leaves the the diagonal length measuring a little over 3.99 inches, I'm sure Apple PR could round this 4.
An iPhone proportioned this way would be weirdly tall — and Apple is not known for making things that are badly proportioned. This Colin person pulled this out of his ass, and I don’t know why The Verge would bother publishing an article about it.
Simpsons creator explains Springfield reference:
Simpsons creator Matt Groening revealed to Smithsonian magazine which Springfield the Simpsons’ Springfield is named after.
(Via The Loop)
It was Springfield Oregon all along. Suck it every other state. Another interesting fact is that pretty much everything you know from The Simpsons is named after something in Portland — Matt Groening grew up here with his father Homer, mother Margaret, and sisters Lisa and Maggie.
Read a great article last night by someone named Tim Stringer on how he uses OmniFocus (via MacSparky). One of the things he mentions in the article are these great icons by Dry Icons, which are are free (for personal use) and work perfectly as custom perspective icons in OmniFocus.
A bit behind the curve on this, but just bought a copy of QuickCursor, and I don't know why I waited so long. What it does is let you set up global key commands for your favorite text editors on your Mac, send whatever's in the current text field to them, and then when you close the document window the original text is replaced with your edited version. It's awesome if you want to avoid having to type into a text box on a web page, or find yourself switching between text editors frequently.
Something that comes up pretty often for me is copying a file to my Dropbox public folder and then sharing the URL with someone. To make my life a little easier, I created an AppleScript to copy the selected Finder items to the public folder and then add the shared URL's to the clipboard.
I created a GitHub gist for it. Should work well with any script launcher.
Mike Daisey has a new column in the Portland Mercury:
For me, the pyramids door Egypt symbolize one of mankind's most spectacular achievements. But at the same time, it's hard to reconcile the notion that these gorgeous monuments to the human spirit were built... using slave labor.
I love this town.
Just went on an extended ride through the east side of Portland in the rain, on the bike I received yesterday. The combination of weather, and my old bike being slightly out of commission for a few weeks means I haven't ridden as many places I was before. Winter can sort of make you forget how great going outside and doing something — even a little — physical makes you feel. Your body feels better, and your brain works better.
Anyone serious about development should be serious about how they treat their body. Both with what they eat, and what they do.
Jeff Atwood on the new iPad and it’s display
iPad 3 reviews that complain “all they did was improve the display” are clueless bordering on stupidity. Tablets are pretty much by definition all display; nothing is more fundamental to the tablet experience than the quality of the display.
Jeff’s thoughts on why Apple — and not Microsoft — is leading the post-PC revolution are another highlight.
One of my favorite times in Portland is the several months out of the year when the PSU Farmers Market is open. During this time I spend a couple hours every Saturday morning getting local vegetables, wine and baked things. Spencer went the opening weekend this year and has a post with some nice photographs of it.