SlideShare a Scribd company logo
Technology, a means to an end.
Thibault Imbert | Group Product Manager, Adobe Web Platform
Monday, October 21, 13
Who is this guy?

Monday, October 21, 13
Who is this guy?

10	
  PRINT	
  "Hello	
  World!"
20	
  GOTO	
  10

Monday, October 21, 13
Who is this guy?

Monday, October 21, 13
Who is this guy?

Monday, October 21, 13
Who is this guy?

Agency developer

Monday, October 21, 13
Who is this guy?

Deadlines

Agency developer

Monday, October 21, 13
Who is this guy?

Deadlines

Agency developer
2004-2005

Monday, October 21, 13
Who is this guy?

Deadlines

Agency developer
2004-2005
Lille

Monday, October 21, 13
Who is this guy?

Deadlines

Agency developer
2004-2005
Lille

Monday, October 21, 13

Teacher
Who is this guy?

Deadlines

Share/Learn

Agency developer

Teacher

2004-2005
Lille

Monday, October 21, 13
Who is this guy?

Deadlines

Share/Learn

Agency developer

Teacher

2004-2005

2005-2008

Lille

Monday, October 21, 13
Who is this guy?

Deadlines

Share/Learn

Agency developer

Teacher

2004-2005

2005-2008

Lille

Paris

Monday, October 21, 13
Who is this guy?

Deadlines

Share/Learn

Agency developer

Teacher

2004-2005

2005-2008

Lille

Paris

Monday, October 21, 13

Sales Engineer
Who is this guy?

Deadlines

Share/Learn

Technical sales

Agency developer

Teacher

Sales Engineer

2004-2005

2005-2008

Lille

Paris

Monday, October 21, 13
Who is this guy?

Deadlines

Share/Learn

Technical sales

Agency developer

Teacher

Sales Engineer

2004-2005

2005-2008

2008-2010

Lille

Paris

Monday, October 21, 13
Who is this guy?

Deadlines

Share/Learn

Technical sales

Agency developer

Teacher

Sales Engineer

2004-2005

2005-2008

2008-2010

Lille

Paris

Paris

Monday, October 21, 13
Who is this guy?

Monday, October 21, 13
Who is this guy?

Monday, October 21, 13
Who is this guy?

Product Manager

Monday, October 21, 13
Who is this guy?

Learning

Product Manager

Monday, October 21, 13
Who is this guy?

Learning

Product Manager
2010-2011

Monday, October 21, 13
Who is this guy?

Learning

Product Manager
2010-2011
San Francisco

Monday, October 21, 13
Who is this guy?

Learning

Product Manager Sr. Product Manager
2010-2011
San Francisco

Monday, October 21, 13
Who is this guy?

Learning

Learning

Product Manager Sr. Product Manager
2010-2011
San Francisco

Monday, October 21, 13
Who is this guy?

Learning

Learning

Product Manager Sr. Product Manager
2010-2011
San Francisco

Monday, October 21, 13

2011-2013
Who is this guy?

Learning

Learning

Product Manager Sr. Product Manager
2010-2011

2011-2013

San Francisco

San Francisco

Monday, October 21, 13
Who is this guy?

Learning

Learning

Product Manager Sr. Product Manager Group Product Manager
2010-2011

2011-2013

San Francisco

San Francisco

Monday, October 21, 13
Who is this guy?

Learning

Learning

Learning

Product Manager Sr. Product Manager Group Product Manager
2010-2011

2011-2013

San Francisco

San Francisco

Monday, October 21, 13
Who is this guy?

Learning

Learning

Learning

Product Manager Sr. Product Manager Group Product Manager
2010-2011

2011-2013

San Francisco

San Francisco

Monday, October 21, 13

2013
Who is this guy?

Learning

Learning

Learning

Product Manager Sr. Product Manager Group Product Manager
2010-2011

2011-2013

2013

San Francisco

San Francisco

San Francisco

Monday, October 21, 13
Moving the web forward

Monday, October 21, 13
Monday, October 21, 13
Monday, October 21, 13
Monday, October 21, 13
Job done.

Monday, October 21, 13
justinjackson.ca/words.html
Monday, October 21, 13
Technology, to serve a goal.

Monday, October 21, 13
Focus on this goal.
Implementation is a detail.

Monday, October 21, 13
Monday, October 21, 13
Flash

DHTML!

Don’t be religious

Monday, October 21, 13
Flash

Ajax!

Don’t be religious

Monday, October 21, 13
Flash

Silverlight!

Don’t be religious

Monday, October 21, 13
HTML/JS!

Native!

Don’t be religious

Monday, October 21, 13
Technologies, come and go.

Monday, October 21, 13
Monday, October 21, 13
There are safe bets.

Monday, October 21, 13
There are safe bets.
But you want to differentiate.

Monday, October 21, 13
Monday, October 21, 13
Don’t place a technology.

Monday, October 21, 13
Don’t place a technology.
Use the best one to do the job.

Monday, October 21, 13
Don’t place a technology.
Use the best one to do the job.
Probably one you don’t know (and that’s good).

Monday, October 21, 13
Don’t place a technology.
Use the best one to do the job.
Probably one you don’t know (and that’s good).
You want to keep learning.

Monday, October 21, 13
Preconceived ideas.

Monday, October 21, 13
A few examples.

Monday, October 21, 13
JavaScript is for “scripting” only.

Monday, October 21, 13
Monday, October 21, 13
asmjs.org
an extraordinarily optimizable, low-level subset of JavaScript

Monday, October 21, 13
JavaScript is not object-oriented.

Monday, October 21, 13
ES6

Monday, October 21, 13
//	
  entities.js
module	
  entities	
  {
	
  	
  	
  	
  
	
  	
  	
  	
  export	
  class	
  Person	
  {
	
  	
  	
  	
  	
  	
  private	
  message	
  =	
  "Hi	
  my	
  name	
  is	
  ";
	
  	
  	
  	
  	
  	
  constructor	
  (public	
  name,	
  public	
  age,	
  public	
  town){
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  this.name	
  =	
  name;
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  this.age	
  -­‐	
  age;
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  this.town	
  =	
  town;
	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  talk(){
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  this.message	
  +	
  this.name;
	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  get	
  isAbove18(){
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  this.age	
  >=	
  18;
	
  	
  	
  	
  	
  	
  }
}

Monday, October 21, 13
But what if I want static-typing?

Monday, October 21, 13
www.typescriptlang.org

Monday, October 21, 13
//	
  entities.js
module	
  entities	
  {
	
  	
  	
  	
  
	
  	
  	
  	
  export	
  class	
  Person	
  {
	
  	
  	
  	
  	
  	
  private	
  message	
  :string	
  =	
  "Hi	
  my	
  name	
  is	
  ";
	
  	
  	
  	
  	
  	
  constructor	
  (public	
  name:	
  string,	
  public	
  age:	
  number,	
  public	
  
town:	
  string){
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  this.name	
  =	
  name;
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  this.age	
  -­‐	
  age;
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  this.town	
  =	
  town;
	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  talk(){
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  this.message	
  +	
  this.name;
	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  get	
  isAbove18(){
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  this.age	
  >=	
  18;
	
  	
  	
  	
  	
  	
  }
}

Monday, October 21, 13
Which will generate plain ES5 compatible JS.

Monday, October 21, 13
var	
  Person	
  =	
  (function	
  ()	
  {
	
  	
  	
  	
  function	
  Person(name,	
  age,	
  town)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  this.name	
  =	
  name;
	
  	
  	
  	
  	
  	
  	
  	
  this.age	
  =	
  age;
	
  	
  	
  	
  	
  	
  	
  	
  this.town	
  =	
  town;
	
  	
  	
  	
  	
  	
  	
  	
  this.message	
  =	
  "Hi	
  my	
  name	
  is	
  ";
	
  	
  	
  	
  	
  	
  	
  	
  this.name	
  =	
  name;
	
  	
  	
  	
  	
  	
  	
  	
  this.age	
  -­‐	
  age;
	
  	
  	
  	
  	
  	
  	
  	
  this.town	
  =	
  town;
	
  	
  	
  	
  }
	
  	
  	
  	
  Person.prototype.talk	
  =	
  function	
  ()	
  {
	
  	
  	
  	
  	
  	
  	
  	
  return	
  this.message	
  +	
  this.name;
	
  	
  	
  	
  };
	
  	
  	
  	
  Object.defineProperty(Person.prototype,	
  "isAbove18",	
  {
	
  	
  	
  	
  	
  	
  	
  	
  get:	
  function	
  ()	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  this.age	
  >=	
  18;
	
  	
  	
  	
  	
  	
  	
  	
  },
	
  	
  	
  	
  	
  	
  	
  	
  enumerable:	
  true,
	
  	
  	
  	
  	
  	
  	
  	
  configurable:	
  true
	
  	
  	
  	
  });
	
  	
  	
  	
  return	
  Person;
})();

Monday, October 21, 13
C# is for Windows only.

Monday, October 21, 13
Monday, October 21, 13
Monday, October 21, 13
Monday, October 21, 13
Monday, October 21, 13
And for apps?

Monday, October 21, 13
Xamarin

Monday, October 21, 13
Monday, October 21, 13
C++ is way too low-level.

Monday, October 21, 13
C++11

Monday, October 21, 13
#include	
  "stdafx.h"
	
  
#include	
  <stdint.h>
#include	
  <iostream>
#include	
  <vector>
#include	
  <algorithm>
	
  
int	
  _tmain(int	
  argc,	
  _TCHAR*	
  argv[])
{
	
  	
  	
  	
  	
  	
  	
  std::vector<uint32_t>	
  data	
  =	
  {	
  234,	
  76767,	
  43,	
  343,	
  4322,	
  33,	
  122	
  };
	
  
	
  	
  	
  	
  	
  	
  	
  std::sort(data.begin(),	
  data.end(),	
  []	
  (uint32_t	
  a,	
  uint32_t	
  b)	
  {	
  return	
  a	
  <	
  b;	
  });
	
  
	
  	
  	
  	
  	
  	
  	
  for	
  (auto	
  i	
  =	
  data.begin();	
  i	
  <	
  data.end();	
  i++)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  std::cout	
  <<	
  *i	
  <<	
  std::endl;
	
  	
  	
  	
  	
  	
  	
  }
	
  
	
  	
  	
  	
  	
  	
  	
  class	
  MyClass	
  {
	
  	
  	
  	
  	
  	
  	
  public:
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  MyClass(size_t	
  size)	
  :	
  m_size(size)	
  {	
  }
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  MyClass(const	
  char	
  *str)	
  :	
  MyClass(strlen(str))	
  {	
  }
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  size_t	
  Size()	
  {	
  return	
  m_size;	
  }
	
  	
  	
  	
  	
  	
  	
  private:
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  size_t	
  m_size;
	
  	
  	
  	
  	
  	
  	
  };
	
  
	
  	
  	
  	
  	
  	
  	
  MyClass	
  obj("Hello!");
	
  	
  	
  	
  	
  	
  	
  std::cout	
  <<	
  obj.Size()	
  <<	
  std::endl;
	
  
	
  	
  	
  	
  	
  	
  	
  return	
  0;
}

Monday, October 21, 13
You can’t develop an iOS/Android app
with a functional programming
language.

Monday, October 21, 13
Have a look at F#
Functional programming language on .NET

Monday, October 21, 13
Multicore and web apps? No way.

Monday, October 21, 13
&

Monday, October 21, 13
River Trail
bit.ly/qme8BY

Monday, October 21, 13
myPA	
  =	
  [1,	
  2,	
  3];
	
  
//	
  incrementation	
  is	
  parallelized	
  on	
  the	
  GPU
myPlusPA	
  =	
  myPA.mapPar(val	
  =>	
  val	
  +	
  1);	
  

Monday, October 21, 13
Monday, October 21, 13
http://codemash.org/

Monday, October 21, 13
Writing to learn.
Monday, October 21, 13
If you can explain it, you got it.

Monday, October 21, 13
You don’t have to write a book.
But the commitment is big (that’s good!).

Monday, October 21, 13
Share what you know (blog, Twitter).
Code in the open (contribute and share).

Monday, October 21, 13
sourcing.io

Monday, October 21, 13
Monday, October 21, 13
What other things can you do?

Monday, October 21, 13
I cook.

Monday, October 21, 13
Persevere.
Monday, October 21, 13
Monday, October 21, 13
Monday, October 21, 13
Reward.

Monday, October 21, 13
Commit, persevere, and enjoy the process.
It needs to become a routine.

Monday, October 21, 13
Success is not an event, it is a process.

James Clear.

Monday, October 21, 13
Thank you!
@thibault_imbert
timbert@adobe.com

Monday, October 21, 13

More Related Content

Similar to University of arizona mobile matters - technology, a means to an end

Technology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault ImbertTechnology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault Imbert
FITC
 
FITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an endFITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an end
Thibault Imbert
 
Working with Complex Types in DataFrames: Optics to the Rescue
Working with Complex Types in DataFrames: Optics to the RescueWorking with Complex Types in DataFrames: Optics to the Rescue
Working with Complex Types in DataFrames: Optics to the Rescue
Databricks
 
AST Transformations at JFokus
AST Transformations at JFokusAST Transformations at JFokus
AST Transformations at JFokusHamletDRC
 
Dynamic C++ Silicon Valley Code Camp 2012
Dynamic C++ Silicon Valley Code Camp 2012Dynamic C++ Silicon Valley Code Camp 2012
Dynamic C++ Silicon Valley Code Camp 2012
aleks-f
 
Speed up the mobile development process
Speed up the mobile development processSpeed up the mobile development process
Speed up the mobile development process
LeonardoSarra
 
The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212
Mahmoud Samir Fayed
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
Robert Treat
 
Introducing Modern Perl
Introducing Modern PerlIntroducing Modern Perl
Introducing Modern PerlDave Cross
 
Favouring Composition - The Groovy Way
Favouring Composition - The Groovy WayFavouring Composition - The Groovy Way
Favouring Composition - The Groovy Way
Naresha K
 
Rails in the enterprise
Rails in the enterpriseRails in the enterprise
Rails in the enterprise
alexrothenberg
 
What's new in C# 6 - NetPonto Porto 20160116
What's new in C# 6  - NetPonto Porto 20160116What's new in C# 6  - NetPonto Porto 20160116
What's new in C# 6 - NetPonto Porto 20160116
Paulo Morgado
 
CppTutorial.ppt
CppTutorial.pptCppTutorial.ppt
CppTutorial.ppt
HODZoology3
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
Guillaume Laforge
 
Modeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based GamesModeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based GamesRay Toal
 
elasticsearch basics workshop
elasticsearch basics workshopelasticsearch basics workshop
elasticsearch basics workshop
Mathieu Elie
 
D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4
Jan Berdajs
 
Cpp tutorial
Cpp tutorialCpp tutorial
Cpp tutorial
Vikas Sharma
 

Similar to University of arizona mobile matters - technology, a means to an end (20)

Technology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault ImbertTechnology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault Imbert
 
FITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an endFITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an end
 
Working with Complex Types in DataFrames: Optics to the Rescue
Working with Complex Types in DataFrames: Optics to the RescueWorking with Complex Types in DataFrames: Optics to the Rescue
Working with Complex Types in DataFrames: Optics to the Rescue
 
AST Transformations at JFokus
AST Transformations at JFokusAST Transformations at JFokus
AST Transformations at JFokus
 
Scala introduction
Scala introductionScala introduction
Scala introduction
 
Dynamic C++ Silicon Valley Code Camp 2012
Dynamic C++ Silicon Valley Code Camp 2012Dynamic C++ Silicon Valley Code Camp 2012
Dynamic C++ Silicon Valley Code Camp 2012
 
Speed up the mobile development process
Speed up the mobile development processSpeed up the mobile development process
Speed up the mobile development process
 
The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212The Ring programming language version 1.10 book - Part 22 of 212
The Ring programming language version 1.10 book - Part 22 of 212
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
 
Introducing Modern Perl
Introducing Modern PerlIntroducing Modern Perl
Introducing Modern Perl
 
Favouring Composition - The Groovy Way
Favouring Composition - The Groovy WayFavouring Composition - The Groovy Way
Favouring Composition - The Groovy Way
 
Clojure night
Clojure nightClojure night
Clojure night
 
Rails in the enterprise
Rails in the enterpriseRails in the enterprise
Rails in the enterprise
 
What's new in C# 6 - NetPonto Porto 20160116
What's new in C# 6  - NetPonto Porto 20160116What's new in C# 6  - NetPonto Porto 20160116
What's new in C# 6 - NetPonto Porto 20160116
 
CppTutorial.ppt
CppTutorial.pptCppTutorial.ppt
CppTutorial.ppt
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
Modeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based GamesModeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based Games
 
elasticsearch basics workshop
elasticsearch basics workshopelasticsearch basics workshop
elasticsearch basics workshop
 
D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4
 
Cpp tutorial
Cpp tutorialCpp tutorial
Cpp tutorial
 

More from Thibault Imbert

How to Hire the Right Growth Team
How to Hire the Right Growth TeamHow to Hire the Right Growth Team
How to Hire the Right Growth Team
Thibault Imbert
 
Why and how you should build a growth team?
Why and how you should build a growth team?Why and how you should build a growth team?
Why and how you should build a growth team?
Thibault Imbert
 
How to build a framework for customer empathy
How to build a framework for customer empathyHow to build a framework for customer empathy
How to build a framework for customer empathy
Thibault Imbert
 
Growth Hacking Conference '17 - Antwerp
Growth Hacking Conference '17 - AntwerpGrowth Hacking Conference '17 - Antwerp
Growth Hacking Conference '17 - Antwerp
Thibault Imbert
 
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth CultureGrowth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Thibault Imbert
 
Growth in unexpected places
Growth in unexpected placesGrowth in unexpected places
Growth in unexpected places
Thibault Imbert
 

More from Thibault Imbert (6)

How to Hire the Right Growth Team
How to Hire the Right Growth TeamHow to Hire the Right Growth Team
How to Hire the Right Growth Team
 
Why and how you should build a growth team?
Why and how you should build a growth team?Why and how you should build a growth team?
Why and how you should build a growth team?
 
How to build a framework for customer empathy
How to build a framework for customer empathyHow to build a framework for customer empathy
How to build a framework for customer empathy
 
Growth Hacking Conference '17 - Antwerp
Growth Hacking Conference '17 - AntwerpGrowth Hacking Conference '17 - Antwerp
Growth Hacking Conference '17 - Antwerp
 
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth CultureGrowth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
 
Growth in unexpected places
Growth in unexpected placesGrowth in unexpected places
Growth in unexpected places
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

University of arizona mobile matters - technology, a means to an end

  • 1. Technology, a means to an end. Thibault Imbert | Group Product Manager, Adobe Web Platform Monday, October 21, 13
  • 2. Who is this guy? Monday, October 21, 13
  • 3. Who is this guy? 10  PRINT  "Hello  World!" 20  GOTO  10 Monday, October 21, 13
  • 4. Who is this guy? Monday, October 21, 13
  • 5. Who is this guy? Monday, October 21, 13
  • 6. Who is this guy? Agency developer Monday, October 21, 13
  • 7. Who is this guy? Deadlines Agency developer Monday, October 21, 13
  • 8. Who is this guy? Deadlines Agency developer 2004-2005 Monday, October 21, 13
  • 9. Who is this guy? Deadlines Agency developer 2004-2005 Lille Monday, October 21, 13
  • 10. Who is this guy? Deadlines Agency developer 2004-2005 Lille Monday, October 21, 13 Teacher
  • 11. Who is this guy? Deadlines Share/Learn Agency developer Teacher 2004-2005 Lille Monday, October 21, 13
  • 12. Who is this guy? Deadlines Share/Learn Agency developer Teacher 2004-2005 2005-2008 Lille Monday, October 21, 13
  • 13. Who is this guy? Deadlines Share/Learn Agency developer Teacher 2004-2005 2005-2008 Lille Paris Monday, October 21, 13
  • 14. Who is this guy? Deadlines Share/Learn Agency developer Teacher 2004-2005 2005-2008 Lille Paris Monday, October 21, 13 Sales Engineer
  • 15. Who is this guy? Deadlines Share/Learn Technical sales Agency developer Teacher Sales Engineer 2004-2005 2005-2008 Lille Paris Monday, October 21, 13
  • 16. Who is this guy? Deadlines Share/Learn Technical sales Agency developer Teacher Sales Engineer 2004-2005 2005-2008 2008-2010 Lille Paris Monday, October 21, 13
  • 17. Who is this guy? Deadlines Share/Learn Technical sales Agency developer Teacher Sales Engineer 2004-2005 2005-2008 2008-2010 Lille Paris Paris Monday, October 21, 13
  • 18. Who is this guy? Monday, October 21, 13
  • 19. Who is this guy? Monday, October 21, 13
  • 20. Who is this guy? Product Manager Monday, October 21, 13
  • 21. Who is this guy? Learning Product Manager Monday, October 21, 13
  • 22. Who is this guy? Learning Product Manager 2010-2011 Monday, October 21, 13
  • 23. Who is this guy? Learning Product Manager 2010-2011 San Francisco Monday, October 21, 13
  • 24. Who is this guy? Learning Product Manager Sr. Product Manager 2010-2011 San Francisco Monday, October 21, 13
  • 25. Who is this guy? Learning Learning Product Manager Sr. Product Manager 2010-2011 San Francisco Monday, October 21, 13
  • 26. Who is this guy? Learning Learning Product Manager Sr. Product Manager 2010-2011 San Francisco Monday, October 21, 13 2011-2013
  • 27. Who is this guy? Learning Learning Product Manager Sr. Product Manager 2010-2011 2011-2013 San Francisco San Francisco Monday, October 21, 13
  • 28. Who is this guy? Learning Learning Product Manager Sr. Product Manager Group Product Manager 2010-2011 2011-2013 San Francisco San Francisco Monday, October 21, 13
  • 29. Who is this guy? Learning Learning Learning Product Manager Sr. Product Manager Group Product Manager 2010-2011 2011-2013 San Francisco San Francisco Monday, October 21, 13
  • 30. Who is this guy? Learning Learning Learning Product Manager Sr. Product Manager Group Product Manager 2010-2011 2011-2013 San Francisco San Francisco Monday, October 21, 13 2013
  • 31. Who is this guy? Learning Learning Learning Product Manager Sr. Product Manager Group Product Manager 2010-2011 2011-2013 2013 San Francisco San Francisco San Francisco Monday, October 21, 13
  • 32. Moving the web forward Monday, October 21, 13
  • 38. Technology, to serve a goal. Monday, October 21, 13
  • 39. Focus on this goal. Implementation is a detail. Monday, October 21, 13
  • 45. Technologies, come and go. Monday, October 21, 13
  • 47. There are safe bets. Monday, October 21, 13
  • 48. There are safe bets. But you want to differentiate. Monday, October 21, 13
  • 50. Don’t place a technology. Monday, October 21, 13
  • 51. Don’t place a technology. Use the best one to do the job. Monday, October 21, 13
  • 52. Don’t place a technology. Use the best one to do the job. Probably one you don’t know (and that’s good). Monday, October 21, 13
  • 53. Don’t place a technology. Use the best one to do the job. Probably one you don’t know (and that’s good). You want to keep learning. Monday, October 21, 13
  • 55. A few examples. Monday, October 21, 13
  • 56. JavaScript is for “scripting” only. Monday, October 21, 13
  • 58. asmjs.org an extraordinarily optimizable, low-level subset of JavaScript Monday, October 21, 13
  • 59. JavaScript is not object-oriented. Monday, October 21, 13
  • 61. //  entities.js module  entities  {                export  class  Person  {            private  message  =  "Hi  my  name  is  ";            constructor  (public  name,  public  age,  public  town){                    this.name  =  name;                    this.age  -­‐  age;                    this.town  =  town;            }            talk(){                    return  this.message  +  this.name;            }            get  isAbove18(){                    return  this.age  >=  18;            } } Monday, October 21, 13
  • 62. But what if I want static-typing? Monday, October 21, 13
  • 64. //  entities.js module  entities  {                export  class  Person  {            private  message  :string  =  "Hi  my  name  is  ";            constructor  (public  name:  string,  public  age:  number,  public   town:  string){                    this.name  =  name;                    this.age  -­‐  age;                    this.town  =  town;            }            talk(){                    return  this.message  +  this.name;            }            get  isAbove18(){                    return  this.age  >=  18;            } } Monday, October 21, 13
  • 65. Which will generate plain ES5 compatible JS. Monday, October 21, 13
  • 66. var  Person  =  (function  ()  {        function  Person(name,  age,  town)  {                this.name  =  name;                this.age  =  age;                this.town  =  town;                this.message  =  "Hi  my  name  is  ";                this.name  =  name;                this.age  -­‐  age;                this.town  =  town;        }        Person.prototype.talk  =  function  ()  {                return  this.message  +  this.name;        };        Object.defineProperty(Person.prototype,  "isAbove18",  {                get:  function  ()  {                        return  this.age  >=  18;                },                enumerable:  true,                configurable:  true        });        return  Person; })(); Monday, October 21, 13
  • 67. C# is for Windows only. Monday, October 21, 13
  • 72. And for apps? Monday, October 21, 13
  • 75. C++ is way too low-level. Monday, October 21, 13
  • 77. #include  "stdafx.h"   #include  <stdint.h> #include  <iostream> #include  <vector> #include  <algorithm>   int  _tmain(int  argc,  _TCHAR*  argv[]) {              std::vector<uint32_t>  data  =  {  234,  76767,  43,  343,  4322,  33,  122  };                std::sort(data.begin(),  data.end(),  []  (uint32_t  a,  uint32_t  b)  {  return  a  <  b;  });                for  (auto  i  =  data.begin();  i  <  data.end();  i++)  {                            std::cout  <<  *i  <<  std::endl;              }                class  MyClass  {              public:                            MyClass(size_t  size)  :  m_size(size)  {  }                            MyClass(const  char  *str)  :  MyClass(strlen(str))  {  }                            size_t  Size()  {  return  m_size;  }              private:                            size_t  m_size;              };                MyClass  obj("Hello!");              std::cout  <<  obj.Size()  <<  std::endl;                return  0; } Monday, October 21, 13
  • 78. You can’t develop an iOS/Android app with a functional programming language. Monday, October 21, 13
  • 79. Have a look at F# Functional programming language on .NET Monday, October 21, 13
  • 80. Multicore and web apps? No way. Monday, October 21, 13
  • 83. myPA  =  [1,  2,  3];   //  incrementation  is  parallelized  on  the  GPU myPlusPA  =  myPA.mapPar(val  =>  val  +  1);   Monday, October 21, 13
  • 86. Writing to learn. Monday, October 21, 13
  • 87. If you can explain it, you got it. Monday, October 21, 13
  • 88. You don’t have to write a book. But the commitment is big (that’s good!). Monday, October 21, 13
  • 89. Share what you know (blog, Twitter). Code in the open (contribute and share). Monday, October 21, 13
  • 92. What other things can you do? Monday, October 21, 13
  • 98. Commit, persevere, and enjoy the process. It needs to become a routine. Monday, October 21, 13
  • 99. Success is not an event, it is a process. James Clear. Monday, October 21, 13