And we're broadcasting live from the best of the other ends of the world from Honolulu, Hawaii, here with you, the soda in your Bishop Museum, Minnesota. And would you wish so me back in Germany, near Munich. So this is our last show in this year. Before there's a holiday break. And then we reconvene in the new year with the next volume together with Ron Lindgren and finishing the story what happened at the end of this year. But we want to bring up the first slide reporting from this end of the world here with some current happenings here with a sad user that Germany has passed 100,000 deaths. And this is already outdated. We have added I think like 6k tragic figures more to that one. And on the right side, which is where our culinary connoisseurs, Joey and Clara had been in the recent past, this is the city of Lost Stock, which is in the very north of Germany, a coastal city. They still have something that we're very known for. And Americans love to, you know, go to these places for that reason at that time of the year, which is the Christmas market. This Christmas market is still on. However, hours here back in Munich are basically canceled. And so it gets us to the next slide because what also has been canceled. I'll let you share with the audience what that one other famous festival. Well, the famous festival we're talking about in this case is Octoberfest. And several years ago, you told me to my surprise that this is actually should be called Septemberfest, because it actually starts in September, when I have no idea why it's called that. But Germans are kooky people. In any case, our friend, Mr. Chapman is here at the Waikiki Yacht Club, taking you to a local version of the Octoberfest there. And then here are pictures of him indulging in this German dance, the name of which I do not remember, which men wear laterhosen the leather shorts. And they do these steps where they jump up and down and they slap their legs. And that's what he is showing us there. But as we look back to this year of 2021, which we will soon be leaving, we also can acknowledge a wonderful event that happened. And that was the marriage of our our friend here, Martin de Spain, and the lovely Suzanne, and they were married in Germany earlier this year. So that was a happy thing that happened. But 2021 has still not been particularly happy, unfortunately. No, and talking us in our marriage is a happy event, talking about the best of both worlds. You know, everything is relative. So in Germany, the very northern part where I'm from, which is where the Prussians are and where we still are. And the one on the very southern end, you know, they're as extremely different as you can tell. And that's where these two cultures clash. And, you know, Suzanne as being the native Bavarian has to live with his fish head, how they call us at times, we're so close to the coast. Anyways, the middle picture on the on the right is actually Octoberfest this year, which was a watered down version. They still had a menu. But it was sort of small the year before that, which is where Bill was dancing the chou plat, that's how that dance is called. They had the full thing. They have the buffet and they have this beer. And this beer, I always tend to spell it incorrect. That drives Suzanne crazy. I called it ironing up, but there's no R and that this is ironing up. It's from a brewery that she's very familiar to because it's only like 20 minutes drive away from here. And they have been importing that and she a friend of hers, she went to school with told us that they once had a marketing manager, the beer company wanted to keep it rather, you know, to Bavaria, but that manager wanted to bring it to the world out there. And he obviously was successful because half around the world to Hawaii, we have it, right? So there we go. So again, thanks Bill for that tradition. And hopefully we will have October fest back, not just in the Waikiki Yacht Club in the full skull, but also where it originates from in Germany, right? But going to the next slide is another anniversary. So the rides we have a second year commemoration of which event at this time of year. So we're doing the show in December of 2021. And this is the second year anniversary of the beginning of COVID-19. And we didn't realize back in December of 2019 that this worldwide pandemic was coming upon us because it was just getting started at that time in China. And so from then on, we saw the effects starting in March of 2020. And I took a lot of photographs to commemorate what COVID-19 did to Honolulu and how it changed our lives here. And so here's one of those early signs is literally a sign traffic sign, which normally would have been telling you about a loan a lane closing or something is actually telling you to wash your hands as an admonition to try to stop the spread of COVID-19. And unfortunately, of course, we weren't able to and it's still raging two years later. Yeah, these were the about the only lights on pretty much. And so to the next slide, our friend, Ron Lindgren, who excuses himself for today, basically, after previewing the show said, this looks like from Twilight Zone. This is on Calacao Avenue where usually the fancy glitzy stores are and they're all boarded up with some safety lights on and everything else was pretty much deserted, right? As something else was because we have a tragic, notorious reputation of having one of the worst traffic jams in the United States on the island. And it has to do with an oxymoron of an interstate that doesn't do justice to its name because it doesn't connect to any other state, at least not physically. And that is age one. And you basically now on the on this slide, take us out there and tell us. Yeah, so the next slide is is is what we saw in the Easter weekend of 2021. We had a curfew. We had a nightly curfew for three days. So you're not supposed to be out after 10pm and that left the H1 freeway devoid of traffic as this photograph shows that I took. And it's quite an astonishing site because as you said, as a rule, this is filled with traffic, particularly during the morning and evening rush hours. So you see how dramatic the changes were because of COVID-19. Yeah. And ever since our presidential leadership of Biden Harris have signed, luckily have fought through that infrastructural bill. So we're having on infrastructure too in the United States. But next slide we want to return to our core discipline of architecture. And on this glitzy, you know, magnificent mile of Kawakawa Avenue, which is usually filled with cars and people. There was only this one car that looks familiar to us. If you have watched our ongoing automobile architecture show, this is your P I mobile that's the only one on the street. And we see all the buildings pretty much dark, except that one in the back that brought back memories of when I came back from my sabbatical that was the year before COVID broke out. And that shocked me because there was this conversion of this pretty modest mid century inclusive hotel with small hotel rooms, basically converted in what happened to be the biggest budget ever blown on a remodel for making every floor into one unit for high end luxury. So this is pretty ignorant and and just, you know, pretends as nothing had happened still has all the lights shining there. And talking ignorance, we can't skip over another ignorant one, which is the next one, which is the Trump Tower. And we don't want to spend more time you asked for that agree that we need to talk about that on. So no need to that I guess the unempathic nature of anything going on except a couple of stubborn windows here, you know, is closely associated with who gave the name to the hotel as that cryptic sign down there, which is by Ivanka Trump that has been highly criticized about some very tragic possible connotations to the darkest side of my culture. We also don't want to talk about more about that because we get about positive things that gets us to the next slide. And which building is that we remember that right? Yeah, well, this was built as the Gateway Hotel in 1970, and it is facing onto the park that is between Colaco Avenue and Cuyo Avenue. And today it's got a new name the name of which I cannot remember right now. And we've already walk walk. And it is a modest hotel. It's intriguing because it's got this exterior that is kind of canted that is kind of like this. It's it's not just a square up an upright box. It's got some some curves to it or some some angles to it. Yeah, the correct term in my discipline is battered. Thank you, you know, and it's like the cigarettes are like the pyramids and we've been right dedicating a show to that that we're show quoting on the right there. The architect was Joe Paul Rongstead, which was who was quite the enfant terrible. And we can say a chameleon, because he started out with the Queen Emma building in downtown, which the locals call the pimple building for the way that's your building. That was not that. That's not Queen Emma Towers. That's the you're not towers. I thought it's called we that's the original name. Now it's called the Queen Emma building. Correct. I'm sorry. Queen Emma gardens, but no, no, no, you are correct. Yeah, I still know it by 1960s name. I always remember it as the York building, which was the original name. Exactly. And then he had the cigarette phase. And then he did all the all the square rubber stained square and plan towers all over our his and he resided in the most flamboyant of them, which is the century tower. And so probably worth to we actually want to get him to well, he's not around anymore. We missed out on shame on us to get him to interview him, talk about his life. But a doko Momo has been reaching out to his son to potentially talk about his dad's legacy. So it's probably good to look at him as certainly an architect who has shaped the island quite a bit. Moving on. The next slide. It looks a little bit like the the the the the the Queen Kailani tower hotel conglomerate that we show quote on the right side, but it's actually not we said it's a little further down to my side to diamond head. But it has kind of the same kind of a message. And again, just like the building in the past, which is now called the La Quad Tower. Obviously, it is expressing empathy with what we all go through through COVID by leaving on these, you know, lights in these rooms that allow us to see something rather empathic as the heart here. Yes. And so we as bad as the pandemic is and unfortunately will as it looks like continues to be, you know, while Waikiki is really, you know, rushing, we can say, and you know, why isn't Waikiki in particular as it's sort of tourist heart, speaking of hearts, it wants to go back to normal heartbeat so badly. But we say some things, you know, maybe we should have taken the time to catch a breath and reconsider things that maybe weren't so thought through. And we've been sharing our thoughts about that we found it was a very bad idea to tear the, you know, Princess Kailani hotel down and replace it with something that we thought, you know, didn't make sense because it wasn't bigger or at least and it also didn't look better. So so why would you and it's still there. And it's still occupied. So we hope maybe, you know, COVID as the few good things about COVID it has given the hotel ownership and the manager meant that time to maybe reconsider. Let's, you know, let's not tear down that complex of the Princess Kailani and build this new one, which was announced. And there is also a complex across the street across Kailani Avenue that was Kings Alley or Kings villages later was called. A lot has still been cleared. But the construction of the high rise that was planned there as a time share has been put on hold for who knows how long because of COVID. Yeah, that's right. So next slide is the Sheridan Waikiki, which was built in 1970. And that was the time when the ATG, the late partners that now are, you know, WATG, W Stents for Wimbledi, Pete Wimbledi, the founder of the firm. And they joined the firm. But when you look at it in close and we yet have to probably do a show about that one, too. It still has a lot of W-ish in there as Pete's signature.  And they even went one more stage next slide and added that word here that speaks for itself. So we go to the next slide, which is also a WATG. And this more and it's fullest because that was built five years later, or six years later than the six years later in 1976. And it looks less W-ish and more ATG-ish. The Hyatt doesn't have the same sophistication and scale and consideration of contextuality that Pete's projects had. But the firm seems to maybe recognize that because in April of this year, they came out with this sort of fantasy that we see at the very top left there, which we like to see because it's something that we almost always talk about how he would re-jungleize Waikiki and reforest trade it and make it all trees and walkable. And you also see the Hyatt there and the Hyatt has some green on there. But it doesn't seem to go beyond that because it's basically, you know, on the opaque parts, on the structure and doing nothing else. That's already something but that seems a little greenwashed, or at least it needs some more substantiation how that would be. But again, we like to see that. It seems like the mainstream is getting the message from the avant-garde. So we're not unhappy to see that. And we go to the next project. And you please tell us about, you know, its history that you just told me and there's a very exciting aspect to it. Okay, well, as we continue our views of COVID closed hotels with writing and pictures on them from eliminated interior rooms. This was built initially as the Aloha Lani Hotel and it began in 1964. And right after the steel skeleton was completed, the project ran out of money. And it stood there for four years until 1968-69 as an empty steel skeleton before it finally was completed with underdog owners to be turned into the Park Shore Hotel. That's right next door to where you live, virtually next door to where you live at the Waikiki Grand. And today, of course, it looks like a normal building. But as we like to fantasize, during the time that it was an empty steel skeleton, it was actually potentially more livable, where you could have been exposed to the trade winds and all the nice things in the Hawaiian climate. But reality took over and it became a normal hotel as we see in the picture on the left. But it could be retrofitted to that because that's its nature, that's its anatomy, right? And we always talk about strip them naked. And this one could be done like that more than others. Actually more than the one at the bottom right, which is by the same architects, which is very stereotypic. It's tropical brutalism. It's the Frank Fasi municipal building in downtown by the same architects who have obviously talking chameleon, which once it was to some degree as well here, they went from basically, you know, pretty much high modern to tropical brutalists in a decade. And the two top right show quotes is when we were talking to Tropic here and tutor Bill and to Ron about how these designing in Hawaii, these architects were and still are and talking about the corporate which Pete's firm has become to its partners, WATG. There's like three letter four letter word kind of thing in architectural offices around the United States. And this one here is called NBBJ named after its original founders. But for the longest time just known by this abbreviation here. And so that's the that's two of their projects on the island and that there were the architects of the Frank Fasi building that gets us to the next slide, please. We know from our friend Rick Prava, Hi, Rick. Happy holidays to you too. And thanks for these pictures, which he sent to me as I have been sneaking out by that time and leaving the island during the COVID time. And you guys basically both kept me updated about what's going on and that really surreal scenario of the the tourists being gone. And you know, on the opposite, positive and the locals coming back and rediscovering and re inhabiting their, you know, their Viking key. That was that was a part right. And next slide shows us the beach as you were portraying it, right. And that's right, that's history. Now the beach is back to we're not full to full capacity, but you know, that's the goal. And that's the aim.  And there is like hordes of pedestrians flannering there on the sidewalks. But that was when it was like that. And that actually reminded you of so many more than half a century before that. And that gets us to the following slide. Right. And this is a view taken from the pretty much the same location as the previous picture in that you saw from 2020. This picture is from 1945. And that was Kalakawa Avenue back then, two way traffic, as you pointed out, Martin. And the only thing that's really pretty much the same is that band entry that you can see in the distance on the left side of the street. That's still there that is thriving. And it's, of course, considerably bigger. But everything else in Waikiki has turned into the modern high rise filled city that it is today, just even on its own within the bigger city of Honolulu. Yeah. And next slide, you know, some took the chance for improvements. We've been lengthy with our friend Ron talking about the remodeling of his Hale Kalani. That's when we first saw it when, you know, this sign was up there, and it was closed for renovation has been reopened since 1st of October. This ending year with overall, you know, we're all very happy. The three of us are very happy. And the four of us is in including her favorite hotel that they kept it intact and just basically, you know, refreshed it technically, except unfortunately, the guest rooms, which we've been excessively brainstorming about show quoting at the top right there. And this gets us slowly but surely to the end of the show and to the end of the year gets us back to the other end of the world. And this is something, as you remember, more than I do, we had been showing and sharing before, but we want to show it again, because this is a hotel that could be like in Waikiki, although it's totally by itself. And it was a particular interest for you to sort of because of some, you know, political certain circumstances, right? Right, right. So let's go to the next slide and let's look at that hotel. And this is it. This is the hotel Neptune. And it was built in what was East Germany, in which it now, of course, is part of the reunified Germany. As you said, this is a substantial looking high rise that's kind of out in the middle of nowhere, sort of speak to speak, unlike Waikiki, which is a whole jungle of high rises. This was built as part of the East German effort to try to attract foreign tourists who would bring in more currency and more money for the government. But then as you said, it got turned into something for the proletariat people of Germany to be able to use as a holiday retreat. And it is on a beach, but it's not a warm beach, because as you can see, you pointed out it very rarely snows, but it does snow there. So this is not someplace you can go all year, like you can go to Waikiki and enjoy the warm water and the warm sun. Yeah, and let's look at that nature of that piece next slide, which just looks like just the sibling of the Waikiki Park, you know, hotel, right, actual hotel. This is right. This is a skeleton, but it cannot afford to the picture we saw before to be like that. It has to put its puffy coat on and it keeps that on over the summer, which is then in its way. And that gets us to the next slide, because that's what we want to and look at the sort of the explorations of the emerging generation where they're stripping all the existing buildings, and they all look like the, you know, the Park Shore hotel. And they all are like that. What we had was that we go back to downtown. And then we had what you see luckily as my background, which is that we have Christmas tree, our Waikiki hood with Primitiva freeze that, you know, you could see many things in them and some of them could see Christmas trees. And now you have to vividly, you know, explain what we would have seen on the third page. And then we will make up for that and start with that in January. Yeah, right. When we go to next year, well, our last pictures were going to be a picture of the Christmas tree in the lobby of Ed Killinsworth's masterpiece, the Kahala Hilton hotel. Now it's just called the Kahala hotel. And that photo was sent to us by our friend Anne Motanaga, because she lives right nearby. And that's as an homage also to Ron Lindgren's former partner in his business, Ed Killinsworth. And then there's also a wonderful photograph of me with my beard decorated for Christmas. That was last year, so I'll have to do it again this year and take another picture so we can update it so that I have a festive Christmas beard every year. There you go. Thanks, great offers. So that was it from us for this year. Happy holidays and stay healthily happy, happily healthy, first and foremost, most importantly. And we all look forward to see you with new energy in January for human human architecture again and for that updated Christmas beard. Oops, now I already said too much of the soda. That's okay. We look forward to 2022 in hopes that it'll be a better year as well. All right. Okay. See you then. Bye bye.


The Presidential Partition Election Court has adjourned to Tuesday, July 4, the hearing of the defense filed by the dependent National Electoral Commission, INEC. The court on June 23 fixed July 3 for respondents to open their cases in defense of the petition filed by aggrieved parties challenging the outcome of the February 25 election wherein Bolatynubu emerged as the President. During proceedings, Council to INEC, AB Mahmood, a senior advocate of Nigeria, informed the court that the Commission had built three witnesses to give their testimonies in aid of the defense. However, it said that the witnesses who were scheduled to testify were unavoidably absent from the court. The PPC, headed by Justice Arunasamani, heeded the request following the agreement of other parties in the case. Lead Council to Labour Party, Levi Uzoku reacted to the ruling. On our part, we prepared so well that we were ready to embark on a demolition work. But that is your case. They came to court and said that they wanted to, you know, they proposed to have three witnesses today. The first one was unavailable due to domestic reasons who were not told what happened to the other two. Therefore, they are asking for adjournment tomorrow. We are ready to come here tomorrow, but I have a hunch that given the contradictions and the inconsistencies and what INEC has done, I'm sure that they're not ready to defend this case. I stand to be proved wrong. Subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Felly, dwi'n ymweld i'r ffrif, y boff yw yng Nghyrchion Fyddai, neu ychydig i ddim yn ymweld i'r ffrif i'n gweithio'r boff yw'r gweithio'r bwysig. Ydych chi'n gwybod i'ch gweithio'r boff yn gyllewch ar gyfer y dyfodol, maen nhw'n ymweld i'r ffrif. Efallai yn i'w ddweud y cewdd y cwmwys i fi'r canfodau, yng Nghymru yma, ychydig i ddweud yr ILC, a gwneud yr ystodau Gwyrdd DC6, Cyffwyn, Torx, Cyffwyn, Atlan. A'r ganwch yn ymwys i'r cyffwyn. Mae'r ffordd yn fawr i'r cyfrifwyr. Mae'r ffordd yn fawr i'r cyfrifwyr. Mae'r ffordd yn fawr i'r cyfrifwyr. Felly, mae'r ffordd yn fawr i'r cyfrifwyr. Mae'r ffordd yn fawr i'r cyfrifwyr. These are fairly good ways to obfuscate, flow of your program, they make it extremely difficult to test and debug. Most errors related to bulk threading are, probably, the synchronisation. They depend on the timing so they only result in a pitched appear card if you run randomly and it costs you only want to have your load, which you don't see in testing Y wneud, mae'r ysgol pobl yn oed. Rwy'n fyddo'n colliwch gwirionedd hynny, mae'r langwych yn schyfodol maenig y ffordd, am ddefnyddio'n gwirioneddau hynny. Rwy'n meddwl y dyfodol o gymryd, ac mae'n meddwl rhywbeth yn lletwch dryfodol Llincol. Mae'n meddwl hynny'n meddwl hynny'n meddwl am ychydig gyda chi. Fy flynydd eich eu cyfion oedd. ...with multi core and incorporating processors being... ...the coming standard inurable Discord not that either laptops now You need to make use of the process, of course Servers, of course, already tend to have multiple processors to use those you need multiple threads You could have multiple processors as well but interthread communications are a lot cheaper If you have multiple processes, they can share memory, but then you have much the same problems there as with threads that share all the memory. Also, if you use shared memory to processes of shared memory, you have a different address in each process and that causes the same problems. You can't use all pointers, you can't use C++, a polymorphic object, because they have a point to send them. So, you need to use threads in many cases. So, how do we structure applications into threads? Easy ways, which I imagine everyone's tried, are in a several programme you have one kernel thread for each client, which is very easy to do. The problem with that, one problem with that is it uses lots of virtual address space. Each thread gets, and Linux, each thread, by default, gets 8 megabytes of stack space. It would use that, but that may not happen depending on what thread you're using. And you've got all the resources associated with threads as well. And, if you've got a thousand clients simultaneously, a thousand threads, there's a huge scheduling, and if you don't hate the scheduling and synchronisation between those, so you don't really make good use of the presence of resources if you have a lot of clients, if you have a few clients that it works out just fine. So, in direct applications, you might use one thread per task, so it might be UI threads, thread for network IO, thread for file IO, or so on. But, if you do it that way, then you're going to find one of these tasks that you have to write the program into does the bulk of the processing. The others are mostly blocked on IO, so if you have multiple processes, one of them may run flat out doing this intensive processing, and the others will not be used. So, that's pretty wasteful. If you really want to use all the available resources, you need to be a bit more sophisticated for a server application. You need to have a thread pool, and then assign one thread to each processor. You create one thread for each processor in the system, and hopefully, as it changes them properly, you can maybe hint with processor affinity to get that to work better. But, of course, that's hard to write. If, hopefully, you have to have your own schedule to assign jobs to those threads, it doesn't necessarily interact well with other applications, because if you have multiple applications each trying to use all the processes that you create, you're going to have these swapping. You're going to have real schedules. Finally, if you do it that way, or you're out of IO, it needs to be non-blocking, or if you have to be blocking IO, you can then have extra threads in the pool and release them when one thread is about to block, and then move to, at some point, return that thread to the pool rather than putting a new job on to it so that you only have one thread per processor. It's all really rather complicated. I don't have a good answer to that. For interactive applications, whatever process or intensive work you have to do, if there is any, it's not always true. That really needs to be parallelised. So, again, one thread per processor to do whatever it is. I don't know graphics manipulation, video processing. For high-performance computing with number crunching, there are frameworks that make this somewhat easier, but I don't believe that that works either to other kinds of applications. Synchronisation. Obviously, it needs to be synchronised so that they don't topple over each other's changes to shared memory. So, if you don't do it in the right places, your program breaks.  So, if your threads are blocked, or mostly blocked, then you're not using the processor time that's available. The program doesn't make use of the processors. So, for synchronisation, you probably know that mutex is locked in condition variables, which are reasonable building locks, but at a pretty low level. One of the problems with locks is deadlocking through two processors, that need to require multiple locks at the same time. If you're doing different orders, you can get deadlock. You need to establish a lot of ordering. Well, how do you do that? And if you're running a library, say, and that needs to be thread safe for these mutexers to protect this internal state, and maybe while holding the mutex for the callback, you can hear the mutex that needs to participate in this lock ordering. We don't even know about it. So, it's very difficult to actually put together multiple blocks of code in this way. One thing that is being quite seriously researched is lockless algorithms and data structures. You may know that those are increasingly used in the kernel. There's this technique called re-copy update, which allows you to avoid using a mutex when updating some shared structure, obviously in the kernel. The kernel is effectively a long-threaded system. Everything is shared between all vertices in the kernel. So, those can be behind performance and avoid deadlocking, but they're very, very hard to write, very hard to use that for expert serving. One of the commonly used lockless algorithms is double-check locking. This is a technique for hopefully speeding up initialisation.  I don't know. It works now, exactly. But it's a common idea. You check a variable before taking the lock. The trouble is it's broken. It just doesn't work. That was advocated for years by experts at the time. So, earlier on I mentioned the language semantics. We tend to assume, although we shouldn't know better, that the operations of our programmes, such as Weeding, are writing variables, synchronising and doing IO, are done in the same order as there is. But, of course, that doesn't really happen. You have to compile optimisations that reorder them to make them run faster. This includes eliminating, duplicating, memory accesses, in some cases, by caching variables and registers. Also, some processes don't support writing variables of some sizes. For example, on an alpha, on an early alpha, at least you couldn't write to it with a good byte. You'd have to read a six-book word, I think, modify that one byte in the word, write that the whole word. So, you've had two variables that share enough words, actually writing one of them right to the other. So, that can introduce racist additions into a programme that apparently doesn't have one. Also, processes reorder, read some writes depending on which byte of memory system they're in. They don't do them as quickly as they can. There are some constraints on that, but if you're writing to, well, no, it's reading, actually. There's a bigger problem if you read from, if you read a variable that sounds like a main memory, and then you read from a variable that's in a cache, the variables that the cache actually gets rid of early. This is all OK in a single-threaded programme, although it does cause some problems for signal paedlers. So, that's why it's allowed, that's why it's complied otherwise to get away with it. But, as I said, it introduces race conditions into multiple-threaded programmes, and the same goes for processes that use shared memory with other processes. You have, obviously, the other signalization of derivatives such as mutants that deal with this process will reorder, but they don't necessarily give it compiler reorder. In general, because the mutants, log and unlock functions aren't seen by the compiler, it can't assume what goes on in those functions. So, it has to effectively flush variables to memory around those, but there are some cases, such as where the lock and unlock are conditional, where that doesn't actually happen. In order to, in order for language to support non-threading properly, it needs to have a memory model that defines exactly what reordering is possible, what can be done by the compiler and the processor to reorder the operations, and how you, as a programmer, can limit it in general. There is an original exception. Java does have a memory model that covers multiple threads, but I don't know about you. Java's not my favourite language. The CMSibles Plus language is currently stuck with a single-threaded effort machine, so if you use multiple-thread normally, you'll be using the project-thread semantics, but bad luck, project speaks in terms of memory locations, not in terms of variables or other elements of language semantics. So it doesn't help. There is some active work on a memory model, a multiple-threaded memory model for C++ language, some of that, and maybe it will be able to see C-sharp, which I guess we can see more on Linux as to mono. It has a multiple-threaded memory model, but it's a bit vague, so you're on some territory there. Higher-level languages, I'm afraid, I don't know. There may or may not be a problem. It's all dependent, probably, on whatever language that's what I'm used to to implement today. So why am I talking about this at a deviant conference? If you're maintaining a program that uses multiple-threading, which more and more programs do, you are likely to see, I think, increasing numbers of bubble ports due to synchronisation errors in those programs that, as people are using multiple-threaded machines, you may also see problems resulting from the language semantics, probably the language semantics. Devants, obviously, support multiple architectures. They don't all have the same rules to process a reordering, so you might find some problems or some architectures and not others. So you've got to watch out for that. So I don't have a lot of good news, I'm afraid. There's some links here to the deviant reading, which is all for this talk of someone on my homepage. So I think we've got two questions and discussion now. I didn't understand your point about the out-of-order execution that you had. When I think of C or C++, I think of sequence points at places like semicolons and the double-and sign and the double-or sign. Where is my conception missing there? Well, sequence points themselves are something of a misnomer. They aren't points in the program. That's possibly worse than where the confusion comes from. Sequence points are restrictions on reordering. They say that this has happened before that, but the compiler is allowed to reorder as if things had happened in that order. So you have the rule that if you write to a variable twice without a sequence point between the two writes, without any order between those, then the spanning is right to find. If you have a sequence point between them, then that's fine, but the compiler might see that these two writes occur. There's no read between them, because I just eliminate the first write. But it might be that you arrange a program such that another thread reads between those. The compiler doesn't have to know about that and doesn't. And the only way to fix that would be to declare every one of those variables well, wouldn't it? No, all of those are only made to be specified. That's another problem. I think that the whole execution model or the whole virtual machine model for C++ is centered around the word volatile. A C++ compiler is conforming to the specification if a compiler program is doing all volatile accesses in the same order as an unoptimised program. And it may leave out a non-volatile access at will. If you have, like, 10,000 addresses, it may use address systems that have memory for structures. As long as these are volatile. The volatile is only going to have to the point that if you have a volatile access that is protected, you can use volatile accesses to enforce sequence points Well, no, you can't. Volatile accesses are ordered with respect to each other. But it doesn't say anything about non-volatile, non-volatile accesses that are there to be between them. They can still be moved. True. If you use a mutex, then you are guaranteed that the mutex is ordered with respect to volatile and I think even more volatile. Well, a mutex acquire release should prevent any unacquired release to anything because it should not move past those in theory. But, as I said, there's an odd case where if your acquire and release are conditional, I'll see what I can do up an example of this for you later. There is, has been observed that some compiler will do an optimisation with cascure arrangement to a register that introduces a race condition there. And actually, all the compiler is doing is perfectly legal for you I don't know whether this can ever occur if the acquire release will not be reached on time. It might be a good question. I have a multi-theprending parole process that winds up under, on the multi-processor system the production version runs on that gets a lot of load and it occasionally has bugs and I can't reproduce it on my single processor test system.  And part of it is just a slower processor. Part of it is just... I don't have an open experience today, but you have multi-threading bugs that almost never appear on a single processor system because you only have one thread at a time running and so the race condition is only exposed if you have a context switch in those few cycles. But of course if you have multiple threads running in parallel then you get them after a few minutes, maybe a bit longer in your case, but this is the sort of thing you can see. I really don't know how multi-threading is going on. I hope for a bit more awareness of the resistance of the threads in the Linux. I mean, every time you look for any programming implementation or any library, it's all for the single thread case and you have like, well, in case you have multi-thread it's kind of messy, but just lock everything with a big note X and then basically it stops. And the library system code you may have is a little different from that. You're always looking at stuff. Well, yeah, some are interrupting points on that note. So you're not interrupting points. Consumption is here. Consumption is here. Consumption is there. You end up looking at month pages, specifications like the lawyer, and it's kind of like a project to do it. My advice on translation would be, don't use this. Don't use translation. Use condition variable. Much of that. But then, okay, you get signals. I don't know. Signals on threads are a really horrible case yet. It's kind of like a mad hack, in a way. What is it? As a pet support, in many cases, you kind of have to hack it into something which is 90% of the time for one pet. And I don't know. I'd like to see, well, I guess it's just a random mind, but I'd like to see examples of the back-more-than-thread system in chip decay libraries and stuff. And to feel comfortable using the threads, because I don't feel like a freak if I do it. Yeah, I guess that's not the very useful thing I'm saying, but I just want to get that out. No, I don't have any terribly good advice on this. I can't point you to it. I can't point you to it. I don't know, a guide, if I can tell you. Collections of code examples, I think, use, like, the rights of the chip decay tool with examples like where to stick, the fact in context. Really, you want to share information between threads as little as possible. You want to have the ability to share or transfer ownership between threads, but you want to share as little as possible so that once a thread has... If a thread has a single ownership of something, it doesn't need to use mutates as it doesn't need to. It never has to worry about blocking to access that. So if you can possibly arrange for only one thread tuning access to some state of it, then that might be better than letting every thread access this state of the decay and then having to put mutates in. Yeah, well, formally you need to declare everything that ever turns between two threads at volatile to enforce it to be actually written out. Volatile doesn't deal with some problem. Well, you can... Volatile is defined for the best-of-one single-thread abstract machine, and it may or may not do what you need in a multi-thread system. In particular, in most implementations of CNC-plus-plus volatile does not take a process of the author. Yes, it does, but it does not. The problem that the same process machine classification has, you can tell that a sub-protein call will do volatile accesses. So any volatile accesses will have to have happened before a sub-protein call such as a call into the piece of library to gather mutates. So why... Yeah, but as I said, there are some optimisations that we've done, but it seems like that will be true, but there is a case of the conditional loss. Volatile accesses will force the compiler to emit the instructions for actually writing it later. And the mutates graph is usually... has a memory on, so access would have happened actually at this point, so it's quite safe. It should be safe. Yeah, it's probably bad, yeah. But you can't afford to make more than volatile. Yeah, that's a problem. And we need better compilers that basically would understand if you have a volatile buffer and... Or volatile data... Or if you do such a case with those compilers. No. Do you really fix a language then? No, it's actually just a matter of implementation. If you have shared volatile objects and you have a working copy that's not volatile, you can work on your working copy, which can be cast in the register as you like it, and you just need to copy it over to volatile area and the compiler. The compiler should be able to sort this out. That's an implementation issue. So what about the data model? You remember a model of scripting languages like Perth, Python, Ruby, do you know something about it? I don't really know. Python, the secret function of Python, only allows one thread to run into the interpreter at the moment. If I remember correctly, if you have multiple threads, then you have one of them running in the interpreter loop and the other ones are either blocked or they're busy in extension code. So what does that mean? You're probably, as long as a library is a thread safe, as long as an extension is a thread safe, insofar as that can be said, then you probably don't have too much trouble from the Python code itself so you don't have too much of a problem or a level for all my memory models. I don't know. I think it means that the Python code will only run on basically one thread from the operators to one CPU. So if you have 18 CPUs, you're only running one of them or Python. So basically Python is running only a way of avoiding the application from walking. I think you can even see extension code that can separate track lines, right? Yes. So if one thread is running in interpreter's Python code and another thread comes back from running an extension, it will block the interpreter long. But if you have long-running... if you have functions in extension that do long-running pieces of work, then you may be able to make use of previous multiple processes. Haven't you had some practice? At work we have a rather large Python testing framework. There we use multiple processes. Questions or searching points? I could give another perspective.  Pure functional programming language meaning that it is impossible to change a value. Yes. Which means that basically locking is not necessary. You do not need to lock data because it never changes. You just create more data and the only data will never truly go away. That's a problem to deal with.  So this is another problem. Our garbage collector was thread-safe. I don't know exactly how it was implemented. It became a PhD. Not mine. We have the same multi-threading Perl program that I had the problem with. I was using a Perl library that did not document whether it was thread-safe or not. It wound up not being thread-safe at first. I wound up as the easiest way to change my multi-threading implementation and have multi-threads controlling multi-processes. Each process has one thread doing the IO handling for that one process. I wound up trying to figure out how to basically do a subroutine call to another thread. I didn't have to... One thread can handle the IO to a file so it doesn't have issues with the multi-threads trying to IO to the same file at the same time. If anyone needs to see how I did that, I can show them offline somewhere sometime. This is for the bug tracking system, by the way, the spam scan. Basically, one spam assassin process was not able to keep up with the amount of email we get to the bug tracking system. I had to rewrite it to have more than one spam assassin. It's mainly network delay. Right, so you have threads blocking all the time, so that's right. That's unpleasant. Is there any way you can turn this into an event loop that the processing continues when you get a response from it that way? Oh, like I said, each spam assassin is a Perl library, basically. It's got programs that can call a part of the Perl library, but the back end is actually a Perl library. We've written this program in Perl around a free writing 90% of it. The one thread blocks on the IO to the process running a single spam assassin. As the messages get processed, it unlocks the thread. And then handles it. Of course, I have a lot of blocks and so on and so forth to make sure that the threads don't stomp over each other. And then I run up to 20 processes running spam assassin at the time. How many processes do you have to run this on? It's a dual hyperthreading Xeon system, so two or four depending upon how you count. So we've got a lot of those arriving. I love the process of the IO. Is that it? Ladies and gentlemen, thank you very much. I'm not quite sure what the next talk is, but it's probably tomorrow. Thank you very much. Bye-bye.


I'd like to share with you a little bit of the vision of the EA and how we are working toward intersection and working collaboratively with Ethereum Foundation and other organizations as well, moving forward. Just a little background from where I spent 12 years at Intel in the telecom side of things. So it's very interesting in my world and how it addresses the world of more of open source. So it's been a learning experience to figure out how we marry the best of both worlds. And I think that's one of the reasons why I think I was even invited to take the role of heading up the EA, is that we need to do that. We shouldn't try to reinvent the wheel. And so there's lots of benefits from both aspects of looking at what's the purest version of open source and how does that work? And how do you also protect the enterprises of which we address? And that's how we started. I joined last January, but as many of you know, the initial date was, Joe Lubin told me, it was February 29th of the prior year. And so in any event, it's a very new organization. But the intent was, OK, we have the open mainnet and there's a vision and a purpose for it. But again, what about the enterprise? And we are leaving out the opportunity for enterprises to do good in the world, as well as be profitable. So that's partially of the role of what I believe we should do and how we work. So we formed. And what we ended up doing, we took a look at initially the EA was even thinking of writing code. But when you look at the organizations that I am very familiar with or standards orgs that I'm familiar with and have been actively engaged in the last 15, 20 years, such as the IEEE. And I don't know if you're familiar with some of these, Etsy, and then 3GPP. And 3GPP is a partnership project. It's a group. It's not even formal. They write a spec. There's no code. And then it goes to Etsy, which is the European version of a standards org. But it covers international. And then it gets rubber stamped. And then it becomes a global spec. And the end result, and this is the philosophy that I'd really like to see, is that if you buy a cell phone here in Prague, and it's made in Korea, and then you show up in Venezuela and you buy a SIM card, you expect that phone to work. And that's all about interoperability and global interoperability. And that's the vision that I'd like to see our world be. And the way to do it is to have a standards org. And so a standards org doesn't write code. We should never compete with our members who do work. And then in order to enforce the standards code, you need some form of certification. And that's the reason why all these phones work. And where I come from, it's called NWIOT Network Interoperability Testing. Every one of those operators, buy that phone, they plug it into their own network, or they don't sign off on it. So we can't do all those things because that's hardware. But there's things that we could do for software. And there's lots of ways that you guys, because I originally came out of the entertainment gaming industry as a product marketing manager, there's lots that you can do to assure interoperability. So that's where I'm coming from. That's where I've got support from our board and the folks in our world. How do we do that using the EA? So I've walked you through. I'm not gonna go through all the slides, but you'll be able to get them. So I already share with you why standards are really important because without that, we can't accomplish that goal. In our org, we have a very good board of directors. And initially, I was telling some of the guys, I don't want you to think right now. I know it is all the biggest companies in the world. Where are they compared to the smallest ones? But, and as you know, in the world of blockchain and the enterprise, the lowest hanging fruit are financial services. So of course, and there's Amber, hi Amber. So she helps start the quorum side of things. So at any event, that was low hanging fruit. But if you take a look at some of the folks on our board, Andrew Miller from the University of Illinois, and then so we try to have a balanced approach and everybody gets one vote, no matter how big or small you are. And the organization, since I started, we've doubled in size. And I can share with you the argument that we make is okay, if you're looking for interoperability, if you're looking for of assurance, and I can tell you it's not easy to convince the enterprises to bet down, let alone understand what blockchain is, but to bet down and make a commitment, not easy. And so that's our story. We use what the EA is about. And it can help all of you, even if you're looking at where we're headed, which I would like to see us and when we talk about the roadmap. Enhance our specifications so we can do things to help accelerate the adoption on the public mainnet, because right now we're not doing that, but we want to. So we have 500 members and we're growing, continually growing more and more, and the reason why is they do want these enterprises whether small or large, and particularly if they buy from smaller companies, and I'm an ex-intel guy, but I can tell you, if Intel's competing in that very small company, it's really hard for the small company to get some traction. So being part of an organization like an EA, when you say you're writing code that conforms to the EA, here it's certified, they feel better about taking the risk. We're diversified, we have members from all over the world with different categories of business. So we try, the bottom line is folks are joining us in all the different areas. The way we're organized, we have a legal advisory group. We're not doing a tremendous amount of legal work, but we do try to intersect there. The technical spec work is headed by Connors Fenson, he'll come up and talk to you a little bit about a roadmap and our stack, and then we're forming a certification working group, and actually now we're gonna form a global test net, and that global test net means if you guys are writing solutions based on Enterprise Ethereum, and you can use our test net, we have a goal of getting that up and running. We now have a commitment from different companies, including Microsoft, to help us do this. So we plan to implement that, and then you can actually have your customers that they don't have to be a member of the org, and they can use it. And I'm just checking the time, is it tracking there or where is it? It tracked the time. You're there, keep me posted. Okay, so another thing that we do is we now have associate member programs, so I don't know if some of you saw it, but we entered an agreement with Hyperledger, and I was invited to present, and we did get an applause when Brian Bellendorf, and I don't know if he's here, invited me, but at the end of the day, I encourage the folks who work on Fabric to develop a version that can conform to the EA spec, and since they're not a standards org, there's very good synergy, and we invite all these other orgs that could be synergistic because there isn't any one org that really solves all the problems that you need for developing solutions for blockchain. We also are very involved with the Diff organization, some of the folks are familiar with the organizations that do social impact. We don't plan to deal with and write solutions for identity, we'll partner with the W3C, with Diff, ID 2020, and come up with solutions, so again, we don't want to reinvent the wheel. And so, how we operate, we have technical working groups, we also have special interest groups, and so we have one for financial services, one for health, and we're a member-driven org, we don't run the org, the members do, so if anybody wanted to have more visibility, whatever members want to see, they join and they raise their hands and they can make it happen, so that's how the org works, and that's how all standards of org works. So, with that, I wanted to bring up Connor, so I come out of the world of telecom, and telecom they have, it's called an OSI7 layer stack, we want to formalize how work is done technically, so you can have multiple vendors of choice, and by the way, this stack, you don't even need to take a photo, if you go to our website, now you don't even have to say who you are, because you can just go to our website and you can download our stack and our spec, everything, and just do whatever you want and developing whatever you want, and then if you want to use our logo, or go through our certification process, then you would be asked to join because of intellectual property requirements, et cetera, but anybody here can download our spec and work on Enterprise Ethereum, so I'll turn it over to Connor, he's gonna walk you through and talk to you a little bit about our architecture stack. Thanks, Ron, hey everyone. So, I'm the chair of the TechSpect Working Group, but I'm also, I guess, developer by background, I wrote Web 3J, the Java library for working with Ethereum and have my own blockchain technology startup as well, so I come at this from a, I guess, a dev perspective, ultimately. The idea, though, with the architecture stack, as Ron said, I guess inspiration was the ISI 7-layer model, but really it was the first artifact that the EA produced and put out there as a reference point to try and capture everything that we're thinking about with respect to the EA. The actual inspiration for the stack was a talk that was done at DevCon last year, where one of the developers working for the foundation did a talk on the anatomy of an Ethereum client, and one of the really neat things that they did there was they highlighted the components in yellow that were aligned with the yellow paper and basically adopted that idea as well, because I thought it's a really neat way of talking in terms of where these things are formally specified in the yellow paper, then also those components that are core to just general Ethereum, and then we added on a piece which was what we see as being more enterprise-focused pieces. The key always with the EA has been about Ethereum technology, and so we always see the initiatives that we're doing as being a super set of what's happening in the world of public Ethereum. We never want to sort of be separating ourselves from it because many members of the EA are passionate about Ethereum technology. That's why they joined up. That's what got me into it as well, because I came from an enterprise background, but then really like the Ethereum technology, and it reminds me of the community, reminds me somewhat of what of the Linux community back in the day, and we all know how well that panned out there as well. But the stack, I'm not gonna go through all the different layers about it now, but I think the key point is that we're trying to just encompass everything that we believe is in scope there, and you can certainly review it on your own time and go over to the EA website to review it. What I did wanna talk about though was the specifications that we've released this week. We released two new specifications. On this slide here, we have the organizations that directly contributed to these specifications. I think historically there's been sort of a perception with the EA that there was only a few firms contributing to it, but I think what's really nice about this is it shows that you've got a fairly good cross-section of different companies getting involved in the actual specification work, which I think is really cool to see. And so this week, the two specs that we released, one of them was the client specification V2, and so we released V1 to coincide with the consensus coin desk conference in May of this year. We're now on a six month release cycle with the EA specifications, whereby every six months the next version will come out, so we'd envisage the next one will be likely April next year. All of the development of these specifications now is taking place on GitHub. We're following similar sort of processes to how the W3C specs are being developed, so members are submitting issues and pull requests with changes. They get approved by just different members. There's actually gonna be a lot more transparency as well very soon in that we're going to be, the actual repose no longer gonna be private, so people can see exactly what's happening as the specifications evolve. But in terms of the highlights, just wanted to sort of bring your attention to a couple of them. One of them is that we've now, in the A-spec, we have a core set of JSON RPC API implementations from Ethereum that you need to implement. We're going to have an Enterprise Ethereum client. We've also added some additional ones, this EEA, which we use in EEA namespace, and this is mainly right now functioned around supporting the privacy models that are specified by the EEA. So these are your core entire approach to privacy where you have transactions being stored off chain, but also there's some on-chain techniques as well that the likes of Clematics have been promoting with their actual client implementation. We also reference the pre-compiled contracts as well, so we list the eight pre-compiled contracts that are specified in the yellow paper. They're all now referenced in the A-spec as being mandatory requirements. And the other thing as well is that we've actually provided an API for network permissioning. The governance of private permission networks is obviously a challenge, and so we've now included in our specification an API for this based on work that some members have contributed. So for us, I think it's a good move forward in that right now there's not really any standardization around this just yet. And we've also added in a security considerations section, but that's more based on just best practices around security for these permission chains. The other big specification release was the off-chain trusted compute spec, and so this was mainly driven by Intel and Iexec, but a number of different contributors did get involved, including Oracleize and I think Consensus did some stuff. But the point is it provides a JSON-RPC-based API for vendors whereby they can achieve or really achieve a few different things there. One is use it for Oracle-type services, another where they just want to use a secure enclave to do some sort of computation, or it could just be doing some sort of computations off-chain in a, again, a secure environment, but stuff that wouldn't actually be easy to do on-chain due to the performance requirements. So for us, we're really happy that it's made it out there because it's a second spec. We envisaged that there will be multiple specs appearing over time, but especially given that it's ready in time for this conference as well, we're happy to have it out there and I'm really keen for people to take a look and start feeding back into it. And so that was all I was gonna say here, and I'll pass back to Ron to talk about the roadmap. Thank you. So we have a timetable for roadmaps and we try to tie it to events, so it puts pressure on the folks doing work. And so that helps. So our plan is to have a six month, as Connor said, a six month cadence. So we're an open door. Anyone who wants to be involved in the EA can be a member and just to share with you. So you know, it's $3,000 for a member with a company that has 50 or less employees. So we try to make it affordable. We're a nonprofit, so the money that comes in just pays for the work that we do trying to support the activities to get the spec done. We're not a profit making venture and we don't make a lot of money and what we get, we get approved by our board and then we spend it on making sure our test net will get in place. We have a test net. We'll try to promote to the whole world the benefits of blockchain technology. So those are some of the things we do. And again, we hire folks to work on our spec and as far as making sure it conforms to the quality and caliber that if we show our spec to a standards org and there's, they're called SDOs, standards development orgs. They're even more rigid like IEEE and we're not, we're like a wifi alliance so we can do marketing. So the quality and caliber of our spec has to be top notch and that's why our spec version is 0.5 for the trusted execution because it's really our first one out. So we're not making it a formal spec yet compared to the other work that we're doing. So every six months, we'll be coming out with a new one. We're trying to get to the point of, you don't see the test net there because I wasn't sure that we'll have one until I get commitments from members to say they're gonna do it and now I just got those commitments here at DevCon. So we absolutely, and in order to make that happen, you need a common consensus mechanism, correct? So that's what we're working on. So anyone who's interested and you could have a reason, not everybody's looking at enterprise side things but we do wanna scale so our solutions can support all kinds of future aspects of what maybe some of the things that you're working on and then we'll have, so we'll be tying our next one time to, like the consensus 2018 event type frame and then by next DevCon we'll have release four and then our plans to launch certification. You do certification through independent labs. So I wanna leave it just a couple of minutes so we're just about done. I just share with you, we're really committed to social impact. Part of the reason why I have this here is that we're going to work hard to get the enterprises to support and they already do, I've learned about it through some of our board members but we really wanna do a good job to help the whole side of social impact. So with that said, we have just about five minutes for any questions. So there you go. Connor, you can come up in case it's technical. Thanks. On the roadmap is there gonna be another client implementation of Quorum? Okay, that's a good question. So initially Quorum jump-started the work that we did and but right now what we, I'd say this about six months ago, we transitioned that there was a Quorum working group and Amber was completely involved and she can tell you, we transitioned that and we did change the name because we want the work, we want this to be a collective. So there isn't anything that Quorum's work contribute to the technical spec that's built into the spec that you'll download. And so there are multiple clients that are all incorporated rolled into one that should be have the level interoperability is defined by what they all agree upon that's required must have. So you have Clearmatics, you have BlockApps, you have the new Pantheon solution. All of those folks worked very closely together. So Quorum is a platform or you can download the source code, write the Quorum and but the goal is and it is because the Quorum guys are very involved in our org it'll conform to the A spec. Any other questions, Alex? Sorry, could you share? I know that there was a couple of sessions that we had on interaction with like public Ethereum. Could you just give a high level overview of what the outcomes of those were? Yeah, I'll talk a little bit about it and where so we've had multiple meetings with the folks from public Ethereum and our goal is we should be very collegially working collaboratively together and we are. We tracked the roadmap that goes on and the Ethereum Foundation, we had some meetings where we talk about like the EIP process and how the EIP process should benefit, we should be mutually benefiting each other. So we had a two hour meeting that Connor actually presented on and others and so we will actually look at what we develop and if we can see things that can work on the ECRs or any of the EIPs that makes sense, we'll do it. And we're also giving visibility to the folks in the Ethereum Foundation too. They can go participate and see what we're doing. What's not on here and I'll just say right now the work we're doing is our private permission networks. I've talked to folks in our org and teammates. We want a roadmap to address public commercial networks that use the Ethereum mainnet and so part of what we're looking to do and I've talked to a number of companies they to join us and contribute. How do we bring that in and so we're leveraging, there's so many opportunities for the public mainnet that are commercial and I can think of some that I'd love to see like get rid of the ticket scalpers, the second hand ticket market. I would pay money to have that done. So your imagination could just take you everywhere for what we want to do because there's a lot of work but you definitely need to create a spec, you need to get it certified if you're gonna get like FIFA or anybody else to say I'm gonna buy into it, they're gonna want to know that there's 500 companies behind it, there's multiple vendors that they can pick from. Any other questions? Great, thanks very much. Thank you.


Shea Bear 1000 here Today we've got this fluorescent light one of the bulbs is working Now I know both bulbs are good this bulb into that one and it works So let's take this thing apart And see if we can fix it Because we've got two more sets here. I think out of three we should be able to get at least one good set, right? Stick with me and let's do this together passenger, but I believe up inside here on each end There's one one that One that operates one side and on the other end it operates the other There's these little clips here that we're going to have to Try to take these out and get this cap off of here, and let's see what's inside there Let me get the bulbs out Okay, so the cords on the left hand side here So the one farthest away from us that'll be the good one. So let's Let's start and let's take this one off of here This cap off and let's see what we're what we're looking at if you hear something running in the background It's my little heater. It's pretty cold in the garage today. So I Lost the camera Okay, so anyway, let's uh So that's that up selling stuff for three days. So anyway, I did pretty good yesterday for being a Monday I made $8 so Alright guys, let me get you on the stand and let's see what we can do with this thing Okay, so it looks like we've got four of these little tabs We're going to try to Try to get these tabs Unclipped now.  It can be tricky Now I've never had I know anything to do with tabs Can be tricky I may not even be doing it right so I'm not sure And then uh, I'll kick you back on since I figure out how them come out Taking part because you're not supposed to repair these but shape our 1000 We're gonna we're gonna try to fix it. So Let me see if I can get this part and then I'll show you how I Now before I take this part, I want to show you something down here See how nice that is nice and flat and clean well somewhat clean Now on this side and you see that I'm guessing whatever the issue is is underneath this So I got to figure out how to get this off. Let's underneath that So let me do that and then I'll so I got it out and yes, you got then is these clips That makes it tight And you got one on each side there Holds that in they're painting ass, but you can get them to come out now this looks like this thing here Looks like we need to take that out. It looks like it's been hot And that being hot like that. I'm guessing is The reason this is not working. I'm gonna try to pull this out into this white wire So all I'm going to do is I'm going to clip that so I'm going to clip this right here Like I said, I'm just guessing I could be taking the wrong one out one out of the other one the same way I did this one But like I said, the only these clips So just work with them clips and you can get them out now. I don't recommend doing this. This is not really how to It's just what I am doing To try to make a couple lights work. I mean, they're just soldered on From the factory just the same way. I'm going to put them back. Let me grab a pair of plush The reason why it's not coming out real easy Is because that plastic is melted Let me get you that's why it's not wanting to come out. Hey, this is the issue here off of one of the other lights stuff down in here And we'll get it soldered back on I've got my soldering iron over there heating up and we should be good to go So let me get the other one out as soon as I get the other one out We'll commence to soldering the new one in well, it's not new but the good We'll go from there now this light as you can see remember they used to have a big black box in here That was called your ballast now I'm not sure if they still call this a ballast or if this is a Passenger, but I'm guessing it takes the place of the ballast So that way you don't need a starter. Remember the little silver Things you could put in and turn them and they were started like that anymore So let me get the other one out and we'll go from there. Here's The good one out of one of the other Lights had to change the tip on this thing because my other tip was like It's the tip itself like melted or something. I don't know Let's see if we can use this tip get some of this old solder off of here I was hoping maybe I could use some of it But sure came out a lot harder than that didn't light this up on there like that Remember it was this one that wasn't working enough to work and then when I walk away one of them's going to fall out I've got to plug here. I won't plug it in if we fixed it. This is a bad ball So let me change Let me change the ball. It might be a faulty ball. Put some heat on them. They'll kick on I'm going to clean it up I'm going to move this light and I'm going to turn it long ways like this And I'll probably put it over here This one here one of the ones Because I had okay. So now I've got this one over here So I'm just going to clean that wall off of all the spider webs And I'm going to put it turning down onto my bench here. So That'll be cool. I'll have plenty of light boy this camera You guys seeing that how it's like turning yellow I don't I suppose my camera's screwing up now Because it ain't doing it on the other one. It's because of the light. But anyway, there you go. We fixed it So that's how you fix one of these lights Never done it before but I figured what the hell There can't be that much wrong with them. And when I seen that melting part I knew there was something in there that wasn't right. Now we get get to go figure out what's wrong with that I won't take take you with me because it's cold outside It's only like 68 or 69 No, 58 or 59 Okay, and I'll figure out what's going on with that camera.  I appreciate it. Shea bear the myth the man a legend I'll show you after I get the lights hung the way I want I may do that Today and I'll show you what it looks like when I'm all done with that. Okay. All right guys. So here we go the light switch I'll flip the light switch on that one. I'm going to do away with it. I'll probably put another One right there and I put this one's a little brighter It looks like to me than this one though. It's a low lower wattage That's okay because she can do her laundry there. So I just appreciate it. Bye. Bye. Y'all take care