The PlayStation Network hack a few days ago which resulted in Sony losing the private data (including unencrypted mail addresses, usernames and passwords) of 77 million users should be reason enough for everyone who’s doing anything online to change passwords for every login to something unique. This way no stolen password can be used to access other services you are using. As soon as someone has access to your mail account, it is easy for him to reset passwords on other services you are using.
So how do you change every password to a unique one without going crazy or forgetting passwords on a daily basis? 1Password. This fantastic tool is available for Mac, Windows, iPhone, iPad and Android. It can sync your encrypted data between devices using a free Dropbox account so you can take your secure passwords everywhere you go. You have to remember exactly one password which is used to encrypt all account data you store in 1Password (including credit card data, software licenses and more). The great news: you can make this one passwords a very secure one because you only have to remember one password from now on.
When visiting a website that requires a login you just hit a shortcut and 1Password logs you in. If 1Password hasn’t been unlock yet (after a reboot or sleep mode of your computer) it asks for your secure master password. You don’t need the site specific password which is random, so you have no chance of remembering it after all.
Yes, something like:
wJWHElzZp0OFMVzPGtl5vcDv or even
The first example is pronounceable which is good in case you have to type it in an iPhone app or a computer not synced to your 1Password data. Make it longer and it should be secure enough for almost everything, or just use completely random passwords. Remember, when the computer you are using has 1Password installed, a browser extension does all the work of logging you in on websites.
Secure Security Questions
What about security questions like "Your first pet's name?" or "The name of your high school teacher?" Those aren't very difficult to answer if you ever posted personal stuff to Facebook, Twitter, etc. Even if you haven't posted the answers to your security question, a friend might have asked how your little puppy [insert name here] is doing. This is exactly how Salma Hayek's MobileMe account was hacked — by looking up her birthday on Wikipedia and guessing her favorite character (the password hint) as "frida", one of Hayek's roles. (pcworld.com).
The answer (literally) is random security question answers. Just store them in the note field of your account entry in 1Password. It will be encrypted like the rest of your data and should you ever have a problem logging in (or someone tries to hack your account) just copy
sdf094ut$df%_dfs4t into the answer field as your pet's name. (Don't name your pet like this, ok?)
Even More Account Security
So, how do you further improve security of you accounts after using a different, random password for every account you own? A second way of verifying your identity when logging in. Google's 2-step verification which asks for a verification code when logging in from a new computer or device. The code can be generated using an iOS or Android app. You also print a backup list of codes in case your phone is broken or the battery is dead. (Google Reader clients, mail programs and other applications that are not browser based use a randomly generated password which can be revoked on Google's site should it ever be compromised.)
PayPal can also be set to require a code after logging in with your password. It can be sent to your phone as an SMS. It is called PayPal Security Key and is free.
One thing to remember is to actually remember your master password and keep backups of your 1Password data. But your making backups on a regular basis already, right?
ePic is a simple slideshow application for Mac that lets you view your photos like you did ten years ago: physical photos laying on a table. The app has familiar Mac-media-app-like control elements and displays events from your iPhoto library, a directory or flickr tags. Scrolling with your mouse or trackpad changes the viewing angle and dragging left or right lets you quickly skim through your photos.
It’s a very nice application for displaying photos on your Mac while you’re doing something else or just a fresh way of enjoying memories from the past. The way the photos fall down reminds me of the Playstation 3 slideshow application — which is a good thing.
You can download ePic from the Mac App Store.
Display the location of any domain or IP address on a map. Use GeoMapLookup to find out where the visitors of your blog come from or where your favorite website is hosted. You can even copy the latitude and longitude to your clipboard.
Running a WordPress blog? Integrate GeoMapLookup for iPhone and iPod touch by downloading the updated Commenter Spy plugin.
Literally the first thing you notice when holding an iPad 2 is how thin it is.
Physically, the iPad 2 does feel a bit lighter than the old iPad, but it’s the thinness that’s striking. Compared to the new iPad 2, my original iPad doesn’t feel heavy, but it does feel fat. Almost swollen. The rounded edges on the iPad 2 make it significantly more comfortable to hold in one hand. — John Gruber
If you’re into this kind of stuff (build quality, functional design) the iPad 2 feels like a huge improvement over the first iPad. Not to mention the speed increase and double the RAM.
When starting my first iOS app I just played a bit with Xcode and suddenly I had created something nice I wanted to keep and build upon. Naturally I didn’t care about version control because coding was more fun and I would have used trunk for the initial version after all. My punishment for neglecting a source control system is writing this post to remind me of using version control for every project with more than two files straight from the beginning.
Instead of Subversion I used Xcode 3 snapshots to at least save a working state before doing some refactoring and trying something new. (See, my subconscious felt guilty for not using a versioning system.)
Now that I’m switching to Xcode 4 I’m also finally moving my sources to Subversion. I want to keep the snapshots but Xcode 4 has another snapshot format. So the logical thing to do is importing my old snapshots as revisions into Subversion. This post describes how to achieve exactly this.
You should be (at least a bit) familiar with Xcode, Subversion, the shell, etc. to do this.
Step 0 — Make a last Snapshot
Create one last Snapshot in Xcode 3 and close the IDE.
Step 1 — Create SVN Repository
Create a Subversion repository in your preferred location, for example:
svnadmin create /Users/USERNAME/Development/SVN/PROJECT
Step 2 — Initialize your Repository
Create your directory structure in the newly creates Subversion repository (trunk, branches and tags directories).
Step 3 — Get
svn_load_dirs.pl and store it on your Mac.
I had to set the
$svn variable at the top of the script to the location of my
Step 4 — Locate the Snapshots
Xcode 3 stores the created snapshots in an image file. You can find the
/Users/USERNAME/Library/Application Support/Developer/Shared. Double click to mount it. Locate your Xcode project in the
ArchivedDirectories directory on the Snapshots volume. Copy the directories named something like
2011-01-23 13/01/19 +0100 from
/Volumes/Snapshots/ArchivedDirectories/PROJECTNAME/ to a folder (CopiedSnapshots) on your desktop.
Now is the time to remove snapshots you don’t want to import into Xcode or remove files you don’t want. (Like temporarily renamed files, etc.)
Step 5 — Import the Snapshots
Now you can put svn_load_dirs.pl to good use. If you want different commit messages for every snapshot, you have to manually add every snapshot’s content to Subversion. I’m fine with the same message for every version of my initial import.
Change to the directory containing your snapshots:
Then run this command (one line):
ls -1 . | /PATH/TO/SCRIPT/svn_load_dirs.pl -no_user_input -message "Initial import of Xcode created snapshots." file://localhost/Users/USERNAME/Development/SVN/PROJECT/ trunk/
What this command does:
ls -1 .— lists all directories containing your snapshots
| /PATH/TO/SCRIPT/svn_load_dirs.pl— use the listed snapshot directories in the
-no_user_input— required when reading the directories from
-message "some message"— your commit message
file://localhost/Users/USERNAME/Development/SVN/PROJECT/— the location of your repository
trunk/— store the imports on the trunk
Step 6 — Configure Xcode for SVN
All that is left is to configure Xcode to use your Subversion repository.
See the Xcode 4 Transition Guide for more info on your new favorite IDE.
I’ve collected quite a few links during the last weeks while teaching myself Objective-C and Cocoa touch for iOS development. I know Java and several scripting languages so I was looking for some good summaries and overviews aimed at developers to get me started.
This is a random collection of some helpful resources and tools which will hopefully help you learn Objective-C effectively.
- Apple’s Developer Center
- Apple: Learning Objective-C: A Primer
- Apple: Introduction to The Objective-C Programming Language
- Apple: Cocoa Fundamentals Guide
- Apple: Object-Oriented Programming with Objective-C
- Stack Overflow has answers to many questions I had
- Cocoa Dev Central: Learn Objective-C and C Language Tutorial for Cocoa
- iPhone Development Emergency Guide
- Intro to C Pointers and Dynamic Memory
- Welcome, new Cocoa or Cocoa Touch programmer.
- Memory Management with Objective C / Cocoa / iPhone
- Singletons, AppDelegates and top-level data.
- How To Use UIView Animation Tutorial
Tools, Code and Fremaworks
- Cocoa Documentation Viewer Ingredients (better than the built-in one provided by Xcode)
- speedlimit and slowmo, you’ll need these while testing in the simulator
- Great code and frameworks by Matt Legend Gemmell (including MGTwitterEngine)
- UITableViewCell with “copy” ability
- three20 (the Facebook app framework)
Some Apple documents are available on the iBookstore for free. Just search for Apple Developer Publications in iBooks.
Buried in the last paragraph, the devoted The Hit List fan — who is likely using beta software for over two years now — finds new hope:
The Hit List 1.0 is nearing completion, but unfortunately it didn’t make the cut for the Mac App Store. It and its companion iPhone app have been in a closed beta test for almost exactly 2 months now. The beta testers have been giving me great feedback and they seem to be excited about the apps. There are still a few kinks to work out, but if you are patiently waiting for the pair of apps, your patience will pay off soon.
Over a year ago, Andy posted a screenshot of the iPhone version on flickr which I’ve been waiting for ever since the Mac application made its way to my computer. Will the day final arrive and I’ll be able to sync my tasks to my iPhone? The website to enable the cloud syncing seems to be ready.
Pixelmator, the fantastic “image editor for the rest of us” is now available on the Mac App Store. The price was reduced to just $29 (for a limited time). If you are in need of a great image editor you should definitely buy Pixelmator now.
Even if you’ve purchased Pixelmator in the past you should consider buying it again while the price is still this low: version 2.0 will only be release on the Mac App Store (and for a higher price I guess) but it will be a free update for all 1.x versions purchased on the Mac App Store. If you buy it now you essentially buy the future 2.0 version in advance for a low upgrade price.
More information directly from the Pixelmator team regarding the transition from their own shop to the Mac App Store.
I’ve mentioned my favorite Google Reader client Reeder on this blog before. I had the luck to test beta versions of the iPhone and iPad app before they were available on Apple’s app store and I also had access to the early alpha version of the Mac counterpart. I’m now completely Reeder’ed on all my computing devices.
A couple of weeks ago the Mac version of Reeder became available as a beta download on madeatgloria.com. As a Mac and Google Reader user you should give this great pice of software a try.