Sunita Williams gives a 25 minute tour of the International Space Station. Amazing!
I’m pleased to wish the world a very Happy New Year. I believe 2013 will be a year of limitless possibility. I look forward to helping fulfill its potential as a year where society makes progress in demonstrating greater love and compassion for each other.
I returned from my second Rainbow Gathering last night. Once again, it was a life-changing experience.
The Gathering is a community event that takes place in national forest land around the 4th of July each year. The idea is that every person on the planet should love each other as members of a giant family. People work together to build temporary infrastructure that supports a community of 5-15,000 people for about a week.
People unfamiliar with the Gathering often describe it as some kind of hippie event. There is some truth to this, as the hippie subculture of the 1960s had an emphasis on peace and love. The Gathering also got its start in 1972, and culminates in a prayer for peace. However, I get the sense that people view a “hippie” today as tuned-out idealists of yesterday rather than active and engaged proponents of love and peace.
So why do people attend Gathering, and what are they doing in the forest?
Coming up in the game of Hip Hop is often described as a hustle, which is to obtain something through energetic activities. Entrepreneurship is most certainly a hustle, and if there ever was a time where hustling is a factor in success, it is right now.
We are in the depths of the worst economic slump in the past 80 years, and for many this makes the already difficult task of business building even harder. Entrepreneurs need to be reminded that they are in the good company of other determined people, that there is a reason they do what they do, and turning a sharp ear to hip hop is a great way to fulfill that.
Many successful hip hop performers come from difficult socio-economic backgrounds. Broken families, poverty and exposure to criminal conduct are recurring themes. In rhyming about the trials and tribulations of the hustle, rappers often share their own history of determination.
Part of credibility in the Hip Hop hustle is rising from these extremely difficult circumstances where the odds of success are far longer than the typical entrepreneur. Those champions of hip hop who actually make it often turn their lyrical and musical focus towards their own journey.
Some things change, some stay the very same. Like last year this time, I’m using Twitter more than blogging to share publicly. I’ve done a lot of sharing to my semi-private friends on Facebook. I’m am still pumped about RFID and NFC on the iPhone. I still think about how mobile will change our lives. I still listen to, talk about and share music I like.
I turned 30 and jumped off a tall bridge to celebrate. I moved to Seattle, and continue to work on the most exciting technology ever created for people like me.
I had people enter and exit my life over the year. At times life was dramatic. There were many special days both happy and sad. I’ve never captured or shared more of my existence. More than anything I had some big, quiet supporters this year.
Goodbye 2010, thank you for all of the memories.
As I build upon my understanding of Objective-C, I’ve been working to better understand the concept of a delegate and when they should be used. In searching for clarity, I came upon an explanation by Mark Hernandez the administrator of iPhoneDevForums.com.
For posterity, I’ve copied Mark’s explanation here. For his full explanation and his code example, follow the link above.
My favorite way to explain how delegates work involves animals.
Let’s say you are going to create a particular bird. You start with a predefined class definition of a bird (provided in the existing framework as, say, CFBird). The existing framework class assumes all birds have certain things in common — they hatch and grow the same, poop the same, fly the same, and lay eggs the same way, etc. (tee hee, I said poop. ) But different birds look different, are different sizes, chirp differently, eat different things, and may mate differently.
I’ve been experimenting with a multiview iPhone / iOS app with a tab-based navigation and came across an error and solution for “unrecognized selector sent to instance.”
In one of the tab’s views I had a standard button with a Touch Up Inside event that I had connected to a buttonClicked method in the view’s controller. For some reason, when I tapped that button the app would crash. This was not happening when I built the same stuff in a single view app.
I went searching and was happy to find that the problem was well described and solved in the developer forums of MacNN. It turns out that when you have have multiple view controllers for separate .xib files being controlled by a Tab Bar Controller you need to take an extra step of setting the Class Identity for that particular view. Here’s how:
Just encountered this when I changed my Google Account password: my iPhone 4 stopped sending and recieving mail from that account even after I updated the password in Settings -> Accounts. The iPhone pops a message saying the password is incorrect. When you try to leave, iPhone tells you that you may not be able to send and recieve mail as a result.
For security purposes, Google occasionally requires you to re-enter your normal password when using their various web services. When you change your password, you may need to pass a captcha test to re-enable IMAP on your gmail. Props go to MadebyMark for the link.
Google has a pretty unassuming unlock page here you must visit with using the browser on the mobile device you’re unlocking. Pass the password and captcha test and your iPhone should be able to get google mail again. Google did not notify me that I might need to pass a captcha test after updating my account password. How was I supposed to know that updating a password might disable gmail IMAP support? The answer is buried in a Google support forum.
UPDATE: If you are using the native mail application on the iPad, you will have to do the same device unlock you performed on your iPhone. I’m interested in any information that better explains how Google authorizes the use of mobile devices. Please @jetsetter or post in the comments if you have further observations.
I’m pumped to announce availability of Rock Show 2.0. This is the first version of Rock Show that works on the iPad and both the iPhone and iPod Touch. A lot of fixes and tweaks are in this version of the application, along with some new posters as well!