Faster! Faster! Accelerate your business with blazing prototypes
Upcoming SlideShare
Loading in...5
×
 

Faster! Faster! Accelerate your business with blazing prototypes

on

  • 2,586 views

Bring your ideas to life! Convince your boss to that open source development is faster and cheaper than the "safe" COTS solution they probably hate anyway. Let's investigate ways to get real-life, ...

Bring your ideas to life! Convince your boss to that open source development is faster and cheaper than the "safe" COTS solution they probably hate anyway. Let's investigate ways to get real-life, functional prototypes up with blazing speed. We'll look at and compare tools for truly rapid development including Python, Django, Flask, PHP, Amazon EC2 and Heroku.

Statistics

Views

Total Views
2,586
Views on SlideShare
1,356
Embed Views
1,230

Actions

Likes
1
Downloads
2
Comments
0

8 Embeds 1,230

http://tomatohater.com 1002
http://localhost 177
http://localhost.nationalgeographic.com 25
http://tomatohater.github.io 16
http://test-123-drew.herokuapp.com 5
http://abtasty.com 2
https://www.google.com 2
http://prlog.ru 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Very wide list of technologies Personally ASP, .NET, ColdFusion, PHP, Perl, Python
  • Also “What’s new in Perl 6”
  • Fear of failure… but is failure necessarily a bad thing?
  • Those 80’s clothes in my closet!
  • Reward ideas
  • Trust
  • Recent discussion with a big COTS CMS platform… No customization required! What? It’s all configuration.
  • Evolve to production

Faster! Faster! Accelerate your business with blazing prototypes Faster! Faster! Accelerate your business with blazing prototypes Presentation Transcript

  • Faster! Faster!Accelerating your business with blazing prototypes Drew Engelson @handofdoom
  • Why am I here?
  • I’m Drew Engelson I work for Celerity - “The business acceleration consultancy” - We help get companies “unstuck” I help organizations decide what tech to buy or build - National Geographic Society - PBS - American Diabetes Association Then we make it happen
  • First… a disclaimer I’m a Pythonista I’m a Djangonaut Blame OSCON 2006
  • Hence, my huge man-crush on JKMPhoto: Jason Samsa @ Flickr
  • Cultures of stagnation
  • Risk aversion
  • Always choosing path well traveled
  • "Innovation is R&D’s job” a.k.a. Not your job
  • Dwelling on past investments
  • Over-management and review of new ideas
  • “We have too much real work to do.”
  • Cultures of Innovation Props to Josh Linkner
  • Fuel passion
  • Celebrate ideas
  • Foster autonomy
  • Encourage courage
  • Fail forward
  • Think small
  • Institutionalize this stuff
  • COTS vs. Open Source
  • “COTS is the safer choice”No one ever got fired for choosing ___________.
  • “COTS does it out of the box” That’s horse crap!
  • Photo: Daleeast @ Flickr
  • Photo: Kethera @ Flickr
  • Rapid Prototypes
  • “If only I could show you!”
  • Developers [sometimes] have good ideas Give ‘em a chance!
  • Reduce the potential cost of failure; Timebox the experiment “OK, you get 2 days”
  • The Framework Showdown
  • The challenge Build a simple, fully functional prototype - A basic web service for image transformation Requirements - Pass in a source image url, desired height and width - Pull down the image to server - Resize the image on the server - Return derivative image
  • The challenge ur l = ht t p: / / f ar m s t at i c f l i c kr . c om 7138/ 7576110858_d66eec 09f 5_z . j pg 8. / w dt h = 200 i hei ght = 200Photo: Tomcrenshaw @ Flickr
  • I’m talking REAL functional code; minimize throw away work Evolve to production
  • Surveyed a few frameworks PHP - Zend - CodeIgniter Python - Django - Flask - Bottle  I know, there are many other choices… Which is your favorite?
  • Compared on Learning curve Ease of bootstrapping dev environment Ease of development - # of files created or touched - # of lines written or modified - Complexity of code Speed of deployment - Need to share with others, right? Note: This is a very non-scientific study
  • The non-scientific results
  • $ pip install Flask requests PIL Then write ~19 lines of Python
  • i mp o r t c S t r i n g I Oi mp o r t r e q u e s t sf r o m PI L i mp o r t I mag ef r o m f l as k i mp o r t F l as k , r e q u e s t , s e n d _ f i l eap p = F l as k ( _ _ n ame _ _ )@ap p . r o u t e ( / , me t h o d s = [ GET , ] )d ef res i z e( ) : u r l = r e q u e s t . val u e s [ u r l ] r e q = r e q u e s t s . ge t ( u r l ) r e s o u r c e = c S t r i n g I O. S t r i n g I O( r e q . c o n t e n t ) i mag e = I mag e . o p e n ( r e s o u r c e ) i mag e = i mag e . r e s i z e ( ( i n t ( r e q u e s t . val u e s [ w ] ) ,i n t ( r e q u e s t . val u e s [ h ] ) ) , I mag e . ANTI AL I AS ) r e s o u r c e = c S t r i n g I O. S t r i n g I O( ) i mag e . s ave ( r e s o u r c e , JPEG ) r e s o u r c e . s e e k ( 0) r e t u r n s e n d _ f i l e ( r e s o u r c e , mi me t yp e = i mag e / j p e g )i f _ _ n ame _ _ = = _ _ mai n _ _ : ap p . r u n ( d e b u g = Tr u e )
  • Quick and easy local server Django: manage.py runserver Flask: app.run()
  • Get boilerplate out of the way!
  • Don’t trust anything that has built-in smilies  Sorry, CodeIgniter
  • How do I share it?
  • $ git push heroku masterReally... does anything else matter?
  • What does this all mean?
  • Use what you know!Learning curve is biggest time suck.
  • Keep it realDon’t assume failure… this may have legs.
  • Don’t be afraid of…Failure; the unknown; the undead
  • Give ‘em a little rope… But don’t hang ‘em with it
  • Hold a few “hack days”
  • Spread knowledge;Hold sessions to share ideas I call these “mind melds”
  • Increased pace of innovation leads to…
  • Happier developers leads to…
  • Greater productivity leads to…
  • GOTO 50
  • Resources http://flask.pocoo.org/ https://www.djangoproject.com/ http://codeigniter.com/ http://bottlepy.org/ http://framework.zend.com/ Josh Linkner- http://www.inc.com/articles/201106/josh-linkner-7-steps-to-a-culture-of-innovation.html I know, there are many other choices… What’s your favorite?
  • Thanks for coming! Drew Engelson - @handofdoom dengelson@celerity.com http://www.celerity.com/