NOLA TECH - Advanced Communication



TECHNOLOGY

FUN TECHNOLOGY


Dr. Fausters




Gant Laborde

NOT Dr. Fausters


NOLA Tech Advanced Communication
SAFARI
(Not the browser)

Who AM I?


Blog and Published Author:
Iconoclast Labs
Consult for Infinite Red
RubyMotion Dispatch
2600
RubyMotion Packt Book

Helpful?
Rails Girls NOLA
OpenSource NOLA
World Wide Open Source Author
WP Coach

Who am I?


I'm your guide in the wild world of 
#NOLATech


Communication:
Open Source
API
Public Key Encryption


New Orleans

venturing into the wild!
dailymail.co.uk

Hack Night

etymology

   
Hack- Old English haccian meaning to drink or imbibe

Night - Germanic neaht meaning "A LOT"

Other Tech Events


Usually Monthly
  • Net2NO
  • FrontEnd Party
  • GNOCode
  • New Orleans WIT
  • NOLA Sec
  • NOLA Game Dev

HackATHONS

  • Open Source
  • CODEMKRS
    • Destination
    • SuperBowl
    • Music
  • BarCamp (sorta)

hack·a·thon
ˈhakəˌTHän/   noun
informal
  1. an event in which a large number of developers meet to eat free pizza and sometimes program stuff.
    As in "a series of 48-hour hackathons to led to his health problem."

NOLA TECH

Nola Tech Chat

"GIF" or "JIF"?


Steve Wilhite created the Graphics Interchange Format for Compuserve in 1987. He received a Webby Award for it and delivered this five-word acceptance speech
"It's pronounced JIF, not GIF."
 






Dev Speak =                                     

How NOT to talk to a developer


"Hi, you look like you're concentrating on something really hard, you should stop what you're doing and hear my 'Million Dollar Idea', but first I'll need you to sign this paper stating that you won't also have ideas.  Then I can tell you about my lack of business experience which will have 1billion features and be worth so much money, you won't be upset that I'm offering 2% of my company in exchange for 5 years of FREE work, just trust me.
... can you have it done this weekend?  I want to show a friend of mine so he can change the whole thing"

Ideas are important 

and fun


Building ideas and making them financially viable is hard.

Lots of places and things

to communicate



?


OPEN SOURCE


Github



NOT Github



simple.


distributed.


friendly.


WHy?

Need

Jobs

$$$$$$$$$$$$

Developers Communicate


Can Their software Communicate?


That's API


API


Most mean Web API now.
SOAP and REST API services are usually specification of remote calls that are exposed.

API


API


WHY API?

Pay:
  • Provide a technological service (SAS)

Free:
  • 60% of all Ebay purchases are done via API
  • Outgrow competitors like Google Maps did
  • Yummy user data to sell (Facebook > 140 Bil)



Let's talk Tech


Web API is HTTP secured over SSL/TLS

Usually returns XML or JSON

Is it a Web Service?
Leaving SOAP and SOA and moving towards REST and ROA

What is REST?


Representational state transfer (REST)

Resource: zoo.com/animals
get - Lists URIs of animals

Resource: zoo.com/animals/bill_the_tiger
get - Retrieves a representation of the addressed member of the collection.

GET - PUT - POST - DELETE

REST vs SOAP


REST is an architectural style, while SOAP is a protocol.  

Therefore there is no "official" standard for RESTFul web APIs.

REST uses standards like HTTP, URI, XML, JSON as Hypermedia

Caveats



You had better use HTTPS!

AND

You're creating an external dependency

AND

API's aren't always a great combination

COMBINE ALL THE THINGS


ty Brad :)




"Every big computing disaster has come from taking too many ideas and putting them in one place. "

-Gordon Bell

HOW?


Public Key Cryptography
Like Bitcoin

YAY BUZZWORDS

Public Key Encryption


It's an easy concept

just hard math (you never have to do)


SYMMETRIC VS ASYMMETRIC


Symmetric: Key to lock, also unlocks
  • Like House Keys

Asymmetric: 
  • Like a relationship
  • jj kinda

Asymmetric


One key can Encrypt - Usually Public Key
One key can Decrypt - Usually Decrypt Key

Benefits?

Secrecy
Accountability
Integrity

HOW?

don't get to mathy on me!


What is the square root of 4?

X² = 4

x = ± 2



X could be any of 2 answers!?

LET'S EXPLOIT THE HELL OUT OF THIS

Say Hello To Modulus


Modulus is the remainder after division.


256 ÷ x -> has a remainder of ZERO
What is X?

1? 2? 4? 8?
16? 32? 64?
128? 256?

Magic of Primes

Why large primes?
The remainder can only be as big as the divisor.

ALSO:  Modulus with a prime and it's primitive root, allow an even an distribution along that prime.

3^x MOD 17 = ?

3^1 MOD 17 = 3
3^2 MOD 17 = 9
3^3 MOD 17 = 10
3^4 MOD 17 = 13
3^5 MOD 17 = 5
3^6 MOD 17 = 15
3^7 MOD 17 = 11
3^8 MOD 17 = 16
3^9 MOD 17 = 14
3^10 MOD 17 = 8

Look at that distribution!
Easy to calculate, hard to reverse!

Now What?

Raise 3 to secret power & mod 17; make the result public.
Taking anyone else's public result and raising it to your secret power will equal the same for the person does the same for you.


*POP*
 

TOO MUCH?

Just remember:

Developers: Meet up weekly and are friendly if approached right.

Open Source: Is awesome, and can help you solve complex problems for free.

API:  Allows software to talk to one another, and gives you functionality in return for your $ or data.

Public Key Crypto: Needs large primes, is hard to undo, has 2 parts (public/private), WORKS!

THE END


Twitter - @GantLaborde
Github - GantMan