Hello everyone, my name is Robert Varga, I'm a BNPM Fellow at BNPM Technologies. I'm here to talk about briefly about the ten years that has been Open Daylight, and essentially where we've come with Linux Foundation and open stores and networks and everything all that in the past ten years, and it's been an interesting ride to say the least. Okay, so the agenda have some introductions, some preludes, because all of this software-defined networking and all they started a long time ago and it just took so long to actually snowball and gather momentum that it's important to understand that Open form didn't start things, it just gathered some critical mass. So we'll go into some of the details of the individual industries where we were, say, 15 years ago. Then I'll jump into the early days, so 2013 to 2015, where we essentially organized all this, had all the attention of the media and all that. Then we transitioned, obviously, to around the mill where we mostly have figured out things. And then, obviously, came in downturn where a lot of SDN companies went out of business. There were a ton of things that occurred and they had a direct impact on Open Daylight and other projects as well. And then we'll get back into where we are, how we stabilize the community, and how we plan to get back into their unit. So Open Daylight was, and this is a direct quote from the initial announcement, it was created as an open source community and a meritocracy, which is to say that contributions matter, it's not platinum levels, it's really about open source values and contributors govern. It was launched, I think, is the first collaborative project under Elephant umbrella. It's not first, it was second or second major. RP just stepped out, he could have corrected me there. And the scope was essentially everything. Everything SDN, everything that has SDN or SDN implications is part of the scope for Open Daylight. We need to work whoever wants to contribute it. We need to figure out how to work with them, ring them, embrace them in open source community, and build it up. Which is quite a thing to say when nobody really knew what SDN really was. In certain ways it's still true to these days because essentially SDN is many things to many people. As for priorities, our core concept was how focus follows interest and interest is measured in terms of contributors, so competing projects are okay. It is okay to abandon projects if they don't have contributors and there's no one to tell anybody to work on something and you have to work on this. There's no armchair architecture or anything. There is a DSC which takes care of the ground-the-mill operations of the entire project, which became, see the platform members because essentially we needed to start up the community from scratch, from different competing code bases, from different competing use cases and all that. And that was the only way we could make it work.  So nobody could tell you how can you build it, when and what your deliverables are, what's your time now. So in this regard, it was a very much desegregated project. Contributors had to commit to, yeah, you're going to do this. And it wasn't like somebody can tell them you have to do that in half a year and you have to deliver this documentation hard on this project, deliver this container or whatever. So that was really the idea of open-source and how communities should work. So built from grassroots. There is some oversight, but it's completely open and the accountability is there. So software defined networking. It's really that point when OpenFlow kind of took over the term and said, well, we have to desegregate the control plane because, yeah, that's what really the switch is, the cost of switches is really the control plane. So let's quit off the forwarding hardware with the final protocol where a centralized point can decide who's doing what and completely control the data. Well, yes, that works for campus data center later too, if you buy OpenFlow spaces. But yeah, we have other networks, right? We have service providers who have MPLS cores, who have access layer, who have edge and services layers, and all these things run in multiple data centers. There's high availability, there's compliance issues, there's 50-minutes-seconds spot restoration, which is a must because if you can't restore it that quickly, that your voice services are not working. And yeah, so it really became rapidly obvious that nobody really has the answer of what SDN is, how do you do SDN? But there actually were many, many, many different partial solutions, pieces of the puzzle and individual use cases where you took the SDN approach, you programmed your network to do something and it fulfilled your need. One example I have here from 2004 actually, I used to work at the telco and I was in business support system something and we had three engineers who were responsible for configuring our internal network. One of them figured out that there is this cool thing, which is KD Console with SSH integration and he spent two months just building up upstreams and in 2004 his configuration of switches was, yeah, SDN, I will just run this script, it's going to log on there, it's going to do a transformation of the configuration and yeah, it's done in one minute. It was 30,000 lines of configuration so it took some time but still it worked. And that's one way of doing things. So yeah, then the other part is obviously how do you do this? Is it MNMS where engineering an end-to-end path and committing all the resources takes three months and a SP level project and then you forget about it and why it was turned out or is it really a real-time optimization problem where you essentially are delivering services and something is computing things and getting you to, well, essentially solutions. So it was very, very fluent and we didn't really know what design are we taking into account. So, preludes. So this had a prelude very, very long time ago. Back in 2001, I don't remember, there was a call between service providers and ITF and the service providers came in and said, well, you define everything that is Internet and for management we have SNMP. You cannot use SNMP to configure things. You cannot use it to really pull things because it doesn't scale. It's binary, nobody understands it. It's stateless, please fix this. So it took six years for ITF to come up with the first proposal, which was NetConf, which provided a direct path from SNMP. It was XML-based, human readable, based on SSH or TLS or whatever and essentially fixed all the perceived flows. It was one track. The other track in Stanford, OpenFlow was defined to essentially solve a completely different problem that actually a campus can have and they perceived it as a problem that it's solving. And then in 2010, actually, ITF defined a competing solution to the OpenFlow problem, again, based on XML, and that's forces, which stands for forwarding and control element separation protocol. I think it was a long time ago. And then, obviously, Yang was defined as the data definition language because as we just discussed, when you have just YAML to have your configuration data, it doesn't tell you anything. So Yang again solves the data definition problem where you have clear definition of what the configuration means, what is the intent of that. And then all that came together and then in 2012, two major things really happened, which was OpenFlow 1.3, which finally meant that OpenFlow could be used in production because 1.0, if you try to do anything with it, you'd really quickly find out that, yeah, you can't really do anything. And then VMware acquired NYSERA for a billion dollars. And that meant everybody's screaming and everybody wanted to be the next startup who gets acquired and SDN has to be the thing that we get acquired on for another cool billion dollars. Actually, at the end of 2012, IBM started pushing for saying that, well, an OpenFlow controller and really an SDN controller should be something that is off the shelf. Just like for an IDE, you have Eclipse and you can, well, design your code there. You should have a standard platform for SDN controllers. And that's where essentially Open Daylight got started. So, yeah. So, in the... I got engaged with Open Daylight in, I think it was something like first week of January of 2013 when it was clear that this is happening. There are actually two competing code bases which will be used as the seed code. One was coming from Cisco, one was coming from Big Switch and there were all these things trying to figure out how do we start with this? How are we going to code drop it? How the infrastructure will work, who is going to take care of that and all that. And then on March the 22nd, the initial code drop of the Cisco code got dropped into a Linux Foundation Private Repository and, yeah, two weeks later there was the first announcement of the Open Daylight as a community with Target to do everything as DN. So, from there it was quite an interesting ride because everything happened essentially on the go because we needed to figure out our governance, needed to get to know all our peers, figure out what is it that we are going to deliver in the first release? How are we going to structure documentation, testing, all that goes into setup which you don't really find unless you're on a particular project from the get-go because usually you come in as a later contributor and these things are most of the time figured out and work well enough. So, based on that there was a first mini-summit in New Orleans in September 2013 where essentially the basics of the first release were defined. And the idea was that we really have three targets which is a base addition which is just open-flow and it's really just not even a learning switch. It's just something to get you started and that's the baseline controller. Plus, obviously since the initial contribution actually included a NetConf server, a complete management, configuration management layer and something else I always forget. Oh, DMD is obviously. So, those were packaged inside the base addition and then we had service provider addition which was all this plus BGP and PSAP and things that you really need when you want to integrate with an NSP network. So, BGP LS to ingest the state of the core and all those forwarding things and all that plus PSAP to actually control your layer 3 MPLS tunnels and get those computations going. And then there was virtualization which was really about integrating with network slicing and OpenStack primarily. So, there were I think three computing applications which did network slicing and scheduling flows on top of an OpenFlow network. So, based on that, on second try actually we got the first hydrogen release in February 2014 and there was a huge flux. The first release was like it took 12 hours of an IRC session to get everything released because 15 minutes before the actual release process started, Garrett mismatched one of our late coming bug fixes. So, it actually created a regression which the these things we didn't find. And we found it only after we tried to integrate the release so it took something like two hours to figure out and fix. And then obviously everybody on IRC for those I think it was like 15 projects for each of those projects because everybody is responsible for their own releases to do their release thing which was highly manual, very error prone. So, it was a nightmare. But we got it done and we said, okay, we need so much things to change. Things need to be automated. We have to change the packaging, figure out how to have distributed documentation because we actually had none and all those things. So, it was really a year of a lot of changes which at the end of the day defined our scope for next I think three years until we executed each and every one of those changes as we also built up our use cases and I'll show you more about it in the next slides. There was another thing that obviously Redhead came in and started taking over the network virtualization use cases and the entire stack which was very important because they gave it a structure to define the CSIT and drove essentially the entire use case stack and solved a lot of the issues that really were integration issues and the low level plugins didn't really care about. Then there was an ITF shootout where ITF suddenly realized that yes, there is SDN and yes, it is happening and yeah, we have a couple of protocols which are contenders and what do we do about them. And there was a huge shootout between essentially forces which was the control plane separation thing and NetConf which was really driving management only but it was shown by major contributors that essentially NetConf could be used also as a control plane protocol and it's just less efficient and we can always fix that but the core basics are there and the entire shootout ended up with NetConf Yang winning and the big reason behind that was it was human readable and there was an open source implementation you could download any day and it was called Open Daylight. It had only one implementation which was proprietary you couldn't get even a shareware or tryout version of it anywhere. And that's where essentially all the standardization in ITF converged and said well, okay, if we are going to define management plane and control plane operations we will use Yang to do that and use NetConf to drive it into network and that push essentially continues to this day there's a huge uptake of new models. So sometime after that in October we had our second release which was essentially the first non-alpha release which we kind of said okay, everything works as far as we can tell and we are reasonably feature complete and then the deployment feedback came in and said well it can't really work as soon as you try to scale it up or try to do anything real with it. So we came back and said okay, so we need to adjust we need to spend actually a full release cycle where we do not care about features but we care about testing, documentation and making sure those features are as solid as can be. By this time we kind of figured out and this overlaps into 2015 that we really want to be doing something like two releases each year and have that first release somewhere in spring and then have the second release somewhere in autumn. As things go if you're stabilizing things it's going to take longer than you think. So in June finally we originally shoot it for March I think or April it took actually two months longer to actually integrate all the changes and sign off on all the new tests that we've created so we could actually ship it and didn't feel bad about it that we knew about bugs and shipped anyway. We also figured out our governance and how it's going to work all the representation stuff and prepare the transition from having appointing members of the TSC and essentially having companies dictate to how our elections will work will be eligible to run and vote and how those votes will work for what term and how all this will work and we kind of said okay so it's going to take us this is what we want it to look like there are certain parameters that we can so there's a framework and there are parameters that we plug into it like number of TSC seats how many are representatives of projects how many are committers at large and similar things the other part was that our day to day operations finally started to work so we had all the verification there wasn't like we have 15 projects building and anybody can break anybody just by merging something in wrong order most of that verification we got down it was very costly it took us two years to build those pipelines but we were finally there and we started to get real deployment feedback and some use cases actually started to work so that was very very happy time to actually see all this come together and essentially we started to get used to development testing forums which were huge events with many breakout sessions hackathons and well those design sessions were always broken up because it took like two, three four hours to figure out just to get together and figure out what the next steps are but it was critical in getting the use cases and those distributed communities to actually deliver the value so by 2016 we were essentially run of the mill so we knew our release cadence we knew our priorities we had most of the projects in and we essentially I think it was in October 2016 when we held our elections out of which we had ATSC which did not have any appointed members so it was fully community driven but there were things that were not quite okay because individual member companies started to get acquired suddenly some people stopped communicating, participating and we didn't know what was going on and while all this build up was still happening and there were new use cases coming on board there were some use cases which suddenly had contributors who were not communicating and there were cutbacks even on things that were committed previously that suddenly didn't work so suddenly we had this weird sense that okay so not everything is going as planned or not everything is rosy and yeah we forgot to mention that in 2015 we switched to as our OSGI container because before then we had something completely homegrown which happened to work but nobody could tell anybody why it's built the way it is it just worked and you shouldn't really touch it and upgrade components and anything it just worked okay so then we came and before came out and we needed to migrate and we suddenly realized we have a huge amount of technical debt that needs to be taken care of and yeah so if you take a look at what it was this was boron I think it was that was released in September 2016 and there's a lot of plugins and so the dark things are just new things that appeared in that release in the middle that's the essentially the core application components that were part of the platform then there was the actually still is the service abstraction layer which essentially bound all those individual plugins together and all those small rectangles down those are protocol plugins so we had something like 15 of those so overall a big picture so a lot of things coming in then in 2017 a ton of things changed first of all on up got announced in February and suddenly there was a cool new kid in town which was doing orchestration and if anybody can tell me what's the difference between well if you have a controller and an orchestrator who's doing what where's the clear delineation of who's doing what nobody could tell me then nobody can tell me now because yeah they overlap in different deployments they will have different functions but yeah orchestrator sits on top of a controller because mostly the controller should be a single side thing which reacts to immediate needs whereas the orchestrator is concerned with the more reconfiguration things and kind of planning ahead multiple days across data centers and all that well that separation didn't exist in 2013 that's something that came about with finding OWNAP and obviously we saw a fallout from there because a lot of member companies which were contributing to Open Daylight suddenly switched to yeah Dionab architecture has different modeling it's more aligned with what we are doing and suddenly a large chunk of our contributors moved not somewhere else within LFN but to a different project so we kind of felt that pain but it was still all good because yeah we are aligned and it's still the same house we also got a new executive director so Neil Ajak stepped down and Phil Robb started to fill that role as an interim for the essentially a year because by now LFN project started to crop up left and right things like open governance became a thing and the member company started to push back I remember one conversation which went like well why should I be paying $1 million for to sit on the TSC for four projects if I'm also contributing I would much rather spend three of those $4 million to pay for developers and get stuff done instead of well paying for something so that actually led to a recharter at the end of 2017 where all those individual projects got merged into LFN and all that lawyer magic happened but and also obviously Cisco pulled out announced that it no longer will ship Cisco Daylight or whatever they called it CD something I don't remember and we actually had to call some projects from our simultaneous release because the contributors were not there they needed to update the code base and given the distributed nature we couldn't do that for them so yeah and then the 2018 crunch continued because at the beginning of 2018 Red Hat came in and said well yeah we will be going away but luckily not like Cisco pulled out quite quickly well actually Cisco took something like three months to scale down and exit or something like that Red Hat came in and said well we will be disengaging after we do the TOIs and training and what not but we are exiting so we as a community picked up some of the slack but most notably the network visualization bits were not handed over and lost their structured leader well structured and the tribal knowledge of how things work how CSID works for example what migrations are ongoing and what needs to be done so kind of through a range there and yeah after that we actually had the first mass archival of projects when we archived something like 15 projects because we said well nobody is actually contributing them they are not well documented and there don't seem to be any users of them so we can't maintain them so we either push back our releases and try to make it work outside of our usual framework or we just drop them so we chose to drop them and it turns out it took something like four years for some users to appear and ask about those projects at which point all we could say yeah we can bring it back if you are willing to pay for that or contribute the resources but it's going to be a lot of work because a lot of things changed but we kind of said well it's what it is if you don't have users and contributors you cannot be delivering something and spending resources on that in that year also Inosive went out of business quite quickly which was interesting because they were sponsoring quite a bit of our infrastructure work especially around Datastore and documentation about AAA and whatnot so that was quite hurtful but yeah both of those cases Lumina which essentially was the leftover from Rocket picked up most of the slack and we kind of charged on and said well okay we recognize suddenly that we have a lot of technical debt which was not addressed and things seemed to work but we cannot really really evolve the system unless we make drastic cuts our releases went just fine so at the end of the day the end deliverables we delivered on time and on quality the problem was that in the following lists some things stopped working so there were users who asked questions and suddenly nobody answered or answered three months later so that became quite problematic and the trend continued so now we are in our third year and in 2019 we actually start slipping our internal deadlines for simultaneous release so I thank the testing deadline for NEON was meant to complete in December and actually completed in February so there was trouble brewing there but fortunately at that time we finished flashing out the technical debt from our kernel projects and we kind of stabilized the overall thing of what the features are going to be unfortunately new features now were mostly improvements to existing use cases here and there not something you can really market about because it's not cool new feature it's just an improvement and things start to work better and more reliably this also meant that the pressure on our end user applications like Netvert and Nemo and all those started to mount because essentially they were the only ones that needed to fix their migrations their technical debt and they actually didn't have all the developers so we didn't realize that then but we kind of knew that we know the set of problems that need to be solved and we can kind of hedge it and not complete all those migrations and we'll wait for a year for those things to get fixed and then we'll move on and with that we essentially shipped sodium in September and said well okay we've got something like a year so contributor wise it seems that going into 2020 we knew the basic feature set it was not it was essentially Netvert plus some of the SP use cases plus TransportPC which is really about SP and Netconfianc as the core core feature and we realized that in 2020 most of the features we delivered were centered around Netconfianc there was something like two or three improvements to BGPSAP there were zero major improvements to Netvert for example or OpenFlow because it was what it was it worked and there were few contributors so it was mostly like little tweaks maybe a bug fixer too to just keep the ball rolling and it seemed that this is going to work quite well up until August I think 25th or there about when suddenly Luminov and out of business essentially over weekend or something like that which essentially removed something like four major contributors from our community and created again pressure on who is going to maintain this and again this was testing this was the cluster Datastore and the Netconf Ptl at the time so it was problematic we still were not quite on time with internal milestones for example again the testing milestone for aluminum was three months late because we delivered it in August instead of sometime in May or there about but again releases were on time because so it was late it was sufficiently good to pass all the gate criteria and we could release and then just as we started to plan our 2021 releases which we now knew that we well using elements to code your releases and rely on people to know the periodic table and know what the order is is not going to be nice so we decided that the next release is going to be 2021.03 and then 09 and then we'll just use the dates just as we started opening that release cycle Ericsson came back and said well we are pulling all the resources we will still use this in our in our product but we will not be contributing to open source anymore and that essentially killed a project right there and then because there were the last contributors to that and it kind of started unraveling the entire stack of four projects that contributed to that use case so but fortunately that was the end of it and we kind of arrived in a safe place where we had been called sufficiently to a very small and manageable set of use cases with sufficient number of contributors to deliver them and maintain them going forward and actually evolve them so essentially what we boiled down to is NetConf Yang so the RESTConf to NetConf translation plus all the tooling that goes into all dealing with well Yang model data transport PC which is maintained by service providers most notably Orange but there are others I always forget who they are sorry then BGP and PSAP obviously but that's mostly in maintenance because well it works there has been something like this over the past two years and we kind of fix them if we can if not we try to fix them later then we have OpenFlow and OBSDP there is actually one member company who is kind of interested and still have a deployment so they kind of maintain it but again nothing major going on just maintenance and the same thing is full mapping which is a complete solution from a plugin and an application and JSON RPC which is a JSON RPC integration those are again just maintenance they just work they have all the use cases well defined and there is no technical there that we know of with that we kind of say that okay these are the use cases we provide we are not a product we never were although an open daylight distribution was something a number of companies tried to sell and as we have seen altered around it so we are not a product we are set of services libraries maybe use cases or components of use cases and we are open source we maintain that if it happens to solve a problem for you that's great please use components if it doesn't please try to look somewhere else hopefully somebody else is going to fulfill that need if you feel like you can contribute and bring back some of those use cases that's very welcome but we are not going to do that because we don't have the resources to commit to that and there's things like an FEO there's other ways of achieving SDN in underlying languages which are not Java architected differently which may be point solutions we are not trying to take over the world and be the be one and be all and all for everything SDN anymore we have a set of technologies if they fit your use case fine if they don't well somebody else is going to be there and that was a very striking realization which took many years to come to with that we were able to stabilize our committer and contributor base we were able to get our releases under control again not quite because we also started flushing more of the technical depth to essentially at this point we delivered something like 10x optimization to the end compiler and all that thing and it was incompatible and it took two years to integrate and all that but we don't have an outflow we have a known set of use cases and we have stuff to actually support them and we have the ecosystem to actually make sure that those contributors do not suddenly go away because there's some amount of business that is actually backing those contributions and we actually came out and understood what we need to do to get more contributors or hopefully make some incentives that will bring them back which revolve around more Kubernetes integration and essentially going back to re-architecting the way we package and deliver our components and use cases to the end users last year we actually saw some uptick in contributors we had some newcomers and we kind of shuffled the contributions to actually have the core and big things and small things taken care by novices and reviewed and there was a pipeline that starts to work finally and we almost made our releases on time there were big improvements as I said in scalability that we were pushing out actually since 2015 some of them and we realized that there's still more technical depth to get around but if we can make that work we can improve our deployment scalability 10x and integrate with Kubernetes and have autoscale and all that that wasn't common in 2013 when you deployed on a big King server and you ran your deployment there for 5 years now in Kubernetes it works kind of differently and we need to kind of change our plugins slightly to make that work now coming back to this years we actually got a new cometer this year that's something that didn't happen in 2 years and previously there was just one so in the past 4 years we had 2 new cometers luckily there's one this year there's probably going to be a couple more I think it's going to be something like 2 or 3 if my crystal ball is okay the contributors contributions actually individual contributions now are structured and there's a flow of them it's not one contributor or one random contribution in 3 months it's like every week and there's a steady stream of patches and they kind of build up to something that is reasonable we also flushed out essentially all the technical depth we had there's one more probably painful revision which is going to just remove all the compatibility layers but we are okay to kind of hold on to that for a couple of years if we have to it doesn't affect anything really it's just like a sick code that needs to be flushed out we shipped Argon in March I think on time I think we were 2 weeks late and it was just because our infrastructure was broken for 3 weeks and we didn't realize and we didn't realize actually what the problem was once we fixed it we actually got it working and obviously for potassium we want to make that scalability pieces work and the idea is by the end of the year we want to ship actually demo an end-to-end integration of NET-confressed-conf control use case with all the scale hitting tens of thousands of southbound devices which is something that is obviously interesting for O-RAN and all those edge-driven cases so yeah that's it and it took way longer than I expected so any questions I yeah so the document so first of all our site OpenDaylight.org needs to be completely revamped unfortunately we have few marketing resources that can actually do that I didn't mention it we wanted to do that last year unfortunately the guy I had marked for that actually moved on and he did a prototype and I still have the prototype on GitHub but I know nothing about it I'm looking for the person who's going to pick it up documentation buys the use case documentation is mostly accurate still because essentially when we removed a project we also removed all of its documentation there are bits and pieces which are stale if they're stale we'll fix them it's just that people who so the internal deployment team and everybody who has been using this for years now knows everything by heart and has their collection of what they want to do already there so really people who read the documentation are mostly newcomers and it's problematic to get them engaged with mailing lists because everybody wants to be on stack overflow and we don't have the resources to man stack overflow again so it's problematic but it should be mostly accurate if it's not we're going to obviously fix it you're welcome so you've talked about the challenge of having a few contributors and just the answer to this question have you thought about how hard is it to onboard do you spend any time how do you make it ever easier to be a first time contributor to your project yeah that's a tough one because essentially as we scale down the community it's still 12 Git repos that have are connected somehow and there's ancient documentation which is somewhere in the meantime we migrated the VK once or twice we migrated the dogs from ASCII dog to RST once so there's bits and pieces that get left behind and the most critical thing that we lost is the tribal knowledge so that makes it very very hard to to essentially onboard people because if a question comes in essentially there's a pool of I don't know say 10-15 people who cover the entire stack and they usually don't work on that particular area so they have to go back check and yeah it's kind of hard to create those incentives too to make that work that having been said our grant plan is to redo the use case integration so that it's just turnkey Kubernetes plus an operator or what not and the end user engagement becomes easy and as it turns out to do that we need to clean up the technical layout the source code layout so that it makes much more sense so we have just completed that for NetConf which is the last participating project just last week and out of that we have some read me RSTs for now but it's going to be MDs which are going to point out what so rather than the southbound plugin being called SolNetConfConnector which doesn't tell you anything because the northbound is MDsolNetConfConnector and now which one is which one is now called a southbound and the other one is called the northbound and they don't have weird cross dependencies anymore and now we can actually reason about it and throw it into well because MDsol actually is microservices but they run in the same JVM plus ARCA clustering and all that which you don't want and we just need to create the API services which turns out are there it's just they're modeled to reintegrate this on Kubernetes or anything that is really microservices and once we do that it's going to be much easier to contribute especially fixes because most of the time you just need a bug fix somewhere and it's Java so it's secretary so you know where to look if the names are right thanks


Think about what it means for British Columbia to be standing here on this new four-lane expressway that's going to eventually go all the way out to Washington. To the west of us lies 53% of the world's gross domestic product, the most dynamic economies on the globe. This new 40 kilometer four-lane route will directly link port facilities, rail yards and industrial areas from highways 1, 91 and 99 and from the new golden years bridge connector. On December 1st the new Portman bridge will open but so will the South Fraser Permanent Road and it will take truck traffic, freight traffic off of local roads and have them moving much more efficiently to the Patela Bridge and eventually out to Tawasson to Delta Port. For commuters it'll mean that a trip from Langley all the way to Tawasson will be cut to about 25 minutes. The connections made by the South Fraser Permanent Road, the Portman Bridge and infrastructure across this province that we're truly going to prove the words of the job plan that Canada starts here because that's what this piece of infrastructure means. Canada really starts here.


So, in a previous video I showed off my nice new brother WP1 word processor. Let's do some more work on it. So I have it spread out on my desk here and dismantled. This time we do actually have a working machine and working video which you should be able to see here. Now you notice that the video quality is kind of terrible. I was hoping to get an actual video capture using my nice new OSSC. Unfortunately this thing won't lock on to the video signal produced by the board. Don't know why I'm still working on that. So what I've done instead is to mount the monitor part of the case over here and have a phone pointing at it and then use lots of video processing to try and make it readable. It's more or less working, more or less anyway. I'm not actually going to talk about the word processor half at all because I'm not really interested in that. What I am going to show off is this. I have a port of CPM to this machine.  This is running as a program under the brother OS. That way I get access to the ROM routines for working the floppy disk drive which is otherwise a pig to drive yourself because there is no floppy drive controller on this. The floppy drive is hooked up to a simple gate array, this Moiro chip here. So in order to step the motor, I have to work the phase lines for the stepper motor myself. I have to do all the bit decoding myself and so on. So it's much easier just to call the built-in ROM routines and they work fine. The only issue is that we don't get to use the whole 64K of RAM, these two chips here. So if I fire up BBC basic, you can see the head moving here. There we go. I can calculate the amount of available memory. Let's try that again properly. So as always when I'm working one of these things, I can't actually see the screen I'm typing on very well. But Hymem is the upper bound of BBC basics workspace. Top is the top of the program itself. So this will give us the amount of free space in kilobytes, which is about 15K. That's all right. It's not brilliant for a CPM machine, but it's about what you got in the original BBC microbe. This is RT Russell's excellent port of Acorn's BBC basic. So and yeah, I can do, you know, programming things and just using the traditional program. And of course, because this is BBC basic, we get structured programming so that we don't need to use a go to and it works. So you notice there's a lot of snow and also not a very good frame rate. The snow is because the video RAM chip, which is this one, isn't dual ported. When the video chip, which is this one, is reading from the video RAM in order to display something on the screen, then if we try to write the video RAM at the same time, then it disrupts the video chip and you get that snow that you can see. It's completely harmless. The original IBM CGA video card did this. There's an easy work around because the video chips got a bit in one of its status registers that we can test for to tell us whether the video memory is in use. So all you have to do is wait until that's not set and then do the right. But I couldn't be bothered. So I'm just going to live with snow for the time being. So yeah, that works fine. If you go back to CPM, here it is reloading CPM of disk. The rubber band that I'm using as a belt isn't really very good. And occasionally the drive motor will slip on the belt, which is a little disturbing, but seems to be harmless. So we have a few other programs, including camel 80, which is a fourth interpreter. This is a stack-based language. So if we do this, that will push one and two onto the stack, add them to produce three and then the dot will display the result. There you go. It's always nice to have that confirmed. We can define our own programs. And you notice there is the exclamation mark that you can't type using the word processor software. So I think that's right. That is not right. I keep getting the colon and semicolon the wrong way around. The keyboard map on this thing is a standard UK ISO layout, which does not match what's on the keycaps. And on top of that, I've just used BBC Basic, which means that my fingers try to use the old-fashioned BBC Micro keyboard layout. And I keep typing the wrong thing. Anyway, there we go. We have to find a word in the system, which we can run. Works fine. So let's go back to CPM. And there's a bug which I need to fix. You've got to type that in lowercase. Here it is reloading CPM. There you go. Now, unfortunately, this port isn't really useful for anything. I would demonstrate like assembling a program. Unfortunately, the system call that I found to write to the floppy disk doesn't seem to work the way I expect it to. I mean, it works, but it tends to corrupt the disk. And I don't know why. I've reverse engineered the ROM to find these. And I have actually found the piece of code that formats disks and writes the file system to it. So I can see it using this system call to write the directory table in the FAT. And as far as I can tell, I'm doing it all right, but it just doesn't work. It's also incredibly slow and very clunky. And I think that without more information, it's just not really very helpful. So I'm going to stick with this as a read-only device for now. This should be fine given what I actually want to use this machine for, which I will get onto. My original plan for this thing was to use it as a terminal for a Raspberry Pi. I have a few spare. There's plenty of space inside the case. I could connect the Raspberry Pi up to the UART, belonging to the processor here, and use it as a terminal, giving me access to a much better grade of machine, but still using the excellent keyboard and the quirky little monitor. I originally thought this because I'd spotted that the UART, which is these pins here on the ECPU, was wired directly up to this port here. And I soldered some pins on, which you can see there, and did some experimentation. Sadly, this turns out not to be viable. The problem is that the keyboard, which is connected here, while it is connected up to a different peripheral on the CPU, one of the keyboard lines is connected to the UART's RX port. I can send bytes from the CPU to the outside world via the UART, but I can't receive them because the keyboard has got the line kept high, which is really annoying. I don't know what the keyboard is using that line for. There's no reason for it. I mean, if it was wired up to the TX line, then I would expect that it was a way for the computer to signal the keyboard to turn an LED on and off or something like that. But it's not. It's the RX line. Why is the keyboard trying to send serial bytes to the CPU when it's connected up to the synchronous serial interface, which works much better? I don't know. So that's out. So I'm going to have to go with something rather more hardcore, which is more fun anyway. And that brings me to this port. This is an expansion port. When I got the thing, it was unpopulated. You can see the footprint here for a connector. This lines up with a slot in the outer case. My belief is that Brother was intending to sell add-on hardware that would just plug in the side of the case and provide access to probably other kinds of printers, that sort of thing, maybe a modem. Unfortunately, I don't think they ever finished it. I say this because while this is wired up directly to the CPU's address and data lines, it is not wired up to the CPU's control lines for the bus. These are used by the CPU to tell the rest of the computer that it's doing a read and write from either memory, these two chips, or one of the IO devices, which is this chip or this chip or this chip or probably one of these or this chip. Now, there are control lines on the connector. They are wired up to these two chips here. These are gate arrays. They contain arbitrary logic that gets programmed into them before the chip gets soldered onto the board. I have no idea what that logic is. The only thing I can see is the program in the ROM. And of course, the ROMs are not talking to the expansion port. So one of two things could have happened. Option A is that the gate arrays are intended to contain logic to do stuff like address decoding, and then they control the control lines on the expansion port to let the control hardware know that the CPU is trying to access the expansion hardware. Option B is that the expansion hardware is supposed to tell the PALs that it's present, and the PALs then enable various bits of logic, such as routing the IO lines to the expansion connector. I feel that whatever it is, I can't figure out how it works because I don't know what the logic is in the PALs that make this happen. And it's possible that the PALs were never actually programmed with this in the first place. The fact that this port is unpopulated makes me think that they just gave up on this feature. None of the other Broads of the Word processors have this, as far as I know. So if they didn't program this into the PALs, I'm out of luck. So instead, I'm going to do something else. You notice that I have soldered some pins on here. These two are just power, plus and minus. These three are the three control lines. They are connected up to the CPU control lines here. I traced the signals. So using these three and this expansion connector, I should, I hope, have access to the entire CPU bus, or at least the bit I'm interested in, which is the IO side. This processor has got two buses, one for memory and one for IO devices. There are two lines, which is IO-enabled and memory-enabled, for distinguishing accesses between them. So I think I should have access to all the appropriate hardware. So I just need something to plug into it. And that brings me to this. Focus, focus. Yeah, focus, good. This is a very cheap PSock 5 development board. I think it costs me the equivalent of $5. I'm talking about this half. I'll get on to this bit later. The PSock 5 is a embedded ARM processor with a small FPGA glued on the side. It's the same chip that I use for my flux engine floppy disk interface project. This is actually a slightly more primitive and cheaper version of the one for the flux engine. It's got loads of IO ports. That's all of these. It's got a mini FPGA allowing you to wire up arbitrary logic to any of the IO ports.  And the processor itself is a 80 megahertz ARM with, I think this has 32K of memory. This one is connected via this break-off piece here to a simple USB serial bridge. The idea is that you plug this bit into a computer. This then shows up as a COM port. And it allows you to program and or communicate with this via this thing's UART, which, let me get that the right way up, are these four lines here. So you've got TX, RX, ground, and VDD. In fact, I am not going to program this thing with this because this is not a true JTAG programmer. It's just a USB UART interface. And so in order to program this with this, you need to install a bootloader onto this that programs itself, which is really annoying. Some facts I'm using this, which is another PSock chip. But this one is programmed as a JTAG programmer. So I plug this into the computer I used to program it. And then I can update the logic on this basically on the fly. And the garnish on this thing and the reason why I'm using this is because this whole thing runs at 5 volts, which is pretty rare today when the world has moved to 3.3 volts and is compatible with the computer. So I should just be able to plug this directly into the various connectors on the brother word processor. And I can program in my UART logic into the FPGA, although I'm actually going to use the built-in UART for that because it works kind of better. And it's not a very big FPGA. And not need any more hardware. And if you have watched any of my videos before, you will know that I'm not really a hardware person. I'm much more comfortable with software. But first, we need to plug this into this. And that is where this wonderful cable comes in. This is a thing I made up. It plugs onto the expansion connector here. And it breaks out various useful things we have around. This is the 8-bit data bus. This is the bottom 8 bits of the address bus, which is the only bit I'm interested in. And this provides power and also three fly leads that are going to plug into the control lines. It also provides this thing, which is wired up to the reset switch, which is going to be really handy because I expect to be crashing the computer a great deal. So this plugs in here. Let me try and plug that in the right place. There you go. Plugs on like that. These three wires plug on to these three pins here. These are at an angle because, eventually, I wish to put this thing back into its case. And there's not a lot of headroom here, like so. Then this thing is awful. We plug these three connectors into the PSOC board. The power one goes here. We're going to power the PSOC board from the brother, like so. We then, this one is data. And we look for the little arrow that tells me which end is 0. We're going to plug this into here. This is, well, all the pins on the PSOC board are arbitrarily remappable. But just to keep myself sane, I'm using port 2 for this. This is the address lines. This is going to be on port 0. Where is that arrow? There it is, which is here. And this, the programmer, plugs into a USB cable coming from my desktop PC, which, as you can see, is powered. And that should, hopefully, be all the hardware modifications I need. You can see the lights have lit up on the board. Apart from, of course, plugging this into the computer I want this thing to talk to eventually. And hopefully, that's it. Everything else is a software issue. So let me just power the brother back on. And hopefully, it'll work. It's not working. Right. I bet I know why it's not working, which is these control lines are probably interfering with the computer's ability to actually run. I will need to try and let the, this thing is probably driving these. So let me try this now. There we go. And it now boots up CPM perfectly all right. OK, so I won't be able to wire these up until I've done some work on this if I want the computer to run. However, the first chunk of work, just turn that off again. I don't actually need this. So I might as well put these back on again. And I do need to try and remember which pins they go on to. So this is the first, second, and third. And let me just grab the meter. Let's do some continuity testing. OK, so gray and blue are the read and write lines. And red in the middle, well, purple, is the IO enable line. So I just need to try and remember that because the next chunk of work isn't going to be happening on the workbench because I need to go and pull up the Cyprus development kit, which runs under Windows. That is the big downside of these things. So see you on the desktop.


So welcome to my talk. I'm Bruce Sutherland and my talk is how to get your message out when your government turns off the internet. This was inspired by the events in the Middle East earlier this year and seemed to be continuing where basically in Egypt the government decided they're not going to completely turn off the internet but they're going to block the DNS servers which for all intents and purposes disabled it for the people that wanted to use it. So a little bit about myself. I've been in information systems field for 20 plus years and designed and implemented network since ARCNET was standard and I wanted to see a show of hands because I can't really see anything up here. Anyway it was a long time ago early 80s and I've been writing code professionally for 15 plus years everything from visual basic to C to Python, Perl, PHP, you name it. Been a licensed ham operator for 8 plus years and really enjoy that. And I prefer UNIX type operating systems over Microsoft anything for obvious reasons. So a little bit about ham radio. It's old tech basically and typically to get the distance out of ham radio you need two pretty skilled operators on either end with good setups. High power, good receivers, good transmitters, good antennas and the people on either end usually need to know what they're doing or else bad things can happen. So this is an example of a station you would need to transmit long distances or communicate with over long distances. You need a pretty sensitive transceiver that this one pictured here costs about $6,000. And it's got all kinds of digital signal processing capabilities to eliminate noise and static and things like that. Typically you need good atmospheric conditions to get distance out of this kind of system but with enough power and the right antennas you can also do it. It also works. But again you kind of need to know what you're doing. The amplifier pictured here which costs about $4,000 will give you a maximum output of 1,500 watts which is kind of what you need to talk from say somewhere like pretty much halfway around the world like the Middle East to say the middle of the United States. I've heard plenty of conversations and the guys usually say what they're using and this is what they're using. This amplifier requires a 220 volt outlet and a high-ampage breaker in your panel to be able to get that limit. Also another thing that's very important is the antenna in any radio system. This one pictured is a little complicated. That's not really what's required but something of that magnitude is what you're going to need. And that could cost upwards of $10,000. So like I said before you kind of need to know what you're doing with this because you could, if you don't know what you're doing and do something wrong you could disrupt communications of other services, commercial services, things like that and or electrocute yourself, cook your eyeballs which is actually in the ham radio license manual and or annoy your neighbors at the very least. So the equipment we're going to use to do this operation consists of a small handheld radio with an output of about 5 watts of power. It doesn't sound like a lot but that's really all we need to do what we're going to do. And a small handheld antenna. Here's a picture of me demonstrating the proper use of the equipment. So a little bit about obtaining a ham radio license. It's really easy for the technicians license which is the first one that you have to get. Basically anybody with half a brain can do it. I think most kids in school should be taught to do it. I mean they're learning the same things anyway and they may as well go ahead and take this. It's like I said it's very easy to do. For the things we're going to do in this talk, a technicians license is all you need. It allows you to legally transmit on the frequencies we're going to need to use. And the test is basically a 35 question test out of a pool of 400 questions. But the questions and the answers to the questions are freely available.  If you go on to Amazon or somewhere like that and just type in ham radio license exam or study guide you'll see the appropriate books. And that's the recommended method. To actually learn the material, study from it, things like that. You can memorize the test by going to websites where you can basically, they'll ask you questions over and over and over until you get them right. So you're basically memorizing the test. And they'll present all 400 in that pool to you. So once you get ready to take that you can go to the www.AWRL.org website and that'll give you times and locations for the test. And I recommend that before you go to take this test contact the location first because sometimes it'll be listed but they won't be doing it at that time for some reason. So that's a good idea. Now once you take your test and pass it the paperwork has to be submitted to the FCC because they have to assign you a call sign. And once that is submitted it takes about two weeks from what I remember. And then what they're going to do is they're going to post it up on their website, up on their database there. And once it's in there you can start transmitting. You're good to go. You will get a paper certificate or a license that you need to post in your station and stuff like that but you don't have to wait for that to come in to start using it. So the technology that we're going to use for this is going to be in the VHF band which is 144 megahertz between 144 and 148 megahertz. And we're going to use a system called Automatic Packet Reporting System or APRS. And what it is basically is a digital system that is transported over AX.25 protocol which is amateur radio version of X.25 protocol runs at about 1200 BOD and is good for the short messages we're going to be sending. APRS only has I think three or four different types of packets that can be sent. One of which is a beacon and one of which is a message. The message is what we're concerned about because that's what we're going to be transmitting our message in. The antenna that I showed in the previous slide is not really necessary but it's a good idea to have that. You'll get more range out of it. You'll be able, you'll have more time to send your message if you use that kind of antenna but it's not 100% required. You could use the whip that comes with the radio itself. And let's see what we're going to do here. And then the other thing we're going to use is an amateur radio satellite to do this job. Reason being because basically when satellites are orbiting, depending on what their altitude is, they have a really large footprint. And the one we're going to primarily be using is the International Space Station which is a 2500 mile footprint. So if you're talking about somewhere in the Middle East, there's plenty of countries in range from the hotspot to somewhere that's not in a hotspot. So a little bit about APRS is developed in the late 80s by Bob Brininga. He works at the Naval Academy in Annapolis, Maryland. He's first developed on an Apple II computer and later on an IBM PC when it came out. And it's designed, this protocol is designed to share your GPS position and ID which is your call sign, among a large number of local stations. And what that's good for is if you're running an event like say a race, like a marathon or something like that, you would have stations like water stations, medical stations, various organizers, all being stations on this network. And with the appropriate equipment you could put all these or plot all these on a map and as they move around you would see them move around on the map. So it's good for tracking assets and things like that for an event. So the other thing that's necessary is what's called a digipeter which is basically a repeater station that reads in all the or listens for all the traffic and then repeats it back out. These are usually located up on a tower somewhere or on a mountain. In our case it's going to be a satellite. And that's good for larger events like for instance like a car race where everything is all spread out and you have a lot more stations and things like a lot more assets to track to see where everything is. Another thing we're going to use is called an eye gate. And what that is is it's a link between the radio part of this network and the internet. APRS doesn't use TCPIP like I said it uses AX.25 and the eye gate does the translation between the two basically. And there happens to be one on the International Space Station which is good for us. So other necessary infrastructure, Twitter, if you remember back in Egypt everybody was trying to send messages out to Twitter and Facebook. And that seemed to be the main outlet for information coming out of that region to the point where the US government asked Twitter to not do service, not perform service on their systems so that this information could keep flowing. So basically what we're going to do is we're going to be sending a message from a ham radio to Twitter directly. And of course that requires an eye gate like I just explained in another country, obviously a country where you're not being affected or not, your internet's not being shut down. And I'll show you some graphics about over the Middle East where within that 2,500 mile radius or distance, there are a lot of countries. If you look at Tripoli in Libya or any of the cities in Egypt right across the Mediterranean are a lot of other countries that, you know, are democratic countries basically and typically this is not going to happen. And there are a lot of eye gates over there as well. And so when I was preparing this talk I went looking for APRs to Twitter gateways and I found two but neither of them worked. They had websites and everything explaining what to do but they just, I couldn't get them to work at all so basically I wrote my own. And you can read about that at hamradiotweets.com. Also the Twitter account is hamradiotweets at hamradiotweets. So here's a graphic showing that the system, a basic layout of the system where you have the handheld radio transmitting your message up to the satellite. The satellite then turns around and repeats it back to earth in that 2,500 mile area and is usually picked up by an eye gate or digipeter combination and once the eye gate gets it, it goes on the internet where my gateway listens out for that message and sends it to Twitter, to that account on Twitter. There was one other service out there that you had to enter your Twitter information and you could post to your own account but again that didn't work and I'm not sure why and there was no explanation. I just couldn't get it to work at all. So the setup to send to Twitter on your radio, on your handheld radio, you set the frequency to 145.825 megahertz. That is the specific frequency that the space station uses for their APRS digipeter. In the radio there is a field called digipath and it's basically like routing information for this protocol. You can have multiple stations in that digipath but to use the space station you have to use ARIS as the first one and so you should enter that in there. To compose your message basically you send the message to TWITR which is the name that my gateway is looking out for on the internet. If you wanted to send a message to a specific other station you would enter their call sign in that field and then of course your message. The next thing you do is basically you have to wait and I'll go into more detail about this in a minute but you have to wait until you and an IGATE are in the satellite's footprint. Once you send your message and the IGATE picks it up you're good to go. One bad thing is you don't really get any acknowledgement that your message went through or got through but I'll tell you a technique in a second of how to do that. So a good way to do that is when the satellite is coming over, when the satellite comes up over the horizon basically send out what's called a beacon and that's a certain type of packet that I mentioned before that's part of APRS and that basically just broadcasts your call sign and your position information, your GPS position information. Now that could be good or bad because obviously if that's being monitored by the government that's shutting down the internet you don't want them to find you. You don't have to use GPS coordinates for that you can put your own coordinates in and you can have that be on the other side of the globe if you want and they'll just never know. There are other ways to be detected but that's one way to avoid that and so basically you send out beacons until you hear the satellite reply or send that, send your same beacon back to you. That's when you know everything's set up, the satellite's in the right position, it can hear you, you're ready to go and once you hear that your beacon come back you send your message out and that's a good way, I find that works pretty much 100% of the time to get your message sent. So as far as the ham radio satellites you can use like I mentioned the International Space Station is the best one because it's a stable platform in that it's manned usually all the time. They have a lot of power, endless supply of power up there and if anything goes wrong and something needs to be rebooted, they can do that. There's somebody up there to do that. So there are other ones that I'll mention, they're a little bit unusable. This juncture but PCSAT is an older satellite that was created by the Navy, the Navy School in Annapolis and that's kind of on its last legs, the batteries are shot, it only works in daylight, it doesn't have a lot of power to transmit with and so you have to have things really set up correctly, have your antenna pointed directly at that thing to get it to work. I've tried it maybe 30 times and only got it to work twice so it's really not usable but I figured I'd mention it because basically that's one of the only other satellites up there that does this job. There was another one launched by the Chinese called Hope One but they can't seem to get it working and that's unfortunate because it's got a lot of different radio equipment on it that does different things that are kind of neat including this function of being a digipeter and like I said they can't seem to get it working so basically you can track it and you can listen for it, all it does is it transmits its call sign in Morse code so if you hear that you found it but that's about all you can do with it. There was another one called Aresat that was supposed to be launched early this year but for some reason it got, kept getting put on the back burner and it was supposed to be launched in March, got struck off the schedule. Basically what they have to do is go on a spacewalk, hold it outside and then release it into space. That was set to go in July I think, July or early August like August, no I think it was July, late July and I was watching this live, the spacewalk live when this was going on and they were all ready to release it, the Russian cosmonaut was standing outside the space station holding on to the space station with one hand and with the satellite in his other hand, waiting for the word to go to release it and I noticed something on the screen, there's two antennas sticking out of this thing because it uses two different bands, the VHF and the UHF band, there was no UHF antenna on it which is bad, bad. You release something like that and it basically becomes space junk, you can't use it. So anyway, they realized that the last minute thankfully, pulled it back in and it got released I think two days ago so it's orbiting now and it's supposedly working, I haven't tried to contact it since I've been here but you can also go to AMSAT, AMSAT.org, they have a really nice matrix of all the satellites that do different functions, radio functions, amateur radio functions and they tell you which ones are up or down or intermittent so you can get a good idea of what's up there and what to use or what to try to use and they usually have, the individual satellites usually have their own website that explains what frequency they're on, how to use them, how to set your digipath, things like that. So satellite pass prediction, this is kind of important because to be effective you kind of need to have, the satellite has to be in the right place, you need to be ready for it and things like that. A really good site for this is N2YO.com, it's basically they provide prediction tables and also a real time representation of where the given satellite that you're looking for is and they plot it on a Google map and then they show you the tracks for I think two orbits so that's really helpful. They also give you like I said prediction tables that you can actually have it notify you via SMS or email when this thing's about to come over the horizon now. That's of course not going to help you when the government turns off your internet but to practice and to get used to this, that's a great tool to use. I use it all the time. Another one is called Satscape, it's a Java based locally installed piece of software and in my opinion it talks a good game but it doesn't work real well. I missed many, many satellite passes using that piece of software so I don't really recommend it but it's good to try something else out and see how it works. Another thing you can do is go to the AMSAT website and there are prediction, past prediction tools on there that you can basically choose your satellite, choose the dates and it'll give you a printout of 50, the next 50 passes which would be good to take with you into this region that you're going, that you want to send this message from. So also N2YO will give you up to five days of passes so basically right before you leave, print this out and you should be good. Here's an example of a prediction table from N2YO. If you look in the columns you'll see at the very top start, max altitude and end. The start, well it starts with the date and time and that's obviously I mean you need to know when the date and time is but the start they give you an azimuth which is basically a heading, a compass heading and that's the compass heading that it's going to come over the horizon on. If you look under the max altitude section under elevation that's the elevation that it's going to be at its highest point so basically the first listing there is a three degree elevation that's not a good pass. It's very rare you're going to be able to use that unless you're on top of a really tall building or a mountain or near the ocean if it's coming over the horizon there. A better pass would be that second row which is a 55 degree pass. And so basically you kind of need to have an accurate watch or a clock and a compass if you want to be really dead on with this thing. If not you can kind of estimate and do it by ear because you'll be able to hear those packets coming in over the radio. Once you hear it and the more you do this the more you get used to it. So you'll know what a good sounding packet sounds like. So once you start hearing that and it starts coming in pretty clearly which is not hard with the space station because of the power I mentioned earlier.  So here's another graphic from N2YO. This is, let me go back to the other graphic real quick. If you look at the check boxes there under, see where it says map. There's a bunch of check boxes. Basically this graphic is if you check all those boxes and map them this is what you get. And you'll see that circle, the footprint of the satellite. I have it centered over Las Vegas right now so you can kind of see what kind of range you'll get. The flat part up at the top of the circle is because of the curvature of the earth in case you're wondering. But you'll see the range. I mean you can get up into Canada with this. In fact I'm from Florida, Central Florida and I routinely get packets coming in from Canada, Mexico, Cuba even from Florida. So some use cases. We'll start with Libya, go to Egypt and then the USA, Syria and the USA. USA was kind of a, that's an example of a USA use case. So the problem with that is in Mexico there are not a lot of eye gates. I think there's two that I found. And you'll see a graphic later on with another website where you can actually track and locate stations using APRS. And that's actually pretty neat to see. Especially as in Greece, there's a lot of islands around Greece and so a lot of ferries going around. All those ferries and watercraft of a certain size are required to use APRS for tracking. So it's kind of neat to see that. But anyway, to go on with the United States use case, Mexico like I found two eye gates there. Your best bet is probably like Vancouver area up in British Columbia there. And that's assuming that the entire United States is off the internet, which I don't know what will have to happen for that to take place, but you never know. So here's Libya. The center there is over Tripoli and you can see how many countries, if you look up north, you can see how many countries are covered either partially or entirely by this footprint. And countries like Spain, France, Turkey, Greece, they all have tons and tons of eye gates. So you have plenty of opportunity to use this kind of system from this area. Libya typically doesn't have a lot of population. Most of it's on the coast, I think two or three major cities. The rest of it's desert. So there's really nothing there. And really there's nothing down into Africa either. So your best case is the northern Western European countries. So just off the coast of Libya is the island of Malta. And there's actually an eye gate on Malta, one eye gate. But north of that is Italy. And there are a ton of eye gates there. Another thing you'll see too, you'll notice, if you look on the piece of Italy that's protruding from the top there, you'll see a couple of blue circles with WX and those are weather stations. A lot of weather stations are also on the APRS network, which is another neat feature. You could, using this website where this graphic is coming from, it's on the bottom there, aprs.fi. This is the website that you use to track all the stations worldwide. Anywhere there APRS and APRS stations that get routed onto the internet, you'll see it on this website in real time. So as far as the weather stations go, you can click on those blue circles and get real time weather anywhere in the world. Another neat thing is too, when the earthquakes were happening in Japan, the Japanese have a lot of earthquake sensors off the coast for obvious reasons. Those are all APRS enabled. So you can monitor those to see, you know, what kind of seismic activity is happening around Japan. And of course, the Japanese are, you know, are very tech savvy. And so you're going to have to zoom way into Japan. Otherwise, the number of APRS stations, it just blocks out the entire country. It's crazy. So here's a use case for Egypt. And again, right across, you'll see up north, Italy and Turkey or Greece and Turkey are widely covered. And so there's plenty of opportunity to use it from there as well. That black square is the island of Cyprus, which I'll show you in a minute, which I think there are a couple of eye gates on that on that island. So here's that graphic. There are also, there are other, you'll see other icons on there. It looks like little green stars. Those are other APRS stations that do different things. And using this website, you can basically hover the mouse over any of them and it'll tell you what they are, whether they're mobile or static or what their deal is. And if you click on them, you'll get their information just in the same format that you're seeing now. So again, this is, this is an Egyptian use case. This is Greece you're looking at. And Greece has a lot of different APRS stations, both sea based and land based that do all kinds of different things. So the system's not foolproof. There are a lot of things that can go wrong with it in that there's a lot of components in between that need to be operating for the system to work. A lot of the old school Ham guys kind of complain about these new fangled technologies because in their mind, you know, all you need is your station and then somebody else's station you can communicate. If you have the right equipment, of course. And they're partially right in that I was able to use, one of my first radios was a 100 watt maximum system. And using a homemade wire antenna, I was able to talk to someone in the Falkland Islands from Florida. But of course, atmospheric conditions come into that a lot. They have to be perfect. And, you know, to be able to get that kind of range. So it's not really reliable. But with this VHS system, if everything's in place, it'll work. Now, this slide basically says you can be detected what you're looking at is a is an American profit signal intelligence platform built into a mine hardened vehicle. Not all governments have this, but you know, the US supplies a lot of military hardware to other governments. So you never know what you're coming up against. So that's one thing. Like I mentioned before, you transmit your position, but you don't have to use your actual GPS coordinates, you can put whatever put in whatever you want. And the best thing to do is if you think you're going to be detected, after you transmit, move, just just be mobile.  And it's easy to transport. And that antenna I showed you as well that that beam antenna that Yagi antenna, that also breaks down into a roll up bag, basically, so it's very, very portable. So the next thing is you can be jammed. What you're looking at is a is an A10 aircraft with an electronic countermeasures pod. Basically, what that thing is designed for is, if the Air Force wanted to go into an area and do operations there and shut down the entire cellular network, which runs in the 902 2.9 megahertz to 2.4 gigahertz range, I'm pretty sure, depending on what system you're using. They can send this aircraft up, circle around the area with that ECM pod turned on, and you won't be able to use your cell phone for as long as they don't want you to. And it's not only cell phones, it can be any kind of radio any kind of wireless, like if they don't want you to use it, you won't use it because of this device. And again, the US isn't the only country that has this. This is just the most convenient picture I could find. Internet links go down. Hopefully in the countries with the eye gates, there are so many of them that one internet link going down is not going to affect you. And in places like Spain, France, Italy, Greece, and so on, there are many, many, many eye gates. So this typically won't affect you, but it is a possibility. So you can miss the satellite. Your your past prediction tables could be wrong. You could print out your past prediction tables and they could move the satellite, they could re, you know, re orbit the space station if they needed to.  Typically, the other satellites like Aerosat, Hope, the Hope one sat if it was working. Those can't really be reorbited. They don't I don't think they have thrusters on them. And so those will be pretty standard, pretty steady orbits. Oh, one thing I forgot to mention about the ECM pod. One good thing about that system, about using a satellite to do this job is the satellite orbits pretty much every 90 minutes. So unless they want to send a plane up every 90 minutes to jam you. I mean, there are other ways to do that. They can hoist that ECM pod from a balloon, keep it up there for a long time. But it's not forever. That satellite is going to be orbiting forever, basically. Another thing to consider is the on the satellites, it's possible to have those digipeters turned off, they can be turned off from the ground. And in fact, the space station, usually when they're not using that equipment, they they leave it in digipeter mode. But sometimes they make appointments with schools for educational reasons. And they use the same antenna that that the digipeter uses. So they turn it off at that point. Hopefully it'll be a Twitter type situation where if they know people are trying to use it to get information out, they won't turn it off. And then of course, Twitter invented the fail whale. Twitter can go down in case you didn't know that. The gateway that I wrote is pretty much I wrote it six days ago, in about two hours. So it's pretty quick and dirty implementation. I intend to improve it some. But using the Twitter API, that could also go down as well. And the gateway will just never get the message through to Twitter. And that's pretty much it. Here's some resources that I recommend. APRS for the information on APRS. AMSAT for the satellite information. And to IO for the tracking. Yezu, that's that radio that I use is a Yezu handheld radio. I like those very much. Arrow antennas, that's that handheld Yaggy that breaks down. Those are great. And my email. So if there are any questions. Okay, the question was how vulnerable is this system to interception and about the use of encryption? Well, first of all, not that this would come into effect. But per FCC guidelines, you're not supposed to encrypt any amateur radio traffic. The only thing that's allowed to be encrypted is when you're sending commands to an amateur radio satellite. Those can be encrypted legally. So your message can be detected and the message can be seen. But after it gets out, it's out. So I mean, I guess you could encode it somehow. But typically these radios don't have that feature. There are other setups that you can use that are not so portable where you have a receiver transmitter radio and then a computer attached to it that either uses the sound card as a modem. You could theoretically encrypt that. Although you won't find that option in any software because it's really not allowed. So you'd have to kind of write your own. I saw another question over here somewhere. I'm sorry, I didn't. Well, that's what I was saying before. There's really no acknowledgement that comes back to your radio from Twitter. Well, there is some, I could build that into the gateway where the gateway acknowledges, you know, messages that were actually posted on Twitter. There is a way to do that. I can have the gateway send a message back. But typically when you're using a satellite, you only have a 20 minute maximum window from when it comes over the horizon to when it drops back below the horizon. And that's on a, that's on a really good pass, like a 90 degree pass where it's right over, directly over, which is not very often. So anyone else? I'm sure that's classified. No, you'd have to be within its range. Oh, no, that won't affect you. Yeah. And because you're transmitting into space, there's a lot of space in there and a lot of range in there, you know. And I'm not sure what the range of these ECM pods are, but I'm sure they can crank them up or down as they need. Theoretically, if the country is small enough, sure. You mean to be able to jam? That's true. That's, yeah, that could happen as well.  I'm sure the citizens wouldn't like that either. So anyone else? Sure. I'm not sure the first term you use, but Pico Satellites meeting really small. Yeah. In fact, that aeroset I mentioned is not big. It's about the size of a bread box. It's not big at all. There's not a whole lot of equipment in it. It's mostly batteries. And then every surface is solar panels. So yeah, that's, it's very, I mean, I've seen satellites as small as, you know, like this that do one or two functions and doesn't cost a lot to launch that. I mean, for the size it does. But, you know, what's the international space station? So I'm sure the US government couldn't dictate what to do and what not to do. I mean, it's funny because when they're American astronauts on board, they change the call sign to ARIS, A-R-I-S-S. And when there's Russians, it's R-S-I-S-S. So that's a good question. I don't know. I don't know who controls that. I know the space command, either space command, you know, Russian or American or whoever. And there are other countries that send astronauts up there. I'm sure if they all got together and made a decision, they could shut it off. So, uh-huh. Political discourse meaning to organize like an uprising, for instance? Is that what you're asking? The question was, are there any ramifications for using amateur radio to, to promote political discourse? Correct? There's something like that in the rules. Basically the only rule is they say you can't conduct business over amateur radio. Um, and I'm sure, what's that? Broadcasting of, of what? Because radio by default is broadcasting. Oh, no, that's correct. Um, you can't play stuff like music and, and things like that in news. Typically no, you can't, it's not supposed to be used as a radio station. It's supposed to be used as a communications tool. Um, and, and this use of the satellite is a communications tool really. So, what about, um, well, the amount of, the question is how much information, what's the maximum information that can be passed over this kind of link? Um, it's not a lot. It's not a lot to use degenography. Like images, that would be hard. Well, I mean, there is part of, there is a, a mode in amateur radio called slow scan TV, which is used for sending pictures. And some of these newer microsatellites that go up have that capability. Um, so theoretically you could, you could do that. But, um, it's not, it's not really designed for that kind of use. So, slow scan TV typically is used on, um, if you're, if you're transmitting terrestrial, where you have two stations and a computer, you know, on both ends obviously, one to send, one to receive. You could do something like that, sure. And I don't know that anybody would know that you're doing that. So, theoretically you could do that. APRS typically runs at 1200 BOD. Um, I've seen it at 9600, but that's kind of pushing it. So it's, it's really used for short text messages. So that's, that's the best. Um, the question was, does it use any kind of compression algorithm? No typically. And maybe it could be construed as, as encryption. Um, if you, if you compress it with a secret key of some kind, then yeah. But typically that's not done because the messages are so short and they need to be in, in clear text. So, meaning can you have a digipeter on a drone? Theoretically, yeah. Um, I don't know who would do that because since government's kind of the only people that have drones. But yeah, you could do something like that. Or I've seen also digipeters on balloons. High altitude balloons. So sure, you could use that. Now, the problem with that is tracking. It's hard to track a balloon. Unless it's transmitting its own beacon with its own GPS position, then you kind of know where it is. But it's, it's harder to track something like that than a satellite. Sure, you could do that. The question was what about the use of, use of satellite internet providers? And the answer is yes, you could do that. But you could also be jammed as well with that same ECM situation. Um, you know, for a limited time obviously, because those, those satellites are actually stationary. They sit above the equator typically and cover, you know, half the globe. They're, they're also higher altitude. So their footprint is a lot bigger. Anyone else? All right. Thanks very much.


For more videos on People's Struggles, please subscribe to our YouTube channel. Justice-loving people of the world should get united. The left force of the world should get united. Communist of the world should get united. Hi and welcome to People's Dispatch. We're here with Madhav Kumar Nepal, a former Prime Minister of Nepal and a senior leader of the Communist Party of Nepal. How are you doing? Yes, very good. So one of the achievements of this historic unification process was that the Nepal Communist Party was able to win two-thirds majority in the parliament and now there's a communist majority government. So I was wondering if you could talk about some of the successes of this government over the past year that's been in power and some of the challenges ahead and the road ahead for this government. So one of the visible achievements has been the success in the central as well as the provincial election. And another thing is that comparing the local units election because at the time we were not united so we could not achieve that much of the seat in the local bodies as we could have. If we have been invited, we have been united at the time I hope we may win 70% of the total seat in the local bodies as well. So it gives a clear visible example that this is the benefit of the unity and this is the weakness. This is what we can achieve through unity could not be achieved without unity. And now the second thing is that the government now the government is led by the Communist Party of Nepal. Yes, one chairman, Kamala Vali is the prime minister and we have the government having almost two-thirds of the majority. Another party has been included in the government and it makes two-thirds majority. And now the government has also completed one year of term. It has given one slogan Happy Nepali Pros Pros Nepal so it has very good dream but the first year of the government has been to frame the laws, by-laws and many infrastructures has to be built and created. So it has been said it has been said that the first year is the year of base basic year you can say the year where we have led the foundation legal foundation, structural foundation and some basic orientation towards the future that what we have to go, where we have to go it means how to uplift Nepal from the underdeveloped status to the developing countries status then to the middle income countries status so that sort of plan is there and there is the plan how to eradicate poverty there is the plan to eradicate illiteracy and so we have many such huge plans before us another thing that we have been thinking is Nepal is sandwiched between India and China so why not to play such a role whereby Nepal can be a bridge between India and China these two nations, big nations with huge population and competing among themselves about economic achievement and because of their role in the world economy we have been watching that the world economy is going to shift towards the east and Asia is going to lead the world in terms of economic development and prosperity so here in Asia there is Indonesia in Japan, Malaysia, Singapore, Vietnam, Korea many such countries who are in themselves developing fast so Asia in Asia-Nepal has to take advantage of its own position to be a good attraction for the tourist to visit and place for the investment here that's why Nepal is giving attention to the development of modernization of agriculture Nepal can commercialize its own agriculture and many of the products of Nepal can be exported to other countries number two, Nepal is rich in water resources so we can produce many, it means 100,000 up to 1,000 megawatt of electricity so after Brazil, Nepal is second in terms of water resources so we have to harness our water for electricity for irrigation, for drinking purposes and for other essential things so globally right now there's far-right movements emerging in many different countries sometimes taking office across Europe a lot of extremist groups are emerging that don't have power yet in office but could someday take it and of course we imagine that those forces exist to some extent in Nepal but how has the left been able to deal with these forces how has the left been able to confront these forces in the country we have our two tasks before us one is national task and another is international task all the task is to serve the people to have a world peace in the world live and let live that is the philosophy of Buddha so eternal peace, fraternity and prettiness that sort of message we want to give to the world so we ask the people rather sit down together because war is not in the interest of anyone conflict is not in the interest of anyone terrorism is not in the interest of anyone so quarrel is not in the interest of anyone because this world is a place to live together so the problem has been created by two such things one is man-made another is natural-made so there is a big problem to face the natural disasters and natural calamities there is an environmental problem there is a common problem we have to face together so why we are just having an inmate with each other sort of following up on that how do you see the importance of internationalism among the left and the world among the working class movements the movements of the people as we have mentioned that recently the right wave is blowing in many parts of the world right east even the name of nationalism that sort of thinking has been developing we have been saying and sectarianism is developing there and antique left tendencies are developing here we had to face all these things without facing all these things we cannot defeat that evil thinking, evil trends that is evil thinking, evil trends and that can only be worn by the unity of the world's people so justice-loving people of the world should get united the left force of the world should get united the communist of the world should get united but the united means not to indulge harm to others not to interfere in other affairs rather for the win-win for all for the benefit to all that's why I think that the communist forces, left forces progressive forces the forces of the people should be aware of the evil trends despite our very wise thinking wise thinking the wrong tendencies may appear we have to face all those wrong tendencies and the challenges and challenges can be faced that can be done only with the unity of the left forces well thank you so much for sharing with us that's all we have time for and keep watching People's Dispatch


Okay, so what I'm going to do is we built Zinx electron diagram, is everybody okay with that, right? So here's Zinx electron diagram. What we're going to learn now is which electrons are removed when you're making ions, okay? So remember what Chromium and Copper did where they took that S electron and moved it up into the Ds to make it more stable, the atom itself more stable. Well, in fact, there's a reason for that because the D orbitals, once they're filled, they become inner electrons. And you guys know that from calculating inner electrons, okay? So what you'll find is Zinc has an ion that we've used quite a bit in lab already. It's the Zinc 2 plus ion. It makes sense why it's 2 plus, okay? Because once the 3D orbitals, like we're saying, are filled up, they actually become inner electrons, okay? So once all this is filled up, the 4S orbital actually becomes higher in energy than the 3D orbitals, okay? So what happens is when we make the Zinc 2 plus ion, the electrons that are being removed are not the 3D electrons, not this electron and this electron, but they're actually the 4S electrons, okay? So the S electrons are removed before the D electrons if you're filled up, okay? If you're filled up D-wise, okay? So if I wanted to draw the electron configuration of Zinc 2 plus, it would be something like this. And again, some people would rather you put the 4S up here. Since you guys are in Gen Chem, we're just going to deal with it being the same way we just know that the 4S are in. This is not a rule I made up to make it harder on you guys. This is the way atoms behave, okay? So we fill up exactly the same way. The electrons that we lost, right? That's what the Zinc 2 plus ion looks like, okay? So again, once the D-shell is filled up, okay, it becomes more, or the D sub-shell fills up, it becomes more stable than the S previous, too, okay?


This is a commodity. Her daughter's life was not. People's lives are not commodities. In Australia, PrEP is $8 a month. In the United States, it's almost $2,000 a month because we have legislated a set of incentives and we have legislated a system that allows that to happen. Out of every 10 people that need PrEP, nine of them cannot access it. I blame us. I blame this body. Because every single developed country in the world guarantees healthcare as a right except us, except the United States because we can't get it together, because we don't have the fortitude to kick pharmaceutical lobbyists outside of our congressional offices. I've heard from people about skipping doses of their prescription drugs to make them last until the next paycheck. Others have told me about leaving their prescription on the pharmacy counter because it costs too much. Well, I know a woman. Her name is Amy Vilella. And her daughter died because she went to a hospital and told them that she wasn't insured. And they said, come again in a month when you do have insurance. Well, her blood clot didn't wait a month. Her daughter died at 22 years old. This is a commodity. Her daughter's life was not. People's lives are not commodities. But we're all trying to understand the sticker shock that many drugs generate, especially when some of these drugs have been around for a long, long time. Without a doubt, drug pricing is a complex issue. But I think we should also be asking whether or not it is too complex or whether it should be so complex. We cannot allow anyone to hide behind the current complexities to shield the true cross of drugs. And we shouldn't turn a blind eye to industries practices that toward laws and regulations designed to promote competition and generic drug entries into the marketplace. You cannot ask the question, how much will you pay to be alive? How much will you pay to live? Because the answer is everything. The answer is you will pay $10. You will pay $1,000. You will go into debt. You will do anything to live. And that is what makes the price of medicine different than the price of an iPhone.