Rabbits and Dice

This past weekend, I went to the Durham Public Library for an event called – Dice & Decisions: Role Playing Game Demonstration.  The organizers have been hosting a series of events about gaming with a local game development called BullyPulpitGames. Our host for the day as Jason Morningstar – one of the owners of the company.    The way the day was designed to allow people to play one of three games: Fiasco, The Warren, and World of Dungeons.  There were about 20 participants who came to learn about games, and spend some time playing.

Everyone got to choose what game they wanted to play… I choose The Warren, which puts you in the role of a rabbit within a Warren (hence the name).  Think of this as playing a character in the book (and movie) Watership Down.  The really cool thing about this game was it changes the dynamics of how you think of your character.  Rabbits have a short and dangerous life, players will probably die during the game, and can come back as another rabbit.  You start thinking in a generational way, because rabbits reproduce quickly (well like Rabbits!)

Jason was our game manager, and we each had to pick a rabbit.  You choose various characteristics to give your rabbit personality, and get one card which provides a skill.  My Rabbit was a mangy, runt, with an ear tag – meaning I had been captured by humans at one time.  The card I had was called “Dead Eyes”, which allowed me to reset my panic score by taking a scar.  Panic is a key attribute that you have to manage, since it will cause you to do things that you may not want.  I had put my skill bonus into Shrewedness, thinking that my bunny had been experimented on to increase intelligence. This lead to my low strength score and high panic likelihood.

The rest of our little band included Barley (who was hard of hearing but had incredible eyesight), Meadow (how had no fear of foxes and knew the secret of at least one fox), Basil (who was marked for death), and Ash (another runt who could ge  in and out of tight spaces).  We belonged to a very large warrant which was behind the library.  Chestnut was the rabbit in charge (and Barley’s father).  Our Warren was starving and we were sent out to find celery.  Meadow knew that a fox named silver was in the area, and we were stuck in a area with a possum.  Fox is blocking our path home, so we cut a deal with the possum to allow us to escape.  meadow would try and lead the fox on a goose chase, while we made a break for it.  Meadow barely made his escape, and we ended up digging under a near by house, only to be confronted by a big nest of rats!!

Well none us had trained to fight, so I negotiated with the rats to help us find the food. We got the information, but they tried to surround us.  We got away, but one of use was injured (I had who in my draft blog post, but lost the whole thing!  So sorry about not naming names).  When we got to the plentiful garden with the food, it had a terrier guarding it.  We snuck in and started eating a bit of food, only to be seen and barely escape.  During our escape Barley saved us all, but we made it back to the Warren with no food.  

Chestnut was very upset since the the needs of the Warren are more important than any individual rabbit. But since Barely had been brave to save us all, he demoted the captain of the guards (a paramilitary bunny named Jeffrey) and sent us back out to get the food with a little help.  Jeffrey’s was upset by this and left the Warren.  On our trip back to get the food, we lost our help, they got hit by cars! (The life of a rabbit).  

Each of us gained new skills that night and I picked up the ability to fight.  The only rabbit who could.  This would soon come in handy.

We made it back to the garden (late at night) and saw that the dog had been put back in the house.  Our nice hole to get under the fence had been blocked by a board, so I tried a new feet, I climbed the chicken wire fence.  Success!!!! So all bunnies now knew how to do this.  Ash tried to grab some food and immediately got hit with a trap and died!  Trying to free him the dog started going nuts in the house, and the owners let him out.  We had tons of food by now, and escaped back to the warren.

The game took two hours, used dice infrequently, and was totally captivating.  What a blast!  I hope to get more time to play with this group… And perhaps I can get Jason on my podcast over at GamesAtWork.Biz

Site rebranding complete

I’ve been trying to rebrand the site to a personal blog, since that is what it has become, since midsummer… But between day job activities, travel and technical difficulties, that just didn’t want to happen… So now it is complete. I will be moving over my iPhone Development blog over here too, soon.

Thinking about simplifying the theme a bit too.. We shall see.

Day 3 – CES 2016

Wow, Amazing day, got a full 4 hours on the show floor, and was able to see a ton of really cool tech. Unfortunately I will miss Day 4, due to flights, but what did I get from CES this year.
1) The IOT is main stream. Many companies are still showing their own platforms. Tons of devices are sending data to the cloud.
2) Health and wearables are where the growth is. While automotive and connect home, are still showing new and cool things, the real buzz is around wearables, health and fitness.
3) I did not see many connected appliances, but I didn’t get to every hall.
4) Vinyl records are back! I saw multiple companies selling new turn tables. I took a picture off this one for my dad.

This one is based on the designs of old muscle cars.

This one is based on the designs of old muscle cars.

Is this a reaction to the DRM of digital music? We’ll find out soon.

5) One thing that I did not see, again I didn’t walk every hall, was anything on block chain. I guess this is not yet down to the level of consumers yet.

The follow gallery is all the cool pics I took today. Drop me a question via comments for any thing you see.

Day 2 – CES 2016

Sometimes the best laid plans….
This year, my goal was to spend 90%+ of my time on the show floor doing market research. I was then asked to help setup and give a quick demo, train a few people, and then be able to go back to my plan. Well, day one I got to spend a few hours on the top floor of the Sands Convention center talking to some cool companies:

FitBit blaze currently only has one light sensor for pulse it is a green sensor replaceable bands different it’s a square device and currently only they make replacement bands.

Tell Wellness is a isometric device that unifies exercise by making you press and hold the device at various levels in the areas of the suppression

Levl – Created a device that looks for acetone in your breath to figure out fat burning. They are currently in alpha with a slow launch and go to market activities in the second quarter. They are looking at GA and consumer approach in the summer. The device scores the amount of fat that is being burned in your body on a day today basis and then allows for you to change behavior in order to improve fat burning activities

Temp track is a patch that does continuous temperature monitoring for between 24 and hours in real-time temperature. It attaches underneath the arm use a Bluetooth to transmit the data.

Solos it’s a heads up display for biking integrated into set of glasses integrates with me different sensors that you could normally have on a bike for training. 

United technologies does custom ear scanning. They will be starting a kickstarter in a couple of months. Really cool tech for building highly custom fitted earbuds for musicians, podcasters, and industrial environments.

These were all on day 1. So I thought I would get much more time to look at the main floor, see the AR/VR demos, look at all the new cool automotive technology, etc. I ended up getting very little of this. Our CEO gave a keynote on Wednesday evening, and this morning we had do demos of the press. Before I could get out of the booth I had many customers I who wanted to see demos. (I am not complaining at all, it’s always great to talk with customers, get their feedback and insights, and learn). This meant it was after lunch when I finally was able to head to the main convention center.

I caught the shuttle bus and went into the north hall. This is where all the car companies show their new technology to the “public”. I did my usually quick run thru to decide where I wanted to spend time. By the time I finished this (about 20 minutes), I got a call and had to come back for more demos. I spent the rest of the day in our booth talking with customers and giving demos.

I will add a quick dump of pictures for things I saw but didn’t get to look at in detail:

Day 1 of CES

Well, I had a draft for the trip over here.. that I worked on my iPad at the airport in Minneapolis but it wouldn’t upload, and now it has disappeared off of my iPad. So I guess we will never see all the cool insights about a delayed flight, and a snowy approach.

Today is Setup day for the IBM team here at CES, and I am always amazed at how these shows come together. A ballroom turns into a major meeting venue… With demos… and Cool Technology! All in about a day.
IMG_3617 copy
Here we all are listening to a kick off for the team. I’m looking forward to amazing week!

There were a ton of announcements in my feeds today that I hope I get a chance to check out, here’s a few of them:
Nuance Dragon Drive Platform
ThirdEye Pivots to Mobile
Parrot’s Newest Drone
Withings New Thermometer

Learn to Code in Swift – a Book Review

I had the opportunity to read the book “Learn to Code in Swift – The new language of iOS Apps” by Kevin J. McNeish, over year end holidays. I’ve been looking for a good book on Swift, as I spent last summer translating my own app from Objective-C to Swift. While I really didn’t know what I was doing, I had done a literal translation as a means of trying to learn the syntax of the language. Since then, I have been trying to get a better understanding of some of the differences between Objective-C and Swift, so that I may be able to clean up my app a bit.

I had met Kevin at MacWorld some years ago, and had picked up his first iBook on Obective-C. I found it to be a good beginner’s book. With that as a background I was looking forward to reading this book.

Let’s begin with the structure of an individual chapter. Each chapter has a specific theme, and within that theme Kevin spends considerable time explaining the specifics and concepts behind that that theme. Unlike many books, he doesn’t assume that you are an expert in computer theory or computer science. While he doesn’t go too deep on the theory, he does explain enough of it to help solidify the concepts of the specific theme. Each theme is broken apart into specific concepts or, if appropriate, API calls. He provides simple to understand code examples so that the concepts stick with you. He also spends enough time explaining the Xcode environment, which is a great boon for someone just getting started learning iOS programming. I have yet to find a book that does this, so it was refreshing to learn a few tricks I had not yet discovered.

Quick aside: Years ago when I first started programming professionally, I had to share a development environment with the production system on an IBM midrange computer called the System 38. The customer I was working forward got upset with me, as I used to treat it like a PC, i.e. Write some code, compile, look at the syntax errors, fix them, write some more code, rinse and repeat until the program was done. My boss came to me one day, after getting many complaints that I was impacting the customers business with all my compiles, and said – “Michael, you only get three compiles to get a program finished. One for syntax, one for debugging, and one for production use.” I was floored… How would I ever do this, well the answer was, learn how the computer thinks. Desk check your code, and program flow – making sure to fully understand all the inputs, behaviors, and outputs. This advice changed the way I programmed. I feel that I need to understand, not only the big picture, but the details and how the operating system works.

In Learn to Code in Swift, Kevin helped me get a much deeper understanding of the actual behavior and reasoning around many of the concepts I had tried to pick up by converting my code last summer.

Continuing with the structure of the chapters, Kevin then provides a handy summary of all the points he just presented. I can imagine a companion book that just consists of those summaries. Perhaps this is how he structured his outline for the book. But I find myself going back to those pages to reinforce the lessons. He then provides an exercise to allow the reader to practice what they just learned. And finally, and I love this part, he provides a video online to walk you thru the steps making sure you got the exercise right. And as with most programming books, all the source code is available for downloading.

Overall, I found this book to be an excellent starting point for people wanting to learn Swift within the context of iOS programming. Now that Apple has released Swift into Open Source, I am sure that the language will grow and mature quickly. Having a good understanding of the fundementals of the language is critical to take advantage of it overtime. Kevin’s book certainly provides you with that foundation. Highly recommended.

A month of the iPad Pro!

It has been a month that I’ve had the iPad pro now, and I can say I love it. It is not perfect and I will go thru a few of the problems I’ve had with it, but let me go thru what I like.

1) The screen – yes it is an amazing screen. It is big, bright, and has an incredible resolution. I’ve been amazed at how well Apple has address the scaling issue that SO many apps have. (More on this later). I am able to use the screen for very long periods without eye strain. For movies and podcasts, it’s as good, if not better, than my 27 inch iMac.
2) The Apple Keyboard – it took me about a day to get used to the keyboard. After that I find that I am typing almost as fast as my desktop keyboards. I do find that very infrequently I incorrectly position my fingers, and then all bets are off. It is light, and the covering actually makes it pretty comfortable to type on. I wish that I could adjust the title on the keyboard a bit, as I’ve been developing a major case of carpal tunnel over the last few years, but when I have to do a lot of typing it is more effective than my other iPad keyboards I have used over the years.
3) Speed – one thing that is interesting about the iPad to me, it has always been fast enough. I know that this one is faster than my iPad Air, but do I actually notice the speed? Not really, but at the same time, I’ve not noticed any slowdowns. To that end, it is running well.
4) The Apple Pencile – I got mine, a few weeks ago. I played with a tiny bit. And overall, it feels good in my hands, but I don’t really use it. I don’t have much drawing talent, and I don’t have much need to “markup” documents. So for now, this is a neutral device for me. It’s nice to have, but don’t think the average person will need it.
5) The Weight – yes it is heavier than the iPad Air. But so what. I find that I can easily take off the keyboard, and carry it like a clipboard. The weight makes it feel more substantial, and it is substantial in all respects.

The not so go:
1) Apps – I know that most developers do not have tons of time to keep updating their apps to the latest Apple technology. If you, as a developer, have kept up with Apple’s Xcode changes and recommendations, then all is good. All you have to do is add new sized graphics and everything is fine. Your app can be resized and run in side by side mode. But, most developer haven’t done this. And so, much of the really cool functionality doesn’t work for the apps. My day job is a great example of this. The apps I need for day to day work – IBM Connections, IBM Chat, and IBM Verse – none of these apps are updated to use this funcationality. I hope this is resolved quickly.
2) Keyboard – Apple enabled exchangeable keyboard in a prior release of iOS. I have been using TextExpander on my Mac and my iPad for some time. Swapping to the TextExpander keyboard (and other third party keyboards) is frustrating when using the Apple Keyboard. The external keyboard and the software keyboard tend to get confused at times… I am sure a future update will fix this.
3) Network – Apple has had problems with their wifi software both on iOS and OSX over the last few years. I am finding this same issue with the iPad Pro. Very annoying.

iPad Pro – Is it worth it?

I had ordered my iPad Pro and expected to get it shipped on Dec. 3rd. Friday morning I was having a coffee at my favorite coffee shop, when I got an email from Apple that I could pick it up at the Apple Store. Well this was Black Friday and I wasn’t looking forward to going to the mall to pick it up… However, I couldn’t resist going. I was glad I did, as the mall was not very full, the Apple Store was not full, and parking was a breeze.

About a week earlier my iPad Pro cover had arrived so I knew the size of the beast, but nothing could prepare me to actually having it in my hands. My pencil and my Apple Keyboard had not shipped yet, so I decided to spend the day using it as is.

Flipboard is back on my main screen and my Comics reading has increased dramatically. The size of the new screen makes it amazing for all kinds of content consumption. However, the real power is the ability to create new content. I finished setting up all of my day job applications, and find that Microsoft Office, IBM Verse, and Lotus Sametime, all work well. I am planning on trying to spend a whole week with my laptop in my book bag, and seeing if I can get away with only using the iPad Pro.

There have been a lot of posts talking about how they don’t like the keyboard. I am finding it to be okay (I am using it to create this post). The texture of the keys is kinda strange in that they feel like they are covered in a mix of plastic and cloth. The key travel is a lot better than the iPad itself (of course it is, since I never did like typing on glass).

The number of keyboard shortcuts are appropriate. And I like the fact that you can hold down the command key and they will overlay on the screen. Of course that only works if the app has been updated to support keyboard shortcuts, which not even all of the Apple apps have done. I am sure that will be fixed in iOS 10, if not sooner.

I will post more after my week long experiment, but I am already happy with the purchase from a size and speed perspective. I will hold judgement on it overall, mainly due to the high price.

Holy Crap Batman! It’s October

Well I’ve been crazy busy lately and decided I really need to post over here. I went into the site and realized I had a draft from August, where I was over loaded and decided I should blog here. What the heck happened!! This year is going fast, but the good news is, I’ve been having fun with WatchOS2 and hope to have an update to my Wasted Time App that works with the phone soon. I am currently able to receive updates on the watch from the phone, but the technique to receive messages on my phone from my watch is not working. I am sure it is something I am doing, but since I am not successfully able to debug both the watch and the phone at the same time this little glitch is going to take a bit longer to fix.

Found this FINALLY:
The WWDC talk Building Watch Apps discusses how to do this.

Basically select the Watch App as the scheme in xcode, hit build+run which will build the iOS app and WatchKit app, install the WatchKit app on to the Watch and attach the debugger to the WatchKit Extension. Then in xcode select the iOS app in the scheme selector and select the iPhone as the target device, launch the iOS app by tapping the app icon on the phone and in xcode in the menu bar select “Debug > Attach to Process” and select your app in the list. This should result in having xcode attached to both processes at the same time.
If you want to debug something early in the iOS app’s lifecycle you can select “Debug > Attach to Process by PID or Name…” and type in the process name of the iOS app prior to launching it manually. This way the debugger will be attached right when the app launches.

Hope this helps!

Hope everyone is having a great year!

Is it worth releasing one-way communications

I have successfully updated Wasted Time so that you can see on the Watch in near real time the updates from the iPhone app.  I am having some difficulty with debugging so that the updates on the Watch will show up on the iPhone.  Are there people who would like to see the app as it stands or should I wait to release upon confirming that the Watch can update the iPhone?  Drop me a comment below.