DjangoCon 2014: Lightning Talks

Video in TIB AV-Portal: DjangoCon 2014: Lightning Talks

Formal Metadata

DjangoCon 2014: Lightning Talks
Title of Series
Part Number
Number of Parts
CC Attribution - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
By, Various Presenters
Dependent and independent variables Open source Drag (physics) Prisoner's dilemma Gender Projective plane Client (computing) Drop (liquid) Food energy Computer animation Web-Designer Network topology Cuboid Text editor Endliche Modelltheorie Data structure
Game controller Validity (statistics) Multiplication sign Content (media) Drop (liquid) Student's t-test Client (computing) Field (computer science) Medical imaging Type theory Data mining Data model Computer animation Different (Kate Ryan album) output Endliche Modelltheorie Form (programming)
NP-hard Addition Key (cryptography) Drag (physics) Content (media) Drop (liquid) Field (computer science) Type theory Medical imaging Data model Goodness of fit Computer animation Different (Kate Ryan album) Network topology Videoconferencing Website Text editor Endliche Modelltheorie Reading (process) Physical system Form (programming)
Game controller Computer file Link (knot theory) Demo (music) Wrapper (data mining) Software developer Gender Projective plane Workstation <Musikinstrument> Keyboard shortcut Content (media) Open set Computer programming Field (computer science) Type theory Computer animation Different (Kate Ryan album) output Video game Software testing Social class Form (programming)
Torus Group action GUI widget Ferry Corsten Weight Software developer Bit Web 2.0 Graphical user interface Process (computing) Computer animation Cuboid Software testing Sinc function Window Library (computing)
Context awareness Group action Randomization GUI widget Multiplication sign Frustration Event horizon Term (mathematics) Ideal (ethics) Boundary value problem Physical system Stability theory Installation art Dependent and independent variables Binary code Total S.A. Demoscene Data management Process (computing) Integrated development environment Interpreter (computing) output Pattern language Bijection Right angle Collision Window
User interface Point (geometry) Mobile Web GUI widget Code Source code Projective plane Web browser Line (geometry) Mereology Cartesian coordinate system Template (C++) Computer animation Calculation Video game Pattern language Right angle Quicksort Computing platform Writing God
Group action Functional (mathematics) Link (knot theory) Multiplication sign Set (mathematics) Field (computer science) Number Software bug Operator (mathematics) String (computer science) Touch typing Encryption Utility software Series (mathematics) Endliche Modelltheorie Data conversion Extension (kinesiology) Information security Position operator Enterprise architecture Information Key (cryptography) File format Block (periodic table) Software developer Graph (mathematics) Data storage device Database Instance (computer science) Cryptography Message passing Computer animation Software Query language Pattern language Transmissionskoeffizient Quicksort Ellipsoid Library (computing)
Computer animation Image resolution Multiplication sign Bit Mereology Field (computer science)
Area Arithmetic mean Computer animation Personal digital assistant Structural load Video game Volume (thermodynamics) Mereology Form (programming)
Arm Information management Multiplication sign Software developer Execution unit Electronic mailing list Branch (computer science) Client (computing) Parameter (computer programming) Configuration management Product (business) Particle system Coefficient of determination Computer animation Integrated development environment Term (mathematics) Quicksort Endliche Modelltheorie Task (computing)
Presentation of a group Run time (program lifecycle phase) Computer file View (database) Execution unit 1 (number) Set (mathematics) Product (business) Template (C++) Number Latent heat Estimator Average Internetworking Gastropod shell Energy level Data structure Endliche Modelltheorie Metropolitan area network Physical system Module (mathematics) Key (cryptography) Reflection (mathematics) Gender Software developer Mathematical analysis Planning Line (geometry) Word Data management Message passing Computer animation Integrated development environment Right angle Row (database)
Computer animation Staff (military) Software framework Coma Berenices Musical ensemble Product (business)
Web page Process (computing) Computer animation Software Wrapper (data mining) Multiplication sign Software developer Event-driven programming
Server (computing) Statistics Functional (mathematics) Thread (computing) Service (economics) System administrator Multiplication sign Mereology Public key certificate 2 (number) Online chat Network socket Software testing Email Inheritance (object-oriented programming) Software developer Poisson-Klammer Instant Messaging Bit System call Type theory Computer animation Personal digital assistant Telecommunication Pattern language Right angle Game theory Cycle (graph theory) Table (information)
Web page Slide rule Mobile app Computer animation Multiplication sign Single-precision floating-point format Software framework Mereology Number Product (business)
Web page Implementation Mobile app Computer file Gender Direction (geometry) Content (media) Interactive television Limit (category theory) System call Template (C++) Computer animation String (computer science) Website Configuration space Software framework Quicksort Spacetime
Mobile app Game controller Graph (mathematics) Validity (statistics) Cellular automaton View (database) Software developer Combinational logic Set (mathematics) Staff (military) Flow separation Power (physics) Computer animation Diagram Software framework Resultant Computing platform
Slide rule Functional (mathematics) Code Variety (linguistics) Multiplication sign Set (mathematics) Coma Berenices Front and back ends Formal language Mathematics String (computer science) Data structure Endliche Modelltheorie Metropolitan area network Typprüfung Plug-in (computing) Domain name Email Gender Projective plane Content (media) Parallel port Basis <Mathematik> Directory service Representational state transfer Process (computing) Computer animation Personal digital assistant Configuration space Right angle Pattern language Quicksort Library (computing)
Point (geometry) Computer animation Computer file Logic Gender Projective plane Set (mathematics) Object (grammar) Figurate number Library (computing)
Ocean current Functional (mathematics) Implementation State of matter Multiplication sign Set (mathematics) Machine vision Scattering Product (business) Number Mathematics Bit rate Endliche Modelltheorie Error message Plug-in (computing) Social class Injektivität Email Gender Software developer Projective plane Division (mathematics) Human migration Computer animation Logic Formal grammar Configuration space Normal (geometry) Right angle Quicksort Library (computing)
Scripting language Presentation of a group Open source Divisor View (database) Gender Set (mathematics) Median Number Computer animation Core dump Phase transition Computing platform Library (computing)
Word Centralizer and normalizer Computer animation Set (mathematics) Software testing Software framework Form factor (electronics) Computing platform Field (computer science) Form (programming) Library (computing)
Building Divisor Euler angles Multiplication sign Client (computing) Rule of inference Field (computer science) Number Front and back ends Attribute grammar Natural number Different (Kate Ryan album) Cuboid Representation (politics) Software framework Form factor (electronics) Metropolitan area network Computing platform Form (programming) Arm Validity (statistics) Key (cryptography) Instance (computer science) Cartesian coordinate system Type theory Process (computing) Numeral (linguistics) Computer animation Library (computing)
Word Dynamical system Computer animation Validity (statistics) Incidence algebra
Mathematics Computer animation Open source Lattice (group) Ring (mathematics) Closed set Order (biology) Gene cluster Sampling (statistics) Quicksort Event horizon Number
Radical (chemistry) Word Goodness of fit Touchscreen Computer animation Information
Server (computing) Touchscreen Computer animation Different (Kate Ryan album) Binary file Flow separation Window Product (business)
Computer file Cellular automaton Projective plane Electronic mailing list Branch (computer science) Directory service Mereology Commensurability (mathematics) Mathematics Computer animation Root Configuration space Endliche Modelltheorie Exception handling
Pixel Server (computing) Service (economics) Source code Web browser Rule of inference Revision control Medical imaging Population density Traffic reporting Scripting language Home page Dependent and independent variables Gender Structural load Pivot element System call Quantum entanglement Process (computing) Computer animation Personal digital assistant Right angle Quicksort Figurate number HTTP cookie
Web page Functional (mathematics) Run time (program lifecycle phase) Service (economics) Markup language Multiplication sign Image resolution Source code Web browser Mereology Rule of inference Attribute grammar Wave packet Medical imaging Profil (magazine) Term (mathematics) Data compression Mathematical optimization God Domain name Namespace Projective plane System call Word Computer animation Integrated development environment Tower Personal digital assistant Website Figurate number Object (grammar) Spacetime
Axiom of choice Collaborationism Vapor barrier Confidence interval Multiplication sign Real number Projective plane Stress (mechanics) Bit Online help Line (geometry) Drop (liquid) Formal language Element (mathematics) Arithmetic mean Process (computing) Computer animation Software Repository (publishing) Video game Software framework Computing platform
Computer animation Lecture/Conference
and this is a dilemma suddenly it's
going walk anywhere here that the about although they're all our daily lives with the energy model so we were diffusion marks boxes
a gender web development agency in Denver and you about sperm of open source projects is
witty of which he is a content editor that we made in response to similar problems that our clients that they've been seen as a client it's a drag and drop editor for a tree structures the I'm so crime
that we've encountered frequently is the clan is asking us for the ability to dynamically create a form on the website and without any programming and so they want to specify what fields they want they wonna specified validation for those fields and they want control what happens when the form students so we've actually build a bunch of these form those propensity for and every time we do we run into some problems so late if you wanted to have different models for different types of fields and it doesn't really work really well with just with a is you and if you want to have input in drop down uh those of different fields we have to put all the data in 1 model and then in it's kind growth of ordering and you can do that with something like that in mines ending 11 sort of but that it limits you to just having 1 model and then on top that for example 1 time we had a client that had I feel that referenced in image in in the image to the inside of the form so they could refer to the image and so it's kind of hard to have non form content form when you can only deal with 1 model and how that when you that when you made it so you can't really pack it up and put em because it's not extensible if anybody wants to add fields they they have to edit your original field model but that was before
the on which is data model that is a
heterogenous read what that means is that the tree where the nodes can be different types and that's implemented as a tributary of nodes each with a generic foreign key to their content the I'm in addition to the data model which you also provides the UI for manipulating that tree we built a drag and drop editor to edit that treating so because with the help with
this and the that that his the
reasons why it was kind of hard and in good form bill that would overcome these ordering forms mixing different at the field having non from content and being a sensible so if we look at scoring forms generative very gives us this and would you give us an editor for it so it's already done we have to think about it the generic foreign key allows us to reference any type of content so we're now able to use a different model for each of our fields of interest for the non from content as a gallon said we can use any model so we can add images and videos and Google Maps and we just do it and since the generic foreign key is able to reference any model sometimes you want to limit that so which you provides a compatibility system that allows you to specify which tree relationships of possible so if you want to add a new field site you can write a model and then specify that it goes in a form and that which is able to add field to so we went ahead and build
of bills of formal there with which and you can see it right there you've got different types of and form fields linked to a spilled form input file upload and you can drag and drop them in his 1st non from content it's got from wrapper which it and that from average aesthetical method called get form which returns the Django form class so you don't have you everybody's familiar with uniform classes you can use that but the users that form instead of program and here's well it's like on the front so the user has complete control over this form
uh I think that's how and so that
was the and that these links station that that with the way that the there's a demo and some get have of its open it's something that thinks it's conductive comes out with a few and so and as gender conduits last year I launched the project that really is an umbrella project of the money might well often if it was my spare on uh in which I'm hoping to collect a bunch of useful graphical development tools for testing coverage the bindings of things we do about a life as as Python developers
the cornerstone of the Monday's cricket a graphical tool for running you adjust weights including janitors weights and enable you never get all testing process that last year since last year
of been a little bit that what happen and still passionate about graphical tools of having good tools for developed to support development and 1 of the few about most note that notably I was using TK into to develop these tools and to go into doesn't have a web widget tori I would view which is which is kind of a big thing to be missing in 2014 so fast and looking around my actions and the letter out-and-out another really work out of the box really well with Python ITU-T works nicely this huge the Python libraries that is really weird limbo tight licensing problem election there is really going to install carries support for always exit run X windows and duty does cross-platform but uses things that are really hide things so this was the rapidly
becoming a back from the other things that I'm going to do but I wanted widget toolkit meet my requirements so that's the issue I started shaving yet and about a month ago I publicly announced toga term is I cross-platform 100 % system naive Python Native widget toolkit this instead of using pip install powder what does that mean well at its cross-platform I've got
running on our 6 about running on not on Linux and wounded and I've got some preliminary support for Windows as well it's random % system it doesn't use a scene interpretation which rendering system that we just use a system that we've idealized to when the system that widgets so about 106 is is about it looks like behaves like acts like an actual in a spot on event-related GT carried out and these are accessed by using the naive has idealized exist on the isotropic binding to a system binary because the system boundaries are always you don't have to compile anything to get them the the it's also Python nite pattern 1st encounter nite and caffeinated because I'm developing it in and for the past and that means the idealized feel pattern like this you can do things like have context context managers and for example if you got a long running a graphical implementing action that stimulated in response to a button press most coming from a C heritage advantageous frustrated or create a clear in input at what time the method that you inject into an event like in total you just yield passengers stability the yield and then running event handler can yield back to the main event like this no time is called Quebec Frederick right it's a pure Python access is no boundaries to ship with that nothing to compiler-compiler collide with 1 small caveat of one-to-one little environments the installation process is keeping style target and you run so I can't use it well it only had
6 months spent on development and that here is a simple Faloutsos so she's got calculator running and always text and here the same user interface
random signed code running under it as I have
done the most work on 6 other which support because the point where I can knock out a full cricket user interface using target and
the original source of my back he's really dumb Web browser every in 35 lines occurred and it's little documentation the code for this example is part of the documentation is obviously a lot more God and there's a biter tutorial
and promising a revenue agree to is all fine and dandy but it really is a pointless if it doesn't support a lot platform there when you die and that includes mobile platforms sort of permanent who is assigned found
out so she's got letter writing of exactly the same source God running natively on our X to be completely clear this is I completely 90 of wireless applications running using national highways widgets on life find from Python source by using exact assigned pattern source the desktop application used and certainly doesn't end right yet but I am working on talk 21 with path a new experience that will be possible is a sub-template template project out there if you happen to run into the IPython at and that you start really some other project that you want details on anything that has a better there goes the albedo
groups like target will jump on on this so potentially interested in doing a kick found some further development and this intention of turning into some you have to use the left series professional enterprise development and if you or your company thinking that we didn't hoping to find that development time for commercial support maybe or otherwise getting involved please get in touch thanks so much few
but the unenviable position of following Russell reviewers members of so many of them Wasserman we talking about a little library wrote for interfacing with PG crypto did you crypto is a course graphs extension the basically gloves you encrypt data inside a database using a guesser both sigh 1st so why would you wanna to do this I'm and most common reason it is you have some sensitive information that you want to accept in your database but still 1 we'll search on in year 0 or and in Django from I also have a couple functions that might be useful if you need to deal with that's the armor which is a OpenPGP message format or a pattern function for dealing with block 1st of Ovaloid the which is basically a collection of Python functions for dealing with the crypto on you can see if using occur below the SQL using the data using a key for our key string and furnace innocent you back and basically doing the same thing in Python using pi crypto and a copy utility functions in my library you basically get the same data so you can also do the same thing with str which is basically a fancy name for again OpenPGP of message format of you can take that same data recall armor 1 and you get back this text string where you can actually store this is the binary data in a text field instead of our by day or whatever you want sort about so using deputy could armor function it's basically the same it's a message back the I guess the real meat of this is doing it and Django from you might have a general model for an employee so you want store so scary number security salary D hired and you don't want these things to be human readable and you don't want to say transmitter t over the network when calling into because graphs so here's an example model with some example data and you can see when you get back the model instance and I tried access unencrypted field it's decrypted conference apparently with Django 1 7 the customer lookups are also the employer before my highly recommended so you can now query accredited fields in the database as you would normal fields without having to pull them into I found 1st so you can filter on such security number or you can do the hired less than and salary operator than and you get back to our query sets and you can see the SQ offer that actually looks like all the decryption and conversion to ASCII armor is done on the database size you'll need to buy from crossing for I about at from which all have if you're interested in talking about it finally the highest of links for adding information of BGP and bugs but uh you need a all of you in the long run and you all you all a lot of overlap in the goal of this so the
issue of violence in the world and you that the issue of research in the field of this is all gene and all that and in part of the of the of the whole thing on on the part of the assumptions about the long so
the that the and think little bit all of all of this in the normal and and the in 1 of the resolution of all they knew that we have in the past In that we have we will so each role the title of this 1 of the things that you know you have all the all the time interval in each of these linear so being from the world at the inside of the of the in the in the in the world the and saying
that it is a little more on that is usually in the hand the and I think he is the 1 that any of the last thing on in applying the the main and the only thing that people you know all this so
all in all we can be slow load all in the name of the of the of the of the use of all the things you need and what that means that in this case is of you want to do all this in the in the in the in the in the x in a and we use in this that we use a lot of fall in the early going to all of this is the thing that we use in the you know you can see that I had to make you In the handle that the search in all of the all of all of you in the that it was in the middle of the following the the the usually more all of the world In the case that all of in the book now and you will see that that using the In the end of the holes in the the last year you know the in all the people that part of life and you say the all the all all but there is no in the form of all of these also it you know the original meaning the uh what is the volume of the ball in the new year in the area of the long
and the arms the doing so
small as being a consulting company this of sentences that all you have to remember dog thing going on Tuesday of on handles as 1 observable than that and show some of my findings in this about this is that of the and and so I have some background and that's
the idea as a consulting company we get budgets and we wanna get up and running with fast as fast as possible and there have particles into production after months of development the staging mount saint well someone knows is that it isn't starts at so you know that when nice to not you panic and then you know somebody would want you just 1 7 that the separate environment where you can run a branch of a year ago this and showed to the year of the client or the you know because I don't local support really but in a few and it the little direct those units some of of you know the bank and said lands and the philosophy behind it and less as if you like way you live in you know you might like it have batteries included uh in terms of models to that described it up to find the right value you need or any that's there so that was a list of approved funding and don't of they have to do this and other than that you know that's my hands and they were finding out what's that are not have chapter 3 thousand of them in the company that handles the 6 million dollar so that you know it's only going to get better and better over time that that was the only 1 information management had my but that is my so read things like those auditory orchestration and abundant you could potentially just ignore precision and the parameters used for configuration management of really but using it for everything around of evidence from examples of concepts that lots of them have also discussed about the have a natural that the amount of work there and tasks and the task is the sort of 1 the thing the senior users are from the video and so some better
than best practices you know what the plans of hasn't the the set the left which is you know levels of man in fire others license and the blue line doing about inclined as this William and remain of fund and go down the again about it and then those ends with record and then the will see that you know there's that have and and staging in production because of this we then in files the bigger the node that is the rebels and that's the key you don't want 1 giant tangible value 1 of this we follow this structure and have things in the world that integrals um but yet so that's the structure of the middle 1 doesn't mean the also Django by and use word and these are roles so you could have Gifford unit and not the answers that you you can stop international about it's Robert out averages and this is a town and the again basically the gender-specific and then over 200 words and specific if using fast another general as etc. so you can basically both use is represented in these roles as you can see on the right under the view of the analyst estimates and that's I can't than the main that's that's where the that's where of the template so basically with interesting that the was being in that I item but instead of having different templates you go before starting production it's you know 1 template template is against and then you know using so
the best that this as a user models that you know that a lots of models and mention some of them here at the General being the 2 months of you could use the shell and command module and then you know go now but then you end up doing this embedded in the fabric right as the research another module that they have they're pretty flexible in gender manager modules for example you can specify that that to and the command and also you know the settings you wanna use and as you can see in mobile search so there's almost nothing that specific to the staging production environment and his most but you know there will be those that environment that lots of nobles and sometimes if you actually you know changing a global anything or having another environment where we have to do is add another file do and then you know you're good to go as you can see that the final about because it might be different from that which is production of you know and so you can accommodate that use templates are don't you don't have multiple files for you as you are you are you know about you and in extending the set up and use templates and gender templates and they get compiled and put it in certain places and runtime I'll use that's this is a great about you know and the little uh being invested women advances are you know that gathers facts that would be a number of passes aggressive example in your Internet settings you don't have number busses Lewis knows this is based on the service available in his over the last minute we change but you still have standard and you know so you know for example might have had bootstrapping and remove that little development system so you could still use that word in describing the mandible command you know about the same thing about the fact that again commanded the 2 independent of you still continue stained fab staging run general larger fabric of one's reflection I was good at the United some of those others analysis by left I know that stance that certainly uh and that is the end and that's the presentation as they get much hair
but so minute tell you about this thing called Hendricks and it's a framework for deploying Django apps that was developed by these people right here at this company called really 0 . com where it is currently being used in production I'm here because they hired me to implement some asynchronous staff and salary and when I got to work that just an over the basically like through himself in front of music don't celery try this instead so I was like are you crazy but so did and then converted and I think everybody should know about this so Hendricks and
it's basically GenGO + twisted
and that's the idea with the name for so I've been told on the what is it
it is essentially and it goes in the pipeline where the you normally used unicorn or you whiskey however we say that the and it is a twisted of wrapper for that process so instead of using clean green light source from whatever it is that you whiskey does have it uses twisted to handle that whole thread-pool etc. but if you don't twist it
is from the web page it is an event-driven networking engine written in Python and it's really amazing the more I learn about it the more impressed I am so easier Django development and deployment with benefits what is easier time a
couple of little things like that and when you're running the dead server you don't have to do that is to debug then serve my stats from here to Hendricks has like a nice little way of doing that you also don't need symlinks spheres admin anymore just works now which is kind of nice and another bonus is that you get and you can just make a self-signed certificate and run SSL right there and the Django dev server which is very handy sometimes by the
introduction because twisted has its own thread management you don't need to do you like the unicorn how many workers Tom files stuff like that so we will not start configured you can just it's actually made for em sible so it has like the template brackets and you just use it in a miscible parts in the right place and you can just this is actually a type right here it should be I think it's Hendricks start and remember it's basically a new bond to service there should be a pseudo so but the good stuff is really what twisted brings to the table by running a Django and twisted at comments seen alot of people with a lot of different will use for dealing with some of these problems that Hendricks really kind of has for me solved of WebSockets deferred threads that normally like stuff that you don't wanna run in the request cycle you can just differ it do it over here don't have the salary all the time some asynchronous I O for doing well we just go through some sense where real-time communication you can do chat clients start chat servers you can do I did some games like it's super fun you can write your right there in in a socket call and you don't have to run node on which is kind of nice sometimes here's a little example of doing it for a thread like this is a pattern I see constantly where you wanna send an e-mail me the right way to do that is usually don't have celery do it so that the user does not to wait for it but now you can just do deferred to a separate thread update do something that takes 10 seconds in a separate thread go back to the user instantly but yeah so I still have installed it really 0 strangely and this this use case is um where you have like you have to go hit some API takes a 2nd or 2 you can basically send them except up instantly and then you're back to doing something else and it's a little call back the but it's something we have to get used to it some of the and the basic functionality which is serving your aware that it's a little bit scary doing something totally that nobody else seems to be doing but so far so good and 1 of the reasons that we wanted to show everyone is hopefully someone of find some problem with it before the wrong time for finding problems with things of the in the future it still development were kind of trying to solidify some conventions that some test going to prove that it really is a viable way to do things because it really does seem too good to be true and of some little details are still being refined will have the readme tidied up by and update their promise and some of them almost done good
start Hendricks and that's it I think like
that and so and also from the and that it takes so we've had a number of products over the past year and half where we've been using Django an angular JS together to come up with a single page apps and so wanna take a few minutes to just sort of not share some of our insights and our experience was in putting it all together so I just 1 say thanks to new for her part time thing REST framework and I angular Jess earlier this week and if you wanna follow along its public of slides Hinduism so
I'm il against standing go work really really well together really like it but you really also need to keep their roles well defined and separated on we had started with a sort of mixed up configuration where we had Django of templates and pages actually driving the in your ust implementation and that was kind of messy and difficult to really organize and have working productively I We then progress to a website where it primarily just consumed up Jason the content from a tasty pi our API and that was better but as I'm sure you're all well aware days he has some rather significant limitations so step in the right direction but we ultimately settled on was actually using Django rest framework to our provide all the content and interactions between web site and gender so we need to give them both the space they will work together well on but don't I don't Nexos up too much you're going to end up with string of a gas that's what we like
call sometimes so yeah Our going forward we were only using gender rest framework in angular desk in that configuration they are completely separate are we just have the calls back and forth we do not have jangled defining any templates up upfront the single-page app is just a a collection of HTML files and assets that have been optimized so we get there
are we've been treating angular desk is a platform so think of it is like you're developing an I and you don't go into in developing an less at by saying now how my going have Django generate you know my views and controllers and all that thing from being completely separate as a result you need to be utilized separate tools from Jane in Python cell for us we've been using our quite quite extensively as well as is the only furthermore if you're going to be building an API for mobile apps or for your website just do that all up front when you're going to put together your single-page up don't put it off don't graph aspects of it make sure your API is all flushed out you've got validation and everything can be done from that you'll really out of reach about this later when you do go to mobile and is already begun so
this is the diagram of our staff that we utilized to develop and deploy of breast framework so we use our into next in combination with the angular desk yeoman power of doubt goes toward the end result which is this nice and tidy set of assets the so during development what we'll do
is I will use your to actually scaffold out the the project this is nice is a good way to avoid string your JS which is to let man I make opinions about how this should work out front to defer to its directory structure I utilize the when jobs that it has set up and down just once again avoid mixing GenGO and angular desk just keep them separate out so we moved on to using our grant serve to actually not mentioned in parallel and I gonna see because we headquarters and we also had code that accommodated that that was a great soda serving a static content on the same domain and that works nicely there's some caveats but not big deal on deployment are once again don't use Django to play use ground and got actually build and deploy the assets and I utilizes tools as much as possible the French down so if you wanted us encode we've written where did have dot com slash to fix we've when doing worse off which integrates Father of of an occasion tools with Django a RESTful interface is well it is in your just model that are the basis of all that nicely so I went and there's your from slides and you work with inference few
but close topological sort then those those sorts of thinking it's that's primarily because it's still thinks of itself as an Apache plugin rather than about a library and this is evidenced most clearly by the configure method of the lazy settings object so what is the and settings project is an effort to change project right settings from the balloon would it's the you know thing about settings to us it individually injected objects configurable with the diverse and flexible variety of patterns was quick example this is how you send their knowledge and right so exceeding this at the time have the Django happens to handle beautifully is the documented approach in consignment with it's common sense dependencies injected of course we try to do that we can because we haven't supplied the back end is a equivalent to the function node Python this is called type error or maybe in some cases actually there but there's other language gender it's improperly configured this only between the underlying thinking on the matter because gender doesn't end can't know whether I actually configuring e-mail back and it only knows whether it's applied to the function fortunately genders Pythonic enough to allow me to specify my
own back and as a quot so I do you can see here that I also specify a file pack to avoid another improperly configured this isn't documented but actually works in the sense that allows me to instantiate obtained the back and object and work even the properly instantiated back an object laughter that this is the end of the road I can't tell and about the different charge that as I have run settings I configure my logic is essentially being rejected at this point I can go further know about you but I run into this problem constantly it's especially burdensome for a project like Hendricks was talk about because a that's why the import genuine feed it to its own API which is a perfectly reasonable thing for Python library to do not with the enactment of Figure 1 settings is the 3rd and final the use of gender
puberty prior to magic removal
just was a child so animal and playful experience sort of adolescence and now it's truly coming-of-age where the 1st step of the customer the user model shows the gender cares about people that migration shows the Django cares about its people's right to change our minds uncertain shows that the gender tribe is that its product is an Apache plugin but is a feature-rich Python subculture so if the current state settings edition myself the project has to other active contributors both of whom very talented and fossil Python used as scattered division of WIC and James Stanton et slashes we developed a decorator called the uses settings when applied to a function uses the setting singleton allows injection that setting is acquired instead of simple nonmaneuvering written president of internally eyes use the settings and things a small number of us right those of you that are easier handle experience no change in behavior whatsoever from the implementation of that right now for those of us that are everything ions the user settings that rate is actually a relief of many of the pains of maintaining and testing API that require settings together we crafted a plan aggressive 78 commits that indicate a vision for the implementation of this decorator of these we think he already for review today it is it unintelligible the class and they'll just as I tried to do without raising an error now the reasons that I think that this is really important
is of course it removes burdensome InfraLogic allowing you to send mail rate but it's also a signal to the Python community that says we are you will a Python library where Python project and we appreciate the norms of the larger Python tried more quickly than that it's a single the new Django contributors this is your work belongs here and let be locked away behind our configuration grammar there's a lot of Python developers with incredible logic to contribute to our project if they know that contributing a trial project means that any time in 1 is that they have to negotiate with the setting singleton they might be less inclined to and there's plenty of other projects where the logic can go up
now the about 2 things the you often do I was little gender news podcasts about and that I kind of get better listen you can learn more obviously I can tell you in 5 minutes without request see things work out settings that this went up I will be working in at least a little although probably also work and Hendricks the agendas of community and movement not just a product and see if that starts to suddenly change your view on the matter in Latvia core not that long ago this was a of what felt to me about the controversial idea behind now I slowly hearing members of the core team I think tell me that they're coming around on it and starting to see this is a viable way forward and that really all that is and I do intend to keep working on it numbers the the 1st and 2nd phases agendas puberty as I kind of some of the finest work by Russell the median in regard when they have seen in the open source movement and destinations claim that this is just the medicine hands out of my get is get about contacting miles this presentation was made with a little thing called we'll manage the coffee script library for creating presentations through that persuasion through the scroll wheel through free to check that out as well that very much fewer
but so far that the 4 factors data collection platform what actually is
that it's a genuine low-power platform for easy collection and submission of data from any device so think of the field worker who what needs to but on the daily test that this formed what they go from house to house the form factor would allow them to do that from the only any device which was and
so has about you but the phone with Django unifying form is and then using that framework through a set of API as he has different forms of about the and and the different platform and these are the key word there being forms so that simply define a form and on your answer with Django and then expose their annual have using a central node and and future governs the library all uniform random and so that
challenge and we do this why not just simply create nature of each another form and then simply rendered number you I left and right and and the reason for that is we want that kind and didn't feel that there will be a real problem is these people need to this to right so it needs to be as seamless as possible it can it can be kind of shaky experience which we've we've experienced on the edge of 5 and using fungi and and what not so and these relative forms and we want to reinvent the wheel and what kinds labeling forms and as you no building from the quality of the the person validation for each field and it takes a long time so we want something out of the box they you could simply this just defined the plants on the back end and then all the different clients will thing more seamlessly updated so this is
the man in the rule as willingness was a sound a lot of arms because we wanted France to refer to some other piece of data we have so we have a more generic and 1 on entity of interest is just a representation of that entity so I'm also better than 1 and but an entity is something you actually defined it's a thing rather than the others different entity the attribute fields and easy to different types so you detect a slot field related and and you the actual data is an instance of these instances the rather the attitudes and then it's in the world you know foreign key to any and the attribute and so numerous panel from factor platform I just discussed that a lot of the course so that we can use to build will be open source and and that will be Jagger up with that allows you to create new entities in the and then referee market so you couldn't entities and instances of these entities and then I that's an injured Kobe is that of the hooked up with the user with the API so you can simply just plug it in and start using it and then as you can see we have over the internal debate going on what we're going to use for the job of the framework and then we can use use that simple contact form right if you have an application and the application i less application you would simply just that libraries and the hidden so that this form factor library and you pretty much good to go and so it's really that simple you could build on form factor or whatever else you want
and so put them in so this
is more of a finally we had to do it here so yeah thoughts
go person 18 1st name the what new knowledge but in all your validation you can actually find right here and in the mobile local dynamically pick that up so there are no and to entities 27 the so this is the simulated running through the the word dynamic formant which just of simple incident in the dollar but that's the wrong then you can
change orders and will up all the
temperature of the world and religion and due to a few
so addicted go in the launch truck lattices in rings Kansas which is a clustering of the country and close to the number of samples and digitally injured governments started what became Django and actually exactly but almost no use going over 9 years ago uh Adrian actually needed at what they had been doing for the general open-source therefore I sort of do the boat from 2 GenGO uh to celebrate this event when you were in Lawrence Kansas are going to
be throwing a birthday party a word that intervals of we don't know and that's up to you to everyone in the room and everyone solution here who concerned right now and
Jacob of good outcome let us know if you're interested in and similar but it has to having some fun uh we get some people know about good people but the bigger the person talks along with that so this information so you can talk
to Frank you conduct an even harder just a conductor that is all here to have many ideas were and we hope to students in about a year the kind so much and himself and to much is it this is just a tool talk around the much is a terminal multiplexer how many people have used the marks well what we need to we have and 1 for the and if you have further those who have and if you've used the new screen it's kind of similar to that and then I'll explain team so after show what if the the
so that's so small and so this is just my I turned into marks it just allows me to create windows and pains so you can actually even see the partial the bond that you can have lots of different windows each window can have penis so I can separate the screen into 2 panes I can separated into 3 bins etc. so and I can also do this on the I can use it like use new screen to connect the servers and you your session on your your your SSH session on the server is is maintained so for example I
can connect to this is actually 1 of our production servers the and as soon as the as soon as associated to it so you know whatever so that I have a winter session I have running before is still there so I can I can go and I can look at what I was looking around for their and can only have so I was working on that's the problem was right and and I use at issues I turn around the chances as you can see the top to kind of have use that 4 separate sessions only only 1 connected a separate servers and everything else can
exist in 2 months and then to so I'm allows you to just kind of and save T-notes configurations so wanna work on a particular project a city cell and say I wanna work on my you project then I say to you so you're right and it just opens up my you know my for painter like that without and you can to specify commands that get run in each pain so you get status the branches so can remember what is a listing of of the of the directory et cetera you can you can specify and whatever you want to run in the following way yeah
see this came up so we're we're on a
raft here is just what we wanted the missile on configuration file looks like it's just you in and so you the important part is really that so Road is cut the root directory soil and change directories into that directory in and everything and then you just have a list of things by reading the layout so if you have a complicated layout on for example I bought a 300 hour and for k TT that have been using as a model and it's really crappy in every way except for the fact that as for the the trust and and so on now and I have like the 6 or 8 paying out and you just kind of you can just put that in here it is beautiful but as you can see this just shows up of interstellar commensurate anything and just as thank is without
really so I cousin Bates is a response image at we built that the Descartes so around january be released a New version of our
homepage professor lots of pictures and everything and is responsive good when you change the
report it takes a you know pixel density and everything into consideration and readjusts
layouts so if you're on a mobile phone the really
sucky the other load all the source images the 3rd be several megabytes the to assess responses it takes on the sort of stuff into consideration what the overwhelming stuff so in the beginning were like I became you 70 solutions for the 1st 3 at least we still have to stamp out those different sizes yourself the UN the final piece of it the job script and and in the 4 in the case of the picture element the browser can take care of building the request so it asks for the right size image but he still have to make so microchamber goes like that stupid it is to build its which is the back-end entangle the there's lot of that automatically so the other 2 solutions such a pretty good at that images is built engaged in any uses a thin layer Fernandes sets cookie and hints and so that the server image and we derive size for whatever use region detection and the cookie supplies it and the resource it is also very good I suppose never use that I think of the pivot that performs a service that suffers a service the and so here some of the guiding philosophies where we plot thing we wanted to keep the mark as semantic as possible we want to not really breaking things that you might have age like and trickery another famous or not and we wanted to be prediagnostic about what you might wanna use as a package so if you don't like tango don't using usual thing think of call I'm just user is adjusted to make a request or less research you want arbitral finances you know to your usage annotation 1 not bubbles rules yourself use of gender back and this year image Figure quote and those to get a
project you can check it out I will lunging do you get a chance to cut it the and the I so here's the general back and but instead it's and it is the and and physical things you need to configure the policy that the tower where 2 Fetcher images from so there's the notion of origin and then the image sizes freshest with a quality seek compress it if you want to and and there's a name training so on the front and we you use this is you include triggered a cousin gs in your mark up your image tags instead of saying a source at tribute you're gonna set something called the constant source and and that's gonna at built from of the name space which is the origin we to set in at environment and the other thing you just set which is the site and you get a part of this is the image path so in other words it's in origin is worries specify the domain in this case kids it's a kind of every network but after that what's the perfect after that's this part so do the attribute criticizes the image profile that you defining and so you detecting because in the end there's another in the cousin object but the nodes in the kid is that kids the namespace but were pulling affected so is this notion was aware you in this case it's on Buckner ready but whatever and similar features are in here there are 2 button sizes so mezzanine as the source size and then it's just I don't want to service general persona sit them with and rules so sometimes it's useful to determine the size of your image in their present size dynamically at runtime to give you the call back this is the function we can supply to you know do any this on some users in the dictionary FIL at after the gods detection even had some nice so when images load you want and control how it's presented to the user so idiots can fit in 1 uh cousin done this the same thing but for all of the images so maybe want mall to fit in figure in the same time when the unloading the term that is now you got rid of passive prefetch that optimization in your browser where in space source and attributes in just images before and not have any more importantly run that the documentation working on it there's a the
pages that the discipline Hamilton Peter
support and in our attic sizes out continue what is it I'm the so when tomorrow we have the sprints and people are generally advised not to run before they will which is a shame and other people sprinting you what's been to so way about what people say because like other people you'll probably full of good ideas and have solutions to problems and want to collaborate and contribute to what we're doing and what but too often people lack technical expertise all they lack the collaboration expertise or they simply lack the confidence that to become involved and these are all barriers preventing participation people want to commit that an optional help so the workshop that all the wedding tomorrow and the 1st stage of this principle Ronald A. will cover the folky tools that you need to get started and the process itself and generally I find that even people who are doing this for the very 1st time and they don't even need to be Python users will not leave the workshop at the end of the day with a a commit engenders codebase might be a small 1 but it will give a that's something you've got a better chance of something getting and I'll be there to help you the other speakers will be there to help you out colleagues and In the general project will also be on helping you so you ever wondered what the sprints without we've wanted to commit to Django another um Python project uh come along to this will work at the speed of the 1st person which is usually myself it's not rocket science because rockets useless in this kind of and other and it'll be fun and you don't need to worry about them being so stress in the room or anything like that just come along and have fun it it's too slow for you and then you can just ignore it and I will be in the least bit offended if you drop in or in or out and you might be able to help people who going a bit more so the the new so it's also online anyway you don't have to come to this sprints to do this as a tutorial there there's a repository for it you can help improve income find me on IRC or in real life drop me a line to be afraid to commit thank you thank you have those I had to business and to use the annotation of the who assume this before and some of you have had with original idea in July in May 2013 and so what if another 1 and this 1 all it's worth because we have to work and the so relationships there are now 7 billion other people in this world I am sure that you have chosen the right wrong for yourself because right now is probably someone out there with whom you would have been happier than the that person you are having an imperfect relationship with right now what's worse is that your chances of discovering the perfect person almost no simple arithmetical means that almost any choice you make is the wrong and just so that you will that in any attempt to make it a better choice and to start wearing about making the right choice instead commit to what you have around really chosen and developed it into the best possible relationship for you and assume those relationship with the software that because there are went frameworks and languages and platforms to choose from an element you choose will probably be imperfect and the of so stop trying to make the right choice and instead commit to the project you had already chosen a a and helped turn it into the best possible for you I think that
mn mn that the