My Personal Computer History, How I Came to Work on the Mac

I’m working on some other posts to recount the history of our CocoaHeads chapter. While brainstorming for it I couldn’t help but start to capture my own history and how I came to work on the Mac so I figured I’d write it up and share.

The following post has a lot of “Way Back Machine” links to see sites as they used to be, a fun trip down memory lane.

I didn’t start learning computer stuff until high school (1995) and even then it was on a 286 using DOS for BASIC and PASCAL. Starting college (1997) I finally got to buy a computer of my own, it was a Windows machine but I didn’t really mind at the time. After my first year of college I got to take my co-op experience. Through it I ended up doing web design for a small company just outside Philly. I got to work with a former Apple employee and he was quick to saturate me in the ways of the Mac. Overall I was impressed and by the end of the co-op was considering a Mac of my own. Now being in college and just having bought a Windows computer I wasn’t in a financial position to change, but the seeds were planted.

By 2000 I was doing web design part time for Seybold, using a Mac at work and Windows at home. I was getting into the server side of web development, learning about UNIX, Apache, MySQL and the like. Around this time Mac OS X was announced. The idea of running Photoshop next to Apache pretty much sold me and I knew right then I wanted to participate on this platform.

I probably watched Steve introduce the Aqua UI over a dozen times.

With the 2001 Macworld Keynote came the release of the Titanium PowerBook G4. I got the high end 500 MHz model. I split the cost across two credit cards and some cash. I couldn’t afford this machine but I had to have it. It was the first personal Mac I ever owned.

Initially I ran Mac OS 9 on my TiBook, but on Saturday March 24, 2001 I drove out into the rain to my local UPS warehouse to pick up the copy of Mac OS X I had ordered (No way I was going to wait until Monday for delivery!). I came home, installed it and never went back.

Well, technically I did go back to OS 9 on occasion. Some apps like Final Cut Pro (which I was using for my film class) didn’t work in the Classic environment at all and other apps, well, just worked better booted into 9. That said, I really enjoyed working in OS X. Despite all of its performance issues and bugs I was too busy enjoying all the new stuff: the new UI and the new APIs (my first time programming for a native window UI).

Time moves on, it’s 2003 or so. By now I’m a total Apple geek. Regularly reading As the Apple Turns and Daring Fireball. I’m marking my calendar and listening to Your Mac Life’s live radio shows. I’m reading tons of books about the history of Apple.

I’m now also now looking to connect with other Mac users. I eventually come to join MacBUS a local Mac User Group focused on the business side of the Mac. I also visit other groups in the area from time to time such as the Main Line Mac User Group’s Programming Special Interest Group. A fun group but there was little coverage of Cocoa, it was mostly scripting languages like AppleScript and PHP.

It was however through these groups and connections I met Randy Zauhar, a professor at the University of the Science. He and some of his students were working in Cocoa and wanted to start a regular meetup. We called it PHAD, Philadelphia Apple Developers.

And that’s it for now. I’ll recount more of PHAD and how it eventually lead into Philly CocoaHeads in my next post.

31 Days, 31 Products: Launch Post

At CocoaLove 2015 we had the pleasure of listening to Jaimee Newberry speak and from my notes I recollect the following from her talk:

Just Do It! and more specifically, don’t let your high taste of quality hold you hostage from creating and shipping. Get it out into the world and improve it over time.

Even before the talk, I was already inspired by Jaimee’s “31 days” series of writings and video posts. I’ve been wanting to get more writing practice and have been kicking the can on starting my own series but no more!

Today begins 31 Days, 31 Products — a blog series where once a day for 31 days I’ll post a short story sharing some of the products and services I’ve come to enjoy using. I hope you like it and discover a new helpful tool along the way.

Rebooting My Professional Side Projects

It’s been a little over two years since I put Clickable Bliss, the company name for my personal projects, then self-employment, on hiatus after taking a job at DmgCtrl (which then turned into a job at Big Nerd Ranch). Back then when I wrote about the change, I mentioned that team work was something I was really missing after my group startup Shindig ended. The good news is, in the last 2 years time I’ve gotten to work with some very talented people and have learned a ton from them. The sad news is, the yearning to work on something longterm, something of my own, something I can have a meaningful impact on does not go away. Today I’d like to share my intent to reboot my professional side projects.

I say “professional” side projects because I do want these to be serious projects that result in profitable products. I want to create software that people enjoy using, solve meaningful problems and people are willing to pay for. I’m not looking to quit my job but I don’t want that to be an excuse for lack of progression or service level, I want to make sure my customers are taken care of.

So what’s next? Well right now I’m working on breaking down some project ideas and otherwise trying to get up to speed with some tech stacks I’m considering using. I’m also trying to figure out the legal and branding side of things. Some questions on my mind:

  • Do I continue to do work under the name Clickable Bliss (which is a D.B.A.) or do I come up with a new company name that helps distinguish this new era and long term team intent (I do hope to bring on help for these new projects sooner than later).
  • If I do a new company name, do I run it as an LLC?
  • Do I promote these products under the company brand or just build brands around the project(s) themselves. (The two leading ideas I’d like to work on have fairly divergent audiences although longterm I’d say my interest is in providing tools for people who embrace technology to create things.)
  • I want to start to build up a newsletter as soon as I have some more concrete things to share. How do I migrate those people from the old Clickable Bliss mailing list? Should I?

So that’s what’s going on. Will share more when I have it. If you have any feedback or comments, please shoot me an email!

24 Hours with My iPad Pro

I’ve always been a big fan of the iPad. I’ve owned an: iPad 1, iPad 2 (which I sold to upgrade to an iPad 3), an iPad mini (retina), and now an iPad Pro.

I’ve been pretty antsy for an iPad Pro since I saw the original announcement. I can’t say I have any unquie plans for it (outside reading Big Nerd Ranch book drafts in PDF format on a much bigger screen). Mostly I just want to experiment with the all the new features like the pencil and multitasking.

As of right now I have the iPad Pro itself (I went with the high end, 128 GB with cellular) and the keyboard cover. The pencil has been a little harder to come by so until then I’m making due with the 53 Pencil I bought a while ago but never really got into due to the smallness of the iPad mini. So far, it plus the larger screen is working out well. I look forward to comparing this to Apple’s version.

There are lots of great iPad Pro reviews out there so I won’t go into major detail. The things I’m liking a lot: the huge screen, the sound system and the battery life. The things that got me down a bit: the removal of the split keyboard (it’s hard to type holding the iPad Pro in portrait mode), lack of 3D Touch and the lack of the newer thumbprint scanner.

All that said, when it comes down to it, it’s about the software. I think I’ve spent $100 in new software playing around with things. If you know of some must have iPad software let me know cause I want to see how hard I can push this thing. Tomorrow should be a great test as I fly down to Atlanta to visit the home office of Big Nerd Ranch.

Memorable Songs from Pivotal Indy Moments of Your Life

While attending the Release Notes Conference this past week I saw a talk by Mike Hurley of RelayFM fame. A lot of the talk was pulling wisdoms from Mike’s own story, the history of his past projects up to working on RelayFM. One tidbit included an attachment to a song when he quit his job. For him the song was Another One Bites the Dust, Queen.

For me when I quit my full time job with ASMP to focus on my Mac development work the song was Maggie’s Farm, Bob Dylan. I was really into Dylan at the time and the lyrics just fit. I remember blasting it from my office and hearing it play throughout the apartment those first few indy days working at home.

I’d love to hear what songs match up to your own big indy life moments. Shoot me an email or tweet me your story.

Summer Hiatus Update

Hello internets. So sorry for the summer hiatus here on the blog. So what have you been up to? (Email me and say hi!)

I’ve been doing good. WWDC was a fun time in June and shortly after that I had 6 days down the shore with my family. At work, I’ve been on a Swift iOS project. It’s my first time using Swift in production and working along side John and Zac has been incredibly educational. I also was able to get on the road and do my first solo teaching gig for Big Nerd Ranch. I really do enjoy teaching and hope to get the opportunity to do more of it in the coming year.

In my off time I’ve been zoning out with video games, movies and the like. I bought a PS4 and have been mixing it in amongst my WoW and FF14 time. I do feel guilty as I keep meaning to start some productive side projects but I struggle to focus on programming after working a full day doing programming. We’ll see how the fall works out. Hoping to get some project inspiration from CocoaLove and Release Notes in October.

I also just (like a week ago) got a new car. Ended up buying a new 2015 Hyundai Sonata Sport. It replaces my old 98 Ford Taurus workhorse. The Sonata is nice; very spacious and a nice mix of value and features. I’m really enjoying the iOS integration (used to use an external bluetooth speaker for podcasts and the like). With a little more confidence in my car now I’m actually hoping to hit to road a bit and do some visits to regional CocoaHead events and the like. If there is an event coming up you’d like to recommend let me know.

Well that’s it for now. Bring on the fall!

Questions for Your Job Hunt

Jobbies

While looking for a new job last year I slowly built a list of questions I would ask the various companies to help better understand if they were a good fit for me. Some of these questions are ripped from other blog posts, like The Joel Test, but many of them were from personal brainstorming and soul searching about what I wanted.

Hopefully this list helps those out there looking for something new.

Culture

  • Pretend I know nothing about the company, how do you describe it?
  • Who owns the company? What are their interests?
  • How would you describe the company culture?
  • What are its core values?
  • How is this evident in everyday action?
  • There is a great TED talk by Simon Sinek that has a simple but powerful model for inspirational leadership all starting with a golden circle and the question “Why?” He describes a circle with the word Why? in the center and then moving outward, How? and then What? — Simon explains that most people can answer the What, what do they do? — some fewer still can answer the How — but the truly successful can answer the Why? Why do they do it? Why does your company do what it does? Why does this company sell paper towels instead?
  • What can I see / download as a public example of your work?
  • Name something the company is struggling with and how you are trying to fix it?
  • Name something the company excels at? What are the lessons to be learned?
  • What’s going to change at this company over the next year? three years? five years?

Process

  • How does upper management communicate with the company at large?
  • How are projects and/or teams organized?
  • How do teams communicate?
  • How do you plan and track work?
  • How do you estimate?
  • Do people work on multiple projects at the same time? If so, how is time broken up?
  • What is the process like from napkin idea to deployed feature / service? Where am I in this process?
  • Who decides what to work on?
  • Who is the designer? Do they work closely with the development team? How much to they appreciate, expand on norms of the various platforms?
  • Is there a standard process for the handing off assets, specs, motion simulations from the design team to the development team?
  • Do you ever do retrospectives? If so when? end of the sprint? end of the project?
  • Do you ever have internal projects? How do they work?
  • How would you split up my weekly hours between different responsibilities?
  • How is customer support handled?
  • Do I have any interaction with the customers?

Process (Client-based work)

  • If I’m working on a client project, what is my interaction with them?
  • How does pricing work for client projects? How is development involved in coming up with these figures? What would my responsibility be in this?

HR

  • How do you run employee reviews?
  • How do you gauge employee happiness?
  • Are there any company events? travel?
  • Would I be required to interview people?
  • Do you have an official interview process?
  • Do new candidates write code during their interview?
  • How does overtime work? Are people compensated for overtime?
  • How does vacation work?
  • Are there sick days? Long term sick days?
  • Can people work from home? Do they?
  • Is there a 401K?
  • Is there a health plan? Dental?
  • Is there on-site parking? Do I have to pay for it?
  • Is travel involved for this job?
  • Do you have a company manual? Can I have a copy?
  • Do you have an org chart? Can I have a copy?
  • How is the development group organized?
  • Who do I report to? Who reports to me (if any)?
  • How transparent is the company with regard to it’s goals, it’s plans, it’s money?

Education

  • How do you make sure the staff is continually learning?
  • Do people get a dedicated budget for things like attending conferences, purchasing books?
  • Do you allow people to travel to speak at conference during company time?
  • How do you track staff technical skills? Current abilities, wanted improvements?
  • Do you have an official mentoring system?

Tools

  • Do you use the best tools money can buy?
  • Do you have testers?
  • Do you do hallway usability testing?

Code

  • Do you use source control?
  • Can you make a build in one step?
  • Do you make daily builds?
  • Do you have a bug database?
  • Do you fix bugs before writing new code?
  • Do you have an up-to-date schedule?
  • Do you have a spec?
  • Do programmers have quiet working conditions?
  • Do you do code review?
  • Do you do pair programming?
  • Can I have a tour of an active project’s code base?
  • How many developers are there?
  • What is the proficiency ratio between senior level / mid level / junior level developers in the company?
  • Do you let people jump around from stack to stack or do most people stay focused on their specialty?

End of list. Best of luck with your job hunt!

Quick CocoaLove Recap

CocoaLove was a huge success. All of the talks were well received and the attendee side conversations vibrant and interesting. I think I saw 2 laptops open all weekend which to me is a huge sign people were engaged with our content. If you missed out, check out the CocoaLove site for some highlights of our tweet/photo live stream.

While they’ll never capture the event in its full glory, we did record the presentations and will be editing them over the next few weeks to make the available on the web. To find out when the videos are up I’d signup to the mailing list or follow the @CocoaLoveConf twitter account.

I want to thank my fellow organizers, the speakers and the attendees for helping provide a weekend I’ll remember forever.

In particular I’ll give special props to Curtis whom sacrificed countless hours attending to hundreds of details that resulting in a level conference quality that is hard to achieve. Great job!

Phone Names

I love coming up with fun names for my computer hardware. My computers typically are named after video game characters, for example my Mac mini CI server is called GLaDOS. She loves to test. My phones have similar names.

Ash's Pokemon Dex

For my first iPhone, an iPhone 4, I named it Dex after the device Ash uses in Pokemon to look up information. (Not to be confused with the app of the same name I made months later to do just that.)

Navi

For my next phone, an iPhone 5, I choose “Navi”, named after the sometimes helpful yet interruption loving fairy side kick of Link in Zelda: Ocarina of Time.

Ziggy

For my new iPhone 6 I went with Ziggy, as in the device / computer AI from Quantum Leap. Feels appropriate for a device where I put in data and ask for advice.

As for the iPhone 6 itself, I think it’s pretty cool (really like the Touch ID and can’t wait to test Apple Pay) — though I am worried about dropping this phone. Not the easiest device to grip. Feels very smooth, too smooth.

CocoaLove Tickets

It’s September, which means next month is October, which means CocoaLove is coming up fast!

We’ve got a great weekend planned and if you haven’t already secured your ticket I’d do so now since we are starting our last marketing push to sell out.

Additionally, if you or a company you know are interested in sponsoring to help show your support for CocoaLove let me know. CocoaLove is passion project from some great folks out of our local CocoaHeads chapter who have donated countless hours in helping to organize this incredible non-profit event. Sponsor support will help us reach our stretch goals and make an already great experience that much better.

See you all soon!