Hey everybody, it's Brian. Welcome to the 12th Yee tutorial. Today we're going to be creating with models. And by creating, I mean manually. We've kind of gone in here and you can create and key in some data, but what if you want to do this programmatically? Let's just clean up some of this clutter from the last tutorial here. Alright, so, whoops, if you've been following along, we've got this test.php. Now, this is where I have to pause and I have to remind you, kind of a pop quiz here, we're going to programmatically do something. Where do we want to do that? This is a model view controller framework. Model is a representation of the data. Controller controls the models in the view and the view simply loads data and displays it.  We could actually do it here in the view, but we really don't want to. What we want to do is in the controller. I can go up to controller. And here's why. Very simply, you just want to be able to control the flow of data and that's what the controller does. If you start modifying data in the view and then later somebody else or yourself has come back and troubleshoot it, you're going to have to figure out where that data is actually being modified. So keep things uniform and modify your data in the controller. So we're in the action test and we're going to actually say model equal new teachers. So what we're doing here is we're just creating a new model. Now we need to pass that model to the view. What is going on here? Why isn't that working? Oh, my bad. Yes, sorry, I forgot. Yes, we have to pass an array of parameters to it. There we go. So what we're doing here is we're creating a model and we're now passing that as a variable called model to the view test. And we should actually just for the sake of argument here, model and we'll call it teacher. Teacher, sorry, plural. Oops. Let's get some PHP action going on here. Then we can say if is set and model. You notice how it automatically knows that the model is a variable and it is a teacher's class. That's because of this var up here. And let's just say if not is set, then we're just going to return. Otherwise we'll start doing some stuff. And we're just going to say var, let's echo it. Echo, fair dump, model. If the model exists, then we're going to just echo a variable dump out. Alright, so let's go back to... So what we've done here is we've created a model class and we're now passing it to the view. Notice how we haven't actually done anything with the model class. We've just simply created the variable. But you can see from this object dump what's going on here. And you can see that it's a new C active record. It's private and it's got some attributes to it. We haven't actually modified the database yet. We're just simply passing it to the view. So let's actually do that. I'm going to say first name, equal. I need a good first name. Slarty. And I'll say model last name, April Bartfast. Anybody who's ever read Snickers Guide to the Galaxy is probably snickering right now. So we can say model Slarty Bartfast. Now I want to demonstrate something just for the sake of demonstration here. Let's go back here and let's actually do an F and let's look for the word Bart. So we've got Slarty Bartfast and there's Slarty and Bartfast. So we passed the model with the variable in it. Let's go out to the database real quick here. There's no Slarty Bartfast in the database. So adding the data to the model does not save it to the database. To actually save it, well you guessed it. You need to save it. Pretty simple, huh? I love it when things are easy. Once you save it, you will actually create the SQL string that is needed to insert the data into the database for you. Doing so it will automatically trap any custom characters like the quotes and single quotes or slashes and things like that. I mean it does all that for you. It's actually pretty slick the way it does it. So we're creating a model, adding first name, last name, and saving. So we're going to go back to our view here. Notice how there's a lot more information. Well that's because now that it's actually persisted into the database, we have to hold information about where it is in the database such as the primary key. Notice how we didn't have to go out and do a lookup for ID teachers but it automatically knows that it's 10. So if we go out to the database and do a lookup on 10, it'll be Slarty Bartfast. I never thought I would ever say in my life it'll be Slarty Bartfast. Thank you, Hitchhiker's Guide to the Galaxy. Anyways, so let's just refresh our database and sure enough on ID 10 is Slarty Bartfast. Now this is another pitfall I want to talk about. You look at your code what happens the next time somebody goes to the test action? Well it's going to create a brand new teacher with the same name. To demonstrate we're just going to refresh the page. Excuse me. And notice how the primary key is now 11 but it's the exact same information. And that's because well we haven't marked that as unique.  And just jump into the database here and if we do a refresh we should have 10 and 11 that are exactly the same. That's all for this tutorial. Next one we're going to demonstrate how to find specific records and if we're feeling a little adventurous we may actually delete one.


Good evening, everyone. Can you hear me? Okay. Can you hear me? I appreciate that indeed that you stayed until the late presentation and I do realize that I'm the last person standing between you and reception, I guess, beer, so I'll try to keep it short. I work at Pivotal. I'm an engineer there where I focus on big data distributed systems. I'm privileged to spend enough time on working on open source projects. I'm a Apache Committer and PMC member for Apache Currents project. Today I'm going to talk about two interesting trends. One has happened in the last decade, the last 10 years. This is the NoSQL and big data. The other one is the implementation of SQL interfaces for various NoSQL data systems which seems to be happening. It's a big team in the last year and a half. This is a quote I found from Martin Fowler from 2012 where he predicts that if ever SQL gets implemented on top of established NoSQL, this at least would generate plenty of arguments. I believe this talk is going to be one of those arguments. A little bit of context. The big data NoSQL, big bank. This is a landscape of big data technologies for the last year. You see actually, according to some sources, we have over 150 commercially supported NoSQL and big data systems out there. What actually explains this explosion considering that for decades we've been happy or some people have been happy with relational databases. It's difficult to just by the name of those projects, NoSQL or actually the trends, NoSQL or big data, they really don't provide any prescriptive definitions. But if you think of them more like a movement and try to understand what are the driving forces behind them, I think this helps to position them and to understand why they're so vibrant and what makes them think thick. On the first place, I think there's some consensus about this. One of the main driving forces behind those technologies and the boom of those technologies is the boom of Internet itself. The fact that explosion of web, mobile technologies, Internet of Things practically any device now, even smaller one, is a source of information and generate information. This in turn generates cause three main challenges. This is how to handle the volume of data, the velocity of data and the variety of all these data sources. Internet is the cause for these technologies or for the demand for those challenges. On the other hand, it is actually a solution as well in order to handle, to scale, to provide technologies that can handle and address those challenges. You are going to use again distributed systems and in turn using distributed systems for resolving those challenges means that some of the already presumed technologies and guarantees that relational databases provide like asset or two-phase commits would be challenged and has to be addressed in different way. It's known for example that the two-phase commit would hang in certain cases in failure of distributed systems. So all new class of approaches, for example the consistency and availability in case of partitioning of distributed systems. This is the cap or theorem is our main to deal and this is part of the distributed system and many of the technologies that implement this. Paxos on the other hand and as I mentioned the two-phase commit is not really reliable approach to ensure consistency within the distributed environment. So all class of consensus-based, quorum-based systems like Paxos have emerged and many of the non-SQL systems actually are based on those type of technologies. Another not that popular but I think very important driving force is the so-called relational or object relational impedance mismatch which relational database I'm not sure many of you maybe have done some application development. They know that for some class of applications you just need to persist your application state which in my case very often is object based state into relational database. For this you would need some sort of ORM technologies which is necessary for many use cases as I mentioned and this gave birth to technologies like Mongo or document-based data store. This actually is a huge group of technologies out there driven by this mismatch. Further more different type of stores and demands like graph-based databases or full-text search where the traditional representation of database models and strict very often the role-based relational models is not very appropriate to deal with. There are many other factors but I think those three are powerful enough to explain why there is such a search of technologies out there. Last one I want to talk is the cloud computing arrays and the wife itself. The possibility to program the infrastructure actually to automate this infrastructure to have infrastructure on demand is a main driver for eliminating the operational complexity and the cost and there is another side effect of this and this more architectural. There is this sub-movement I would say which is shift from integration to application type of databases. This is very popular into the microservices type of data applications. So the idea is that if you have your application instead of having a single data store as an application state for your distributed application you rather have a dedicated application store for each application and have a well-defined protocol at the application level between these applications so the database is not shared among them. I think I hope those forces explain the reason why there is such a multitude of technologies out there and I don't want to justify this or to dive further. The point is that there are out there, there are a lot and as I said over 150 commercially supported one and one of the interesting consequences of this is that almost any organization would end up with having at least few of those technologies deployed in their data infrastructure. So interesting question raised how they're going to integrate those technologies. This multitude of database that would usually they would have at least few data storage technologies dedicated to particularly good for particular type of use cases. And it was discussed today. I've observed, I have observed so far two main trends that trying to provide this type of integration and by the way the integration of technologies is very big deal. Usually the standard ETL technologies and systems are trying to cope with this. That's not I'm going to talk today. I'm really trying to talk about how organization can provide a single holistic view over the data that is spread across different data stores which might be useful for certain use cases. Very often those are the analytical or maybe some data science type of use cases to train their data set. So two main trends are emerging that are aiming to in my opinion to to converge and to provide more unified view on the data system and data processing system. One is more functional based it's unified programming model and you can today it was mentioned there was a very nice presentation comparing the interfaces of Spark and Flink. You have noticed that they're very close and actually they're not on the only two that are very similar. Apex Apache Kronska skating Apache Beam they all actually inspired by a common one paper from 2010 I think is Flume Java Google paper as a type of API and there is a trend now at least that Spark, Flink and Apex are implementing and converging at certain level under Apache Beam as a project. So this is an this is an example snippet of how Apache Beam looks as a notation. The second trend and that's what I'm going to focus now today is apparently a lot of the no SQL vendors and big data vendors are starting to implement SQL interfaces for the data stores or some sort SQL like interfaces for the backend data stores and some statistics from the last couple of years for Hadoop shows that apparently majority of the tasks that are run on Hadoop nowadays are either high base or SQL some sort of SQL Hadoop type of solutions out there. Also for Spark there is a report from last year states that the most used production component is the Spark SQL within their system. So there is this and I stated Google F1 paper actually has a quote there that any data system has to provide SQL interface and I found this particularly important because a lot of the big data technologies and now in the open space are influenced from the Google papers. So there is this shift and ideas and it's interesting movement to and trend to observe. Apparently a lot of company I think it's worth it to try to reason what are the reason what is the main driver for this movement for this conversion. It seems like the desire there is a lot of tools that know how to talk SQL out there within the organization. So it seems like SQL is pretty easy way to integrate with those existing tools. So this is more like legacy reason. Secondary and I think this is a more important one is the relational model that stays under usually SQL engines and this is the hot bits that we can talk about. We should talk about today and I think this is important slide although it doesn't seem very bright. I can argue that practically any useful data system out there in one another form provides implements the set or back semantics. So operators like projection filtering if the system is more advanced at some sort of join or group buy would be present. So in order to provide some usefulness for the users the system have to implement explicitly or implicitly those operators. So having this and acknowledging that this exist and very often in order to implement a pipeline or query execution statement you have to change multiple operators like this and when you start to play with this concept you realize that practically this is the same relational algebra concept that are very common in the relational space and there is a tools that are very good in optimizing some type of change and also the planners and indeed the relational expression optimizers are very desirable feature for many of the technologies big data technologies simply they're very difficult to implement. And that's at least they were very difficult to implement until recently. Now there are at least couple of open source technologies out there that provide some help and are useful to consider and try to use and leverage in order to provide this type of relational expressions and relational optimization within the existing big data systems. I'm proposing here I mean this is again just simple subset of possible way how you can integrate how organization are dealing with a lot of customers out there so I have some firsthand experience with some big players in the field and see and experience how they preserve and how they see the the usefulness of the data how they're trying to integrate their data and it seems like the most common approach is this one so this and this is standard for the rated database system approach so you pick one database that allows you to implement a connector so external databases or the external data systems no sequel and then you can provide kind of single review on your system just by external tables which are representation sorry which are representation of the external no sequel data systems in this case I have experienced with a patchy hope which is yet another tool derived from the green plan that we discussed today again which was derived from postgres it's MPP shared nothing solution which has very power to actually share very similar optimizer or co-optimizer inside and what's more important provides a PXF framework this is a Java extension framework which allows you to actually implement the plugins for external systems so this is I call it and one end model because the organization would use a single or sequel usually postgres gdbc connection or dbc to talk with one MPP database and via the extension mechanism would be able to see some portions of them of the no sequel system itself outside second approach is far more interesting in my opinion because it provides more autonomous autonomy for them no sequel system themselves is to implement a sequel adapter for each system isolation and for this purpose there is a framework very powerful but framework out there called a patchy calcite and as you can see in this case each of the no sequel system would actually have its own sequel representation interface it's on optimization the advantage of this is that you might be able to tune the optimizers for for sequel optimizers and the relational algebra expression optimizers better to the particular specifics of the no sequel system and there is an interesting gyrate ticket the gyrate issue that recently popped up which is exploring the possibilities to bridge those two approaches just one slide about the first the federated database approach how it looks like so on the sequel standpoint you're creating a table that looks like this standard type the interesting bit is that here you're providing location to your no sequel data system where you want to wrap and you have to implement three classes which is the fragmenter accessor and the resolver the purpose of the fragmenter is that if the date in the no sequel data store allows you to partition the dating in streams that you can process in parallel the role of the fragmenter is indeed to establish this partition for each of the streams or separate streams in parallel the accessor actually breaks them into a collection of rows key value rows and for each of the these value rows the resolver the last component you have to implement would convert it into a column a column list which would match these interfaces there is a much more internals you can pass analytics and stuff to to to configure the statistics in order to optimize them help the optimizer to adjust according this particular data store and this is very powerful approach if you for example already have Hadoop and Hokey like system in your infrastructure and you can just implement this such type of plugins and wrap and provide holistic view of your back end system the second approach or direct one is to implement a sequel interface around your and leverage sequel optimizer around your no sequel database and for this the Apache frame Apache calcite framework provides you query parser this is equal query parser very data optimizer I think this is the most important bits here as a bonus you get the gdbc driver which you can talk with the system and one very important the design decision about the calcite is to stay out of the business of how data is stored and processed which in turn makes it very useful to implement and wrap almost any existing data store out there I think this is by design and it's very powerful decision and if you take a look about the various technologies out there that use in one another way Apache calcite you would see that most of the big play already using it inside what I did I'm working on Apache Geo adapter the Apache Geo is in memory data grid yet another key value store distributed hash and I'm going to use in some of the example just as a reference to illustrate how it looks like so this assuming that you decide to implement a sequel adapter using Apache calcite through back end data store no sequel data store there are a couple of decision you have to make and they're very important regarding the from one side to how much sequel completeness you are going to expose and compliant with the sequel standard on the other hand how much you are going to to leverage the power of the no sequel not no sequel system you have so the first thing is you have to decide how you're going to convert your data type from the existing no sequel system let's say this is key value store or it could be even some sort of graph representation into a table or format that is expected by calcite and calcite has the standard metadata expected is the catalog schema which is collection of tables table which is collection of rows and row is just a list of columns represented the relational data type so this is important decision because let's say that you want to express as some sort of a JSON or Java object which has hierarchy and you have to flatter in some tabular format you have to decide whether you're going to spend computation and a lot of serialization to achieve this or we just can afford to implement only top level fields or some smartness and stuff so it's up to you to decide what is that it's a trade-off so how much you're going to expose from your model as a as an opposite of the performance that you're going to gain or lose and the second more important thing that this is general principle for any data distributed data system is move the computation next to the data not other way around particularly that means that if you in case of in the context of the sequel query you would like to run the executions of this query next to the node to where data is stored rather than actually moving the data to some central node where this processing is happening and then moving it back and forth in the context of Apache calcite you have two approaches to achieve this the first one is simple I call it simple it just allows you to implement a very simple simple in the table interface with the ability to push down the predicates predicates are operators relation operators like filters and projections that means that if you have select some fields where from some table where something it makes really sense these fields and the the where clouds of the conditions to be pushed down to your not equal solution and you pre-filter and preprocess and return back only the amount of data that is necessary for okay for the system to process I'm going to hurry up here's this is an example how it looks the simple scenario you're connecting to I'm not sure if it's visible this gdbc adapt this is the Apache calcite gdbc protocol so when you connect to gdbc via the Apache calcite gdbc driver to your backend system you have to provide a model in JSON format the only thing that model contains is your entry point implementation of the schema factory with some operands that are relevant for for your backend systems the role of this schema is usually one liner of implementation is to create a schema based on those operators that operands that you have provided the schema in turn depends on the mapping that you have decided to implement for your backend system in the system and the relational stuff would create a list of tables and the important thing is that you have to implement the column types within these tables then when a query comes it would be passed through the scan parameter so that from this book order usually would mean that it was going to collect try to extract this data set from your nautical database and convert it in the convert method convert it into type that is compliant with the table definitions the trick here is that in this simple implementation you could get all data so there is no any moving of the computation code to the data everything goes to the central processor and get processed there that to version that you can optimize this computation it's called that instead of scannable table you can implement filters scannable table or projected filters scannable table which allows you to push down the filters and projectors but that's everything that you can do as an optimization if you have a joins operators or group by operators everything could happen central place on the client side and the second approach that the calcite allow provides you with is to implement your own relational rules and and relational operators that would allow it to in provide implementation much closer to the to the native nautical system in this case this is Apache Geo and this is very fast going so how it looks like gdbc this is everything in blue is the standard Apache calcite framework this is the base that you have to implement in order to to to provide the adapter and this is called generated by the calcite so SQL query comes it is passed to the parser SQL is converted into a relational expression and tree it's it goes through the planner which performs some optimizations actually while performing these optimizations optimized tree is passed to the enumerable component which is responsible to convert this logical plan into physical plan and this is already the tricky part in this process actually if you have implemented your own rules or operators the enumerable components would consult those and would provide a well-tailored implementation actually chooses the expression trees this is concept from link for link for J I think this is something that come from from from Microsoft and this interpreter actually generate Java code that's optimized for this implementation compiles it and the gdbc query is executed so that's the whole full and the complete line and I'm going to skip this those are the internals of the if you were going to implement your own rules and and operators in calcite you'd have to get acquainted with this and this is the generic pattern if you see any of the implementations of the calcite adapter out there more or less implemented for this these steps here and just I would finish with the example let's say that you have this relation expressions this is the relational operators that you would see you have a join of two tables filter and project two of the fields so the optimizer throw would be to convert and to push some of the operators closer to the day so you see the projects so to reduce the amount of data that moves upwards so this is usually the logical part of the parser of the optimizer and this is the real example with the Apache Jota adapter that I've worked on if you have this query this is the logical plan you see that you have no any optimization the scan on the tables then join is performed then filter on the this one of the field and projection extract two of the fields if you use the simple scannable approach which doesn't implement any rules you would have some advantage so that the planner would already reorder this word or this this operator in a way that they be execute much more efficiently but still most of the computation would happen on the client side where the gdbc or doc the sequel query is performed if you move one step and you implement your own rules and have something that's much more tired to your next nautical data system in this case I have implemented the geoproject geofilter but there's also group by you see that actually it uses those operators and it leverages practically a lot of those operators now executed on the nautical system itself still you see that join is not implemented there I'm working on this that means that now this query would practically would be converted into two sub queries run on the nautical system and the result would be returned and be performed on the client side but this is something that you can progress on typical gdbc how we are going to use this from ten java stand point and I'm afraid I'm over time so I'm sorry for this try to run


Hi everybody, Joe for jaspyscasebrakes.com coming at you with a Jaspys Exclusive 2021 hip parade football, Jaspys Exclusive 10 box random team break number one with an early bird promo. If you bought one of the first 18 spots we're gonna randomize those spots. Name on top gets an extra spot. Could be two for the price of one. Big thanks to the first 18 right here. Chance to win that extra spot. Dice list, name on top after, name on top after six, four and a two. We'll get the extra spot. One, two, three, four, five, and six in the final time. Good luck. It's gonna be Daniel Katz. There you go, Daniel. After six, extra spot for you. What's your name right there? Get you into the official early bird spot. Now I can gather everybody's names again and now we can randomize you a football team. All 32 NFL teams are in. Let's roll it and randomize those two lists five into four, nine times. One, two, three, four, five, six, seven, eight, and ninth and final time. After nine, we got Barry down to Josh Smith. Five into four, nine times for the teams. One, two, three, four, five, six, seven, eight, and ninth and final time coming up. There's nine and that is the Baltimore Ravens down to the Arizona football Cardinals. All right, so Barry with Baltimore, Brian with the Indianapolis Colts, Patrick with the Bears, Will with my Raiders. Hi, Will, Allen with the Cowboys, David with the Titans, Daniel Katz, your early bird spot, Minnesota Vikings. Ryan with the Dolphins. Ryan Hynes with the Dolphins. I think there's two Ryans in this break, Ryan H's. Taylor with the Giants, Steve Wright with the Steelers, Karen Steele with the Browns. Vin with the Niners, Gale with the Broncos, Pete with the Pats, Ryan Harold with the Seahawks, David with the Rams, Daniel with the Bengals, Josh with the Washington football team, Patrick with Philadelphia, Mark with the Jags, Chad with the Carolina, Michael with the Bolts, George with the Falcons, Matthew with the Saints, Patrick with the Chiefs, Michael Lastbot Mojo, Detroit Lions, Steve Wright with the Texans, Chris with the Buccaneers, David N with the Packers, and the Jets, Dan with the Bills, and Josh with the Arizona Cardinals. Let's get all this on one page here. This box is sub-centered up and alphabetized by team. And we're gonna pause the video and allow people a little bit of time to kind of gather their thoughts about their team and maybe do a trade, maybe. We'll see. We're gonna pause the video when we come back, we'll see if there's any trades in the break. Let's take a round. All right, welcome back, ladies and gentlemen. No deals were done, so this case and this list remains the same. Thanks everybody for getting in and making this happen. Appreciate it. I loaded up another hit parade, football break.  We got basketball, a basketball version of this as well, which is also another Jaspy exclusive. And I think there's still a lot of early bird spots left. You may as well get in early and you may stumble into an extra spot. Good luck, everybody. And thanks to hit parade as well. All right, first one out of the gate is gonna be Kyler Murray from Impeccable Football, 72 out of 75. Nice. That's from 2019 Impeccable Football. Josh Smith with the Arizona Football Cardinals. Next one. Graded card, 1989, not 20, 89, 1989, tops football. PSA 10, Troy Aikman. Nice, looks like rookie here, right? Nice. Dallas, Allen with the boys. Another graded card, feels like a Beckett slab. It is, it's a 9-5-10 DeAndre Swift from 2020 Daenerys Football. Rated rookies, bronze parallel. Cards a 9-5, and the Otto is a 10. I feel like he's been doing all right this season. That goes to Michael. Last spot, Mojo strikes again, 70% of the time. Last spot, Mojo hits 100% of the time. Or so they say. What do we got here? Calvin Ridley, 11 out of 25, and his college gear. Speaking of college, we're gonna have flawless collegiate football breaks tomorrow. You can pre-order now, jaspeaskacebrakes.com. Calvin will be for, for George in the Falcons. Next up is a Saquon Barkley. Two-color patch and autograph. Rookie patch, Otto. It's 16 out of 49, RPA from Panini 1 Football.  And the autograph, a 10. That's nice. That's Taylor with the New York Football Giants. I know they need to have those last spot Mojo stats. I'm like carboreconnection.com, groupakechecklist.com. Joe Burrow, nice. Mosaic Silver, parallel, PSA nine. Ron and Cincinnati, Daniel Katz.  Got randomized, the Bengals gets a nice Joe Burrow. Who's gonna be playing my Raiders this Sunday. Both teams struggling a little bit, so someone's gotta win that game, right? Hopefully my Raiders. But hopefully Joe Burrow has a nice day, but no win. All right, another one. It's 18 out of 25, Canvas creations, Christian McCaffrey, run CMC. Carolina Chad Coleman with Carolina. Some good alliteration. Chad Coleman with Carolina's Christian. Canvas creations, some excellent alliteration there. Some cool alliteration there. Some awesome alliteration. Maybe awesome alliteration. All right, next box. And like I said, we've got more of this hip parade basketball and football in the store. I just load up another one before I started this break. Next up is Rob Gronkowski, Patriots edition. 42 out of 49 from Immaculate, 2015 Immaculate football. Patriots, Peter Ang and the Pats. Two more to go. Good luck, boys and girls. Another graded card, PSA, PSA 10. Lamar Jackson from 2018, Panini Donneress football. Nice rated rookie card, PSA 10s are always great to see Barry with Baltimore. Great hit, Barry. Final box, good luck, fingers crossed. Only 10 hits, 10 boxes, 10 hits and a 32 team break. So it's gonna be tough to hit, but if you do, I feel like more often than not, it's gonna be very rewarding. So get into more of this hip parade on jaspyscasebrakes.com, an exclusive that we did with hip parade. Check it out. Final hit is for the Texans. That's Deandre Hopkins, rookie Deandre Hopkins. That's awesome. Six out of 15 quad relic and autograph. This is from top, this is one of the football products that I miss the most. Top Supreme football from 2013. I don't know, once Fanatics becomes our hobby overlords, hopefully maybe they'll bring Supreme back. Steve Wright with the Houston Texans. Nice D-Hot.  Nice break in the books. We got more in the store. Check it out, jaspyscasebrakes.com. I'm Joe, I'll see you next time for the next hip parade, Jaspysclusive. Bye.


Hi everyone, I'm Joe for jaspyscasebreaks.com, happy March Madness Day, first round tipping off and we've got some football here for you as well, we've got all sorts of things happening on jaspyscasebreaks.com. Prism, football, brand new release, just dropped yesterday, pick your team five, half case from a fresh case, all card ship, a lot of great stuff here. Very big thanks to this group for making it happen.  If you've got prism three next to me, we did that prism football, hobby pack number three filler, congrats to the winners of those teams there. All right now, let's pop open this fresh case, see which boxes we're going to do here, and six. So we'll go one, two, three for this side right here on the dice roll, and then four, five, six for the six boxes inside there, give it a little element of randomness, and it's three. This side, one, two, three for this side, and then these we will save for the next video. Get this box out of the way first. This camera right here, you should be able to see these boxes just off to this side, and that is pick your team six, and that's coming up in the, coming up in the next video. This sort of stuff we're looking for here, good luck everybody. Good luck. One of the key players we're looking for here, obviously the sort of top tier rookies, Malik Willis, Brock Hardy, Kenny Pickett, Sam Howell, Garrett Wilson, Aidan Hutchinson, Chris Olave, Desmond Ritter, the Usuals. Gilo says the Missouri Tigers will face the Princeton Tigers for the fourth on Tiger matchup of the year. I'm a betting man, I'm putting all my money on a Tiger team. Do you think, are there more, you think big cat teams are the, there's more cat teams in college than there are any other animal? That's gotta be the most, right? A cat team, or do you think bird teams? Are there more bird teams in college, or do you think it's cat teams? Or is it dog teams? Or wolf? Like, sort of a canine, lupine related team. You think bear, are bear teams, are there more bear teams in the other animal? Oh, nice Kenny Pickett. Rookie Silver for Steelers, Sean Maddock for the Steelers.  We got a Marquise Brown, Red Wave for the Cardinals to 149, that'll be for Howard. T Higgins Silver, Jack Lambert Silver, and that reveals a Lane Johnson for the Fly Eagles Fly. That'll be for D Lo, Daniel, with the Eagles. G Lo, the other Lo, Gabe just Googled it, Bulldogs are the most common animal in D One college sports. Could have sworn it'd be some sort of cat team. There's Dante Culpepper to 175, that's for Jerry and the Vikings. Or maybe there's, are they separating out like Wildcats and Tigers and Panthers? I'll bet if you added all the big cats together, and Cougars, that those would outnumber Bulldogs I want to say. There's a Brock Purdy, rookie card for Alifonzo and the Niners. I suppose we'll have to do our own research. So they do separate out big cats. But if you split up the animals, and Saekwon goes to James and the Giants, Bulldogs, Tigers, Eagles, Wildcats, Bears, and then Panthers, those are your animal teams. Curtis Samuel to 99 for Joshua and Washington. Got a Kyle Phillips, 72 out of 249 for the Titans, that'll be for Ron. Got a Chris Godwin to 125, that's for Tampa Bay, that's going to go to Keele Kessler. Tom Brady, Brilliance, Mark Andrews, 59 out of 225, Purple Cracked Ice for Aaron Billingsley, and the Robins. Snoop Conner to 125 for the Jaguars, Matthew, Snoop Doggy, I got Matt Corral, Devonta Smith to 249. I think we only got one autograph in there, they do say on average, maybe the next box will have three. Alright, next box, the NFL Draft in Kansas City is free to attend. What about though, like, they must charge for you to be right up against the stage, right? Oh, Michael Blunt said it was free in Philly a few years back, just completely free? Even round one, right up against the stage, maybe it's just the first come, first serve thing. Huh, free in Dallas, maybe it is free. Yeah, I feel like if it's free, and you want to high five Mahomes and Kelsey at the front, Gilo. I think you might have to camp out a few days beforehand. Ah, okay, I see. So you have to win tickets to get into the tent by the stage, I see. But the festivities are free, okay, I can see that. Justin Simmons, Orange Wave, little color match for Ed P, and the Broncos, that makes sense. We've got DK Metcalfe to 25, and Tyquan Thornton to 149, Metcalfe goes to Will Christian and the Seahawks, Tyquan Thornton goes to Ron and the Patriots, and we've got Steve Largent for the Seahawks, 63, I-75 for Will, Chris Godwin to 125, and a Bailey Zappy Silver for Ron and the Patriots, not sure how hot Bailey Zappy is these days, I don't think, is there a quarterback controversy or no? Chris Godwin goes to the Buccaneers, Keel, Jamar Chase, and Rashad Penney to 175 for Keel, and no, check that, Will in Seattle, Tyler Boyd, Purple Cracked Ice, 198 out of 225, Michael with the Bengals, let's take care of Marquis Colston before he slides off there. That's Jeffrey, and the Saints, 31 out of 99, Jilo, if you get up to the front of the draft, we may have to, I don't know if we have any Jaspy T-shirts laying around, and there's Doug Baldwin, 51 out of 99, Sensational Saintress, Seattle, it's for Will, ooh nice, John saying we're one left in hip parade football, we're a little backed up on the schedule, John, but as soon as we can get the hip parade done and on the schedule, the better, I know, right? If you go to the National, Jilo, last few years we've made up special T-shirts for the National in the giveaway, 45 out of 49, Rokhwan Smith, Aaron with the Ravens, Marchand Latimore to 249 for the Saints, it's going to go to Jeffrey, Emergent Garrett Wilson and Drew Brees to 49 for Jeffrey and the Saints, Emergent Rookie Silver for the Jets, Jazz with the Jets, and we've got an Isaiah Spiller to 125, that'll be for Roy and the Bolts, alright, another box, I need Iowa to wake up a little bit here, Auburn's up 36-29, I have Iowa as the slight underdog in this matchup, plus 105, they're not acting like they're plus 105 though, they're acting like they should be plus 200, any other big upsets brewing? Princeton beat Arizona, that was the big upset for today, Duke is cruising against Oral Rovers, they're up 40-23, Colgate Texas game just started, that's not quite an upset alert there, yeah let's see them Jeff, we still have a long way to go, we've got four boxes left, so we're not even halfway through the break just yet, so lots of time left, six out of 60, Devin Duvernay for Aaron and the Ravens, got Leonard Fournette to 149, Red Wave for the Buccaneers, that'll be for Keele, and Jameson Williams, Rookie Silver, and a Chris Johnson to 199, and a Brock Purdy, alright so Chris Johnson goes to the Titans, that's for Ron, Jameson William Rookie Silver for the Lions, that'll be for Nico and Brock Purdy, Mr. O'Relevant, last year's draft, very relevant for the Niners, that goes to Olive Fonzo in the Niners, Sean Watson Orange for Cleveland, that's for James, that's to 249, and a Jared Goff to 225, Purple Cracked Ice for the Lions, Nico in Detroit, Cole Comet, and a Kenny Pickett autograph, yeah it is, a Kenny Pickett rookie autograph for Sean Maddock and the Steelers, on Brady Fireworks to Fawn Gilmore to 225 for the Blue Horseshoes, it'll be for Ryan, Alex saying a lobby hard to hit, maybe we can try to turn that narrative around, there's Eli Mitchell Hype, Cracked Ice to 299, and a Chris Johnson for the Titans to 175, another Chris Johnson for Ron, Eli Mitchell for Olive Fonzo in the Niners, we got Leroy Kelly 93 out of 249, Leroy Kelly goes to Cleveland, that'll be for James, and behind Brett Favre is Rich Gannon, nice, aww, why'd they do that, it made me think like, got fooled by prison, there you go, Brandon Ayak is the autograph, that's for Olive Fonzo in the Niners, got a Logan Thomas for the Commanders, that's to 25, that'll be for Joshua and the Commanders, Leonard Fournette to 199, three bucks, we're halfway through the half-case break, second half coming up right after this, all right at halftime Duke is leading Oral Roberts 40 to 23, Texas starting to pull away a little bit from Colgate, they're up 29-17, nine minutes left in the first, 335 left in the first, Northwestern leading Boise State 32 to 26, Halxing saved the line for the next break, that would make Nico very sad, well I hope hopefully there's an equal number of lines for the both of you, I don't think it'll work out like that, but that's what I hope for, you got Roquan Smith, Orange 83 out of 249 for Aaron and the Ravens, we got Isaiah Pacheco, we got David Montgomery to 60, that'll be for the Bears, that's gonna go to Fred, Tom Brady, we got Pierre Strong Jr. to 99, that's for the Patriots, what's the, you know the value on like these Tom Brady's, I guess this is his like final year card, does that do anything, does that move the needle in the hobby, value-wise, got a Givante Williams to 125 and behind Jordan Poyer is, is an Aiden Hutchinson, sorry Alex, but congrats Nico, Detroit Lions, he's pretty good, Givante Williams Broncos, that'll be for Ed P, we've got a Mare Cooper Red Wave to 149, Browns that'll be for for James, we got Malcolm Rodriguez 68 out of 149 for the Lions, it'll be for Nico, Rich Ganon, there's Julian Love to 199 for the Giants, that'll be for James, James misses the Mare Cooper on the Cowboys and here is sensational signatures Ken Harvey, yeah what, I forgot what happened there, I thought, I thought they would hang on to them, 006 out of 149 Ken Harvey, Joshua and the Commanders, Zay Jones to 225 for the Jaguars, that's gonna go to Matthew and a Snakeskin, Miles Sanders, Eagles Edition, short print, not too many snakes, maybe one or two per case, there's John Mechie to 175 for Houston, it'll be for Ryan, ah they mismanaged the cast, they just had to let them go for free and there's Young Lake Hu to 249, I mean I'm sure they got a whole team of people but, but is, is the NFL the hardest job to be, you know, of all the GM jobs in professional sports, is NFL the hardest? I mean there's like seven rounds of the draft, free agency, we got guaranteed money, non-guaranteed money, cap hits, non-cap hits, dead cap money, all that sort of stuff like, and again I'm sure they have a whole team of people, they should have a whole team of people doing all the math, but I feel like, I feel like that's pretty difficult, Auburn up 51-39 pulling away from Iowa, Sheila you'd say so, NFL players, yeah, they don't last very long, career length different in every position, yeah, there's analytics added to it, and then just a giant roster to manage, you know what I mean, as opposed to like the NBA, how many players are on a, you know, maybe 15 plus a G League roster, not to say any GM job is easy, but I don't think the hardest job is to be a GM, hardest sport to be a GM, I'm saying it's football, right? Guaranteed money, cap space, dead cap space, non-guaranteed money, seven rounds, got to fill a 50-man roster plus practice squad, we're CJ Mosley for the Jets, that's the 249, that's gonna be for Jazz and the Jets, Kenneth Walker fireworks to 99, Jake Ferguson to 25, that's for the Cowboys, that's gonna go to Gabriel and Dallas, Kenneth Walker goes to Will and the Seahawks, this is pick your team five, fill the filler, knocking out five and six, there's John Lynch to 75, Garrett Wilson there's your offensive rookie of the year, it's gonna be for Jazz and the Jets, John Lynch to the Niners, and behind Lane Johnson is Dante Colpepper, 33 out of 75, sensational signatures autograph, Vikings, Jerry in Minnesota, got a Jalen Johnson, 11 out of 1, 49, Red Wave for the Bears, that's for Fred, and Gino Smith to 175 for Seattle, that'll be for Will, that's right, that's right, great Gino hood, got a nice contract too, good for him, got Larry Tunsel to 199, that will be for Ryan and Houston, Khalil Shakir to 199 for the Bills, that'll go to Keele and Buffalo, Teddy Bruceke to 225, Patriots that's gonna go to Ron, Terrace Marshall Jr. to 249, Carolina that'll be for Joshua, Shaq Barrett, Shaquille Barrett to 125, Keele and Tampa Bay, and behind CD Lam is gonna be a David Montgomery, a Bear, Fred and the Chicago Bears, and a Brock Party rookie card, so you can find a Brock Party rookie silver would be nice, Aliphanzo and the Niners, all right sixth and final box coming up, oh yeah how are you feeling about it, Lakers live that last, oh, Sainton State almost lost, yeah they almost choked it, but Duke's cruising right now, they're up 44-23, second quarter or second half just started, yeah they've just jumped up 58-41, I don't think I'm winning that Iowa State or the Oral Roberts, Texas is up 35-18 on Colgate, Boise State, Northwestern, Boise State's only down by six at the half, Boise State plus 110, I'd love to hit Northern Kentucky, plus 11-50 at Houston, I think my Princeton win was my big dog of the day, I don't think I'm gonna win anymore after that, if Houston loses today, both the teams of Iowa can't hit chip 4, yeah they might as well give up on the bracket, just tear it up, how many perfect brackets do you think are right now, right now, zero percent, like zero, I think that's got to be under 10, yeah I think a lot of people out there was on that, should be, I don't know maybe there's more, yeah DeAndre Swift is trailing Berks, signing with the black ink right there, Titans, Ron from Tennessee, right I think he used the wrong pen, Gilo says 18 percent perfect brackets last I checked, 18 percent, 18 percent, have perfect brackets, I said under 10 percent, I feel like 18 percent sell a lot, Gilo how do you check is it on ESPN, yeah where is it, Derek Henry to 175, that's for Ron in Tennessee, I think you have, if you have like the ESPN tournament bracket app might have, might have it, these cards stuck together a little bit, we got fireworks, Russell Wilson to 49, it's for Denver, that'll be for Ed P, we got Daxton Hill to two, oh an ESPN notification, bangles that'll be for Michael, Zach Thomas reveals a Debo, Green to 75, Alfonso with the Niners, and behind Antonio Gibson is a Josh Jacobs autograph, nice, Michael Delgado with my Raiders, he's franchise tagged which he has stated that he wouldn't be happy about that but I still think we'll still work on it in the extension hopefully that'll happen, Ken Anderson 88 out of 99, bangles and it'll be for Michael, Logan Thomas that's to 175, that is for Joshua and the Commanders, isn't Michael an Arizona fan, are you an Arizona fan Michael? No, San Diego State, San Diego State, although I think, oh Cardinals, Cardinals, yes, if you meant that, oh Arizona, the university, you got to be specific Gabe, come on, lots going on here, a lot of sports going on here, Arizona Cardinals or Arizona the university, the Wildcats, that should be some amount of the two 49 Tony Pollard, for Dallas that'll be for Gabriel, Jalen Johnson purple to 125 for the Bears, for Fred, there's a Brock Purdy, Wildcats he was saying, there's Brock Purdy, Alifondo and the Niners, Jalen Johnson for Fred and the Bears, we've got Devin Lloyd to 125, Jaguars, that'll be for Matthew, we've got Jalen Naylor 27 out of 60, Vikings that'll be for Jerry and Minnesota, Cooper Cup Brilliance, David Carr, Texan to 225 for Houston, that'll be for Ryan, a Dak Prescott Red Wave to 149 for Dallas, that's for Gabriel B and that is that, pick your team five in the books ladies and gentlemen, here's a quick little recap and tune in to the next video, nice Kenny Pickett autograph there too, tune in for the next video for the next pick your team break, this is pick your team five, pick your team six coming up, I'm Joe, I'll see you next time for the next one, bye-bye.


And we started this project over a year ago. Actually I think we were talking about this at the previous EMF, it might be two years ago now! All the people on stage involved in this project there are actually a few more involved, but not everyone is here nor everyone makes it. We're going to talk about what happened, why it doesn't quite work as it should Mae'r bwysig iawn, fe log chi yn bwysig ychydig ar gyfer am ddadw i ddaeddiad rŵn ac a'r dddechrau i chi yn dechrau. Moed dechreu'r Math, o mynd i chi eisiau, a rydyn ni'n iddyn ni'n fawr y form yma yn gallu. Byddai'n ei ddarparu, mae nhw rhaid yn i'r ha MI, neu dwy'n rhaid i'rshweithio eithio yn Elbe. I fe, oedd Mae'n bwysig. Rwy'n gweithio. Felly mae'n ddim ni. Rwy'n cael ei gweithio a'r pannol yn oed. Cymru o'r grondau ac yn ddweud o'r anodau a gynnig o'r ffwrdd. O'r ydych chi'n gallu'n gweld ffordd. Felly rydych chi'n lŵn i'r ffordd o'r badaig. Mae angen i'r tŷl iawn o'r tŷl iawn o'r gwych ei gwrs. Felly rwy'n gweithio i'r ar-rhyw ar gyfer ymlaen i'r gwrs. Felly, o'r badaigau yn gwneud ar-rhyw gwrs? Felly y badaig wysig i'r badaig i'r gwrs, ac mae'n ddysgu'r ddiddordeb am ddisgwrs. Rydych chi'n ddigwyddiaeth ei fod yn ddiddordeb yn yr ystyried? Rydych chi'n ddiddordeb yn ddiddordeb? Mae'r bach. Ond... Ymdag yma. Mae'n byd bob. Ychydig yn fwy o'r ddiddordeb yn ddeliriaeth. Mae'n ddiddordeb yn April 2013. Mae'r ddiddordeb yn ddiddordeb yn ddiddordeb. Mae'n ddiddordeb yn ddiddordeb yn ddiddordeb. . Mae'r ddafnod, gwybod, mae'n ddweud dros yma. Mae'r dim yn ystod y ddweud. Felly mae'n dweud, mae'n ddweud. Mae'n sgwysig. Mae'n angen i'r ddebyd. Mae'n amlwgru, mae'n ddweud. Mae'n ddweud. Mae'n ddweud. Mae'n angen i'r ddweud. Mae'n angen i'r ddweud. Mae hyn iawn. Dyna'r eich gweithio. Felly mae'r waltydd fannad arna. Felly rhaid i'r ffocos. Rhefpapio'r washoo. Mae'n golygiad yma. Mae'n golygiad? Mae'n golygiad. Felly eich golygiad. Rhaid i ran. Felly â oes weithio hefydbarth nolio. Rhef i bach i'r pr coefi am y Cy briefly hon. Mae'n golygiad sy'n ôl. John See then sort of spent a while getting sponsorship is great. Yeah. John See, yes. Get your sponsorship really hard. So yeah, em hear me first started out this and you mention the e-paper display we thought cool e-paper this is awesome. This is down to one person a 2012 and I don't know who it was but whoever you are you owe me a beer because they said what do you want on the badge next time oedd gennym wneud, coond iadwch eu papir o'r nifer Cyn beth oeddu i paerau'r papir i ddefnyddio fel gyn de 감 a我eron i papir o'r nifer mae'n cael ei fod yn cael byt felly rwy'n gallwch ymnyddio i gael a dwi gennym dwi gael e papir na'r wneud cael bydd y gallwch chi'n ddefnyddio i'r wneud ac mae'r broadfodol ar gyfer y gallwn y ddechrau mae'r rhaid i'r cyflaes ac mae'r f watershawdd i chi'n ddechrau a hynny ddim prosol ac mae'r broadfodol yma a all o bwysig yn ymgyrchol. Felly rydyn ni'n gallu rhaid o'n sefydliol, ac mae allwch yn rhaid i gael. Rydyn ni wedi bod yn bwysig o'r ffonsor, ac mae'n ffonsor i gael rhaid i'r ffonsor, mae'n rhaid i'r ffonsor i gael. Ond byddai'n gwaith bod y ffonsor, mae'n ffonsor i gael gweithio i fi, yn ymgyrchu i fi'n ffonsor i'i gael andrach, mae'n gweithio i fi'n gweithio i fi'n ffonsor i fi, dw i'n gwneud ddangos, ma'n meddwl bod ydych chi'n meddwl ar fy ystyried fel 10%. Da was iawn. Byddwn ni i ddim yn ystod i fynd i ddweud y pwyntl corelli. Dyma wedi cael ichi sydd wedi gwneud y sponso. Wel, ie, doedd e wedi ei gael, mae'n dod am yr ydw i'r gweithio. Rydw i'n gweithio yma, a ddim yn ei methu sydd yn cael wir iawn i gwybod 5%. Mae wedi swyddi wedi'i gwneud y brifindd rydyn ni'n gweithio ar ei fod yn y gweithio ar gyfer y mwylo, fascinating time and then it got quite bad. And all this time we weren't sure how much money we were going to get, we didn't want to deliver anything that we will try and deliver anything we couldn't actually get the money for, so we started looking for smaller sponsors and then we started talking to people we knew and companies that were involved and people who could help get involved. And it became pretty obvious that we needed to drop our budget a bit so we dropped the e-paper display, sorry, Ie, we kept going and eventually we managed to close, I think it's like 15 sponsors maybe more than that, all of whom put a bit of cash in to help with the project and all of whom helped get the thing made. But we waited, and we waited, and we waited, and we waited to see how much money we could actually get to build this thing for everyone. So we didn't go bust, and because of that, the project could put later and later and later until Matt and Bob were basically freaking out 24-7, it was brilliant to watch, not for them. Last make affair this year in March, I think it was, we sat down, no April. I don't remember. It was April. It was April, we sat down and basically we took the budget and the list of parts and just said, right, we'll take that off, we'll take that off, we'll take that off and squeeze the cost of the badge right the way down to sort of like some way like, and then it's like, right, yeah, okay, we need an LCD screen. Yeah, so we got the screen back on, and the thing about this is really annoying is that we actually put everything back on the badge anyway. Absolutely everything except for the paper screen. So it was a wasted few months of work to get all that done, but you know, it got done in the end anyway. But the sponsors that we ended up getting helping out, we're going to talk about Rago a bit later because they ended up moving mountains to get this done for us. But all of these sponsors are on the screen that you probably can't even see, can you see the side screens? So PayPal and Element 14 dropped in and just immediately helped out, they were great. And then slowly went around all the little sponsors and everyone we knew was trying to get a little bit more cash out of them and everyone squeezed out a little bit. And actually Mathworks were amazing as well. They were really good. Everyone has been fantastic helping out with this. So I don't know how many sponsors are actually in here at the moment, but thank you very much for helping out with this otherwise. You've got two on my face. Pardon? You've got two on stage. Well, you have got two on stage. Oh yeah, sorry. He's from Element 14. Yeah, and Stacey's from Ragwyr, hence the lovely orange wellies. There is a story about why your badges are red and not orange at some point, which I'm going to let her tell you along with many others. And I think with the sponsorship, anyway, all that had been closed and all sorted out, but it pushed everything back so the manufacturing was delayed. We didn't want to write software for it for a platform that might not actually exist as it was. So we had a rough idea what was going on, but we didn't want to push it. We didn't want to write something and have to be able to talk. So I think Bob and Matt will now explain exactly what happened next. Yeah. Yeah, go on. Next slide. Yeah, so we finally got money. We finally settled on an LCD screen, started redesigning the board. And yeah, about six weeks ago. Is it correct that that one go? Is that when we did the version two? Yeah. Yeah. Can you move the thing a bit closer? Yeah. How's that? I'll just switch my other notes. Yes, around the makerfair, we got Element 14 and Ragworm stepped in and said, we can help with the boards, we can help with the costs, we can help with the parts. Element 14 is great. We were able to get half the parts through them, through Farnow. Yes, so we were the version two prototype. We, Mark, found an LCD screen on Ali. I got a couple of samples sent over and I got the datasheet and redesigned the badge, took out all the paper stuff and a load of stuff I couldn't afford. Put the LCDs back in. Sent the boards off to Ragworm to have three new prototypes for the version two made. Yeah, we were having problems getting, we tried getting the screens going in the screen library. Got the boards back and realised I'd wired the screen the wrong way round. I got pin 1 and 40 mixed up and all the connectors in the wrong place. I had to put the screens in back to front. And they still didn't work. And they still didn't work. Yeah, go on. The screens are a chipset that's fairly common in an Adafrew cell, a screen that is almost the same chipset. And so I heard I'd got one of these screens and I'd got it all working and I'd found the library and it was all great.  And it didn't work. And it just didn't work. And I was looking at it, looking at it, looking at it and I eventually got to the point and I was like, we're sure we're going to make it work because they do work. But we had to make the order for 1500 screens. It was the deadline and we still hadn't made it work. So we just went, well, we've had so much bad luck already. We've got to go our way once. And eventually, let's say about, I think it was two days after we put the order in it and be confirmed I got the screen working.  Every other screen, you select it and reset it. This one, you must not select it to reset it. Who knows? So that was pretty much when I got involved in the project as well to do screen things. Do you want to carry on with part sourcing? Part sourcing is a good one. Electronic parts take a very long time to be manufactured and arrived. Some of the stuff on this board has 13 to 16 week lead times. So we set a timeline plan out way back at January and it was like we wanted everything done and dusted two months before the event, setting Johnnie's flat, which meant we had... When we started actually building the place. Yeah. I've got graphs of when this was and it's going. So some of the parts, basically in order to hit that timeline, some of the parts I needed to order in March, which was when we were still losing sponsors. So yeah, that was fun. Thankfully I managed to... I work for Cececo. We deal with some big suppliers. So one of the worst ones is the processor. Getting hold of 1,500 processors is quite fun. It's quite hard, especially when you say, yes I can't wait for the 13 week lead time. Thankfully they've got 1,500... I got 1,900 in stock and I said, can I pre-order these and allocate them so that I can have them delivered at some point in the future. Because we still weren't sure we were going to have enough money. So it was like I need to put these on order, but I might not actually be able to afford them. We might not have a badge so we might have to cancel this order. And so the sales guy was like, yeah I can confirm it with my boss and we should be able to get you a sale or return on these things. He kept confirmation three days later and they preallocated me the stock but they only preallocated 800 because the others that were in stock had already gone out by this time. So it was like, yeah, about a month before we started getting towards ragworm and manufacturing. I think that happened around this time. So once they had ordered these chips, this was a thing that had happened. It was done, it was ordered, it wasn't a problem. And all this time I've been trying to talk to the manufacturer of the components to get discounts, to get free ones and all that kind of thing. I finally, after talking at Element 14, went through three other people and the director of the Raspberry Pi Foundation and got me introduced to someone at ML who would actually respond to my phone calls which took a really long time. And they immediately went, yeah, yeah, we'll sponsor this, this is great, we'll give you all the chips and like, cool. We've already bought them. I was using them as a footrest. Yeah, he'd been using them as a footrest by this point. And then they just were like, well, yeah, we can't really do anything. Bye. Great, so now we're stuffed in two different ways. This is really great. And it all got resolved, but I think they are sponsoring the future, hopefully. But with all of these things, it's been finding the right person to talk to at the companies to get it sorted out and it's taken a really long time.  Finding anyone who would talk to us about manufacturing boards and things was just, again, an equal nightmare. So it's nice that some of the companies will come out and talk to us about things occasionally and, well, they're all on site, so hopefully they're nice people. Anyway, come on. Yes, fine hour, great with this. I'll get all the parts through those, it was nice and easy. It's like, here you go, here's a bill of materials, get me all of these and they put it all on order. The fun stuff from China. AliExpress is an absolute nightmare to deal with. And so there are three of the parts that have got little anecdotal stories to them. Mark, do you want to talk about the LCDs and ordering those? The LCDs were reasonably easy compared with some of the stuff. The company we got them from is actually a fairly small outfit. There's only about six staff, as far as I can tell, and only one sales staff. So I got very used to speaking to Alice on Skype at five in the morning. She's very fond of saying, yes, dear, to all my questions. She's very fond of saying, yes, dear, to all my questions, even without checking anything. She's like, yes, dear, we know problem. And then you sort of left wondering whether there's anything really behind that. So we sent in the order and with a delivery, they're meant to be dispatched after 35 days. And on the 35th day she popped up on Skype. So I asked her, are these ready to ship? And she said, we've had no power for seven days. We might be a little bit late. And yeah, because they're based in Shenzhen and there's all sorts of stuff going on there, new buildings being built and massive expansion of factories and stuff.  And so yeah, they'd been completely out of action for a week. So things were completely hectic on their side and they did manage to get them shipped in time to arrive in London in my office so that I could then take them to the field. However, when they turned up in my office, they were meant to come in four boxes. Three of the boxes arrived, opened them all up, well, it looked fine. Fourth one was a slightly different shape and when I looked on the side it was addressed to a aerospace company in Birmingham, which sort of worried me a little bit. I opened it up and the dispatch note said that it was £100,000 worth of aircraft controller. I was quite tempted to hold on to it and sponsor the next batch or three.  And when I finally phoned them up they said we've been phoning them all the time and just in the last hour I've left two voicemail messages on their answering phone and I will be chasing them all the way through the next hour so I thought I'd phoned up the company themselves turns out they don't have an answering phone, they've got a switchboard and when I spoke to goods inwards they'd heard absolutely nothing and they were desperate to get rid of them themselves so we finally managed to convince FedEx that it was their fault and ship the last batch of LCDs to the field and they arrived on Thursday night or something just in time to be soldered with all the other components which also arrived in the last 24 hours. Thursday night is not the latest that things arrived but yes there were other things, the other guys were tearing their hair about other things in the meantime who was dealing with batteries is that you? Yeah that was me so ordering the batteries the original supply that we were looking at and the original battery we priced on way back it's time to order the batteries and oh they no longer have that battery so we need to go find another one so we went and found another one Bob found another battery and it was like right and Bob had asked Russ to do, because Russ has done a lot of the ordering Bob asked Russ to order the batteries and it's like okay I thought I'd done with them I wasn't worrying about them and about three days later it's like Russ did you order the batteries no what batteries anyway so I went ahead and I got in touch with the seller and I ordered the batteries and they were like yeah okay we can do 1,500 batteries for you and we can get you done delivered to you for the in a couple of weeks this was four weeks ago four weeks ago and they were supposed to go to London and be there and ready and waiting for us and then the fun and game started so they were like okay it's going to take a little while to pack these because we have to pack them in special boxes to ship them through checking and the post office told them that they need to pack them like such and such so it was two in a box so they could send them so they packed them in two in a box, this is in the factory in China packed up the batteries two in a box sent them over to Hong Kong where they were checked and then would be sent over by a TNT to here in the UK Hong Kong checking turned around and said nope you need to repack them so the factory in China paid for someone in Hong Kong to repack the bad repack the bad batteries into one in a box and that took time and days and still we didn't get through checking they actually flew one of their members of staff from China to Hong Kong to go and get them repacked a third time and through checking eventually it was Thursday last week they finally went through checking Thursday last week I went on TNT and it was like they thought they'd got it sorted several times over so every time I get an email and it's China and it's China time and I'll send an email and I'll get a reply the next morning it's just really slow back and forth on the messages and all the messages are like, dear friend and I've been pasted in them somewhere, they're floating around but yes we got them eventually they did arrive I think Wednesday in London they got stuck in they arrived Wednesday evening in London to be picked up by my office to be picked up by a friend of mine to bring them here Thursday evening to be plugged in to be sorted out for the next morning and we didn't actually have the chargers built for them at that point either so that was interesting but the batteries arrived on Thursday evening at this point we still don't have the badges is your next slide talking about the manufacturing? yeah the next one is ragram oh yeah just as a thing I haven't really touched the code in the badges since Monday afternoon when I left London I was down there all weekend writing code because we were planning last weekend to have a big put build together in London with all of this we were hoping to have all the boards and the PCBs and all the badges and the screens and we were going to put all together this weekend at London so we didn't have to do any of it on site so I went down to London last weekend this weekend last weekend I don't know days have gone in blur but yeah basically since I left London came up tonight and grabbed my camping gear and come down to field I haven't really touched the badges and the code base these guys have all put it all together and organised everything here on site because I've done all the power and the fencing so bits of the story I'm not so clear all the assembly, the finals so to run up to this we when we'd finally decided that we were actually going to run with these things and it was actually before I finished all the sponsorship and we decided we were just going to do it screw it worst case I'm going to have to go and do something awful to earn more money and we got and we just decided to do it so we ordered the badges, we ordered all the parts it was all going and at this point the amount of code we had written for this was none absolutely none at all because we weren't sure until that point what platform we were writing the code for what chip anything we didn't know any of it because we weren't certainly going to waste time and then I think it was Bob was it you I don't know so Bob started the absolute base of this and started doing a little bit of code for it a little bit to get it sorted Matt was too busy panicking about batteries and screens I've written a bit he did a bit he stepped in and started just writing code having never ever programmed an Arduino in his life never written anything for using this hardware never really done any electronics in his life and went from zero to all of it in about two weeks flat so any bugs are his fault that is absolutely not true only half of them but he he basically took over and started writing everything and the rest of us at this point because this is all done by the old team Mark's been organising all the tents I've just done all the sponsorship really I shouldn't even be on stage but it was just Marik doing it and a couple of other people stepping in occasionally to help out and they went and got all the code written and have been going ever since including the service side stuff so what should be mentioned is that it's not just the badge there's the radio network part of it which totally hasn't worked and I'm very sorry we'll get on to that in a bit but they're Raspberry Pis as well there's Raspberry Pis and stuff that needs to run on those and server stuff as well and a whole pile of stuff that needs to go in all the different places so that's why there's so many things that went wrong what was it? I'll skip the switches it was another one but ask me later we'll do switches in a minute so we've been trying to get the badges fabricated and we needed to get the PCBs made so you need to get the board made and the components stuck onto it it's not quite stuck onto it it's a bit more complicated than that and we used other people in the past to have the PCBs made and other people had assembled them we went and spoke to them this time and either they had no time or they came back to us with frightening quotes that we couldn't afford or they wouldn't talk to us at all and I'm not sure what I've done to offend them but apparently it was terrible but eventually after talking to quite a few people and Ragworm appeared I actually had no idea how that happened but we got introduced Stacey's from Ragworm here and she's ahead of that and they offered to manufacture all the boards and eventually after realising that we couldn't get anyone to assemble them either to assemble them as well which may have been a mistake on both our parts and we eventually shipped off all the components to Ragworm and they made all the boards and the boards got made and it's all lovely and aside from the fact that the ink to colour the boards was supposed to be bright orange and it isn't I've never actually found out why that is this is a particularly obvious reason why well the basic reason for the fact that they're red and orange is a mislabelled batch of ink that arrived at our factory along with everything else that had gone wrong obviously on these guys side it meant that we had very little time to actually make bare boards and assemble for a batch this size you'd probably have two weeks assembly time two weeks manufacture time if you're pushing at it quite hard we didn't have that so by the time the ink arrived we were at solder resist stage of the process and the ink arrived and had to go straight on to the boards so at that point when you open up pigment that's labelled as orange and it's red you don't have a lot you can do about it other than put it down so that's why you have red boards not orange bareboard manufacture is something we do every day that part was relatively painless the bareboards you have in front of you they take around about 40 minutes a panel to bareboard test and these boards go through up on a panel so there's about 500 panels to get through so it's a relatively slow process by the time we but we had a plan we knew we kind of wanted 5 days to assemble these but we could push that down to 48 hours we have a very nice assembly machine that we labelled as Doris because she's a little bit old and Doris gave up and spat out a load of components and ground to a halt on the Monday before Monday last week Monday last week so we was a little bit worried called some engineers out onto site that were a favour of the machine and they were going to put Doris back together at this point I sort of thought well these guys have got enough stress going on so we won't tell them just yet we've got a couple of days may have been a slight error at that point so the engineers worked for a day it was all going okay-ish they kept promising me that Doris was going to come back to life another day in and they said no she was officially dead so at this point I have a very embarrassing phone call to Johnty to make and explain that actually we no longer have a surface mount machine at which point Johnty I think had a mini heart attack on the other end of the phone and went very, very quiet but in true fashion you don't kind of leave it there and dump the problem on someone else's lap so we got on the phone we've recently made an acquisition of a company that's gone into administration and they have a very big surface mount machine who's not quite as old unfortunately she's been decommissioned and the administrators are in charge of the factory until we sign over so I had some very nice phone calls with administrators to try and put the machine back together to which after lots of begging pleading, almost crying they agreed that I was allowed to do so on Friday now I make a phone call to Johnty to say I think I've got a plan Johnty's still in cardiac arrest mode and not really saying a lot so we had some people in the person who's subsequently been made redundant from that factory actually agreed to come back in and put the machine back together it was bank holiday weekend so we didn't hear a lot Tuesday afternoon 11 o'clock no that's not going to happen so we're now at plan Z1A and at this point Connor who works with me is sitting at the front possibly made around about 30 phone calls to try and beg plead whatever we had to do to get someone to collaborate with us to support this event lots and lots of people said no nobody wants to build 1500 boards in two days one day it's just not going to happen there's 0402 components, thanks guys lots of people don't like them but there's a very nice company back in Nottingham which is where the components started so these components that are on your boards have gone from Nottingham to Kent from Kent to Bournemouth from Bournemouth to Chichester and then back to Nottingham most of which driven in a van by one of my very nice employers here where I don't think likes me anymore and they agreed to make your boards which at this point if you've ever assembled boards there's always questions and it's really hard to get hold of these guys in a field and get them to check emails when you need an answer in about two minutes flat and suddenly silly things that polarization of LEDs become really really big deals because we effectively had around about 12 hours to build these boards but they made it and the majority of you have one around your neck which I'm really pleased about but yeah please if you're designing projects leave time for assembly so that made it sound like everything arrived all at once which is not true so on Thursday Wednesday or Thursday night Thursday night on Thursday night at about 10pm we would do our first shipment of boards and at this time they didn't have the screens on them they didn't have the batteries on them they definitely weren't programmed so with Stacey it arrived on site by this point I've been here for four days and I was in no means to be dealing with couriers and the couriers is like due at 10 o'clock it's 11 o'clock and the courier is still not here it's 11.30 and the courier is still not here I'm getting quite stressed out because it's another delivery due at 12 and we received deliveries at, I think, half past 11 12 o'clock 8 o'clock in the morning 10 o'clock in the morning and 3 o'clock in the afternoon that was the delivery of the badges and each one of the badges had to have the screen sold on to it it had to have the screen connected it had to have one of the couriers did about three of those deliveries in the same person I didn't know that and I feel quite sorry for him actually it's not as bad as a completely random side note there was a guy who delivered all the chairs here and every single chair on site was delivered by one guy who loaded them all into his lorry by himself and it took him six hours I'd forgotten about that we found it out when he was he was doing this for 12 hours we didn't understand what was going on anyway so these had been delivered and at this point Maric had been setting up a badge central where they were all ready to solder them and they were just sat there for six hours waiting for these to show up and every time a shipment came in it was a flurry of activity and they sorted them all out and passed them off to everyone else and I don't think he's really forgiven me he broke a bit yesterday but the badges were still being assembled and programmed through Friday I think and they were all finished by about 6pm Friday but which point is a bit too late to give them out so we decided to wait until the next day was it 10? I can't remember any more and to be honest I think Maric needs to tell you about what's happened since because honestly I don't know any more firmware yeah take the next one actually I was quite happy that everything was behind schedule because firmware was behind schedule quite a lot so basically when the first shipment came in a lot of other people were helping me out and just starting to get everything going and I was still coding so it's different to work on Arduino and like plug everything together and that kind of works then actually have different hardware like it didn't quite work so for the firmware in general we wanted it to work with the Arduino IDE so everyone can get it going as easy as possible without battery low that's it it's not just the badges so we wanted it to be as easy as possible for Peter to hack on so everything is based on the Arduino stuff but we also wanted to use a task schedule like multiple things running at once because we have a shining new CPU that can handle lots of things at the same time and we really really wanted that so we decided to use some free autos and just swap things out and it's actually quite fancy yes turns out Adreno libraries are not written for multitasking and no threat safety is really really a thing you don't discuss in Arduino forums also it was all written in plain C so the first thing was to wrap it all in C++ so you can actually look at it without going completely insane so after all those things came together we it kind of looked alright and then we got the real badges and they kind of stopped occasionally and we'll go into this a bit later so we also had some games who was doing the Tetris one Ben, stand up so I think this guy needs a big cheer because he wrote probably the most important thing on this badge when we were in London at the weekend we were writing writing code for the autos tasks and stuff and I think it was Sunday night, one of the Nottinghack guys had done snake for our big train clocks and I got him to upload that to github and Sunday night America was just like I've had enough, I'm porting snake that was actually fun compared to the rest next slide so yeah the badge would only be half as complicated software wise if it wouldn't be for the fact that we wanted an up-to-date schedule on all of the badges which kind of meant given that the schedule is changing all the time and being updated that we needed some way of updating it so there's a radio on it and we decided to build a whole infrastructure around it with raspberry pies and every single decay with two radios on it one of them broadcasts its position the badge looks which one is the strongest signal is to a secret channel and then those the gateways in those data decays send out the schedule updates every 50 minutes or 5 minutes and that worked pretty well in in the Nottinghack space turns out if you're on the field and there are lots of other of those things that are running around in people as well you kind of end up missing packets and we have error detection so I think he has seen an actual schedule on a badge yeah I can count it on two hands so I'm never going to design another radio protocol from scratch again ever yeah basically covered all of this so yeah every badge has its unique ID I think you all tried to get it which was there so we could send you updates about when an event was about to happen like talk which all works fine unless we don't actually know where you are and you turn the badge off so I don't think we send any out actually but it works in theory so if you ever replicated at home you might get a message so bugs there are a few bugs you might have found them maybe there are some small display issues when you turn it around you change the apps when it's in the wrong direction because we actually have an IME in there and we try to do fancy things like Android phones it turns out that staying up for 3 weeks until 2am writing code is not the best time to write code that is reliable and bug free and as I say oh I don't know the display issues is just crazy and the maths of rotating a screen isn't that complicated however the screen is a landscape screen not a portrait screen so everything just got confusing from that point onwards because up isn't up yeah, random freezing which we still don't know exactly what is causing this it might be like a loss of different problems it might be due to the fact that threat safety is not a thing in some of those libraries and we are actually doing multi-threading so yeah, people don't actually receive schedules and weather information just because a single drop packet in a message means we are just throwing it away oh yeah we are also signing everything with elastic curves so just to make sure no one is sending fake stuff to all the badges which turned out to take quite a lot of time and made the packages even longer in the end we shouldn't have bothered because no one actually received it but the thought was there I heard stories of one battery controller exploding I'm not sure if that's true of course it never happened and my favourite buck is when coffee was writing the weather app he was translating day of week into strings and started with zero being Sunday but in reality it was starting with one being Monday which works fine apart from Sunday and in his big case statement he defaulted to Funday when it wasn't matching any of this so it actually turned out that Sunday turned into Funday which is not too bad all things considered yeah is there any more for me? no I think yes who wants to hang on to that yes so our initial planning meeting the week before in Wave a year ago there's a list of ideas and notes and it's on the wiki somewhere go and find it there's a huge list of things that we wanted to do and the core things was the schedules and the notifications and torch and the Arduino compatibility and stuff with them they will take Arduino shields sold to the headers on the back loads of stuff with them but yes to get all this stuff talking with each other you've got screens you've got motion processing radios all the LED sounds you really need this multitasking the free RTOS to be able to run all these codes in and out together we split it all up and still didn't get it all done so yeah, multitasking is hard and trying to write a GUI on a very tiny screen there's a lot of stuff that's being displayed in landscape because the screen is just not big enough I can't go to resolution also somehow none of us had a JTAG programmer so we couldn't do any property bugging it's been ridiculous it's like a camp of a thousand hackers and we can't find a JTAG anywhere yeah, I don't know if any of you used Arduino's or know about JTAGs but yeah, Arduino ID you just use the serial output for your debugging because there's no JTAG on those processes on the lower stuff and it's like yeah we basically had to do that with a high end processor where really you should just be using the JTAG and you should go and see and go oh that's why it's crashed sorry one last note I would really really laugh if you all take the batch home and look into it and just add things to it send us pull requests, get going and we're hoping we can use something similar if there will be a patch in two years as a basis and we can get going from there yeah sorry we're not doing 20s no we are doing 2016 part of this is my fault in that I was the one that said we should do the schedule thing that was his core requirement yeah core requirement so it's all my fault and I'm still glad that we aimed high but the point of the badges was that they do something fun during the event but the main aim is that you take them home and you do something fun with them and there's workshops that you can go and play with them as well and the point is to give you something you may not have had before you might not have had a chance to play with something to remember the event by and use and as part of that we've done this for every event we've done and I keep forgetting to announce and this has happened twice now but I'm going to remember to do it now is that we're running a competition and the competition is for the best use of the badge and the best use of the badge wins two free tickets to the next EMF so it is worth doing it might not take that long but build it into a giant robot connected to your microwave I don't know something interesting but they are just standard Arduino's if you want to use it like that but these guys have written a vast amount of code stuff and aside from a couple of issues it is actually a really good code base to work with it's quite pleasurable and it's worth having a look at before you just go and blout the entire thing but if you would like some free tickets to the next event in fact actually I've just made a decision right now you can have free tickets to the next one day event and the next EMF so it's worth even more if you like it and secondly for these we have more badges than we needed and that was intentional because obviously there's a failure rate when we manufacture these and I think how many did we actually get out of the manufacturing in the end so we got 1456 boards made of the 1500 we actually wanted to make and of that of course there's more failures we need to fix and people have been quite happily handing them in all weekend for us to fix and we really thank you for the fact that we've got to do a lot of soldering now but all the ones that we have left are for sale so if you would like another badge to play with and I highly recommend getting one because the hardware on these badges is worth quite a lot of money and if you were going to go and build these yourselves it would cost you a lot of money and a lot of time and a lot of time but even just buying all the components themselves is remarkably expensive I don't know exactly what the price is I haven't been informed but they were going to be for sale from the info tent but because we've got to fix so many of them we will post them out to you but if you go to the info tent later on today they will write down your name and take your details and we will bill you somehow or other I don't know how that's been decided somebody did that work I think someone's probably given me the evil eye from the back of the tent now anyway do we have anything else I'm not exactly sure I would imagine probably 40 quid because the components themselves are worth 30 and that money is actually necessary for us because we need some of that to cover the badge cost in the first place and Arduino GOA itself is 30 quid on its own so then you've got there's actually some components on this that never got turned on there's a speaker on it which you haven't heard there is oh yeah my favourite thing I insisted on this is to hold anyone right next to the lanyard holes there's two holes on the side and they're for conductive threads so you can sew things into your lanyard if you wanted to sew in LEDs or something and control them with a badge it's all documented it's just we forgot to tell everyone there's an infrared transmitter on it oh yeah and there's ethernet on board so if you want to connect it to the internet you just need a very small adaptor to be able to connect to the internet and what else is there oh yeah there's sections to solder on an SD card adapter infrared receiver and a magnetometer which is a compass and a few other bits as well pardon? and ethernet yeah I said ethernet though I'm not imagining things am I I've been awake a really long time so the ink screen has a lot of support circuitry with it and Matt really wanted to leave it on but I made him take it off because it cost too much money so you can blame me for that as well I don't know how easy it would be to add them back on yeah not easy the ink screen is one cost and then there's another two pounds worth of parts that's two pounds worth of parts that's not two pounds worth of the board tiny parts there's quite a few control lines we might be able to do it on us could we make the remaining ones basically more awkward than it would but all of the design the software, the firmware on the badge, the software on the decays, the design is all on github it's all under an open source license and it's all under an open source license so if you want to download the design and get some made you're welcome to do that I'd like to know if anyone does try that the prototypes I've built about nine of these prototypes by hand they take about two hours each so if anyone else builds one by hand I'll let me know don't build one by hand we've had a few people asking for more information about it and there's a URL on the back of the badge that we'll be working with more information later but because all of this got pushed so late we've all been so pressed and because pretty much all the team have been involved in running the rest of the event under is more important than shiny badges around your neck they haven't had time to update the documentation so we're very sorry about that we wanted it there but time constraints most of it is on the wiki but you know what wiki is like they're impossible to read so it's fine is there anything else? yeah we'll go through the what next I think sorry one more slide or? oh yeah so yes we're going to the badge team will hopefully aim to produce a badge for every event that Jonty agrees to run so yeah hopefully there'll be a one day event next year we're going to do a smaller badge like that then if any of you were at Wave and saw the signed badge for the treasure hunt one of the things we wanted to do with this is have this badge reprogrammed that badge so that they would interact with each other but time, hardware and all the rest of it but yes next year we'll do another small badge that hopefully we'll talk to this badge and we're going to keep this badge you all heard that Bob is in charge of the next badge for the one day event we've already got the initial designs we're pretty close already we actually missed that at one point when the money was really really really a problem and I was really not happy we did actually do a complete redesign from scratch which Bob did in a weekend which was the potential replacement for this which I believe is what the badge will be next time so you heard it here first we've got a year to get it done but obviously we'll do it in the week before instead because it's much more fun we built the last badge in the week before Wave was actually built I didn't talk about Wave when I was but I was built in the week between the Maker Fet and the Wave event I built all those badges at work all the little signs in literally the week before that was done just in time but we did do the entire event from start to finish in three months so that's kind of allowed with the compressed time we will be doing another badge in 2016 I think we probably will stick with the same software but not so buggy and somewhat similar hardware I don't really know we're going to run through with some similar hardware it may even be the same badge it might be the e-paper one it's not going to be the e-paper one I'm being quite clear about that but yeah we're going to run the code base through so hopefully we're going to build on what we've done this year I also want to do I'm going to spend some time at some point and make a tilde shaped prototype shield to go on it which will be really good and we'll hopefully get a ragwam to make some of those up and if we'll be able to buy it You heard that here first as well Are there any questions? This is the wireless mic so we'll have to pass it out to the audience so people can hear or we can repeat questions back if you're far away I don't really mind there's a phone up there you'll have to shout the radios can transmit and receive and actually the radios are reprogramable as well the seseco radios are started at TI-2200s I can't remember they can speak of each other CC and that depends but if you get two badges you can talk to each other you can get USB versions of the radios that you can plug in as well so if you wanted to say connect this to your central heating and then control it from something else which someone actually did with the badge from 2012 someone has that running their central heating system and frankly I think that's quite a ballsy move then yeah you can get the pieces if you talk to Matt afterwards or look at seseco they're linked from the wiki page you can buy all the radios there there's also a Raspberry Pi shield so you can connect that to it and talk to the badge from it and all sorts of things but if you wanted to run your own firmware on it there's programming pins somewhere on the back of it that are hidden oh and there's something else we've got to announce no no no there are hidden things on the badge there are quite a lot of hidden things but you found one you've got a cheaper one you're not allowed that but there are three things to unlock on the board and if you find out what all three are and you email us we'll probably do a free ticket for that as well just because it's going to take a lot of effort and probably completely destroying the badge so it's a oh yeah we should think Jake Jake did the artwork for oh yes tiny random applause for Jake who stepped in the very last minute too much applause too much he stepped in and did all the artwork for it because we're not designers and he made it look good and is there anything else we need to talk about I also learned the fact that we before the event we had a we had a product case oh yes is it you that designed it alright so somebody dropped into our RC channel and designed a 3D printed case for it which is really nice he's not getting his back by the way we weren't expecting that I think there's already a laser cup case floating around and a laser cup one as well anything else? any other questions from anyone? oh go on you got the linear holes I haven't got room for the mounting holes so that was just that we have data sheets for every component on there every single one is and I'll get every part the whole thing is completely documented because after the event we're going to get really sick of it for like 6 months and you're still going to want to work on it and I think we are done now so if you've got any other questions find these guys in the bar buy them a drink and they might tell you some of the horror stories we didn't say on stage