Hawaii iOS Developer Meetup โ€“ Session 25

With all the announcements from WWDC 2017, I was eager to get everyone’s opinions on iOS 11, Xcode 9, wireless capability to build to your devices over the air, and my personal passion: ARKit.

I sped through the prepared talk on Bluetooth Game Controllers. Then we had a chance to discuss the new hotness from Apple.

I was surprised that Machine Learning with MLKit and the new Foundation class Coder that allows for easier serialization of data were big items that developers were interested in discussing.

I learned a lot from Jonathan, with his Functional Programming background, Ryan, with his experiences creating and reading JSON in his own projects, and Chae’s deep knowledge of data formatting.

So happy to have this group of developers to discuss, learn from, and guide through our mutual learning of Swift.

We’re covering Firebase Analytics at the next meetup. RSVP if you’re interested in attending!

Hawaii iOS Developer Meetup โ€“ Session 24

Core Data is a subject that has always been spoken about amongst the iOS developers I know, in hushed tones. That’s why it was so great that Adam Smith, one of the developers at the meetup, suggested that he was willing to do a talk at the meetup on Core Data.

Adam’s presentation was well thought out. He prepared a talk that took us through all 4 types of data persistence available to iOS developers:

  • UserDefaults
  • KeyChain
  • NSKeyedArchiver
  • Core Data

And once he’d taken us through the pros and cons of each solution, he did some live coding that showed us how he sets up a project to use Core Data.

I especially like how he brought some humor into the live coding by naming his project CuteDogs. Hilarious. It reminded me of Joel Spolsky’s blog post on Painless Functional Specifications.

This week we’ll be covering MFi Bluetooth Game Controllers in Swift. RSVP if you’re interested in attending.

Hawaii iOS Developer Meetup โ€“ Session 23

Gotta love the mob programming challenges. I feel that that’s what the developers (even the ones who don’t end up participating) enjoy the most. There’s something magical about watching other people code.

This week’s topic was Foundation. I was at a loss for how to prepare for the subject this week. In order to learn more about the subject I first started by posting questions to the developers on the meetup page:

What are you most interested in discussing with Foundation?

I got a request from O’Neill to compare and contrast Foundation and UIKit. I got a request from Ryan to go over localization. With those 2 requests in mind, I got to work researching Foundation, Localization, and UIKit.

In my research I learned that UIKit is written on top of Foundation. So there are no real tradeoffs or benefits – by using UIKit, you need to bring in the Foundation framework.

I looked into Localization to attend to Ryan’s request to find out more about how he could localize menu items in his app TouchOven. When I researched further into Localization, I found that there is a full Localization library that can be utilized. With the idea of focusing on Foundation from the extending and open source scope, I pivoted and started researching more about the open source aspects of Foundation.

Turns out that Foundation is a rewrite of Foundation from Objective C. The Foundation class is being re-written in Swift to leverage the Swift compiler. Not all of the functions that are in the Objective C implementation of Foundation. In the meantime they are suggesting the developers create bridging headers to access the additional capabilities of Swift’s Foundation while the ports are still being made.

Fantastic meetup and lots of gaps in my knowledge regarding Swift have been cleared up. Next week, Adam Smith, will be delivering a talk on Core Data. I can’t wait! RSVP if you’re interested in attending!

Hawaii iOS Developer Meetup – Session 22

This week I prepared something different for the meetup. Usually I create a playground with a bunch of code to execute with the group. This time I did some research online and prepared it as a talk for the group.

I also liked talking about anything that was unclear from the previous meetup. I started out the session, after introductions, with a request for any questions or feedback from the last meetup.

Joanne had asked about the code we covered last week regarding reduce. It wasn’t clear that the accumulator was the first parameter and the closure was the second parameter. Ryan and Chae helped to explain.

Then we got into the discussion about Classes vs. Structs vs Enumerations. I love the preparation that I can do before these meetups. I learn so much. We had a nice discussion about the strengths and weaknesses of each data type.

I was happy, through my research, to find the best practices regarding the use of Classes vs. Structs vs. Enumerations.

I am glad to report back that we reached concensus that the way to create data models for your iOS projects is to always start with an Enum, then if undefined cases come up in the program creation, we should switch to using structs. Then and only then, if we need the actor to talk to other objects and control them, we should start using classes.

This week we’ll be covering Foundation. I asked for feedback from the group to prepare for the talk. So far I have gotten requests to compare UIKit and Foundation and another request to cover localization (support languages such as japanese, korean, and spanish).

If you’re interested in attending the next Hawaii iOS Developer Meetup, please RSVP.

Hawaii iOS Developer Meetup – Session 21

I managed to get the streaming computer to work correctly this week. We had a few technical difficulties. I find that narrating my way through them tends to put everyone at ease through the process.

Last time we met we discussed closures and I had loaded too much content into the talk. This time we covered Results, Errors, and Optionals. I am glad that I prepared just a light talk on the material. We ended up discussing guard let and if let for a good 20 minutes.

I shared with Joanne that I had read something about group sessions and how it’s wise to leave room at the beginning of the meetup to review anything that was unclear from the last meetup.

This time through I asked at the beginning of the meetup, after the introductions, if anyone had questions about the last meetup on closures. Joanne brought up the fact that the mapping functions Chae wrote at the last meetup was unclear. So we took about 15 minutes to discuss that section.

Going forward I am planning to loop back around at the beginning of the meetup to leave room for discussions of questions that lingered from the previous meetup.

I’m glad to have discovered this method of looping back around, seeing how effective it is in promoting continuity in the meetup, and to make sure that the time we have set aside for meeting is rife with learning opportunities, psychological safety, and powerful swift programming.

If you’re interested in attending the next meetup, we’re covering Classes vs. structs vs. enums. Please RSVP if you’re interested in attending!

Hawaii iOS Developer Meetup – Session 20

No stream to share this time. The camera was set to record with OBS but the computer thought it was still connected to 2 monitors. I was not able to aggregate all running programs on one monitor and restarting did not help. So I decided to proceed with the meetup without streaming or recording. And it went well. I believe everyone learned something new.

I felt like I was trying to cram too much space into a single talk and ended up lecturing at the attending developers more than teaching and letting them ask questions.

Good notes for future meetups.

We did have a chance to go over the exercise I created for the meetup. I created a function that doubled, removed odds and summed the total.

The Mob Programming challenge was meant to have them get into the hot seat and code. Getting over that fear of doing something in public is central to my ideas in terms of learning how to code. And doing it well.

I shared a story that reminds me to just throw my hat into the ring, especially if I’m afraid.

When I was about 16 years old, I had been playing the guitar for about 4 years. My friend Johnny told me about a jam circle in Aiea that I just had to go to with him. He didn’t really share the logistics or how the group worked and I didn’t ask. I packed up my Fender Strat and took my tiny amp and Johnny picked me up in the morning.

We drove to Ewa. Took us about 20 minutes. We parked in a strip mall. And walked our gear up stairs. The drive took longer than expected and we were about 15 minutes late.

Johnny opened the door and I followed him in. There must have been about 30 old-timers sitting around jamming together. I was intimidated but tried not to let it show.

I sat down and watched Johnny take out his guitar, tune it, and set up. I was frozen.

The other men acted like they had seen Johnny before too. I don’t think he had ever been here before.

I sat there, still frozen.

One guy started the riff, easy 1-3-5. Then each person in the circle would take his turn (about 2 minutes) riffing leads over the chord progression.

Johnny did a good job riffing.

When it came to me, I said that I wasn’t going to participate. So I sat there and listened for 40 minutes. Just sitting there and feeling like shit.

Nearly 20 years later, I still remember that day. I remember it because I regret it. I should have gotten my guitar out, plugged in, and ego-be-damned, played my little heart out.

I shared this story with the meetup attendees as a caution to get out of your comfort zone. And a reminder that we are all beginners. And that you just need to get started to get going.

I’m looking forward to tonight’s session on Result Errors vs. Optionals!

If you’re interested in attending the meetup, please RSVP.

Native Hawaiian culture and App makers == Purple Prize

“Pili” is hawaiian for “a time of closeness.” This weekend I was lucky to get a chance to participate in the Purple Prize. Much pili was had! Read on to learn what we learned!

Early Morning

We started out at the Lo’i (Hawaiian taro patch) for some service work. I biked to the Lo’i and locked up my bike at 7:20am on Saturday morning. I saw Bruce talking to Forrest on one of the park benches and walked over to say good morning.

We were the first ones there and the coffee had not yet arrived so we sat around on our phones – quick tech warm up before the event started.

I checked “Chess with Friends” and submitted my moves.

As people started arriving the morning air heated up. Once everyone had shown up we gathered in the traditional A-frame house that had been constructed on the Lo’i. I knew we’d be doing some yardwork later in the day so I made sure to post up in strategic positions where I’d be in the shade.

We gathered hands and shouted introductions.

There were about 30-40 people there. Gotta remember this style of introduction: “Who are you? Where are you from? Who are you representing here.”

My turn came and I shouted, “David, Manoa, Hawaii iOS Developer Meetup!”

Everyone clapped and it was on to the next.

I met a guy named Kirk and had a good time sipping my coffee from a paper cup. I learned that Kirk is participating in a Google AdSense competition.


We walked up to where the river had been diverted into a side-stream to water the taro and purify the water. It’s a beautiful system. I wish I had taken more photos, but I’m holding out hope that they’ll be posting videos from the event soon. EDIT: Video posted ๐Ÿ™‚

Once we sang a mele (song) about the river and the water, we walked back to the Lo’i and started doing yardwork.

Service Work

We gathered the fallen mango leaves into large plastic buckets. After about 15 minutes of gathering leaves we dumped them into a fallow taro patch. I was looking forward to this next step all month. Time to hehi hehi (Hawaiian word for the process of stepping the dried leaves into the wet taro patch with our bare feet)!

I was lost in thought stamping the leaves into the mud when, Matt and Raychong from Box Jelly came over to introduce themselves and say hi.

We were right in the middle of talking shop when ‘Imi, the Native Hawaiian Lo’i expert advised us to form a solid line to “comb” the taro patch by walking across together. We did one final walk to push the leaves into the ground.

Our “hehi-hehi-fun over,” I biked home to take a shower. We were to reconvene at Halau I’Nana, the old Napa Auto Parts near Anna O’Brien’s at 10:30am.

Information Sessions

They’ve really done a swell job making Halau I’Nana into a solid meeting/events/makerspace. It’s beautiful inside and air-conditioned.

The information sessions started next.

Kelsey set the ground rules for the event and shared the bathroom location. Tom Pena went first. He’s walked the islands and mapped out traditional water-ways. He printed a HUGE map, at least 12ft X 12ft. He took us outside and we all took off our slippers and shoes.

We walked over the map and he pointed out specific points sharing Hawaiian lore and history I’d never heard before – fascinating stuff about constellations, different islands being governed under different systems, and a geographic location in the middle of the island that Tom believes is the main source of all fresh water on the island of Oahu.

We put on our slippers and shoes and went back inside to cool off.

Next, Manulani Meyer, shared insights into indigenous epistemology that give new meanings to ancient Hawaiian myths and language. The combination of Tom’s talk and Manulani resulted in two powerful takeaways to me:

  1. Water and the way it flows informs time. “Water is the arteries of our lives. Clean water, clean ideas.”
  2. Cultural approval is often required but no one knows who/how to ask.

Next up, Maya from UHM, shared her program Seeds for Peace and the importance of forming a 360 view on building peace building leaders. The most memorable quote I took away from her talk was when she discussed her talks with Indonesians living in Java, “We live in harmony with the disaster.”

After the talk I thanked her for sharing her story with us. The last presenter discussed the alarming statistic I’m hearing from so many people on the island,

“Did you know that we import 90% of all of the food on the island?! We maybe have a week of food if shipping is halted.”

Next we had a delicious meal of locally prepared poi, salad, stew, beef, and curry. I brought my own wooden plate and pair of chopsticks ๐Ÿ™‚

Competition Warmup

Another thing I wanted to document from this event was a process called smallify. I won’t go through the process here because it’s all spelled out on their website.

Smallify’s the best process I have every gone through in ideation. Here’s an image that details the process:

Competition Takeaways

All in all this was a fantastic opportunity. I’m very thankful that Nohea shared this event with me. Wonderful time!!!

The next step is for people to formally submit their ideas and rally a team around their idea. In 6 months, the judging will take place. I can’t wait to see what people create.

Now if I could only get one of those sweet Purple Mai’a tshirts ๐Ÿ™‚

Unsorted takeaways:

  • The price of water sensors has dropped DRAMATICALLY within the past 7 months. So much so, that a sensor that traditionally sells for $20k can now be made for $100! Following up on this lead post-haste.
  • You gotta “Hana the Hana!” – this means you gotta work the work. Do the work to get something out of it!
  • Everyone wants to help. Just give them an opportunity to help.
  • Couldn’t shake the thought, “If the water could talk, what would it say?”
  • We want to focus on “Mana-tization” – Kamu

Click on the following link if you’re interested in learning more about the Purple Prize