In this demo, we will take a look at the MEK1 evaluation kit and how we can achieve 3D positioning with several kits. Looking closer at the board, we have the MOD1 module, we have the USB Type-C connector for power and data, we have the on-off switch, and we have the mode switch, which designates the board as an anchor or a tag. In this demo, we will use 6 MEK boards where 5 are anchors and 1 is a tag. We plug in the USB cable, turn on the MEK1 board, and position the anchor. Then we measure the X, Y, and Z spatial coordinates and record them. We will program each of these coordinates of each of the anchor in the configuration tool. Then we switch the mode on the MEK1 to tag and connect the board to the PC. Then we affix it to the PC so we can move it around with the tag board while connected to the PC. In the PC configuration tool, we configure all of the X, Y, and Z anchor positions to the MEK1 tag board and save the setting. Our ultra-wideband setup is now ready for 3D positioning services. A quick view of the room shows the anchor positions and gives you an idea of where they are. The MEK1 board computes its real-time position based on the X, Y, and Z anchor positions that were previously configured. The data is sent to the PC tool through the VCOM USB service and is blamed as the green dot on the GUI. The data can be streamed real-time through the VCOM or visualized as shown in this video.


Okay, so you finally invested in a bike and now you need to know how to keep it safe and we're going to show you how. I'm here with Zach from Purefix. Can you give us some expert tips for keeping a ride safe, Zach? I can. Thanks, Amanda. A bike is an important investment and you want to keep it safe. The first thing I recommend is getting rid of any quick release levers on your bike. Quick release levers on your wheels and seat posts make removing them easy and that makes stealing them easy. It only takes a few seconds to remove a quick release front wheel or saddle. You should replace any quick release levers with Allen bolts or 15mm nuts. This doesn't mean your wheels and saddles are safe, it just makes them harder for a passer by to jack them. If you have a daily commuter that's locked up outside a lot, you might want to consider some camo for your ride. A bike that looks fresh and clean attracts would-be thieves. Try adding some creative touches to your frame. You can use stickers of your favorite brands to cover up logos that will make it look used even though it may be brand new. Your bike won't ride any different but it'll be much less attractive to thieves. Don't ever leave your bike unlocked. Now to lock your bike using a U-lock, it's the best to attach the lock through your rear wheel around part of the frame. Make sure to lock it to a solid object that can't be broken or moved. And make sure to lock it to your frame. Some people forget that. If you're using a chain lock too, loop this to the front wheel and around part of the frame. No lock is ever 100% safe. If someone has enough time and determination, they can cut through just about anything. But if you follow these tips, you can reduce your chances of being another statistic. Alright, thank you so much Zach. You guys got to remember to get the right lock and lock up your bike. If you have any comments, please comment below or hit us up on our Twitter. I'm Amanda and I'll see you in the streets.


السلام عليكم ورحمة الله وبركاته Welcome back to this beautiful beautiful series we have this year It is known as supplications from revelation Every one of us makes dua We call out to Allah We need to know how to call out to Allah We want our du'as to be accepted And we are looking at those du'as mentioned in revelation Revelation includes the Quran And the Sunnah of Muhammad ﷺ بسم الله و الحمد لله والسلام و على عبد الله و رسوله محمد و على عاله و صحابه أجمعين We praise Allah سبحانه و تعالى We send blessings and salutations upon Muhammad ﷺ The best of creation The most noble of all messengers of Allah سبحانه و تعالى His household companions And every one of us may Allah bless us And grant us the best month of Ramadhan أمين My brothers and sisters Episode number two We ended by making mention of the prophets of Allah سبحانه و تعالى And the fact that they called out to Allah In Surah Al-Anbiya Verse number ninety Allah سبحانه و تعالى says إنهم كانوا يسارعون في الخيرات Let me recite this beautiful verse إنهم كانوا يسارعون في الخيرات و يدعوننا رغب و رهب و كانوا لنا خاشعين Indeed they used to make haste They used to make haste in doing good deeds They used to compete when it comes to doing good deeds And they used to call out to us with two qualities For indeed they were the ones who were humble They were filled with humility They were obedient What are these two qualities? رغبا و رهبا They had hope when they called out to Allah That Allah would answer them And they were fearful as well Of the wrath of Allah The punishment of Allah Anything negative So it's amazing When I'm in need I have a fear A fear of what? A fear that there is something I want and I need How do I get it? There are so many ways of doing it Allah has given me a capacity I may go out to look for the job I don't know if the job is going to be good for me I don't know if what I want is going to be good for me Say for example those who are sick and ill May Allah grant them cure If you're looking for cure You're going to go to this doctor You might want to go to another For a second opinion But in the interim Through that fear When you call out to Allah It brings within you a hope It brings within you a hope Hope in the mercy of Allah I know of so many people whom The doctors have written off That you have so much to live And that's it Limited amount of time And they're still living I know of plenty Who was that? That was Allah That was Allah The maker May Allah SWT Cure to all those who are sick and ill So this du'a This description of the way The messengers used to call out Is important because I need to learn from it When Allah says أُلَا إِكَ الَّذِينَ هَدَ اللَّهُ فَبِهُدَهُ مُقُوتَ دِهِ Those are the ones Who are rightly guided So with their guidance You should follow And you should make sure That you are following that guidance Of the messengers Subhan Allah So when they called out to Allah What did they do? They called out to Allah Having hope in the mercy of Allah Knowing that Allah is going to respond And at the same time They had fear They had a sense of consciousness of Allah Knowing that if Allah doesn't help Who's going to help? So when we call out to Allah Subhanahu Wa'Ta'ala We should definitely be from among those Who understand this So my brothers and sisters I'm going to give you A few of these du'as Of the prophets of Allah They sought forgiveness From Allah Subhanahu Wa'Ta'ala Isn't it strange? Isn't it amazing? You have Muhammad صلى الله عليه وسلم Flawless No sense Nothing against his name That is negative And he's seeking the forgiveness of Allah And he's calling out to Allah Subhanahu Wa'Ta'ala Surely those of us Who are his followers Need to make sure we've taken that And we will repeat it We will do it exactly How he did it Subhanallah But let's look at the previous prophets Also معصومين Chosen by Allah Subhanahu Wa'Ta'ala Allah Subhanahu Wa'Ta'ala Speaks to us about How Adam عليه السلام Called out I already made mention of that In the previous episode Then I want to move on to Nuh The prophet Noah May peace be upon him What happened at the time of the prophet Nuh عليه السلام He asked Allah to save his son Now many of us have children May Allah bless those Who don't have children With children Amin And may Allah bless those Who have children That those children Would be the coolness of their eyes Amin Nuh عليه السلام Had a son Who did not want to listen to him So when Nuh عليه السلام Told him I'm a prophet of Allah You need to worship Allah alone He just went away And he decided He doesn't want He's going to climb the mountain When the water started coming And the rains And all the water was gushing From everywhere He decided You know what I'm going to climb the mountain Nuh عليه السلام Says No my son Come But he didn't So Nuh عليه السلام Was saddened Because obviously His son Did not accept the message So He had asked Allah To save his son But the son was not saved Later on He realized That you know what I shouldn't have done that Now we wouldn't even consider This a sin Or something We need to seek the forgiveness Of Allah Subhanahu و تعالى For Take a look at the high level Of these prophets Of Allah Subhanahu و تعالى Their status Was so high That what we don't even consider Something You need to seek forgiveness For They sought forgiveness For that So Nuh عليه السلام Says ربي إني أعوذ بك أن أسألك ما ليس لي به علم Amazing verse This verse is in Surat Hud Verse number 47 Nuh عليه السلام Is saying Oh my God Oh my God I am seeking protection in you From having asked you that Which I don't have knowledge Wow We don't even consider that a sin You know I asked Allah Allah didn't give me Okay So الله أكبر May Allah not do that to us But I am just giving you an example Nuh عليه السلام Says Oh my God Save my son And The son was not saved And he said Oh my God I seek your protection From having asked you something That I don't have knowledge about الله أكبر و إلا تغفرني وترحمني أكم من الخاسرين If you don't forgive me And you don't have mercy on me I am going to be From those who are the losers I'm going to be from the losers My brothers and sisters Do you notice the similarity Between Adam عليه السلام's دعاء And Nuh عليه السلام's دعاء They were not too far of Apparently According to the narrations There were only 10 generations Of people between Nuh And Adam عليه السلام He's calling out Saying the same thing Oh Allah If you don't forgive me You don't have mercy on me I'm going to be From amongst the losers In that case They said If you don't forgive us And if you don't have mercy on us We will be from among the losers Who was that? Adam and Eve حوا عليه السلام And here it is Nuh How many of us When we call out to Allah We say Oh Allah forgive me If you don't forgive me And if you don't have mercy upon me I'm going to be From the losers الله أكبر Don't you think we should add that In our duas Oh Allah If you don't have mercy on me If you don't forgive me I'm going to be From the losers Look Adam عليه السلام Said exactly the same thing Nuh عليه السلام For something else Totally is saying the same thing وإلا تغفر لي وترحمي أكم من الخاسرين I'm going to be From among the losers And Allah سبحانه و تعالى Responded to him In such a beautiful way I want to move on To another dua A dua of Ibrahim عليه السلام You and I Know Ibrahim عليه السلام Had a special relationship With Allah Allah tested him so much One after the other He kept on calling out to Allah With us We have tests That Allah places in our lives One after the other Five six And we become despondent We want to lose faith We want to lose hope In the mercy of Allah But go back And look at those Who are better than you Better than I They had more hope And they suffered Much more than you And I Ibrahim عليه السلام One after the other So many things happened I want to actually Concentrate on the supplication He says رب الغفر لي ولي ولي دي ولي المؤمنين يوم يقوم الحساب صورة إبراهيم The whole chapter is named after him He says Oh Allah forgive me My parents And all the believers on the day That you will take the accounts The day of reckoning What do I learn from this Ibrahim عليه السلام He made dua for his parents This was prior to the prohibition Of making dua for those Who passed away on disbelief For their mercy But besides that His concern was not about himself alone How many of us When we call out to Allah We're just worried about ourselves Oh Allah give me Give me Give me I want I'll have I want Or my children And that's it It stops at your children Make dua for yourself Yes Your family members Definitely Broaden it The community Not only that All those to come Those who have passed What does it cost you To include them Oh Allah have mercy On every one of us I mean What does it cost you To include them Why become stingy Miserly Negedly When it comes to dua It's not something material You're losing nothing In fact You're gaining Because when you pray for others The angels are praying for you So here Ibrahim عليه السلام Says oh my Rab Notice he's using also The term رب ربنا There's ربي We spoke about That here is ربنا ربنا غفير اللي Oh Allah forgive me My parents My family members And the مؤمنين The day of reckoning So His mind is gone far His belief is gone far He believes that There is a day of reckoning Indeed It's manifest from his dua And he's gone so far That oh Allah forgive All of us He didn't say Those I got along with Forgive them Those I didn't get along with Punished them Etc. No You need to be broad You need to have a good heart You need to open that heart Oh Allah Forgive us سبحان الله This is a beautiful Du'a of Ibrahim عليه السلام And then There is another Du'a of Ibrahim عليه السلام Where he says والذي أطنع أن يغفر لي خطيئة يوم الدين He says And he is the one He was describing Allah He is the one whom I have hoped That he will forgive My sins On the day of judgment Brothers and sisters Learn to have hope In the mercy of Allah Have hope in the mercy Of Allah No matter what you've done No matter what you're trying to achieve Have hope in the mercy Of Allah Allah will never leave you For as long as you do not leave Allah If you leave Allah You'll be a goner سبحان الله نسوا الله فنحن And if you leave Allah You'll be a goner سبحان الله نسوا الله نسوا الله فنسواهم The Quran says They forgot Allah So then Allah left them But for as long as you have Allah Flickering in your heart Allah is with you Never lose hope Don't allow the devil to come to you To make you think That you know what There is no mercy of Allah for me There will always be mercy of Allah Even upon your deathbed The best thing you could have Is hope in the mercy of Allah Hope That the hereafter Is going to be better Than this life Many people ill and sick On their deathbeds And people don't know what to tell them Remind them of their good deeds Remind them of the mercy of Allah Remind them of the beauty of Jannah And tell them you are definitely going to Jannah تلفردوس By the will of Allah If you had iman And you tried And you believed in Allah Well, there is good waiting for you It can never be bad for a mu'min من الله سبحانه و تعالى Grant us protection Then إبرايم عليه السلام As he was going through The instruction Of Allah سبحانه و تعالى He always called out to Allah It was not enough for him To just do what Allah wanted And then carry on No He always said Oh Allah accept it from us Oh Allah forgive us Let's take a look at The example in Surah Al-Baqara He says Show us Show us our acts of worship And forgive us For indeed you are The most forgiving The most merciful We learn a lot from this دعاء Of إبرايم عليه السلام دعاء meaning supplication We learn a lot from it He says Oh Allah show us Our acts of worship Show us how you want to be worshipped He didn't just do Whatever he wanted And said Right Allah will take it Because you know what My heart is sincere He actually said Oh Allah guide us Show us how you want to be worshipped Then he says And forgive us We're going to try Our best to fulfill What you've asked us To fulfill in the best possible way And we want you to forgive Our shortcomings We want you to forgive That which we know The sins we've committed And even the shortfall In the worship That we are supposed to be fulfilling For your sake So Oh Allah Forgive us توب علينا Why إنك أنت التواب الرحيم You are the one Who is most forgiving Most merciful تواب is a name of Allah That refers to The one who constantly forgives One after the other Didn't I tell you You did one thing You did two things Three things Five things Ten things Keep on seeking When you repeat it Repetition helps you When you have a du'a You want to make Keep repeating the du'a I remember a time When I made a du'a And I kept repeating this du'a That some people considered impossible And I repeated it so much And so often Morning, afternoon, evening and night One du'a Together with praising Allah And all other things And a time came Some years later When I was given that Subhanallah In a miraculous way I'm talking of myself I'm sure there are so many of us Who have similar examples But the best examples Are those of the prophets of Allah Here They always had hope Oh Allah You are the most forgiving Most merciful May Allah SWT Grant us forgiveness I'm showing you The verses of the Quran Supplications The seeking of forgiveness Of the prophets of Allah Yet they did not need it Look at Musa A.S. Musa A.S. Once he had punched someone Allah took that person's life away Right? And he felt it And he was so so remorseful And immediately He felt a regret Within a split moment He said ظلمت نفسي Oh Allah I've wronged myself Notice the same word Used by Adam عليه السلام ظلمت نفسي They said ظلمنا أنفسنا How many of us say Oh Allah I've wronged myself Oh Allah I've wronged myself قال ربي إني ظلمت نفسي فاغفرني Oh Allah This is Musa A.S. saying Oh Allah Oh my Rabb I have wronged myself So forgive me Just that one word فاغفرني So forgive me So Allah says فغفر له So he forgave him He asked Allah's forgiveness Sincerely With remorse, repentance And Allah says We forgave him What did it require of him In terms of words ربي إني ظلمت نفسي فاغفرني Oh my Rabb I have wronged myself So forgive me Allah says فغفر له So Allah forgave him Wow As simple as that And we are busy sitting here Losing hope to say Oh you know I think I've done too much And I think it's You know Allah Won't forgive me I've come across So many people who keep saying this It's dangerous No Be determined Seek the forgiveness of Allah But you need to believe That you've wronged yourself Because when you commit a sin You're not harming Allah You're not taking anything away From the kingdom of Allah But rather you are harming yourself So seek the forgiveness of Allah And Allah سبحانه وتعالى Will forgive you And you know what In that verse The verse of Surah Al-Qasas Verse number 16 Allah says إنه هو الغفور الرحيم Indeed Allah is most forgiving Most merciful You see تواب is also The one who forgives often تواب تواب is actually The one who accepts The return of those Who are returning to him And غفور is the one Who forgives سبحان الله So there is The difference between the two Is something interesting One is When you return to Allah You've changed your ways Your habits You know that Everything has changed I'm تواب I've come back to Allah I've come back to Allah تاعب I've returned to Allah It's as good as you've You're not committing any sin before التاعب من الذنبي كملا ذنبلا محمد صلى الله عليه وسلم Says the one Who sought forgiveness from sin Is equivalent to He who did not commit sin at all سبحان الله Why?  Another du'a Is the du'a of Sulayman There are more du'as Of Musa A.S. But we want to move Inshallah The du'a of Sulayman A.S.  Here we are speaking About Sulayman A.S. Saying Oh Allah forgive me And grant me I think it's Important for us To know that Without that forgiveness Don't expect to have From Allah Something We seek Allah's forgiveness We are on The page As I've been saying And then We say Oh Allah Grant me this Grant me that Grant me what I want For indeed You're the owner Of this You're the owner Of that You're the owner Of absolutely everything That's the mercy Of Allah So when we look at Sulayman A.S. And we see He was given Everything Kingdom Such that The jinn were Under his instruction The wind Under his instruction He communicated with them He instructed them The birds The insects Everything Everything He was granted Muhammad A.S. Was given more Than Sulayman A.S. But from a different Angle Sulayman A.S. Was given something Unique Subhan Allah But even Muhammad A.S. He says And this makes me Cry every time I think about it He says إني لأعرفوا حجر بمكة كان يسلموا علي He says I know a stone in Makka That used to greet me Subhan Allah Subhan Allah Imagine The stones recognized That this is the The Nabi of Allah Subhanahu Wa Ta'ala And some of us We couldn't even care I seek refuge in Allah He was the best of creation The stone recognized him Greeted him And he says I know a stone That used to Greet me in Makka A rock That greeted me in Makka Subhan Allah He also communicated With all these things Just like Sulayman A.S. did But he was favored Way beyond Sulayman A.S. In different ways In ways That Sulayman A.S. Did not see But this was the du'a When it comes to Dawood A.S. Who was the father Of Sulayman A.S. We will see his du'a Insha'Allah In the next episode May Allah Subhanahu Wa Ta'ala Bless us all I'm really enjoying This beautiful beautiful season Of رمضان I look forward to seeing you tomorrow With more of these beautiful supplications أقول قولي هذا وصلى الله وسلم و بارك على نبينا محمد


What's the first year and how much do you get? Oh, look, you can't put a figure on it. There have been no factions in the Labour Party either based on ideology or on personality. Look, I've got to say this about Chris Carter and I've said it to you before. He is one of the most hardworking MPs in Parliament. I hold hard at his support, Mr Goff, as leader, and I'm looking forward to working with him in the government in 2011. The question is whether Phil Goff is the person to lead New Zealand. We are against it. I am against it. We are now against it. We were quite relaxed. The word relaxed was no. Every time that my whanongas talk about leadership, they actually diminish my prospects. There is no question of support for my leadership. So you're promising well over 200,000 jobs, eh? Oh, look, you can't put a figure on it. Labour is now completely dysfunctional. It has to put Phil to bed. He's a very good politician, very slick, very professional in what he does. What is the first year that you gain any additional revenue from your tax switch? I think it's about 2016-17. Again, I don't carry all those things in my head. Well, it's 2018-19. It's a long way off. It is. One thing I would have liked to have learned more of was about financial literacy. And Phil lacks the capacity to work out how to give real leadership. Had they turned that complaint into a charge later against him... Again, Mr Goff, you're the leader of the Labour Party. This is politics, the temptation is for one to think you put friendship over stewardship. No, no, friendship over the stewardship of the party. Frankly, what you're showing me is showmanship. I'm trying to deal with this seriously. But, Fred, you'll just have to put up with me for another couple of years. Phil Goff says he wasn't briefed about the investigation. These documents from the SIS say he was. In any future meeting with Warrantucker or the SIS, I will have a third party present. Where there are problems, that opens the opportunity to renegotiate particular areas. So you will stick... You would renegotiate? Well, if there is a problem there, obviously we would look at it. I take him at his word that he has not done anything against the law. I think there will be a question of judgement, and I'll acknowledge that. You learn and you move on. Look, right at the start, it was a casual interview with the Herald. I said, look, we haven't worked out the detail of this, but here are the principles. There was a global financial crisis in 2008, but that was over by 2009. What is your view on whether we should have some form of capital gains tax? That doesn't immediately appeal to us as a key priority for any incoming government. I want the detail. You'll have to go to the policy researchers on that. I'm setting out the broad parameters. You know, I'm setting out the broad parameters of the policy. I've answered the question, Duncan. I'm not going to answer it again. Why don't you just live in your flat and not claim any money from the tax plan? Because the flat is currently tempted and I plan to sell it. I don't want to sell the thing and not get a decent sale price. I've got it right here, I think. No, no, without looking. No, I'll give you the figures just to make sure I've got them. Yeah, it's $78 billion. Yeah, look, those details go to an expert panel. I'm going to be the first to admit that I was wrong in the judgment that I made at that time. Abelita Phil Goff became Phil Gaff today when he got his finance spokesman's name wrong in a major speech about the economy. Labor's finance spokesperson, David Cagle. Can I just say, I've noticed you've started to walk differently. It's like a meaningful stride. We're expecting that after the election he'll still be standing as leader. Here's the leader taking us into the election. You shouldn't ask personal questions or if you do, you should ask John Key as well. He was looking very tired and drawn and beaten and I felt a little sorry for him. Would you take the leadership of the Labour Party? Oh, well, that lies somewhere between our caucus and Providence, so we'll just wait and see about that.  How many people will be exempt from it? I'm going to get the figure on that. That's why we don't need to know the specific figure on that. But I am not the leader of the Labour Party. Well, I'm not the leader, Patrick. Purely hypothetical questions, so I won't answer that one. Look, you know, I've got a track record. I've had 15 years as a minister. I've never tripped up. I've never stuffed up. I've done the job confidently. Well, that's bullsh**. Frankly, that's just nonsense.


Myself is C. L. Rathod, Assistant Professor, Department of Mechanical Engineering, Vulture Instructions of Technology, Solapur. Today we are going to start a second problem that is orthographic projections of simple objects. At the end of this lecture, student will be able to draw the orthographic projections of simple objects. So this is the simple object I have taken for the second problem. So for this one, we have to draw the orthographic view of a given diagram. So from this one, we have to draw the front view, we have to draw the top view. And you can see here, this is the diagram. So when we see from the x direction, so this is from, we are seeing from the x direction or from right side, we have to see from this diagram. So for this one, we have to draw the front view in this area.  So here we are interested to draw the front view and side view. For this one, when we see from the x direction, we are going to see the base of the front view is 75 mm. So in this one, 25 mm, 25 mm, 25 mm, 3 blocks will be drawn first when we see from the front and here also we are going to see this portion that is trapezoidal portion we are going to see. So here when we see from the front, in the x direction, we are going to see this direction. Here when we see from the x direction, we are going to see this portion and this portion and this portion and this trapezoidal portion we are going to see when we see from the front. So first what we have to do, we have to take the 75 mm, so 25 mm, 25 mm, 3 blocks we have to draw and here the trapezoidal diagram we are going to draw in the front view. Now first we are going to take this when we in order to draw this diagram we require the reference lines that is x, y and x1, y1 and you can see here I have written front view base is equal to top view base, front view height is equal to side view height and top view height is equal to side view base. So here front view base is 75 mm, so we are going to take the 75 mm is the base.  So you can see here is the tolemium it is given. So from this one I have to draw the tolemium, this is the tolemium block I have to draw, so this is the tolemium and in this one I have to divide this 75 into 3 blocks of 25 mm each, so I am going to take 25 mm here, another 25 mm here and 75 mm. So now I have to join this all the 3 blocks. So this is the height 12 mm and this is the 75 mm. So when we see from the x direction the height of this front view is 12 plus, 12 plus 25 that is 37 is the height of this given diagram. So now I have to take from 12 and here from 25 I have to take, so total is 37 height I have to consider for this diagram and when we see from this one, when we see from the x direction this trapezoidal figure you will going to see here and in this one you can see 25 by 20 block I have to draw. So for this one, so from this I have to draw the 20 mm block and you can see so this trapezoidal diagram it is not touching to the left side of the block. So from this one you can see this is the here from here it is 20 mm is the length. So I have to take from this point left side corner of the diagram I have to take 25 mm sorry 20 mm I have to take. So I have to take 20 mm from this one. So this is the 20 mm and then I have to join this trapezoidal diagram. So now you can see here when we see from the front in the x direction we have drawn the 25 mm 3 block and this trapezoidal diagram. Now so I have to mention the dimensions of each block. So now from this one so this is the 75 mm total length is base is 75 mm and this is the 25 in this one so I have to draw this 25 each side. So from this I have to take these 3 blocks of 25 mm each and you can see here its height is 12 mm so from this one I have to draw the 12 mm so this is the 12 mm block 20 12 mm I have to draw 12 mm by 25 mm and from this one it is 25 mm is the height. So I have to draw the 25 mm from the 12 mm base so this is the 12 mm. Now when we see from the front this block 20 mm we have to draw here so this is the dimension for this block of 20 mm. Now so we have completed the front view now in order to draw the top view so what I have to do I have to take the projection of all the points so here I have to take all the projection from this so these are the projectors we have drawn and from this one also this point from this point I have to take the projector. Now 75 mm is the base of the top view so here is the 75 mm I have to take so this is the 75 mm top view of the base and height of this object is 50 mm so I have to take 50 mm on both sides so here 50 mm I have to draw this 50 mm and from this also I have to take 50 mm and I have to complete this block of 75 by 50 mm. So in this one I have to complete the top view when we see from the top you will going to see that so this portion you will going to visible this portion you will going to visible when we see from the top and this complete block you will going to visible when we see from the top view. Now so what is the dimensions of this one so when we see from the top you will going to see this block is at the right side of the corner so you can see here 20 mm is the block so I have to draw the 20 mm block of 25 so I have to take 20 mm from this so this is the 20 mm block I have taken so from this also I have to take the projector and now so I have to take 25 mm from this top right corner I have to take 25 mm and I have to complete the block of that one that is here 20 and then this is the 20 mm by 25 mm block I have to taken and drawn at the right side corner of the our block. Now when we see from the top you will going to see 25 mm by this block of 20 mm so I have to extend this up to this point so here I have to extend this one this is the block of 25 by 20 mm block I have drawn and when we see from the top you will going to see here this block we have to draw this and this block we have to see when we see from the top you will going to see this one is the slot we have to show here so from this one 25 then 12 then 25 then 12 then 25 so like that I have to take here so here is the 25 mm so up to 25 mm I have to draw then 12 mm from this I have to draw and then from this I have to draw the 12 mm from this one and up to 25 mm I have to complete this one so this is the top view when we see from the top you will going to see this block and now we will going to dimension all the dimensions here you can see here so this is the 75 mm and base of this height of this side top view is 50 mm and you can mention here it is the 12 mm you can see here this dimension is the 25 mm now pause the video and think that when we see from the side view which one is the part is is not visible here I think you understood the things when we see from the side view so you will going to see this portion you will going to see and this portion you will going to see and one more thing it is not visible here this line is not visible so for that one we will going to draw the dotted line so these are the references I have taken for this simple drawing engineering graphics by Sri Thakur Dinesh Singh Mahalakshmi Publication House. Thank you.


started marketing the ADA basically without having it. Actually, I didn't even know what it really could do to you, the impact that it would cause. I just followed people's advice on everything that I could possibly, you know, I tried everything. And so in 2010, so a year later, I actually, we were completing a project for the USDA. And that was not a day, we were a sub. It was a pretty large CM at risk contract, and relatively large for us. And everything started happening one at the same time. I actually thought we were not going to get any, we weren't going to have any work because in 2010, this is the summer, we, there was nothing really in Miami. So everything started happening at the same time. And I actually hired 25 people in a month. So basically at the same time, we got a contract with Trouson District, a contract with Mobile and a contract with in Cape Canaveral. So at the same time, and I also, because I'm a believer of not focusing on one market only, that's kind of scary for me. We actually were also starting a contract with Miami-Dade County a little bit. And as a sub performing the concrete and the shell on a 30,000 square feet building. And so what happens is that we went to do a capability briefing on a, in Cape Canaveral. And this is, this is what I called a miracle. Many of the, of the miracles that I have had in my life, and also in the journey of this company that I have, went to do the presentation. And as we were driving back to Miami, in the middle of the road, they called and said, you have a three and a half million dollar contract.  I mean, we just wanted to be on our knees there and just praising God for the miracle because really a lot of people were closing doors in that time. Yes. Yes. Yes. So yeah, three and a half million. And then we had two subsequent contracts renewed on the same base. Now the, you said it was in Cape Canaveral. Yes. Okay. Now, was that directly with the base or was that with the core? No, Air Force. Okay, Air Force. Okay. All right. That was the first contract. Wow. Now, let's take it. Let's go back. Now, where does the name Luna kind come from? So Luna, Luna means moon in Spanish. Okay. And and Connie's construction, right? So it's funny. My, my partner, although I started the company, my partner today, who's actually my husband, too, we met working for another construction company, a large company down in Miami. We separated. I went my way. I went to be the director of construction for the city of Florida. I saw that heading the construction department there. That's our company. And we kept in touch, became very good friends. And we also became, got into our relationship, but we would separate, right? Okay. We would separate. And so when we were separated, we, we thought the moon communicated. We communicated through the moon. Oh, wow. It's way too romantic for construction. But that, but that is a true story. So, so when the logo, when, when, when we sat down with a guy that was doing the logo in Dominican Republic, I said to him, you know, it has to have the moon because it represents God in our lives. And God has to be the center of this company, just like it is the center of our lives. So it's way too, too much maybe for, for these folks. No, no, I think it's a great story. I think that, you know, it's a great backdrop to, to stating, you know, where your vision was headed right from the beginning. And then you carry that forward. Now, are you from Dominican Republic? Is that where you're from? Yes. Okay. Okay. So that, so you are from Dominican Republic. And you had a guy over there design it. Yes. So yeah, we didn't have any money. So I was in the garage. So I had to go, I basically sent a text to my brother and I asked, do you have somebody that can design this, this our logo? Because it has, I cannot compromise quality because I don't have money. I just, you know, money was tight. Yes. I was fighting and I didn't want to overstay myself, but I wanted greatness. And so that's, that's exactly what happened. We went to Dominican Republic sat down with him and until he did it and he produced what we think is an amazing logo. Actually, we trademark it. And if you have seen it, do you have our business cards with you? Yes. Yes. So you see four moons, right? Hold on. Let me pull it up in front of me. I'm on your website. Let me get Jackie's card. Oh, I didn't notice that. You're right. So the four moons represents four people brainstorming on a plan view. If you look at look at them from the top, so from the, from the, from the top to right. And then it also represents a star. It represents a cross. It does. I could see it all. Wow. That's pretty deep. So when we're lost, we have a star. We remember we have a star. There's always guiding us beyond what we can see in our, in our physical world. And we have that as a center of our lives. Wow. No, that's, that's, you know, that's seeing this car, but sometimes you don't just look at the logo. You don't really pay attention to it, but I see it now. I see it. Wow. That's great. So now, you said you didn't have any money. What made you quit your job at the city of Fort Lauderdale?  I'm sure people probably told you were crazy to walk away from that. Right. They did. I know.  No, I can't. Can you? Can you? I mean, I can take a guess certainly because I know what that's like when you work for the cities and they don't, they don't give you your freedom to be able to grow, to develop as far as what I've seen. They kind of pigeonhole people. You can't become like, you couldn't be doing what you're doing now. Obviously working for the city. Maybe you want to help others. So I definitely, I did everything I could at that job and it was definitely an experience. It helps me put myself in the shoes of somebody working for the government. Okay. I can tell, you know, what they go through. There's a lot of competent people. But really, I had had a dream of having my own company and the moment in time when it happened, when it really wasn't the most convenient because I was then single with three children also. It was also an act of faith. So God said, this is the time when you're going to have a company and it was scary, but it was, I was very certain that it was the right time. And yes, people said that I was crazy. And you just, so you just, you just quit? Yeah, I said, I'm going to start my company. And I remember, I remember the city manager saying that I wasn't ready to start a company. I remember somebody else saying that I was, are you crazy with three kids? How can you do this?  Yeah, my brother said, no, the economy is tanking. It's horrible that what's going to happen in finance. And, and you know what, it just, the, the, the belief inside was stronger than any of those. The believing what was possible was stronger than the fear that was trying, was being in, you know, people were trying to impose on you. Right. No, that's, that's, that's, that's, yeah, it takes a lot of faith. That takes a lot of faith to do. Now, prior to working for the city of Lauderdale, how long, how much of construction experience did you have before that? I had acquired 17 years of experience. Okay. Okay. So you knew the industry in and out. So you were pretty versed. Okay. All right. Well, that was, I mean, that was good. I actually came from a real estate background into this. So I had to learn like, by hitting the ground running, I didn't have any, a lot of prior knowledge to pull from. So you walked away, you quit your job, you founded the company, 2007, three kids, you got 8A. How did you learn about the 8A program? Somebody told me, somebody I was working with in the USDA project that I actually, actually after I left the city, another miracle, two days later after I left, two days. I got this phone call about this project, this architect I had worked with, and my partner too had worked with in a school. He said, I need somebody that can be the owner rep and can be doing construction management for, on behalf of the owner on this project, that was a $23 million job. So yes, I didn't have any work and I didn't market this, I didn't even, it really literally came from God, I think. It was just a remark to say that we were in the right track. Right, yes, it was a confirmation. A confirmation, that's the word, thank you. I'm still trying to learn how to speak English. No, I don't know, I think you've done it right just far, you know, where you're at, I mean, so keep going, please. So yeah, so two days later this happens and it took the two years of the recession, that contract was sufficient for that and that is exactly what happened. So I actually forgot your question, the original question. Well, so the original question was how did you learn about the 8A program? So as I was working on that contract, this, this person that was working there said, oh, you should, you should become 8A because I was being certified in everything I could possibly certify. I didn't know what I was doing when I started my business. Yes, I had already acquired experience, but as a project manager, right, you know, running construction projects, large projects, but it's not the same. No, no, totally different, I agree. I would agree. You know, there's a lot, there's a lot more to own in your own company. Oh, absolutely, absolutely. A lot of times we leave our jobs because we're good technicians and we know, you know, how to do the day to day of whatever technical aspect, you know, of our duties, but it's not the same as to running a company. Right.  And so one of the things was become 8A, I researched that and I did it. Hire somebody, you might know her, she helped me. I just didn't want to spend the time to go through the process. Lourdes, Martin Rosa, you probably know her. Yes, yes, I know the name. Yes, I know her. And I got it done and it was done. And then what I did though, I started marketing it before receiving the, when I learned what it could do, then I was proactive in the sense that I was traveling everywhere. I could possibly go through to learn about it, to expose the company, brand the company with the federal government. Okay. So it didn't take me as long as other people. Yeah, that's what I was going to say. A lot of people, they get the 8A and they don't know what to do with it or how to do it. And it takes, I've had people on the show that it took them eight years before they got their first contract. Now, I did spend money though, because some people don't understand the value of investing in marketing and, and networking and, you know, so in the contract that I had, I spent money from the money that we were making. Yes. In marketing, meaning, you know, Miami, it's basically way south of the United States. Yes, yes. We don't have a lot of military action. No, no. For you to get work, you got to travel. Yes. And that means money and time. So you have to multiply yourself because you got to do your day to day job and you need to do the other job.


is my Prusa Mini with the Slice Engineering Copperhead. And this is an Alien Oxalottle by Zal3D. I think this came out so good. And those layers look awesome. If I flip that around, you can see how smooth that is. Zal3D did a really good job designing this and they made a Christmas Alien Oxalottle. Let me know in the comments below if you wanna see that too.


Okay, so good afternoon everyone. Thanks for attending this session. Today we're going to talk about OpenWRT and LED. So let's first ask a question. Who knows OpenWRT in the room? Good. Who knows LED? Wow. Okay. All right. That's going to be interesting. First of all, let me describe a little bit about myself. So in 2004, I bought a Lynx's WRT-54G from, which was this ancient and venerable router, which got me interested in Linux, cross-compilation, and later on OpenWRT. In 2006, I became an OpenWRT developer, which essentially meant having it at OpenWRT.org email account. From 2006 to 2013, I was very active with the project. And in 2013, I joined Broadcom to work on Citabox, cable modem, Linux, kernel, toolchain, bootloader, root file system. When the LED project was announced, after a couple months of reflection, I ended up choosing to request commit access so I could keep working on the code base while remaining in OpenWRT at the same time, which is kind of a weird thing to do, I guess. But here we are. So in summary, we're going to talk about OpenWRT and LED from a technical perspective, what they are, what they do, why they're useful in the existing embedded Linux landscape. Then we'll talk a bit more in-depth into about the design features and a few examples that might be helpful. And finally, we'll talk about the just drama and the interesting bits about what's going on in the project and where we currently are, why did we reach that point, where we are today, and what to expect next as a user and or developer. So let's start with an introduction to OpenWRT and LED. So what are they? So they're essentially pre-things, if you want to say it. One thing is they're a build system, very much like build route or Yachto. They have their own way of building packages, so they have recipes to build other software. They're also Linux distributions in a sense that it's not technically new Linux software. It's more like busybox Linux software, but there's also a bunch of custom user space due to the specific niche that OpenWRT and LED want to address, which require this customer user space. And maybe more importantly than all of these two technical things are the communities surrounding the two projects. So wiki, extremely active forums, mailing lists, code repositories of course, but a ton of users, fewer developers, and a fair amount of contributors to two projects. So if we actually look at what we have, essentially on the left side we have open source software that could come from pretty much anywhere HTTP, Git, SVN, you name it, or local file. You have OpenWRT lead user space components that are either versioned directly with the build system and the same repo or coming in a separate repo. Then there's the core OpenWRT lead that is consisting of makefiles, a dot config based approach we'll talk about a little later, and several tools for different purposes. And so on the right side in green you'll see these are kind of the intermediate build products that we have from the build system. So based on user configuration and selection, you'll get a kernel image for your platform, a root file system that exists in whatever format your platform needs could be UBI, UBIFS, JFFS to EXT4, you name it basically. If your platform requires a special bootloader, we can eventually build it as part of the platform. Like if your bootloader is too ancient and you want to use the newer version of UBoot or something like that, that's a possibility. And finally we have a toll chain which OpenWRT lead, we can do different things, we'll talk about it a little bit more, but it's more of an intermediate build product to build these other products. In orange boxes you have kind of the redistributable components. So packages, and by that I mean like dot IPK packages, so similar to DBN or RPM packages that you can install later on. You have firmer images that are for 95% of the platform supported, you can basically upload that file to the web interface of your router and next reboot you're into OpenWRT lead. We have an SDK that basically encapsulates the toll chain and the essential parts of the build system, so as an application developer you could create packages directly without rebuilding all of these things. And we have an image builder which is more geared towards like integration of existing packages into an existing image. Some of the design goals, so probably the most important is the maintainability of what is it that we're doing with this project. So as much as possible we try to work with the latest technologies and by that I mean latest kernels as much as possible, latest toll chains, latest TLS SSL libraries as well, and not use like ancient CGI web interfaces or things like that, more like JSON RPC or other things. As much as possible, and that's just like any Linux distribution, try to make frequent updates through the different software that is shipped. Another goal of OpenWRT lead is the ubiquity in that most of the shelf routers that you could find out there will be supported within weeks or months after they've been shipped and sold to the public. Most of the time, thanks to the community that does a tremendous job in like reverse engineering the tarble of the vendor and just does what it needs to be done in the kernel or tools that OpenWRT uses so you can actually get it running on your device. We've lead versus a desire to extend the scope beyond wireless routers and we'll talk about it and the reasons why there was this reboot slash fork. And ultimately a lot of people in OpenWRT have tried to work with hardware vendors in the past to get OpenWRT enabled on their platforms as the actual standard platform that you would get as a consumer. Second part of the design goals is user empowerment. So since it's open source, you can inspect the code, you can modify it, you can customize it, you can do anything you want and I don't have exact data to back this claim but you should see superior quality and control over the vendor provided firmware. If not wireless quality and that's not the topic of today, at least control is definitely granted because it's open source. One thing that's very tempting is to differentiate yourself a lot from existing projects and OpenWRT and lead have done a very, very careful job in that area where there's only selected differentiation is that the point, the primary target as well as routers and DSL cable routers in general so that specific use case needs to work very well and it should give you like a state-of-the-art network experience not something that's hard to configure or to use. And finally because of that and because of other stuff that got added along this process, you could consider it a turnkey solution to build real products from. So where do we stand kind of the embedded Linux space in the landscape? So on the Y-axis you have the complexity by that like how difficult would it be to understand the code as a beginner first-time user of the build system and on the X-axis you have the number of components and packages supported. So we're kind of in between build route which is simple to understand. It's got a fair amount of packages supported and as is its own feature state. OpenWRT lead versus the blue box is subdivided into a core packages which is what you get if you just download the build system and the core packages and then there's a notion of feeds that allows you to extend the distribution with more packages. So once we start adding that we're closer to the thousand plus packages available and supported by the distribution and finally we have Yachto open embedded whose scope is a lot different and which is in my opinion much more complex to comprehend as a first-time user. In term of release timeline so interestingly build route served as a basis for OpenWRT back in 2003. So the build route build system was there got forked, got heavily modified to support exclusively the links is WRT54G at support for creating .IPK packages and from there a new timeline existed until sometime last year where LED spun off and created its own timeline. So kind of a hint if you look at this timeline you'll see that for instance the kamikaze release which was 8.09 after the year and the month it was released essentially covered three years and this pattern cannot repeats itself so one complaint that people have made about OpenWRT is the lack of frequent releases and we'll see later that it's actually a big problem. LED has just released 16.01.0 I think it was two days yesterday depending on the time zone so congratulations and the the arrow we have in dotted line is whether OpenWRT and lead will reconcile. A word or two about router security I think this has been I'm very pleased to see that this has been a very important topic for this session of ELC I cannot stress this out I can't stress it enough that having control over your router should be your top priority as a citizen as a user or as a developer because very by far the most interesting attack surface for a lot of things in particular both nets most times there's no monitoring software running on your router there's a ton of security flaws that nobody is looking into fixing but be at rest assured that a lot of hackers are interested in exploiting and there's millions of Linux devices vulnerable out there which make them extremely easy to and and we've like selected like maybe one two three specific architecture so they're all going to be pretty much the same MIPS pretty much the same ARM processor so you write one exploit for these guys and you're going to address a lot of devices and it's the gift that keeps on giving every day or almost every day or every month you hear about new security vulnerability that is affecting xxl routers or QNAP NASs or what have you so don't rely on the vendor to fix this take control now we'll talk about a few design like the actual design of the build system and toolchain sdk features and examples so the build system is written in GNU make file it's not python or big bake or things like that it produces dot ipk files for software packages and kernel modules um that actually means that every when you write a recipe for a package the build output you get out of this is an ipk file that we later on install into the root file system we're going to create so everything is a redistributable package by design and by default it abstracts all the auto tools cmake bear metal make file uh lib tool patching and things like that as you may expect it uh versus make menu config based interface which is mostly in cursors um there's a whole lot of effort put into dependencies resolution and configuration validation so for instance if there are kernel modules that are not available for your specific kernel version they'll just not be uh selectable for instance it supports by partial rebuild of everything so if you say started midway and then interrupted your build your toolchain is halfway there it will restart where it left it won't like erase the whole toolchain and then continue again uh it supports building uh for different targets for instance mips or arm arm 64 what have you within the same source tree so within a few commands you can actually switch between build environments and it's parallel whenever it's possible so natural question would be well why not use bill rude or yachto so bill rude did not and still does not support packages that's that's part of the design goal and that's that's great but it was a great basis to start from uh yachto oe is a little too complicated and also too slow maybe we're getting more into the church war here so might not be that interesting the menu config based interface kind of looks like this so for instance at the top you're going to choose your target system uh there's a notion of sub targets which i'll explain a little later which is kind of a additional layer of customization then there's another layer profiles and then you could in target images for instance you could choose what file system you want to target in it rhyme fs squash fs gffs too uh you can configure so-called advanced configuration options like how you want a toolchain to which toolchain version do you want kind of which bnewtools version which jillip c version just which gcc version uh you could decide if you want to build the image builder sdk and then we move on to the actual package selection which is organized in categories so base system networking utilities libraries and the more packages you add the obviously the menu expense so about the toolchain so open wrt and lead prefer using vanilla gcc and bnewtools for some time we use the lanaro toolchain and finally we're back into the vanilla versions and there's additional patches which are mostly customizations about like code model for specific platforms the only exception is arc which was just submitted by synopsis and it's still work in progress with the upstream gcc the default is so-called internal build in that you let the open wrt build your toolchain from scratch so downloads all the sources builds bnewtools gcc first pass the c library gc second pass and then you're done but you can also use an external toolchain if you desire so it could come from cross lng it could be like a code sorcery binary toolchain and open wrt leads support gillip see use ellip see next generation which is the continuation of use ellip see and muscle ellip although the default is muscle ellip see nowadays in terms of kernel it's a open wrt and lead try to use the vanilla kernel and track lts releases so right now we're at four dot four next one is going to be four dot nine there are open wrt slash lead patches which are a collection of platform agnostic patches that are necessary for the system to bootstrap and or to extend functionality that's not upstream in the kernel yet and there are platform specific patches um versus as a developer you might prefer the option of building an external kernel which could be on a dedicated directory and or you might want to clone directly from a git repo for instance with branch and everything one particularity compared to other build systems is that the kernel configuration is managed via fragments so i'll explain a little later but there's each layer can add or remove the kernel configuration so it's can be both a pain and a blessing at the same time so if we look for instance that can you guys read this or yeah okay well all right well so i'll i'll move over here so this is kind of an example of a package make file that you would want to write if you were to port an application and try to build it so on the top most rectangle you would define like the package name package release which is going to be used by the ipk part of the build how you would want to download it so this one's for instance coming from git so you're going to specify the protocol as git you're going to indicate what's the url to download it from package source date is kind of since it's a git snapshot you did the two key identification metric is going to be the date and the commit and then there's a hash to verify the download we're going to have in the third box we're going to have like a package license which is useful for future extraction if you need to like produce like a compliance list or something the person responsible for it then we include make file macros that are going to utilize this information we in the one two three four five six four whatever we're going to define where the package is going to appear in the make menu config so this one is in the base section and the category is i can't even read myself sorry in the base system then there's going to be a bunch of dependencies but we can express so this one depends on two packages one is lib ubox and the other one is lib json c and then a title which is just kind of a friendly name if you wanted to search for it and make menu config and the url of word the upstream source for that package uh finally either the most interesting part is the not the final the previous two final section which is how do we actually create the package and this one's very simple you create a user slash bin directory and then you stage your binary in there which is called uh json path and the sources we call json filter in the final package and finally we add the package to the build system which is just like a evil call package macro slash the name so this heavily relies on GNU make macros so it's not as simple as say build root if you're familiar with it but it's it's kind of an abstraction built on top of it but it's still GNU make file syntax so humans can understand it hopefully uh example workflow so for instance if we take our package uh from an existing build system would be very easy to just like build clean compile and install the package so these three commands would of course expand to three different make targets but you would it's as simple as that for instance so if you if you're iterating over development of your package you don't need to type make all the time wait until you arrive at the section where the build system builds but json filter can just do it there uh another example is for instance if you have eth tool but it's not enabled in your kernel in your current config you could still override that by just enabling very much like you would do with like the kernel or maybe over a kick and fake base system and you can just say well download the sources so that's what it does and finally one thing that OpenWRT and lead use a lot is something called quilt which is a way to manage patches within a directory so it's uh it's kind of poor man's version of git from when it existed so if you have like patches that apply on top of an upstream package you could manage them directly from the build directory and remove add new files whatever the platform layer so this is probably the most interesting part of one of the most interesting parts about OpenWRT so there's four distinct four distinct layers in the build system that are created the first one is the generic layer so in that layer you're going to find the generic configuration the kernel configuration that's common to all platforms so not just one like all of them for instance uh squash fs is going to be enabled for pretty much old platforms or jffs too all the everything that makes sense to be shared is there you're also going to find some patches the OpenWRT specific patches that I mentioned before like for a long time we had like a custom implementation of the xe decompression on top of ubi fs for instance that that wasn't part of the mainstream kernel so I was added and we have base files which are going to be added into the root file system then you could subdivide that into multiple platforms so if you looked at the source tree you would see for instance the popular aphoros ar71 xx platform being one platform you would see x86 being another one you would see brockham dsl router as another one for instance so these platforms can also augment the generic kernel config and patches with their own specific changes and the same thing goes with base files one additional thing we could do at that layer is we can also change the default package selection so if your platform wants let's say usb kernel modules you could put that information in there it's not mandatory but it's one way to do it another layer that we have is the so-called sub target which is if there's like something if your platform the best example I can come up with is if your platform for instance exists in two different engine s one little indian one big indian you would most likely create a little indian sub target and a big indian sub target and there you could define specific kernel configuration but most likely enable alien indian disable big indian and vice versa and finally you can have a profile which is a way to further customize the package selection and the base files as well as the firmware creation so some platforms some socs for instance are existing in routers and nases for instance and so routers would typically run from flash spy nand and nas devices may run from like a internally attached hard drive so if you need to make that kind of distinction you could do it there hopefully this is a little more readable so if you want to define a platform it's pretty simple at the top you're going to include the macros you need you define the architecture which is used by both the kernel configuration and the toll chain so here for instance arm the board name is real view which is like a emulation platform from arm features is kind of like what your platform supports so this one supports an fpu which is going to influence how the toll chain is built and supports ram disc but we could put additional stuff in there if you have additional cpu specific optimization that you would need to specify like this one is like a mp core version and supports vfp but if you had a newer version you could put that is like a cortex a15 supports vfp4 and you could like target specifically that a bi and floating point model if you wanted to we're going to tell which kernel patch version this is the device type is a way to influence the default package selection so for instance for a developer board you may not want ip tables bridging stuff like that we give it like a just a short description to appear nicely as a user friendly name in the menu config presentation finally a kernel name which is the when you do like make arch equals arm what is the final image that you want to build this one wants a z image and finally we add it to the build system by just calling this line same thing as with packages it's reasonably easy to work with with the platform so you could like build just the kernel modules if you wanted to you could build kernel image and firmware uh you could manage the patches with quilt and maybe more interesting you could actually switch between environments so if you have an arm based platform you could create a new environment for that which is essentially going to save your dot config file and a bunch of other stuff that could be moving around between builds switch to it type make stop there and then switch back to say your MIPS platform that you're working on one thing that's pretty cool is that even kernel modules are packages which means that you can actually install them later on so it's kind of the same idea as before you define a kernel module package name here it's like tygon3 the procon driver you tell the build system which kernel config option it's keyed on what are the dependencies um which file to copy so this one is like driver's net even at brock arm tg3.co then a we don't use mod probe in open area to led for like space constraints so instead you kind of have to teach the in smart uh if there's dependencies order you would you would use a number to indicate that and finally add it to the build system one thing that's also very popular and useful is to extend the default package basis something called feeds which are essentially URLs to other packages so for instance here we have two examples the first one is uh src git means you're going to download for git packages is the name of the feed which is going to be like an identifier to find these packages later on and the URL where these packages are but you could you could think of the second one as like you have your local development repository of package package recipes that is called custom and it's just like a symbolic link or directory and from there there's a feeds script within the sources that allows you to search update packages and install them install in that case means tell the build system how to find it and how to build it later on one thing that i alluded to earlier is the image builder and sdk so the image builder is essentially a way for you to take an existing image of a router for instance that you have say a wrt50 4g and you've built just a minimum amount of packages and later on you're like oh wouldn't that be great if i could just add open vpn to this firmware image create a new firmware image with that and then install that on my base of router so that's exactly the use case the image builder is for so it contains the kernel image a bunch of recipes and tools and allows you to recreate firmware image using pre-compiled packages on the left side as an input the sdk is just the next step like if you have if you want to redistribute a toolchain that's essentially what you would do you would use the sdk which contains the toolchain recipes and tools takes open source software as input or proprietary software for that matter as input on the left side and produces a binary package that is redistributable so if you link the two together you can actually get source package package to image uh we are now into why did we actually create all this custom user space and open our urt led so the reason why is it's it's manifold the first part is that modern systems require coordination between nature genius components like in a traditional back in 2003 for instance your embedded system will have like maybe a dhcp server a pppoe session your pppoe session your dhcp server doesn't even know about it right so that's not really you could work things out with scripts and stuff but it still wouldn't be the way it should be done if you have any kind of user interface cli command line interface web graphical user interface they're going to change the system configuration so that needs to be told to the applications that care about the configuration system it's not just a hub signal that you send to the package to the software uh networking devices are incredibly more complex these days and we'll talk about a little more but it's it's no longer ipv4 dhcp to provision your device it's it's a lot more complicated and finally since we're we want to be able to update frequently we need a proven and working update mechanism that does not rely as much as it can on the bootloader or something that's vendor specific so if we look at the open rt lead software stack we essentially have six different components so the first one on the left is called netifd which is essentially a network management demon which is response which just deals with event driven networking so for instance even netlink comes down everything gets disabled even even netlink comes back up everything gets re-enabled vpn gets re-established and things like that so it's going to deal with the stacking of network devices basically we have something called progd which is a process monitoring demon kind of like systemd if you want to think about it that does uh jailing hotplug hotplug messages generation watchdog syslog uh in its crypts uh then we have lucy which is the web interface it's written in lua it supports uh plugins and modules so it can be made dynamic as you install and remove packages it's got a json or it uses json rpc to talk to other parts of the system and it's got a so-called ubus expert which export which i'll talk about it the the binding blue arrows are actually what's so-called ubus which is the system bus so it's essentially debus on your desktop except it's smaller and simpler so ubus is socket-based ipc bus very much like debus supports acl so you could say this packet this demon can talk to this demon not this one uh it exports exports methods and signals so you can call into other packages sorry call into other software through that bus and you can also subscribe to notifications and events and it supports a binary and a json data format and finally we have uci which stands for universal configuration interface which is a config central configuration database to store everything that your system needs to know about like my hostname my uh network configuration and things like that supports uh it's a transactional model so it supports commit and rollback in case something wrong happened system upgrades so system upgrades work consistently across all your devices they're independent of the boot medium so wherever you spy nor spy net emmc it's going to work the same way the only thing we need is the platform to tell us where to flash a firmware image because we can't guess that right so how to identify the image like is this image really for my platform and how do i for instance put the kernel here and the root file system here and then what the system does is freezes all system activity moves does a pivot route to slash tmp and tmpfs which means that your flash can now be used and there's no dangling file descriptor and stuff like that rewrite everything and next thing you know you're rebooting to the new version and all the configuration files are preserved another thing that's interesting is called overly fs so it just made it we had it's if you're familiar with union fs the idea is that you want to assemble two different file systems under a single uh namespace mount namespace so what is what this is used for in open rarity and lead is to provide a read-only partition of your system that contains everything that's needed to boot to a shell and to allow you to do recovery so you can't do rm-rf slash and have all your system wiped out if you want to there's an option to do it but by default there's at least the base system that's preserved and then there's another partition mounted on top of that which allows you to do read write operation so you'll get installable package to work just fine and finally there's a failsafe mechanism that's typically provided through device specific buttons most most routers have like a reset button or a factory default button so when you press that for x amount of seconds you could you're dropped into a shell where you can do recovery operations networking today so back in the good old days we had evernet dhcp and we'd be done with it nowadays you can have your network connection coming from pretty much anywhere even at 3g 4g x dsl docsys and you could have you could have different provisioning protocols dhcp router advertisement plus dhcp v6 and ip or ip 6 configuration protocol and with ipv6 being massively deployed with isp there's many different ways to provide ipv6 to end gateways could be 6rd dslid map p map t 464 translate you name it so why did we why since we have all of this today the idea is that you should not have to configure much more than what's in these boxes so configure if we what's common to all of these parts is that you're going to configure just the bare minimum for your network interface so if it's like evernet you're going to say my one interface is on eth1 it's provisioned for dhcp i also have a one six interface which is a logical name for my interface and it's provisioned for dhcp v6 similarly i'm i'm going to do the same thing 3g 4g pppo whatever and then we're going to let net ifd do all the magic so net ifd basically orchestrates all these devices devices configuration into one central location it calls into protocol specific handler so if you have a new protocol you're working on tomorrow it's very easy to extend it you don't have to rebuild the whole system and it's going to deal specifically with physical or virtual devices like evernet x dsl tunnels vlands and whenever your network device does something it's going to propagate propagate through the ubus system bus and the firewall configuration can be adjusted your dns mask dhcp caching server can be restarted or reconfigured you can have network aware services say samba dlna upnp to be restarted or reconfigured and it will fire instances of protocol clients for instance like dhcp client things like that now a few things that are interesting in terms of security compared to other embedded systems and build system is that openwrt by default supports full railroad which is read only relocation of your elf executable when it gets loaded it's configurable you can disable it you can do full partial it does format security checking so if you have like a printfs can have statement that's unsafe the compiler can tell you that it supports source fortification as native support for stack smashing protection for both user and kernel and all ipk packages are assigned so bad avoids like mine in the middle attack where I could try to sneak in a malicious update of the package to you there's a few interesting runtime security features as well so there's a notion of jails which is supported supported by progd the monitoring process which basically allows you to it's kind of think of it as a dynamic csh route where you specify only the files that you need that should be made available to your processes it's super helpful for applications that are known to have security vulnerabilities like samba or my dns mask and on top of this on top of doing file system level restriction you could do system call level restriction through the use of sec comp so you could list exactly which system calls your application should be allowed to use some other cool features and goodies is that there's existing arm arm 64 mips and 86 targets that run natively in coimew so if you don't want to flash anything or a device you just want to run this in your pc tinker with the system there's ready ready to be built images you can have your packages with separate debug information you could also have a tool that helps you with like gpl compliance or if you're like a vendor and you need to provide a list of packages and which license they have the build system can do that for you as well you could work off a local package mirror and alternate download directory which is useful if you're like in a corporate environment and you can customize everything you want in user space areas of improvements because there's obviously some so we essentially lack continuous integration testing it's kind of hard we have well we have essentially the same challenges as the kernel people maybe worse because this requires actual physical devices and what you could test with emulators are probably never going to break in the emulator but always going to break in a system and like the upgrade mechanism something that's kind of hard to test so fortunately the community is active and is providing feedback but clearly having a board of farms would be something that helps something open up your team lead have traditionally been criticized on is the lack of upstream work so there's like about 170 patches against the 4.9 kernel right now just for the generic part of the kernel so not counting additional targets and stuff that's way too much so there's an ongoing effort to migrate the most popular platform the quacko mafros into device free which is probably going to be fun exercise another thing that could be good to have is have a opt-in or opt-out security updates like automatic updates of your if not the whole system at least the packages that are important or can be vulnerable and as just pretty much like any other open source project documentation and one thing that people regularly ask about is what's the best supported device so if we could come up with like a good metric for evaluating the support of a particular device then we could like have a top 10 or something like that conclusion so works great on your router but it's would also work great anywhere else if you're willing to give it a shot on like a tablet or pc an embedded system or whatever it you can use all all these features that are router centric like you could ditch them and replace them if you want it it's reasonably fast versus a little and flexible it's a turnkey solution for products but if you're more into doing like embedded systems development or kernel development you could also use it it's very convenient for that purpose and we have extremely active communities and now let's talk about the drama all right so what happened last year on march 5th 2016 a group of open rt developers announced the formation of lead and there were essentially two types of reaction most people immediately welcome lead and just switched to it and a smaller group did not acknowledge the problems being stated and well flurry of email ensued and went pretty much nowhere essentially what that meant though is there was a problem with open rt that need to be fixed and maybe not just one problem so why led so first of all more transparency all decisions are now made public there's a governance mailing list that will list all the decisions that the project is making and all these decisions must be collectively approved and everyone has equal decision rights there's a established and clear process and guidelines as well to operate the project so how to resolve conflicts how to do external communication to vendors to press to and how do we make a release and how do we decide when and how to make a release there's also less centralization open rt was essentially hosted on one single machine where every service was which is a huge single point of failure and so there's been like a all the services are now spread github for the source code but also cloned on a different server a different mailing list provider etc and there's therefore freedom to move all the project services just to follow the requirements basically and one big complaint from the user base but also internal developers was the lack of predictability on the release schedule so lead seventeen point zero point one is a good example that this was addressed and finally there should be like an easier integration process from contributor if you're submitting frequent patches to developer where you get like committed rights and you you're part of the development team meanwhile an open rt surprise as in not a good surprise there were few people left like maybe seven to six and even fewer active like maybe four or five so clearly that that wasn't a good thing but it was probably a good thing to to get a wake-up call so there's been unfortunately inappropriate responses and that lack of response entirely from some people people who were part of the open wrt and moved to lead at at open rt.org emails those emails get disabled which means that they were unable to receive emails from before which was still active so this was a totally inappropriate response and unfortunately this was a tech a emotional response not a technical response so where are we today so the reunion reunification terms are very simple the lead code base is going to be used moving forward because it's been actively maintained it's been receiving a steady stream of patches and contributions open rt in the meantime has been completely quiet and flat the open rt team has been given lead repository access so we can make changes we're considered lead committers committers like anybody else and there's discussions on whether open rt should stick as a name it's a trademark name it's also a brand it's got i mean probably i mean a lot of you know about the name so that that's got to be something it's got a larger popularity but unfortunately right now it's a stall discussion nothing has happened past couple three meetings so what next the release is finally out which means that we should be able to focus the energy on bringing the two projects together and not getting a release out um back i'm echoing to my earlier slide we need def desperately need a truly open source project that supports wireless routers and not ddwrt not tomato firmware not what have you open of your t because it's it's shooting to be open source auditable frequently updated um and on the tech the project uh human side we need we essentially need to discuss and agree so discuss in person discuss more frequently uh on the reunification term and literally bury the hatchet so i'm thinking about buying one just for that symbolic uh and i'm linking here an email from an open wrt developer entitled state of the union where it's essentially saying that the the renew if you start the reunification terms are accepted by open wrt and this was three days ago so hopefully we'll be moving from there if you want to be browsing the websites or looking for references you can find them here and now if you have questions uh i'm right open to answer them no reactions really uh okay so the question is what's the purpose of the image builder and who uses that so the image builder is like uh you don't want to you're not a developer you don't know how to compile you don't really know anything the only thing you know is you want this package inside your firmware image and you want to go there as fast as you can so it's usually it's end users that would typically use that feature where they start with the base open area t image and then they start customizing it by adding additional package they found on the internet a lot of like in germany there's a lot of wireless communities like fryfunk and and these guys and they heavily utilize that feature yeah so the question is about reproducible builds so uh verse been an effort last year to get closer to reproducible builds with the help of the dbn packages patches that they've done uh i can't tell you like what's our coverage percentage or things like that but there's definitely people looking into that list like at least a couple people um regularly contributing changes to make that happen but yeah this is super important for security uh so the question is if i have any insights on the uh what's xgui oh oh lucy yeah so no no no worries so lucy so yeah the the state of on lucy so we the the deployed interface is currently lucy version one uh there's a lucy two that's being worked on uh so i heard but i've never seen the code source code so far so i don't really know where we are uh i don't even know what problems they want to address other than maybe being faster and maybe more javascript more uh client side validation and things like that uh it's like the original version of the web interface was written in a new hook awk which was like i don't know it was fun but very difficult to hack our questions not going once going twice thank you very much oh sorry no go ahead go ahead so the question is like we have tons of little devices with very very small memory footprint typically eight megabytes of flash uh yes there's ongoing uh ram i mean would be challenged to even get linux to not out of memory in eight megabytes of ram i think so i wish we could do that like there's a i know this was like the motivation for the some versions of the wrt 54 gl and stuff that were running vx works instead of linux because with twice as less ram you could get like maybe a few cents down your product and that was meaningful but these were running vx work so as much as i'd like to i don't think it's feasible with a modern kernel you you'd probably have to go back to 2.4 for that thank you


And in business news, the Office of the Auditor General for the Federation has queried the management of the Ogum Assurance River Basin Development Authority for selling off government plant property and equipment valued at over 2 billion Naira at a paltry sum of 13.618 million Naira. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.