Sing some song. Okay. Hello? Hello? A song? Okay. Okay. Cool. To use that one. Yeah. Thank you. I wish you more than I have to. Well, good morning. I see it's a very hard morning for many people, so. Okay. When you will want to evaluate decisions, you can visit this link. And now, please, welcome new presentations about Open YPA. Can everyone hear me? Okay. Good. So my name is Audie Lee, and looks like there was a pretty busy night last night, so let's look around. But I've been working, I work at Red Hat, and I've been working in the dog tag certificate server team for the last few years. And I've also been working as a core developer for the Barbican open source project. Barbican is a secret as a service, and that directly ties into sort of the identity work that we're doing here. I'm Rob Crittenden. I've been working on Free IPA for, I don't know, six, seven years. I dabble in OpenStack, and so that's about it. I work at Red Hat also. So a lot of the work that we're going to present here is done by the members of the team that we're involved in. And so the other members of these team have been pretty active in OpenStack as well as in Free IPA for a long time. Adam and Jamie are both Keystone developers, and have worked a lot on a lot of the different parts of what we will present here, which was part of a demo that we did for the Tokyo Summit. Rich, who is here, and will bail us out when we have questions about this, worked on the original IPA join service, which Rob is going to talk about. John Dennis worked a lot on the easy to SAML integration stuff. Robbie Harwood worked on MariaDB and Curburizing MariaDB. And Nathan, who's our manager, is a Keystone developer as well, too, and will also be someone that will bail us out if we can't answer anything. So it's pretty straightforward agenda for today. We're going to do a brief introduction to IDM or IPA, a very brief introduction to OpenStack. There have been a lot of presentations over the last couple of days for both OpenStack and IPA. So most of the concepts and everything should be pretty familiar to most people here. We'll then talk about how IPA fits into OpenStack and the types of integrations that we're trying to do. And then finally, we'll talk a little bit about the proof of concept that we did in Tokyo and hopefully demo at least some of what was there. So, Rob. So who here is familiar with IDM, IPA, so I can kind of gauge how, okay, so I'll go over the details. All right, so it's basically identity management system. So you're dealing with users and user groups and hosts and groups of hosts and managing access control for all of those things and storing them centrally. So at the heart of IPA is an LDAP server, we use 3D and IDS, and we have a number of custom plugins that do things like synchronized passwords between the LDAP password and the Kerberos password. So you have a single password everywhere. We use MIT Kerberos for our KDC. The PKI is dog tag, the product that Audi works on. We have bind integrations, so LDAP again is the back end for bind. The CLI and UI have the same framework, so anything you do in the command line, you can do in the UI and vice versa. So let me talk about the architecture a little bit. So I'll go back. I'm just testing you now. Let me talk a little bit more about this. So client here, okay, so we don't do anything fancy. We're just gluing a lot of things together. If you've ever installed Kerberos yourself, it's like an all-day affair. You probably get it wrong four or five times. And so the goal of IPA was to make this consumable, so it's one command you install and everything is ready for you, and then you just have to concentrate on users and groups and things you care about, not, you know, where do I get my next principle from? So the client here, which isn't shown really, is SSSD, is system services, security demons, something like that, and it does most of the grunt work that users see. So it has, it's caching like NSD, and it has offline support, and it's honestly what most people think of when they think of IPA. So it also enforces host-based access control, so you can say this user or a group of users can do certain PAM things on this group of hosts or host, and that's pretty powerful because then you can start saying that administrators only can log into this set of hosts, and maybe they can only log in every other stage so they can't do other services. There's also a lot of web integration so that you can tie into the PAM stack and have PAM enforce only certain users can access this remote service over the web. But again, this is all client stuff, and I'm a plumber, I did all the server stuff. Let me show you an example architecture, can you go to the next? So one piece that I didn't talk about before is active directory integration. So in the past, we did syncing where we'd sync the AD users over to IPA, and you could use them that way, and there was a way to share passwords between AD and IPA. That's problematic because active directory administrators tend not like to install things on their domain controllers, and they don't really like other people poking at their database. So instead, we're using AD trust. So to active directory IPA looks like just another forest, and it's all pretty seamless. Now right now it's only one-way trust that works, so active directory users can log into Unix systems and do pretty much anything any other user could do. We're working on the other way, it's a slow, hard process. But typically this is the way it looks. So an administrator may be an active directory administrator, he may not be, he can use a browser in access, it all sort of seamlessly. This is what, here's the client. So we have SSSE as a client, CERTmonger is a really cool tool that's used to manage certificates. Okay, so dog tag will issue certificates for IPA users, and CERTmonger can do that request for you in one command, and it can also do renewal. So you never have your certs expiring it to in the morning on Christmas, which they always seem to do. So if you get nothing out of this talk, CERTmonger is something to look at. So and then the business applications, these modules I was talking about, these are the, Jan Paziora has a number of modules too. One can look up identities out of SSSD. So you log in as yourself, and then you can get all your groups in Apache, and they're set as environment variables, and that way you can enforce business logic that way without having to go to LDAC yourself and get the data. It's just all there. And then like I said, there's some PAM access modules and some other cool stuff. You can go through an IDP, IDP is a SAML concept. Does anyone know what SAML is? It's another single sign on protocol. I'm not going to get into it in detail because I don't want to use the entire talk, but this all sort of feeds together. So you have your users from AD, from IDM, and then you can just do your work, which is probably what you guys care about most. So that's IPA in a nutshell. So we'll talk a little bit about OpenStack. How many of you are familiar with the, with OpenStack and the components of OpenStack? A little bit more. There have been a lot of talks about OpenStack, so I imagine. But basically, OpenStack is cloud software, right? So the mission statement kind of says exactly what you're trying to do. It's to create a cloud computing platform that meets the needs of public and private clouds. And the idea, of course, for it being simple and scalable and all that good stuff. OpenStack is basically a set of components. Each component has a project name associated with it. So I'm just going to go through a couple of these because you're probably familiar with these. So Nova, for example, is the compute server. This is the one that you use to create servers, whether they be virtualized or bare metal. And of course, in order to do that, it needs images, which it gets from glance. Swift is an object store which is scalable and redundant and so on and so forth. Neutron provides networks. Cinder provides block devices. Heat provides templates where you can orchestrate putting in all of these things together and the deployments and so on. Cilometers monitoring and so on. Keystone, which you may or may not be as familiar with, Keystone provides authentication, sort of a central authentication store for everything. And in particular, it has sort of a directory of users and groups. And it issues tokens as a result of this. So what typically will happen is that Keystone actually is configured to use an external identity provider, something like IPA or some other mechanism. And it gets the users and groups from that identity provider. And in the Keystone database, it is actually just mappings between those users and groups and projects and roles or tenants and roles within OpenStack. And so when someone goes to Keystone to authenticate, they'll be redirected to that identity provider, they'll authenticate there. And Keystone will use those users and groups to map to tokens, which it will then pass on and then it will try then passed on to the different services to allow you access in different ways. Horizon is just a dashboard that allows you to control things, it's a way to UI. One thing that's not on there that is useful, that is the one that I work on, is Bobbican. Bobbican provides secrets as a service. So for example, in the case of volume encryption, Cinder will store volume encryption keys for volumes that you'd want to mount to different VMs and Nova will then go and collect those with the appropriate Keystone token, will be able to retrieve those encryption keys when it actually mounts the volume. We'll talk a little bit more about that as we go through. So just briefly some kind of an interaction between these, that's maybe a little harder to see. But in the center, you've got the compute node, which is Nova. And of course, Neutron's going to provide networks for Nova. Again, Glance is going to provide images and block storage from Cinder. These images and so on will actually come from Glance who might actually store those images, will actually just catalog the images and store them in Swift. And finally, you're going to add Keystone that's going to provide identity to everything over here. So each of the OpenStack services has a fairly generic type of structure. At the top over here, you've got an API calls. You have a REST interface where you can make calls to handle, to manage each of the different resources that are there. On this side over here, each of the services is also going to talk to a database, they're also going to talk to a messaging queue. And finally, at the back end, they may talk to some other service, or they may talk to some other devices. In the case of Cinder, this could be local storage, or it could be a Swift storage. Swift store, in the case of Barbican, for example, it could be IDM, or hardware module or something like that. So it's a very generic sort of overview of things. But what's going to become important because when we look to secure some of these services, we're going to be looking at securing each of these individual endpoints. So we'll want to secure the REST API on top here. We're going to secure this communication here, this communication here, and certainly anything back here. We've probably had a number, we've had a number of talks about Triple O as well too. The basic point over here is that Triple O is open stack over open stack. And the idea is that you're going to have a small bootstrap deployment network here, which is just usually typically a single node that has all the open stack services there. And you're going to use, and that's called the under cloud. And you're going to use the heat templates over here within the under cloud to actually deploy the cloud that you desire up here, which is the over cloud. So that's the idea of Triple O. And so for example, over here on the left hand side here, we've got our under cloud, our under cloud has each of the different open stack components inside there. And it's going to be using the heat templates over here to deploy different kinds of nodes inside the open, inside the over cloud. You might have a controller node, controller node will have pretty much all of the services there. Or you could have more specific types of nodes like the compute node, which would just run various NOVA instances as well as storage nodes, like a Swiss storage node or a Seth storage node or some other kind of storage node over here or a block storage node, which runs sender. And the idea would be that you could scale this as large as that your cloud becomes. So typically, for example, you're going to want to have three controller nodes for HA and those will be configured in an HA configuration to allow redundancy and so on. So that is briefly an introduction to IDM and to open stack. Let's see when they kind of join, they fit together. So there are three possible scenarios you can sort of think of in terms of how to fit IDM into open stack. The first idea is that you have IDM as a standalone component that you can use to secure the infrastructure, both the under cloud and the over cloud controllers and the nodes. And I'll be talking about that, and that's one of the things it's actively been working on right now. The second is as a standalone component, which you can use to secure access to the VMs and the servers that are created by the user in the over cloud. And Rob's going to be talking about that. And then the last one is finally, if you have IDM, the IDM server running in a VM that's created in the over cloud. And then you have other VMs that are created in the over cloud that need to join to IDA, IPA as a client. So in this first scenario, you're trying to secure the infrastructure using an IDM server. So the idea is that you have an IDM server that's standing by itself. It's in the infrastructure itself. And we're going to use it both in the over cloud and in the under cloud to make things a little more secure. The one thing about OpenStack is like everything else, everything was developed without security because people want to get stuff done. And then as a result, at the end, you have a wonderful cloud that can do all of these wonderful things, but that is completely insecure. And so IPA is one way of, has the tools and the ability to be able to make a lot of this secure. So the first thing we're going to do for each of the nodes, whether they be controller nodes or in the under cloud or where the over cloud is, we're going to register the host as an IPA client. And we'll do that by running an IPA client install on each of those. And this allows the host, it'll create a host entry inside the IPA database, which will allow the host to be placed in the host group. And when you place the host in a host group, you can assign things like pseudo policy or HBAC, host-based access control policies. And you can do all of the things that Robert mentioned about in terms of these policies. So you can basically specify who can go into these different hosts and what they can do there. It also allows you to retrieve key tabs, because it'll configure Kerberos on these different hosts to talk to the central Kerberos and get any kind of key tabs and user certificates. And we'll be allowed to be able to authorize you to do various kinds of IPA operations. And one of these kinds of operations is the retrieval of certificates. So there are a number of places here where you can use certificates in order to secure things. These are three controllers over here. These three controllers are arranged in an HA configuration. So at the top level, you've got all of the services which are actually exposed through HA proxy.  And HA proxy uses a pacemaker and so on to rotate the different controllers over here. So if we have one controller goes down, the traffic will be redirected to the other two controllers. In order to secure that connection, we need to use TLS. As you get TLS, we use Surtmonger to go to IPA and get the certificate. So typically what you would do there is on the undercloud machine where you're running the heat templates in order to create these different controllers, you would run Surtmonger there, get the certificate, and then you would copy the same certificates and keys all three controllers. Then on each of those controllers, you can ask Surtmonger to track the certificate so that in the event that it expires, or it's getting close to expire, one of these controllers, say the master controller as it were, will go through and try and renew that certificate. And then the other two controllers will retrieve the certificate from the specific entry within the IPA.  On the backside of it, the other thing we can do is we can create service users for each of the services, so Keystone will have its own service user, Neutron and so on, and we can retrieve certificates through Surtmonger for each of these different users. And then we can take these client certificates and we can talk to either the rabbit MQ, the bird queue over here, the message bus, or we can talk to the database and we can secure those connections both using TLS. And the videos, we created a couple of videos for the OpenStack Summit in Tokyo, and one of the things that Adam Young was able to show was in a default configuration, you could go through and you could see all kinds of passwords and all kinds of plain text things when you talk to the database, if this wasn't secured, because the password, when you're connected, you could see the pass code and plain text and so on, and that's never a good thing. So you can either use Cobra or you can use client certificates to secure these different connections. So just to recap a little bit, you're going to create service users for each of the different services, you'll use Surtmonger to get the Surt for the HA proxy, you're going to secure the connection to the messaging queue using TLS, using the service user certs, that way the messaging queue knows exactly who's connecting to him and they secure the connection. Cupid, which is what we actually ended up using in the demo, we used Kerberos to secure as well too with varying results, and you can also secure the connection to the database using TLS, using the service user certs. You could try using Kerberos, there will be a Kerberized MariaDB available in the next release of MariaDB and full Kerberos encryption will be available following after that. It's possible to use Kerberos as well in order to secure these. And then finally, just keep in mind, Surtmonger keeps track of all the certificates so that when they need to be renewed, they will be renewed automatically. The other thing, of course, that you can do is that because we have host-based access controls, we can specify who has the ability to access the OpenStack services in the cloud. And so, for example, this is very useful if you have a private cloud. For the under cloud, you want that to be a very restricted set of people that is allowed to get there, so maybe certain lab admins or the only ones that are allowed to get there. And you might want a larger group to be able to access the over cloud controllers. So, for example, within the corporate IT, IT itself would maintain the under cloud and then the over cloud could be made available to company-wide or to all of the developers in the company or something like that. Corporate IT, in fact, very often, let's say, that all the users and groups and so on are in AD. As Rob mentioned, AD controllers don't particularly like people going in and messing with their entries, but the identity can be federated through IPA, through trusts. And so, a lot of times when you're putting in an OpenStack deployment and you're bringing it into an environment, there are authentication stores that are already there. People aren't going to want to duplicate all of those users and groups within Keystone or within IPA necessarily, but you can federate the identity through here so that makes it easier to deploy within an existing infrastructure. That's kind of nice. The other thing that you can do is that you can set up web SSO and single sign-on and CLI single sign-on through using either Cobra or SAML. And I'll just go through a couple of running out of time. So we'll go through just one of these. So, here is a case where, I'll actually demonstrate this hopefully at the end of this, but here is a case where someone is logging into Horizon and one of the things they can do, so they can get a Cobra's ticket beforehand. That Cobra's ticket goes through their browser and they go to Horizon and they want to connect into Horizon. Well, Horizon at that point can redirect their browser to Keystone, and then you have various Apache modules that go through and process the request. So, model.js API retrieves the user's ID and so on. From the Cobra's token, we'll go through here. We use model.com identity to retrieve from the IDM server to retrieve things like the groups and the roles for that particular user through SSSD. And ultimately that information, the users and the groups get passed to Keystone where there's a mapping between the groups and the users to specific projects and roles. And there's a token then that is then issued by Keystone and sent back. So then the token over here is sent back to the browser, which gives it to Horizon and then Horizon can use that token to determine whatever it is that you're supposed to be able to do with an OpenStack. There is, here's another one, which I'm not going to go through now, but this is basically the same idea using SAML. The difference here is that you have model of Mellon, which is doing the SAML work over here and it talks to something like Epsilon, which will work with IDM to retrieve the users and groups. You still use model.com identity in order to get the group information and what you'll end up with is a SAML assertion and that SAML assertion will then go to Keystone. Keystone will determine from that SAML assertion will know things about users and groups and so on and ultimately create a Keystone token, which will be sent to Horizon. So if you want to know more about Epsilon, there's another talk later today by one of the developers for Epsilon and so I highly recommend you to see that. The third bit of the infrastructure has to do with Bobbican and as this is a project I work mostly on, I'm pretty excited about this, but Bobbican is the basic idea behind Bobbican is that there are people that are going to want to store all kinds of secrets, whether they be passwords or encryption keys or any of those kinds of things and this provides a central location for people to be able to store them securely. Most often a lot of people try to do crypto and they do crypto badly and so the idea would be to store this in a place which has been written by cryptographers, as it were, to make sure that everything is secure and so in particular we've used it for doing things like encrypting volumes, encrypting images, some of these are ongoing efforts right now but some of these have already been completed, encrypting objects from SWIFT in transit, setting up Neutron albass, load balancer as a service, so on and so forth, so various things that are various open stack services that are talking to other services and storing secrets and retrieving secrets. Where IDN comes in is that Bobbican has a back end plug-in infrastructure so that you can talk either directly to something like an HSM, a hardware security module or in our case I created a plug-in that allowed it to talk to the dog tech KRA. The KRA is just one of the components of the dog tech certificate system that is used to store secrets securely. It's also part of something called the IPA vault which is a feature with an IPA that allows you to store secrets. It's later to be in OSP9 as tech preview so coming up pretty soon. So just to give you a little bit of idea about how Bobbican works here, basically someone wants to store an encrypted volume, Cinder will actually ask through Casteland, lost Bobbican and the KRA to generate a key that key will actually stay there and what will be returned is just a reference to that key that reference to gets kept in the metadata for that particular volume and then when Nova needs to come and attach that volume it will get the metadata, retrieve the key and then attach the volume and from the point of view and it actually attaches in the hypervisor using a Luxe encryption in the hypervisor so that from the point of view of the volume it just looks like any other volume and I'm definitely running out of time. Okay so Nova has got a number of hooks available for the last couple releases and so we're utilizing three of them so when a new VM is created by Nova or when it's destroyed by Nova or when Nova detects that there's a network change so the idea of this is so that when Nova creates an image it's pre-enrolled and IPA so that when the user finally gets it that's booted and everything they can log in using their own credentials and just use it as they would any computer they might use and it can be enrolled in when the host is created the idea is that it's given access to one or more host groups so then you can control access at the point where the VM is created about who can log into it and what they're allowed to do there so what happens is when a VM is created as hook is called we create a host in IPA we created DNS entry in IPA for that host and create a one-time password and that's passed into the VM during boot using cloud in it so at the end of cloud in it packages are installed IP client is run and the host is enrolled so at that point it's ready to go for users so you can log in as yourself do everything you can you know in any other system and then when so when you're done with that because VMs come and go and opensack all the time what novel automatically delete the host from IPA clean up the DNS entries and everything is fine so the host class is mentioned here at the bottom so IPA has this this concept of auto membership so you can create rules that say member a user a class of this should automatically be members of these host groups so you're not limited to a single you don't have to you can have more complex configuration you're not limited to a single host group per per type so you can have you know very complex rules and this includes sudo so you know some VMs may have more suitable access than others and some users also may have the host only gives you so much access but users still are constrained by whatever other rules there are so this is what I sort of went over this is basically what happens with the hooks I'm not going to go over it again sorry alright so here's so there's another twist so open stack has a concept of metadata and there's like 18 different names from meditated and open stack it's parameters and you know user data and all kinds of other things the basic idea and this is going to be in mataka in a big way so that so glance has got a metadata service so you were planning on creating an IPA metadata service so that when you created an image or you create a flavor you can associate IPA with it and say hosts created with this are going to get a certain class so that when you boot it they're automatically given whatever access that you want there's also a way to override that there's a next generation launch instance which is sort of a wizard and so it's unlike what you're probably used to it actually walks you through all the steps so you're less likely to forget something and it'll actually warn you if you do things that aren't too bright like it'll see you get a little a warning if you try and boot a flavor that's not big enough for the image that you've selected for example so and it's so it's very configurable and we're hoping it's it's the way to go so rich did all the work I'm standing on the shoulders of giants here the demo to Tokyo summit so if you want those videos on it already if you wanted to see this in action not sure when this is going to land and I was in OSP at all we're but soon we hope ah oh I guess just mentioned DNS so this is the one big question mark okay so right now we rely on IDM for DNS and you know it looks like administration may not want that they may want to use designate which is the DNS as a service so we're trying to figure out how to do the creation and deletion of hosts so that that's indeed the one big open question yeah and I'm just going to briefly mention the third case here so the third case is a purely you know I might mention the old cloud use case this is a case where you have IDM or IPA as within one of the opens one within one of the overcloud VMs and then you have other overcloud VMs that are going to connect to that conceptually you think that this should pretty much work as is after all whatever is in the overcloud shouldn't have to worry about what happens in the end cloud one big question of course is things like DNS and and how that works and whether or not that there's anything that we can do to make it easier for various overcloud VMs to join IPA but that's probably something that's a little further down the line so in Tokyo we just basically had a proof of concept here there's a whole lot of details on here that I'm not going to have chance to to go through but you can kind of see all of the different things that we described and was able to demonstrate in this open in this thing we just had a single node basically with all the different servers and all of those connected to another node which had IPA and in particular there are a whole bunch of different links here specifically to videos corresponding to those different nodes I can try to do a bit of a demo I just don't know how much time so whether to do the demo or to do a just ask questions so yeah are there any are there any questions well let me yeah so we have a we have scarves and we have a keystone developer t-shirt with keystone t-shirt over here so the best question gets a really cool so yeah so the best keystone question or it's a really cool t-shirt we have swag and then we have we have we have scarves so so let's go with questions and we'll see if we have any time yeah so in integration of IPA and things I think is slated for OSP8 something that was a good keystone question did everyone hear the question and the answer did it make sense the question was what can I do with IDM today and the answer was you can't do this but you can do LDAP off so keystone can hook into a number of different identity providers you can hook right into AD you can open LDAP IDM you're just not going to get Kerberos and typically based access control any other questions good scarves no one's a scarf no one's a scarf anymore all right all right one minute we have one minute see what I can do here okay so what I've done is I've so I'm using export here and now I'm just going to log in as admin so I've set up Firefox over here it's going to take my I have a Kerberos ticket now because I've got a KNIT and I'm going to go to IPA as an admin and what I plan to do here you can see obviously that I don't get prompted for any username or password anything like that because my Kerberos credentials have been proxied through and what I'm going to do is I'm going to go ahead and I'm going to create a use a new user with an IPA so we'll say no and his name will be say for no demo I'm going to give him a password which will he'll be prompted to change on first setup okay and I've added that user yeah because it's a it's not the actual password it'll get it'll be forced to recess on the first on the first usage right so let's go ahead and I'm going to go here and now I'm going to KNIT as Brno okay I'll put in that one character password and now it's going to ask me to change the password and actually put a real password in there with all of the password requirements and so on okay okay and now you can see I have a credential over here what I'm going to do now is log out here okay and now I'm going to log in again and this time I should be logged in as the Brno user while that's going on I'm also going to log in to horizon okay so you can see here I am as the Brno user you'll also notice that I am in the IPA users group and for OpenStack I'm going to say let's log in using Coopers and so what's happening here is that horizon is being redirected to Keystone it's getting various users and groups and using that Coopers credential that's there and what you're going to see is that I'll be in horizon right here in the demo project and I have various accesses and I can at this point I can create VMs and so on and so forth the reason I can do that is because in Keystone there's a mapping from the IPA users group to the demo project of which I'm a member and I'm out of time all right Thank you for presentation so so so I don't know how to say it in Greek, but if it's fast enough, you don't have to turn it on until the end of the game. We'll have to play both. Yes, let's come up with a presentation, which is from Modbuk. You have 40 minutes, the questions are included, of course, in Czech. For a good question, you can give the bowls. You can use the three, the six. I'll show you the bowls when they arrive in time. Stickers, false speakers. And if I can just ask for the presentation on the bottle? I think we'll play the whole game, as it's a podium. And I don't know anything else. I think even if there's a person here, we'll see. I don't know how to say it, but we'll see. So how are you going to say it, but you won't see it.


Small but necessary, only one people living for 5 years and, an important same, they can understand true value education, to train them to become responsible citizen in personal as well as in social life A feature of a small but short person like me রਸਸਸਸ রਸਸ রਸਸਸ র਌ਸਸ রਈ রਸਸਸ রਈ র਄ਕૌ, রਈ রਈ রਈਅૌ, রਈૌਈ রਸਸਈ রਈૌ �helm রਈૌ, রਈ রਈૌਁ রਈ�ਈ রਈ�਄ রਈૌਁ, রਈ�ఀ� used to make him responsible as well as in social life. complement        sunt跟大家 TB           Burada��    jointly     Dartmouth ÿ ÿÿ�նisierung eunकौ R DHI ക്ൌ worthwhile the relationship Mr.ila Bhut to high kare ക്്്്്ൃ്്്്്്്്്്ൟ്്്േേ്്്്്്്്്്േേേേേ൅്്്്േേേേേേേെ്്േേേേേേേേേ� the violence is going on in the world only because of religion aata religion ne antu religion alabot mili banware but they don't accept one religion with another and hikar ne kihay, e hokalo dharnar, violence, war, juddha bighra hokalo homazad hai e mui labhut hikha, jodi prakritate, paitakramat antar bhukta kori hikabho parajayajan hi ho tetya hole kihobho, they can appreciate the basic principle of religion hokalo religion hokalo dharnar te alukar karne ek hobo arhe gyan dibopara paitakrame asalate mui labhut hikkar mul udasabili ami koboparo to rise evo prejudices on religion, language, sex, caste or creed e hokalo dharnar dharmobahsnata jitu koi jay one religion hit another religion aata language e antu bhakhar luke antu bhakhar luke hoday bhal baya kotu bhakha koi ahise ba in regards of sex, jodi amiko, the third gender jibli koi tya luke hoday praterna kori ahise e homazad e hokalo bur baya kam soli ahise kintu if we can inculcate the value education properly jodi ami value education mul labhut hikha hosake ami paitakramar duara horu horu hi huk uttyaha hi hukami dibopara arhe ek othano haze mul labhut hikha hokal horu hi huk that is in the primary stage or in the secondary stage but it should also be included in the higher stage karon manhu aur manohi kota hoday it becomes small when they grows up arhe karne horu hi hukalo aur manohi kota hoday bahal jisti bhangi re it hake kintu tya luke dangor hua lage lage tya luke jisti bhangi khaloni hoya haaya arhe karne koi se the value education should be included in all the aspects of education karikul amor hokolu from primary, secondary, higher hokolu te value education mul labhut hikha diya to otty koi zoruri arhti tya hai e hokolubur sintha dharar pra antu religion, sex, caste, creed e hokolubke pratarna karar pra tya luke as on as on vyakti by as on hi hu tya luke ag par hi haibu tya luke hokolu if the people irrespective of their caste, creed, sex, religion they will think all are one hokolu ek arhe karne mul labhut hikha diya otty koi zoruri to acquire the knowledge of greatness of indian culture and significance of our national goals amar pharatio hongaskriti aru amar pharatio hongaskriti aata jorita boytho ka zihni utdeso e hokolu gyan aharan karat mul labhut hikha hai ho hi koi aru he babhe mul labhut hikha ata utdeso hoise to acquire knowledge of greatness of indian culture and significance of our national goals anti objective, anti utdeso ho to make people understand the relevance of values Everywhere you know that it's a real love, that if you have really日本 or happiness, but you don't love it, it's very beautiful it's great, that you've needed it was just meant for you to embrace it a lot.  earthqu� groomingาย  hina hē. Āmi as an hī ho pa. One learner, we can give it to one learner. ierungs, chune ākrohi, te onu ke mou ye lōbulthī ciaż ইটুু পা endangered. পা না তুু পা রুুুুু পা পা রুুুুুুুুুুুুুর পা যা কুুুুু আুুুুুুুুুুুুুু� boş. To develop the spirit of national identity and patriotism in children. Ami amar dekhok bhalpua. Spirit of national identity, ami, indian, are national identity. Moi zodi indian, I am Indian, moi ahomoman hum. Moi, I am proud to be in people of Assam. Easy to proud, easy to feeling of love towards country. Eitu ata mullabut. Aid hornor mullabut, ami, properly we get it from fellow education. Mullabut, hikkar duara he, pam. Aid mullabut hikkar duara ami kenike pam, amar, paththokromor duara. Hikar ne aji udaharon sarpe ami ko oparoh, aji ami mullabut hikka, amar, BA education. Ami hikkhave bagar BA education hor, paththom hanma hikot, In the higher, this is a part of higher education, azi amee, value education, pohia hi su amee, jania hi su amee. Paikthokra mat aap paath hi sape rakha hi se zate. Hokalue mullabhut hikkhare bhi khare, janibhopare pa, teholo ke nijorji banan mullabhudar bhi khare. Ba mullabhudar dharana teholo ke anibhopare. Itia, iman pohia amee, mullabhudar utteso homor bhi khare, jania hi lo. Itia, amee, mullabhud hikkhare, kyon pohia jan, amar ji banan ba, kyon dharkari, kyon zoruri, tar bhi khare amee, hongkhepot kon ho. Firstly, to develop positive social attitude. Hokaratmak hamazik distibhongi gothon kora. Ta mani, amee, hamazha hokalo bhostute zate aata hokaratmak. Mani, positive attitude lo amee, hamaz honok saboparu. Amee zate kutu, hamazot kutu, baya gun ba baya bhostu. Amee zate hamazot nidyo ba hamazot pra ahara nakoro. Amee, hokamazor hokalo dikhote zate hokaratmak. A positive attitude, amee hi distibhongi re zate hamaz honok saboparu. He kotha, he bhostu, he hokarat, the positive attitude develop kora at, amee ho hi kore value education. Second is, to develop the moral qualities. Amar ji banat, noiti kotaar gun, anibor ba baya value education ba, amar mullabhut hi khare, amee ho hi kore zate, poti zon biyaktir ji banat, mullabhut ba noiti kotaar budd, noiti kotaar gun komo zate amee nijor ji banat, anibor ba baya value. Countess materialistic attitudes, rastrio, bhostu nista, distibhongi. Countess materialistic attitudes, e adhunik zukat, amee khadae, ki hai, zate amee toka, poisa, haa, hampati, matibari, he hokalobur, bhostu kothae, sinda kore dhaka zate. Zate tar, he sorobtu, horo manohikata to narahi, tar uporot, e materialistic attitude, e bhostu bikhwaya, amee nabhabi, manhor, ji bandhara zate, palke amee solizabho paro, khusta bhabe solizabho paro, kono dharno jutta bighrona hoi, he hokalobur zate, amee materialistic bhostu paro akturi thakibho paro, ba tar loovar, jitu grit, the grit for the materialistic thing, kothikha, zoruri. Next, humanizing effect. Humanizing effect halki se manhue, manhor bhabe zate, sinta kore hi hai. Ajee, jutta amee rekhishu ze, kono nijor bahire, belegor kotha, kitya ho sinta no kore. Hodae, the person always think about themself first. Aga ordinaat kiye sile, the people think for other first. Belege, belegor bhook lagile, belego kwalobo tar piso nijekha bo. That was the philosophy of life in the prehistoric age. Manhor jitya, amee kabo paro jitya, hoi nahi jibon manhue, at homeo jitya jibon japon kore sile. Kono dharno tokha apoi sa dhan, te onlukar jibonat, mullo nasile, titya manhor jibon tu kiye sile ze, moi huhi, anoku moi, huhi hi sape sabo paro. Keen itya borto manjugar, in the 21st century, the humanizing effect is decreasing day by day. Manhue manhor babe sintakorar, din homu nuhuahol. Aru e mullobut hikkhar duara, amee ajan biaktik, hobol babe sintakorar, tarona diboparo zate, te on nijor bahiro, anor kothao sintakoribopare, hokolu manhu ze homan, e kotha te onluke sintakoribopare, how we can inculkit, amee ki idhorne diboparo, through the value education in the curriculum. But take to star or hikkhar, paito kromor duara, amee e mullobut hikkhar, hokolu, e proizone ita homuase, zidhorne amee mullobut hikkhar, diboparo. Next is, to develop cooperation and fellow feelings. Manhe, izone hizoner mazot, hohojugita, abhachitobut, e hokolu darona zate, te onluke zani bopare, ezone hihue zani bopare, ba ezone biyakti e zani bopare, hi tarbabe, amee, mullobut hikkhar, zororiboli ko boparo, mullobut hikkhar duara hai, manhue, ezone biyakti e, hohojugita, abhachitobudor, zitu prohar, he prohar hoy, Next, development of democratic qualities. Ganotanchik gun homu, zate, develop hobo pare, value education helps in this development. Mullobut hikkhar, e ganotanchik gun homu har, develop korat, ezone biyakti, hohai kare. Ita, amee imanpare, mullobut hikkhar nu ki, mullobut hikkhar utteso homu ki, mullobut hikkhar, kiyonu proyuzon, tarbihhoy amee, zane hi loo, kino mullobut asorote, imanprakar, mullobut ja, kisumanprakar ase, e prakar homunu, kiki, tarbihhoy akon, zano ha, Now, this is, we are going to know about the types of values, he mullobut ke prokar, saari prokarat amee, pakoripo paro. Prathome hall, aesthetic values. Aesthetic values, manne hondu echjo buddhar, mullobut. Manne, to see the world with beauty, aesthetic value, hokolute amee hondu echjo dekhapam. For example, art, dance, music, singing, everything, e hokolubur, hongit kola, Bhaskar ja, e hokolute amee beauty, we see beauty in them, and that is nothing, but the aesthetic value. Amee ze konu bhai nasile bhal dehu, konu bhai gale bhal goazen ko, kyo ko, ze bhal lagise, bhai to bhal lagana, e is a sense of good and bad, amee ze, we can determine which one is good, which one is bad, and how we can determine good by its beauty. The hondu echjo buddhar, protitu bostru hondu echjo buddhar, kaboparu ze itu bhal itu baya, and that is nothing, but the aesthetic value. Hondu echjo buddhar, mullabudd, e to e hol prathom prakar mullabudd, and to hol spiritual values, aithyatmik mullabudd, e aithyatmik mullabudd hol, it is concerned with the divine and soul, bhagavanar lagat, akmar lagat, zorita hoithoka zihni, kotha, we should not, amee aokol itu bhabi bon, aithin alage ze amar manhor jibonot aokol, thaka khoa manhor lagoi bhalasorankora bhalbe bohar kora hekinie, hekinite amar jibon homapto, but there is something more than that, that is the divine soul, spiritual values, bhagavan, manho, why people think of God, why people fear God, aithi bhagavan ase karne, if there is God, there is evil everything, or he karne we should know that there is spiritual values, adhyatmik mullabhut bulao, bohstu ze ase, he bohstutu amee, korpragampa lo to the types of values, and that is related to divine, bhagavan, aur akmar lagat, zorita hoithoka gun homo ba, mullabhut homo hol, adhyatmik mullabhut. Next, moral values relating to ethics, noitikota buddhar mullabhut, noitikota mullabhut hol, zihni amee jibonot, amar noitik gun, noitik mullabhut hol, zihni jorita hoithoka, that is the moral values, and lastly, the four types of values, the social values, hamajik mullabhut, hamajik mullabhut, khadharan bhape amee kabo gole, ze what we give to the society, and its well being, hamazor, akpor haini bo ba hamazor, gore to li bole ba, hamazor prakri to te bhal, amee zihni orhi hona jugaun, hamazor, that is the social values, social values of life, and these are the basically four types of values, e sarita hai, values buli amee kabo paran, that is aesthetic values, spiritual values, moral values, and social values.  Social service programs in fairs and festivals. Ittya taro usor suburiya, manzot, amar usor jagat ko bat, amar mela hol, ki ba festivals like, you can take the kind of puja, sub kind of functions, kisuman hor-horajibur function hoi, festival hoi, tate jate, ami nijor bhabe, kaam kori, homaz khano, nijor falopra, ki ba, ori hanazuga bo paro, hei karne ko se, there should be social service program. Aro hi, social service ami zitiya kori, nijor bhabe, nijor bhabe, ami nijor, eku lab kun na bhaba ke zudi, ami homazot ho hi kori bole jao, then we can develop feeling, that we feeling zitu ko amar, amar zitu feeling we feeling zitu hoi, hei feeling to develop ho bo, and that is nothing but development of values, amar, moilla buddhar development ho bo. Next, first aid programs. Akashvik bhabe durghatona hole zate, kene ki ami ho hi kori bo paro, ajan manhoy, anjan manhoy, ki dorne ho hi kori bo paro, tene ko kisuman programs, school suit, hi ka unusthane unusthito kori bo lage zate, easy to the bonding between one and another can create aru aid, how we can create true first aid programs, aid hornu, kisuman unusthan, unusthito kori bo lage. Then celebration of national festivals, national and international day, kisuman national festival by international days, zihni, homazot upo hako lo manhoy ke upo kri to kori bo paro, tene ko ar hornu kisuman program, school e organize kori bo lage. Organizing and practicing different plays, khela dhula athletic activities jot nijor, poti to hi kue nijor, dikhat zate, tene ko aki sumal, dikh lo e pala zate, khela dhula tene ko aki sumal, dikh lo e pala zate, khela dhula tene ko aki sumal kori bo pale. Next, organizing talks, debates, ami homazor, dhangor, bihi stho, biyakti hakole, school e nimontron kori ani, tene lo ko ar dhora kisuman, we should organize some talks, zate tene lo ke, tene lo ko nijor, jibhan aur abhikka tarpora, kisuman, murila budhar dharana, horu horu hi ho paan hako lo lo ko, homazor, dibo pale. So, it is the responsibility to school or ata pradhan kajor, that they should organize talks, debates in the school campus. Then, classroom learning activities like narrating biographies, stories, articles, etc. Pradhan ke ezon ehan school or deolukor tene ko tata, zate ya hikkho ke parha bolaya hain, hikkho ke hodai, anor, jibhan aur, example udahoran kisuman di deol dangor dangor biyakti hokalor biographies, stories, kisuman articles, jot murila budhar dharana, kisuman poa zai, he hokalobor hi ho tene ko tata, dibo palage. Ar tar dhora, ami bhabu, e hokalobor, e hokalobor activities, if we can develop these activities in school, protect zon hi ho mazot murila budhar dharana, gordio dibo. aur, e murila budhar prokrit tata ya zon hi ho manho rupe, porigoni takor ibo pali. ehi ne hol, murila budh hikkhar murila dharana aur, e oddaytut, ami ako ebar ko bolaya visari su zi e oddaytut, ami mulate, kisani lu zi murila budh nu kis murila budh hikkhanu kis murila budhar projani atanuki aur murila budh kis dharne manho ar jibhanar through the cariculum funny one here I know how to understand it murila budhar yos, is 12 years old same 2 years old and I have lived happy 3 days and I have been living happy 6 months algae koe alull sonak psychologists did fast thank you


I'd like to talk today about the independence of the judiciary or the lack of it. It's really high time that the judges actually, when they came out on the 18th of January, I think it's really high time that somebody came out from within the judicial fraternity and spoke up. There are a few occasions of a stray incidence of lawyers coming out, but this is the first time and yes, salutations. I'd like to start with an incident when I started my practice. When I walked into court, it was the Supreme Court of India. I saw very senior counsel, gravel and bow and scrape before judges. I saw them then walking backwards and then exit the court. I saw the judge flinging the file after that and with the utter arrogance of saying, whatever he pleased with the knowledge that there would be no consequence to that judge. It had no bearing to the case, but so what? There was no accountability, there was no answerability. So I also learned from just stray comments from people that, oh, you'll get your relief depending on who argues your case for you, which was a bit of a shocker for me because we were thoroughly prepared with our laws, with our facts and everything, but we were told it was important that you had someone who actually had the year of the judge and if they chose not to, they would simply not listen. So coming to independence, and I'll keep it short, I'll also, my friends have already spoken about many of these aspects, but as far as independence is concerned, I think the basic that we expect from the system is to uphold the law, uphold the law without extraneous considerations and simply follow the law in which itself is not done in the majority of the cases. So I would like to talk about the vast majority of cases where on a day-to-day basis, month after month and year after year, people are denied justice simply because of the lack of application of the law and yes, the lack of independence of the judiciary and the reasons are, one is the appointment system itself, the other is, and as a consequence, the outcome of the appointment system and the manner of adjudication and finally, of course, the total absence of accountability. Appointments, as far as we're concerned, we're talking about independence, yes. Independence in not only the manner that we've seen recently, where in fairly big cases there's been an attempt to fix benches and rosters, but also independence in the sense that when you have 60 to 70% of cases where the government is a party, if you have the judge adjudicating upon the case also coming from government, where is it possible to even expect a remote sense of justice? The same person has represented that body and then is sitting on that case and trying to adjudicate and or at least seemingly trying to adjudicate. It's seldom that the correct law is applied and even if they're familiar with the law, there is a position that has already been taken. As far as the outcome is concerned, it's very, very obvious, as I said, that justice is simply not done. What I would like to propose is, apart from a consequence of simply an appeal, there must be a consequence that judges face in terms of either contempt or complaints. There is a provision in the Contempt of Courts Act that if a judge is seen to obstruct the administration of justice or not act in the proper manner when they conduct cases or adjudicate upon them, there is a provision but that has been diluted by the courts. I'll give you a few examples that we've recently suffered in the Delhi High Court. There was a case where a son of a fellow judge stood up and started his arguments. So the judge bench very, you know, compassionately looked at that young boy and said, oh, but you have no case at all. So this boy said, no, but sir, it was almost like he was saying, uncle, but you know, but there's, and there was nothing at all that was said, no content.  The very next case was us where there's been a contempt notice, contempt against 38 persons, including the police and the municipality officials for corruption. Within two minutes, this bench lost its patience and dismissed the entire case without a hearing. And then of course wrote heard, but we dismissed. There's another case and this is after the street when we represent street vendors, juggy dwellers and so we, our opponent is not only the government authorities, very often we also face the wrath and the ire of the bench that is supposed to be adjudicating the matter. Very often the judges have represented the municipality and so on and the law itself has changed its course because of the fact that the municipality has not, has not supported the rights of these marginalized groups. We've recently had a case where after 50 hearings, just simply, most of them, maybe 40 of them were adjournments, purely because the court would list the matter in the morning, keep us waiting the entire day, try to wear out the vendors so that they would lose hope and leave the court and then has passed orders against us. And what was also shocking and appalling was in the judgment, though it was the municipality that took about 10 adjournments, they say that the vendors council kept taking adjournments. So it was to make sure that the Supreme Court would look, would already have, would look at the vendors cases with some sort of a prejudice or a bias once we went up to the court. Also what was appalling was that the orders were passed against the statute. The statute categorically represents, protects vendors and mandates that no street vendor while hearing the implementation of the act will be displaced, removed and so on. But this court has just simply gone against the statute and passed orders saying we don't really abide by the law and we're willing to go against it. So we had filed a petition on judicial reform several, several years ago, but after six years of hearing, the court simply threw it out saying, we don't think we really need reform, we're perfectly all right, that was the Supreme Court. We had asked for video recording of court proceedings. We have arguments in court and there is nothing that is recorded except for what is already written. If you have arguments and discussions for three hours, all that it's reduced to is a one liner which simply says heard and yes, re-notified. The system is supposed to rely on memory or the whim of the person who's hearing the matter and then expect justice finally. Video recording of court proceedings will also expose the manner in which judgments and orders are made. So I'd just like to conclude and say that I would propose an appointment system which is not the Collegium and not the NJSE Act, but an independent body which can appoint judges, an independent complaints mechanism where you can go to the body even if, I mean, not, and you don't have to wait till there is a massive case of corruption or, you know, but in the day-to-day functioning of judges. Today we see the independence being used as a cloak for a total lack of accountability. So without accountability, it's simply impossible to have justice in the system. And so I'd like to end on the note that that I would propose an independent commission, video recording of court proceedings and also an accountable system of listing of cases. There are 80 to 60 cases listed in a day and 90% of them are adjourned. So the whole system is aimed to fail or designed to fail. Instead, we could possibly do the opposite which is plan to succeed rather than plan to fail. Thank you.


final session of the Open Programming Minicomf, and as I've been mentioning all day, this is reserved for lightning talks. For those of you who haven't seen lightning talks before, these are five-minute talks presented by whoever wants to sign up on the day. We take no responsibility for what people have signed up for. It's just whoever put their names on the wiki. Basically rules are this. You have five minutes. This includes the time taken to plug in your laptop. So if your graphics settings don't agree with the projector, it's your problem. Okay. The timer will start whenever I see fit. Okay. So whenever I click the start button, that's when your five minutes start. And you can see the timer on this big screen here where it says start. Our first presenter is Tim Ansel. Please make him welcome as your microphone. So everybody knows the only language you should ever write anything in is Python, as everybody in the audience knows. So we have this conference called PyconAU and it's dedicated to Python. So if you write in Python, you should come along. It's run by a group of volunteers like LCA and it's the parent organisation is Linux Australia. It's run on the 21st of August in the Sydney Masonic Centre. Yeah, that's kind of all I've got to say about it. It's an awesome conference. We had 200 people last year, we sold out. If you could spread the word, last year we had people kind of turn up and say, I only found out about PyconAU like yesterday. Can I come in? And we had to say no. So please tell all your friends about the conference. We're going to be bigger and better this year. And my mic's getting replaced. Tweet about it.  Join the mailing list on your own computer. Yes. Awesome. So we have lots of different topics, computer games, web development. I've got like Python. They're all Python related. Anything from community stuff. Yeah. Any other questions? I've got like two and a half minutes. I could stand around and dance. Dance please. No. Why is Python the best? Because it's ears. Python 3 is on schedule. Yes. Okay. I'll let you go to the next person. Please come. It's an awesome conference. It's quite cheap, especially for your student. We have discounted student tickets. So please do come along. We've tried to make it really accessible to people which have limited finance. So please come along. Awesome. Thank you very much. Okay. So up next we have Ivan Miljanovic. And your time starts now. So my name is Yvonne. I'm here to talk about Haskell. I don't have any slides partially because I forgot to bring my laptop's power cable today and it died already. So we had to talk earlier from Brian about F-Sharp. Haskell, like F-Sharp, is a functional language. It's a purely functional language. Whilst that means it doesn't have IO, it doesn't have OO, so it does have IO, by pure we mean that we do not have that mutability is constrained by default using these weird things called monads which Brian also mentioned. Monads, despite what a lot of people on the internet seem to think, are not this scary thing. After all, they're only monoids in the category of endofunctors. Okay. Not really. Despite the fact that we use a lot of category theory terms and terminology, that's just mainly because we have no idea what else to call them and we've got the idea from maths we might as well use the mathematical terms. So the whole point about the pure aspect is you have side effects, great, constrain them into IO, into ST, whatever monad you're using. That way it's easier to see which bits are going to change because of mutability that you don't know what's going on. And so it's a lot more easier to reason and perform aggressive optimizations on the code when you can guarantee your superiority. Haskell's a rather ad hoc community-based programming language. We don't have benevolent dictators for life or any kind. So basically it's more of an anarchy. We have a bunch of people going, the website's not working. Let's try and form a committee to keep it going. That kind of a thing. More recently, we finally decided we should update the language officially from the old Haskell 98 standard. The first version came out last year with a few new changes. No one got around to doing it this year, so next year they're thinking maybe we should get some people together and consider breaking backwards compatibility and fix up some of the hierarchical messes we've got going on. And so we have a fair number of libraries available on Hackage, which is our equivalent of CPAN or whatnot. And some quite interesting attempts at solving various problems. Now there are various hackathons that people have organized in America and Europe. Only recently have we started to do anything in the Southern Hemisphere. There's a couple of functional programming groups in Asia and also in Australia, but they're typically not Haskell, just about Haskell. We're at Scala, F Sharp and other than the like. Last year, however, myself and a few other people decided we'd had enough of not being able to attend any of these hackathons and organize the first ever Oz hack, which is held in Sydney, despite the fact that all of us are organizing it from Canberra, because Sydney's got the vast majority of Haskell programmers in Australia. We're looking at holding another one again this year. We haven't yet organized it. If you're interested in coming along and we welcome people who have never used Haskell before as well, join us on the Haskell.au IRC channel on FreeNode. We're still trying to work out whether we should change the format to maybe do a bit more of a Railscamp kind of a thing with limited internet access to stop us from talking on IRC instead of programming. That's all from me. Okay, so next up we have Peter Miller.  He's attempted to plug his laptop in, so he starts now. So I want to boost LibExplain. I'd love people to use it and give me some feedback. LibExplain is a library of system call specific error replacements. So I'm going to do a live demo. Just a minute while I zoom the text. So this example is in the source code for LibExplain. It is a very dumb cat replacement and it has full error detection and handling and it is very short. It has one feature that I wanted to show you in that it has a minus over output. All of these are using the system calls all have also come with a wrapper function so that you can say every open or die using the borrowing from Perl. So I have some examples of this program in action. So there we have the sort of error message you're going to get. It reproduces the sys call so that you've got as much information as possible for users to cut and paste and glue into the bug report. You're going to read three months later when the machine is unavailable. The reason I wrote LibExplain was in 2008 I was supposed to be level infinity tech support and never talk to users. And I still had a queue of people asking me to explain the latest Erno result please. So I got sick of that and decided to put all of the things that I was checking into a program. And I put a little bit of useful stuff in it so that it could make suggestions when they made simple typos. And here's an example of it trying to guess what you may have meant. So another example this one this time cut it off on the right hand side. Oh, drat. Let's try that again. Still slightly too big. Here we go. Okay. Thank you. It has lost the size of the terminal normally wrapped quite nicely. Anyway, you see an example here where it is actually complaining about a particular file system and it goes and it finds the file system out of FTAB, FSTAB and tells you about it. Trying to supply you with all the information you needed and some you didn't know you needed. So let's hope you can read that. So now we have an example of trying to write to a password or a file you don't have permission to and it tries to explain to the user just what exactly went wrong because one of the things I found is nobody understands the permission system except really nerdy people who are expecting and indeed requiring their daily life rigid consistency. Normal people don't expect that and they get confused. So the last time I wanted to give you was I set this file system up very carefully so that it's already run out of space. But this time in previous examples the minus O the executable actually was given the string of the path name. In this case bash is going to open the file for it and pass it as stood out. Now the thing you need to note is it still worked out the name of the file that it was never given. Okay and it tells you which file system it was on. So LibExplain tries to tell you everything you needed to know and the stuff you didn't know to ask. Okay LibExplain try it. Thank you. Okay up next we have Nick Hodge. He's attempted to plug his laptop in. He starts now. So we'll just work. Okay so we have a crisis in our industry a programming language crisis. So as mentioned firstly I am from Microsoft so therefore I am one of these evil basement cats coming along into your conference and evil is escaping. For all one of the things I'd like to point out this is an obscure 1994 joke that Intel has a patent on these two numbers if you divide one by the other on certain Pentium machines it gives you the wrong answer. Anyway that's an obscure 1994 joke and therefore what Microsoft decided to do is we're taking a patent out on this number so it belongs to us so no one can use it. Okay so let's take the tinfoil hats off for the moment and move into a little bit of what the crisis is. Firstly our industry and I how many there's not many females in the room here right now we ignore them and this is one of the worst things about our industry. There are not enough women in our industry considering it was started by Lady Ada Lovelace, Admiral Grace Hopper gave us a lot of really good things in the 50s and the 60s and if you read the history of our goal and and algorithms and stuff this lady called Ria Debets did some awesome work but they get forgotten and this is not sort of unfamiliar in our world. You know at the Y2K crisis that happened about 11 years ago we had all those COBOL programmers that we had to sort of get out of the grave and reanimate to come and fix up all the problems that they originally coded so they earned you know three thousand dollars an hour and you know to come and fix things and then we have the problem with Gen X which is sort of I would say the majority of the people in the audience right now you know basically you know VB is perfect yeah let's build everything in VB and learn on VB that's that's wonderful great and then you know because that didn't work so well then invented C sharp and Java and you know all quite cool but you know really the problem is that well well then we have JavaScript let's not go there it's just evil is that you know the modern day languages that we're trying to solve our problems with whether they be you know PHP with a dollar sign in front of variable names what's up without that sort of a Microsoft thing why the hell would you do that there we have Python which I believe is the one tree language and everyone should follow it and we have Ruby which is actually a cult I think you know once people start in Ruby it's sort of like they become Scientologists then we have functional languages as well yeah so we had Haskell and you know basically it's APL moving into our goal 68 for the 21st century pretty obscure but you'll get that one and closure and you know closure is a great language as well it's got lots of brackets so that was cool in the 70s and Ruby is sort of says it's a functional language but it's still a cult so programming is hard and you know yeah let's go shopping you know the generation below us the generation why and generation C and all that really don't want to do this programming stuff because it's frickin hard and then they don't want they don't want to read the frickin manual and also we have this thing called quantum computing you know sure like troding is cat in a box we don't know whether the bits are on or off and it could be in all sorts of different states and this is going to be a new paradigm and really there's nothing really around to really help us out and if you think about all us gen X people and that are becoming managers you know relationship managers you know so how are we going to solve this this is really getting desperate we're getting desperate so I think there's an answer firstly is the Django people I think have got it right the python Django people it's about ponies it's about short text it's about doing things in smaller characters it's about you know oh my god it's about you know lol cats it's about lol speak therefore the answer is lol code a new programming language and here's an example oh hi is an opening statement k thanks by is the closing statement can have standard IO is have stand input output visible high world is hello world so that's the canonical hello world that's me at promoting lol code in Japan by the way whether one of the first lol code evangelists in Japan this is a bit more interesting example for various reasons hi can I stand I I have I have a variable to close variable I mean you loop up you know increase by one visible you get the idea this is a defined language lol code one of the beauties of lol code is there are some going to be some books out for it already much more interesting than PHP 6 books and basically code repositories we stick everything in Twitter and what and everyone reports their bugs in software and Twitter anyway so that's going to work anyway so Twitter is the future so lol code is the future seriously go have a look at it thank you very much okay up next we have Y cross and going by standard rules as soon as he tends to plug his laptop in is when I start the timer oh that's exciting I'm starting you now then there's a mic right so I don't have any slides but I'm going to be talking about five interesting languages you've probably never heard of in five minutes so the first language I'm going to mention and these are just brief mentions because I don't have time to go into them but feel free to Google and whatnot the first language is OOC it's a language similar to most similar to go I think it's object oriented a little bit of functional very lightweight and clean syntax and it has type inference so you don't have all this all these types floating around in your code it's got support for generic so it's low levelish it has a very good ffi with C so it's very easy to call C libraries and things from it the implementation is in itself self-hosting the current implementation which compiles to native code was originally compiled off a Java implementation which was implemented in Java and there's a new and better implementation currently in the works so currently it compiles out to C code and then that gets compiled out into native code there are plans to back that on to LLVM the next language I want to mention is disciple it's similar to Haskell the syntax is actually a fork of Haskell it's like Haskell but it's not lazy it reduces monad use for state and IO purposes because what it does is it tracks all of the it's got effects typing so it tracks all of the side effects in the type system itself so it still remains pure without actually you having to wrap your head around using IO and state which can thread through your code and be a little bit ugly it's currently implemented in Haskell but there are plans to write it in itself as well currently compiles out to C but there is also an LLVM backend in the works for it and it's sharing code with the ghc Haskell compiler for the LLVM backend stuff the third language I want to mention is clay it's a little bit similar languages like bitc or rust which maybe you've never heard of either which is are also maybe roughly along the same lines as say go or OOC it's designed to be very fast a sort of systems programming language it's it's designed to be low level it doesn't have sort of high level constructs but it does have type inference and is designed for very generic programming so it has a very very clean lightweight syntax and it's also designed to have a very low memory runtime overhead and it compiles out to LLVM as well the fourth language I'd like to mention is phantom that's with an F and it's similar to sort of Java C sharp in syntax but better it's portable with different implementations it's a little bit of a OO functional hybrid language you've got a choice of static or dynamic typing if you want one or the other or both it's vaguely Java C sharp ish but again the syntax is a lot cleaner it compiles out to JVM bytecode so you can run it in Java land it compiles out to CLR bytecode so you can run it in .net land and it compiles out to JavaScript code so you can run in your browser the final language I'd like to mention is called rail that's R E I a similar to Ruby and Erlang because it's actually kind of a hybrid of both it's a Ruby like language that runs on the Erlang VM and it's designed to integrate seamlessly with the Erlang ecosystem so if you kind of like the idea of Erlang and of all of its message passing stuff and all of its cool distributed computing stuff but you really hate the prologue inspired syntax which is understandable you can use rail which is gives you a nice little Ruby sort of syntax and it compiles out to an Erlang as which is then transformed to bytecode by the Erlang compiler and that's it oh and by the way all of these projects are actually under active development they might not have a large amount of developers some of them only have one main active developer but they are being actively maintained so Google them check them out have fun okay up next Peter Leon all you sneaky buggers we've got two consecutive speakers using the same laptop they're trying to gain the system I'll just reduce their timer down to four minutes 30 you ready to go now you've plugged in you've attempted to plug in you might need to switch your mic on my name's my name's Pete Leong and I can computer program I specialize in Java that enables me to come to conferences such as Linux because it runs in most places now I'm wrapping up a project shortly I'm wrapping up a project shortly that I wrote a fairly fairly advanced swing application I learned a lot of stuff that I'd like to sort of take with me but of course I'm going to lose access to the code base I've gone home and done a clean room implementation of just some little techniques that I've been using say okay anyway some of those techniques are one is dynamic sub classing to clean up the code and it's actually a bit of a mind-bending thing to do for me anyway you can reduce a lot of code clutter using that and using that you can use a number of other techniques such as right-click cleans up hourglass and weight curses and a couple other techniques you know some three some you take some new classes in Java and just some some minor things like J goodies form layout and I feel like I should do a dance or something because it's about the source code really anyway if you have a look on the wiki there'll be a there'll be a hyperlink to the source code it'll be all online some other useful techniques were dependency injection using annotations injection of fields it yeah so another another of other useful you know guideline implementations in this piece of source code is yeah Maven if for those of you who aren't that familiar with it and you know using annotations to inject logging so you don't have to duplicate say class names everywhere that sort of thing anyway so if you just have a look at that website there that information on that project will be up very very soon you know so thank you for that fantastic lightning talk how to reboot a Linux laptop in three minutes okay so up next we have Steve Dalton and he's going to start now I don't have any slides I was just doing some blatant self-promotion there and I was just quickly going to talk about developer podcasts and when I was about 15 16 I was like the shyest kid at school I didn't talk to anyone and I don't know what happened but sometime between then now I've become a really talkative person if people know me I just talk and talk and talk and then me and a friend Craig Aspinall we lost my car once in Rabina when we were at Java meet-up and took us about an hour and a half to find the car and we had this massive long chat and we said this is so cool we should do podcasts for this so we just started done doing a bit of a podcast called coding by numbers but what's kind of come out of this is we it's been a great little intro and we've been talking to all sorts of interesting people we've been working as bait or all the different programming languages and it's been really good and what I'm noticing is there's not very many developer podcasts and not many here in Australia as well so I guess I was just doing this line and then talk to encourage you guys to and get out and talk to people in your community whether it but things that aren't just text and Twitter and chat rooms there's not much of that and so the podcast has been really good I went to Sydney last week for a bit of a holiday and I thought well I'm now might as well see how I can talk to got to talk to Andrew Gerrand about Google go he was talking here today I don't know if he's here yeah and when talked to the Alasian guys about Bitbucket normally I would never get to go to the Alasian offices but because I had the podcast and they sort of wanted to promote their thing and I got to wanted to talk to them and worked out really nicely so we're gradually working our way through all the languages we've done go Java, Groovy, JavaScript, Ruby, haven't done Python, yeah we did talk about a lot of code at TechEd didn't we and yeah I got invited to TechEd by Nick and we talked to some of the Microsoft guys there about Azure and all sorts of things I haven't done one on PHP or Python yet so if anyone wants to come talk to me I'll try and bring my recorder tomorrow. Any other weird languages I'd love to talk to someone about Phantom if who was the guy I mentioned Phantom before because I'll only just start looking at myself but yeah come and grab me and I'll try and bring a little MP3 recorder it's a quarter zoom H4 which a lot of podcasters use we started off just using the Mac worked pretty well but then I liked the fact I could get out there in the street so I bought one of these little recorders it was like 200 bucks and it's been fantastic we don't edit the podcast at all we just put it out there we have a very simple little header and photo we put on the end and we get them out usually within a day of doing the podcast keep really simple and then you'll you'll get to level episode 20 like us a lot of people I think go too fancy and they'll do two three four and then they give up so keep it really simple I know some people have got like 200 episodes and they all say the same thing keep it simple so you know I'll leave it at that just put put put it in over to you and anyone wants to come on our show you can but by the same token anyone wants to set up their own podcast it's really easy we just put our podcast on blogger we don't even bother with hosting or anything it's just dead simple I've just got a FTP driver chuckle the MP3 that and then iTunes is dead simple to hook up through feed burner it's really no work at all so that's all I've got to say thank you very much okay so up next we have Dan Bentley your time has already started my name is Dan Bentley and my computer is not being cooperative but I promise I just hit enter on a command which hopefully at some point I will get to show you but right now I am going to try and talk about a library called Google app you tell us Python and there's a link in the wiki page which you can check out and go to this is a library that we've developed at Google that makes it easy for Python apps to work well so you have a flags infrastructure and a command infrastructure and better debugging and all sorts of just nice odds and ends that we found useful but what's important for what I'm saying right now is that it's developed internally at Google and in fact there are a lot of Googlers who contribute to it and have no idea that's actually open source and in fact has anyone here heard of it no of course not but you should because it's pretty handy and as a result of it being open source you might go well hey if it's developed internally how do updates get out to the the public and that's a really good question and in fact that's been pretty hard so I've worked on a tool called make open easy that allows you to automate this process so what I started was a command to take the updates that have been made internally at Google and then move them into public subversion and real this is just not detecting the displays at all is it no so right now I'm running a command that's going through and rerunning the automated translation process so it's taking what's in the Google internal repository but we can't just copy and paste that out to public subversion why not because there's a lot of things we have to change there's a lot of code that was necessary in 2004 that isn't any more and there's no need to settle the public with that but we would like to give you the good stuff so what hits subversion is the idealized version of what we'd like to do but which we can't just remove the code that some binary somewhere is still depending on and I hope that I'll be able to within my five minute time span actually show you that there's a new change has anyone found the link in the wiki and gone to the Google code page so if you follow that there's a sources and then there's a changes and you can see that right now there are five changes and if all goes well there's about to be a sixth change yeah do you have any hints of how yeah that's I told it to do that and it's it seemed like it it would yes so so that's all right you know sometimes technology doesn't work out right yeah but does anyone have a laptop they could bring up real quick just that has a web browser so I could show off because this is something I'm actually proud of where I'm going to yeah thank you hopefully be able to so yeah could you just go to a code google.com it would should I just type so I'm just going to go to code.google.com slash p slash Google app utils type on which is a mouthful I know and that's going to load and I'm going to get the cursor under control because this is a very weird angle that you're actually not and this is a microphone and it amplifies what I say and you can see here that this is a revision that was created within the past five minutes we took the latest tip that was in Google's internal servers and we pushed it out Daniel Nadasi and I will be talking about this and many more challenges and solutions to them at a talk on Friday called opening a closed world where we want to sort of talk about how to take a closed source project and make it a successful open source project which is a challenge not everybody has but some people do so if you're interested we'd love to tell you and we'd love to hear from you how you do it well thank you okay so up last we have Brian McKenna usual rules apply your time has started all right has everyone heard of LLVM before couple people okay well LLVM as as the acronym actually is it's the low level virtual machine so it's a virtual machine but it's so low level that you can implement pretty much any language on it so here's the homepage for LLVM so the virtual machine actually can compile C to the bytecode and then that bytecode can run on the virtual machine so that allows you to have kind of like semi-portable code and you can have it you can have it run across you know Linux Mac and Windows so what I've found is a project called M script in I've filed a couple of issues before and I've submitted a couple of patches so I've been helping out a little bit but yeah this is a project that converts LLVM bytecode into JavaScript so then you can run C programs on the web so this here well this is Python in a browser so what we've done is we've compiled Python from source code C source code put into a static library compiled it from C to LLVM bytecode then compiled LLVM bytecode to JavaScript and it works so we can execute it and this is all clients like this is on the this isn't on the server or anything this is seven I think it's about a seven meg binary of JavaScript seven megabyte of JavaScript running on Chrome and it works fairly well of course we've only got the sys library because otherwise we'd have to go to the file system when there's no file system but yeah we can do print and we can do it's during complete right you should be yes I think the only I have got his print sorry no you don't need another demo we've got is Lua exactly the same as Python this one's a little bit that I think it's only like three makes so three makes JavaScript turn complete again and this one is what's this one ray tracing so it's a C ray tracing compiled to JavaScript then we're doing some I don't know we're doing some tricky stuff to make it actually render as a canvas element so there it goes so I'll just quickly go over what some people might not understand what's quite happening here so this is a LVM compiler in the break up sorry server side so we can put in C program and it puts out the LVM bytecode so you can see all that down there so what we do is we get a human readable version just like this we do some JavaScript parsing on it and then convert it to just like a little JavaScript virtual machine that runs in the browser and that's how it works the end okay so we've got six minutes left and that was the last lightning talk so I'm going to go open Mike now does anybody want to show something off that they've that they've been working on or something like that no takers presumably your VGA port the time has started cool terminal there's a screen in front of you I work on a project called beaker which is not the Muppet you're searching videos oh whoops there's a screen in front of you yes I know I can't okay so beaker beaker is essentially it helps you to build a test infrastructure it's used for when you need to test things with various different distros on various different hardware essentially what it provides is is it will allow you to create a pool of systems which can be located anywhere in the world and it also provides you a pool of distros which it can pull from and an NFS server or something so what you can do is if you've got a new kernel that you want to release and you don't have a one terabyte machine below your desk but yet they do have one say somewhere in the States that that they have on this pool you can actually test your code and and and create custom tests which will which you can run against the kind of hardware that you need and the kind of distros that you want to test it against so so it solves the problem of you know having to have all these local all of these local machines which you know could get quite expensive if you've got to have all these machines over all these very different various different hardware types and architecture types and you can solve by having them in one central place and people all over the world can actually use this pool to test them it uses Cobbler on the back end you can you can power machines on and off once you've provisioned it with a distro you can SSH in if you want or you can just run your automated testing the testing will then if you've written it correctly it will provide results you can go and view those results see how many pass how many failed you can look at logs you can see what's past what's failed and then you can go and investigate and see what's wrong so this ensures this is actually what red hat uses this is this is what we use to you know new kernel comes out we want to test a new distro we fire it up in a test 390s all sorts of hardware to make sure it works so we this is actually it's a it's an open source project obviously it was previously a closed source project which we only used internally we re-wrote it completely in python it uses turbogears it's got it's got a browser front-end so yeah and it and it works quite well for us I'm working to about five people and we're very heavily working on it you can also if you want you can use you can use it just as a system inventory if you want and if you've got another application which which which runs your tests and gives you your results you can just plug into beaker and just have your system sit in beaker's inventory and then just you know take them from there so it does that as well some of the features we've got coming up will be adding Apache Cupid support so it'll be able to fire off messages when on different events happen so say like bugzilla could could I'm listening and you know see okay well this test has been runs completed bar bar we can you know change a condition against it any questions no okay that's it so oh yeah so you can do something like if you're interested in it one who I develop on it we hang out on free note in hash beaker the documentation is reasonable it's quite it's reasonably easy to set up so yeah thank you right so that's all we've got time for this evening so that's the end of the open programming minicom for this year has everybody enjoyed it hey good okay so this quickly on indulgence thank you to all the thank you to all the volunteers have helped out with manning the rooms today running the second roving mic for the for the questions has saved me from running around like an idiot today which is great thank you to everybody who's presented especially to the people who haven't presented at LCA before you've definitely made this minicom absolutely fantastic and thank you to the papers committee for yes I should have reloaded shouldn't I thank you to the papers committee for permitting me to run this minicom for again this is the second time we've run this particular minicom and apparently it didn't go too badly last time so they gave it they had the faith in me to run it again I'm very very thankful for that opportunity and thank you to the audience for coming along I hope you've enjoyed the day and we have to thank Chris for organizing this minicom big huge thank you so it's a token of appreciation thank you rather cool bowl made out of Macadamia tomorrow


savezventionalập selfishness,Though it is very easily known to the people of Luckland.  actual ,  actress easily can identify why they do troublesome Intelligence Errors. How and what is Root caused.  as I said there is a chance that they will get related to Coalition Cancer害ors. Who and what is happening and what causes them? Basically.  अंबिन्तेच्यट्रे कोरी परिवाई, अफथा को सोटिक्र भावरे आऱमे की पृरी, त्ठिट्मन्तंगोरी परिवाई. जादी आपनगो आए मबिट्र्टी भ्लड़ा किला, दे बिआम चैनलतो, लिस शैyaar av subscribe करिवाई को जमभी प्रिवोन्तो आई.


Our own Cheryl Moore tells us about how the cottage is providing care to the community. The goal of the cottage is to really create a space that people are comfortable, where people are welcome and people are safe. They're having a particular problem. There's counselors here that you can, you know, if you need to talk to somebody like right now, they're here. Welcome to the cottage. It was established in Park Rapids last April and is run by Lake Country Associates. People with mental illnesses can literally just drop by and participate in an activity or just hang out. I do clay arts and crafts. Sometimes we'll have the cooking sessions. It's given me the confidence to tear the garage sale and plan the groups. The staff here do not wear name tags because the environment is meant to be comfortable. If anyone needs to talk, there are private rooms for impromptu sessions. I've got a counselor that helps us with depression and stuff and it's a very nice place. I've got an arms worker that I think she can do just about anything, but if I've got a problem I can't talk, she's the first one, maybe the only person I need to call. In addition to counseling, the people who come to the cottage get a new kind of family support system.  Having other people that have gone through it and hearing their stories, it's very healing and being able to tell my story. Reporting in Park Rapids, Sheryl Moore, Lakeland News. A few of the people who go to the cottage regularly will travel to St. Paul next week for Mental Health Day on the Hill. While they are there, they will be advocating to add more mental health programs in the state. If you enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland PBS.