Where I’ll be at WWDC 2019

May 31, 2019

I’ll be doing a few things next week at WWDC 2019 and wanted to pass along my schedule. Hope to see you at one or more of these happenings!

Tuesday: Micro.blog Meetup

Micro.blog Logo

Tuesday at lunch time, I’ll be at the Micro.blog meetup at the Grace Deli, across from The Hilton.

My good friend—and meetup organizer—Jean MacDonald and I co-host The Weekly Review, a ‘microcast’ podcast about personal productivity hosted on Micro.blog.

Stop by and say hello! We’ll also have The Weekly Review stickers to hand out. You can RSVP here.

Micro.blog Meetup, June 4th, 12 – 2 pm

Wednesday: LIVE near WWDC 2019

James Dempsey and the Breakpoints JDBP Logo
Wednesday night, my band, James Dempsey and the Breakpoints, _performs our 8th annual _LIVE near WWDC show. The party starts at 7 pm—tickets include an open bar. The band goes on at about 8:30 pm, playing a full concert of original, humorous, programming-oriented, and yes, even chart-topping music.

But the night is more than just music and fun—it’s a benefit concert for App Camp For Girls, with ticket proceeds going to support their mission. Come on out on Wednesday night to a great event for a great cause!

Tickets are still available but going fast. Click through to get all the details and buy tickets.

James Dempsey and the Breakpoints, LIVE near WWDC, presented by Capital One
Wednesday, June 5th, Doors open at 7:00 PM, show starts at 8:30 PM. Party until 11:00 PM

Thursday: AltConf WWDC 2019 Week In Review

AltConf Conference Logo
I’ll be closing out the week at AltConf with my sixth annual WWDC Week In Review, a lighthearted look back at the announcements and events of the week.

After a week front-loaded with announcements and technical talks—this easy-going closing session of AltConf combines humor, music, and perspective.

Join me for what usually proves to be an entertaining and occasionally enlightening session.

And, as usual, there will be a bit involving a ukulele.

AltConf 2019, June 3 – June 6, 2019
Closing Session, Thursday, June 6th, 3:00 PM

A Busy WWDC 2019 Week + Stickers!

As usual, it will be a busy WWDC week with plenty of new announcements and technology to wrap our heads around. If you see me out and about during the week, please say hello!

I’ll also have brand new James Dempsey and the Breakpoints and The Weekly Review stickers to hand out. Just ask for a sticker or two when you say hello!

I hope you can make it out to one or more of these events—see you at WWDC! •


Categories: Apple, Mac, Music, Software Development, iOS

Disney California Adventure—A Visual History

June 25, 2018

Pixar Pier opened at Disney California Adventure this past Saturday, giving Paradise Pier a new theme and a new name.

This inspired me to create this timeline showing the evolution of lands at DCA since its opening.

Timeline of how the lands evolved at Disney California Adventure Park, 2001 - 2018

Click for PDF Version

With the renaming of Paradise Pier, none of the opening day lands of Disney California Adventure remain.

This does not mean that all attractions, buildings, or theming of the original lands have been replaced. It means that every land existing on opening day has at least been renamed, with many rethemed, and some reassigned to other lands.

On opening day, DCA guide maps listed four lands: Entry Plaza1, Hollywood Pictures Backlot, Golden State, and Paradise Pier. These are all now gone.

Golden State was divided into areas, mini-lands within a big land: Grizzly Peak Recreation Area, Condor Flats, The Bay Area, Pacific Wharf, and Golden Vine Winery. These were not full lands when the park opened. Over time, some areas have disappeared as separate areas (The Bay Area, Golden Vine Winery), while others have become lands of their own (Grizzly Peak, Pacific Wharf), and one area even managed to do both (Condor Flats).2

I believe DCA is the only Disney park that has replaced or renamed all of its opening day lands.3

Research for the timeline was done using my collection of guide maps from the park as well as online announcements or news articles of land and attraction openings and closings. Please feel free to send me any feedback or corrections at https://jamesdempsey.net/contact.

Also feel free to contact me at https://jamesdempsey.net/contact if you have guide maps from the early years of DCA that you are willing to sell – or send photos of. I am particularly trying to find DCA maps between late February and late May 2001 to pinpoint the change from Entry Plaza to Sunshine Plaza.

I’ve enjoyed witnessing the transformation of Disney California Adventure over its seventeen year history and hope you enjoy this visual history of its lands. •

About me: I’m a Disney, Pixar, and Apple history hobbyist. I worked at Apple for fifteen years then set out on my own as a software developer, technical trainer, speaker, and musician. I write humorous songs about technical things. My album debuted at #5 on the Billboard comedy album charts and was the #1 comedy album on iTunes in the US, UK, and Canada. If you or someone you know (or someone in Disney Imagineering) needs an original song with clever lyrics contact me!


Yes, Entry Plaza. The opening day DCA guide maps use this name. Within months, the name on the maps changed to Sunshine Plaza

Golden Vine Winery is a good example an area which is still very similar to opening day, but has technically ‘disappeared’. This was originally an area, or sub-land, of Golden State. When the Seasons of the Vine attraction closed and became reopened as Walt Disney Imagineering Blue Sky Cellar, the reopened attraction was now listed as part of Pacific Wharf, where it remains as of 2018. 

Pacific Wharf is the only remaining original land or area that has not been renamed. But it was not a land on opening day, it began as an area of Golden State and was not promoted to a full land until 2012. Grizzly Peak Recreation Area was renamed to the much simpler Grizzly Peak when it also became a full land in 2012.


Category: Disney

Where I’ll be at WWDC 2018

June 2, 2018

I’ll be doing a few things next week at WWDC and wanted to pass along my schedule. Hope to see you at one or more of these happenings!

Tuesday: Speaking at the NextDoor Conference

Logo for the Next Door Conference

Tuesday morning, I’m speaking at the Next Door conference, located, remarkably enough, next door to WWDC.

I’ll be talking about two of the more glamorous aspects of app development: build settings and xcconfig files. In the session, we’ll cover the why and how of giving your build settings an out-of-project file experience to make build settings easier to manage.

Registration is open until Monday and a there’s a great lineup of speakers. I encourage you to check the conference out.

NextDoor Conference, June 4th – June 7th
My session about xcconfig files: Tuesday, June 5th, 10:00 AM

Wednesday: LIVE near WWDC 2018

James Dempsey and the Breakpoints JDBP Logo
Wednesday night, my band, James Dempsey and the Breakpoints, performs our 7th annual LIVE near WWDC show. The party starts at 7 pm—tickets include an open bar. The band goes on at about 8:30 pm, playing a full concert of original, humorous, programming-oriented, and yes, even chart-topping music.

But the night is more than just music and fun—it’s a benefit concert for App Camp For Girls, with ticket proceeds going to support their programs. Come on out on Wednesday night to a great event for a great cause!

Tickets are still available but going fast. Click through to get all the details and buy tickets.

James Dempsey and the Breakpoints, LIVE near WWDC, presented by Capital One
Wednesday, June 6th, Doors open at 7:00 PM, show starts at 8:30 PM. Party until 11:00 PM

Thursday: AltConf WWDC 2018 Week In Review

AltConf Conference Logo
I’ll be closing out the week at AltConf with my fifth annual WWDC Week In Review, a lighthearted look back at the announcements and events of the week.

After a week front-loaded with announcements and technical talks—this easy-going closing session of AltConf combines humor, music, and a bit of perspective. I hope you join me to be entertained and maybe occasionally enlightened.

And, as usual, there will be a bit involving a ukulele.

AltConf 2018, June 4 – June 7, 2018
Closing Session, Thursday, June 7th, 3:00 PM, Room 1

A Busy WWDC 2018 Week

As usual, it will be a busy WWDC week with plenty of new announcements and technology to wrap our heads around. If you see me out and about during the week, please say hello!

I hope you can make it out to one or more of these events—see you at WWDC! •


Categories: Apple, Mac, Music, Software Development, iOS

My father, Wilbur Dempsey, passed away

March 29, 2018

I have a sad update. Wilbur Dempsey, my father, passed away yesterday afternoon.

He died peacefully without pain in the hospital. He was surrounded in his final hours by his children and a few other loved ones.

Ten days before he died, Dad at 92 years old was still mentally sharp, still living on his own, and still driving. He drove down to my sister Ann’s for their usual Sunday dinner. He would always stay overnight and drive home to Milltown in the morning.

The next morning he was not feeling well, so he stayed with my sister. His decline happened quickly over the next week. He found it increasingly difficult to walk, becoming more tired and losing energy and his appetite.

Tuesday morning he was unresponsive and taken to the hospital. I arrived late in the evening that same day and we spent the night with Dad in the hospital.

Dad never regained consciousness, but during that time we had our chance to tell him how much we loved him, to share our favorite memories with him, and tell him through tears how much we would miss him.

The photo below is of Dad ten days ago on March 18th.

The world has lost a truly kind, selfless person who brought so much joy, laughter, and sunshine to everyone around him.

Rest in peace in God’s love Dad. •

Photo of Wilbur Dempsey


Category: Personal

Xcode: Who’s to Blame?

October 17, 2017

A recent tweet from Dave DeLong reminded me of something that’s been on my mind for a long while.

As software developers, we all screw up. We all check in software with accidental bugs. We’re all constantly coming up to speed with new frameworks, tools, APIs, language features, concepts, and best practices. We’re all trying to accomplish a lot in a limited amount of time.

I think the hashtags Dave used, #BeNice and #DontBeAJerk, convey the sentiment that we should have empathy for each other as developers and as human beings.

Of course, all software has room for improvement and I also think it’s perfectly valid to vent frustrations about the tools you use professionally.1

But I don’t think disparaging the people who work on the software or attributing bad motives to them is helpful at all.

That said, I think it’s fair that the same principle should extend to Xcode itself, especially something that has bothered me for a long time: Blame.

Blame is “responsibility for a fault or wrong” — a word with a very negative connotation.

Screen capture of 'Show Blame for Line' contextual menu item

In Xcode, every line of code is a mea culpa.

Blame is pointing fingers without solving the issue at hand.

In Xcode, the Blame view and the Show Blame For Line menu item imply that the code you or anyone else writes is a reason to be embarrassed and ashamed.

According to the Xcode user interface, every line of code written for Apple platforms is something that should be apologized for—every app in the App Store built from culpable actions and misdeeds.

Blame doesn’t belong in the user interface of Xcode.

Words Matter

A parody of the Swift logo, with a flounder instead of a swift

There’s a reason it’s not called Flounder.

You could certainly make the case that it’s just a word and no big deal. But I believe words matter.

If you clicked on this article based on the title, thinking you would be reading an accusatory, negative piece about Xcode, then you have just experienced the power of the word blame.

And folks at Apple know that words and their connotations matter. There’s a reason it’s called ‘Swift’ and not ‘Sloth’ or ‘Flounder’. There’s a reason we’ll probably never see ‘macOS Death Valley’ even though, like Yosemite, it’s a National Park in California.

That’s How Git Does It

Screen capture of hypothetical Xcode showing an Author menu item instead of Blame

Author! Author!
in an Xcode without Blame.

You could also make the case that blame is the command name in git. But the git command diff corresponds the Comparison view in Xcode. So using exact git terminology in Xcode is not sacrosanct. Even if it was, git has the equivalent and less pejorative annotate.2

Of course, Apple has a long history of forging its own path, regardless of what others in the industry are doing. One could imagine taking the same approach as with the Comparison view and using a name that has nothing to do with an existing git command. The icon in the Version editor pop-up menu already shows the outline of a person. That view could possibly be called the Author view, with a corresponding Show Author For Line menu item.

Just A Joke

You could also say that blame is just a wry bit of humor and if everyone knows it, then it lessens the negative connotation.

But not everyone is necessarily in on the joke. An example is people who are just learning to write code and develop apps. Learners, whether children or adults, can have a fear of failure when trying something new, compounded by a fear of being ridiculed for failing when trying. People new to programming don’t know all of our witty little inside jokes, they just know that Xcode is assigning blame to their efforts.

Apple has been touting the Everyone Can Code program for a few years now, including courses on building apps in Xcode. It think it is great that Apple is making such efforts to teach programming skills to a wide audience. But blame doesn’t belong in a learning environment.3

Sign Your Work

During the development of the original Macintosh, Steve Jobs decided to include each team member’s signature on the inside of the case. The signatures were engraved in the tool that molded the case of every early Mac produced.

This wasn’t so customers would know who to blame. This was because artists sign their work.

Similarly, as software developers, our names are embedded in every commit. They are a record of our work and effort, a record of every success and failure, a record of every hard-won lesson learned.

Whether you are a complete newcomer or an experienced coder, you should be able to take pride in your work as a developer. Your tools should do their best to help you. Your tools should acknowledge and, if possible, even celebrate your authorship, not disparage it.

Please take the blame out of Xcode.

It’s one small change in a .strings file, but may be one giant leap for our coding culture. •

I filed a Radar about this issue in June 2011 while still working at Apple—it was closed as Not To Be Fixed. Today I filed another bug report which you can see on OpenRadar. Feel free to file duplicates.

UPDATE: In the Xcode 9.3 betas, blame has been removed from Xcode. From the release notes:

Renamed user interface elements to clarify the information presented. In the Version editor “Blame View” is now “Authors View” and in the Source editor “Show Blame For Line” is now “Show Last Change For Line.” (35031446) 


But don’t expect venting to change anything. The best approach is still to file a bug. That’s no guarantee your issue will be addressed, but you’ve provided the constructive feedback. Of course, the opacity of the Apple bug reporting system has its own frustrations and is its own can of worms.

Which is admittedly a less catchy name.

In Xcode 9, ‘Show Blame For Line’ is no longer in the code editor contextual menu in Xcode Playgrounds, but it’s still in the Editor menu. But students also want to build apps, and outside of Xcode Playgrounds, blame is still in full force.


Categories: Apple, Software Development, iOS, macOS, tvOS, watchOS