I see these days that those Asian U.S. having very attractive programs for young talent and people brain-gain programs and therefore Europe have to sort of wake up. European universities are increasingly faced with a challenge of attracting and retaining the most promising research talent. People are prepared to relocate to places that offer the best research environments, the most attractive career opportunities and comfortable living conditions. We face the challenge of making Europe the destination of choice for the best students and researchers in the world. In the last decade we can see that strong schools from China and Hong Kong and Singapore are now on the top 100 list. So I think European universities cannot just continue to rest on their laurels that they are the old and established universities who got here first. The annual conference 2011 will mark the 10th anniversary of the European University Association. The theme of the conference is talent development, where we need to invest today to attract and develop the bright minds of tomorrow. I think talent development in universities then one of the primary challenges will be how to actually teach young talent to think out of the box, become independent, release from conventions and actually contribute to the development of science and society. The objective of the EUA annual conference 2011 is to find ways for Europe to increase its attractiveness for the most talented students and researchers. First of all we have to increase our investments in science and development. Secondly we have to refocus the investment we already are doing. We should have more bottom-up programs as the European Research Council programs with early starting grants and advanced grants. And then we have to rethink the way we are handing out the money in the larger EU programs. During the annual conference you will learn about state-of-the-art approaches to attracting and retaining talent internationally, exchange ideas about best practices in career development for young researchers and contribute to the discussion of EUA's priorities for the future. In the world we live in some of the biggest societal challenges and scientific problems require the best brains and I think it's very important that students see a career and that we can develop talents to engage some of these problems. The way to attract the best students is to have an internationally reputed, high quality dynamic faculty. The annual conference 2011 is hosted by Orhus University in Denmark. Orhus is located between two international airports and offers a wide variety of hotels in walking distance from the conference venue. Orhus University is honored to be hosting the EUA annual conference 2011 and looks forward to welcoming you to Orhus.


Hello, my name is Joshua Watt, and today I'm going to talk to you about doing continuous integration with Yachto in Kubernetes. Little bit about myself, I've been working at Garmin since 2009, and we've been using open embedded in the Yachto project since 2016. There are the various ways of contacting me if you would like to do that. I'm going to start with our typical development workflow. We write some code, build it, do some testing, and finally deploy it somewhere. In dealing with the Yachto project, this would mean writing some recipes and layers, feeding them into BitBake to have it build up an image for us, performing some on-target testing of the resulting image, and finally deploying the image for our end users to consume. When building on our local PC, we generally find this workflow to be efficient and perform it. Builds are not re-running unnecessarily, and when they do, we see reuse of previously build components. The naive approach to scaling up our builds for continuous integration is to simply replicate how we do local builds onto our CI builds. However, when doing this, you may discover that your CI builds run quite slowly. They do not seem to exhibit either the performance or efficiency of local builds. The nature of this performance degradation primarily comes from this parallel and stateless nature of CI builds. Unlike a local build, CI tends to run many builds in parallel, and also tends to do clean builds from an empty workspace instead of having access to the build state from previous builds. The Yachto project has implemented several build acceleration techniques over the years. Many of these techniques are an optimized form of caching, and are automatically enabled with a local cache when doing a local build. These caches greatly speed up build times, but using a local cache doesn't work well with the parallel and stateless nature of CI builds, since using a local cache prevents sharing of the caching data between the parallel builds and the caches lost every build cycle owing to their stateless nature. As such, we need to establish centralized caches that can be shared by multiple builders when scaling up CI builds. Fortunately, all the caching mechanisms used by the project are designed to be shared in this way. The primary and most effective cache that the project uses is called the estate cache. When BitBake builds some select tasks in a recipe, it will archive off the output of the task into the estate cache for later use. If in a subsequent build, BitBake sees that the task it wants to build already has an archive in the estate cache, it will simply extract to the archive from the cache in lieu of performing any of the tasks that would have led up to it. In this way, it is possible to skip the entire download and compile cycle for a recipe, effectively skipping to the end and saving a significant amount of time. The estate cache can be accessed in a few different ways, but the recommended way to share the cache between multiple simultaneous builders is to host it on an NFS file share. Build pipelines should mount the NFS share and configure the build to access the cache from the mounted path. The estate logic will correctly handle simultaneous readers and writers to the cache done with this method. This is the method used by the Yoctoproject CI system, called the autobilder, and thus is one of the best tested. Similar to the estate cache, BitBake can also use a download cache. This caches source code downloaded from the internet, preventing slow download tasks if a recipe needs to be rebuilt but the source code hasn't changed. Similar to estate, this can be shared over NFS. In fact, it can use the same NFS share as estate if both are put into distinct sub-directories. Both the estate and download caches can pull from an HTTP server as a read-only upstream source. Exposing the CI-NFS caches over HTTP can thus be a huge performance win for your local developers, since they can point their local configuration to use the CI HTTP cache as an upstream source. This means that if a developer tries to build a task that CI has previously built, it will simply be pulled from the CI cache over HTTP, skipping the need for the developer to build anything locally. For extensive CI systems, this can cut a lot of time out of local developer builds, especially for complex recipes that take a long time to compile. However, for this to work, we need to implement an HTTP front-end for both the download and estate NFS caches. Another more recent caching mechanism that has been implemented is the hash-equivalent server. This server records the hashes of the actual outputs from tasks stored in estate and determines if two different runs of the task that BitBake thought should be different are in fact the same because they produce the same output. When an equivalence like this is detected, the server will record it and instruct future instances of BitBake to use the older estate artifact instead. This can dramatically increase the reuse of estate archives, particularly when there are trivial or non-functional changes to recipe metadata. Hash-equivalence uses a simple JSON over TCP protocol and can service many clients simultaneously. As such, we should also run one of these services. The final service we may need to run is a PR service. This service is used to ensure that packages generated by BitBake have a monotonically increasing version number every time they are changed. This behavior is important if you have devices that are pulling packages from a package feed to do software updates, as they need to know which versions of a package are more recent than others. The PR server was just recently changed to use the same JSON over TCP style protocol as the hash-equivalent server. If you are doing updates based on package feeds, you'll need to run a centralized PR server so that it can correctly track version updates between all your CI jobs. So, as you can see, we end up needing quite a few ancillary services to go along with our CI pipelines. Many of these services are fairly simple, but we still need to maintain them and ensure that they are available, reliable, and scalable if we desire reliable CI builds. In addition, we also want our CI pipelines themselves to be available, reliable, and scalable. Fortunately, there is a system that excels at being available, reliable, and scalable, and Kubernetes. For those unfamiliar, Kubernetes is a platform designed to run containerized workloads and services. Many complex web services are built on Kubernetes, and it is perfect for running the ancillary services we need to build our CI pipelines. However, we can go even farther. While it might seem a little strange at first, I believe Kubernetes is an excellent solution for running the CI pipelines themselves. Using Kubernetes allows us to leverage its extensive abilities to improve our CI pipelines and ancillary services. First of all, Kubernetes can be run in many different environments, anywhere from Raspberry Pi clusters to desktop PCs to local bare metal servers to huge cloud providers. Regardless of where the services are run, the description of how to run them is the same. This also means that it is much easier to share configurations between different users and get consistent results. Additionally, Kubernetes services can be configured to provide high availability and reliability so we can always be sure our services will be there when we need them. Finally, we can use Kubernetes to schedule our CI pipelines in an efficient manner since it already has an advanced cluster aware scheduler. Before we start looking at how to leverage Kubernetes to do scalable builds, let's first take a look at the hardware I use at home to test and develop these methods. We'll start with the cluster of testing hardware that I utilize. Here is what my test cluster looks like. I have a weakness for devices with the Raspberry Pi form factor and have collected a number of them. The most interesting one of the group is probably the RockPi X, primarily because it's the only non-arm board in the cluster as it's based on an X86 chip. It also happens to be the one on the top of the tower, so we'll feature prominently in my demonstrations since it's the easiest one to see. All of the devices in the test cluster are connected to a control PC through a variety of interfaces. First, each device's power adapter is plugged into an outlet that is controlled via a USB relay from the PC. This allows the PC to independently turn each board on or off. Next, each board has a USB serial adapter, which allows the PC to see the main console output as the board boots up. In addition, each board is connected to an Ethernet switch. The PC is also connected to this switch via a USB Ethernet adapter. Finally, each board has an SD card multiplexer attached. This device allows the PC to control via USB if an SD card visible on the reverse view is attached to the PC itself or the board. The RockPi X doesn't have an SD card slot, so the multiplexer is connected to a USB port, and the BIOS is configured to boot from there. For all the other boards in the cluster, the multiplexer is plugged directly into the SD card slot. From the back, we can see the other components of the test cluster, including the USB relay and the outlets that it controls, as well as the 16-port USB hub that connects everything to the control PC. The control PC is connected to the cluster via a single USB cable to the hub and an Ethernet cable to the switch. In order to test an image on a board in the cluster, the control PC will first turn off the power to the board using the USB relay, instruct the SD wire multiplexer to attach the SD card to the PC, write an image to the SD card, instruct the SD wire to attach the SD card back to the board, then turn on power to the board. As the board boots up, the console output will be monitored via the USB serial adapter. Once the login prompt is seen, the controller will know that the device has successfully booted. Finally, the control PC will SSH into the device to validate that the network interface is working. Here you can see my home server cluster that I run builds on. It consists of three used Dell R610 servers. They aren't particularly powerful or well-equipped by modern server standards, but they work well enough for my purposes. I'm running bare metal Kubernetes, meaning I'm not using any virtual machines to make up the cluster. Each of the three servers is directly attached as a cluster node. Now that we know the hardware involved, let's look at the major software components that I utilized for the CI builds themselves. For the actual build pipelines, I'm utilizing a project called Tecton, and for the test portion, I'm utilizing a project called LabGrid. Tecton is a cloud-native framework for implementing continuous integration, continuous delivery pipelines. All objects managed by Tecton are defined as Kubernetes resources, meaning you can use all of the standard Kubernetes tooling, like kube control, to construct and run pipelines. Tecton breaks down pipelines into tasks, with each task running in its own pod. Tasks are further broken down into steps, where each step is run in its own container within the pod. LabGrid is an open-source project run by Penguintronics intended to provide a library for testing, control, and automation of embedded development boards. It provides board farm management software, as well as a Python interface library for accessing devices on the cluster. It also provides PyTest integration, making it very easy to write tests against devices in the cluster. Tectons communicate with the board farm over SSH, with public-private-key authentication, which is used to provide access control. Now we can combine this all together to make RCI pipeline. Tecton is used to construct and run our build pipeline in Kubernetes. First, Tecton builds the code using a slightly modified version of the crop's build container. Once the build is complete, Tecton also runs the LabGrid tests using a container that contains the LabGrid PyTest client. This container connects to LabGrid running on the test cluster over SSH. So that leaves the ancillary services that we need to accelerate our builds. Here, using Kubernetes really shines. These services are in essence pretty simple, so it's not very difficult to write service descriptions for Kubernetes to render in pods. This allows us to leverage the high availability features of Kubernetes to ensure that these services are always available for our builds, and potentially even add support for load-based scaling in the future, although this may require some support in the services themselves. For the download in S-State NFS caches, you can choose to provide an external NFS server or run an NFS server in Kubernetes itself. Meanwhile, providing an HTTP front end for the NFS shares is a trivial Kubernetes service. Tecton provides a workspace functionality based on Kubernetes' persistent volume claims to persist data between the different tasks and steps in a pipeline. I tried a few different methods for allocating this workspace. First, I tried using an NFS volume. However, BitBake was unhappy using this as its build directory. Next, I tried using C volumes allocated from the Work operator running on my Kubernetes cluster. However, the disk access using this method was unacceptable. Although BitBake is very IO intensive, I think this was more due to the disk and networking limitations of my servers than an inherent problem with using CIF or network block devices in general. I suspect that on a production quality cluster, network block devices would yield acceptable performance. Finally, I settled on using local persistent volumes, which bind mounts a local disk from the server into the containers. This method works well for my setup as it gave me the performance I needed, but may not work well in another setup as it requires significant local disk space on the Kubernetes nodes, which is uncommon. Fortunately, this shouldn't pose too much of a problem in practice. Because volumes are allocated via the Kubernetes persistent volume claim interface, it is abstracted in such a way that it is simple to make it use a different allocation mechanism optimized for the cluster you are running on. The final piece of the puzzle is how to set up the SSH connection between the PyTest lab grid container running in Tecton and the lab grid coordinator controlling the board farm. Kubernetes runs pods in a virtual networking environment, which makes it difficult for the lab grid coordinator to expose itself to any of the pods running in the Kubernetes cluster. Additionally, I wanted to make it so that the coordinator and test cluster could be physically located anywhere in the world, and the PyTest container running in Kubernetes would still have access to it. The primary reason for this is to demonstrate the real-life situation where you might have your builds running in a cloud provider, but your test cluster is on-premise. I evaluated several different options for exposing the lab grid coordinator to the Kubernetes virtual network, including VPNs and a project called CubeEdge. But eventually, settled on an HTTP2 tunneling utility called Go HTTP Tunnel. The lab grid coordinator connects to this publicly exposed service and then reverse proxies SSH from inside the cluster to itself. This then allows the lab grid PyTest container to SSH to the internally exposed SSH proxy service, which gets forwarded across the HTTP2 tunnel to the lab grid coordinator. I've been really happy with this method since I switched to using it, as it was pretty simple to set up, has good security through mutual authentication, and has been very reliable. I had originally intended to demonstrate that this works as intended by bringing the test cluster with me in person to the conference and doing a live CI build where my Kubernetes cluster back home would run tests against the local devices, but this unfortunately didn't pan out. Now that we have everything set up to perform CI builds, we need something to test. I decided that the best way to demonstrate the effectiveness of the CI pipeline was to have it compile images to run a selection of DOOM-based games via GZDOOM for every board in my cluster. Shown here is the Raspberry Pi 4 booting ChexQuest, and also the reason why I won't be quitting my day job to try and become an elite FPS player anytime soon. The repository uses WISC to do build management, which allows each board to be built against multiple versions of Yachto from the same branch in the repository. Utilizing this, I can build against the Yachto 3.2 and 3.3 releases for each board in the cluster. Additionally, the CI jobs are set up to build each release against both a known good point for each layer the board consumes and also the latest head commit for each of the respective release branches. This allows me to very easily validate that the latest release branches for each layer haven't broken anything before I bring them into my project. So now I can show you a demo of all these pieces working together. Here you can see the Tecton web interface running on my Kubernetes cluster. You can see that it is empty because I do not have any previous pipeline runs. Switching over to the terminal, we can start by showing the ancillary services that I have running on my cluster. You can see that I have the Yachto cache service, which is the HTTP front end for the combined estate and downloads NFS caches, and I also have a hash equivalence server running. I'm running an NFS server for the estate and download caches on one of my cluster nodes instead of running it inside Kubernetes itself. We can look at the definition for the Kubernetes volume and see that it is mounting the share from the Galactica cluster nodes NFS server. Tecton pipelines are described by a YAML file, which we can take a look at here. I need to start a lot of pipelines that are all very similar with slightly different parameters, so my YAML file is actually a JINJA 2 template that I expand before passing to kube control. You can see here that at the top I'm defining several loops in JINJA, one for each product, one for each version of Yachto it should build against, and one for whether it should pull the known fixed layers from the versions or the latest upstream. As such, when this is expanded, it will create four pipeline runs for each product. Here you can see that I've configured the pipelines to use the Fast Disks storage class, which I've defined in my cluster to utilize local persistent volumes. And here at the bottom I have a simple check task, which does some quick checks on the repository code. Only one of these pipelines is run since it has outside the JINJA loops. We can use J2 to expand the JINJA 2 templates in the file, and then pipe that to kube control to have it create the actual pipeline runs. The pipelines were created, and now we can switch over to the Tecton web UI and see the pipelines start to fill in there as well. We can go in and look to see what one of these pipeline runs looks like while it's executing. This particular one is building the Rockpy X against the hardknot branch, with the latest of each upstream layer. You can see the pipeline run is divided into tasks on the left. The first task it is currently running is the clone task, which is further divided into the prepare and clone steps. Here we can see the validate task, which does some simple validation of the build configuration. You'll notice that this pipeline run doesn't start building the build task as soon as the validation task completes. This is because of the exceeded node resources status here on the task. I've started way more pipeline runs than my cluster can simultaneously build, so this particular task is going to have to wait until there is more compute time available on the cluster node before it can start. One of the nice things about Tecton is that you can define the cluster resource requirements per task, which is why the previous two tasks were able to execute. In my pipelines, I've stated that all tasks other than the build task use a single CPU and a small amount of memory, whereas the build task needs 10 CPUs and 20 gigabytes of RAM. We'll go back to the terminal and see if we can find a pipeline in the build task so that we can see what it looks like when it's running. I want to find a RockPy X build so I can show you what it looks like when you run tests on the device. I don't seem to see one here. We'll check back later and see if we can find one. Okay, it looks like the cluster started a build task for a RockPy X, which you can see here. So let's go look at that in the Tecton web UI. And here we can see that the build task is actually running. I've got a camera pointed at the RockPy X in my cluster in the lower left of the screen, but it won't do anything interesting until we start running some tests. The build has been running for a few seconds already, so we can scroll through the build output. You can see the standard environment setup output, and we can see that BitBake is parsing recipes down here. Here you can see the standard header that BitBake prints out before it starts building. And now the build starts running. We expect that this build will almost entirely consist of these set scene tasks, which are the tasks that run when BitBake is restoring artifacts from sState in lieu of actually building. Nothing should have really changed from the last time I built this product, so I would expect everything to restore from sState. And there, as I expected, nothing was actually built, and instead it all got restored from sState. BitBake is now going to do several tasks to construct the final image files. These take a few minutes, so I'll fast forward through them. The build task has now completed, and we can see here at the top that it took 8 minutes and 57 seconds. Now we can go to the LabGridReserve task in the pipeline. This task reserves the RockPyX board for exclusive use by this pipeline run. Since I have four pipeline runs that need to access the same physical board, this ensures that only one is using it at a time. Now the pipeline run has reserved the RockPyX on the cluster, so it can start to run the tests. Here you can see the pipeline starting to run the actual tests. The first thing it will do is cut power to the RockPyX. Now it has just switched the sD wire to the controller PC and is flashing the image to the sD card. You can tell because of the flashing blue LED on the sD wire. This takes a while, so I'm going to speed it up. The image flashing is complete and the sD wire is now attached back to the RockPyX, which you can tell from the green LED. The power will be turned back on to the RockPyX soon and it will begin to boot. As the RockPyX boots, the test is going to look for a login prompt on the serial terminal, and once it does the test will pass. After that, it's going to SSH into the board to validate the networking. All the tests have now passed, so the last thing the pipeline does is release its reservation on the RockPyX board in the LabGrid cluster, so some other pipeline run can use it. We can come back later and look at our Tecton web interface after all the pipeline runs have completed. Here, we can see that the longest run took 1 hour, 8 minutes, and 31 seconds. We did 24 builds in that time span for an average of about 3 minutes per build. I have a few observations about my use of Tecton as a CI engine in these examples. As stated by Tecton itself, is the CI CD framework not necessarily a full CI CD solution? As such, I'm not sure I would use just Tecton as a production CI pipeline for Yachter builds. I suspect many of these issues are simply because Tecton isn't really intended for the kind of builds I'm doing, or I'm just not using it correctly. It probably works great for the more cloud-native workflows it's designed to handle, but I've found it's missing a few key features that one might expect. For starters, there is no automatic cleanup of pipeline runs. Instead, they continue to stay around in their final state until they are manually deleted from either the web UI or one of the command line utilities such as kube control. This wouldn't be too much of a problem since the task pods are in a finished state, which means they are no longer consuming CPU or memory, but the mounted workspace volumes continue to be attached to these pods. Keeping these large volumes attached to completed pods consumes a lot of disk space, and in my case means I must delete all previous runs before starting a new set since I have a limited number of local persistent volumes on each node. Related to this, Tecton has no provisions that I'm aware of for persisting the logs from a build after the pipeline run is deleted. I believe this is because Tecton simply uses the Kubernetes pod logging as its logging mechanism and once the pods are deleted, the logs disappear too. Finally, Tecton has trigger support for automatically triggering builds on specific conditions, but I can't really enable that for my GitHub repo since it would quickly consume all my persistent volumes. As such, I have to manually trigger every run, which is not ideal. This leads me to my final thoughts. In the future, I plan to try out a few other Kubernetes-based CI CD systems to see if they have a better experience. I know GitLab can use a Kubernetes cluster as an executor, so I'm curious if that can tie into the other ancillary services. I've also recently been really excited about Zool, which seems like an interesting CI CD concept. Finally, Jenkins X is a cloud native continuous delivery system that actually uses Tecton under the hood and seems promising to provide a lot of the features that Tecton itself is missing. Ideally, when all is said and done, one could write a Kubernetes operator that would make the setup of a Yachto build pipeline in Kubernetes simple. Operators are a powerful Kubernetes concept where a Kubernetes service can be written to manage the installation of other Kubernetes services. For example, one could write a Yachto build operator that would ensure that the requisite CI CD system is correctly installed and configured, and also set up and configure all the ancillary services required to make it run smoothly. This would allow anyone to easily set up a Yachto build pipeline on just about any infrastructure. If you would like to take a look and see what I've done in this presentation, you can access the Git repository shown here. It includes the Ansible setup for my servers and LabGrid cluster, as well as the YAML files for my Kubernetes setup. It's probably not an estate where you could directly use it to set up your own cluster, but it might provide some inspiration to try it yourself. Are there any questions?


Fy oedd eu gwleidio'r meddwl i'r cael ei wneud ar y ddeg yw'r ystafell ar y Lleidgell Lleidgell Y Llywodraeth. Mae'n credu bod yng Nghymru yn ysgrifennu cael ei ddweud, ar gyfer y bosbl, i'r Llywodraeth, ar gyfer y bosbl, i'r Lleidgell, i'r Lleidgell Y Llywodraeth, i'r llwyfynio'n gweithio. We know for a fact that after the manufacturing, after the packaging, after the loading, the delivery comes the moment when each of these products will reach a consumer somewhere in the world and enter into their daily lives. Fel mor hwnnw a'r rhan o'r ddweud, mae'r gennyddiadau bod hwnnw arall. Felly mae'n meddwl i'r gyrthodau. Molaf, mae'r meddwl i'r hoffod, mae'n meddwl i'r gwrs ac mae'n meddwl i'r hyn yn enrichol i'r hoffod. Roedd ymddangos gyda'r hynny yn rhan o'r prif. Rwy'n rhaid bod ni'n gael ddarluniau a gweld eu ddyddwysau sy'n mynd i'r hyndedd, a byddwch yn gweithio yn y ddau'r hanfodol? Nid yw'n fawr yw'n gyffredinol, nid yw'n fawr yw'n gyffredinol, ond mae'n fawr bod hynny'n cymdeithas ar gyfer cyfwysig ac yn fawr am hyn o'r ddod o'r cyfwysig a'r cyfwysig? Felly mae'n ymwysig yw'n cyfwysig yw'n cyffredinol ac mae'n cyrrygu yn ymddangosol o'r cyfrifyddydd a llwgodol i'r llyfr gennym.  Ynchopol ar gyfer grafiau yn ymddiannig i gael o'r gwasanaeth ymlaen, ac yn gweithio'r llei'r llwyth ar gyfer gweithredu cyfaint, yr ymddiannig yn cael ei wneud ymddiannig i gael ond. That the principle is also within the core of the crime directorate at Instapoll that I run. Instapoll knows how to fight crime internationally, but it knows it cannot be done alone. Can only be done in partnerships. We have in our program a comprehensive approach that involves a full range of services o'r Fyflwyll Cysraeidig, o'r Fyflwyll Cymru, o'r Ymlogol Cymru o'r Sfynllwyr Cymru, o'r Ymlogol Cymru, o'r Ymlogol Cymru, o'r Fyflwyll Cymraeid. Ymwneud yw, mae'r Fyflwyll Cymru o'r Fyflwyll Cymru, mae'r Fyflwyll Cymru o myfydlion that are interfacing and interacting against multiple product categories, involving partners, national police agencies, regulatory agencies, and of course national customs authorities. In recent times now, INSA Paul has successfully coordinated some 24 operations across all corners of the world, in the Middle East, in Asia, in Africa, in the South Americas. These efforts have amounted to some 23,000 law enforcement actions, the dismantling of many organized crime groups, the closure of many counterfeit production factories and distribution networks and the seizure of over 50 million illicit and counterfeited items. The value of these seizures are now in excess of 500 million US dollars and it grows after each operation, it grows increasingly. The operational activity has stimulated national police and allowed Interpol to create a larger presence, particularly in Asia, where we have been far more active in the last years and also here in the Middle East region. It is allowed Interpol to remain relevant as an international law enforcement body, evidencing the support we give to our national police partners in the fight against the organized criminals who are involved in harming society by their activity. We have hosted some 33 training events around the world involving thousands of officers from 80 countries representing all Interpol regions and languages. Law enforcement operations cannot take place in a vacuum. To be effective and eventually lead to convictions and confiscation of proceeds of crime, adequate legal frameworks have to be set up and international co-operational channels also have to be used, such as extradition and mutual legal assistance. The participation of experts from Interpol's Office of Legal Affairs in this conference over the next days aims to provide also a fully integrated operational and legal perspective. This will be done through discussion of case studies and illustrations of how international treaties can be used as practical tools to facilitate the surrender of fugitives and exchange of evidence across borders. Our partnership of course includes Kuwait Police and the Ministry of Interior who just last year signed an agreement with the Secretary General demonstrating Kuwait's commitment to international police cooperation with the signing of formal agreements recognizing the Interpol travel document at our headquarters in Leon. This agreement allows for Interpol's swift deployment of officials in response to any calls for assistance. As was the case in June of last year when here in Kuwait officials seized some 20,000 smuggled tramadol tablets which had been hidden inside counterfeit wheels, counterfeit car parts that have been shipped from another Middle Eastern country. As a result of this Kuwait used the Interpol's notices to alert all countries in the world of this smuggling technique. This is very typical of the operations that Interpol has experienced over the many years now working with over 132 countries in the world. We consistently see increasingly elaborate efforts made by criminals to avoid detection while the goods are being smuggled by one route. Labels, materials are smuggled by another route and are later put together. Take for example pharmaceutical products. Most citizens around the world will understand why it's important to fight against the counterfeits of medicines. And here again we rely on partnerships. Partnerships with the private sector, partnerships with law enforcement. I must emphasise that the medical product and counterfeiting of pharmaceutical crime units within Interpol is treated differently from Interpol's intellectual property crime generally. But the consumption of medical products by consumers directly affects health and wellbeing of citizens.  During this conference we will also hear from units dealing with this particular crime area. Ladies and gentlemen, based on my experience over many years dealing with this crime with respect to private and public partnerships the necessity for joint action is greater than ever. We know there are many private sector companies who support expertise and cooperation is needed in the fight against this crime type. And Interpol recognises their value and we appreciate their offers of working in cooperation. We are confident that this conference and the networking opportunities it brings will further cement the existing corporations that we have. In conclusion, Interpol's commitment to combating transnational organised counterfeiting and piracy is accelerating and consistently delivering tangible benefits. The traffic in illicit goods and counterfeits is providing proactive international leadership, innovation and is enjoying success as a result of the partnerships, the very strong partnerships that we have. Nevertheless there is still an urgent need for all of us to respond to this global problem. I ask everybody here to cooperate with Kuwait Police, with Interpol, with all national enforcement bodies to identify how we can work collectively, how we can collectively achieve even greater wins at disrupting the counterfeitsers and the pirates who are dealing in this terrible crime and how we can bring them together to justice. Together we can and should reinforce this message. The message that piracy and counterfeiting are serious crimes and that we will vigorously investigate, prevent and prosecute wherever we find it. Thank you very much.


In this video, we're gonna talk about conjugates of permutations inside of the group SN. So imagine we have two permutations, sigma and tau that belong to SN, and suppose we take some letter A that sits somewhere between one, two, all the way up to N, right? So then, when you take the conjugates, so you take tau conjugated by sigma and sigma inverse, this is gonna be itself a permutation, now we know it belongs to SN, but it's gonna send sigma of A to sigma of tau of A. In particular, if tau is a K cycle, so A1 goes A2, A2 goes A3, all the way up to AK, which will wrap back to A1. In that situation, if you conjugate K cycle tau by sigma, this will produce the K cycle, sigma A1 goes to sigma A2, which goes to sigma A3, all the way up to sigma AK, will wrap around back to sigma A1. So if you conjugate a cycle by a permutation, basically just take all the numbers that were in the cycle and then you just look at our images with respect to the permutation sigma right here. Now, the reason why this is super relevant here is that furthermore, two permutations are conjugate if and only if they have the same cycle structure. So two permutations are conjugate if and only if they're cycle structures at the same, it's pretty cool here and we'll see an example of that just in a second. Now, the first statement is actually fairly immediate. It really is insane much, honestly. So if you take sigma tau, sigma inverse, well, okay, what does that do to the element sigma A? Well, sigma inverse and sigma will cancel out so you get sigma of tau A. So what does the function sigma tau, sigma inverse do to the element sigma A? Well, it sends it over to sigma of tau of A just like it said right above here. So again, that statement's kind of a triviality. It doesn't really say much when you think of it that way, yikes. But it's getting us in the direction we need to go. We're gonna take one step at a time. So let's take this first statement and apply it to a K cycle, right? So K sends, you know, A, sorry, excuse me, tau sends A1 to A2, which sends that to A3, which then goes in this pattern all the way down until we get to AK, which then wraps that back down to A1. That's how this cycle structure works here. So if we take sigma of A1, which the index I, we're gonna think of working at mod K in this situation here. So we know that sigma tau, sigma inverse of sigma of A1, this will map over to sigma of tau of A1. That's just what the first statement says. But what does tau of A1 do? Assuming A is inside of this cycle right here, which it is, it's the AI. Tau is just gonna send AI to AI plus one. Again, when you reduce that index mod K right here. And so then we see what happened when sigma of AI just mapped over to sigma of AI plus one. That's what this product, sigma tau, sigma inverse is doing. So sigma A1 will move to sigma A2, which then moves to sigma of A3, all the way down to sigma of AK, which will then wrap around back to sigma of A1. Okay, so the good takeaway here is that if you conjugate a K cycle, you get back a K cycle. So that didn't change, right? And so that's gonna be the, that's one of the important observations here. So when you conjugate a K cycle, you get back a K cycle. Well, what if you take a general permutation? Every permutation would be factored into a product of disjoint cycles. And so really what I wanna show you here is next is that conjugation is very compatible with this product. What happens if you conjugate a product of two permutations, say row and tau, which we make no assumptions about row and tau, they're not necessarily cycles. They could be, they could be, we don't know. But what you can do is you can insert a strategic identity in here, right? So I guess I'll just call it one, right? So if you take sigma row tau, sigma inverse, you can insert an identity in there. So sigma row the identity, right? One tau, sigma inverse. But what identity we wanna use, we actually wanna use sigma inverse, sigma, tau, sigma inverse here. So that's gonna be nice here because you have this identity we've inserted in here. But if I do the parentheses in a slightly different way, you'll notice you have the conjugate of row and the conjugate of tau just like you see right here. And so if you have a product of permutations, you can actually consider each of their conjugates separately. And so take your permutation in question right here. It's a product of disjoint cycles, okay? So you have like your permutation, we'll call it tau here. So you have like cycle one, which we'll call tau one. You got cycle two, tau two, all the way down to say like tau r, however many cycles you have there. And so then if you want to conjugate that, you're gonna get sigma tau, sigma inverse. This will become sigma tau one, sigma inverse. That's the first one. Then you're gonna get sigma tau two, sigma inverse. That's your second one going all the way down. In which case then you're gonna get sigma tau r, sigma inverse. And so when you take the conjugate of a permutation, you can take the conjugates of each of the individual cycles for which each cycle like we saw before, it's conjugate will still be a cycle of the same length. So then there exists, we see that there's, so that tells us that if you take the conjugate, the cycle structure will be the same. So that's the first direction. We wanna show that the conjugates definitely if they have same cycle structure. So the conjugates will have the same cycle structure. Well, if you have two permutations with the same cycle structure, so you have like another permutation row, exact same cycle structure. You got like row one, row two, all the way down to row r. And you know, these are K one cycles. These are K two cycles. These are up, these are K r cycles, something like that.  And so we can make a bijection going between those. And so you have the numbers in this one, the numbers in this one, you make a bijection. Just going through the list, you're gonna be able to correspond all of these numbers together. So let me show you an example to make this a little bit more explicable we have here. So let's say row is the permutation one, two, three, four, five. So this would be like a permutation living inside of S five. It's a two, three cycle. And then suppose for another example, tau is, oh, we could just make up something, right? We'll just make it to be two, five and one, four, three. Right? So it's another two, three cycle. So what we can do is we can then construct a bijection between the letters in row with the letters in tau. And how is that gonna turn out? It's like, okay, one, two, three, four, five. What does sigma do? So we're gonna get that one goes to two, two goes to five, three goes to one, four goes to four, five goes to three. Just record those down. One goes to two, two goes to five, three goes to one, four goes to four, and three goes to five, like so. For which we might want to write this as using the cycle notation. So one goes to two, two goes to five, five goes to three, which goes back to one, four is fixed. So that's the permutation that connects these two things together, all right? So that's what we're trying to talk about here with this bijection. So that bijection we're gonna call it sigma, okay? Well, then we see that by the construction we have here, by the construction of sigma, we see that sigma rho sigma inverse is gonna equal tau. And that follows from our observations right up here, right? That when you take this thing, it's gonna connect the things together. That's proving what we were trying to argue here. That if you have the same cycle structure, then sigma, this bijection will actually give you the conjugator you need. And then let's just check it for this example here. If I take sigma rho sigma inverse, so sigma is one, two, five, three. I forgot the one there. So rho is gonna be one, two, and three, four, five. And then sigma inverse, I was right backwards, so three, five, two, one. And so you can see what happens here. So if I look at what happens to two, two goes to one, one goes to two, and then two goes to five. So we end up with two goes to five. So then we go through it, five goes to two, two goes to one, and then one goes back to two. So that finishes that cycle off. So the next cycle here, we're gonna get one goes to three, three goes to four, and that's it, one goes to four. Four goes to five, five goes to three. And then sure enough, three goes to five, five goes to three, three goes to one. This in fact then gives us tau. Now we're trying to argue here that this sigma we constructed, this bijection will give you the correspondence based upon the principles we saw earlier. So in SN, the conjugates are exactly those permutations with the same cycle structure.


kittens in a litter usually four to six and then the age that they can no longer have kittens is about 10 years. So using this information, can a cat have 2,000 descendants in what I'd say 18 months? 18 months. So I'm going to give you guys five to seven minutes to just kind of start working on this problem. You can either work on it as a math teacher or you can start to work on it as you think your students would. But take about five to seven minutes to give that a shot and then we will come back together and share strategies then. Questions before I mute myself? Liz you look like you have a question. Yeah I just I had to figure out how to get to my unmute fast enough. Is there when we do this is there anything for how long between pregnancies for a cat? This is the only information given. Okay thank you. Yeah. All right five to seven minutes. I'll start a timer and everything. Hey Marissa. Hi. How's it going? Good how are you? Good. So we are starting with a task. You should be able to see it up on the screen. It's the cat problem. With all of this information can a cat have 2,000 descendants in 18 months? Okay. So we're going to take another like two-ish minutes on it. You could think of it as a math teacher or think of it as one of your kids would think about it. But just take a couple minutes and then we're going to talk about strategies. Okay cool. Awesome. So we off screen share right? Okay good. Okay so finish up your last thoughts on that one. I'm going to type in a google doc while you guys are talking and then I'll share it with everyone after. That way you can all like you can all still see each other and everything. So first off what what did you get as the answer? Do you think it is possible for that cat to have 2,000 descendants? I didn't get an answer yet. Okay that's fine. What were your starting strategies? I agree. I didn't quite get an answer yet either. Okay. I started with somewhat of a timeline table because I thought that's what students would most likely do. And tried to figure out okay every like start with the the first mom will say. Okay. And then how many offspring she would have over the course possibly of 18 months. And then I wouldn't with the first litter. I started going through and saying okay how much could they have over those remaining months. But that takes a lot of time. Tracy you're on mute. So I did the same thing. I made a table but then I made little offshoot tables with each of them. And then kept multiplying because of the litter they can all have about five. I said it was about five in between five and six. And then I made little offshoots for how many that they would have. And I ended up with more than 2,000. Okay. I started trying a tree diagram and it got too complicated. And then I tried to just think through. But I was getting I was confusing myself with the years involved months. So they have to be four months. But then it's a two month gestation period. So it's six months to have a litter. But then the first cat two months later could have another litter and two months later could have another litter if she could have three a year. And then the first litter six months later could have a litter. So I was going with highest counts. So I got you know there was the first mom and then her first litter was six. And then their first litter was 36. And then their first litter would get me to a 216. So 216 plus 36 plus six plus one. And then I didn't get all the branches of mom kept having litters and the first letter had more letters and the second letter had a litter. But I didn't think the third litter could have any letters. Okay. In 18. Any other strategies that you guys used to approach this or strategies also that you think your kids would use if they were given this problem? Drawing pictures. If they were given this as a hard copy piece of paper. Do you think that would be different? Like they would approach it differently than we just did seeing it up on a computer screen? I suppose it depends what was on a paper. This would be an awesome whiteboard problem because they can re-work. Or jumping off of what Tracy said have individual whiteboards and then kind of come together or because then the students if they're working in teams could say okay you take the first mom okay you take the this litter and let's let's break it up. And you could do that with whiteboards or paper of course. You could also have them I think just post it up on a whiteboard or like blackboard, smartboard, whatever and then have them use vertical workspaces in small groups to draw it out.  But I think it's it was key that there was no like um table already made for us. It basically just a blank space. Yeah let's do whatever. But I could also see if they were working by themselves where they could get frustrated and just be like I know I'm just gonna you just want a yes or no answer I'm just gonna pick one and give it to you and not really keep going because I'm confusing myself because I know in my drawings it's hard to see this but I mean I tried cat diagram I tried bar graphs and I was just going in circles after for sure. Okay so I just shared a doc with all of you guys with the strategies that I heard you saying as I was typing. So I want us to kind of look at that together and try to think about how we could kind of group those strategies into like buckets similar to what we did during the during the summer kind of thinking about like what bigger buckets of like we can kind of classify them as. I'm seeing a couple right away but I'm curious what you guys come up with first and I'll type as you guys talk as well. Any ideas for like how we could categorize those strategies? I would say the timeline and tree diagram pictures those kind of get lumped together as a visual representation of the the growth for sure. I agreed I thought the visual representation and then how the work gets broken up so the grouping of students working together or not working together would kind of be a different bucket. Okay so splitting up the problem or splitting up the students? Both. Okay any other ideas? So if I were to give this to my students on paper I would want them to mark up the problem kind of circle the important information annotate a little bit. Anyone else with that one? It's not one that we said and that's kind of what I was trying to I don't know if that was because we were doing it on the computer and so there wasn't so much that we could like physically mark up but I think if we were to have had it in front of us I think a lot of us would have been circling and underlining and annotating. And I think working on the whiteboards we're implying that they're going to be writing and marking drawing. Yeah definitely especially if they're on the whiteboards. Awesome okay so thinking through those if you look back on the handout I think there are some student responses if you scroll down there's Alice there's Wayne there's Ben and that's it so if you look at those three did those three students use any of the strategies that we talked about or did they use strategies completely separate? We have Wayne with a tree diagram I think. Yep that's what it looks like. Oh Tracy good you got to talk. Okay did Alice use one of those strategies? I would say Alice used either a timeline or I guess I think it's got tape diagram or such yeah maybe more so like a timeline. Definitely one of those visual representations though and it seems like Ben tried to although I'm having a hard time following his work on that one but definitely there was a thought process there that he was trying to get across. His visual representation is a little pretty he drew a tree but it's not really like kind of getting to the the underlying math of it quite as much as I think some of the others are and I think that our students would as well. Okay so looking at these strategies I want you guys to take a take a second and look at the tile problem it's page six of the handout document. We're going to take only like three minutes but if you read through that problem how could you use one of our big bucket strategies to approach that problem? Those buckets being pictures splitting up the problem into maybe smaller pieces and labeling problem and like marking up and annotating. So we'll take like three minutes how could you use those and then we'll share out in a second right. My dog is now in my lap she wanted a little bit of attention but I can still type while you guys are sharing so this this tile problem what are some ways that you could use those strategies we'll just share I'm not going to take that but what are some ways that you could share those like use those strategies or encourage your students to use those strategies for this type of problem. While splitting it up into smaller problems like you could go from the 20 by 20 to maybe a 30 by 30 I don't know if that counts but okay go step by step. How would you encourage them to use pictures? Not a trick question might be kind of obvious. Okay Tracy saying pictures and tile paper yeah definitely. I think this is one where you could get all kids drawing pretty easily. Definitely drawing because I think some of them would might just look at it and be like oh well it's 20 by 20 now so 40 by 40 means double it. Yeah realizing with area you have to quadruple it so to make sure to see that you need four of those pictures not two of those pictures. Yeah definitely. I also think that annotation would be beneficial to figure out just all the pieces to the the actual problem would be beneficial for all the words. Yeah I definitely wanted to like write on mine the length of each half and the length of each quarter and things like that. Anything else? Right so we spent about the first half of this doing the problems and actually trying out the strategies on our own the second half of the of the session is thinking about how we could implement this into our own classrooms so both well no I'm not going to give anything away. So thinking about your own classrooms and what we've done for the last half hour what could you do what would you do what are some areas of concern you have with implementation because obviously it's a little bit trickier with kids than with us but what are some ideas that you guys have for implementation. Call it out to everyone. I think for problems like this I like to do what we did this summer and I do random cards to put them in groups and then let them just work. The other thing I did like this summer was everyone's Ronald they only gave us the problem up on the screen you didn't have paper so you had to sit and keep talking to each other to force them to start talking and I think it depends on the type of group of students you have if you need to use that strategy or if you could give them the actual handout for them to be marking up and I think that's just if it's later in the year you know that about your students if it's at the beginning of the year you don't really know that yet. And then just to piggyback on that to give it out loud to to actually read it out loud so that you they all start at the same place instead of the slower readers it takes a little bit why you know a little while for them to figure out what the problem is actually asking and everyone else has moved on to the problem solving strategies so just by reading it out loud then you put them all on the same page at once. I think these type of problems would be great at the beginning of the unit especially to kind of engage them for whatever the unit is going to be covering because these type of problems are engaging it forces them to talk to each other and and I agree with I believe it was Liz who mentioned about not giving them the certain informations or certain visuals because it's really amazing what some of the students can come up with on their own and a lot of times I end up learning new strategies of how to approach a problem from them. Definitely what about encouraging students to come up with these types of strategies like I didn't tell you guys any strategies to try at the beginning I just said here's this problem be ready to share your strategies how could you get students to come up with their own strategies and then how could you collect them as a class to get students to come up with a strategy or to share their strategy both I guess for me for sharing it's here's your piece on the board you have to go put something up and everyone's going to walk around and look at them right so they each have to kind of have ownership and go post some you have to put something on the wall because everybody's going to be able to see it so make sure they have something to come up with and I guess I do tend to guide students to be like when I don't know what to do I draw a picture to get them thinking but I don't know if that's too guiding in a situation like this I think it definitely depends on the kids with that one and I think it also depends on how long they've been working on it you know if they're stuck and they're frustrated they just need that prompt to to start so whatever the but if they're starting on their own you know kind of leave them alone I think if you had them on vertical white boards it'd be easy to just be like look over there what was their strategy or and you wouldn't have to do as much prodding to get them to share other thoughts or ideas on implementation you can always just give them a hint also in terms of you know remember remember some of the strategies that we've gone over before that we've used before in past classes and just sort of put that bug in their ear without giving them any any hints of what the strategies they could use yeah definitely one of the things I probably would add to the question is to have them justify their reasoning especially with the cat problem because some of them would say yes or no right because I guess or you know I estimated or something like that but then to justify it mathematically to be able to communicate it and explain it so like that one kid's problem where it was all kind of a mess um even asking him will somebody be able to follow your reasoning just by looking at your your strategy well I thought that Ben won yeah the tree was a mess but if you really read what it was like he was really thinking about it he said like oh she you know gets pregnant in June she can have the baby in August and then she can have the next litter and like he did try to get some tree diagram out obviously he took that literally but he did have three branches of three litters with six branches on each there was something there I wouldn't have been like he has no idea what he's doing he just needed a little push yeah yeah for sure right so we started to kind of mention them but what are some uh concerns that you have some areas uh like misconceptions that might come up about uh either these kinds of strategies or how to approach problems without being given a strategy like what are some uh concerns or misconceptions or um issues that you see arising with classroom implementation I think some students just kind of give up quickly they don't have that perseverance and something like this you do have to push through and and actually think so I think that that's uh I could see that being an issue in in my class other concerns around implementation they might ask like how do I do this so sometimes I'll have students say that well how do I how do I do this and just giving them the response of what do you think about it what do you think would work they're not they're not so happy with that response no they're definitely not but I give that response a lot I don't know would students I think that timing can be an issue like too much time versus too little time like if you give me too short of a time I get frustrated because like I could have gotten there and now you I was working and you stopped me and then it's the same on the other end like I'm stuck I don't want to do I'm bored and now I'm going to get bored and start doing something different so finding that right balance of time for struggle and time to intervene I think could be a challenge and it's different with every group too yeah it's all the groups are at different places so one of them may be struggling and frustrated and the other one needs more time so it's tricky if you have a whole class so then what are some ways that we could uh oh hi someone else joined hi Alex um so what are some ways that we could try to fix these these concerns what are some things that we could do either proactively or when they arise to help students with this idea of problem solving strategies so students give up I need to think through it we can start there so like what are some ways that that we can either proactively or in the moment help them to not give up I think it's important that students know it's okay to not get an answer right away like they have to understand the idea of struggling with something is legit and it happens but when they're getting frustrated to kind of give them a hint or point them in the right direction so they don't just shut them and that's kind of what Tracy was saying earlier you have to create that culture in your class from the get go what are some ways that you do that anyone what are some ways to create that start like create that culture of like it's okay to struggle it's okay to not give up it's okay to like come up with strategies and problem solve and all of that what are some ideas I verbally tell them I I mean it gives legitimacy to to their struggle but also encouragement to say no but you know push through and so when a student tries to take some more time to actually figure out the problem I praise them for that for that you know push versus getting the right answer you know I'm not so much concerned with the answer I I want to see how you got there is what I usually say and from the start of the year just doing problems where they're not going to get an answer right away so that they see that this is the norm and it's okay I read them that uh butterfly story about the kid the boy who gets the chrysalis and is watching it and the butterfly is struggling to get out just the butterfly is not going to get out and so he takes scissors it cuts open the cocoon and then the butterfly kind of flops down because it needed that struggle to to get out of the cocoon and and I tell them I want them to fly so I'm not going to cut out their cocoon they're going to have to figure out a way to get out that's good I like that oh my gosh can you share that story yeah sure sure I kind of right do the same thing I encourage them at the beginning like it's okay if we don't know something and it's okay if we don't get to the answer as long as we're working on getting moving forward in the problem that it's not the end result that I care about and that's what Aisha was saying too it's not the end result but showing me your problem solving in your process of what you're thinking about to get to wherever you got thank you Tracy thank you um so something that I do I do a lottery tickets for group work and so when they're working in the group if I hear a great strategy or if I hear some great math vocabulary I give tickets for that more so than if a kid raises their hands so like off the right answer I don't necessarily reward that right away so that kind of goes with praising for the struggle um something else that I did recently was I had kids make a instead of this do this uh so we made two different chart papers and kids would raise their hands and give things that they currently do when they are stuck or struggling uh so they said like giving up or going to the bathroom or uh getting up and walking around and so that was kind of cool to see them owning all those things that they do that we know they do when they are giving up but we sometimes wonder if they are aware that's why they're doing it and then we said okay so instead of raising your hand asking to go to the bathroom what could you do instead and they made this whole list of all these great ideas and they made them on their their own I just wrote them down I didn't prompt them in any way and then hanging those up in the room now when they get stuck I could be like okay instead of shutting down pick one of those things instead that you can do um and so that was kind of cool to see them make that list on their own and own those strategies uh themselves as opposed to me just telling them like hey instead of giving up you should try harder uh they kind of had their own ideas. Ariel what were some of the things that they came up with themselves for what they could do differently um they said ask their group members they said uh read the problem again they said like skip it and come back to it um and we made a point to differentiate between just skip it all together that was on the instead of doing this instead of skipping it all together you could skip it and then come back to it when you're ready uh so that was one of the good ones um I could take pictures of those and and show those out with you guys too I still have the posters I just didn't embrace them but yeah there were some there were some good ones on there they did not come up with the three kind of or they came up with annotating and marking up the problem that was a something they came up with they did not come up with like splitting up the problem or splitting up the group to work on parts of the problem uh and they don't really think they talked about pictures I'm a big fan of pictures and tables and they did not jump right to the that conclusion uh their answers to that one any other thoughts on uh implementation concerns or fixes this is more so uh extension but how do you use them uh these type of problems do you use them at the beginning of the unit the end of the unit and then depending on what you say so I don't use them nearly as much as I wish I did uh DC public schools has a really strict curriculum and I'm still trying to figure out how to best fit good problem solving uh into that um at my old school what I would do though is I would try to do them kind of towards the end as a review uh so kind of give the the big challenge problems and then use that as an opportunity to pull smaller groups to work on skills that they're missing uh which had pros and cons because it allowed me to time to pull those kids but then those kids didn't get to work on the challenge you problem so uh definitely not a perfect solution to that one but I'm curious what other people's answers are to your question as well see I tend to do them more at the beginning because I know that at the end I'm going to be catching up so it's like the only time that I can get myself to do them without feeling bad about it I tend to do one in the beginning and then uh and then branch off of that for the unit so it's just I was curious in terms of linking uh these type of problems specifically to the standards of that particular unit but my follow-up question in a sense then for for you doing it at the end of the unit do you find that students make those connections on their own of what they have learned not just in that unit but in general do you see them making those connections not as much as I would like uh there always are those couple of great kids that are like oh we learned this let me flip back in my notes and figure that out uh and then there are a lot of kids that don't necessarily see the direct connection with the content and the skills that we just learned and the challenging problem that goes along with it so ideas on that from you guys would be great as well and how to like kind of merge the two together we've been doing more investigations in class but they're not quite so open and did they definitely lead to what I want them to know by the end for example right now we're doing dilations and so we gave investigations about like well here's the pre-image here's the image what is the scale factor what did you discover about the coordinates for the scale factor and it was very much like hey look multiply by the scale factor on the coordinates as opposed to them really struggling with that on their own I do these kind of problems instead on what we call throwaway days like if there's a fire drill or if it's the last day before break um I I don't ever show movies I tell them I'm not movie teacher and so we do that instead of instead of nothing really so that way I feel like we're doing something they're engaged they're they're thinking um and it's that's what I do to deal with because we have curriculum too that I've got to get through and it's tricky to fit those in but on the throwaway days I feel like I can use those yeah definitely I feel like I'm the question person I sorry I always have questions but uh because I feel for you guys in terms of the curriculum because I'm in the same boat especially this year versus prior years um I don't I feel like I don't have as much autonomy as I used to and um when I made the switch over to our our middle school or junior high and so um how have your one do you share these type of tasks with your colleagues and two how do they take it do are they uh on board or they push back and say no I I'm sticking by the book for me I definitely share with um with my colleagues and we definitely all work together and we're on the same page about what we wish we could do and then it's just kind of like working together to figure out okay how do we actually do that I share just probably goes back a little too far that I always do these types of activities for the opener for like a unit so I've been teaching calculus this year so to find area under curve starting with integration I gave them just a random curve that I drew I don't know the equation of the graph I don't know what the actual area is and I said approximate the area and that's all I said to them now I had some students that have taken calculus before so they kind of knew and I had some that started looking in their books I'm like what are you doing no like just just this is all you get you don't have to look at anything else yeah and by making them do that I thought it helped them appreciate doing Riemann sums and then getting to the actual fundamental theorem of calculus and doing integrations but it helped them understand the limit definitions so much better because they could break it down and visually compare what they did with what they then had to do so I find I like to use those things to help them appreciate the quote-unquote short cuts of math to help them solve problems so that's and they've come to know that that's what I do at the beginning of every single unit so they kind of look forward to it they look forward to being in groups and working instruction okay so with 15 ish minutes left what are some next steps like are you going to go in on Monday and give the cat problem I or like you know how especially with this weird little couple of weeks between now and winter break what are some ways that we can try to implement within the next couple of weeks or maybe when they come back from break is a great time to reset and make sure that they're good with that sort of thing what are some ideas that you guys have for next steps for yourselves and for your kids I actually really like that cat problem I teach them at community college I do have a lot more flexibility in my curriculum and so one of the courses I'm redesigning for the campus which is math for elementary education so I basically am teaching six and seven grade math to them and so we're starting patterns and equations on Monday so I actually think your cat problem might be perfect to get them started with and the tile problem because we just finished geometry so thanks Ariel those are fantastic I'll be using I will definitely be using the cat problem we start exponential functions in our integrated one and our eighth grade math so that's like the perfect opener for that and especially my eighth grade math groups really need to work on persisting through problems so this would be a good conversation starter I get to my exponentials next semester so I'm definitely saving it in my back packet and likewise with me I'd like to give them that problem maybe halfway through the the unit just to see what they do or the end as you suggested but also I wouldn't mind giving them the tile problem in my algebra class or even my math eight class just for them to grapple with it to see how a pattern because that's actually what we're working on right now is how a pattern grows at a constant rate so just to have them visualize and see this as a different pattern with a different growth rate would be beneficial for I like how Marissa said she's putting in your back pocket I find my back pocket gets really overstuffed sometimes with things and I like forget what's back in there but yeah yeah yeah I agree with that too which is why I really like these reconnect sessions because there's definitely so many things that we talked about this summer that I went and then jumped into the curriculum and completely forgot about it and then we started talking about them and like oh yeah I remember learning about that I should totally do that so I definitely appreciate the coming back together and reminding and I'm hoping that next weekend's PCMI and DC helps with that as well any other thoughts questions concerns last ideas from anyone just thank you this has been wonderful great ideas and and thinking thank you for and reflection yeah this was great thank you so much Ariel I love those ideas I'm excited that I have a week's worth of lessons now but that's what I did I had like a whole worksheet of patterns but I like these even better just to get them struggling a little bit and then I dive like I said I give them something bigger dive into it and then I keep going so thank you so much I wish one or all of you had been my math teachers while I was going through school thanks so much for letting me listen then yeah of course thank you guys all for getting up early I appreciate it and I apparently didn't know time zones so sorry I was late okay not a problem and Tracy good job being up super early again so thanks our west coast representative I love it you're both west coasts thanks all right well thanks everybody thank you ladies this was fantastic we have another one in January you know after all our fun festivities of holidays and mid semesters and midterms come back so uh I'll be looking forward to setting up those emails and I hope to see everybody go thank you can you stay on for a minute I want to ask you something about I got a request from someone at a community college the other day I just want to run something by you absolutely and did we also want to take a screenshot of the pictures like we did last time was yeah that's a good idea do you want to do it uh do you know how to does anyone have a PC because I'm on a Mac right now and I always forget what the control something something I think Ian just took a photo the man shift for yeah man shift for thank you all right so uh command are we still doing our thumbs up or do you guys want to come up with a new little logo last time we all did thumbs up you know on our nose not it all right well but whatever you decide to do in three and two and one thank you awesome thanks everybody guys


Well, thank you very much and thank you, General Goodpastor, Secretary Schultz, John Gray, General Signius, Gene Bradley, James Shin, and ladies and gentlemen. Just a week and a half ago, I had the honor to address the British people, the Atlantic community and the world from the ancient and historic podium of Guild Hall in London. In my report in the Moscow Summit, Mrs. Thatcher graciously said that she believed that there is now more hope between East and West than ever before in the lifetime of most of those there. And she spoke of the new confidence and optimism in the West. And she recalled the words of Sir Winston Churchill when he wrote, Where we are able to stand together and work together for righteous causes, we shall always be thankful and the world will always be free. Well, this message of unity and optimism and hope and strength is the message that I bring to you today. You've been talking here today about rebuilding the consensus on East-West relations. And I would admit that at times in recent years, a free world consensus in this area seemed particularly elusive, rather like the story that Franklin Roosevelt liked to tell about the Marine who was ordered home from Guadalcanal. The Marine was very unhappy because he hadn't shot a single enemy soldier. So his sergeant just told him, just go up on that hill over there and shout to the devil with Tojo. What the Marine did is he was told, and sure enough out of the jungle ran a Japanese soldier shouting to the devil with Roosevelt. And of course said the Marine afterward, how could I shoot a fellow Republican? But our consensus is built not only on what we're against, but on what we're for. And we are against totalitarianism. We're for freedom and democracy. For them without hesitation or apology and virtually, I would venture without division. This is the first great truth to keep in mind. There may be divisions within our countries and as to methods, but there are none as to fundamental goals. In the last decade and a half, we and the democracies have in true democratic fashion tested the various propositions about the methods for best approaching east-west affairs. Now that we have an INF treaty, the first agreement ever to eliminate an entire class of US and Soviet nuclear missiles, and with the most stringent verification procedures in arms control history, now that the Soviets have begun withdrawing from Afghanistan, now that we've begun to see internal changes within the Soviet Union, can there be any doubt that we were right about a forward strategy for freedom, right about the importance of candor regarding the differences between our systems, and right to say that the road to peace is not through weakness, division, or preemptive concession, but through unity, confidence, and strength. In just a few days, I will attend another summit, the Economic Summit in Toronto, as the general has told you. And this is an excellent forum before which to talk about our hopes for that summit. I know that the Atlantic Council is examining how to best integrate economics and security. The International Management and Development Institute is meeting to discuss economic challenges facing us. Over the years, the economic summits have been a cornerstone of cooperation among the major democratic economies. They are part of the superstructure of Western strength and east-west affairs. And here again, our democracies have, as democracies do, tested among ourselves various propositions about economic growth and vitality since the first of the summits that I attended in 1981. Everywhere in the democratic world, we are seeing the emergence of a new consensus that growth and opportunity must go hand in hand. Consider taxes. In the past three years, Britain, Canada, Japan, and France, among others, have all let their top tax rates tumble. Why? Well, here's what Nigel Lawson, Britain's Chancellor of the Exchequer, said not long ago. In his words, the reason for the worldwide trend toward lower top rates of tax is clear. Excessive rates of income tax destroy enterprise, encourage avoidance, and drive talent to more hospitable shores overseas. Far from raising additional revenue, over time they actually raise less. And he concluded, by contrast, a reduction in the top rates of income tax can, over time, result in a higher, not lower, yield to the Exchequer. Well, it seems I've heard somebody else say that before, somewhere, but this new consensus doesn't stop with taxation. Every after-country has begun to sell off state-owned industries. Restrictive regulations have begun to fall. Paying for the excesses of government spending with high inflation has all but stopped. And at least in the United States, deficit spending by government is falling. The idea that connects all this is the market. The industrial world, the entire world, is turning away from state control of economies and returning to the marketplace. From India to Argentina, from Africa to China, and even in the Soviet Union, the shackles of state economic domination are beginning to loosen. And you know something's happening when there's talk of lower taxes in the Soviet Union. Now, I don't need to tell you that the United States has led the way, or that the remarkable performance of our economy since our expansion began has been the driving force behind this new consensus. I don't need to recite all we've done, the longest peacetime expansion on record, more than twice as many jobs created as the other six summit countries combined. And they have 50 percent more employment age population than we do. The family income is up sharply after riding a falling roller coaster through the previous decade, a larger percentage of the workforce employed than ever before, exports the highest in our history. I don't need to tell you all this, but you might guess that I'm a little proud of it and I have to watch myself when I talk about it. I don't want people to get the impression that I think of politics the way Will Rogers thought of the movies. He said the only business where you can sit out front and applaud yourself. This new consensus has not only brought the economies of America, Britain, Canada, and so many other countries roaring back, it has also opened the way for a coordination of economic policy among the summit countries that would have been unthinkable just a few years ago. Whether it's through what's known as the G7 or in managing the debt crisis in so many third world countries or responding to the tremors in the world financial markets last October, we work together. Today we use a common set of books to tell how our policies are doing and we're working in common for balance in trade and capital flows and government budgets and for sure footedness in the world's financial markets. Starting with the United States, the summit countries have had nearly six years of uninterrupted growth. I'd like to make it 60 and more, but it can't happen if we try to live as if we're the only economy on earth. The summit nations are working together as never before because our economies are tied together as never before. To give an example of this, someone pointed out to me recently that while the New York Stock Exchange does $8 billion of business on a good day, the foreign exchange markets do over 25 times as much business every day. In this global marketplace, industries around the world rise and fall together. The decline in the worldwide demand for steel was felt in the Rhine Basin of Europe in just the same way it was felt in our Lehigh Valley. Thousands of jobs disappeared in both places and not just a foreign competition. Here in America, high-tech mini-mills melted down the business of many old integrated producers. But there's one difference in the way we in America dealt with the decline. We lost the same kind of jobs other countries lost. But unlike those European nations that lagged behind in cutting taxes, regulations, and government ownership, we created new jobs in place of the old ones. Allentown and Lehigh Valley was once a home of heavy industry.  Many people rode off Allentown too soon. In place of a few big old companies, dozens of new companies started up. Small companies that were already open grew. Entrepreneurs created what David Birch, MIT's authority on job creation, calls a hidden economy. He adds that all across America, the small companies, not the big ones that get so much attention, are building a new economy that is providing jobs and making the country competitive again. And that's why today, Allentown has an unemployment rate of only 5.4 percent.  One Midwesterner recently told the New York Times, as he said, I go through the newspapers from county-seat-sized towns and I'm finding dozens of announcements of new plants and plans for new plants and expansion projects. And new or expanding entrepreneurial companies and bigger, older, but now streamlined manufacturers are leading an export boom that some say has stretched our production capacity to the limit. Not long ago, for example, Business Week reported that America's steel makers had become among the world's most productive. And announced in its headline, Cancel the Funeral, Steel is on the mend. Yes, America is leading the world, both as consumer and producer, into the global marketplace of the next century. For all of us, what's happening in Japan or Germany, Britain, France, Italy, or Canada is as momentous as what's happening in California, Florida, New York, or Illinois. There's a lesson in all this, in the story of Allentown and one of the so-called rust belt as well as in the globalization of trade and finance. And the lesson is that the future belongs to the flexible. It belongs to those who look at the problem and see an opportunity, to those who look at the unknown and see an adventure, to those who look at the untried and see a challenge, to those who have shed the weight of structural rigidities and protective subsidies and face the future with energy and excitement. In no field do we all have more weeding to do than agriculture, where subsidies cost the consumers and taxpayers of Europe, North America, and Japan $200 billion a year. Agriculture is planted on the agenda of the Uruguay round of trade talks, as are the issues of establishing rules for trade in intellectual property, investment, services and the lowering of tariff and non-tariff trade barriers. Those talks were scheduled to go for four years, they are now nearing the halfway point. It's time to narrow down and lay out specific goals, a road map, and a timetable to the finish line. In Toronto, we, the heads of the major industrial states, can push our ministers to have that job completed by the end of the year. No excuses. You know, sometimes when I hear people say we can't do this or that in the trade talks, it reminds me of how Chico Marx, one of the Marx brothers, used to try to walk off the Hollywood sets in the middle of the afternoon, as he explained, but it's after quitting time in New York. Well, it's time that we in the Summit Nations forget about quitting time and join in a great venture to progress, a joint venture that opens the international marketplace and that also strengthens the weak links in the international economy. Let us join together to help restore the economies of two countries. One the Philippines, an heroic democracy ravaged by communist-led insurrection. The other Afghanistan, a victim of brutal aggression. Let's join together to bring the newly industrialized countries into the full and mature place in the world trading system that they have earned. Let's join together in helping the countries of sub-Saharan Africa work out their debt problems. We'll take up their problems as we have those of other debtor nations on a case-by-case basis, working to help develop economic policies that promote growth and opportunity. The United States has already indicated its willingness to consider new ways of rescheduling the debt of the poorest countries, ways that can produce substantial new relief. And let us join together to attack the lifeblood of one trade that should never be part of international trade, the international narcotics trade. At this Summit, we should join in a common offensive against money laundering and the flow of drug profits through the world's financial institutions. Wishing forward the trade negotiations, a joint venture for progress, strengthening the system of policy coordination, this is the agenda of the Toronto Summit. We'll be building on a decade of progress on the new economic consensus in our countries. We'll be looking to continue the building of the global marketplace. I know there are some who want to turn back, who want to return to the more insular and isolationist days of old. I vetoed the trade bill last week because I don't believe we can or should turn back. Critics of our policies complain that on one hand America is, as they say, exporting jobs, which is to say our companies invest overseas, and then on the other hand that America is selling itself to foreigners, which is to say that foreign companies are investing here. Together in what they're really saying is, turn back. The isolationism of their foreign policy walks hand in hand with the isolationism of their economic policy, and both will lead us to disaster. We're in a new age of invention and exploration, a time when the vast capacity of the human imagination is opening new universes for exploration. To see the universe in a grain of sand is no longer a poetic metaphor but the daily reality of the silicon chip. F. Scott Fitzgerald wrote that when the early explorers just looked on this land, they must have held their breath. They had for the last time in history come face to face with something commensurate to man's infinite capacity for wonder, yet it was not for the last time. We too stand in the shores of something as vast of an economic and technological future, immense with promise. If we seize it, if we don't turn away from it, that future will transform the democratic world and I am confident after my visit to Moscow, the countries of the Soviet block as well. I believe that the house of democracy's current consensus for strength and growth will usher in a new age of which we can only dream, but if we have the courage and the resolve, I believe that age will give us a world of peace and freedom, of opportunity and hope for generations to come. And I believe that even more after the summit that we've just been to and when I saw in the faces of the rank and file the people of the Soviet Union. And I can't resist now. I brought back a story that was being told there. I didn't bring it back. One of our Secret Service agents did and told it to me. The story has it. This is what they tell among themselves, that General Secretary Gorbachev and I were in the limousine with the head of our Secret Service unit, Ray, and he had a security man with him.  We got out to look at it and Gorbachev said to Ray, go ahead, jump over. And Ray said, I got a wife and three kids, and Gorbachev turned to his man and said to jump over. And he did. And Ray, with great humanity, went down around the waterfalls, crambling over the rocks to the bottom and found the man wringing out his clothes. And he said, when he told you to jump, why did you jump? The man says, I got a wife and three kids. Thank you all very much. Thank you. Mr. President, no words are needed from me. I think the response of this group has expressed eloquently the appreciation we all feel but I do want to say that from the standpoint of the commitment of the Atlantic Council to try to further the progress of the industrial democracies, your appearance here today and the remarks that we've just heard from you cannot fail but give us continuing and really exciting inspiration. And we thank you very, very much.