Okay, thanks everybody for making it out to the seminar today. Today we've got Jane Coons from North Carolina State University who will be talking about Torch Geometry of the Cavender Ferris name and model with the molecular clock. Go ahead and take us away. Great. Yeah, so first of all I want to say thanks so much for the invitation to come speak here today. It's so nice to meet some new people and come to your seminar. So yeah, today I'll talk about some research that I've done with my advisor Seth Sullivan at NC State. I'll talk about Torch Geometry related to some phylogenetics model. Yeah. Oops, okay. All right, so here's a little outline of the talk. First I'll start us off with some preliminaries and definitions that we'll need going forward. Then I'll introduce this model that I'm talking about and I'll describe what the vanishing ideal of this model looks like. That's this phylogenetic invariance business. It'll be a Torch ideal so it has a nice polytope associated to it and we can say some interesting combinatorial things about that polytope and then I'll talk about the air heart theory of that polytope and how it relates to combinatorics of alternating permutations. And these are the two papers that this work is based off of. Okay, so I'm sure most people here know this but for the sake of completeness, a tree is a connected graph with no cycles. So here's an example of a tree. The leaves of the tree are the nodes with degree one. So that's what I've circled in blue at the bottom. I'm interested for the purposes of this talk in only thinking about rooted trees. So we have a distinguished node called the root and it has degree two. And then I'm also only interested in binary trees. So this means that all of the vertices that aren't the root and aren't leaves have degree three. So these two green nodes in the middle that I've circled have degree three. So this is a binary tree. And I'm also interested in assigning edge lengths to my tree. So that'll be T sub edge, T sub e for each edge. Okay, then a node of my tree is called a cluster node if it is adjacent to three interior vertices. So these two circled in red are the two cluster nodes of my tree. And just notice that the root can never be a cluster node because it is only adjacent to two vertices. And then a cluster in my tree is any connected set of cluster nodes. So for example, if I put these two together, that's a cluster, each of them on their own was also a cluster, but this one's maximal. And then the neighbor set of a cluster is just all of the internal nodes adjacent to an element of the cluster. So for example, circled in green is the neighbor set of this cluster. Okay, so that was just some definitions related to trees. And now I'd like to use these trees to describe evolutionary relationships between some set of organisms or what I call taxa. And the models that I'm interested in using are called point substitution models. So this is modeling mutations of a single aligned site in the genomes of some species. So for example, I've got this little three leaf tree here, got human chimp and gorilla. And something that this tree would tell you is that humans and chimps are more closely related to each other than they are to gorillas. And here are some DNA sequences of each of them that I've made up. And so we align them and that's its own problem. And we look at the sites where they differ. So for example, we might look at this last site where we see C, T and A. And so once we pick that site, we'll replace each species with the DNA base that it has at this particular site in its genome. And I'm going to simplify this even further by only taking into account whether that base is what's called a purine or a pyrimidine. So the purines are A and G and the pyrimidines are C and T. And the reason that we split them up this way is because they have similar chemical structure to one another. And so I'll use U to denote purine and Y to denote pyrimidine. So in that way, I've made this just a two state model between purine and pyrimidine. So this is called the the Cavendr Ferris Neyman or CFN model. And it arises as a continuous time Markov process along a tree with labeled edge lengths. So I have one rate matrix that has a free parameter alpha for this Markov process. And this describes the rate at which purines mutate to pyrimidines and vice versa. And then to get a conditional probability matrix along a certain edge, I'll take the matrix exponential of Q times the branch length along that edge. And this is the matrix that I get in terms of my rate parameter alpha and my edge length. And this T sub E can be the time elapsed over edge E. It can also mean like the rate of mutation along a certain edge. There are a couple of different biological interpretations for what this T might mean. OK, so that was just the CFN model, but the title of the talk said that there was some molecular clock condition. So this is what what we've added in our work. So what this molecular clock condition says is that if I pick any internal node of my tree and I pick two leaves that lie below it, then the time elapsed along the path from that internal node to either of those leaves are equal. So, for example, if I start at B, there are only two leaves below it. And this says that T3 is equal to T4. If I look at vertex C, it says T5 is equal to T6. If I start at edge A, there are a couple of different paths I could choose. But for example, I get T1 plus T3 equals T2 plus T5, et cetera. And this is equivalent to saying that we're restricting our attention to ultra metric trees. OK, so how can I compute probabilities of observing some sets of states in this model? So first of all, I'm going to associate my set of states, which are purine and pyrimidine with Z2, partially because it's just easier to look at zeros and ones. And also because this is what is called a group-based model in the literature. And then to compute the probability of observing some states at the leaves of my tree, I need to sum over all of the possible assignments of states at the internal nodes. And my model always assumes a uniform distribution of states at the root of the tree, so that the probability of observing a zero or one at the root is just one-half. So for example, let's look at this three-leaf tree and compute the probability of observing all zeros at the leaves. So to do that, I need to look at all four assignments of states to the internal nodes. So out front I have a one-half that comes from this uniform distribution. And then I have this sum. And the first term is what I get when I just label them both with zeros. So in my transition matrix, I have the probability of transitioning from zero to zero along edge A, and then the probability of going from zero to zero along B and C and D. So that's this first term in the sum. The second one comes from this labeling zero, one. So along edge A, I go from zero to one. And this entry in the transition matrix is the zero-one entry that says the probability of going from zero to one along edge A, then one to zero along edge B, one to zero along C, and zero to zero along D. And I do this for the two other labelings of states of my internal nodes. And that gives me this probability. Are there any questions about like the construction of this model so far? I should have said just feel free to jump in if you have any questions at the. So that was just for a small tree, but we can do this in general. So for each, if I have n leaves and I have a zero one vector of length n, I can write the probability of observing that set of states at the leaves as follows. So again, I have a one-half out front. Then I sum over all of the possible labelings of the internal nodes of my tree. And then I just take the product of the entries in the transition matrix along each edge with that given labeling. And that is how I compute a probability with these hidden variables at the internal nodes of my tree. Now I'm going to do this kind of funky looking linear transformation called the discrete Fourier transform. So I'll introduce some new coordinates. I'll call them cues and they still have zero one vectors as input. And they're just some alternating sum of these probability coordinates. And it's kind of like, yeah, why would you want to do that? But this sort of miraculous thing happened. This theorem do independently to Hendy and Penny and Evans and Speed says that if I have a probability distribution of what's called a group-based model on this tree, then once I apply this discrete Fourier transform, these cue coordinates are parametrized by monomials. So kind of miraculous thing because these P's are just some big polynomials in the entries of the transition matrices. But actually once I apply this linear change of coordinates, these coordinates are parametrized by monomials. We can also simultaneously diagonalize these transition matrices to get new parameters, and that will allow us to explicitly write down this monomial parameterization. So this A0 upper E is just the sum of the first two the first column of the transition matrix. And A1 upper E is their difference. In particular, notice that A0 upper E is actually just one because this column is a probability distribution, but it'll be nice to think of it as its own parameter for now. OK, so now using those parameters, I can write down this monomial parameterization that I promised. So so here's how I get it. I get some product of these A upper E's. And I'll say how you get the subscript in a second. Whenever the sum of these I's, so I1 up to In is equal to zero, Mod 2, and I get zero if they're equal to one, Mod 2. And the way I get the subscript on each of my A's is to take. So if I look at a certain edge E, I look at all of the leaves that lie below it, I sum them up Mod 2. And that is the the subscript that I get. And I'll do an example of this in one second. But what's especially nice about this is that these labelings of the leaves that sum to zero, Mod 2, which correspond to the nonzero Fourier coordinates are in bijection with systems of disjoint paths between leaves of my tree. So this kind of each of these Fourier coordinates corresponds nicely to a combinatorial object within my tree. So let's look at this little example. I've got this labeling 11011. Notice that it does sum to zero, Mod 2, so it's a nonzero coordinate. And here's how I get this parameterization. So if I look, for example, at edge B, there are four leaves below it. So one plus one plus zero plus one, Mod 2, is one. And that's why I see A1 upper B. But for example, if I look at D, edge D, the two leaves below it are labeled by one and one, sums to zero. So I get A0 upper D. And here's the corresponding system of disjoint paths. The way that you can think about it is starting at each leaf that has a one and tracing the path back up to the root until you meet up with another path. That's how you get this bijection between systems of disjoint paths. And just notice that if an edge is in this system of paths, then A1 upper E, A1 for that edge, appears and otherwise A0 appears. So that was all just for the standard CFN model with no molecular clock. And now we can see what happens to this parameterization when we add the molecular clock condition. So what ends up happening is that if I take any internal node V and I take two paths to leaves descended from V, so that's my these E1 up to ER and F1 up to FS, then the product of these parameters along those edges are equal. So that's sort of how we can translate the molecular clock condition into to this parameterization. And what that means is that we can introduce new parameters that now only depend on the interior nodes of archery and not on the edges. So I introduce B0 upper V to be the product of these A0s along any path from V to a leaf descended from it. And I define V1 upper V to be this thing. And if you, yeah, it seems a little funny why you would do that, but it is just sort of a thing that makes everything cancel nicely. But the point is that this is well defined for each internal vertex because it doesn't matter which path I pick from that vertex down to any leaf below it due to the due to the molecular clock condition. Yeah. OK. So now I can introduce this new notation. So if I have my labeling of my leaves that sum to zero, mod two, and I have its associated path system, then the top set of this I1 through I M is the set of all maximal nodes in the system of disjoint paths associated to I1 through I M. So, for example, in this tree down here with this system of paths, U is a topmost node and W is a topmost node. And so this top set is U and W and the complement is V and X. And so when we apply the molecular clock condition, we get this new monomial parameterization where I take the product of these B1 upper V, where V is in the top set and B0 upper V if it isn't. So for this particular Fourier coordinate, we get B1 upper U and B1 upper W because they are in the top set and B0 upper V, B0 upper X because they're not. So this is like a much shorter parameterization. That's nicer to kind of look at when you add this molecular clock condition. Okay. The other thing to notice is that if I have two labelings of my leaves that sum to 0 mod 2 and their top sets are equal, so I have two systems of disjoint paths, they might not themselves be equal, but the topmost nodes in them are. Then these Fourier coordinates are equal. So instead of thinking in terms of the Fourier coordinates based on just these labelings of the leaves that sum to 0 mod 2, I'll instead pass to coordinates that are called R sub P, where P ranges over indicator vectors of valid top sets of a path system. And I'll do an example of what this looks like also. But then we can define the ideal of phylogenetic invariance of the CFN model with the molecular clock as the kernel of this monomial map. So where I send R sub P to B1 upper V, this product of B1 upper V, if V is in the top set, and B0 upper V, if it isn't. So we finally have gotten to define the ideal of phylogenetic invariance. And this is Toric, since it's the kernel of a monomial map. And this means that it's prime and generated by binomials. OK, so what does this look like in an actual tree? So remember that each coordinate R sub P is indexed by the indicator vector of a top set of some path system in my tree. So for example, my internal nodes here are A, B, and C. So my Fourier coordinates are indexed as R sub A, B, C. So let's look at all of the labelings of my leaves that sum to 0 mod 2. If I take the all zeros labeling, that's like corresponds to the empty path system. So I get 0, 0, 0 for A, B, and C. If I take the labeling 1, 1, 0, 0, this is its corresponding path and its topmost node is B. So I get an index 0, 1, 0. Similarly, if I take the labeling 0, 0, 1, 1, the topmost node there is C. So I get 0, 0, 1.  So this is one, for example. Let's show us this and that and that. And each of them give me the same coordinate 1, 0, 0. And then finally, if I label everything with a 1, this is the system of disjoint paths. It has B and C as its top sets or as its top set, but A is not in there, so I get 0, 1, 1. So those are the indeterminates of this ideal. And in this case, the ideal of phylogenetic invariance is this principle ideal generated by this binomial. And just notice that if I added together these vectors subscripts on either side, I would get the same thing on either side, and that's a way that you can tell if the binomial is in this ideal. So what we proved about this CFNMC ideal is that for any rooted binary phylogenetic tree, this ideal has a Grubner basis that consists of degree-2 binomials with square-free initial terms. And the way that we did this is by making use of the Toric Fiber Product Construction. So for most trees, I can see that I can split up my tree and write this ideal as the Toric Fiber Product of the ideals corresponding to these subtrees. Sometimes you can't, and there's kind of combinatorial things that happen that would prevent you from doing that. But in those cases, we can lift the Grubner basis of a subtree to a Grubner basis for the whole tree and give it a certain elimination order and determine that it is indeed a Grubner basis. So if you're interested in kind of the more biological end of this, why might you care about this? Well, we would expect these invariants, these polynomials, to evaluate close to zero on the empirical distribution if I have the correct tree. And the full version of this theorem actually describes how to compute this Grubner basis. So you get a generating set and you could do experiments and actually evaluate your data on these polynomials. Now I'll talk a little bit about the polytope that is associated to this ideal. So first of all, some definitions related to polytopes. So a polytope is just the convex hull of finitely many points in d-dimensional space. Or equivalently, it's the bounded intersection of finitely many half-spaces. And a great thing that I love about Toric ideals is that they always have an associated polytope that gives us geometric information about the corresponding model. So here's how we can see that correspondence. If I've got a monomial map that sends xi to some product of t1 through td, I record these exponent vectors, so like a1i, a2i, et cetera, and I make them columns in a matrix. So it's just the exponent vectors of each of the monomials in this map. They become the columns of my matrix. And then the associated polytope is the convex hull of the columns of this matrix. And getting information about this polytope can tell us interesting things about the Toric ideal. So for our purposes, the CFNMC polytope associated to this Toric ideal is the convex hull of all of the valid top vectors of systems of disjoint paths in my tree. So just like how we went through to get the subscripts on these R indeterminates, those are exactly the vertices of my polytope. So that's what I have here and can draw a little picture of it. We get this square pyramid with a shifted point. So that's the polytope in this three-leaf case. So here are some facts that I'll present now and then basically the rest of the talk describing in more detail. So what we showed is that if we have an N-leaf tree, first of all, the number of vertices of the CFNMC polytope is the N-th Fibonacci number. Its normalized volume is equal to the N minus first Euler zigzag number. So that's the number of alternating permutations on N minus one letters. The Earhart series is determined by permutation statistics on alternating permutations. And we also computed an explicit facet description that we can write down using combinatorial features of the tree. So this is kind of the polytope facts on the algebra and why might we care about this? Well, the normalized volume of this polytope is the degree of the CFNMC ideal and the Earhart series of this polytope is the Hilbert series of the ideal. So that's kind of the correspondence between the polytope and the toric ideal end of things. Okay, so first of all, I'll talk about the vertex description. So we said that if T is a tree with N leaves, then the CFNMC polytope that I call R sub T has Fibonacci number, many distinct vertices of the N Fibonacci number. And I'll give you a little proof by picture. So here's my tree T and I want to count the number of vertices in its corresponding polytope. So in other words, I want to count the valid top systems of top vectors of systems of disjoint paths in my tree. So I'll pick a distinguished vertex that that is a cherry. So that means it's adjacent to two leaves. So for example, I'll pick C and either that is used in the top system. So either I have the path going from these two leaves below C up to C and get that path, or I don't. If I don't, then I have a zero in the C position. And then my system of paths might as well be in the tree where I chop off everything below C. So that's this T double prime. So it might as well just be in this tree with A and B. And this leaf is now basically C. That has three vertices. And as you can see, these three vertices that have zero in the C position, the A and B positions are exactly the vertices from this R T double prime. So that's what happens if C is not in the top system. If C is in the top system, that means that I have this path between the two leaves below C. In particular, that means that A can't be in my top set because I have to come up to A and down through C. But these paths are supposed to be disjoint and C is already getting used by a path. So that can't happen. So you might as well be in the tree now where you cut off everything at C and also cut off A. So in this tiny example, we just get this two leaf tree with B. It has two vertices. And as you can see in these last two vertices for the big tree, we get ones in the C coordinate, zeros in the A coordinate, because he said we couldn't have a path use that as its topmost node. And then these two vertices for this T prime. So basically it's one thing less plus two things less is a Fibonacci number. And that's kind of a picture version of the proof. I also said that we have a facet description and that uses these cluster structures from the tree. So a point is in this polytope, if and only if the following things hold. So first of all, XI needs to be greater than or equal to zero for each internal node of my tree. Next, if I have two nodes I and J that are adjacent to one another, there's some needs to be less than or equal to one. And this sort of goes back to what I was saying before about using adjacent nodes. So for example, if I look at like B and C here, if I had a path that goes up to C and down, then I couldn't have B as a topmost node because I need to come up through F, go to B, and then back down through C. Right, so they're adjacent to each other. So that means that they can't simultaneously be in a valid top system. So that's sort of what this says. And then this is kind of a more general version of that for clusters. So what this says is that if I take any cluster in my tree, I sum over the elements of that cluster and multiply by two. And then I add in everything in its neighbor set. This should be less than or equal to C plus one. So for example, this was the tree that we saw at the beginning when we were defining clusters. So B and C are a connected set of cluster nodes. They're only adjacent to other internal vertices. The neighbor set is everything else. So I get 2XB plus 2XC and plus all of the other X's is less than or equal to the size of the cluster plus one, which is three. And we showed that these are exactly the facet defining hyperplanes of my polytope. So here's sort of a proof technique for this. A key thing is that the facet description for the polytope when you just have the CFN model with no molecular clock was already known due to these folks. And what we did was construct the CFNMC polytope from just the CFN polytope using a sequence of linear maps. And at each step, we inductively apply Fourier Motskin elimination to get an inequality description for these indeterminate polytopes until we, or sorry, for these intermediate polytopes until we arrive at the one that we actually want. And then there's the business of showing that the extra inequalities you get are redundant and the inequalities that you propose are actually facet defining really have N minus one, app on the independent points on them. And that's sort of the proof technique. Now, I'll talk about the airheart theory of this polytope with a little bit of an introduction to some some terms from airheart theory. So I'll fix any polytope in Rn. It's an n dimensional polytope with integer vertices. And the airheart polynomial is the following function. So for each k, I take the kth dilate of my polytope. So I multiply every point in it by k and I intersect that with the integer lattice and I count how many points are in it. So k is an integer, kp is the kth dilate, and the value of this function at k is the number of lattice points in the kth integer dilate of my polytope. And miraculously, this is indeed a polynomial in k. So as a little example, let's let p be the two-dimensional standard simplex. So that's this red triangle down here. So 00, 01, and 10. If I take the zeroth dilate, that's multiplying everything by zero. So I just get the origin, which of course has one lattice point in it. Ip of one is just the first dilate, which is the polytope itself. It has three lattice points. Ip of two is this orange triangle. We can count that it has six lattice points. And then the third dilate is this yellow triangle, which has 10 lattice points. And of course, as we continue dilating this, we're just going to be adding on the next integer. So we end up with k plus two, choose two as the the air heart polynomial of the standard simplex, which is indeed a polynomial in k. Any questions about air heart polynomials? Then using that, we can define the air heart series of a polytope. So this is the formal power series where I sum over k greater than or equal to zero. I take the value of this air heart polynomial, Ip of k times t to the k. And it's a theorem that this has the following form. So I get some polynomial in the numerator, which we call the h star polynomial. And we divide by one minus t to the dimension plus one. And this h star polynomial has degree less than and plus one. And another theorem is that the normalized volume of this polytope of P is what you get when you evaluate the h star polynomial at one. So in the previous example, our air heart polynomial for the standard simplex was k plus two, choose two. So this air heart series is the sum k greater than or equal to zero of k plus two, choose two times t to the k, which is just one over one minus t cubed. And I mean, this is simple to evaluate at one, but indeed the normalized volume of that polytope was was one. OK, so the combinatorics of alternating permutations, as I mentioned, is going to show up when we think about the air heart series of these CFNMC polytopes. So I'll talk about these a little bit. So an alternating permutation is any permutation sigma such that sigma one is less than sigma two, which is greater than sigma three is less than sigma four, etc. So it zigzags the, you know, if you write it in one line notation, it zigzags up and down. So for example, this permutation three, seven, five, six, one, four, two, that's alternating since three is less than seven, which is greater than five, which is less than six, greater than one, less than four, greater than two. But if I switch five and six to get three, seven, six, three, seven, six, five, one, four, two, that's not alternating because the seven, six, five is is consecutive and decreasing, so it doesn't have that alternating structure. And then the Euler zigzag number is the number of alternating permutations of length N and here is the beginning of that sequence and here is its OEIS entry. A very naturally associated object to these is the zigzag post set ZN. So this is just the post set on N elements with these exact same relations, right? P one less than P two, greater than P three, less than P four, etc. So this one is Z five pictured here and the alternating permutations are exactly the labelings of the zigzag post set that agree with the partial order. This one, other words, these are the linear extensions of the ZN. OK, then to any post set, we can assign an order polytope and here's the half space description of that order polytope. So first of all, it's in X to the number, sorry, R to the number of elements of my polytope. We need to have that each XI is greater than or equal to zero or less than or equal to one and then XI less than or equal to XJ whenever I less than or equal to J is a cover relation in my post set. So for example, I'd see X one less than or equal to X two, X three less than or equal to X two, X three less than or equal to X four and X five less than or equal to X four in this Z five example. You want to know the vertex description. This is the convex hull of all of the zero one labelings of my post set that respect the partial order. So, for example, in Z four, here are the vertices of its order polytope so I can label all of these all of the elements of my post set with all zeros. And that, you know, weakly respects the partial order. I could label everything with zero except for P two gets a one. So we'd have zero less than or equal to one, zero less than or equal to one and zero less than or equal to zero. Great. But I couldn't have, for example, one zero, zero, zero, because then I would have one less than or equal to zero, which does not respect the partial order. So those are the vertices of my order polytope. And something great about order polytopes is that they have nice canonical unimodular triangulations where each simplex corresponds to a linear extension of of your post set. So for our purposes with zigzag post sets, each of these simplices will correspond to an alternating permutation. So I'll describe now what this canonical triangulation looks like. So I have sigma. That's an alternating permutation. And I'll always let V upper sigma sub zero be the all ones factor. And then for each I, I'll set the I upper sigma to be so the vertex prior, so V I minus one upper sigma minus the standard basis factor corresponding to sigma inverse of I. And I'll do an example of this in one second. And then the simplex associated to sigma is just the convex hall of these V zero sigma up to the n sigma. So, for example, if I look at the alternating permutation one, four, two, three, here's how I get its vertices. So I said I always start with the all ones factor. And then I take this all ones factor and I subtract the standard basis factor corresponding to the position of one. So one is in the first position. So I get I subtract the first standard basis factor and get zero, one, one, one. Then I take this one that I just computed and I subtract the standard basis factor corresponding to the position of two. So that's in the third position. So I get zero, one, zero, one. Then I look at the position of three. It's in the fourth position.  And then I'll always end up with the zero factor and I subtract off the position of four. And then this theorem of Stanley says that this gives a unimodular triangulation of the order polytope and the number of simplices is equal to the number of linear extensions of P. So in particular, those normalized volume of this order polytope is the number of linear extensions of the post set. OK, so here's how we can apply this to our CFNMC polytope. What we showed is that for any end leaf tree, the normalized volume of the CFNMC polytope is the N minus first Euler zigzag number. And this is sort of the proof idea. So first of all, we show that the polytope for what's called the caterpillar tree is affinely isomorphic to to the order polytope of the zigzag coset on N minus one elements. And I can maybe draw what a caterpillar tree looks like if I can figure this out. Yes, OK, so this is just a tree where on one side I just have a bunch of pendant edges coming off of kind of this spine.  Kind of the simplest tree one can think of. And so we show that the polytope for that is affinely isomorphic to the order polytope of the zigzag coset. And then we know the canonical unimodular triangulation of that order polytope has E sub N minus one, so Euler zigzag number, many simplices. So that says that the CFNMC polytope for the caterpillar tree has normalized volume E sub N minus one. And then we use combinatorial arguments to show that the air heart polynomial and therefore the volume doesn't change while as we perform what are called nearest neighbor interchanges to get from the caterpillar tree to any arbitrary tree. So we just show that the the number of lattice points in each integer dilate stays the same when I do one nearest neighbor interchange operation. So that shows that it's true for any unleafed tree. And now I'll talk a little bit about what this H star polynomial looks like. And to do that, I have to mention what a shelling order is. So if I take, whoops, sorry, if I take any simplicial complex, I'll let its facets or pure simplicial complex. I'll let its facets be delta one up through delta sub capital N. Then this sequence is a shelling if the following thing holds. So if I take a simplex I and I take a J less than I, that means there must exist a K also less than I, such that the intersection of delta I and delta J is contained in the intersection of delta I and delta K. And this delta I intersect delta K is a facet of delta I. So this is like a really not a super illuminating definition to look at. But what it means is that as I so I want to start with delta one and add these facets in in the given order. And as I do that, I only am allowed to add in add a facet along some of its facets. So, for example, I take this simplicial complex with three triangles and I give it this labeling. So I start with delta one. That's great. It's added along nothing. So that's fine, empty set. But then when I add in delta two, I'm adding it along just a vertex and not a facet of delta two. And that means that this is not a shelling order. However, if I give it the labeling, I should have given it all along delta one, then delta two in the middle, then delta three. When I add in delta two, it's along that it's shared faster with delta one, then I add in delta three and it's along its shared facet with delta two. And that's a shelling order of this simplicial complex. OK, who cares about shelling orders? Well, you care about them for lots of reasons. But for me, if you're interested in computing the H star polynomial, so let P be a polytope with a unimodular triangulation that is shellable, that has a shelling order and doesn't use any new vertices. And I'll let this delta one through delta N be a shelling of this triangulation. Then for each K, I'll let K be the number of facets in this simplicial complex that are joined along K of its facets in the shelling. So that's what this H sub K is. Then the theorem is that the H star polynomial of this polytope is the sum from K equals zero to the dimension of the polytope minus one of this HKT to the K. So this shelling order, if you count when you add in each simplex, how many of its facets you're adding along, the shelling order can give you a formula for the numerator of your Ahrhardt series. So for us, the way that we're going to compute this numerator is what's called the swap statistic on alternating permutations, which Seth and I introduced in this paper. So I start with an alternating permutation and I'll define this permutation statistic called swap of sigma. This is the number of i such that i appears before i plus one in sigma. And when I swap i and i plus one in sigma, this yields another alternating permutation. And this is a little imprecise. That's my mistake. I should only be able to go up to n minus one because there needs to be an i plus one. So if it were n, there's no n plus one. But yeah, when I swap i and i plus one, I get yet another alternating permutation. And an equivalent way to define this is that this is the number of i from one to n plus one again, such that i appears at least two positions before i plus one in sigma. So for example, here's an alternating permutation. If I swap, say, four and five, this yields another alternating permutation and four comes three before five or two, depending on how you want to count it. However, one swapping one and two does not yield an alternating permutation. Because if I start with one two and if I swap it and get to one, I get this decreasing sequence. And then for all of the other i, we have that i plus one comes before i. So we only have one swap in this in this alternating permutation. So swap of whoops, sorry, that should be sigma. The swap statistic here is one. OK, so finally, we can state our theorem, which says that for any rooted binary tree, the air heart series of the CFNMC polytope. When you to get the numerator, you just take for each alternating permutation the sum of T to the swap of that alternating permutation. And again, the proof idea, we use the fact that the CFNMC polytope of the caterpillar tree is affinely isomorphic to the order polytope of the zigzag post set and that the air heart polynomial doesn't change as I move the caterpillar tree into to become other tree topologies. And then we give a family of shellings of the canonical triangulation of this order polytope, and it's simple to count the number of facets that each simplex is added upon. So here's what these shellings look like. So first of all, we say that sigma swaps to tau. If there exists an I such that sigma inverse of I is less than sigma inverse of I plus one and swapping them in sigma yields tau. So when I do this, so I come before I plus one in sigma. I swap them and I get tau. That's what it means for sigma to swap to tau. And then just note that performing a swap always increases the inversion number by exactly one. So as a lemma, we say let sigma and tau be alternating permutations where the inversion number of sigma is less than that of tau. We'll let sigma and delta tau be their corresponding simplities in this triangulation. Then these simplities share a facet if and only if sigma swaps to tau. Here's kind of the idea of that. Have the alternating permutation one, four, two, three. I swap one and four gives me two, four, one, three. And then if I look at how I got this triangulation, I start with a one vector and then one is in the first position. So I get zero, one, one, one and two was in the third position. So I get zero, one, zero, one. When I swap them, now one is in the third position. So this second vertex is different, one, one, zero, one. But then once I once I subtract the position of two, that's now in the third position or the first position rather, because I've just switched their places. So I get the same vertex in the new simplex as I did before and then everything else is unaffected. So the rest of the vertices are also the same. So really only the second vertex changed. And that means that they share a facet. So the shelling order that we give, that I have my total order on alternating permutations of length N. And I want to order them so that if the inversion number of sigma I is less than the inversion number of sigma J, then I should be greater than J. So I should come after J in the shelling order. Then this order on the simplices of this canonical triangulation is indeed a shelling order. So this condition says that if sigma I swaps to sigma J, then sigma I comes after sigma J, which says that this delta upper sigma I is added along exactly swap many of its facets, because those are the the ones that it swaps to are the the ones that come before it in the shelling order and that it shares the facets with. And then this fact about the H star polynomial comes from that as a corollary using that theorem of Stanley. So I'll leave you with a little open problem. So I'll let W sub N of I be the number of alternating permutations of length N. And here are these W sub N of I. You can make a triangle out of them. Notice that they are symmetric because this polytope is happens to be Gorinstein. And then so so you can prove that this is symmetric kind of based on polytope facts. But I think it'd be really interesting to to have a combinatorial proof that this sequence is symmetric, like a bijective proof, sending alternating permutations with a certain swap number to alternating permutations with like N minus that that number that's a bijection. So yeah, that's an interesting open problem. And with that, I will leave you with some references and thank you very much for for listening to my talk. Thanks. Thanks, Jane. If we could all thank our speaker in some way, and then we'll go ahead and open it up for some questions. OK, do we have any questions for our speaker? Please go back to the definition of swap. Yeah. What was it then? So it's that so your you take your alternating permutation, you look at for each eye from one to N plus one. And you want to count the number of times I appears before I plus one in sigma. And if you swap them, then that still yields an alternating permutation. And this is equivalent to just saying that I appears at least two positions before I plus one, so they're not directly next to each other. Your question was regarding the number of alternating permutations with a given number of swaps. That's what that table was. Yes, exactly. So if we like refine the alternating permutations based on how many swaps they have, for example, there's only one that has no swaps there in N equals six. There are 14 that have one swap, etc. This is a symmetric symmetric thing. Yeah. I mean, another question is just like, is there a nice combinatorial formula for this W sub N of I, which yeah, also open problem. Yeah, because there's no. It's not clear that any simple permutation operation is going to like. Take the number of swaps and subtract it from N plus one or something. Yeah, it's spent a lot of time trying to figure this out. It's like it's more complicated than it sort of seems like it should be. And it's not, you know, it's not just switching the order or anything kind of reversing inverse subtracting from N plus one. No, none of those things. Yeah. Yeah, but it's true because this is like a fact about I think graded posts that that the H star polynomial is going to be symmetric. But that doesn't kind of tell you anything about why. Do I have any other questions for Jane? OK, if not, thanks again, Jane, and have a good weekend, everybody. Yeah, thank you so much for inviting me and for listening. Yeah, bye bye.


Thank you for coming So my session for good or for worse making happy client relationships first-hand experiences From supplying digital services From the past 25 or so years some heartfelt lessons that I that I got Some tips that you may be useful in your day-to-day operation the day-to-day Digital services, I'm going to be standing here because there's a recording and they want they want me in the in the picture apparently so So yeah, there's it isn't as much a method or structure that I'm going to present to you as much as it is Some first-hand experiences of the things that are learned and some tips that I might want to share with you today So my name is Emmerich Meiling For those of you who don't know me I'm with a digital agency called React online from Holland together with my business partner Jean-Paul. He's here today I'm a Drupal.org for 16 years and 10 months or so Yesterday I was formally instated as a board member of the Drupal Association and I'm also at the Drupal County Europe Advisory Committee. So hi. Good morning. Welcome. Please do come in. There's plenty of spaces across the room So In this session, there's five Topics that I'd like to cover in so how to do digital projects with inexperienced agile teams That's on both sides, but in particular on the side of Agencies and service providers which I'm from So how to deliver digital services within time and budget and some things that I'll learn from there Prevent from over-promising the trick there is not to make any promises But do deliver on commitments Delivering bad news, which is not always as bad as it sounds and negotiating negotiating contracts. There are not agile So Off onto the first topic how to do digital projects with inexperienced agile team So question to the group who of you work is with a digital service provider and ICT supplier who does Supplying digital services Websites platforms, right? Okay So who is who is using Drupal in their day-to-day operations and relying on an external party for For the website so a client as we call it. That's also a few right, okay So these things are for like very insightful for both sides of the table I'll be talking to digital service providers most of the time But I've been very interested to hear from you how you experience Working with digital service providers and the things that we learned and how we can learn from from you and vice versa So Those using Drupal feel free to stay. It's very interesting to hear the first step in getting the lack of experience Sometimes bad experience which often times have happens a lot as well is to take that head on now There's a concept a psychological concept called the fight or flight response as anyone heard of this the fight or flight response. Yeah, quite a few right, okay, so This is sort of a primal thing for people that ultimately under threats, right? When there's no other option people will fight or flee so Here's the definition The reaction starts in the brain and spreads through the body to make adjustments for the best defense or flight reaction Right, so I think a lot of this is going on in the world, right? Also in our day-to-day life sometimes how we do business and it runs through everything that we do When we allow it, right? It all depends on how you look at things Fear sometimes comes from an idea that you have. We had an amazing inspiring keynote about that yesterday, right? Or from bad experiences, which is also oftentimes the case. So Obviously fear kills the basis for trust or at least is quite a big impediment for it, right? So How do you overcome that? When you start working on a business relationship together on digital projects So I'm a sci-fi fan. I watch Star Trek from time to time No worries if you're not a Trekkie, it's just an analogy to illustrate the concept But this here is the Vulcan mind meld, right? The Vulcans from Star Trek It's a race and apparently that's something that only they can do The Vulcan mind meld is a touch technique that allows a Vulcan to merge a Vulcan's mind with the essence of another one's mind So in Star Trek, apparently Vulcans, they're not supposed to show their emotions Essentially, it lets other people see the world through through their eyes the way they Experience it their emotions their memories and so forth. Oftentimes the scenes is an emotional scene in the series Because in a very short moment a lot of knowledge and everything is sort of transferred from one mind to another And that this gave me the idea for an agile mind meld and doing an agile mind meld onboarding session with with each other with her clients or kickoff if you're not into Trekk and it's a well-prepared session that allows you to Take your client and let them see the world through your eyes Right. Tell them how the game is played Be very open about the caveats and the pitfalls and everything that you will encounter But it's because that it's going that is going to happen and I always invite Like the teammates the management team to that session, right? It takes it takes a bit of time But it's incredibly rewarding and refreshing to have them to have each other at the table early on And take them through how you see the world and how we will play the game together at the very start So we talk about How we do how we work you do agile how we do back look refinements how at certain points things may not Work out as we planned how maybe we need to let go of some of the scope The risks that are involved the good and the bad, right? So we're very open about that and I encourage you all to To take on a session like this and agile kickoff Together take the time two hours or so invite management and all and talk about these things About what will happen? So let's talk about ownership for a little bit. So In particular the part that's being played by the product owner, right? The concept of a product owner in agile often needs some explaining So in many cases, it's the project manager role, right on both sides so There's a question who who actually refers to When you talk to your clients, hey, I need I need the product owner I need you and your capacity as a product owner who refers to Your client as product owner, right? So that's just a few, right? So in so who refers to the client contact as project manager, right? So is there someone Someone of you who uses Drupal relies on an external digital service provider that has a product owner in house. Is there someone There's no hands, right? So okay, so we talk about this a lot about the importance of product ownership So there's different definitions. I like this one It's it's clear and simple but not always obvious and I highlight in particular the part About the person in particular that will make decisions involving time and money and This is crucial and this is this is from the sales deck by the way We also have it in our agile mind melt And we repeat this often and here's Kim Kim is product owner with one of our clients and This is what I do at the very start when we when we pitch or what we when we meet There hasn't been signed off anything. I take the previous slide I find a photo of the the person who's going to be in charge who's going to be our contact person and say This is the product owner with face and all and I again stress the fact that she's going to be taking decisions involving time and money And in quite a few cases, there's people Two one or two people that will sit up straight and say oh, but that's not her is going to be doing that That's me and That's the point where I'll say okay, then you will be our contact and product owner because I cannot go back and forth all the time and manage your Your team as much as I like to because that will take time away of making software, right? So it's very important that we have someone That has mandate and authority to make those decisions So at one point it will most certainly come to to a stage where we have to make decisions on doing things differently Let go of some scope There's also people that will Come in and say hey, but we promised or you guys said that you would deliver this or in the contract It says this so you need to add this as well, and I'm like No, that was Kim's well thought out decision So I always tell our clients you got to become very close friends with Kim Because if you want something done, she's the boss of the wallet. She manages the backlog She tells us what to do. So if blue suddenly needs to be green talk to Kim, right? So lessons learned Recognize and appreciate the fact that there's going to be doubt sometimes that's going to be changes Things will not go out as planned, but take the time to do that agile kickoff If you're not into track law kickoff onboarding session, whatever you want to call it And be very open and explain how you work So let them see the world through your eyes The good and the bad be open and honest Talk about agile values how the things are working the sessions or whatever project management method that you employ So without product ownership, there's a little chance to get with what you want, right? It's an essential role that we need to have so you must explain that So second how to deliver digital services within time and budget. Well, the trick is Make it so it fits the budget So that sounds easier. They're said and done, right? So how do we do it? It is one of the most repeated things that we have in our projects though We say it very often. So it's in our slide decks. It's in our proposals stressed in capitals It's it's repeated during the process Nobody wants a project that will run over budget, right? So the budget is always like this rock solid thing We can mold the scope, but the but the budget is what it is. Yes, we can go back and get more budget Yes, you can go to management and say, hey, we're going to add this or this But the budget is very fixed in our in our projects But there's always tension between the project and all the stuff that people want Because it's it's the opportunity to squeeze in as many things as possible and say, okay But then we also need this and then by the way, we talked about this. So I See a lot of proposals out there That we get also where Organizations are looking for a partnership as long as they get anything they need and want and that's everything about managing expectations. So There's often this quite long list of all the things and features that need to be in there And there's two things there first is you need to ask how can you be sure you need all these features? Right, did you do your due diligence? Did you talk to people? What where's the data? Where's the business goals or the other goals? That's Justify all these features, right?  Figure out what features you need and what's best because that's that's our passion. That's what we do best, right? So the second thing is that your client Contact person protocol and needs to learn to say no right, so That's that's hard thing. You need to help them and might not go right right away but The person must learn to make choices based on budget business goals and you must help help them discern what's most important and so Hanzer Knickerbuck Kniberg has a wonderful video and I encourage you strongly to watch this It's about 15 minutes. I used this a couple of times in work sessions in the past I show this to people sometimes I have about 40 seconds to show you. Oh We don't have the sounds, okay Okay, we don't have the sounds so The slides will be shared. I have the link, but I strongly encourage you to look up the video so to illustrate a didn't speak about as an agency in With various offices in the Europe and the US And it's it's a quite it's a bit forward, but there's two things that stand out We work for your customers. We may have to take their side at times Which was very appealing to me and it's like yes exactly this is this is The understanding that we were trying to get when working together and we're not suppliers right partnerships get the best result So let us work together on finding out what you need instead of supplying us this whole long list of features So lessons learned is work together to find What it is that you'll actually need so that's sometimes hard so We're so happy if we can find come to that stage Where there's a mutual understanding that yes We don't know yet what we need and we need you guys to help us figure that out in a way that fits the budget It's always that line comes always second Help them say no no doesn't mean no never I always tell tell them no not now So we always talk about no not now can be next month can be in the next increment if it needs to be in there We need to look for a way to get something else out because the budget is fixed, right? We're not suppliers partnerships gets gets the best results Prevent from over promising. There's only one way to do it. Don't make any promises That sounds like an easy escape right so We have contracts often times we're contract bound, but it doesn't mean you cannot have any commitment So I always tell our clients we are committed to delivering the best possible result in a way that fits the budget but we need to figure that out yet, so Estimating is hard Right, so when we have like Sort of an outline or a backlog or design then we need to say, okay, what will fit we need to estimate What will fit in the budget? So whether it's story points or t-shirt sizes or or the good old hours? Ultimately, that's what you need Estimates become fluid or they could become off Oftentimes, you know, they're wrong I'll admit to that so You can't have it all right, it's naive to think that there is a budget set that we've signed off on And you kept and we can all keep squeezing things in right? That's that's not possible. So Things change priority shift things may be added things that we have overlooked Things that our clients have overlooked. I often say well There's gonna be a few things that you haven't thought of that we might have now, but we cannot see our all ends, right? We cannot see everything so There's a lot of mantras from the from the previous slides Another important lesson is to do those estimates together right, so when it comes down to it when it comes down to actually sharing the marbles and Defining what can we do for the budget? Here's a photo of a project that I did for the port of Rotterdam It's like multi the global quite big project took us over a year to complete the entire scope And here's what we did at that time We had like all the tables in one room in one one long row With a black tape in the end and I printed out all the user stories from Yura at that day And we laid them out in a long row and we invited all these stakeholders and the product owner to come in And work out what could be done for the remainder of the budget and this was a very refreshing session Because they were actually making the case to one another as to why their Epic or stories needed to go first, right? So it also confronts your client or or in the stakeholders from whoever is from the business or Actually going to work or need all this stuff in to look your team in the eye and understand why seeing things are sometimes hard to build So they feel the pain of your of your creative staff or your development staff and they see ah, okay So that's why it takes three days to build this. Well, I thought it was like a couple of hours, right? They don't always get it the first time or right away But to look each other in the eye and see each other's pains and gains Actually creates this this this base for taking a hit for one another also the team Gets a feel as to why certain things are so important for your client. So Estimates black backlog refinement sprint refuse do as much of them as you can together actually all of them So the very key is trust learning each other and Yeah, so for the process to go smoother and and have a feel of why things are so important or feel as to why Things are hard to make those that was very refreshing. Obviously you can do this online from the tool or in a call, right, but This is what we did at the time So the lessons learned here is commitments are not promises, right estimates are not actuals and planning is guessing Yes, we're doing an estimate. We've we've worked a day to get this estimate out, but it's an estimate This it's not gonna be reality. It might be And sometimes it is sometimes actually it's even less, but it's an estimate not an actual I Can promise you that we will do our utmost best to get everything out Inside our estimate, right? So do the estimates together back look refinements and the sessions as much as possible Yeah, and people will will more easily want to work in common success when they understand each other's needs and pains Delivering bad news is not always as bad as it sounds But it's best served early and straight up, right? So at some point something will go different Your designer might be sick project manager might be out Some technical read there's a hundred reasons, right? So the agile manifesto says responding to change overfalling a plan Well, you know what? Mistakes will occur, right? Setbacks will occur. We all know it. It's part of life. So it's part of software development, too When there is a change of plans discuss it straight up early and often It's one of our mantras that we repeat a lot as well And sometimes our people are not happy with bad news, right? You can Bob Ross and all you want They won't take no for an answer Well, you know what? I won't take no for an answer, too So when people tell me no, we can do this like it's there's a technical thing. It's well, what can we do? So you must look for no, but what we can do is this I Repeat this a lot. So no, we can't do it. It takes more time. Okay, but what can we do? All right, so no, it's not good enough. I need to hear no, but what we can do is this So a few few weeks ago. We had some adjacent panels and it couldn't be Jason So we had them stacked and by the way, it was also better for accessibility We call the client right away say, hey, it's not gonna be like in the design But we're gonna do like this in your accessibility accessibility is better too problem-solved client happy that happens a lot, right? So if you put effort into it work to know but what we can do is this So when your client puts their foot down and say, oh, well, that's all all well and nice But you said at the start this and I need this I'm gonna repeat say, hey, this is what we've been saying from the start, right setbacks will occur Because why is it when we hit a snack I need to pay for it, right? This is what we're partners for So there's three questions daily And this is sticky on top in our sprint planning and we we ask them daily In the team in the daily stand-up is anything holding you back From achieving what's in the user story under design Is anything going to be different from what's specified in the user story or the design and is anything taking up more or less time than we Estimated if either one of those is a yes We need to break out and we need to contact the client product on our project manager early and often So that's what we do the sooner the less waste So lessons learned bad news best serve up served straight up Without hesitation or twisting around changes and setbacks will occur. It's a setback of life Don't take no for an answer look for no, but what we can do is this and Do that early and often? so We're going smooth and fast so Negotiating contracts that are not agile by the way, there's a Q&A at the end. I was I was planning on doing that just as we go along to Have some of the interaction going but the room is quite big. So You can put the questions in the app But it's fine to if you can remind them if you can remember them to have them come and I'll come with the mic Whatever you want or we'll see. Yeah Negotiating contracts that are not agile while contracts in most cases aren't agile, right? So there's there's a lot of at the start These RFPs and specification documents and and briefings that will say we're looking for a partnership So do we right but when it comes to the contracts, there is no partnership to be seen anywhere So we have a saying contracts can make a friend or an enemy good contracts make good friends Well, the Agile Manifesto is talking about customer collaboration Over contract negotiation, right? It doesn't mean we don't need contracts. We don't have contracts. Of course we do It just means that we also value a lot on the partnership Now this is me at Universal Studios a few years younger I'm a huge back-to-the-future fan sci-fi fan if you haven't noticed For those who aren't no worries This is a the car is a time machine at the Lorian plays a huge part in the films So why this picture a lot of stuff that happens in contracts are About things that happen or might happen in the future or how things may play out Right. So let me explain this I have three basic rules for contracts I will not commit contractually to something I cannot control Or risks that may be all on my side in the future Right things will not always go out as planned if I need to take all the risk That's outdated. I literally I literally say that So I will not work harder if if if I get a penalty penalized with money If if you need penalties or incentives, I want them to be mutual because that's what the partnership is about But to be honest, I don't believe in if you pay me more I walk harder because we will already work hard And there are so many hours in a day, right? We're also in the effort business. So ours Are not results, right? So we will be defining the result together I will commit to helping you yours though. So a few examples This is this is contract text. So I have to actually read this in any circumstance where deliverables will not be delivered in time in accordance with the preset agreement or is different from it Contractor is neglecting the terms and conditions and is liable for Consequences including financial consequences, right? This is this can be in a contract or an agreement. That's that comes with only happy documents And this is what I send back as I walk. I have a counter proposal to that So I will say that we first and immediately get together and try to solve before we are held liable in any way Because that's what a partnership is about Contractor will uphold the application. It is a good one To the latest standards laws and regulations and requirements as stated by the law and the latest version of our security Standards and technical policies. It should always be in accordance with the latest increment. Should it change? This is a back to the future moment for me Because I don't have a time machine how I cannot we can't know What the law will be in the future or what regulations or what changes you will make to your requirements, right? So This is what I counter. I Cannot accommodate the possible future requirements if they are to be met changes will be put forward Through the product backlog by the product owner provided. They are technically legally and otherwise feasible client absorbs all costs Risks and additional consequences just as with any act addition. This is a knockout for a further participation Well, I might you know if we negotiate and it becomes a little bit different I might change my mind anyway But I will put my foot down here because I will not commit To something that may be very risky to me in the future. I'd be very interested to hear from from you Who are relying on external? Parties and I might actually be on on the side of the table writing this how you would experience this so And how you cope with with with these contract negotiations on that? so There's lots more Examples but the lessons learned is don't commit to something you can't control it will work against you sooner or later You know in many cases, you know contracts will not come out of the drawer But in some cases they do and sometimes we need to be very strict about the agreements that we make, right? So if you need to take all the risk, that's not a partnership, right? I say to clients then well We have conversations about let's okay. Let's Amp the budget with 30% because you're moving all the risks to my side, but that's outdated and old-fashioned I literally say that setbacks will occur So are we doing this for good or for worse or not at all and? Contracts are always negotiable. So name your terms. I I've had legal People call me up and say hey, I saw your counter proposal to our agreement, but that's not how it works So definitely that's how it works. It's a negotiation, right? Don't let any anyone tell you otherwise You can always talk about these things Thank you for listening. Thank you for coming I'm gonna walk over there On the on the laptop, there's going to be if there are any questions test test yes, this works, so Let me see. I think I have to And I can also come to you if you have any question Right so so okay, so there's a question from from Lucas Lucas are you here? All right. Thank you for your question What do you do if the client cannot provide a product owner? So that's a good question, right? so But can you all can you all hear me? This is working? Yeah, okay, so Yeah, so what we do is we go through this process We go through the definition and we're like, okay So we understand that you don't have a product owner, but we need a person who's going to walk this journey with us almost on a daily basis you know if we are to make software and you you have only An afternoon every three weeks then we're not your party Right, it's not gonna work. It's a recipe for disaster So whether they call them product owner or not, but we need this person that fits this criteria Another option is for them to hire a product owner, which which happens Regularly, so that's what we do. Are there any other questions anyone? Feel free tough questions are also fine Yep, I'm coming to you. Hey good my questions around Contracts and you know it always does come up, you know, I am the main person at my organization that deals with all contracts and They're tricky and I wanted to know your opinion on more specificity in a contract or more vagueness in a contract Okay. Thank thanks John. So so you mean is Like make it more vague or more explicit or details to a contract Then you're gonna be held to every detail like bullet point by bullet point, right? So and I've had that happen and so when I write my contracts I write them slightly vague so that they can be interpreted in times of question, right? Rather than like you're putting on a login form more like Login will be part of their website, right? I mean sort of like if they catch you in a knit That's what I'm trying to say is like you don't want to write too much Yes, thank you. Yes, so I don't think there's like a silver bullet answer like a one size fits all But yes, so this is what we do sometimes and happens is where we Just like you say say hey, let's leave this a little generic And we if we can both agree on that that's perfect, right? Because let's make an MVP out of the contract and don't set anything all every detail in stone So yes, that's what we do sometimes as well. Thank you. I saw two hands So the question is about your success rate How many people do you think that you're talking to are wondering off because of your way to work with them? That's a good question To be honest, I have I have had one or two That said well, you know what if we have to spend a day a week with you. We're not going to do it We're not going to be able to do that. So That's so be it. Yeah, it's always tough, especially when you need to work There might always be some molding where you get together But ultimately yes, sometimes it happens, but it's not huge what it happens Thanks. I have a smaller company. We're only with six people and our products projects are not that big but How formal is your communication with the customer? For example, if they don't deliver what they are promising they would deliver Content or whatever and they don't deliver. Do you? call them and then Write a formal email to say this is what we discussed at the phone at the phone because Afterwards if there is a problem you have something you can fall back to or how do you do that? Yeah, so so thank you for that. So the mantra is early and often so whatever it happens We call them right away and that's quite informal. So hey, we're falling behind. We need this We can give you another day or two and we always write that down in confluence or in the in the user story So hey, this is this is what we agreed on 48 48 more hours, but we need to buy then right. So that's what we do Not like really a formal email, but we put everything in it last year. That's what we use right But this this is a good example of if if if there is a contract and a client that needs to have everything Written in stone like this, which sometimes happens. So hey, we need to have everything formal Right and I get penalty if I don't deliver in time. That's when I use the example Okay, so when you don't deliver in time, I'm gonna send you an extra invoice as well And they that's that's a weird concept oftentimes, but that's like that if we make a partnership out of of that That's the example that I use but it seldom comes to that. So anyway to answer your question Coming over We have few more minutes so how much project management and Meetings time do you include in your contracts? And do you name it as such or do you pour it pour it over the other points in there? question, thank you. Yes, so We explicitly have a line that says 2025 30% project management Or scrum That's what we call it And it depends on The relationship it depends on the situation It's differs from time to time sometimes that that goes up, right? You need more time together to work things out because That's a type of relationship the type of client But we explicitly put it in there saying about well 30% or something is overhead. That's what's needed. Yeah, it's a lot Yeah, that's Yes, yes Customers are looking for that and say hey, can we can we reduce that? Why do you need three people at the table? Because if I only have one right and to explain Details will fall away. They don't feel your pain. It's kind of ultimately sometimes cost-wise as much So yeah, but it's always a tension point Any other questions? Yes? I Got a question regarding your proposals So let's say you got an RFP and how deeply you describe these Conditions in your proposals. I mean for example the penalties So do you do describe that these are your? Basically idea of proposed idea of conditions So what you mean is do we put penalties explicitly in or leave them out So if you respond to an RFP do you describe these preferred conditions? Yes, so yes, so when we get like the conditions and agreement from the client and this stuff is in it I will count to that But yes, we also have our our agreement and conditions that obviously are well how we see a partnership and These are ideal to ours. So that's what we use and They it's like a mutual thing So if we do the same thing as what I like clients do and I don't want it that's not gonna work Right, so it needs to be mutual. So yes, we have an ideal Thing what we want Okay, so I think I'm going to release the room for the next one to set up Again, thank you very much for coming and your time and


Welcome to Digital Stories. Digital Stories is a special collaboration between West Sussex County Council and Get Safe Online. And it's all about trust and respect online. So we're going to hear about four really interesting characters. We're going to hear about Jeff and Layla and their child, Sonny.  The story I'm about to share is called Stranger Danger 2.0. The mysterious online friend. Layla is worried when she sees Sonny playing with an unknown friend online. Can Jeff reassure Layla that Sonny's friend is who they say they are? Sometimes there's nothing quite as much fun as playing games online, especially when it's against other people. Layla is talking to Sonny who's playing on the family laptop. What are you up to, Puppet? Is it the game you normally play? Yes, Mummy. Just the same game. Layla looks over Sonny's shoulder and notices something. Oh, is that a new friend I can see? One of your school friends, maybe. But I don't think I recognize the name. Remember, you only had friends who we've all met before in person. It's OK. You wouldn't know her. She's new at my school. Layla has some doubts. OK, and what about your other friends? Are they playing too? No, they're probably doing other stuff, Sonny says. Layla talks to Jeff about her concerns. I'm worried that Sonny is playing a game with someone new who isn't one of her friends. When you can't see who you're playing with or chatting to, they could be anybody. How do we know Sonny isn't talking to a stranger pretending to be her new friend from school? You're right. It is very easy to pretend to be someone else online. Did she say what her new friend's name is? Yes, she's called Asha. Jeff's look of concern changes to a smile. Sonny introduced me to her when I dropped her off at school yesterday. She started halfway through the term. We should invite Asha and her parents out to the park this weekend. Layla let out a sigh of relief. Phew, thank goodness she's real. Sonny's so good that Sonny has made a new friend. When you're a child, you tend to trust other people, especially your friends. It's easy to trust them, even the ones you make online. But not everybody is who they seem. Always tell your grown up or an adult you trust if a friend is making you feel upset or uncomfortable. What a fantastic story about keeping safe online. And remember, you can find more information about keeping safe online at getsafeonline.org or westsussex.gov.uk, staying safe online.


Today is the International Day for the Elimination of Violence Against Women and Girls. Today also marks the start of the UN's 16 days of activism against gender-based violence, which runs until Human Rights Day on 10th December under the theme, Orange the World, Fund, Respond, Prevent, Collect. According to UN Women, one in three women worldwide experience physical or sexual violence, mostly by an intimate partner. Violence against women and girls is a human rights violation and a public health issue that should concern us all. Evidence already shows that many of the risks and impacts of COVID-19 are disproportionately affecting women and girls globally, as the pandemic is intensifying gender inequalities that existed before the pandemic and exposed vulnerabilities in social and economic systems. The COVID-19 pandemic is particularly affecting women migrant workers across Asia and the Pacific, who are more likely to work in insecure labor roles under precarious conditions, as well as women with irregular migration status. Due to stay-at-home orders and movement restrictions to contain the virus, more domestic violence helplines and shelters across the world are reporting rising calls for help. These restrictions are making it more difficult for women to get away from abusive situations in their homes and access already limited services. These trends are particularly concerning in the Asia-Pacific region, where GBV rates overall are high, and especially in the Pacific Island countries, which some have the highest recorded rates of GBV. With nearly two out of three women experiencing sexual or physical violence by their partners. This year, the UN Secretary-General's Unite by 2030 to End Violence Against Women campaign calls for global actions to increase awareness, galvanize advocacy efforts, and share knowledge and innovations. In line with IOM's institutional framework for addressing GBV in crisis, IOM teams in Asia and the Pacific adopted existing GBV interventions to ensure services continue to be provided for vulnerable women. Through IOM's women and girls safe spaces, but also new solutions were found to ensure economic opportunities to for vulnerable women in other contexts, such as the Marshall Islands. In Cambodia and Nepal, IOM has also provided vulnerable returning women with cash assistance to meet basic needs, including transportation fees to return home. As we mark the 16 days of activism, we must ensure that our efforts to protect women and girls are based firmly on the six critical areas of action outlined in the Interagency Statement on Violence Against Women and Girls in the context of COVID-19. First, make urgent and flexible funding available for women's rights organizations and recognize their roles as first responders. Second, support health and social services to continue their duty of care to violence against women survivors and to remain accessible, especially to those most likely to be left behind. Third, ensure that services for violence against women and girls survivors are regarded as essential, remain open and are resourced and are made accessible for those most likely to be left behind. Fourth, place a high priority on police and justice responses. Fifth, put preventative measures in place. And last but not the least, collect data only if it is clear that it is needed. It will be used to improve services and ethical and safety standards can be met. I believe that with these six critical areas of action, we can make a difference during the ongoing COVID-19 pandemic and protracted state of crisis it has generated across the world and support women and girls survivors of violence to stay safe and free of violence. It is the least we can do.