May 2012
12 posts
1 tag
Coda 2 Impressions
I played with the trial version of Coda 2 for a few hours this morning. It’s a very cool application. A great deal of craftsmanship and care went into making it. It’s an amazing piece of software to behold. I’d really like to be able to switch to it for my everyday coding work. But as good as Coda 2 is I don’t think it’ll work out.
Like the Coda 1, it’s very...
iOS 6 Feature Requests
As WWDC draws nears so does our first look at iOS 6. Here’s a few things I’d like to see.
A redesigned Music app for the iPad. The existing one feels clunky and shallow. Considering the depth of apps like GarageBand, iPhoto, and iMovie on the iPad I think they could do a much better version of the Music app.
Also, I really want iTunes Match to handle smart playlists. My entire...
iTunes Playlist as a Timer
Sometimes you want to work on a project but need to stop after to certain amount of time to do something else. You could set a timer on your iPhone. But that would be boring. If your activity is compatible with background music you can use an iTunes Smart Playlist as a timer. When the music’s over, you’ll know it’s time to quit. Here’s an example.
The keys are those...
How to Type the Apple Command Symbol
This character: ⌘. It’s used a lot on the Mac. It’d be nice to able put that symbol into a document. Here’s how.
Open the Keyboard preference panel. Make sure “Show Keyboard & Character Viewers in menu bar” is checked.
Select “Character Viewer” from the menu icon.
In the resulting window select the “gear” button at the top left....
Simple CoreText Example
Here’s a simple demonstration of how to use CoreText to draw text in an iOS application.
The application consists of a UIViewController and a UIView. The view controller creates an instance of the view and adds it as a subview. The view uses CoreText to draw a string of text in it’s drawRect method. The drawRect method is where all the interesting code is at.
The drawRect method is...
Google as the Internet's Address Bar
Geeks often wonder why people type perfectly good domain names into the Google search box. Isn’t that what the address bar is for? It turns out typing what you think is a perfectly good domain name into the address bar of your browser doesn’t always take you where you want to go. Case in point: Simplenote.
If you type “simplenote.com” into the address bar you’ll see...
The OS X Sleep File
I was browsing my filesystem with DaisyDisk this morning. While I love the speed of my SSD the 256 GB drive is rather tight and I find myself having to actively manage my storage more. Currently, I need to make sure I have enough room for Diablo III.
I noticed /private/var/vm/sleepimage is taking up 8 GB on my system. Judging by the name of the file I thought I had a pretty good idea...
And the whole world shall live on Pacific time!
Found this code in a project today.
Time.zone = ActiveSupport::TimeZone.all.find { |time_zone|
(time_zone.name == "Pacific Time (US & Canada)")
}
On Why I Am Not Buying RubyMotion →
This is a good article which clearly explains some of the disadvantages of using RubyMotion. Some of the arguments concerning support and documentation sound similar to my arguments for not Covering Up Browser Languages.
3 tags
Best Icon Ever :: ImageOptim
This may be the best icon I’ve ever seen for an application.
The application, ImageOptim, is very cool too. Drag an image file onto its window and it will optimize it to make the file size smaller. The result is automatically saved in place of the original file. If you want to keep the original unoptimized version you should make a copy first. Alternatively, there’s a preference...
156 NBSPs
I found this little gem in a template in my company’s application today. It was written in 2011 by someone with the title of Senior Software Engineer. Seriously. I’m not even kidding. This is real. It should come as no surprise this brain dead hack doesn’t work with Mobile Safari and that’s what I’m tasked with fixing. I opened the template in my editor and saw this!...
3 tags
iOS Simulator Location
If you ever wanted to know where on your Mac the iOS Simulator application is located it’s here.
/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator
Unless you’re working with Xcode 4.3.2 or later of course. Recent version of Xcode is now a regular application in the Applications folder and related utilities are bundled in with the app package. You...
April 2012
1 post
Microsoft Word is cumbersome, inefficient, and... →
minimalmac:
A Word file is the story-fax of the early 21st century: cumbersome, inefficient, and a relic of obsolete assumptions about technology. It’s time to give up on Word.
(via my new Ace Boo from NOLA, Derek)
March 2012
16 posts
Trailers as Music Videos
If the trailer for Wrath of the Titans were lengthened a bit and made the official music video for Marilyn Manson’s Sweet Dreams it would be awesome music video. However, as a movie, I have no interest in it.
3 tags
Lion’s Auto Save: If it ain’t broke, fix it →
This article does a great job of pointing out some of the problems with Lion’s autosave feature. I very much agree there’s no reason for autosave and the Save As menu item to be mutually exclusive. The Duplicate menu item just doesn’t cut it for me.
Another problem is how autosave is integrated with versions. I would very much like to just work in a document and not have to...
iOS: Adding a Nib-backed SubView to a View
As simple as it may seem it may not be immediately obvious how to add a subview to a view and have that subview be backed by a nib file. Naturally, I created a dead-simple demonstration of exactly how to add a sub view to a view in an iOS application where the sub view is connected to a nib file.
Note, you can use a UIView object as a sub view but not a UIViewController object. First, create a...
Setting HTTP Expires Headers in Apache
I don’t do Apache configuration very often so when I do it I like to document what I did for future reference. Today I was asked to set an Expires header on some content so browsers wouldn’t hold onto old copies for so long. First, you’re going to need to know how to view content headers in Safari 5.1 if you’re using Safari.
Enable the mod_expires module if it...
Viewing HTTP Headers in Safari 5.1
Apple changed where you go to view HTTP headers with Safari 5.1.
Go to Preferences -> Advanced and check ‘Show Develop menu in menu bar’ if it isn’t already.
Choose Develop | Show Web Inspector from the Safari menu.
Select the Network tab in the Web Inspector pane.
In the left column choose the resource you’re interested in.
In the right portion of the window...
2 tags
2 tags
Data Integrity
Databases have the ability to enforce data integrity rules for a reason. One application is not the only thing that can affect data in a database. If you depend solely on application logic to enforce data integrity you’re setting yourself up for problems later.
My Computer History - 1987 - Commodore 128
My first computer was a Commodore 128 which the whole family shared. It came with an external 5.25” floppy drive. The “128” refers to the 128KB of RAM it contained. Most of my friends had a Commodore 64 so we had a technically better machine. However, we ran it almost exclusively in 64 compatibility mode.
The vast majority of the software we ran were games my brother and I...
iMessage Color
Here’s an idea for Apple’s new Messages beta app. For any iMessage I receive, make the sender’s bubble color blue just like it is on iOS. For messages from traditional IM networks make the bubble a different color.
Apple already uses different colors in iOS to indicate how a message is being sent: MMS versus iMessage. This makes sense and I think it makes sense to extend the...
4 tags
Retina Displays, PPI and Bitmaps
Someone recently asked me that if the iPad’s Retina display is 264PPI then why wouldn’t you create your app’s graphics at 264PPI also? DPI/PPI is something I almost never think of when working with image files but this seemed like a legitimate question.
The short answer is that DPI/PPI only have meaning in the physical world. DPI is typically used to measure the sharpness of...
3 tags
Let's Get Mashable to Add More Sharing Buttons!
Quick. Somebody launch a new social networking site, make it popular and provide one of those little ‘sharing’ buttons for embedding on other sites. I want to see if Mashable will include that button at the top of their articles along with the 10 already there. Yes, 10 of them.
Twitter
Google Plus
StumbleUpon
Pinterest
LinkedIn
Tumblr
Generic Email
Generic Share
Facebook...
iOS 5.1 With Better iMessage Notifications?
Is it my imagination or does iOS 5.1 make an effort to suppress audible iMessage notifications when you have the OS X Messages application in the foreground on your computer? I swear I was noticing that behavior this afternoon but it’s a little hit-or-miss. Given the near simultaneous arrival of messages I imagine this is a tough problem to solve.
Where I Keep My Lists
I like lists. Lists keep me organized and make me happy. Despite my mimalist philosophy on software I have a few different list applications that I use on a regular basis.
Things for Mac
This is where I keep my work organized. Things may be the most feature-complete list application available for the Mac right now. I can keep easy track of everything I have to do today. If it’s not going...
4 tags
iPad 3 Thoughts
For the sake of this article I’ll refer to it as the iPad 3.
The Retina display alone makes this worth the upgrade. I love reading on my iPad 2 now but with 4X the pixels I can only image how awesome the iPad 3 will be. It’ll take some time for developers to properly add @2x graphics but there’s a lot of stuff that’ll look great on day one. I do wonder how the Comixology...
Minimal HTML5 Boilerplate
I’ve found this really useful as I’ve created a lot of new HTML documents over the past few weeks. As far as I can tell this is the minimal amount of code required for a proper HTML5 document.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
</body>
</html>
5 tags
App Idea: Points (a.k.a House Cup)
This would be an app where you can assign points to an arbitrary list of things/people. You can tap UI controls on screen or just speak how many points you want to award or deduct from a particular thing or person. Yes, I want to be able to say, “Five points to Gryffindor!” and have the app add 5 points to ‘Gryffindor’.
You might use this in place of (or a supplement to)...
A Precious Hour →
via Rands.
Starting at the beginning of February, I made a change. Each day I blocked off a precious hour to build something.
Every day. One hour. No matter what.
One of the things I like so much about reading developers like Michael Lopp is that it’s like listening to my own inner voice but better spoken. I’d like to think if I ever worked on Rands’ team we’d get along...
February 2012
22 posts
2 tags
No Social Media Magic
I’m increasingly of the opinion that executives who obsess over their company’s social media strategy don’t get it at a fundamental level.
Tip 1: If you don’t have a compelling product in the first place, no amount of social media magic is going to help you.
Tip 2: There is no such thing as social media magic. There are a few fairly obvious things to do with Facebook...
How Hollywood Hates Us
How do the movie studios show their hatred for their customers? Let’s list the ways.
Non-Skippable Advertisements on DVDs: I remember the days when you could put a DVD in and it would either start playing the movie right away or go straight to the menu.
Disney’s FastPlay: This should start with the movie. Not trailers.
Region locked DVDs: Who cares where my DVD player is...
Minimal Mac: TV Is Broken →
minimalmac:
“Can I choose?”, Beatrix asks. She’s still confused. She thinks this is like home where one can choose from a selection of things to watch. A well organized list of suggestions and options with clear box cover shots of all of her favorites. I have to explain again that it does not work that way on television. That we have to watch whatever is on and, if there is nothing you want to...
4 tags
Heavy Hangs The Bandwidth That Torrents The Crown →
You’re not into physical media? I’m with you. It’ll be on iTunes soon. See? The store page lists the release date. March 6. You can circle it on the calendar and everything.
Excellent points made by Andy Ihnatko. I’m perfectly okay with waiting a few weeks to get Game Of Thrones from iTunes. There’s plenty of other things for me to do and watch in the meantime. One of things I...
4 tags
Diablo III: The Real Geek Event for 2012
There will be an iPad 3 sometime in the next few months. iOS 6 will happen later this year as will the 6th-gen iPhone. Mountain Lion will be upon us this summer. But the event that’s really going to set geeks on fire this year is Diablo III. Everything will pale in comparison to that. Also, is the next StarCraft installment still happening this year too?
2 tags
Lyric Websites are the Trashiest Places on the...
Music is a very important part of my life. I don’t pay attention to lyrics much though. However, there are times when I want to read the lyrics to a song. Google “[song title] lyrics” and click on the first result. This will always lead to one of the worst experiences one can have on the internet. Lyric websites are some of the most user-hostile websites in existence. They are...
iOS: UIView Rounded Corners
This code will add rounded corners to a UIView.
4 tags
4 tags
Minimal Mac: Microsoft's Biggest Miss →
minimalmac:
Then, she explained, the iPhone came. There was no Office. People got things done. Then the iPad came. There was no Office. People got things done. Android came. People got things done. All of those things that they, just a couple of years ago, were convinced they needed Office to do. They got them done without it. And thus, the truth was revealed.
I would also add that Google...
4 tags
OS X Mountain Lion →
I was just thinking this morning if Apple would do an OS X version of Reminders. I thought they probably wouldn’t because they see that kind of thing as belonging with iOS. If you always have an iPhone or iPad at your side why would you also need a Reminders app on your computer?
I’m glad I was wrong. Also, Messages Beta!
Minimalism: Spotlight Over App Launchers
Spotlight comes with the operating system. It’s already there. It’s going to index your hard drive and store that index somewhere. You may as well use it. Dedicated app launchers do have a bunch of features that Spotlight doesn’t but I don’t need those features and I don’t want a second index sitting on my hard drive for something I would only use once in a while. I...
3 tags
An iOS Catalogue/Store App Template
One of the more challenging things about iOS development is moving past simple examples to something more complex. Unlike web development, iOS apps are not just a bunch of views which can arbitrarily link to each other. It’s more structured. Putting together an application which has the right kind of UI elements in the right places all working together is not trivial. Table views are easy...
A Wave of Distortion
There may not be a scientifically way to ever measure this but I’m wondering… is there a wave of executives and managers who read the Steve Jobs biography and are now trying to establish their own reality distortion fields by asking unreasonable things from their subordinates and expecting it’ll all turn out awesome?
Earth and Mars
There are two meanings of the word ‘earth’. First, ‘Earth’ is the proper name of our planet. Second, ‘earth’ is a word we use to describe soil or dirt. Farmers say they “work the earth”. They might pick up handfuls of soil, rub it in their hands to determine its quality and say, “The earth is rich in minerals here.”
Assume we eventually...
Social Networks and Inertia
When it comes to social networks we geeks can be very fast and nimble. We’ll jump into any new social network that crops up just to check it out. Besides Facebook and Twitter, most geeks have probably also played with Pinterest, Instagram, Path, Google+, Stamped, GetGlue, etc. Checking out new stuff on the Internet is in our DNA. It’s what we do. When something better comes along we...
Jeff Atwood Leaves Stack Exchange →
Great post. Beautiful sentiment. One way I look at it is like this. Every day my kids are a little bit bigger than they were the day before. Literally. It’s really easy to spend a decade of your life working and justify it by telling yourself you’re providing a better future for your family. But kids go from eight to eighteen in those same ten years and you’re never going to be...
Developer Tip: Don't Paste SQL Results Into Emails
If you’re a developer who has to communicate with other people at all here’s a tip. Do not paste SQL results into emails.
The output from the MySQL command line is intended to be displayed in a monospace font so the columns line up neatly. There’s no guarantee your email will be read in a monospace font. It’s very likely it won’t be.
It’s going to wrap. For...
The PaperMate 1.4b →
Stephen Hackett reviews the PaperMate 1.4b. The black version has been my pen of choice for the past few years. Ultra smooth. Nice dark consistent lines. Nice to see it getting some attention.
AAPL Orchard: Not Everyone Copies Apple →
One company sees themselves as being accountable to their customers. Almost every other company in the world sees themselves as being accountable to their shareholders.
You are blinded by the love of the office you hold.
– Albus Dumbledore