So thank you. I'm extremely excited to be here today at this at this great August occasion So in my talk, I'm going to begin by reviewing some work I've been doing over the past few years on the simplification of strongly coupled quantum field theories And in particular conformal quantum field theories in sectors of large quantum number of some Conserve quantized conserved charge, which I'll refer to generically as J And the stuff I'm going to tell you about is based on previous work Both jointly and separately with many authors, but especially Domenico Orlando Susana Refert and Masataka Watanabe on conformal theories in large quantum number sector mostly in three dimensions and also Stuff which is more directly a Shadashvili relevant Which is some current work in progress with Dodelson Watanabe and Yamazaki on the same models in two dimensions So and I want to now give a Shadashvili related comment Which is that even before being invited to this conference in fact as part of the one of the many Intersecting motivations for this this larger project many times I noticed how strongly our work Intersected and was informed and inspired by a number of Samson's major contributions to theoretical physics and the two Which are going to be most directly relevant are Samson's role in the development of the background independent open-string field theory And in particular the development the development of the concept of theory space to the level of a concrete tool for giving meaningful expressions in string theory, which is something that had been proposed previously, but but I think Samson's work made it somehow much more concrete and and and A Tech technically usable tool and also of course Samson's work on quantum integrability in two dimensions is is very directly relevant to our current work in progress so The general setting as I said is about Simplification of otherwise strongly coupled quantum systems at large quantum number, but my particular focus today Will well will be the case where j is the weight of an son representation in the two-dimensional on model But I'll review older work on conformal cases in three and four dimensions for context Because I think probably many in the audience haven't heard about this stuff for some of you have But most of you maybe haven't so by otherwise strongly coupled I mean outside of any simplifying limit where the theory becomes semi-classical for any other reason But with the quantum number taken so large that the system behaves differently than you might have expected Despite being sorry despite not being weakly coupled So the primary question is well, is this even a subject why should large quantum number simplify anything? and The answer is this is a subject and in some sense It's an old one and many examples have appeared in the literature going far back into the past But recently over the last few years there have been a number of groups focusing on Systematizing this point of view and applying it more broadly, and I'm sorry actually I left some people out of the references I was about to correct that during the coffee break, but you you didn't have one so okay I'll say verbally some of the people I accidentally left out This idea goes I think all the way back to the atomic hypothesis in in the era of the classical Greeks No, really actually Yeah, in fact, I did it my my student the my first PhD student Who was doing work on this pointed out that I credited democratist and not Leukipus, I think there was somebody else who got screwed out of credit for Okay, well, I'll ask him later, but Then jumping ahead a couple of millennia the correspondence principle Large spin in the heat around spectrum and then the so-called macroscopic limit of statistical quantum statistical mechanics Then in in what we I'd call history The BMN limit of n equals 4 at large our charge and also large spin An analogous limit developed in parallel Then the large spin expansion in general CFT from light cone bootstrap by by Zoar and Sasha's avoidive and and simultaneously by Fitzpatrick Keppelin Paul and Simon Stuffin and then large spin expansion in in Hadrons non-conformal CFT Excuse me non-conformal theories with s matrices developed by a number of people over the last Decade or so and then in what I'll call modern era large charge expansion in generic systems with a billion global symmetries Also non-Abelian symmetries, which I'll be mostly talking about today Then limits with large charge and spin topological charge EFT connection with bootstrap a large charge limit in gravity and also I should say I Mostly focused on relativistic systems here, but then there was also independent early work by damn son On very similar limits in non relativistic CFT and then Parallel limits of large charge for correlation functions in in supersymmetric theories with extended supersymmetry and vacuum modular spaces Most recently the development of a double scaling limit in Lagrangian theories with With vacuum manifolds and the other the references here are not up to date There were a number of interesting developments over the last year By this same group at the bottom, but also By a number of other groups including a karmigod ski grassy and Taisano But so okay so what is the large quantum number expansion what's it for and it's largely to answer the same kinds of questions as the conformal bootstrap at least when applied to conformal theories, which is how do we systematically and efficiently analyze quantum field theories? Usually CFT that have no exact solution in terms of explicit functions We'd all like to know what does theory space look like this? This I think is probably the right way to frame the important questions about theoretical physics in the modern era Not about individual solving individual theories, but about uncovering the global structure or the large-scale structure of theory space And it's a very consequential question for field theory mathematics quantum gravity and cosmology Most theories are not integrable and we need to learn how to attack them in general circumstances although we'll see when integrability is present and We combine that with the theory space point of view and some of these large quantum number tricks We can learn some very interesting things I think So the simplest example, which was one of the earliest that we attacked The conformal Wilson-Fischer O2 model in three dimensions at O2 charge J with J taken large We can ask what is the dimension of the lowest operator? at large J and Translated via radial quantization. This is asking. What is the energy of the lowest state of a charge J on on S2? So a renormalization group analysis Tells us that the low-lying large charge sector is described by the effective field theory of a single compact scalar chi Which can be thought of as the phase variable of the complex scalar phi in the canonical UV completion of the O2 model so so applying the renormalization group analysis kind of mechanically and integrating out the radial mode of the The the magnitude of the scalar phi which becomes heavy at large O2 charge We find that the leading order Lagrangian of the EFT is extremely simple It's just some positive number times the absolute value of the magnitude of the gradient of chi raised to the third power So it's really Really amazing that a principled analysis of this of this a complicated interacting theory at large charge outputs the Second simplest Lagrangian you can imagine the simplest Lagrangian for the free mass of scalar which is grad grad chi squared Well, this is grad chi cubed And it really is it really is a controlled approximation To to the theory at large large O2 charge Now this coefficient B Isn't something we know how to compute analytically, but nonetheless the simple structure of this EFT has some sharp and unexpected consequences so the immediate consequence is that the lowest operator is always a scalar and Its dimension is some number times J to the three halves where this Coefficient has a simple expression in terms of B Now the leading order EFT predicts more than just the leading power law Because quantum loop effects in the EFT are suppressed at large J So the effective field theory can be quantized as a weekly coupled effective action with an effective loop counting parameter J to the minus three halves essentially the loop counting parameter as you might expect scales as the inverse of the scaling of the classical action So for instance we can compute the entire spectrum of low lying excited primaries in a controlled asymptotic approximation and to leading order without any other Adjustable coefficients so the dimensions and spins and degeneracies of the excited primaries Are completely determined to leading order in terms of this one coefficient? And there there's a Fox space of oscillators of spin L with L greater than or equal to 2 So the propagation speed is not an adjustable parameter The propagation of the speed of the chi field is the speed of light over root 2 Which is fixed by the form of the effective Lagrangian and also by directly by conformal invariance So the frequencies of the oscillators are 1 over root 2 times root L times L plus 1 Now the L equals 1 oscillator is also present, but exciting it only gives descendants The leading order condition for a state to be primary is that it has no L equals 1 oscillators excited So that L equals 1 oscillators are just the the conformal raising and lowering operators So for instance the first excited primary of charge J always has spin L equals 2 It's been to and dimension of the of the scalar plus square root of 3 So you can see that the leading order predictions from this analysis are very sharp Subleading terms can be computed as well Now these depend on some higher derivative terms in the effect of action with powers of grad chi in the denominator But these counter terms have a natural hierarchical hierarchical organization in J at any given order in derivatives There are only a finite number of such terms and as a result At a given order in the large J expansion only a finite number of terms actually Contribute and since there are far more observables at any given order than effective terms There are an infinite number of theory independent relations among terms in the asymptotic expansion of various Observables so for instance as I already said before the splitting between the first and second lowest primary is root 3 plus Terms vanishing at large J. So the gradient cube term is the only term allowed by the symmetries at order J to the three halves and There's only one other term contributing with a non-negative power of J Which is some coefficient again an unknown coefficient times absolute value of grad chi times the Ritchie Scalar curvature times this this other term this term which is forced by by vial symmetry To occur with a particular relative coefficient So in particular there are no terms in the EFT of order J to the zero and that's important It was an important point of principle So the result is that the J to the zero term in the asymptotic expansion of the conformal dimension is Calculable, and it's independent of any unknown coefficients in the effective Lagrangian So specifically the formula for the the lowest operator dimension of charge J is some number times J to the three halves plus some number times J to the one-half minus 0.093 7256 and so forth Up to terms vanishing at large J. So even without knowing anything Quantitatively about the the nature of the fixed point Just simple facts about the the field content and the symmetries give us this funny Funny sub-sub leading term in the asymptotic expansion Which I just want to emphasize. Okay, so there it is This universal term and the other universal large J relations in the O2 model don't have any fudge factors or adjustable parameters Given the identification of the universality class these values are just universal and absolute and similar predictions have also been made for OPE coefficients by the EPFL group Now so let me address some frequently asked questions You may have some others, but I'm anticipating these because we've gotten these a lot So you might think that there's something weird or inconsistent or uncontrolled about a Lagrangian a grad chi cubed Lagrangian It's kind of weird So you might ask isn't this Lagrangian singular it's a non-analytic functional of the field So when you expand it around chi equals zero you get ill-defined amplitudes Yeah, but you aren't supposed to use the Lagrangian at the origin It's only meant to be expanded around the large charge vacuum, which at large J is the classical solution Chi equals some Chi equals linear in time and independent of space With the the mu Going as as the square root of the charge So the expansion into VEVN fluctuations carries a relative suppression of mu to the minus one or more for each fluctuation So so this expansion is is fully under control around the the point of interest So isn't this effective theory ultraviolet divergent which doesn't that mean loop corrections are incalculable and observables are meaningless beyond leading order No, the EFT is quantized in limit where loop corrections are small. So specifically The way it should be quantized is to take the UV cutoff for the EFT Between the infrared scale, which is the size of the spatial slice or whatever other infrared scale Parametrically above that but parametrically below The UV scale, which is the square root of the charge density So loop divergences go as powers of a cutoff cubed over road of the three halves Which is much less than one and these are proportional to nonconformal local terms, which you just subtract off algorithmically To maintain conformal invariance of the of the quantum observables Okay, but then you might ask well, don't the counter terms ruin everything in terms of Predictivity and the answer is no because as usual in effective theories the counter term Ambiguities are in one-to-one correspondence with terms of the original action allowed by the symmetries And as we've mentioned, they're only a finite and small number of those at an even order and at some orders There are no ambiguities at all So another question one gets is that wait aren't you saying that every CFT with a conserved global charge has the exact same asymptotic expansion? Here's a counterexample blah blah blah blah Doesn't that falsify this analysis No, so one isn't making a claim this broad the the field content is as important as the symmetries And the RG analysis applies to many but not all CFT with a conserved global charge And so more generally CFTs with a global symmetry can be organized into large quantum number universality classes So for instance the free free complex fermions or free complex scalars in three dimensions are just in different large J universality classes The universality class of the O2 model however contains many other interesting theories such as for instance the cpn models at large topological charge The three-dimensional n equals two super conformal fixed point for a chiral super field with with cubic Superpotential at large R charge probably many others in the same universality class And but there are many other interesting universality classes in three dimensions large another charge in the higher Wilson Fisher models which I'll talk about also the cpn models and higher gross monion models both real and complex Large barion charge in churn simons matter theories with SU engage group large monopole charge in UN churn simons matter theories And of course these are dual to one another and it would be interesting to investigate that duality at large charge I think that's one of the interesting non-super symmetric questions in this in this set of A set of analyses one could do and here's some more Samson related content I really want to mention that Samson's early work on background independent string field theory Which is one of the earliest papers. I string theory papers. I read as an undergraduate Or as a starting graduate student or whatever. I was I don't know it was a great guide in inspiration In developing exact rg methods that allowed these calculations to be done So in general it's well understood that the detailed form of a Wilsonian action is fully scheme dependent and quantum observables Comprising the scheme independent content of an effective theory have some very complicated Relationship to the Wilsonian action defined in principle by calculating the full path into world but in practice That's sort of impractical at strong coupling by which I mean The problem of identifying formulae for scheme independent Functionals on theory space is basically as complicated as just directly computing observables Which makes it sound as if Wilsonian exact rg methods Sort of have a limited utility from a weekly away from a weekly coupled point in theory space, and that's kind of a Conventional wisdom to some extent among formal theorists It's a good conventional wisdom I mostly absorbed but always keeping in mind the point that this Nice 1993 paper on background independent open string field theory contains some nice counter examples to this conventional wisdom In the form of these scheme independent functionals on theory space associated with with resonant amplitudes With direct connection to terms in the Wilsonian action So one always has in mind the point that if there's one class of counter examples might there not be others and in fact This large charge expansion gives an infinite number of such scheme independent terms Namely these cut off independent leading terms in the large charge expansion of the Wilsonian action So this is just one nice example of how Samson's concrete and insightful point of view on supposedly intractively complicated problems involving theory space was really inspiring and helpful to us So before going on to the two-dimensional on model in integrability I want to Mention some nice confirmations that that one has had since of the large J expansion So a precise bootstrap results, which would be great to compare with only exist up to J equals two But note that the values of the EFT parameters calculated from Monte Carlo give at that J equals two in the O2 model in three dimensions about one point two three six with an uncertainty of one Which one can compare to the bootstrap result of one point two three six with an uncertainty of three in the last digit So what j equals one doesn't work Yeah, I think j equals one j equals one actually works. Okay Not only that Something I wish I had mentioned that was pointed out to me by an indus in huh, which is that j equals zero Actually also works extremely well by so well, I mean that the actual Difference between the extrapolation to j equals zero and to the actual value, which of course is zero is Just a couple of percent of the chasm your term So it's only a couple of percent of the sub sub leading universal correction So yeah, so the extrapolation to j equals one is okay It's you know still a few percent, but it's it's not as good as bootstrap though So but j equals two it's already competitive with bootstrap, and I think I think what there may there may have been improvements since since I wrote this slide, but at the time I wrote it the Monte Carlo extrapolated To large j to j equals two it was about three times more precise people understand why so good No, no, this is one of the big mysteries that I think we would love to answer. There's no There's no analogous understanding to this Inleticity and spin Although by the way, you know even that doesn't really explain it just having in let's see doesn't explain anything Yeah, but maybe in let's see plus resurgence or something, you know who knows but uh Yeah, no no analogous understanding Yeah, I was I was afraid maybe maybe this was out of date, so I should definitely update this. Thank you So Moving beyond the O2 case to look at other models in the same large-day universality class One can look at dimensions of operators carrying topological charge in the CPN models So that analysis was done by de la fuente Two years ago using a combination of large n and numerical methods with the result of The expected form of the asymptotic expansion with a universal universal term an analytically computable universal term of about 0.0935 plus or minus three in the last digit which which agrees with with with this Universal term in large charge expansion as well so Oh, so so oh, sorry. Yeah. No, yeah, excuse me. They're all supposed to be Lowercase n and the end is just the end of the CPN models But this is a topological rather than another charge So the end is irrelevant apparently it just gives you better analytic control by taking it at large So, yeah, so now let me move on to describe some work in progress By me together with Matt Dodelson Must talk about to Nabe and Masahiro Yamazaki on the own model in d equals two So this model is non-conformal and quantum mechanically integrable and for context Let me start with some review of of the on models in general at at large another charge So in three dimensions There's been an analysis by a riskome Lucas refer in Orlando About some basics of the large quantum number expansion in particular the case of the conformal point in the own models in three dimensions So in contrast to the O2 model the symmetry group is non-Abelian, so there's no unique charge So what do we mean by large quantum number in this context? Large quantum number limit is most naturally described by taking the lowest energy state in a given representation of the symmetry group With large weights of the representation So describing the large quantum number limit in these terms we find some striking things so first of all in Contrast with the case of the O2 model a generic large weight representation of the ON model does not have a homogeneous ground state for n greater than or equal to 4 So this can actually be proven analytically that it doesn't and that it can't Have such a homogeneous ground state So a fully homogeneous ground state Corresponds only to the traceless totally symmetric represent a symmetric tensor representation of the internal symmetry group And all other representations have ground states that are interpreted either as inhomogeneous Semi-classical states or else quantum excitations on top of a homogeneous ground state Depending whether the weights are taken large in fixed ratio or taken to be order one deviations from the weights of a large order symmetric tensor rep So let me say a little bit more about the derivative expansion in these theories and its organization in the large quantum number limit So in the case of the O2 model there's a natural organization in terms of the phase variable chi And then there's a parametric suppression of higher derivative terms in low-lying states of large O2 charge So in the case of the ON model analogous statements apply But the systematics of the derivative expansion are more involved because there are more degrees of freedom And there's no canonical parameterization of the coset of the coset of the target space Yeah, you still get some signal model The issue is just that the the systematic analysis of the derivative expansion to identify which terms do and don't Contribute at large global charge is more complicated. And so when I say work in progress You'll see that that's the element that we don't have nailed down at this point But assuming certain things about the derivative expansion we some very interesting results follow and So let me you'll you'll see a bit, but the situation is as I as I go on But there is a simple argument to show that there is always a controlled derivative expansion So the issue isn't is there one the issue is What is it and what's its structure? So the symmetric tensor ground state can always be realized as the overall ground state of a modified Hamiltonian Where the Hamiltonian the modified Hamiltonian is just the original Hamiltonian with the chemical potential added So in terms of this modified Hamiltonian the conventional low energy expansion of the on model with chemical potential is Equivalent to the derivative expansion of the large charge EFT about the symmetric tensor ground state so there there always exists a a a Controlled derivative expansion and in some sense it can be derived from this alternate description, but That's less useful than it sounds because the the description in terms of chemical potentials obscures many useful things about the The description without chemical potential, which is to say the the adding of a chemical potential Obscures the underlying Lorentz invariance full non-Abelian symmetry conformal symmetry if if it's present and in background independence among Large quantum number ground states So I'd like to avoid the description in terms of chemical potentials Which is is less useful than it should be or has not been as useful as one might think So We're going to turn to the case of two dimensions where the ON model is asymptotically free and does not have a conformal fixed point And instead the model flows to a theory with a mass gap And despite the absence of a conformal point the two-dimensional case of the ON model is still tractable To a large quantum number analysis because it has the remarkable simplifying property of integrability So another major theme in any Shattish-Villey related event of course And so let me now tell you some basics about integrability in the ON model in two dimensions Which probably may be very unnecessary for a lot of this crowd, but Who knows So the most convenient description is in terms of n-wheel fields with a constraint In terms of which the Lagrangian density is just the canonical kinetic term with with a Lagrange multiplier enforcing the constraint In these variables the nether currents have exactly the form you'd expect the constraint doesn't contribute to them And these currents are of course present in the ON models in any dimension But in the special case of two dimensions We can use them to construct an infinite-dimensional symmetry algebra that Constrains the theory to the point of making it completely integrable So the construction of the symmetry algebra is given in terms of a one-parameter family of connections and by connections They're not fixed background fields or independent dynamical variables. They're composite fields constructed from the dynamical variables and their derivatives Would these are called the lax connections and they're flat on shell Which is to say they're flat For configurations obeying the equations of motion so explicitly The most useful way for us to describe the lax connection is to decompose it into parody even and parody odd pieces so with the parody even piece given by some coefficient times Something which is the nether current, but I won't write it as the nether current And plus something which is proportional to the same thing, but I will write it as the nether current For a reason you'll see soon. So it's on these two terms are proportional But only in the two derivative action and soon we're going to enter the realm of effective theories where they're not proportional to one another And then these two parameters are Related to each other and Parameterized in terms of a single spectral parameter lambda So notice this this g squared appears in the expression for one of them and not the other and that's important Because for a more generic effective action more generic point in theory space g squared isn't a constant It's some much more complicated thing and as I say that the the another current and this Thing that looks like the nether current aren't going to be proportional anymore So the existence of the flat connection implies the existence of an infinite hierarchy of non-local conserved charges and in infinite volume The algebra of conserved charges is called the Yangian And in finite volume which will focus on the conserved charges are a subalgebra of the Yangian Called the beta subalgebra And the explicit form of the beta subalgebra Is given by the Taylor expansion with respect to the spectral parameter of traces of Holonomies of the lax connection Around the spatial direction So these facts I've told you all refer to the classical two derivative action for the on model Now at the quantum level it's clear that this story must change to some extent So as I said the inverse coupling multiplying the action is no longer a constant But runs logarithmically with energy at short distances, right? So the effective inverse coupling Goes as a constant plus one loop beta function coefficient times log of Log of the energy scale over the dynamical scale and Then there are higher corrections which are very large and the theory runs strongly in the infrared So despite the running the integrability is known to persist at the quantum level And decades of study have uncovered many interesting facts about the on model of the quantum level Which I think many of you guys certainly Have discovered a lot of The quantum integrability has been used to solve many observables exactly and But for the most part this is something I want to emphasize the s matrix An exact s matrix for massive particles has been used as the primary exact object at the quantum level rather than Directly replacing the classical lax connection with any kind of quantum version of itself And I think this is this is something really interesting Usually when we have a quantum corrected thing in in in quantum theories, we like to sort of Take the thing and approximate it with with fuzzy versions of itself Like using deformation quantization or whatever But that mostly has not been the approach to to quantum integrability But we're going to be exploring the large quantum number regime in which we expect physics to be semi-classical for low lying states and finite volume And in this regime, we're going to encounter a quantum corrected version of the lax connection itself. So because we have this extra parameter, which is to say the the Quantized large quantized global charge will be able to discuss a quantum corrected lax connection Of which yeah sign Gordon is sold exactly like said by these guys, you know, they write exact quantum lax operator Is that right? Not for Owen. Okay, that's interesting. So I'm only beginning to learn the literature and Quantum inner scattering method So why haven't people done this for the Owen model? Yes, so this is this is something I want to emphasize We're not we're not actually taking the the the UV limit, right? We're fixing the ratio of the dynamical scale to the size to the volume. So it's it's because we have this extra parameter because you have this extra Parameter controlled by that controlled by the size of the inverse global charge that you have So maybe that makes the hard things easier perhaps because you don't have to be in this Be in the be in the asymptotic regime in order to control it to control it So Now we can describe the large quantum number limit of the Owen model exactly the same way as one describes the O2 model at large charge We can describe it in terms of an effective Lagrangian with cutoff in the limit where the gradients are much larger than the cutoff And the covariant higher derivatives are small in units of of the gradient So as in the O2 model, we expect higher derivative corrections and quantum loops to make parametrically suppressed contributions at large charge And again in this limit this limit is really conventional to a convention equivalent to a conventional low-energy limit for the system in terms of a chemical Potential or more general flat background gauge field So there's no real issue of principle in terms of controlling the derivative expansion. So you might have said well, let's just analyze the the Owen model at large chemical potential, but as I say earlier this really obscures a lot of the symmetries of the system and sort of direct analysis at large charge seems to be More convenient in many ways There are comments about this I'd like to make once we're off video because You mean a DSC MT. Yeah, let's let's let's talk about that off. Yeah. Yeah. Okay. I mean these guys in ADC MT The most neutral statement I can make is that a DSC MT the true ground state was never found and wasn't really looked for People generally studied a Correspondence or a notional correspondence between large large charge and strongly coupled conformal field theory on the one hand and a Rise extremo rise from Nordstrom black hole and a DS on the other hand Extremo a lot of the CNT literature is about you know Some chemical potential some temperature, but of course the extremo case is still unsolved right but but at some level It's irrelevant because the extremo rise north from a DS black hole isn't even the true ground state No, of course the case has always been very fun But but no, but that's that's that's the reason it's somewhat or well, I don't even want to use the word orthogonal Wrong thog and all To to to this analysis In other words, there is some true ground state of the system at zero temperature and large charge in ADS But it really wasn't found and it's not a it's not a black hole And I think this is one of the really interesting questions in this area, but but yeah You won't find the answer in in the ADS EMT literature So we anticipate that the higher derivative corrections and quantum loops will make suppressed contributions to low-lying states at large quantum number So it's useful to separate the effective Lagrangian into pure gradient terms independent of the cutoff and other terms which contain positive powers of the cutoff and higher covariant derivatives of the dynamical fields, so This first Term is the gradient only cutoff independent terms which are these nice Term sort of scheme independent terms which have a direct relationship to leading terms in in asymptotic expansion and then other Which are scheme dependent and also parametrically suppressed at large quantum number So the dominance of the pure gradient terms at large quantum number simplifies the form of the effective Lagrangian a great deal But the most general pure gradient Lagrangian is still considerably more complicated than in the conformal O2 model in three dimensions So there have been various papers written about the higher O n models But a systematic analysis of terms even at leading order was never really done So let me tell you what an ingredient that was missing from some of those analyses So even in the conformal case The O n model has more invariance For n greater than or equal to 4 even more invariance constructed from pure gradients So even at leading order in this expansion, there are more terms than just this one gradient to a power So the two important ones are The gradient squared on the one hand and then the anti-symmetrized A pair of gradients squared and then dimension Dimensionally corrected by dividing by K squared so These are independent for n greater than equal to 4 and so the most conformal the most general conformal effective Lagrangian at the pure gradient level is K to the d over 2 times some unknown function of you And then dropping the requirement of conformal invariance, which we have to do in two dimensions K is just the gradient squared K is the gradient squared and then you is this Anti-symmetric invariant squared D is the dimension of space time. Yeah So then dropping conformal invariance we have a K to the d over two times a function of two variables so Now in higher dimensions, there are even other invariance other than these two But in two dimensions you can show that K and you are the only Invariance constructed out of out of gradients and so at leading order in the large charge expansion the most The the leading term is controlled by an unknown function of two variables K and you And these can depend on on G squared or equivalently on the dynamical scale and it can be some extremely complicated thing So but this pure gradient Lagrangian contain contains a great deal of information about leading order properties of the system at large quantum number So for instance the free energy of the ground state in infinite volume and fixed chemical potential is given by given by the functional form Evaluated at you equals zero. That's it and K equals mu squared And so this quantity can be directly is the genre transformed to the energy density at finite charge density in infinite volume so Where you know row is f curly f prime of mu Here you're assuming no breaking of space symmetries. Well, let's see In the conformal case you can you can prove that yeah Yeah, um, I believe it can probably be proved here, too But I'm not actually sure about that because basically you're saying that you equal zero because it contains an anti-symmetrization space, no Well, I think I think in a few slides I Think this is an interesting point of principle But I think there's plenty of evidence that that it doesn't break in a few slides. I'll get I'll get to it There's work by Marini and Rice basically calculating the infinite volume Free energy at at fixed chemical potential via the beta on socks and it what do you mean by chemical potential there is oh, yeah Yeah, but by chemical potential I mean for for a given carton So so you you pick out a direction in carton space So there's a there's a unique direction which has a homogeneous ground state in finite volume. Oh, so you think the special That's right, but this is Yeah, but luckily that's the thing that's actually been computed right Yeah, in fact, and I don't know if they tried to compute more generally They didn't mention about trying to compute more generally and why they didn't but yeah I mean, I guess the reason is because there isn't a thermodynamic limit for those other for those other other directions in carton space Right so Yeah, in a couple of slides. I'll say what's known about it So the quantity the energy density is a function of charge density gives a leading large k limit of the energy of the rank k symmetric tensor a ground state in finite volume with K over the volume of space held fixed and The energy goes as some number times k squared over v Plus sub leading in k And this identification is not perturbative as a function of g squared or equivalently as a function of m squared over rho squared So this leading order classical EFT action resums an infinite series of quantum corrections And in particular all those that contribute to leading order large volume quantities at fixed density or equivalently fixed chemical potential So then you can ask what do quantum effects in the EFT compute? Well, they contribute sub leading Large quantum number corrections to observables and finite volume at fixed density So for instance the one-loop correction to the rank k symmetric tensor ground state gives the first Subleading term in the large k expansion of the ground state energy So this term straightforwardly computable as a casmere energy that scales as k to the zero at large k for the kth order symmetric tensor rep and it goes as The sub leading term goes as minus pi speed of sound over six times the volume and the formula for the speed of sound is given Again by some combination of derivatives of this master function curly f With respect to k evaluated at mu equal at u equals zero So at leading order All the leading order and a much of the first sub leading order large k physics of the symmetric tensor ground state depends only on the u equals zero Behavior of the free energy, but what's remarkable is that the full form of The free energy. Oh, did I say poliakoff? Yeah, it's a logic off. I Am not treating all you guys is exchangeable. Trust me This is yeah, I knew that in fact I was typing this up in a hurry obviously some logic off that was a I Understand I get that All you guys are very different from each other So the form of curly f of mu has been worked out to several orders in the recent work of marino and rice and In the asymptotically free regime it takes a form of a series and inverse powers of the log of the chemical potential over the dynamical scale So the leading behavior is one little beta function times log mu over dynamical scale plus a constant times inverses of logs and This agrees with perturbation theory and also with the ward identity for broken scale invariance Well, I mean This is just an asymptotic expansion, but this is how the asymptotic expansion looks You mean you think it's funny that there are inverses of logs No, that's like that if you take me to infinity you get some disease. No, you know, it's not a disease I mean you get like the virgin free energy well, I Mean, I suspect that it's not for some it's like not improve the Rg Sorry, the first term is one the beta function times the log of The no, I mean this m isn't the like renormalization point. It's really the physical dynamical scale, right? But what happens if you go to the uv like you take me to be very I'm keeping m dynamical fixed and taking you take me to be very dark. It doesn't it look suspicious Let me think I don't think there's anything wrong with it I mean the way to think of it is that the I Mean it there's a there's a target space to the target space becomes that's right. The target space is getting large It's actually singling that can be okay. Yeah, that's you get an infinite target space. That's right. That's right Okay, so in order to compute large quantum number behaviors for other representations even at leading order We need to know something about the dependence of f of k and u away from u equals zero Now this information is not directly contained in the free energy at fixed chemical potential and there's really no Analogous calculation to what marino rice did because the thermodynamic limit doesn't really exist in the same sense So how do we get a handle on the u dependence? So remarkably we're going to be able to use integrability in a different way In order to calculate the u dependence Away from you equal u equals zero for a given functional form on the u equals zero axis Um So this is where we use the infinite dimensional Yangian symmetry generated by the holonomies of the lax connection The quantum integrability of the on model means that the Yangian symmetry is preserved quantum mechanically rather than merely classically So the Yangian symmetry must be present in the Wilsonian effective action in some form As we said earlier all observables for low-lying states above the symmetric tensor ground state are Computed at leading order by the pure gradient cutoff independent piece of the Lagrangian this this Curly f of two variables so the Yangian symmetry has to be present already at the classical level in the f of k and u Lagrangian because if it were broken at that level a Higher derivative terms could not Couldn't restore it because they're parametrically suppressed in in amplitudes So we're going to see that the Yangian symmetry is absent for a generic Curly f of two variables. So the quantum integrability opposes a non-trivial constraint on the functional form of k and u So a sufficient and necessary condition for preservation of the Yangian symmetry is the existence of a one-parameter family of lax connections So we can write the most general possible form of a connection constructed from the Dynamical fields in the on model which is flat for any configuration obeying the equations of motion of a modified Lagrangian depending on the on gradients So analyzing the most general possible form one can write with the correct symmetry properties We find that the most general possible form is again Something like what we saw for the classical two derivative theory But a little bit different So the odd the parody odd piece is again a coefficient times the ordinary no, they're current and then the parody with a with a parody reversal on the on the minus component and then the parody even piece Is given again by this form that doesn't depend on the on the form of the of the canonical variables or of the of the Lagrangian So this form of the lax connection is formally exactly the same as in the microscopic theory With only the form of the another current depending on the details of the Lagrangian But this isn't some random onsots for the lax connection It is provably the most general form of the lax connection for a classical gradient depending classical Lagrangian depending on gradients only So G has been replaced G has been absorbed into into the form of Pi right and The details of the proof that this is the most general form have been omitted because they're in the form of a complicated mathematical file Which hopefully there's going to be some simpler and more conceptual of proof, but essentially It comes down to several over constrained linear PDEs Yeah, yeah force this force this form So this form is necessary, but not sufficient for the flatness of a on shell So this form is equivalent to the cancellation of the second derivative term in the curvature of the lax connection But the curvature of the lax connection also potentially contains a pure gradient term whose vanishing imposes an additional condition and the additional condition first fixes these coefficients in terms of of one another in terms of a single spectral parameter and then imposes a Partial differential equation a first order nonlinear partial differential equation on curly f of this form So some actually not just nonlinear, but purely quadratic first order partial differential equation on the form of curly f The principle was that this this first constraint Comes from cancelling the two derivative terms in the curvature of the lax connection The terms with two derivatives on a single phi But there is also potentially a term in the curvature of the lax connection containing pure gradients only and That imposes that's an independent condition Yeah, so in other words at the at the At the level of a classical grungy and containing first derivatives only there are two independent conditions on the Coming from from setting to zero the curvature of the lax connection the first one is a boring one that tells you that the the form of the lax connection just generalizes the form of of the two derivative lax connection and This but the second constraint is much more interesting. It gives you a It gives you a quadratic first order PDE on curly f So this first order nonlinear ODE can be evolved straightforwardly in the u direction given a boundary condition at u equals zero So given a functional form at u equals zero we can straightforwardly write a series solution in you so Here we have the the u to the zero piece here to the one piece u squared piece and and so forth Now since the semi classical energies of the non-symmetric tensor Ground states Depending on the Taylor expansion that equals zero these are physically meaningful and can be checked in principle and furthermore the large k expansion Corresponds to the asymptotically free regime so we can check these predictions directly in perturbation theory so blah blah blah I Will just say that the calculation is still in progress But I'm still giving it public giving this prediction publicly in a conference talk Which I hope convinces you that I'm relatively confident in the consistency of these large quantum number methods That I've told you a bit about today, so in conclusion We have an analytically controlled way to compute Q of t data out sort of any other simplifying limit for integral theories We have tools to constrain the effect of action these constraints give sharp predictions for physical observables that can be checked directly in various Limits and analysis of more examples is sure to yield further interesting surprises about the large-scale structure of theory space Thank you and happy birthday Samson In the beginning In the theory with Lagrangian with the huge of the field derivative yes In the Hamiltonian description there. Yeah. Yeah. Yeah Usual usual But again to be used in the same regime expanded around a classical solution with large. Yeah other questions Actually, let me add the remark maybe it's also for Samson that for low quantum numbers like zero one Two three there or nsigma model was sold by poliakov and pigment using path integral and by Fadiation Russia kicking using like not using spin chains of highest spin when spin goes to infinity and they all Probably one can do this for large quantum numbers and also higher spin chains Correspond to the high So maybe there is a connection what they were doing with what you are doing in this regime of large quantum That's very interesting. So it's like a complex Samson knows that Okay, here's your question. Let's see the question. Okay. Yeah, I just wanted it's kind of a question or a comment So since you say that your predictions are sharp. I Wanted to know how to actually assign an error bar to the prediction for say spin to for the for the two mono. Oh And because because you put on the same fooling the bootstrap result Which has rigorous error bars and the result which has no error bars. It's just a coincidence that happens to agree. Oh What is the method to sign an error bar if you sharp method means you have to have an error Well, by sharp I was referring to the predictions for the form of the asymptotic expansion But it's not sharp because you don't know at which skin kicks in. No, it's a prediction about the asymptotic expansion itself I don't think I use the word sharp to refer to a prediction for any for any finite For physical absorb physical means you can compare to the data If it agrees you say great if it doesn't agree you say well, it's just for the simplicity No, but the prediction for the zeros order term is a very sharp because you can take derivatives and differences and compare to the data That has no error bars. It's exact Well, at which spin it's supposed to agree it's an asymptotic result Well, the data always occurs to some refers to some fixed spin Then you have the data The method should have in the honest method should have this property if it agrees You should not be allowed to say well if it doesn't agree with just because I am not yet in this But it's like asking about the standard model like what's the utility of computations Well in that case there is at least one method to send the error bar Which is to come to compute the next or in perturbation fiercely in perturbative QCD and that's the estimate for the error bar One can agree if it's a good result Is it actually correct to do it seems to be working one can discuss if it's good or not So I would like to know what's the method here? Was that a question or is the discussion Okay


Awesome panelists, we're going to talk about plug-in development today. Mike Jingle, I'm going to start with you because I've known you the longest. I would say you're like one of the kind of early patriarchs of the WordPress community here in Atlanta. You definitely kind of kick some stuff off here in Atlanta. And a lot of ways kind of started us so where we are here today with WordCamp and all these awesome meet-ups. Mike runs the coder skill which is a cool thing. You started getting people interested in actually WordPress, more plug-in development, less necessarily user meet-up stuff. Naomi, you run the GEEK, or the Gwinnat meet-up space, is that right as well? Sorry, I also participate in a place called GEEK Space Gwinnat which is a maker space in Gwinnat and so it's all the Gs that are a little confusing for me.  Just one. Okay, she's not that crazy. Not that crazy. And you actually have presented here a couple of Atlanta WordCamps and have gone around in some other regional WordCamps and talked. And I met Naomi when you're starting the Gwinnat meet-up and so it's cool to kind of watch what Naomi's been able to accomplish over there. And Patrick, I know nothing about, he's from Denver, so I'm just right. Is that right? That's right.  Just like starter profile stuff. It says he's a yoga monkey, so maybe there can be an opportunity for some demo of what that means. And also product manager at WooCommerce, so that's an e-commerce thing in here. Right. We're a press e-commerce platform. Very cool. Guys, if you guys have any questions of the panelists, I'm going to try to get some of my stuff into the end. And then we'll turn it over to y'all's questions as well. Sorry for crossing in front of you. I got to get back to my notes. So I guess the first thing, question I have for you, Patrick. Another thing mentioned on your Twitter profile is that you also make sound effects. So is that something like you do, like, audibly verbally? Is that something you could demonstrate just quickly to kick us off? I could try. You know the water drop thing? Where you like, wow. So I like sound effects. Very good. You probably can't hear them in the back. I'm sorry. I'm not. I don't know how to project that. I do like sound effects. Okay. Very good. Thank you. Thanks for that. So just to kind of quickly get things off, I have this idea for kind of just a couple rapid fire questions. To each of you, let's just kind of go, we'll start at the end with Mike and just kind of let's go as fast as we can for a minute. Don't repeat yourself or anybody else and try to keep it as short as possible. So a couple words at the most. What tool could you absolutely not do your job without? One more. PHP Swamp. Next. A debugger. A debugger. Thank you. GitHub. What? GitHub. No. Mike, back to you. Slap. We're going for 60 seconds. Slap. Okay, thank you. It's funky. Okay. Being stock for deploying things. Fager. Virtual box. Atom. Which is the code under? Composer. Yeah, there you go. Text it. Text it. One more.  Let's go with Travis CI. Okay. So next question I guess is, I'm going to start with Naomi. So just to kind of give them a little context of some of your most notable plug-in developed as the Strikes Gravity Forms plug-in. Would you say that's probably one of your most adopted plug-ins? If you could just kind of talk about briefly kind of some of that, not so much why you created the plug-in, but kind of where you're at with it now. What maybe are some of your challenges and specifically through the context of developing extensions for existing premium plug-ins. Could you just kind of speak on that? Okay. All right. So, um, excuse me. So Gravity Forms plus Strikes, that is the main product that I work on now and really it started because I was doing client work and it was for a non-profit and they had a lot of members who were not maybe so technically capable. All right. And so the PayPal flow for taking those memberships was really painful. All right. Because it's like, okay, how do I know that they're making it through, that they're making it to this other website and then they're making it back? And that everything is doing what it's supposed to do. So I had heard of Stripe and I'm like, okay, that looks cool. And then I had finally found the perfect use for it. All right. Because as you know, Stripe, it does not send people away from your site. All right. It keeps people right on your site. So I needed it for Gravity Forms because that's what we were using. So I asked the Gravity Forms guys to make it and they were like, well, you know, we're not going to get to it right now. And so I'm like, well, I need it right now. So you know, up until that point, I had resisted going back into programming. I have a computer engineering degree. And so as part of that coursework, we had to know how to program. I had resisted it. And I said, well, I'm going to have to test this off. So I took another extension and kind of reverse engineered it to use Stripe. It was using authorize.net. So I reverse engineered it to use Stripe. And I said, well, hey, you know, I wanted to contribute more to WordPress, but I said, well, hey, maybe this will be useful for somebody. And so I just made it available, put it on the WordPress repository. And about 24 hours later, someone had sent me a $50 donation and was on the Gravity Forms forum saying, please, you guys, we really need this donate. And let's help keep this plugin going. So three years later, people are still donating their $50. And the plugin is still going. Of course, it's gone through a complete rewrite. And really what I did was I resisted it for a while, but I listened to what the customers were asking for. All right, so it's actually turned into something different than just a regular Gravity Forms payment add-on, as you know it. So I would say that was definitely one of the challenges. There was a customer that they kept pushing and kept pushing and kept pushing with money, all right? And so please, we want these features, all right? And so I said, OK, you know, I finally gave in and went ahead and built it. And I would say those few features have probably kept the plugin going and propelled it for the amount of time that it's been going because it was what people really wanted. So I would say that's one thing you need to listen to the customer. And once I saw that, I said, this is good. So I started asking customers, hey, can we just, 15 minutes, five minutes, please, I just want to talk to you. I want to hear from you. So another thing is, I would say another challenge is the WordPress repository, all right? I hate to say that. It was not supposed to be a paid plugin. It was just something I built and I put it out there. And so being on the WordPress repository is both a blessing but also you don't get to know who your customer is and so it's like flying blind because I have no idea who these people are and, you know, of course it's against the rules to, you know, try to find, you know, try to contact them through information that's available on their site. Go ahead and say it. It's a curse, too. Please, please, I can't tweet it once you say it. It's a challenge. It's both a blessing and a challenge as with, you know, most things in life. So, yeah, that has been interesting and, of course, the review system. For any plugin author, that is definitely a challenge, all right?   So that's just something to be mindful of. Was there anything else? Oh, and so you said, so what is it about building something that is built on top of another platform?  I mean, when you look at it, we're all doing it in some way. You know, strike. You're using strike for payments. If strike goes down, then what? Okay. Even if you're using PayPal. If something happens with PayPal, then what? We're all using these kind of third party systems and putting them together. I was reading an article the other day talking about how, you know, Uber is kind of, it's a transportation company without any vehicles, all right? Really, they're a software company because all they're doing is taking these APIs and then kind of matching them together and creating a service for all of us to use. So it is a challenge and I would say for anybody who is thinking about doing it, choose the right platform. I lucked out, okay? I really did. I just happened, you know, Gravity Forms was popular so I use Gravity Forms and it just happened to be that it's a great platform for doing that sort of thing, all right? There are a lot of users. There are a lot of people that are hungry, you know, for extending it in many different ways and, you know, the people are generally a, you know, a really good customer, okay? You're not going to find too many bad appers, okay? Now, of course, you'll always have some. I'm not going to say there aren't any, but I have been blessed. So I would say choose the right platform if you're going to build an extension on top of someone else's. Another thing is make sure that they are friendly, all right, to third-party developers because some platforms don't want you to. Look at Twitter, all right? Look at what they did with their API. I think LinkedIn just got rid of their API, all right? So make sure that they're friendly and that they want you building on top of, you know, on top of what they have. And also make sure that they don't mind you making a profit off of it, okay? Because that's another thing that may say, well, I don't want you selling an add-on for, you know, my thing. Maybe they want to do it all themselves, all right? So just make sure that, you know, that they are friendly to, you know, to you building on top of their platform because it's just not worth it. You know, life is too short to try to fight with somebody or something like that, so. Thank you. So, Patrick, kind of a follow-up question to that from the other perspective as with your work with WooCommerce, you guys obviously also utilize a number of kind of third-party developer-driven extensions. And I noticed that you also have ninja forums on your plug-in repository profile. And I think they kind of similarly have a kind of an extension model. And if you could just kind of talk about it for a bit, as specifically from the WooCommerce perspective of kind of encouraging people, and maybe on Naomi's note about, do you encourage people to build onto your platform and to extend it and to profit from it and all of that and just kind of run from your perspective or something like that? Yeah, good question. So WooCommerce is a platform. It's a very extendable WordPress plug-in.  And when we got started, it was the right plug-in at the right time, and we really encouraged people to build extensions. And in three years, we've gone from having zero sites to having 400,000. And I think that's mostly because everything's open. Anyone could do anything. If there wasn't a strike plug-in, you could build it. If there wasn't an authorized net plug-in, you could build it. I think allowing your plug-in to be extendable, to build a platform that other people can build on is the fastest way to grow. And now that we're three years, it's a little bit different. We won't... I feel like year one was the Wild West. We're like, when are you able to plug in and build it? Go, we'll sell it. And now we're much more conservative. We spend a lot more time auditing code. And a lot of people that don't know how to use GitHub were like, we'd love to work with you, but this is a requirement. So yeah, we use extensions now, our own sites. If you guys want to release your own plugins for free on WordPress.org, that's great. But stuff on our site goes through a pretty thorough review process. We still do work with some third parties. We probably do about half the extensions in-house. And so kind of switching gears a little bit. Mike, I know that most of your work is kind of more on the, I would say, more enterprise at this point level. Our type of plug-in. It's a little bit different mindset of I'm gonna try to release a product that's being really targeted and sold to the end consumer versus kind of working in some of these other systems. I'm particularly interested if you can just kind of talk about some of your experience kind of on that side. And maybe tell us a little bit about something that is kind of off the beaten path in terms of what you would normally think of a plug-in to do. First chance I had to cough. The, what I like to do also when I'm doing that is ask or show of hands to get kind of an idea of what people are interested in here. So let me go down the path and say there's a, when you say plug-in development there's probably four or five different kind of things that you might mean in terms of plug-in development. We'll start with WooCommerce. You might want to build a product that you would then sell. You might want to build a plug-in that you then do what Naomi did initially which is give it away. Which she then evolved into a paying version of that plug-in. You might build a custom plug-in because the client comes along and says I need a store locator. So you go build a store locator for them. And then what we have evolved into doing is building what, I don't know how many, how many of you are familiar with MU plug-ins? Let's use plug-ins. So we use MU plug-ins as essentially the base for our site, or for a site that we build for a client. And then pair that with a theme, a custom theme. So of those different things who is here to want to learn about how to build a product? Just a couple. Who is here to want to learn about how to build plug-ins to distribute to the WordPress repository for open source purposes? A few more. One guy keeps raising his hand. And then we want to just learn about plug-in development so they can build custom solutions for their clients. So about two-fifths and two-fifths, right? I don't know what else to say on that one. Well, I mean on that note, I think they all do have some kind of commonalities. There's some structural things that really all good plug-ins kind of need. And so, you know, if you want to focus on one of those specific kind of avenues, and that's fine, but in general terms, what are those core functionality, those core things? I don't know if anybody knows this, but just in case you don't. If you modify core, you shouldn't be programming. So the whole point of WordPress architecture is at least from an extensibility standpoint is to empower as much extensibility with zero modification of core. And anybody who's been programming in open source for a while probably already knows that, but if you're new to the concept, it's really, really, really a bad idea to say, oh, well, it's only one line of code that I have to change here in core. And you do that, you deploy it, and then WordPress auto-upgrades to the next version, and now you're kind of screwed. So I probably need a little bit more specific direction to know where to head. So, well, let me kind of change gears on that, because I wanted to go somewhere, but I don't think we're going to get there. So in regards to specifically kind of APIs and following the WordPress way, if you could just kind of maybe tell us one, what is kind of your favorite, if you will, if you had to pick just a single API to spend a lot of time with, which one would probably annoy you the least? And at the same time, like, what has that specific API kind of enabled you to now do in your development? If you need to take a minute. Let me pull up two. One, probably most people know WP Query, because you can do for, I mean, that's the crux of WordPress is being able to pull data out of the database. So along the lines of what would you spend time spending a lot of time learning, it's learning WP Query, actually learning how to build SQL. So one of the things that I ended up doing when I'm using WP Query is I'll pass in the arguments and then at the very end, after it's returned the object, I'll go to the request property, grab the SQL, pop it into my SQL editor, make sure it runs and returns the data that I was looking for. If it doesn't, then I'll tweak the SQL until I figure out what I wanted and then I'll figure out how to translate it back to WP Query. I use a tool, I'm on the Mac, I use a tool called Navicat. They also have it on Windows and on Linux. There are tools that you can download and pay for, but if you're doing anything professional, don't get in the mindset of, well, I have to use everything that's free and open source. It's like if you're billing $50 an hour, buy a $50 tool that's going to make you that much more productive. So that's the one thing that I learned to spend a lot of time. The one hook that I really pushed for and actually got much to describe a few people on the core team was and now I can't remember do, parse request. So WordPress has URLs that are context free, meaning that you can look at the URL and know exactly what it's going to do if you understand what the rewrite properties have been set to. But a lot of times you want a website where you don't have for example the post-type slug in front of it. So I'll give you an example of a project that we're wrapping up right now. We're doing an internal site for Coca-Cola for brand standards. So for each of their brands I didn't want URLs that said this site slash brand slash Coca-Cola. So the do parse request actually allows you to go in there and fiddle with it. And last WordCamp I gave a talk on advanced URL routing and it's actually called hardcore URL routing. So if anybody's really interested in that topic you can Google that from last year's WordCamp and figure out how to do it. Any of you any kind of favorite APIs you want to add to that? I mean API obviously. Hooks are wonderful. Since I consume a lot of APIs in my work the HTTP API is really great. It prevents you from having to know whether the underlying system has curl on it or not. So it handles all of that beautifully if you need to interact with any outside system. And then a recent favorite of mine is the WP database API. That's really cool because I don't know if you know it or not but you can actually use that class to connect to other databases other than the WordPress database. So it's pretty cool. Let me start with the least favorite is the settings API. My people. So if you ever build something to be extended by someone else write something on top of the settings API like if you want to add a WooCommerce setting it's easier than adding a WordPress setting and it goes in the right place. But I think for favorite API I'm in love with the Customizer right now and I'm trying to move everything I can from like weird checkboxes and settings pages into the Customizer where they can see it. So if you want to have your shop page as the home page or your WooCommerce shop page on the home page you should just do that in the Customizer and all of a sudden see all your products on the shop page as opposed to having abstract checkboxes in the back end. So it's a little bit tricky to do but you can do some cool stuff with plugins in the Customizer. Alright so switching gears in terms of testing one of the things that there's I think a lack of in the WordPress community is really a good solid test driven development but it's kind of challenging when you know I know for myself and probably speak for a lot of other people can you just talk a little bit about your kind of if you do testing test driven development and if so kind of what are some of the challenges so far that you've had with that and how do you kind of manage that? Let me just start. So my biggest challenge with test driven development is getting clients to put the budget toward it. So consequently we've done far less test driven development than we would like to because the projects that we tend to work on are our so what our focus is is we don't actually build sites for clients we build sites for agencies who then deliver them to clients and so when we get a project it's at the 11th hour it's got to be done now because the agency waits to bring us in until pretty late in the process so I don't really have a whole lot to talk about technically I'll let others talk about the technical but getting the client to appreciate the value of it is hard. I would say going back and now now trying to add test cases to old plugins especially old plugins that are kind of large that's probably that's probably the one thing that's been the biggest challenge for me especially when you know you're still learning proper WordPress development practices or just proper practices period you know don't have a function that's a thousand lines long you know don't you know things like that you know they don't lend well to you know to writing new tests so now as he said finding the time to go back and now refactor this old code to be able to you know to be properly tested sure so we use we have unit tests for WooCommerce and we have Travis CI on our GitHub and I think that's all we have for automated testing we're only at about 22% unit tests coverage which isn't great uh WooCommerce is massive and so we're rewriting a lot of stuff to be able to use to be able to use unit tests it's worth it but I wouldn't honestly if I'm starting a brand new premium plugin I wouldn't do unit tests unless you know you're going to have a ton of people using it it's just a lot of work I just wouldn't start like I I like this I think I think you need a very lean so as soon as 100 people buy the plugin as soon as you know people are going to keep using it and buying it then do unit tests I wouldn't I wouldn't do it day one so there's definitely an argument for unit tests it's called test driven development where you define your requirements in your test so I would I would definitely I'm absolutely going to take ejection to that no no I've got projects that never see the light of day they're only used on my own server at home and they're 75% I mean I'm not a 100% unit test guy but to as an expert to tell people that are getting into development don't do unit testing it's okay to accept technical debt you'll pay the interest until you can bother some other time the PHP community spent 5-6 years teaching developers as they're coming up to start with unit testing because when you do that you have a lot less technical debt now understand your argument I face that one I'm not arguing against the unit test I understand I've been in your situation and yes sometimes you just can't get clients to pay for it but especially if it's a Greenfield project I don't usually start with I'm not test driven development but I always have unit tests on 50-75% of it just so that when I go to screw something up later on this setting needs to change I know something else will work I want to interject something here and that is for those of you who don't know who's talking here it's Cal Evans he's a luminary in the PHP community so I'm not pointing you out to embarrass you I'm pointing you out to he's an authority in the space well thank you obviously there's some great area so we'll leave it at that so talk to me a little bit about it you got a question in the back let's start going comment the only thing I'm doing right now to give back to the WP community is to review plugins that work so please do that because that really helps people who are reviewing oh this was my word that really helps the question I had is is somebody new to are going to start trying to do plugins development what is a good hello world plugin what files would you need to change what's the general process for creating a simple hello world we have our dollar well I think I'd like to maybe take that question a little further he said what's a good hello world so I'm going to direct this quickly to Naomi I know you've taught before at the high school level was that right or college level and you taught web development there is that correct program so introduction to Java so if you were to think about that day one what would you take a new plugin developer someone who has never written a plugin in their life they could probably tell you that cooks and filters exist in a tackle box what what would be your first project for them so I would say before you write a line of code read code read good code that would be the first project would be to read some good code so maybe would that be how do you encourage people to read code would you just say here's a plugin like go read this plugin or would you give them maybe here's a plugin that's got a problem go find the bug what kind of assignment would you give so I mean github is awesome but I would have a plugin in mind just a simple plugin they're trying to think of one a very simple one I think there's a user switching plugin by his name escapes me but he's a well known guy in the WordPress community so a simple plugin one file maybe a couple of different files start there look at the structure look at what he's doing alright and then kind of ramp up to maybe something like like easy digital downloads alright which is huge but the reason why I love easy digital downloads is I've learned so much by reading by reading Pippin's code just looking at how he structures things I wouldn't necessarily do it the same way but when you look at different people's coding styles look at how they've solved different problems it helps you then when you sit down to write your own code and so for me I mean everybody's learning style is different but then for me I would take a project that I want to do something that I need something that I want and then I would start so it wouldn't be I guess some hello world it would be something that's useful but that's just because of my personality before I started writing plugins I was hacking plugins so I would use a plugin on a site and I would need to change just a bit of functionality and so I would hack it to do what I needed to do and so that's kind of how I started getting in saying okay I'm just going to develop my own plugin we're kind of talking about moving into starting these plugins and creating my first plugin so if you were talking briefly about the planning process what do you do before you ever go to write a single line of code what is your process for figuring out what your roadmap is before you ever go into that could you just speak that out a bit so let me just start with I write a lot of my blog and just as an example all the posts that I think are really popular no one ever reads and all the posts that I think are throwaway posts become the most popular posts to my blog so we have as a creator of blog content and plugins but as a creator of blog content I have no idea what is going to be popular and so before you invest a ton of time into building a plugin always release a beta of version 1 make it light, make it simple, make it fast and just do 60, 80% of what you think before building a massive e-commerce solution just have a buy button or not even a cart just a buy button once you're at, it's nice we're at scale now with themes we have an ideas board and so we have 2,000 ideas for e-commerce can you please do this, do this, do this last them have 2 or 3 votes a couple of them have 600 votes once you get to that scale it's really easy when you see 600 votes to build that product before you get there for unrelated projects I've just put stuff up on my blog and say hey be really great if WordPress did this if you wanted it to do that please and after 15 emails I built it I think you need to you need to hear from users that they want it and before you spend a lot of time building something you need to validate that's a good idea so we're very lean of themes we want to make sure that idea is valid before investing a lot of dev resources in it yeah so I'm going to kind of go closer to the question that he asked that I think he asked which is more like from a technical perspective how do you go and build the plug in and so let's say that it's not a product this is great because we've got different perspectives from a product person is thinking well should we build it or not and somebody is building it for a client isn't thinking should we build it or not because the client says build it right so from that perspective I don't have a good way to point you to it and I'm not sure I would recommend reading other code until you actually get into working with other plugins building plugins because I'm not sure you're going to understand what you're reading until you actually bump into those problems I tried to write a blog called Hardcore WP for a while and all the posts are still up there and I was trying to build up from the beginning and I found that as a blogger I'm the type of person that goes super in-depth into something and I just never I just couldn't find the time to continue that there are some things up there that they might have, my thinking on it might have been involved since then but it's there's some posts up there about how to structure a plug in but I'm not so much wanting to point you to that because I really don't care if there's traffic up there or not but more to say that there is a very small amount of here's how to build a plug in and then a very large amount of what are you doing with that plug in because what you're doing with that plug in is going to determine which hooks you use and that's going to take you down a path this direction is vastly and wildly different from this direction so as far as what it looks like I've come to believe that that you really need to use classes to wrap your plug in in and your add action and add filters should be done inside of a method we call it on load a lot of people will either say I don't understand object orientation so I won't do that or other people will write how to write an object oriented plug in and I'm going to challenge that both of those are wrong really all we're talking about doing is using a class to wrap the code so that you don't have to namespace your function names you you take the class and you know, unfortunately he's bobbing his head up and down and back and forth here but in WordPress we're still in pre-53 so namespacing is not really the way that you go about in WordPress so WordPress would bastardize the name namespacing to mean prefixing with a common name so if you're doing a plug in it's much easier I'm always looking for repeatable code patterns ones I don't have to think about so that every time I do it I can write the same code the same boilerplate code a year and a half later look back and it's exactly the same because I found the pattern that works and so the pattern that I found that works is a class that wraps everything a static method called unload at the top your hooks are placed inside of there and of course they go to static methods in the in the class and see what else is there and therefore you as much as possible if it's a net hook the name of the method is underscore a net underscore implies that it's not to be used on the outside of the hook you can't make it you can't make it protected because then it can't be called by the eventing system really wish that PHP would have its own built-in eventing system and but if you take that and then of course the header for PHP excuse me the header for plugins which is the commenting system that you learn which is minimally a comment that has plugin name colon at the top that's your starter plugin and if anybody's kind of curious it's like well I didn't really follow that verbally I'd like to see it visually you can come up afterwards or this is a bit of a sales pitch if you're in Atlanta we have a group called Atlanta WordPress Coder Skilled it's on Meetup and our whole point is to do workshops to bring the level of coding skill in Atlanta up our companies would say yeah let's use WordPress instead of Sitecore or some of the enterprise solutions WCQ or SharePoint or whatever so that's kind of our motivation for that so learn the boilerplate and then it's a Wild West because now you've got to figure out what the hooks do good question if you generally I have two answers for that first answer well, the easy answer is no the first answer is depends upon what it's used for if it's what we my company is generally building now we're building plugins that are overarching wrappers for the site the site won't behave won't work without them so in that case they would go into the MU plugins directory if it's a feature add-on like a WooCommerce even though if you're using WooCommerce you pretty much your sites better have it but if it's a feature add-on plugins that you would activate and deactivate like maybe backup buddy then that would go into the plugins directory and one thing about the MU plugins directory they are not automatically loaded unless they're in the root so we always have to create one file called plugin loader and then we just have a require statement for each of the the main file of the plugin in the sub directory is that the WordPress plugin boilerplate you're referring to that's not at all to me that's different well they're more protected I agree so I'm going to pause on that really quick we've just got a few more minutes and I've only got one more real kind of burning question for these guys but I just want to see if there's maybe any other kind of quick questions we can take from the audience before we go I'm going to go back to that testing debate just because that's fun so I understand making making sure that the product works isn't it better to actually put it out there and have people test it and use it and get feedback and improve it as opposed to letting it sit on your computer and never see the light today I think if I took that route I would never publish both plugins because I'm too afraid of the argument for test development is that you start with the tests you start writing the tests and then your development for the actual code goes much faster because you immediately know when it's not working and you immediately before you start writing it, you know what the interface for it's going to be so I would say that you're not on purpose but your argument would be a strawman which would it's not if you the biggest difficulty with test development is getting tests up and running so that you're comfortable doing it once you're comfortable doing it, it's faster I just wanted to add it might be really easy to think about it this way is that normally whenever you develop anything you have a set of requirements and you're defining that set of requirements test-driven development allows you to require set those requirements and also think how exactly is this going to work not just this is what it needs to do and then from that point that's when you go to start writing what he said and I just want to make it clear that we're talking about unit tests here because there are different types of tests so we're talking about unit testing in particular so I think one thing I think is left out of this is the difference between the WordPress community and a test TDD community like Rails so when you build Rails apps that is how it's done it's built with some testing suite you have different gems but it's always built that way WooCommerce is made to be extended if we made it more complex by having more functions that are easily unit tested it would be harder to contribute to WooCommerce it would be harder to build off of it I don't necessarily think in this community everything should be TDD I think that's a different I think that's a different community I think we're not there yet but I don't think we're there yet so I think the problem though is that what you have is you have these large plugins that are on millions of sites and one update breaks millions of sites so that's the problem that's the problem what did you say? so I think that's the problem is that there's there's this reputation for WordPress plugins being the Wild Wild West not being written well you don't know whether it's going to break your site or not I think there really should be an encouragement towards making sure that your code is as stable as possible of course you won't be able to unit tests will not catch everything but it will catch many things and that's what you want you want to know that you've put especially if you're building a product out there that is as stable as possible if something pops up that you didn't foresee just fix it but you want to be confident in what you're putting out there piggyback off that real quick I went to a local produced event called Web Afternoon yesterday and Jeffrey Zeldman's partner Greg Hoy was giving a presentation and he started out by talking about craft brewers and beer and then he made an analogy to web development and so forth but during his presentation for craft brewing beer he talked about one particular person who runs his own brewery but he also runs classes about how to be a great brewer and when asked why he does that and empowers his competitor he says I'm in the business of craft brewing and we're competing with the Giants I don't want anybody to say craft brewing craft beer is bad so I want to make sure that everybody else that's brewing craft beer has kicked ass beer so that piggybacking off of what I think you were saying which is you're putting plugins out there you want people to trust your plugins so you really need everybody else who's doing plugins to have plugins that can be trusted as well and there's a guy that did one more question instead of a TDD approach one of the classes my mindset is more like a responsibility driven program as opposed to test driven programming but even within responsibility programming you can craft unit tests this class or this set of functions is responsible for this set of functionality and nothing else and craft your unit tests around that point so that way to address your kind of a hybrid approach to address your do we get it out or not well we have to we have to get this out we have responsibility to get this out we have responsibility to community we have responsibility to our clients we have a responsibility to our users so let's build the unit tests to make sure we've met our responsibility alright are there any non-test driven developing alright so then I think we've just got a couple of minutes I just wanted to, I like to use this a lot when I talk to people on projects there's a magic wand and all things all wants and needs in life were met and taken care of and you didn't have to be anywhere tomorrow or do anything ever for the rest of your life you can just do whatever you want the magic wand is totally weighted but you have to make one more awesome plugin what would that be what would that be I like I love helping people get something set up so I'm going to go with some sort of coaching plugin like a clarity FM or something like that I like talking to people and helping people fix their problems can it be WordPress related sure as long as it's WordPress related yes sure so the one thing that I would do is I would make it so that every component WordPress is is optional and that you as a developer you have a choice of what component you want to turn on I do not like the fact that you know when you go let's say you do not want to have a user screen or on the user screen you want to turn some things off there are not the hooks there for you to be able to do that so I think WordPress should be made so that each component is something that you can choose whether to add or not for your particular case for your client so that's what I would do WordPress Mike would you like to wrap this up a feature plugin called object relationships and what would that be somebody can google for a post or a track ticket I put up about four years ago it would be a plugin that would allow you to create relationships between any two posts or a post and a user a post one that actually has all the use cases worked out and doesn't have like blind spots yeah go ahead just as and encourage me I will say I'm sitting up here today because of this guy right here next to me I will say that he taught me everything that I know that he encouraged me he always told me hey you're smart enough you can do this you can figure it out he's the one who taught me PHP storm and getting a debugger he didn't let me just kind of sit back and not think that I could do it so I would encourage you find somebody that you admire that you that you can look to it may not even be we don't have an official mentoring relationship I'll ping him sometimes or he'll ping me sometimes but that's about it but find somebody that you can look to even if it's just through their Github profile even if it's just through their blog find somebody that you can follow behind that you can look to that you can be encouraged by so that you can keep going and so that you can do whatever again as I said I would not be sitting here today if it wasn't for him look what I brought I've got a really really long stream on Twitter track method stream oh really it's reciprocal I'll get back to her about you I just wanted to say thanks to these guys if you could just give them a quick round of applause applause applause and if you have any more questions they're all on Twitter so that's gotta be it thank you guys