the creative programmer - codess seattle 2015

58
@cattsmall @cattsmall

Upload: catt-small

Post on 06-Aug-2015

194 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Page 2: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

● Product Designer at SoundCloud

● Game maker w/ Brooklyn Gamery

● Event organizer & teacher

● Lover of making things with code!

A little about me:

Page 3: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Technology isa thing now!

Page 4: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

More marginalized people in tech

Page 5: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Great perks!

Page 6: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Makers, not just consumers

Page 7: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

That’s awesome!

Page 8: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

It’s not all joy & joyness.

Page 9: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming education can be hostile.

Page 10: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

LecturesThe mysqlnd replication and load balancing plugin is implemented as a PHP extension.

It is written in C and operates under the hood of PHP.

During the startup of the PHP interpreter, in the module init phase of the PHP engine, it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods.

At PHP runtime, it inspects queries sent from mysqlnd (PHP) to the MySQL server

If a query is recognized as read-only, it will be sent to one of the configured slave servers. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/ or a slave had been chosen for running the previous query, and the query started with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server.

I’m not coding at all in this class...

Page 11: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

HomeworkI don’t have

time to do all this at home!

Page 12: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Expensive books

MSRP $40 MSRP $25 MSRP $50 MSRP $20

Page 13: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Confusing tutorials

??? ???

Page 14: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Imitation & hacking

Page 15: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming education has high barriers to entry,

low barriers to frustration.

Page 16: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming culture often celebrates code

over creativity.

Page 17: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Hierarchy of languages

PHPJava SQL C++ASP.NET

JS C#Ruby Objective C

Python

Page 18: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Hierarchy of frameworks

JS

Angular EmberBackbone

Node ReactIO

Page 19: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

“Real programmer”I haven’t slept in weeks!

export class Just<A> extends Maybe<A> {

constructor(public value: A) { super(); };

export class Nothing<A> extends Maybe<A> {

constructor() { super(); };

fold<R>(match) { return match.nothing; }

export function of<A>(value: A): Maybe<A> {

return new Just(value);

export function zero<A>(): Nothing<A> {

return new Nothing();

export function map<A, B>(fn: (a: A) => B): (m: Maybe<A>) => Maybe<B> {

return function morphism(ma) {

return ma.fold({

just: (a) => { return new Just(fn(a)) },

export function bind<A, B>(fn: (a: A) => Maybe<B>): (m: Maybe<A>) => Maybe<B>

return function morphism(ma) {

return ma.fold({

export function zipWith<A, B, R>(fn: (A, B) => R): ((ma: Maybe<A>, mb:

Maybe<B>) => Maybe<R>) {

return function(ma, mb) {

</> </>

Page 20: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming culture puts code before humanity.

Page 21: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming culture is hurting people.

Page 22: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming culture is turning people away.

Page 23: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

I love coding...

Page 24: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

I love coding...because I love creating.

Page 25: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Anime fandoms

Page 26: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

The Big KISS

Page 27: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Learning to code

Page 28: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

My own KISS dolls!

Page 29: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

KISS doll portfolio + blog

Page 30: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Xanga + LiveJournal design

Page 31: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Website designs

Page 32: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

WordPress

Page 33: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

I learned to code in a way that made me love it.

Page 34: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Cross-platform products & games

Page 35: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Sketching

Page 36: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

User flow

Page 37: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Make stuff!

Page 38: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming isa means to an end.

Page 39: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming isartistic.

Page 40: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming iscreative.

Page 41: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming isn’tthe most important thing

in the world.

Page 42: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Celebrate what gets made.

Page 43: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

You don’t haveto love code to be a

programmer.

Page 44: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Websites

Page 45: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Apps

Page 46: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Games

Page 47: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Clothing

Photo by Brady Dale for Technically Brooklyn

Page 48: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Food

Photo by Brady Dale for Technically Brooklyn

Page 49: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Books

technolojie.com

Page 50: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Robots

Page 51: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Programming tools

Page 52: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Use code tomake things you love.

Page 53: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Keep your mind active with side projects.

Page 54: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Stay true to who and what you want to be.

Page 55: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

In summary:● You already are a real programmer.● Focus on the project, not the tools.● Side projects are important.

Page 56: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Tips for creative programmers:

● Start on paper.● Define the goals for your project.● Pick whatever language & framework will

make your project happen.● Cut your project into small chunks.● Celebrate what you’ve made! Don’t get stuck

on what you couldn’t make.

Page 57: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Go out there & make cool stuff!

Page 58: The Creative Programmer - Codess Seattle 2015

@cattsmall@cattsmall

Thank you.Questions?

Tweet @cattsmallEmail [email protected]