2019 360iDev Conference Day 3

How to stay excited in a world that is falling apart

  • Looking Back
    • Where we have changed people
    • We are amazing people
  • It looked so easy to create a youtube channel
    • Don’t fear Failure
  • Being a successful programmer
  • Life too is an iterative process
  • Enjoy their laughter
    • Does it make a difference?Should stop arguing and focus on results
    • It’s nice to be right. It’s better to be effective.
    • What people get wrong about business?
      • Problem
      • Business
      • Profit
    • Look for the helpers, then help then

The opportunity to

  • Empathize with others
  • Learn how the world really works
  • Find weakness we can address
  • Do better the next time
  • Laugh at ourselves

Changing your luck

  • Finding the opportunities in the bad
  • Remembering to look back at accomplishments
  • Seeing what is there instead is not there
  • At least trying to achieve your dreams
  • Seeing the up and downs as parts of the whole

Recommendations

What is the best thing about the world ending?

  • Don’t waste time on things that don’t matter
    • What really matters is to you!

WebSockets: Adding Real-Time Data to Your App with SwiftNIO and Network Framework

Http Protocols

  • Stateless
  • TCP
  • MIME
  • Secure

HTTP/1.1 vs HTTP/2

HTTP/2

Upgrade Negotiation Request Headers

  • HTTP will ignore and send 1.1 response
  • http/2 will send a 101 Switching Protocols

HTTP-Hacks

  • Polling
    • Request on Timer
    • Client makes request
  • Long Polling
    • Blocking request and awaits for data
  • SSE
    • Server pushes back over time

WebSockets

  • Bi-directional message oriented
  • UTF-Binary Message
  • Subprotocols
  • WebSocket Protocol vs HTML 5

RFC 6455

WebSocket Upgrade Negotiation Headers

  • Version
  • Key
  • Accept
  • Protocol
  • Extensions

SwiftNIO

Why would we use NIO

  • Custom protocols
  • Effieiency / Scale

Server Side Swift

Ios12 and 13

  • Network Framework
  • URLSession Support

Codable Deep Dive

 

slides

If You Liked It Then You Should Have Put A String On It

https://github.com/rachelhyman/emoji

Intro to Serverless Computing with Swift

Where can we implement serverless in our app?

Why use serverless?

  • Scalability
  • Pay per use
  • Decreased time to market
  • Event driven scenarios
  • Offload CPU intensive tasks to the cloud
  • Integration with cloud services

FASS (functions as a Service)

  • IBM
  • AWS Lamda
  • Azure Functions
  • Google

www.serverless.com

No Biz Like Show Biz: Video Recording Your App for Marketing and Instruction

http://bit.ly/ShowBiz360

  • Tagline: What’s your story?
  • Bloom’s Taxonomy
  • 5 minute app
  • Script – The Hero’s Journey
  • Script – You are the Obi Wan
  • Script Structure
    • Intro – crisis
    • Narrative – journey
    • End – award
  • Script Styles: Text Only
  • Script Styles: Documentary
  • Edit & Rehearse
  • Production
  • Live Action
  • Screenshot
    • Screen Capture
    • Microphone
  • Slide Deck
  • Microphones
    • Single Durational Mic off of Amazon
  • Screen Capture Software
    • QuickTime
  • WorkFlow
  • Demo System
  • Teleprompter
  • Tablet
  • Set your Stage
  • Distraction Screen: Start at blank home screen
  • Record
  • Aim for one take
  • Find producers
  • Saving and naming
  • Post-Production
  • Imovie
  • Mix to Mono
  • Publishing
  • App Previews with no talking only sound

StoreKit And The IAP Lifecycle

Creation to Realization

NAMI: help app developers make money and not sell data

https://nami.docsend.com/view/dcsw9r8

Venturing Into the world of RxSwift unit testing.

https://github.com/elenipapanik/SignInApp

RxSwift is similar to other RX frameworks

2019 360iDev Conference Day 2

The conference kicked off at 9:30 a.m. on the 2nd floor of the Grand Hyatt.

The conference uses a 3rd party app http://www.essemble.us/ for scheduling of the conference.  I found it very useful to know session information, times and location.

Building Meaningful Software

I have the ability to learn and have the imitative

  • Make a GitHub account
  • Joined a game development lab
  • We Read Too
    • Women of Color Book
  • A app is not going to save the world?
  • Technology is a tool. It is not a solution.
  • How can you create meaningful tools that have positive impact?

Think outside yourself

If you’re building something, test it with folks who experience life differently from yourself.

Think about times where you or someone you know has struggled to find or access something important.

Pevo : is a national app for domestic violence.

Lyra : is a speech app for kids with autistim

  • Extend your knowledge beyond yourself
  • Mentor Others
  • Volunteer with Organizations
  • Spend an hour chatting with someone

Takeaway

I am here today because people saw the potential in me and gave me a chance. If you are in a position to do so then do it.

Think Different

Autism is a neurologic condition. It is an inability to cope with sensory input. Everyone hearted the support dog.

Do we have financial incentives to behave bad?

We social allow bad behavior. Which rules do we all to break?

How to work with Autistic people

  • Making decisions is expensive
  • Changing or maintaining a day
  • Don’t Selectivity enforce rules
  • Eliminate Sensory Distractions
  • Make user Stories as detailed as possible
  • Communicate through Writing
  • Blunt/Honest != Personally Negative

Swifty TensorFlow

https://www.tensorflow.org/swift

Slides

Why Machine Learning is important. You take data, put label’s on features to generate models then you do predictive

  • Features
  • Labels
  • Models
  • DATA
  • Kaggle.com
  • Supervised Learning
  • Training Rate is choosing the correct learning rate
  • Layered Neural Network
  • Machine Learning Terms
  • Loss Function
  • Validation Data vs Test Data
  • Dropout Rate
  • Batch Normalization

Tips and Tricks for Working with a New Codebase

Slides

What a makes a new codebase different?

  • Terminology
  • Conventions
  • Files
  • Architectural patterns
  • You did not write it

The Laws of Magic

Kick your 3rd party networking library to the curb

https://tim.engineering/360idev-talk-kick

Managing Multiple Projects Without Losing Your Mind (Probably)

Slides

App Store Optimization for the Rest of Us

slides

https://appfigures.com/resources

https://appfigures.com/resources/keyword-optimization-app-store-connect

https://appfigures.com/resources/get-your-ios-app-featured-on-the-app-store

Competition on placement of App Store

How to find apps on app store

  • Featured App
  • Find Category until they find the app
  • Searching

Optimization of App Store

  • Set of techniques of find the best keywords get your app in front of right people
  • Way to indicate to apple what your app is all about in a way their search algorithm
  • Set of best practices for make sure people understand what your app does
  • Experimental mindset

What optimization isn’t

  • Spam the app store or trick algorithm
  • Don’t have time or money to spend

Four components of App Store Opitimization

  • Research
    • What is this app going to give me?
    • Features, benefits, tasks
    • The apps that show up that are similar or are competitors
    • Are those keywords used
    • Popularity 1 low 100 high
    • Use app intelligence tool
  • Research Mistakes
    • Using keywords that are irrelevant
  • Keywords
    • Turn words into something that matters
  • Keyword of importance
    • Keyword List
      • Use variation of full test search
      • Split into single words
      • Separate with, remove all spaces
      • Removal all stop words
      • Don’t include your app, company or category
      • Use all 100 characters
    • App’s Name
      • Include the most important keywords
      • Order is important. If it isn’t a brand, push to last
      • Most important words are in title
    • App’s Subtitle
      • Have a subtitle
      • Use all 30 characters
      • combine with keyword list
  • Visuals
    • Convey what your app does quickly
    • Everyone checks out the app’s screenshot
    • Video’s show how easy
    • Icon
    • Screenshots
      • Sell it quickly
      • Color engage the eye
      • Add contrast to App’s UI
      • Short simple captions to describe what the app can do
      • Humanize the app by showing action, in the context of a real person
    • Mistakes with screenshots
      • App’s UI
      • Sorting screenshots by order of use not benefits
      • Too much text
      • Capture boring UI
    • Video Good For
      • App preview is an opportunity to showcase
      • Tie what you show to important keywords
      • Excite the person watching
      • Promote the biggest benefits and app offers with captions, voice over
      • You get 3 videos
      • Sound
      • Customizing the post shot
    • ICONS
      • Use your logo and brand colors
      • Use bright colors
      • Avoid text
      • Don’t pack to much detail
  • Monitoring
    • Keep track of performance
    • Look at keyword rank

PDFKit

https://github.com/mitchcohen/360iDev2019-PDFKit?files=1

Build immersive experiences with ARKit and CoreLocation

https://github.com/intere/360iDevARNavigation

slides

2019 360iDev Conference Day 1

I left Omaha airport to in Denver on Saturday night. I took the rail car from the Denver airport to downtown Union Station.

I then walked to the Grand Hyatt Denver Hotel. Which was about 20 minutes.

Pre-Conference Lab

Generic Swift. It isn’t Supposed to Hurt

Taught by Rob Napier

http://robnapier.net/start-with-a-protocol

https://github.com/rnapier/generics

This was a live coding workshop using playgrounds. Opening statement

“Write the most concrete implementation before a protocol.”

Notes:

  • Real Life Protocol
  • Codeable gives me certain power
  • Protocols don’t conform to itself like a class when inheriting.
  • Type signature can be a parameter in func
  • Retroactive Modeling
  • When I use a class it is because I need a reference type not to do inheritance.
  • Classes have a meaning.
  • Any value type should have a equateable.
  • SwiftUI uses data in background.
  • You can turn any result into a throwing method.
  • If you put a static method on a protocol then it is inherited by other protocols.
  • Reference semantics
  • Typing a name of a Protocol represents protocol.
  • Single value containers
  • Typealias
  • phantom type.
  • TypeEraser get ride of type information

Everything you know is about to change

Combine

https://github.com/jacobbullock/LootLogger

 SwiftUI

  • Declarative
  • Automatic
  • Compositional
  • Consistent
  • One framework for all devices. The views will need to change
  • No matter InterfaceBuilder or AutoLayout
  • Better ways to build programmatic views.
  • SwiftUI will handle the Declarative View.
  • Composition over Inheritance
  • The views are collapsing down. A view returns only one.
  • Font’s and colors return a view
  • Property Wrappers
  • All property values to be wrapped by various types.
  • @State: is a property Wrapper. When state updates, the property redraws.
  • A new view is a VStack
  • Containers
  • HStack
  • Trailing Closure Syntax
  • @ViewBuilder is a property wrapper.’
  • Ten View Limitation is a complier errors when more than 10.
  • Migrating from UIKit to SwiftUI

GIT

I did not attend this workshop, but found the slides fascinating.

https://aijaz.net/360git.pdf

Git merge is becoming Git switch & Git restore

https://flaviocopes.com/git-bisect/

NoBiz Like Show Biz.

Blockchain Development Group: Libra

This evening I attended the Blockchain Development Group  hosted by Farm  Credit Services of America.

Started with networking and Pizza.

libra

Libra

Tonight’s talk was on Libra by Kyle tut of pinata.cloud.

Validators

Libra validator nodes are responsible for validating transactions. Experimenting with node validators.

Developed as a smart contract language. Learned from solidity. Integration will be done through modules. The 2/3 majority will need to approve.The main goal of Libra is to be stable. They have not solved problems with Ethereum.

Calibra is own by Facebook. It is a digital wallet. It is also a partner.

Re-seller takes money and puts into the Reserve. Then money in exchange will be put in Libra. Not much different then a global ACH network. The goal is about controlling where the amount is stored.

There will be regulatory considerations. If successful won’t have to deal with regulations as other financial transactions are. Libra is a digital currency not a crypto concurrency.

Google Developer Group Omaha: Intro to Flutter

This evening I attended the Google Developer group hosted by CRI at the Travel and Transport building.

trave and transport

Started with Introductions: Such as I am Anthony Carlson. I am the Lead Application Developer at Farm Credit Services of America with emphasis on the iOS and Android platform.

Intro to Flutter

Tonight’s topic was on Flutter. An intro to Flutter and Getting a Flutter app to production were the topics. Flutter works as a plugin in Android Studio. You can connect to the iOS simulator.

  • Portable UI toolkit
  • Native Mobile or Web
  • State Management
  • Compiles to native file

App built is a Tree structure. Everything is a widget. There is also a process for developing a package and plugins. Scaffolding is very similar to material design. When you develop you are acting in a state. Let flutter manage state. The more complex or nest widgets is when state management.

It was a brief talk, but educational.

Azure May Meeting

I attended my first Azure meeting at the Microsoft building in Aksarben.

The group meets last Wednesday of the month at 3:00 p.m.

The topic was on Microsoft’s Azure Service Fabric is the PaaS (Platform as a Service) offering for service-oriented systems. By leveraging the same platform Microsoft uses to build their own services (such as Azure SQL Database and Azure Cosmos DB), developers have access to a wide range of tools to improve scalability, reliability, and management of their microservices systems.

In this talk, Sr. Software Architect Andy Unterseher will explain what Service Fabric is, how it is hosted in Azure, which types of applications are best suited for it, and some situations where it may not be appropriate. Using a live application, Andy will demonstrate how to develop with Service Fabric and show how to deploy it from Azure DevOps. He will compare Service Fabric to other platforms (like Kubernetes) and talk about the still-in-preview Azure Service Fabric Mesh.

Presentation

Hosting Services in Azure

I heard the term of iDesign which was talked at a topic at another meetup.
Function Apps
API Management
Kubernetes
Can deploy asp.net core and api’s into the service fabric.

State Management

Development Strategy
Two Solution
• Locally
• Azure

Should your solution know about Service Fabric?

Updates create a package of differential when updating.

Azure Devops
Template vs Yml file.

What does Service Fabric do?
Allows to host legacy code and docker. Recommendation is not to.

What is the different in Mesh?
Mesh is container based?

Pro’s
Fully Managed
Deploy across availability zones

AIM IT Leadership Academy: Graduation

 

About 4:00 p.m. after the AIM IT Leadership Academy: Reality Based Leadership Session every was escorted to the atrium where we will meet any guests that will be coming. My accountability buddy along with other teammates from Farm Credit Services of America were down there waiting.  There were free drinks and light appetizers from Upstream Brewery served.

At about 4:20 p.m. everyone was ushered into the auditorium for a graduation ceremony.

Each member of the graduation class was called up one at time to say a few words. I was given a triangle plaque with my name and graduation class.

I spoke about being thankful for the opportunity to be in the program. I also mentioned how the interacting with different members in the capstone cup was eye opening to how other companies work.

 

 

AIM IT Leadership Academy: Reality Based Leadership Session

On Friday May 3rd the last AIM IT Leadership session was held at Omaha Public Power District located at in downtown Omaha  at the Energy Plaza at 444 So. 16th Street.

This session was on Reality-Based Leadership.  This is based on research and book by Cy Wakeman. This is a local speaker who wrote a book on the topic.

The principles of Reality-Based Leadership include:

  • Refusing to argue with reality
  • Valuing action over opinion
  • Leading first, managing second
  • Bulletproofing employees so that they can succeed, regardless of the circumstances
  • Working to be happy rather than to be right

Agenda

The speaker for the day taking us through the course was Alex Dorr.

 

He started off with saying “I want to Thank you for being here and the opportunity to speak”

Here is a link to my notes along with the power point.

I can say this was my favorite speaker and session.

These were my three actions I took from the course today.

  1. Work on my personal happiness.
  2. Help others be accountable.
  3. Finding what great looks like at work.

AIM IT Leadership Academy: Trends in Business & IT/Executive Perspectives

This months  AIM IT Leadership Academy session was at Kiewit Business Center on Trends in Business and IT/Executive Perspectives.

The three goals of this session were:

  • Learn how to create a concise message to sell an idea to a group of executives in a limited window.
  • Practice Team work and presentation skills.
  • Achieve a clearer understanding of a executive’s point of view on an organization.

Presentation

I was under the impression this day was about what was called our capstone presentation. My group consisted of a employee of Team Software and Werner Enterprises. We meet once Team Software, a few times at Farm Credit Services of America and the other times virtually through Zoom. I was extremely happy with the effort by the group and everyone being a good team member.

Our presentation was “Emotional Intelligence in Agile Teams“. Our hook for this presentation was this:

Our company can increase effective communication, engagement, and empower our employees through Emotional Intelligence education and the formation of teams based on complimentary thinking preferences.

We had about 8 to 12 minutes to give the presentation. The presentation was on a actually stage with a podium. The other members of the AIM leadership group were at their tables. There were three volunteers from different organizations who acted as our supervisors.

Feedback:

  • Words matter never use “We hope this will work because” instead say “We are confident this will work because”
  • Too much detail on Agile and Emotional Intelligence.
  • Measuring success over a longer period of time.

Executive Breakouts

We had three breakout session with leaders in executive roles from different companies.

EVP Operations Business Process

  • People vs Technology
  • You don’t know it all
  • Invigorating Culture
  • Listening and Framing
  • Develop Strong Team Interpersonal Skills

Field CTO

  • 12 steps to native cloud development
  • Strategy of a Team
  • Technical Management in leadership
  • Happy people are productive

SVP/CIO

  • We are in the business of IT. IT = Business
  • Measure Critical parts of business
  • It is OK to say I don’t know, Let me go find out.
  • Data centric based on information.

My three take a ways from this session were:

  1. Before presenting always ask about the environment.
  2. There is a breadth of Technologies to be educated on.
  3. The art of words when presenting.

I am excited that next months session is the last. I am hopefully graduating.