So a couple of things before we get started was anybody weirded out by the chicken fried chicken the name of that So who's not from Austin and kind of wants the rundown? Yeah, a couple of you so we're from Texas, and you know, we're not always the deepest thinkers So somebody said hey, we ought to fry that chicken. It'd be better fried And then somebody else said hey, we need we need to we need to put steak in that chicken fried wrapper So we're gonna make chicken fried steak and then time passes and then somebody said hey We should put chicken in there. So then you have chicken fried chicken. So that's basically what happened Don't look at your program and if you do look at your program you'll notice that I've changed the title of this presentation and I also changed a couple of the Well, I changed it all it's a different presentation after talking to some of you and talking to Talking to Jim and the team we decided that one of the things that was really needed Was a language adoption talk where we could where you could basically go home and talk about some of the reasons that I believe that things are changing fundamentally on the language adoption side and The platform that I'd like to use to talk about this topic is the idea of fear and its role in language evolution For those of you who don't know me. My name is Bruce Tate. I'm from Austin if you've been near Lake Travis earlier this year I went on a kayaking expedition where we went down all 64 miles well at least the 42 miles that are that still have water in them and I had a lot of time to talk or to think about fear It was going to be a two-day trip and about halfway through the first day It was apparent that we would have to choose our camping site at night And if you're from the north or some place that doesn't have poisonous snakes and scorpions You might think this is not a huge deal For me it was a very big deal because I don't like either one of those things and My light setup wasn't that great. So I was kind of writing the talk of my head during this trip Then I thought fear is an amazing thing because it has the power to shape places to shape geographies You can even see the results of fear from space. There's the wall of China right there and if you think about the wall of fear in You know in the world in the shape of the world in the way that we That we draw the lines between our nations Fear has an amazing role. In fact, you have to overcome a Huge amount of fear to do any kind of real discovery So I thought I would talk about fear and language creation And then Jose did his part of the talk and he talked about his pit of despair and talked About exactly this so I thought you know fear plays a big role almost always in the creation process, but You know, you can even find books on writer's block and basically writer's block for artists as well But since Jose has already talked about this I don't want to do that I Basically want to talk about fear in the role of language adopters Let's face it everybody in this room we're language adopters right now And we need to be thinking about whether this thing that this marvelous thing that Jose has built is Going to work for us and whether it's going to ever achieve the critical mass to get off the ground And so this talk is about the role of fear in that The opposing fear that's going to keep that from happening and the motivating fear that's going to kick us in the butt and actually Move us to the point where where we'll reach a critical mass and there was a book that was written and Just after 1990 1991 by a guy named Jeffrey Moore. How many of you seen crossing the chasm before? So this is often a popular talk at at language workshop So I'm not going to rehash all of this, but I do want to put this in context of Technology adoption and and really language adoption, but Jeffrey More are you that there are five groups of people that there are early adopters? There are their innovators and early adopters the early and late majority and then the laggards and and Squirrely between the early adopters and the early majority there is a chasm But in fact you see this kind of adoption curve in many times in our industry You see it every time a new language is adopted And in fact these waves these adoption waves are Very irregular when you talk about them between languages you can probably think about some languages that were adopted very quickly and Some that were gone just as quickly and others that took a while to adapt or lasted longer Longer than you might think and the things that are important when you're adopting a language when it's a small step Are things like syntax and types and libraries? This is why you often see Comments about elixir syntax first that you see this is kind of like coffee script for JavaScript It's not really the same thing, but this is why you get that kind of You get that kind of perception that kind of misconception a misread of what the elixir language is all about in Reality what we are doing is not just changing a programming language We are changing programming paradigms. We're going from object-oriented languages to Functional programming and we're also making a move from a single process language or even a multi-threaded language which That puts all of the burden of concurrency management on a single developer To a multi-process system and the way that you think about it the mental model is Dramatically different so in this case the waves are much bigger. There's much more space between them It's harder to push those waves through but when they come the inertia is that much greater? And so I want to talk about that during the course of this talk and The idea that the mental model is really the thing that we are overcoming right now It's not just syntax. It's not just a set of libraries It's not even going from static to dynamic typing as many of the Ruby people In this room were used to from from the last So let's go back to Jeffrey Moore Let's think about the chasm The chasm is between the people that have the ecosystem on the right-hand side and The sad people on the left-hand side And the things on the right-hand side are the things that the people on the left-hand side want they want the tools the community All these things that make us more productive, you know, we're here at a conference and you can get training for Java today you can find Ruby frameworks like Ruby on Rails you can get jobs in these spaces But the most important thing is the beer, right? So if you think hey, we have enough community We have everything we need, you know, I think we want to be on the we want to be on the other side with the beer right But this is about as far as I'm going to take Jeffrey Moore So everything from here forward is Bruce Tate not proven. This is hypothesis. This is based on observation So it stands to reason to me that fear can work in both directions, right? There's initially you think about The paralyzing fear that's going to make the chasm wider If you think about it, this is the the main Thing that you have to overcome when you're writing a new language when you're trying to get that language adopted Right, these are the things like can I afford it is this thing going to be abandoned? Do I have to retool? Can I afford it? Can what will it cost me, right? Is this going to break? Is it going to be too difficult for people to learn? These are the typical Fear-based issues that are going to get that are going to turn a small chasm Into a very big one especially when I'm moving between not just languages but programming paradigms This is the middle model that Francesco was talking about earlier today And the hard part in moving from a traditional language. This is the new language graveyard This is where languages go to die so What we have here what winds up happening is Based on the paralyzing fear even if there are new languages that are being developed in and And pushed and hyped There can be some very big languages parked on the right-hand side for a very long time Right, but when you're talking about new paradigms these cycles get even longer The problems become much more pronounced and the paralyzing fear Gets to be almost too much to manage because not only do we have to retool our own company But the industry has to retool right now the way that we think about Concurrency the way that most of us were taught in college is that you manage current concurrency with threads and locks And that's not going to cut it for the next generation right so Yeah, so you have longer cycles that means bigger chasms and and The motivating fear is in the middle of all that so What I'd like to talk about is The last time that we crossed the chasm we had a language on on the left-hand side was Java We had a language on the right-hand side with C++ Now it might look in this in this on this chart like we weren't changing paradigms at the time But how many of you were around for this transition? Okay, how many of you were using C++ at the time? Okay, how many of those people were using C++ in an object oriented way? One or two I Don't believe you but you know maybe you were So maybe I found the two people on the floor. Okay, you know we're getting a little bit more honest here So it's always been my contention that C++ had all the object oriented features You didn't have to use them. So it was more of its C++ minus minus, right? This was a procedural language right and what we had was was Really Java and a lot of other players that were trying to break across this chasm And this chasm was there because the industry the programming industry was facing a lot of challenges at the time like How do I like how do I distribute my applications? Not just across two tiers, but three tiers right IBM had this sales pitch called the interior architecture, right? And we were all talking about this thing. We were talking about how to do windowing systems. So now Screen sizes weren't 80 by 60 or whatever They were they became you know 300 by 600 So so the resolutions mean a minute that we had to basically manipulate more bytes on the screen We had to send data across the wire performance was a big deal, right? So some of the paralyzing fears Will that there was going to be too much to learn for object oriented? Technology, there's also the idea that when you bought a C++ system You were also buying a vendor and you were joined at the hip for life right and When you were on a single vendor system Basically at that time unless you were talking about the client You were probably joined at the hip for life to your hardware vendor, too This was a much bigger commitment then Back then to to C++ so over time the paralyzing fear Was mitigated a little bit you didn't have to learn quite as much because Some of this was a syntax deal, right? Some of the reason that we're here is that we have a Ruby friendly syntax Right that doesn't get you across the chasm, but it does get you into the door It helps helps to mitigate the problem somewhat There was the internet that opened up some of the systems so rather than dealing with Proprietary hardware and proprietary software I could deal much more with open systems and then there was the JVM that made Java portable across the systems and The motivating fear was deployment Here's what I mean. How many of you remember start installing early versions of Windows One was Java 1996 so Windows 95. How many of you ever had to install that? Do you remember how many diskettes? And we are talking diskettes Six more than six They're there ten There's the stack right there Right, and that was the deployment story, right? There were other people that commercially had solved the deployment problem. We're talking about 1996 and we heard Erlang Solution to deployment that was around in 86 But here we're talking about a different culture the culture of how do we develop software on the client and These people haven't hadn't really worked it out yet. This was Microsoft and IBM and a few other players But this was a story you would take those those diskettes you you will get your roller skates on and you will go from one system to the other and and feed the machine and The system got a little bit tougher when you talked about You know how many how many clients that that you were installing and then maybe you had more than one location and This kind of started blowing up right so you can imagine What the deployment story was and we're not just talking about? Windows at the time. What else did you have to keep up to date? Yeah office right well Internet well, no, no, we're not talking about the point in a browser, right? The browser is not in play yet the database engine the land management Communications management because we're doing things like screen scraping to integrate with that end tier, right? That beautiful into you on a chart meant that I I basically scrape the screen right and and move data around that way so This really this this situation really became unmanageable around around 95 and that's before we even had to talk about things like multiple vendors and and the fragile techniques that that we were using to program right so and and The C++ memory model that didn't have protection in between one segment and another and This basically Crushed us under our own weight, right? So this is the motivating fear. This is one when I say that they are that fear has two impacts on language adoption normally the The paralyzing fear stops everything in its tracks until there's a big enough motivating fear That kicks you in your pants and and basically punch you across the chasm. That's a business goal so my favorites My favorite display my favorite slide all day long was Roberts when he said, you know We weren't trying to build functional software We weren't trying to do to use actors We were trying to solve a business problem because this is how languages get adopted right and Then the internet happened and when the internet happened and Java married itself to the internet The deployment the deployment problem suddenly went away. You didn't have to deploy the clients anymore You had to keep one thing up to date and that was internet explorer. You could you could move the rest at your own pace Right and Java across the chasm. So here we are And Java's across the chasm and teed up on the other side of the chasm Are all these beautiful languages that we'd love to use Well, all these languages some of which are beautiful that we would love to use And so we are waiting for the time when the paralyzing fear is smaller and The motivating fear is bigger. So we tip and we cross the chasm So the question that we need to be asking ourselves today is what are the paralyzing fears and How are they getting smaller and what are the motivating fears and are they small? Are they strong enough to punt us across the chasm and you already know a lot of the punch lines Before I even go through the rest of the talk you already going through the arguments and you hey You know the multi course coming you know You know about the power of this community and that is growing and that you'll be able to find or train elixir programmers from From the people in this room because you've seen it happen a couple of times But you need to be able to this is the story that you need to be able to articulate to your management to do this for a living right, if not now and soon So the first question is how are the paralyzing fears getting smaller? and I think that There's a question that we have to ask What's the best way to eat an elephant? One bite at a time Right, so let's look at the little ways that the paralyzing fear is getting smaller and maybe they'll add up to an elephant size you know Thing on the weight is there on the other side of the scale, right? So I think the number one way that the paralyzing fear is getting smaller is kind of At this table, right? So it was a where were you born? and where are you from now and Where are you from and How did when did you meet? This is the core team Building communities is different than it used to be right Dave this is born in London born in London. Is that right? Okay, up a Liverpool. Okay born England and now in in Dallas And this is the core of what's being happening in elixir, right? And if you ask around in this community, how many of these people have met for the first time this weekend? Most of you, right? How many of you are from Austin? How many of you from somewhere else? How many of you from across the pond a different country? So that's kind of amazing itself, right? So we're up to you know, not quite 10% of the group, but a bunch, right and This is just the people that are willing to get on an airplane to learn about elixir, right? The internet is making the world much smaller Conferences like this one are making the world much smaller, right? Building communities is Much easier The second thing that's happening is you are starting to see more functional ideas and object-oriented languages Even Java has closures Java has closures. I mean, that's crazy, right? so When when I was in Norway a couple of weeks ago, I met my good friend Venkat Superminium and He was teaching a class called functional programming in Java Right Every time that you add a bridging feature like that to an object-oriented language The chasm gets easier just to cross, right? We're exposing a new set of developers to these functional techniques and these functional techniques work and they drive costs down And every time that happens the value proposition for for functional programs gets better deployment options are also much more widely available than they were We don't have to retool the whole hardware stack at our companies anymore We've got the cloud. We've got the Amazon services There are options for deployment that might take some tweaking from what we were doing with Erlang but They're either available now or will be much Pretty quickly. The last one is I think that interfaces between programs are getting cleaner So since we have since the last paradigm Shift we have an internet standard which makes applications a lot easier to write Which makes it easier to carve my application in pieces, right? so so I'm I'm speaking with with with Eric and Jose about the potential of running Elixir in my company and I know that with our small development team I can't do it all at once, but I don't really have to what I'd like to do is skin the application in rails Do the back end in elixir and get the benefits, right? That's where all my latency is between the database calls I don't have to do it all because my interfaces are cleaner now a Rest-based API is easy for me to write easy for me to build and it's easy for me to consume So let's talk about the other side of the chasm The motivating fear Right, so always the first motivating fear is code complexity right and a lot of the complexity this time comes from This this big freight train that's coming down the tracks. That's called multi-core. It's why a lot of us are here It's we know that there's no free lunch anymore, and we know that that We have to solve the code complexity problem of concurrency Can we do concurrency? Yeah, can you do it? Well, no, why because the burden is on the developer We need the bird that burden to be completely solved by the programming language so Here's an example from my book seven more languages. So this is a state machine done done in elixir and So Basically, this allows a usage model That looks like this and I could throw my I could throw my video straight through a pipe you know that That takes me through the states of a state machine and then have that call manage all of my business callbacks and When it's time to distribute that state machine. I have all kinds of options that are going to let me do that in a transparent way This is an A an OTP application that uses a DSL. How many of you have written in an OTP application in Erlang? How many of you used emacs Almost I was so why did you guys use emacs? Yeah, okay Why would you have discovered emacs if emacs one of if you didn't use emacs for everything to do OTP? Come on. We all know you can say it There's a magic OTP key, right? That throws out. I don't know what the boilerplate the Erlang boilerplate is for the magic OTP But it's pretty big right and what elixir allows us to do is to take advantage of all this great wisdom from the Erlang community and apply a new technique that's that's generated in in the Closure language apply it to you or which syntax and and Basically allows to distill the application so this and elixir places replaces Something much larger Which replaces in Erlang, you know, it's too big to show you know the the code behind the emacs key, right? Thanks today for the first cut at that DSL and to Peter Minton for the example Okay, now complexity Let's talk about complexity one more time This is so crossing the chasm this time isn't just about elixir This is about the family of languages about that the paradigm shift and and the idea that That we have a new family of languages a lot of the language a Lot of the the thinking and language design right now is happening on the client side right and So one of the things that I've tried to do with the seven language series is I try to solve a non-privilege problem by the by the time that it books over now the first Program that I ever wrote that had any consequence Was a game that I wrote in basic and I love basic But the nice thing about writing games way back then was that the machines were slow enough that I didn't have to worry At all about you know timing and synchronization or anything like that I just said okay, you know if you got a faster machine, you just have to play the game better, right? It's just gonna run faster since then I Haven't written any games because I hate dealing with the timing issues In the changing values over time and managing that it just got to be too much Well in Elm With a hundred and twenty something lines hundred and thirty lines of code. I don't know it's it with the exact count is But there's a application. Let's see if I can Show you guys So we're going to up Getting dangerous here. Okay. That's what I'm doing right now Come on You know you want a mirror? What's that? Okay? F1 Here we go So here's the game This is kind of funny So see how many of these people that you recognize and this was written in a hundred and thirty something lines of code This is called language heads. That's Dave is a garden gnome, right? That's me as the Incredible Hulk, but all this stuff is happening in In One hundred and thirty lines of code. That's the rotation the scoring and everything. There's Joe Armstrong. That's language heads Okay, and that so basically the paddle movement looks like this so I'll draw a paddle and I take the dimensions of the The dimensions of the window and the X location draw a back black Rectangle move it on the Y on the X dimension and move it on the Y dimension and I'm done Right and display to display it. I basically draw a collage with the paddle and main basically says Says take this signal and lift onto it these particular functions, right? so the input stream gets gets managed by the By the the last last line of code, so there's no callbacks here. This is just functional compositions and The more complex your application skit The more that this makes sense So the timing part of the of the game is all managed in about eight lines of code Everything else is done by the reactive framework of the application Okay, so basically my perception is that there's an elephant sitting on one side of the chasm as the The paralyzing fear starts to shrink and it's shrinking we can see that happening as the motivating fear Get stronger and we can see that happening, especially with co-complexity and multi-core. We have to do something Right, so now I think the the question isn't whether Java is going to be Sitting on that side of the chasm. It's which language is going to come across Right Questions comments What do you guys think you guys believe it? So nods he's disagreeing. Yep. Go comment Okay, the question was why do I think that something based on the Erlang VM can you serve something on the Java VM? The answer is That's that's a that's a deep question and I'm going to give you a couple of response to maybe three responses The first the first thing is that I think that we may be over the concept That there's one true language Right and the reason is very much the same. It used to be that to accumulate enough community for language to succeed You basically had to get to get all the sharp developers That that would that would act in the community right, so the second thing is that is That the only Virtual machine was designed to do precisely the things that we needed to do right so I Looked at a lot of languages seven languages was a book that was written in fear and You know in that I looked at closure. I like it a lot. I looked at Haskell. I like it a lot I think that that Haskell is probably the list of our generation great language, but I don't think that that we're Enough of us are ready to consume it. I looked at I Looked at Scala didn't like it because I think that there's too much in it I think like much like a great guitar player the great guitar players can play fast, but they know what not to play Right, it's the notes that are missing that really add the air that really give the shape to the language and I didn't like any of those and I kept looking and So elixir is interesting to me because it has elements of all those things right it has It has the Erlang concurrency model and Erlang's the the programming simplicity It has the macros That are done in a safe way with rich syntax macros with went with rich syntax change Everything even if you don't use them all the time even if you don't have to reach for them They increase the pace of language development and that is absolutely critical for the success of Erlang Or for the success of elixir Does that make sense? So those are the reasons I think that that this language is important to me and that's why I'm buying into it Now I think everybody has to buy into it. I think that that We either will get to critical mass or maybe got got there this weekend. I mean look around So more questions so the question to me is You point it out and I've seen this too a lot of the old languages. They're getting functional features back into them How do we get past that I can just stay with C sharp I can just stay with Java because they're getting the functional features anyway, and I'll be able to do functional program How do we get past that that inertia they've got? Yes, so the question is if I can if I can build Obtaining applications with functional features why why would I ever move on to something else and The answer is basically in the talk It's how strong is the motivational fear and how weak are the are the paralyzing fears I think that those are both coming into play the language that I'm worried about is not Java or C sharp It is JavaScript. I'm really worried about that one That actually feeds into a question I had about that when you had that list up there Yep, you have a whole bunch of languages plus JavaScript JavaScript has a huge of institutional support which is part of that the elephant in Java Yeah, so how does that not just become the blessed? Yes, yes, and so if you look at Language adoption syntax has had a very large large role at least for the past gosh 30 years and You can do some pretty cool pretty functional looking things in JavaScript But there is more and more noise that JavaScript is fatally flawed in terms of the type model in terms of expressiveness in terms of concurrency, you know if you ever want to Shoot down, you know hour and a half two hours and Robert, you know, this is true You just walk up to Erlang and you say JavaScript run to completion and then duck right So he thinks that that the JavaScript concurrency model is nuts and He's not alone. Actually, there's a question over here first here My question is We're all like for thinking people but Mostly the guy who pays our check who signs our check isn't yep, and I Worked for an enterprise that if Google does not support it They won't buy into it. So I'm having right now a huge fight technical fight between go and Alexa. Yep. Yep. How Like how do we keep though those people from pulling us back down when they're the ones that? Pay the checks. Yeah, and sometimes you can't right But but what you can do is is you can look at I think You basically talk to a business person in business language You say this is what those these new features are what to you. This is what these The lack of these features cost, right? If I have to manage these things myself like with Francesco Gave great talk this morning. He talked about go and that the big hole the big elephant in the room so to speak is the lack of the monitoring and linking and Basically the air handling Let it crash plus the monitoring change plus the monitoring code changes everything So what I would do if I were you what I did do when I was moving from Java to Ruby is I made a business case I didn't make a technical case right and follow the dollar signs and And you know, I think that that's a valuable way to proceed so Dave So I think you're right But one of the questions that got on this is one of those things where you ask a question And it sounds as though you're actually trying to like to make a point and actually genuinely asking a question Yeah, do we want it to become popular and let me let me tell you what I'm concerned about You see that there's a certain okay, so I've been with the Ruby community now since it was you know 20 people in a bar in Florida and I've seen some really big changes and Although it is still vibrant and still really smart. There's also an element of there goes the neighborhood To what extent is popularity a two-edged sword and to what extent Do we want to encourage it right now or do we want to wait until we're in a better position to be able to you know Educate the hordes or whatever it might be right right and I know that sounds elitist and I don't mean to I'm just I'm raising the question. Yeah, so The question is basically Do we want to do we want the popularity now? Can we afford the popularity now? And what's what's that going to do to this community? So there's always attention with language adoption between getting enough and getting too much and So right now, I know that the closure community, which is much larger There are serious concerns with with rich and and stew howlway Basically, they're Co-heads of Cauchy tech. Is that right? Say one more time Cognitive tech, right Which is the worst brand in the history of brands by the way Apparently not enough But the closure the the closure folks do a lot right in terms of developing community I don't think that they I think that they are They think that they need more community to achieve the critical mass that they're after and and we're substantially behind them in terms of when we started and and You know, I don't think we're at that point yet. So When it's time to put the brakes on I'll help you put the brakes on Um, but I think that we have the opposite problem right now. Does that make sense? Yep Okay so, um We don't like JavaScript taking over. I know closure has done closure script Which either uses mscript in or a direct compiler to js Would elixir script make sense so that we can do functional programming In the browser Okay, so the question is would elixir script and and the browser makes sense I'm gonna kind of turn that on said, um, I think that in the crossing so after Um, jeffrey morrow wrote crossing the chasm He wrote inside the tornado and this was all about Technology adoption I think one of the very the most important things that you can do When you're doing language adoption is to target a niche And you can bring on everyone that wants to come but you have to blow out your niche, right? So there are a couple of communities that I think are very ripe right now For in the area of elixir adopter and and there are ruby developers and airline developers and I'm not saying that That the elixir community will get them all But I think that the elixir community should be attractive for For new people who are who are looking for tooling in the erlang space And people who are from the ruby space who are really looking for something right now I would if I were A core team member. I would you'll highly encourage them to really blow those niches out first Establish those niches. Um, and then I think that you have enough of a Enough momentum to kind of push on to the next thing Yes Oh, that's we'll see what happens. So, uh, and we had kind of an interesting discussion in irc about this this morning And let's just assume as a lima that we want to become popular, right? Or they want to be at least very welcoming to new members You've kind of hit face first in the past several years like these 14 languages and you've got some experience and You know being a newcomer in these different fields. I'm kind of curious What have you seen in elixir that is maybe a little rough edge or maybe we could learn from other languages in terms of welcoming new members into the community Okay, um, the the question is what what have I seen in the elixir community that looks like a rough edge I'm gonna flip that on said. Um, I think that um that the elixir community gets what The initial approach to tooling needs to be Um, you know in some in you know closer doesn't have a great story for package management Um, erlang doesn't yet have a great story for package management with hex maybe they do right, um, the the the combination of pie with with the shell is is excellent The early tooling that this language has is great and it's hard to focus On um on tooling when the language features aren't done yet So I would do nothing but tip my hat to what these guys have done. Um, I don't know what the priorities are are to develop next but I trust you guys, you know, and they've done a great job All right, let's get Bruce big hand


The lives of 1,800 people and generations to come have been changed forever through the LNG Canada's announcement. This industry isn't going to only bring trade opportunities. It's going to bring professional careers in the sense that we're providing a lot of opportunity in our community for our members to be what they want to be. History is unfolding before our eyes. It is our time to reignite the true strength of our culture and our Heisle identities. We are a part of change. Industry has been within our territory for approximately 60 years. The difference between that story and LNG Canada is that everything was done in complete partnership. We are a part of history. Our youth, our children, our grandchildren are watching. You Clute, our time is now.


All right, so welcome everybody again to this talk. I hope you had a good lunch. I was too nervous to eat lunch, but at least, you know, if you did, that's good. So all right. So I would like to talk to you today about engineering and balsamico sauce. And I guess that's a sentence that you've never heard in your life. And that's OK. We will get to it. But first, let's get the annoying boilerplate out of the way first. So if my slides work. Oh, yeah. So I wasn't sure how good the video quality would be. So this is a candid picture of me taking while coding. This is what I usually look like. Yeah, I like to paint mugs. It's just the thing I do. I have way too many plans. And they seem to multiply on their own. I'm not sure what that is all about. And I also speedrun sometimes. And don't worry, this is not a sport. This is basically trying to complete the game as fast as possible, either using glitches or not. And it's all the fun. And it's a very nice thing to do with your programmer. Because if, for example, there is a puzzle in the game, you can just write an algorithm that solves it for you in the most optimal way. So it's fine. You should try it sometime if you're into that kind of stuff. So with the important stuff out of the way, as Mark also said, I am a web service developer. So I basically build web services and APIs, mostly with the iOS, GTP. And I kind of like Python. Like, it's OK. So I have been doing this programming thing for a while now. And basically, I started with some website stuff when I was in school. Then I moved on to work in InfoSec and data processing for a while. And then I basically landed back in what is basically web development. And sometime in between getting my first engineering job and bringing down my first production database, I basically came to realize that there are two things that are kind of very common. And they're very present in engineering circles wherever you go.  OK, like whatever tool, software, library, process, you name it, there will be somebody who just doesn't like it and is very vocal about the fact that they, in fact, don't like it. Except Postgres, Postgres for some reason is this unicorn that seems like very well liked across the board. And the second thing is that everyone has opinions. Or OK, it means not everyone, everyone, but the people with strong opinions tend to be very loud about them. So it seems like it's everybody. So there is this thing called the internet. You might have heard about it. And really, it's an awesome place. Like, OK, maybe accept that. But otherwise, it's great. OK, OK, OK, fine. I mean, it has some hiccups, but what doesn't. OK, how can you not like the place that brought us synonyms rules? I mean, there is just no way, right? It's physically impossible. So I mean, so there's a lot of stuff beyond your linguistic foot endeavors that you can share on the internet. And the easiest thing to share on the internet is your opinion. And when it comes to opinions, the internet is basically dynamicsing them, right? So people on the internet have opinions about all sorts of things. So obviously, what it means to be a good or bad programmer or how to become one is really no exception. And you have no doubt come across some of these pieces of advice already. Like, maybe you even sold them out. And many of them make sense. But not all of them, not all of them. So what I did for this talk was that I looked up what the internet has to say about being a good or bad programmer and basically how to recognize that you're a bad or a good programmer. And I looked this all up so that I can share it with you now and we can grow together as programmers and human beings in these roughly 25 minutes. So let's just start. So the first opinion that I want to showcase is this. Unless it's a real research or publication conference where people discuss and propose solutions to challenging problems, you won't find top-notch programmers in these meetups. Why? Because more often than not, these meetups tend to waste too much time rather than actually solving some problem. So this is awkward.    OK, I hope you will understand if I skip the part where I actually try to debunk this, like considering the circumstances. OK, the internet also tells us that it is a good sign. It is a sign of a good programmer if they glance over your shoulder and point at the bug in your code with their finger. Please don't do that unless specifically asked because you might be able to demonstrate your superior bug finding skills, but it will probably not win you many friends. So next up. You can often see hallmarks of great bad programmers by phrases such as, I am so sad that my program doesn't work, I have tried to plead with it, and it still doesn't give work or buy. I feel that this code is right, but I'm just not sure why it won't work. Or even by, I read to my program every day and try to be a good friend, but it still doesn't like me. Whenever I try to attach to it, it gives me a core down. So I mean, to me, this kind of makes sense because reading to your program, unlike reading to my little pony pillow, will probably not too much good, especially considering that the program is already doing exactly what you told it. So chances are that the problem might lie elsewhere. And also, I have basically, I think I have to cut myself lucky because I have never come across anybody who talks like this. So I guess I have only met good programmers along the way. So that's good.  But does being said that your program doesn't work make you a bad programmer? I mean, your guess is as good as mine. So next up, the internet tells us that with the right tools, win-win, the 10 times engineer can do the work of 10 engineers because they are so much more efficient with their time and execution. While an average engineer might be fumbling their way through a process, a 10 timeser has already streamlined it and is two steps ahead. So there is this tool that will streamline your productivity all for the low low price of 1,000 euro per month. I mean, where do I sign up? I mean, usually I like to have some sort of a need for a tool first, but I guess it's just the case here that this is the pizza scissors of software tooling, right? You didn't basically even know it existed until you found out you needed it. Or is that the other way around? Next up, another sign of a good programmer is that they can complete any sequence of dialogue from Lord of the Rings, Star Wars, or Redworth, or Monty Python. So does Gilmore Girls count? Or are those the only approved shows? Because is it fine if I know all but one season because that one season was written by somebody else and it's really bad and the characters don't act like themselves bad? Like, OK, listen. I like nerdy stuff as much as the other person, OK? But I think it's important to recognize that stereotypes like this can prevent us from recognizing the potential and the value of people who basically do not fall into a need bucket like this. Because nerding out is cool and all, but gatekeeping a bit less. I mean, there are many people who would never even consider programming because misconceptions like these are just so common. Like, they feel like being alert is a requirement. You know, it's like this club. But instead of showing them your ID, you have to do a really good Jedi mind-tracking question. And it's a shame because while being alert is cool. Let's be honest, it has no bearing on how good of a programmer you can be or you are.  I mean, you cannot get into the club unless you know your elven name, OK? And I'm saying this as somebody who actually owned a set of handmade elven ears in my teens, OK? So there's a reason why I don't write that down on my CV because nobody would be interested. No other reason. If you want to become a better crawler, according to the internet, you should type faster. And the author continues. When I see someone who has been working with computers for a decade and can surpass 100 WPM, words per minute, by the way, for even a short burst, I'll admit it makes me cringe a little bit. It's just lazy as Jeff Atwood put it. So luckily, this one is a bit less demanding on memory than the previous one because instead of remembering all dialogue from a show, you just need to remember this one magic constant. Although I guess knowing all the dialogue from a show is kind of helpful because if you're all run out of things to type, you can just keep on typing and keep an average, a very respectable average WPM. So that's a good thing. Yeah, listen, I don't know about you people, but on my average day at work, I spend much more time actually thinking than typing. And the product of the thinking is often very disproportional to the time spent thinking. So what is more important, the ability to dismantle a problem and find a solution or writing it down? I mean, your guess is as good as mine. Next up. So you probably guessed that this one was coming. And for those lucky enough who don't know what this is about, so this is a Twitter thread from about a year ago where this person basically shared their observations about 10 times engineers and how to spot them. It's a longer thread, and it would probably make for a whole talk on its own. So I'm only picking two things here. 10 times engineers' laptop screen background color is typically black. They always change defaults. Their keyboard keys such as I, F, and X are usually worn out more than A, S, and E, email senders. So I do prefer black mode or dark mode, and I usually change the defaults. So I guess that's good for me. But I have no idea what makes I, F, and X more special than A, S, and E. And probably in my case, W, A, S, D is the most worn out keys anyway. But I guess if you kind of make the math, it still makes me like a 3.5 times engineer, so that's pretty good. 10 times engineers rarely look at help documentation of classes or methods. They know it in memory and can recall it from memory. They write code at the same ease as writing English. No breaks, no pause, just type. So I have to be honest with you, I'm failing this one so hard. There probably isn't a day where I wouldn't have to look up something, I don't know, either in Python docs or in the docs of whatever library I'm using. Like I can never remember the order of parameters that go into reduce. Like I just can't. I guess my memory is just too average for me to meet the standard of some random person on the internet. Let's try to leave again. In case you started programming in your 20s or even later and you're wondering how to become a great programmer, not just a good programmer, the internet offers this great piece of advice. You should have started being interested in engineering when you were in your early teens. Now it's too late. All you can be is a normal engineer. So I guess it's not really about willingness to learn more motivation like I thought. I mean, it's too bad. OK, listen. I started coding in my teens. But the most I learned came from basically when I moved from like individual tiny projects where I was experimenting on my own to actually coding with people. And you know, I'm looking at other people's code and them looking at my code and pull requests reviews, this sort of stuff. So it's not really about the pure time spent coding. You're really not missing out if you started out later. So don't get discouraged. Next up, one guy, he just graduated and called himself a programmer. I asked him a couple of questions. Have you set up the tooltips of the application? Have you made a setup for your program? Have you set up tab stops according to the flow? His answers were simple. No, no, no. Yeah, I don't know either. Let's just move on. So next up, as proof, believe it or not, I have written one million lines of code in under six months, resulting in a very functional, relatively bug-free, commercial product on the scale of something like Microsoft Office, though totally unrelated. Further, the product was innovative and in fresh territory, as in no competitive products, no answers on Google, which is completely on my own. I wouldn't do it again because I was then on the hook to maintain one million lines of code, but I guarantee you that's at least 10 times a normal engineer. That's about 6k LOC a day. The average engineer I've worked with puts out about 500 LOC a day, the best, but not rock stars, put out about 2k LOC a day. So it's not a clear 10 times mapping, but that's 12 times a normal engineer and three times a grade engineer.  Yeah, so this person likes numbers, huh? I mean, you know, I made that joke about being a 3.5 times engineer, like a couple of slides before, and I was kidding, but apparently there are people who are actually capable of precisely quantifying the output of a normal engineer and they do it presumably like down to the decimal point. That's impressive. And they measure how good of a programmer they are by lines of code read. So, but you know what the best, most maintainable, most buck-free code is. Like code that was never written in the first place, right? Like it's the easiest thing in the world to just write code for the sake of writing code and bonus points if you're doing it consistently at 100 WPM or faster. But you know what's harder, like maintaining code, right? And what do you do more often, right? The new shiny thing or like maintain this existing spaghetti code base, like doesn't make more sense to maximize the amount of code written or its maintainability. And finally enough, the author even kind of realizes this but you know, so close and yet so far. And just a sign note optimizing for the least amount of code written is probably also not the best strategy ever unless you're code golfing. All right, let me take a breather here. So the thing about a lot of this kind of advice is that the author basically assumes that everyone works exactly like them. Like unless you watch the same shows or you know, you have a certificate on your desk stating just how fast you can type, you can only be mediocre at best. And you can even get so detached from reality that your advice doesn't even make sense to anybody else but you like the tooltips person. And you know, the worst thing about this is though that the perpetuating basically the myth of a rock star or a ninja or 10 times or a real engineer can be really harmful because it can very easily alienate people who feel like they don't fit the stereotype for whatever reason. I mean, you gotta give it to the stereotype. It's a very smart way of perpetuating itself. And this myth has also often been used as an excuse to keep people around who make others feel unwelcome without realizing basically how much of an effect this has on the community as a whole and how that it actually prevents others from contributing because that's the hidden price of worshiping rock star engineers with poor manners like you might be keeping this one person who can get away with anything because they can get things done but at the cost of losing many others potentially people you don't even know. Yeah, so that was a bit too serious for this talk. So let's talk about something else for a bit. Let's talk about food. For example, balsamico sauce or BS for short. I think that we as developers come in contact with balsamico sauce every day. And in my opinion being able to tell whether something is legitimate or balsamico sauce is an essential skill. And unfortunately it takes time to build up but I think there's a handful of signs or like red flags that you can basically sport regardless of your experience. So imagine you have an axis like this where you have like the potentially harmless maybe even valuable advice on the left-hand side and strong balsamico sauce vibes on the right-hand side. So let's start with an easy one, okay? If an article suggests that you wire up your dusty time machine and travel back to your team so that you can start coding earlier I think you should feel free to disregard this advice as it will not be very helpful or encouraging. If an article is condescending towards people who do not need some arbitrary standard and this is a fairly large group of articles. I mean, in some cases this might be legitimate, okay? Like I don't know, don't store plain text passwords, okay? But the key here is the word arbitrary because you have to think about if enough reasoning is given that supports, for example, the 100 WPM limit or is that just something, is that just the magic number, the author thought of in the shower? Your guess is as good as mine. Sometimes an article is just trying to sell you the one true solution to a problem you didn't even know you had, exercise caution even when they're not even trying to hide it. Finally, if an article tells you to dance around the campfire naked on the sixth full moon of the year, I think we know where to put this one on the axis but still make sure to apply additional bosomical filters because I mean, it sounds reasonable but who knows what they're suggesting later on, right? Yeah. So with that said, I haven't really thought this through that well because I mean, I have been making fun of random advice from the internet. So you might be like, okay, everybody can criticize but what is your pros and what do you suggest? But then if I give you any sort of advice then I'm just another random person on the internet but in opinion. So why should you take any advice from me? And you shouldn't, at least not until you apply your own bosomical filters to it beforehand. So that being said, if you want to become better at writing codes, I really don't have any glamorous piece of advice for you. You just need to practice. You need to write, you need to rewrite, you need to read code. The best thing you can do is have other people read your code as well and comment on it. Write down things that take you along to figure out. For example, make a Git repo with notes, with solutions to problems that took you days to figure out because you will forget what the actual solution was and you will come up, the problem will come up again. And don't be too hard on yourself and if you can stop comparing yourself to others, you just need to remember that for every amazing program you see, what you don't see is basically the days of mistakes and struggling and you basically only see the end products and you can also get there. You just unfortunately have to go through the struggling part first. Yeah, but there's another thing. So when I think of a great programmer, it's not that much about code. I mean, that matters too, of course, but it's more about the attitude. It's more about how the person approaches problems and how they approach other people. It's like, are they willing to help you? Can you bounce your ideas off of them? Or can they say no to ridiculous demands and shield others from them, that sort of thing. And I think there is one thing that I think really gets underestimated sometimes and that is that whenever we write code with very few exceptions, we are part of a community, right? If, be it an open source project or your workplace. And regardless of your standing within the community, although the higher up you are formally or informally with the more of an influence you have, of course, you influence what is considered normal within the community. For instance, like that one time that you were lazing with some spaghetti cold into the cold base, it might continue to grow because others will be like, why should I care if this other person doesn't, if they can get away with it? Or I don't really care about implementing this feature in a nice way because there's already hacks in the cold base. So why bother? And this extends to social interactions too. So your actions set a precedent. So what I'm saying is it's good to be aware of the influence that you have on other people, even if it may be hidden the first sight. Because in the end, you know, it's much easier, like the easiest way to get a 10 times engineers, to get a 10 times engineer is to simply have 10 completely average engineers working well together and helping each other out. And at the end of the day, it's very much okay to be an okay engineer. Yeah, if you took absolutely nothing from this talk and you just want to know how much of an engineer you really are, you can just pip install this package and it will tell you bonus points if you can get the true ending. With that, thank you everybody for listening. Thank you very much for this very, very nice talk. We have one question from Jill. Any suggestions on understanding during interviews if the company you're joining has engineers like the ones you showed, or the 10 times engineers? So as a participant. Yes. Well, that's a good question. Well, there are things that you can maybe already spot like at the interview, right? You can see what kind of people interview you. You can see how well you get along with them. You can also see what kind of people they are. For example, if there are people from underrepresented groups there in the interview already that's I think a good sign. And I guess you can come up with good questions to somehow detect this. I cannot think of anything at the moment because my brain is frozen. But I'm pretty sure like you should already somehow feel the vibe from the interview and from the people who interview you. It just somehow clicks and maybe you can ask them I don't know about work life balance and all these sort of things because they tend to go well together with a nice company culture. But I think there are... Sorry, would you recommend going to a conference? Sorry, conference and company that obviously has these 10 times engineers or would you recommend not going there? The 10 times engineers or the 10 times engineers? Well, the 10 times engineers, the ones we like to show often. Well, that's a big question. Probably not, but there's also I think value in trying to be sort of a force for change in a community or in a workplace, if you will. So it really depends. It also depends how you are, what your approach is and how resistant you are to these kinds of things. So I guess it comes down to personal preference but I would probably avoid that personally. Okay, thank you. So let me play the applause. Thank you, really liked it. Thanks, thanks.


Welcome back, this is Y-24 channel and today is business Tuesday. We are strictly discussing matters business and today on our discussion is a shortage of maize or the maize crisis in the country and with me in studio we have two amazing guests to be able to put this into perspective. We have Dorcas who is an expert as well and we have Chris who is a farmer, a young farmer Karibuni Sanan, today you're all looking good because Chris you don't look like a farmer you know farmers, they're youths looking at you right now watching us right now if you tell them you're a farmer they'll be like no farmers this is not a farmer no actually it's a new generation actually we expect at least farmers when is now ag business that means actually we are trying to now actually commercialize your inputs so we expect at least farmers nowadays to be in courts in courts not in both and i don't know some and actually that's the problem we've had for so many years like the young generation we've grown up with this mentality that farmers not only parara farming kitu na bo but you see like it's encouraging actually for even someone who's young like me because that's its office by the way so i think the moment we change our mindset and know that even a farm in someone's office because so many people generate income from farming i think in the right direction as young people i don't know young people really fear farming they go to the university get their degree and they're like no even those who pursuze courses like agribusiness or agriculture in world they don't want to go to the farm they want white collar jobs what can you tell them Chris so okay you take me when you say your scenario back in high school yeah when actually people doing agriculture people used to at least be late to you you are doing agriculture whatsoever but i see that because it becomes is one of the backbone of this economy actually i actually prefer change of perspective actually in this sector these are very vital part actually this is very fundamental part of the economy business as a whole farming so the perception the wrong perception that we are in the past that no mara agriculture is a matter of just being dirty no the perception actually change let us do let us commercialize the agribusiness actually yeah i want to echo what you're saying sure i did agriculture in me as a degree and i remember when i shared with my friends like i'm doing agriculture they like they look like oh so there's a cost like agriculture but the scenario is changing there have been so many initiatives that are involving youth it's called youth in agribusiness forums or other initiatives at least the encouraging young people they're supporting them they are really pushing them like you guys agriculture is a way to go okay yes so can we say that uh this at least technology advancement in the sector that can actually encourage youths more youths to dive into this sector yes um expert when you talk about uh technology these um there have been so many emerging technologies if i may put them and the young people are the ones who are exposed to it there is what we call digital agriculture we use smartphones smartphones every now and then and um these smartphones they can be used for the good not only social media and facebook and whatsapp and what their groups where people sell produce their groups where people get information so the trend is changing the technology technology has actually assisted in agricultural production in so many ways only that the young people have misplaced priorities in using the technology but it's actually they're very very efficient ways that technology has helped apart from information people are getting uh i mean the major and big information people are getting uh information maybe on where they can get seeds at an affordable price they are there these blogs and everything on how we can produce the methods the procedures there's also the platforms for selling so basically we have there this agribusiness expose so basically there's so many things that are really encouraging increase you're a farmer okay what's what's kind of what do you farm like what is in your farm or do you have at least technology advancement or you're using the old techniques actually when you talk of when you talk of technology there's a vital thing that comes to my mind when you talk of technology we should be talking of maximization or or economies of scale that means we are able to produce much with the very furious process and that is the most fundamental thing behind our business so when I talk of technology maybe in a sector like for example distribution sector the challenge that we get that is that most of the farmers they lack information there's information asymmetry in the market this information asymmetry actually leads to a lot of information in search of where is the market what are the necessary costs of what are the inputs actually that we need what are the possible crop and control measures so technology is a while is is actually a kiz is actually very vital in this uh air production actually and do you think there'll be more maize production this year compared to last year maize production on my perspective actually maize production depends on a variety of factors we talk of even maybe rainfall as being a factor maybe the type of soil in that area like we get that in most areas that we have most areas in the country that they do it once is on actually while the areas that are actually based with the good enough rain for like the highland general kisi nyanza region people are able to do two plantations so according to me I would prefer that actually there will be more actually the government should come in actually to actually maybe subsidize the input so that we are able to realize this mass production actually the maize sector that is very vital so inputs and all other factors do you think what has do you think the government and other stakeholders are doing enough to ensure there's enough production in the country as an expert um I'd say yes partly and no partly because in the 21st century we shouldn't be discussing about maize deficit in Kenya sure because maize is the most I I I do not know about any household that doesn't consume maize it's one produce that when the prices hike people on the streets because it's the major major food that people eat in Kenya so in the 21st century I think I think we are stagnating as a nation that we've been seeing maize production maize production population is going the pollution is increasing we are at 40 million compared to 10 years ago meaning the consumption is going up but when you look at our production methods I will say partly the government has failed us and partly also the farmers have have had some laxity on their part uh we've just talking about we've spoken about our technology we'd find uh farmers um because we've not had we've not had and imagines of so many young people we find mostly okay the trend is changing us but we find mostly I don't know him I stand to be corrected that most farmers are still let's me say they was there the old people so you see with changing times they're still stuck to the old methods of production and those methods are the same ones that we are keeping to repeat that we want we want to get bumper harvest but you don't have to change the methods you are using and partly I'd say that um the government because you have the national the national serials which is mandated by the government to take care of the serial sector maize being one of them and it's heartbreaking or rather it's devastating to hear that nctb saying the shortage of maize and farmers have maize in their in their stores or warehouses so where is the disconnect where is the disconnect as a farmer letting speak and then I'll give my view on where the disconnect is just uh just on Dhaka's point actually to just lay more emphasis I'd like to actually narrate this situation that her maize production actually I think there's actually it has declined majorly due to the price of discrimination you find that most of the farmers actually have been to the fields and you find that there's a lot of production but the crops actually not because there's a lot of price discrimination when we're not trying to commercialize because the main number of production should be actually to commercialize our products to get some money to earn a living to take children to school out of this so that when the government actually can call it cartels yes when some few cartels yes some few cartels organized with some brokers actually today to to to kuyanyasa I can say let me just use that term please kuyanyasa that is something that discourages people it it actually makes people to shift over the of the sector that is very fundamental maize being a staple food this should be actually in fact this one should be clear that a national disaster okay your answer now okay actually I'm very I'm thinking this noise because this is the backbone look at even Nairobi as a capital city of Kenya the population of here is quite abundant their production is on the root of errors when you're going to discriminate farmers you're going to give low low payment to the farmers this will actually move them out of the market so these are very vital as I think the government okay some you do you want to answer I shoot another question shoot another one okay yes there is a this disconnect I want to categorically mention I will deal with the ncpb because that is the state cooperation that has been mandated to take care of these small farmers these people are supposed to buy the maize from the farmers actually it's more of a marketing linkage they're supposed to help the farmers market they're supposed to help the farmers in getting maybe fertilizer and seeds and they're supposed to have as it's called a strategic grain reserve whereby the stock maize in the in the presence of in the future will have a shortage so we shouldn't be talking about shortage so that's why I'm going with the ncpb but if you see all these we're seeing there's no shortage it's just an official shortage yeah actually there are two types of shortages there is artificial shortages they are the shortage that is caused by as human beings people the people hold maize like someone who is he said the cut tells someone would go and buy buy maize and keep them so so right now we can say they are holding those maize right now as you speak even the farmers themselves are holding maize because because of the prices but being given is not making sense of which I side with them because there's no way in three four months you've been investing in fertilizer seeds looking for for laborers in the farm and then when you do your calculations and then of the month you're going at a loss so you'd rather keep it and sell it the way you know or whichever way that will make it profitable for you and that is where you find we don't have maize but farmers have maize and again these farmers they don't know how to store in the process of storing maize you find the aflatoxins have been affected it just you find insects have happened in me so it's another case now again they're going at a double loss atu jauza mind it now it really it has been infested by the the pest and the wad so I think it's it's a fight yeah okay your point Chris your point Chris let me just give you a nice start according to my perspective actually mm-hmm I there's a there's a research that says that uh uh the economy apart from the current scale we have economic advantage that means that we have a lot of areas in this country that can really produce the maize yes but I think uh some some sectors actually of the government over the cultural sector are actually failing to do their work we have even the cultural research institutes like the Calvo these people they do research but well as this research they go to the grant of the farmers actually to give them maybe of the work of the affordable farming skills uh let me interject that one for Calro I would uh I partly do research for Calro I can testify there over there are over 200 varieties of maize that Calro has researched on and the trails have been done uh Calro in conjunction in simit simit is that is that is an NGO the government can trust this agency is actually these these institutions to do their research but the most fundamental the most criminal part is that this information is not reaching the farmers it's not reaching the farmers mostly mostly do these information even reach the small scale farmers because you've seen more support is being poured on large scale farmers and small scale farmers are being neglected I'd say that I'd say that I agree with him but not like a hundred percent because this trials are done on people's farms okay when before Calro releases seeds that this seeds can be grown and they are fit for human consumption and they can do well in this and this areas because you see Calro has various maize varieties according to regions right so there is the the maize variety that does well in Kitui maybe in taken to western Kenya it went to Aksina so partly yes they try but not to the level that they're supposed to because you see before maize is released to the market and even packaged in the agravus to be sold trails have been done where this trial is done first of all they are done in in the they are done farms for Calro and then to introduce to a few farmers so I think from from one farmer to another the dissemination is also that there's that there's a breakage in information flow okay yes and Chris I asked this question do you think small scale farmers get enough support compared to even large scale farmers before he says they don't that is that is automatic that is automatic then there's a yes it is true that development put a lot of emphasis on mass production which is also good but we should not neglect the small scale farmers actually I I prefer that they should be a platform actually to encourage these small scale farmers to produce more this one could we can tell you when the government actually subsidizing the input and maybe some knowledge to the small scale farmers but they cannot just to light care production and do we ensure there is a consistency in mass production as a country as farmers I think as a country I hope the leaders are listening to us where you talk of food food is the backbone you cannot work without food there's you cannot work you cannot be productive without food it is it is exactly something that is quite vital here so about maize about maize actually the the shorting madam said actually doctor has said something about holding I think that is what actually happening the maize is there it is there the farmers they are waiting for that price that so if they keep on holding on the maize because of the prices this is to blame millers are closing down actually we've had cases of millers closing down there used to be this structure that really worked if you talk about mass production of the 3.5 million farmers maize farmers we have in Kenya that's an approximate figure as that I think 2017 2018 I think majority are small scale farmers this large scale and medium they actually they are countable they are few so we cannot rely on large scale alone yes they have the capacity you can't compare a farmer who has 100 acres of land with that and was one acre you cannot compare them sure and this is the poor given priority you even so yourself when the minister the minister for agriculture was being vetted or rather was not vetted sorry was being grilled that who are these poor who are paid you see the large scale potatoes are paid over 200 million and their farmers were crying they haven't been paid so there's this system that it was there and it worked I don't know if it's still I don't think it's it's no longer efficient because there used to be the is it the collection centers or the farmer groups that are coming together you see if if if if maybe ncpb wants 100 bags of course maybe let's work with an acre which can produce at maximum bring 50 to 60 bags okay so you see if you get in farmers in such an area and do the collection together you can actually come up with the mass that you want but now we are dealing we are like it's like we are slicing them like uh pambare na halyenu yeah yeah the large scale farmers cannot they cannot sustain the demand for maize alone yeah even if they are even if they have the large firms they cannot that is why we still import maize because at the end of the day the large scale are the ones who are being paid or rather delivering to some even ghost deliveries there was no maize delivered but they have a rapport but you get okay we've had cases of fertilizers being so expensive to an extent of which a small scale farmer cannot afford those inputs the farm inputs among others what are other challenges facing the small scale farmers and are farmers as general okay you and also you answer that question for me okay to best of my view we have a a lot of challenges that face actually maize in this in this case maize farmers in this case but uh there's some that i think uh just due to some few people maybe sleeping on their jobs like uh we maybe could talk of rainfall maybe that rainfall is some that maybe sometimes you can't control the short but there are other things like for example in my area these are these are clear instance that is happening in my area you get that they sometimes the government yes they do their part of maybe maybe giving the inputs like the fertilizers yet they have some few cartels that upon the government actually giving out these fertilizers they are not clear channel of actually distributing the farmers they stock these things they stock these fertilizers they sell them extravagantly the farmers so i think uh the the key issue that i could just summarize with is that they need to be an information flow this information has seen it the farmers knowledge there's no awareness even this institution that people do research there's no awareness in fact the farmers from my areas they don't know even the institution that exists in the areas they don't even they don't even know it under awareness for us to achieve this maybe challenges the challenges that are there that are adverse they must be a platform for awareness and knowledge all coming actually okay you're fine i'll take my final take i will echo with him that i mentioned earlier times changed and the information carriers are the extension officers and i think extension died in kenya it did so i i'd give besides information i think the other one two there are many factors but maybe i'll point out to two or three that the maize import is killing the small holder farmers because they're coming at those countries that we're importing maize from that they have lower production costs so when they come here our farmers that is why they keep their maize another thing i want to mention is he's already mentioned it the middlemen and these are the people who make prices fluctuate because when i'm producing it's 3000 bob i look for to 3000 bob by the time i'm selling my maize it's 2300 now i hear 90 kg bag yes it's going for 25 actually so my parting short is that i think we still have a long way to go and we cannot do without small holder farmers we really need they really need to be supported and the main thing that they need to be supported on is the training apart from information there is a training aspect that it is sad that about 10 percent of our production it's it's lost apakatikati you see from the farm to where it reaches our table we've lost we'll we'll lose about eight to ten million bags in a year so there needs to be training on how to handle the maize from the farmer even as take it to the storage even as take it to the processors well thank you so much Dorcas and Chris that was Dorcas an expert and Chris uh farmer well thank you so much for tuning in to i244 channel today being business Tuesday until next time my name is Miriam Asava good night and god bless you


In this video, we're going to look at the solution of to question five from the midterm practice exam for calculus to math 1220 here. So here we have a table of values for some increasing function f. So our function f is given by this table of values. Using this table, we want to approximate the integral from 10 to 30 of f of x dx using the trapezoidal rule t five. That is, we're going to use the trapezoidal rule with five subdivisions. So some things to note is that 10 is the boundary on the left. So this is our easy or a value 30 is the boundary on the right, which is our B value. And so to approximate using the trapezoidal rule t five, what we're going to do is we're going to take delta x over two times this by f of x zero plus two times f of x one plus two times f of x two. We're going to set in all those parentheses there.  So some things to note here is that the a value this is exactly what we mean by x zero. So we already know that this one right here is x zero, and B is going to be our x five right here. At some point we need to identify what is delta x right delta x. It's going to be the last value B minus minus the first value a over five in this case. Well, I mean, in general, it would be over n. But if we use the specifics of this question, we're going to get 30 minus 10 over five 10 take, take away from 30 is 2020 divided by five gives me four. And so we're going to take an increment of four as we go through these. And so if you look at that, you can see that 10 plus four is 14. This is my x one plus four is 18.  Now in this situation, the the six values they gave you are exactly the values you need it for this one don't automatically assume that on the test, it actually might give you extra information that you don't need for this problem here. All right, what do we do next? Will we start plugging these values in here. So we're going to get delta x, which was four over two, we'll come back to that one, we're going to take f of x zero. That's this number right here we get a negative 12, like so, we're going to get two times f of x one, which is negative six, we're going to get two times f of x two, which is a negative two.  And then lastly, we're going to get one times f of x five. x five was 30. So we look at f of five, which is eight, like so. So let's try to simplify these things for goes into two, two times. So we get two right there. We can negative 12. We're going to get two times negative six, which is another negative 12. We're going to get two times negative two, which is a negative four. Two times one, which is a two, two times three, which is a six, and then just an eight to follow up there. And so try to add some of these things together. Notice if we take 12 and 12, that's a 24 minus another negative four, that gives me 20. What did I say before? Sorry, 28, negative 28, 24 and four there. If we add the positives together, two and eight are 10 plus six would be 16, like so. So now this is the hard part of the problem. It's called two digit arithmetic. Yauzer, I might embarrass myself here. But if we do this, 28 take away 16 is going to give us 12, that should be a negative 12, like so times that by two, we're looking for a negative 24, which would give us as our final answer, right here. And so on this question, we did the function for T five, the trapezoidal rule, but on the test, you could be asked to do this with the midpoint rule or the Simpson rule. So using the same table, I would actually recommend computing the midpoint rule or the Simpson's rule and see what you get there. You'll notice that some of those answers are listed as distractors on this one.