All right, welcome to the July 25th areas cloud agent. Python users group community meeting. A few things on the agenda, mostly to do with PR as an issues and moving things forward. We are recording the call and a reminder to everyone that this is a Linux foundation hyper ledger meeting so the Linux foundation anti trust policy is in effect as is the hyper ledger code of conduct. Let's be good to one another. Anyone have any announcements to make, or if anyone is new and wants to step up to the microphone and introduce themselves please do so. Nothing to say today. All right. Okay. We'll start with release 090. It is has been released. So 090 went out yesterday. I'll post an announcement to the to the board. To the discord channel and various other places to let people know it's out there. In doing that we did add deprecation of the SDK so the two things that are key in this one. Well, three things, at least. These are all in the change notes the change log but in particular. 39 Python 36 to 39 is now the official change. We are now no longer using the Ursa library but rather using CL signatures. And there is an official deprecation of the ND SDK notification on launch so if you use the ND SDK on launch you'll get a notice to migrate away from it. And there is a migration document which Daniel has been good enough to put into the into the notes that describes how to do a migration from the ND SDK to ask our. So, all of those contribute to the act to occupy release zero nine. So, again, definitely encourage everyone to. If you are using the ND SDK to move away from it, and definitely suggest that if you're starting up, don't even start with the ND SDK go right away, right ahead to using ask our ask our. Ask our and and the related components are faster more robust. There's been a number of fixes in the CL signatures that, including some things that will be announced in the near future. It is much better to be off of the ND SDK and on to ask our any questions or comments about that. I will see in the chat Moritz has said hello but doesn't have a working mic glad to have you here and I'm glad to see the PR as you've been putting in lately in the conversations you've been starting. Welcome. The auto flags I did a short presentation which I realized is not up here so let me. And I'm not even signed in. Okay, this is embarrassing. Man, at least I know my pin. None of those are even right. How do you get to the switch password managers, everything's a mess. What am I going to do here. Well, I'm going to stop sharing for a moment. Sorry about that. I wanted to a brief presentation on the auto. So I switched over to proton as a password manager from from big warden. All right, sorry about that. And I'm obviously still in transition and definitely can't handle it when I'm under pressure. Sorry about that folks. Jump in any time here on this on this presentation because I'm just sort of sharing what I know and a bit of the history. When we created it, the auto dash dash auto basically allows you to set a flag such that the controller does not have to be involved in the middle of a of a flow. So, it allows basically the occupy itself to simply respond to messages received so the assumption was when we started these things and we were talking more about protocols and evolving the initial protocols was that. Every step of a protocol was an opportunity to insert business rules that that, you know, every message was was there to move the protocol forward but every step would be controlled by, you know, whoever is is the business process or the person behind the protocol. So that when you got, for instance, an offer, you would use some business rules or for a credential that you would you would use some business rules to decide if you wanted it and then you would send a request and the other side would consider if, even though they had sent the offer already they would consider whether the request was acceptable or not. And so every step would involve the controller, the original developers didn't like that while developing so the auto flags were added. So that for development they could, they could go faster they didn't have to worry about writing a controller just to test out the internals of occupy. And so the auto flags were put in and they were put in as debug flags. One day, one of the developers added the send and end point for issuing a credential, and he was smart enough to realize that when an issuer says I want to issue a credential, they don't really care about all the ins and outs of the protocol. As long as it's following the happy path the expected path for issuing a protocol. The issuer doesn't have to know that the offer was sent that the request was received that the issue credential was put together and sent off. They just wanted to send a credential here was the data and occupy could take care of the rest. And that really was a way to specifically handle the auto. So we wind up with a whole lot of autos that got added. And I've got a list on on two screens here in various categories. And a big question now goes should autos be expected in a controller obviously you can turn them off but you know should we take them out of debug status should they be used in production. And if so which ones, and you know if there's any guidance we should give developers on it so any anyone have comments so these are the ones related to establishing a connection. These are the ones related to issuing a credential and presenting a proof. And then on the next page. Some things around actually probably should have you put this one on the connections one auto pin connections. This relates to the introduction.  What do other people think about the auto options and do you use them in production. Go ahead way. We use the auto options quite often. I don't have the list straight in front of me but we have several of them like auto provision auto respond auto accept. Okay. And your advice would be to use for generally use them. Not as debug but actually use them in production and leave them. Yeah we've been using them all across the board for years now. Okay. I'm not sure what zoom link that is anymore because I've been back and forth on so many zoom links unfortunately. Hyperledger keeps changing with what they want them to be and think it's no big deal to change passwords and its problem, or to change new links. That's unfortunate. So what I'll do, wait, I would like you to get a list of them so I'll put a place in a ticket to accept those, or to put those in. The endorsement ones we're going to have a session tomorrow and actually here's a request actually I've got this in here at the areas working group that we're going to have a discussion on alternatives to the endorser auto flags. So that'll happen tomorrow on the areas working group call so invite people to that one to talk about endorsement. Obviously mediation is another one that's interesting. Similar to endorsement we want to have some level of control over that. So it would be good to have that auto disclose features. It's almost a no brainer I don't know how many people are using auto disclose but it's probably something that should be almost automatic. Maybe we should use it instead of paying on on on back and forth. For finding out what features another agent is using and try to promote its use. So we should remove, remove the auto flags, or sorry, the debug on it so it sounds like we should for most of them. So that would be a more documentation change but basically would be removed altering the category in which they land in the config file. I would agree. Yeah, okay. And then my thought was to document when using them, you know, the auto auto paths. The other impact that comes into play is where a user interface needs to come into play obviously wallet there's wallet and human use cases and the enterprise and business rules and of course those two pin melds because in an enterprise use case. You might want to pass it off to a human you might want to use business rules you commonly would use business rules to decide what to do on things, but possibly hand things off to humans as you're going. One of the things that I had promoted I had been long, an advocate of not using auto flag so I'm part of the problem here or created the problem but I thought we should have done was simply create a controller that had auto settings off and and and have basically the controller implement the auto in other words do the do the thing necessary to respond in an auto way so that then everyone can start with that controller and then build in the rules they wanted for their own particular business. Now I'm an advocate of still doing that defining a generic the controller, but assuming the auto settings are on so it doesn't need to do that and then default rules for a typical enterprise agent. So at some point, it would be good to build to define what that should be and build it out but at this point I don't think I don't see that happening you know, it's not a big issue right now. Any other comments on open. Is this a burning topic or just something that that should be at the back of the should be more or less the back you right now. So I think this topic came to my mind at least when we were talking about a change to the automatic behavior and and whether it should be considered production usable or not. So that's the biggest change in my mind is just like a shift in perspective and then making sure that the automatic behavior is actually well behaved. So for instance with the PR that I have open. There was an opportunity for a misbehaving holder to change the credential between the offer and the request phase of a credential exchange using Jason Aldi. Right. So I think we need to. So for one point of caution I think we need to have when we're going through and just making sure that it can't be abused in any way, having the automatic responses. It's not a new problem, because a controller that was inadequate would also have been able to miss those same sorts of issues, I guess. Yeah, the other thing that's been on my mind and I was I was a little distracted by like half of my team being in a different zoom room but I was trying to. I was thinking about how there's there's some overlap between the idea of automatically proceeding through a protocol in a certain way and governance machine readable governance and following rules defined by a governance framework. So I think there will be some interesting opportunities in the future as that continues to develop for. You know there's the standard just business rule automation stuff that people could be using but it could also make sense for us to use governance files as a way for. If nothing else to indicate to a holder who's connecting to an issuer or verifier or something that it's okay to automatically accept that connection according to the governance framework. Or, or to proceed with a certain kind of presentation because the governance framework said it was okay. Those sorts of things. So, previously I think when the auto flags were considered a debug thing, the quote unquote natural place for that governance file handling to take place was in the controller. But I think with moving that closer to occupy with the automatic flags considered a production valid thing. It might make sense for processing of governance rules to be something that makes it into a plugin for at some point or something like that. That would be, that's pretty cool. I mean, one of the things when we're talking tomorrow. Emiliano is going to talk tomorrow on the areas working group about endorser rules and it's similar to exactly what you're saying which is we're trying to put them into a format that can be machine readable. So that we can separate out the way the rules are generated from the processing of the automated processing of the rules. So that that's one example of that but I know you guys in DC has done an awful lot of work on machine readable governance and and how to apply that you're right a plugin here would be very useful. Yeah, it's, I think it's something that we've largely been approaching from a controller perspective. But I don't think it would dramatically change things and it would make it a more widely available thing if it was also just generally plug in a bowl to any occupied appointment. Yeah. Jason, go ahead. I'm going to mute there. So just so I'm clear my head is the idea there that the instead of using auto flags that we would use rules, like a governance thing so that they're like the auto flags will get replaced by a rule that would say yes we want to do this and then it would get refined for whatever certain credentials certain things. I don't know that it would necessarily replace the auto flags, especially if it was a functionality that was included in a plug in as opposed to core API. So I might have the auto flags and just, you know, have the very straightforward just automatically doing stuff and then the plugin could provide more specific rule based automation. Okay. Yeah, let's just try trying to wrap my head around to. It would be quite a step to go to, you know, like a rules engineer governance thing but I think that's the right way to go because I know from other projects that that's kind of a desire by the business side of things. And then to me the next logical thing was an auto flag would just be basically point at a default rule set. So sometimes I don't like seeing things where it's like, there's an exceptional case like if there's going to be logic that's going to control the flow and maybe an auto flag should just basically point to a default flow so we don't have these two sets of projects that it's the flow is always dependent on whatever we decide on governance structure rules engine, etc, etc, no kind of thing. But, you know, obviously that can be done in stages I think so I just tried to wrap my head around that I think it's a great idea to start moving into something more comprehensive than just a flag does one thing. Yeah. I think another example that we should keep in mind is something like revocation where where instead of trying to follow the protocol. We, we hit the complexity because we realized that, you know, exposing all of that logic and requiring the controller to do all make all of the decisions is just the wrong thing to do. It just makes things too complicated and harder to implement. So that's another example where, you know, it's a much better idea for us to build more into the, the core functionality. So that, so the controllers don't have to deal with that level of complexity. Cool. Any, any final comments from anyone on that one. Okay. So PR is an issuer and issues are the remainder. This one came out. I know there was another issue. Daniel you posted this yesterday about marshmallow usage to remove the deprecation warnings. I'd love to see that I believe somebody else has already put in an issue about marshmallow and and some additional comments on that did you find that one, Daniel. Another issue on marshmallow I don't believe I've seen. There's another issue. Shoot. Perhaps it was in a PR I'll have to go look for it but somebody had put in here's here's a way to clean up a pile of these. Oh, that was me. That was on a PR a while ago I linked to that in my comment. Yeah, so it on a previous pass of attempting to update occupy to newer versions of Python. I think we ended up needing to abandon this branch it just got stale and we took a more incremental approach as a community and that ended up being better.  I put together something that helped me to to address those issues. I frankly don't remember at all what I did but I do have a link to that tool at least so yeah. Okay. I assume this is a help wanted one. Yeah, I think so. Yeah. Yeah. So we'll try to define you know exactly the options here I think there's there's another PR. And I'll try to find it. Daniel that has a bit of an assessment on the marshmallow errors so it's not that link that you've got but it was from from somebody else in the community and I'll have to look it up. That said, you know, here's my experience with it these are because of this. And here's some things that could be done to clean some of them up. But I suspect this is a help wanted I think your tool could be an alternate or a temporary way to do it if we can build it into a GitHub action. The specific warnings that I've got that I was pointing out in this issue at least is just a matter of needing to change up the arguments to the the field. What are they called the field things for for fields inside of a marshmallow schema so that should be just a one time thing and then in the future as as new schemas are added or modified. We just need to continue to follow suit and not use the deprecated attributes any longer. So, for this issue and for the vast majority of the deprecation warnings that are being emitted on tests. That should be a one time fix. I think you're right in saying that there are other warnings being emitted by marshmallow related to schema name collisions and those sorts of things. And that might be what the other PR and comments you're referring to where we're talking about so. Okay, so the idea is basically it's going through the the routes.py and and making it a mechanical adjustment to a whole bunch of places as I. Right, so the one example I copied was just a singular example but there's, you know, maybe a few hundreds or thousands evens of these sorts of warnings being emitted for a bunch of different locations. And apologies, what do you have to change to fix this. So, let's see this one metadata keyword argument is deprecated so changing from metadata to, I think it's supposed to be like, what is it supposed to be. Alternate attributes to to stuff the metadata fields into now more specific ones or different bucket of things so. Oh, it's okay this is what it says sorry I shouldn't try thinking on the spot. So keyword arguments were being automatically turned into metadata on fields and now those just need to go into a specific metadata argument instead. Okay, I was wondering why because I didn't see metadata in there you actually they actually want the metadata argument specifically as opposed to right. Yeah. Okay. Cool. Okay, well we've got to help wanted on that we can see if we can make a little bit of progress on that. And if anyone wants to jump at it. And you've got somebody will then take a look awesome. Excellent thanks. Poor requests. Sam before we move on. Sorry, Steven before we move on from that. Have we talked about the performance of marshmallow. We have not. So, when I was doing performance testing against acupuncture we saw that marshmallow was using I think it was something between like seven to 10% of the CPU time of acupuncture. Adam had made a suggestion internally about a compatible marshmallow layer that had better performance that we could potentially switch to. I just wanted to bring it up to the community in case there's interest in looking into that further. Definitely. Adam what did you find. Do you know that or could you add a ticket at least to. I'm trying to remember when it comes to me I will create a ticket, but I think it's not a heavy lift with possible benefit of speed increase. I'll create an issue. That'd be great. I've heard lots of grumblings about marshmallow but it's not something I know a lot about toasted marshmallow marshmallow but 15 times faster okay there you go. Daniel's got it. Okay. Pull requests. Let's take a look at the pull requests. So there's a couple of new ones. These are are going through discussion so I think these are under review any comments on these two or just let the review process follow. There's some comments on that pop one there from in Kimba. So this one is one that I'd appreciate some additional input on from anybody who's familiar enough with did info and how act by storing dids and rookies. So, Mattis Mattis Kimba. He is proposing that we make retrieval of did info by verification method, essentially be a pluggable thing. And I think that that solves a problem. There's definitely a problem that needs solving and this would do it. But I'm wondering if there's a better way for us to go about making it easier to to sign and verify credentials using dids that we own. If there's a better way for that. I've left some comments that they're kind of vague. I can go into a little bit more depth but yeah just call for more eyes on this issue would be appreciated and I can spend some more time thinking about it and blushing out my thoughts as well. Okay. So, that's Jason Sartok that's kind of your space right now you've been way too deep and dids and did docs and so on so might be one you could take a look at to. You put this in yesterday Daniel. Okay, this is the one to do with. This would this is what triggered the open discussion this is ready to go I assume. Yeah, yeah, I think this is in good spot. Okay, we'll get that one I probably shouldn't hit that because we probably don't need it because we're probably going to murder something else, but maintainers if you could take a look at that one. I'm change up. What is the status of this one. I think you're on the call. Yes, so the rework I've done is basically now supports selecting legend through the end point I added a few inputs are related to that. But basically what I'm doing right now is testing that because there's an issue with multi tenant multi leisure where if you try to register to be. The local data it is out so basically I'm doing some testing with the rework with that. But the right part is done so basically the new feature that have to be added that is done basically trying to fix the issue with the review. Okay, and there's an issue on the previous one. So that should take care of it so though anyone interested in this this is a feature that allows a tenant in a multi tenant environment to. Set a bunch of the acopai, you know, sort of what were previously global parameters set them at the tenant level or configurations I mean. And in particular these ones allow a tenant to choose what ledger they are writing to from a set of ledgers configured an acopai and as well what ledgers they are reading from. So that will allow the tenant more control over what they're doing and that's a big use case at at in BC gov is as far as the traction component that we're building. Yes, low on that's at the tenant level so the tenant, those with, you know, access to control the tenant behavior can can configure the tenant to talk to to write to a specific ledger. To quickly clarify this is this is behaving like a config that you set and then it applies to each of the methods that cause a ledger right as opposed to an attribute on each of those endpoints that do it right. So just to clarify, so I can have multiple tenants and one tenant cannot to be sick of ledger one cannot sovereign ledger. Yes, yes. Amazing. Cool. Okay, so that's still a work in progress keep an eye on that one and do review I think this one's ready to go we didn't want to put it in 090 but I think this is ready to go. So if anyone, any of the maintainers looked at this I know I shouldn't have clicked update on that other one because this is the more likely one to go. Andrew gave it a thumbs up confirmed that it worked on his M1 Mac. Any other. Anyone else take a look at this. So I haven't explicitly marked to prove on this one but I think this is a good change this is one that multiple members of my team have. They've worked around it. Yeah. So I think having this this change in the script. It makes sense and I think it'll be fine so I've got, I got tired of telling people about the work around so yeah. Yeah, you'd like to see it. Okay. We might even enable auto merge on that. So that one will go in in a few minutes and I'll try to resist hitting update. Sherman you're working on this one right now Jason. I am working on it as we speak. Yeah. We talked about this weeks ago. Sorted out what we want to do and Jason's working on that. And Jason Syro I think this one should be closed. This was kept around because we knew Jason was going to be working on it but I don't think this is needed anymore. Correct. I think so. You're not doing anything with this one right Jason. Sherman or Syrtech. OBE not at a band. Okay. I did want to take a look at a couple of these other old ones that particularly if we've got people here. We've got changes requested on this one that haven't been done. So the students of Tim here we don't have a resource to work on this right now. No other way to put it. So I don't know if you want to close it or if you want to come back to it another day but unfortunately, it's going to be a little while. Okay, out of band protocol sounds fairly important. Maybe we should take it over. Got a few changes but it. You still need it done I assume. Yeah, it's it's at some point it's important to have a problem for it there. Yeah, it was something that was a gap. Not much of a priority as it was when we first put this in now. Okay. Let me think about that when I might close it we'll see. This one we agreed to close. Sadly. Eventually we'll get back to this. But right now, I don't think, as Daniel said, it's, it's, it's not really ready to go and I don't think any other works going to happen on it. So we'll close it. Key phrase being here. All right. We'll close that one. This last one change out while you're here. Is this one still worth moving forward. I'm not sure I think this was linked to one of. Andrew's PR. I think I mentioned it in one of the comments. Yeah, I think it's been so long.  Okay. Okay, so I'm going to leave it at that. I'll take a look through these other ones to get more of an idea so we're not doing it on the fly. In the future and I'll, I'll do a better job at being able to provide context for these. Is there anything that this one came through. I really like this one for those who haven't looked at this and having interest in dids and reg X well worth reading the information from chat GPT that was generated merits. Thank you for doing that. The only thing I wasn't sure of here. So the idea here is there was a couple of things that I put a comment in. The core idea was to a make the did the regular expression easier to understand. And this idea here for defining how defining the regular expression so that you could see the parts of it and get have names for it. So I think what was proposed was adding more information such as the fact that, for example, this string here excludes lower case L and uppercase O and zero to prevent make, you know, confusing characters in a did. So that's good. We have the did solve which is interesting that that we explicitly are looking for that presumably for performance reasons. So adding some comments around this in the code would probably be useful just so people know. That's a good thing I think definitely without question and then the other idea is applying that reg X to this.  I should shouldn't we accept those that have characters that are undesirable as potential did but only have that search pattern be applied on the generation of the kids. In other words, you're saying that the did spec does not disallow that therefore we shouldn't. I don't know, but that's my question is if the did spec allows those special characters we should still search for them right. Yep. Is this base 58 encoding characters for base 58 encoding I bet you that's what it is. Yeah it is. I think the did solve pattern. So that portion of the pattern that includes did soft specifically does have those limitations, but I don't think the general ones to have the same base 58 alphabet. Yeah, I see. Yeah. I think we're okay with that. This is specifically for did solve whereas this is the general did and this accepts either. Right. I mean, the big thing for me comes down to is the do we use did solve enough that we need the performance benefit from having a separate match versus the more general match across all. Again, I don't have an answer to that question. That's a performance question. And then the second thing. So, I mean, I guess we leave as is for now because because of some and then the second part is this nicely breaks it up so we know why again. And then the other question is do we update all of these places in the code to use the did regular expression. And I would think we would want to use the same one everywhere. Any question on that. So in the comment that I left there. I think updating the regular expressions in all places. It's kind of a forward looking change because at this point in time, the rest of the code surrounding like connections and stuff is still expecting that did to be shaped a particular way. And it would, it would fail in other ways even if it passed the regular expression validation. So, I think there is definitely opportunities to make sure that we're consistent with the projects that we're using for these different but that alone doesn't like solve the problem I guess. And that's because in certain places, we are wired to did peer or what a master now did unqualified dates right now for did calm and only certain dates are supported elsewhere. So we haven't removed the dependency on those other days which is the larger problem. Right. Okay. The, the other example in addition to the unqualified did is for the end points that results in ND ledger rights that did did are expected to be the unqualified names basically as well. Yeah. The biggest thing then is is the action out of this. 100% on on doing this. The bigger issue needs to be outlined, because we're getting more and more to, you know, we absolutely need to support did web. And hopefully the upcoming did web us that we hope to see soon. We have to make this more generic. I would really like an issue that, you know, sort of outline that Daniel. So calling out where we still have specific did. Yeah, limitations. Like, like what, what is the action we have to take on this in order to move this forward. To make it that we're not tied to specific did. Right. Yeah. Yeah, I think that'll be a probably a bit of a more in depth analysis but that's something I can see if I can add to my to do list. And all I was thinking was try to put as much as you can into a new ticket to say, here's what we ought to do for that I think this one talks about the rex and that and I think that should be done and and the, I think even using the red jacks in these patterns, or in the other places wouldn't hurt us right. It just means, because they would still pass. Right. It just means that you still can't use did web or something like that, or any other. Until the other problem is addressed and what I'm thinking is if you could put in your initial thoughts of what action needs to be taken and you know some sort of example. You know, don't spend long on it but just put a placeholder in as an important ticket that we need to move forward. And that's, and yeah, don't spend a lot of time on it. But I was not aware of that one of, of how deep that was but I've always wondered about it so. Okay, yeah, I can open a ticket for that. Awesome. Thank you. And merits thank you for doing that they. Yeah, comparison of the results would be pretty cool. We'll talk about tomorrow. So people can join on that one. But basically this is part of the community transition is the idea that anything we're sending unqualified right now will wind up being sent qualified and Jason's making really good progress and exposing the core issues in this of how to do that. And what we're trying to make it is that we eliminate unqualified it's entirely so that when we initiate sessions did con connections, we would use a peer did to to convey the did doc essentially that the key components and a did doc to has a, or sorry, did peer to has a peer three associated with it for, for performance and, and size of messages shrinking those down so the plan is to do that but another part of the plan is to actually convert unqualified needs to call to deep did peer three qualified kids. And so Jason Scott a bunch of information on how to do that. I'm hoping in one of these days soon to go through and close issues there's a few in here. But I saw. Yeah this this one's done right. Yes. Yes. So I'm going to take a look and see what other ones we can close because we've just got too many open right now and a lot of them are questions and so on. So let's take a look at that we can close another. So, take a look at closing some of these down and, and we'll get these merged in and closed. That's about all I had for this meeting. So that helps. We are having maintainers meetings alternate weeks so if anyone is interested in attending the maintainers meeting it is on the calendar, and you're more than welcome to join but it's, it is just a half hour meeting and it's entirely focused on exactly what pull requests are there or what are needed and sort of maintain or distribution of the review of activities and then sort of direction of where we want to go next in these are our next big effort is is definitely pushing off, putting an on creds RS into occupy. That has a lot of work to go into it. And so anyone that is interested in joining in that activity. There's a number of tasks to be done and will start and we'll be assigning those out. So, obviously always taking a look at what's going on and keeping an eye on the issues that people are opening and what they want to dress. Daniel is asked your last question. So I did peer three is deterministically calculated from a did peer to so after sending a did peer to you just always send the did peer three afterwards and then the receiver just has to or whenever I did peer three is past it should be able to find the associated did peer to and hopefully that makes sense. You can't go from three to two, though necessarily can you, you, because you'd have to. Okay, so when you receive a did peer to you can calculate the did peer three and then you can store an index from three to two, but you would have to wait if you didn't do that step then you'd have to go through and check all of your two to see if it has to that value. You have to you have to record. Basically you have to report both and be able to find them pointing to the same ticket to the same record. Okay. Gotcha. And, and for a while we're going to have to do unqualified plus two and three well no sorry unqualified and three and, and then two and three after that. That's my understanding. Robert. Yeah, thanks. I was looking for the recording from the last meeting two weeks ago and at the bottom of the meeting page the text transcript looks like it's for that meeting but the YouTube link looks more like a workshop or something and doesn't match that transcript. All right, let me, let me find that the hyper ledger folks take care of that. So I didn't realize so I will check that and I'll start checking meetings to make sure we got the right ones. All right, thanks. All right, thanks for letting me know. Excellent. All right. Everyone have a great day. Thanks everyone. Thank you.


Live from Las Vegas, Nevada. It's theCUBE at IBM Interconnect 2015. Brought to you by headline sponsor, IBM. Hey, welcome back everyone. We are live in Las Vegas. This is theCUBE's Silicon Angles flagship program. We go out to the events and extract the signal from the noise. I'm John Furrier with Dave Vellante, host. Our next guest is Meg Swanson, director of marketing for IBM BlueMix. And we're psyched to have her back on theCUBE last year. We interviewed you one year ago when BlueMix got kicked off. It was just a beta, now it's blowing up huge and all the great success. Welcome back and congratulations. Thank you. Thank you. It's been quite a year. Steve Robinson says we kind of count these in dog years. Feels a bit like seven. And it's been absolutely exciting. So we've, in the span of a year, because when we met at polls, we were just at beta. We were onboarding developers, getting feedback. And now we have over 102 services on the platform. So rolling out rapidly. And we have the deployment models with public, private, and then we announced local at the show. And it's just been tremendous. Well, before we get into some of the details, there's a lot of things to highlight. I want to just say congratulations, because we cover a lot of companies. And when we meet people and they say they're going to do something and then they do it and do more and overachieve on the mission. Because you guys were very cautious at first. You got BlueMix out there. And then the win was at your back. The CEO says, we need to win cloud, right? And so you get the little re-or going on. Nancy Pearson was on yesterday, shows a little bit of color on that. And now you got developers. You've got resources at your disposal. So take us through that. What happened? I mean, obviously, BlueMix hit a nerve. Obviously, right out of the gate, the scientists were pretty strong. But you didn't hit that tipping point. When did you take us through the tipping point? When did it go, oh my God, we got a tiger by the tails? Was it when the resources came in? Was it before or after? Yeah, it was a bit before that. So it was really in the middle of last year. So as we, we had incredible adoption early on. So really building BlueMix from an open source perspective, building on Cloud Foundry, strong partnerships with Cloud Foundry and the team, and then just onboarding service after service with Twilio and Redis and, and all the different partners that we've had. And then around October was when we brought the Watson services on. And we had been steadily growing, you know, the developer following and the base. Was that pre-re-order, post-free? That was pre, yes. And, and the teams have always, I mean, BlueMix is a platform that we're serving up, you know, the IBM services, plus our third priority in open source. So we, even though we asked to just reorganize, we've been working across the team since day one because we have the Internet of Things services, which are fantastic. Those are taking off really well. We have the Watson teams, we have the mobile teams, we have the DevOps teams. So we're constantly working across. And now we're reorganized into the Cloud unit, which is fantastic, because it just helps accelerate even more. So, you know, any agile business that has continuous integration like the Cloud, internally you have to kind of think that way and we're hearing that. Internally at IBM, there's a transformation to be more agile, to go faster, which everyone's saying, go faster, everyone wants you to go faster. I should've seen how Steve said that yesterday. Was it, was the tipping point that you had success and you doubled down on it? Was there, the proof point was Watson says, hey, look it, we can do this. Was that the key enabler? Yeah, the tipping point for us was really in the early stages, listening to developer feedback and making sure that we were re-architecting and designing the product that we have an incredible onboarding experience. So developers were, you know, from a marketing standpoint, we were getting the word out and really focusing on building community. So, you know, a few months into the year we started just very small grassroots meetup groups, right? Now we have 71 countries every other week having meetups where they're building applications on Bluemix. So for us, it was getting that community started and then having the community realize that we were taking their feedback on board and we would get, even on our Twitter handle, we'd get updates saying, whoa, thanks Bluemix. Didn't realize you were listening to the feedback and they would mention what they had tweeted at us as far as input and how we had made the change. And so every other day we're posting, you know, blog posts with updates on how we're working with developers just to make it a lot easier. Mike, can you talk about your open source strategy and how it's evolved as a company? I mean, IBM was, I think, the first large enterprise company to dive into open source we went in big billion dollar investment way back when the Linux story is renowned, but it's really evolved.  How has it evolved, how is it changing? IBM for over 20 years, right? We've been driving and fueling and having engineers really involved in the open source community and helping to move that community along, lift it up and really anything you're doing, especially from a hybrid cloud standpoint, you have to have open standards. You have to build an open architecture. You have to be embracing all the various open source technologies that are out there. You saw the work that we're doing and you spoke with the Docker team yesterday. And so from our perspective is there's no other way. It is open by design. So all of our teams are very focused on making sure that we're working with the Cloud Foundry Foundation and getting input from all of the companies that are involved in that foundation because together we are going to create open standards and drive a momentum because if you're an independent developer or even if you're a large enterprise acting at the speed of an independent developer like we saw yesterday with Citi, you've got to be able to move and be portable. And if you're locked into proprietary standards, you're just really, there's nowhere for you to go in this new world and all the integration that you need to do. Okay, but there's another nuance there that I want to explore with you is that in the old days it used to be you'd have a committee. Right. Everybody would maybe pay to get into the committee and they'd set a bunch of standards and nine times out of 10 or 99 out of 100 it would flop. And a lot of people said that would happen for instance with Cloud Foundry, you guys came in and gave it a big lift. They're talking that way around the open data platform now. So what's the difference? Is it just that there's an open source component to it? Is it that simple? It's the community. So I mean open source is successful because of the community listening to the community ensuring the community has a voice and then the companies that are involved at maybe more of a seat at the table from a leadership perspective with the foundations, it's their role and their mission to be listening to the community and bring those forward. If any of those fail and the companies involved aren't listening to the community or the community's not engaged, it doesn't feel engaged and they're not innovating the platform, it's not going to work. So that's why we're very focused on building a sense of community, listening to what's out there and then enhancing. So the announcement with Docker around enterprise grade containers, we were very specific with the way we approached that and named that and you look at the secure gateway that needs to be added. You look at the enhancements we've made from Cloud Foundry on auto scaling. So really looking at what is the community looking for and then how do we then pay it back? So what's the message to developers? I mean, it sounds awesome. It's not easy what you just described. Just oh yeah, let's get the community. Well, it's hard to build community. So what's the message to developers? They have a lot of choices, a lot of options. They spend time in various areas. What's the message to them from IBM? From an open source standpoint, just to be involved, be committed, be, I mean, there are projects every day within the open source community where you can contribute code and you can be involved. And it's really about being very active and vocal and having a seat at the table. So, I mean, our teams were constantly looking through Stack Overflow and the feedback that we see there, feedback on Reddit, feedback on GitHub, how often is the code being forked? What kind of adoption metrics are we seeing? So from a developer standpoint, I would say it's time to lean in and be very involved because, I mean, not just IBM, but all the companies that we're working with across, absolutely listening. And I mean, this is such an era for developers where they have a seat at this big community table. It's not easy, but it's the right thing to do. So what about the Docker and the Redis? So this is modern stuff that developers want. Docker's the hottest trend. You know, it's talking to Docker folks. We interviewed Solomon years, a couple of years ago in the queue before they changed their name even, it was like, and we're so excited. And all of a sudden they're now the bell of the ball, as you say, everyone wants to get married with Docker. Redis also is compelling. Node, these are cutting edge technologies that are part of the integrated stack. So how do you guys talk about that in contrast to say Amazon, because Amazon and developers are used to these things, elastic, being so they have auto scaling. What do you guys have now that's directly competitive with Amazon? Well, from an application development standpoint, I think where we've gotten advantage is you look at the history of IBM around DevOps, right? So bringing together development operations in this continuous delivery life cycle and really looking at how are you going to quickly build an application. And then that's not the end of it, right? You now have to make sure from a security standpoint, or you know, and you've heard from Mark Vanzettahoff yesterday and the team on how are we providing strong security tools where you can do, you know, in process application scanning and then you've got to deploy, you've got to auto scale, you've got to bring it back and you've got maybe an issue, you've got to remediate and then redeploy. So for us, it's really looking at mobile app development and web development in that developer life cycle. And then in our conversations with our partners, the open source community, it's ensuring that we are helping to accelerate that every step of the way. I mean, the announcement around API harmony, great example where we've got kind of the era of the impatient developer, we're all of us, where you don't want to spend time writing a lot of code if it's already been written. You don't want to spend time creating integration and creating APIs if they're already out there. What you need are the tools at your fingertips where you can quickly build an application, search all the APIs that are available and your private APIs, you know, connect that into your mobile applications so you're to market faster. And then it's about enhancing and really bringing differentiation. So what do you say to the developer out there that's watching, just give the profile? Yeah, I'm comfortable with Amazon. I'm not sure I should go on Bluemix. Maybe the best move is not to move or maybe they have something I want that I don't know about. So talk about those two scenarios because they're comfortable. They're like, okay, I'm fearful of moving over because I'm comfortable over here with my tooling. You know how developers are as you work with them. And then there's also the fear of missing out, like, can I do better on Bluemix? So that's the common theme that we're hearing on developers. So how do you talk to those specific points? Yeah, and we have those conversations quite a bit and it's really about looking ahead at your strategy and at what point, especially for developers within large enterprises, at what point do you need to connect with the backend systems, at what point do you need to ensure that you've got secure connectors or European clients or Latin American clients, big concerns around data privacy, right? And so how are you sure that even the data centers that it's hosted in, we have 40 data centers within SoftLayer and growing every day and those are owned by IBM, those are secured and it's really looking at where are you gonna go as you expand your application and do you have the right partner in place, the right steps along the way that you can and more importantly that you're not locked in because as much as we have a lot of heart for Bluemix and what we're building, we want to ensure that we've built it to be open because we also want to have low barrier to exit. We want to make sure it's a great experience and it's our job to make sure that we've got the right services, the right technology, the right tools, the right services. They don't feel locked in. Absolutely. So the lock-in is a satisfaction, it's an experience. It's not a, oh I can't move because it's going to be too expensive to get out. Right. And there is a sense of expense that we're starting to see around the hidden cost of data and as you may have walked into what you thought was a freemium model with some of the providers that are out there and you're scaling and now you have an ornament amount of data coming in and you're looking to store and provision that, we are hearing that there are hidden costs there that are also kind of opening the door to other players that we know that. We understand what you're going to be facing down the road so we've built the pricing, the application, the platform to allow for that whereas there are other platforms that haven't because it is working at that kind of volume and scale is a bit new to them. Well, having to move that data is a problem too. That's what you mentioned. 40 data centers, the more the merrier I say. So give us some of the statistics. What's happened? How many services? A little bit yesterday.  What's exciting? What are the proud pieces of the platform that you can share with the developers? Yeah, it's been the integration, the tight integration between the design teams and listening to developer feedback and then constantly designing the platform to have an amazing onboarding experience. So we announced yesterday the Watson Zones and the Internet of Things Zone. And these are really designed to be a way to onboard into Bluemix for developers that give you all the tools and resources and training that you need in order to start using cognitive applications like Watson because it is as exciting as the Watson services are, you do have a moment where you sit back and think, how am I going to use the power of Watson in my application? So we're creating these onboarding zones. So that's been a huge advancement. Really excited about that. You're going to see a lot more zones come out from us this year. And then the area of Internet of Things. So we have our IoT services. You had Nigel and Ian on yesterday from Silverhawk. Powerboat racing with Internet of Things. They're fantastic. Talk about business outcomes. Get to finish the race and win, you know? Win, but finish the race too. And you have the monitors on so you know if your heart rate's going over. Sorry, that may also be on slight. That's very important data. And so what we've seen, so the exciting areas are really the zones and then the adoption and growth around Internet of Things space. And it's funny, our teams of developers that are out working with clients and out working with startups.  I'm surprised anybody can get their security nowadays that's on our team. Because we have all these demonstrations that we're doing with clients of imagine if you're trying to create a smart building for your employees and you have their mobile devices that are sensing and pinging the thermostat system, the lighting system of the office. And as they're driving in and getting in proximity, things start turning on inside the office. So we do gem loads with light bulbs and watches and really you're starting to think through a smarter planet and smarter city's initiative with Internet of Things and how are you using Bluemix and the power of cloud to bring that to life within cities and within enterprises? That's crazy, go ahead. What's the developer persona look like these days? And you're talking about the startups, you're talking, you think of the hoodies, you think about the enterprise guys, are those two worlds coming together? They are in the fact that a lot of large enterprises are building innovation centers inside of themselves. And so they have, whether it's if they have foundries or innovation centers or groups of developers, they're really looking to harness that speed and innovation that we've seen from some of the enterprise developers. And then also the big advancement that we've seen is the continual growth of the hackathons. So we know city, we've been partnering with AT&T as well on creating as many opportunities for their internal developers and external ecosystem of developers to be bringing forward new ideas to them.  So we work with the CIO's office, we go in 24 hour period and their developers are working on Bluemix within 24 hours, well, depending on the number of developers they have, we'll have 50, 75, 100 mobile apps that are built and then Shark Tank style, they pitch the apps to their CIO and we vote on them together with the company and then that's the roadmap for their 2015 plan and what applications they're going to bring to market. So talk about the geekiness of IBM and we were talking about this on the intro about what IBM should be doing, obviously we're editorializing and pining, but it's known as kind of like the big company, the slow, old IBM, big blue, big iron. And you guys are trying to be cool, see the keynotes out here, we see that. But you guys actually have a geeky kind of community going on with this dev thing, which we've been following for the past couple of years, pretty cool. IBM is a geek culture, I mean it's got a lot of geeks at IBM and that's a bad word we heard in New York, but a lot of computer scientists, technical people, very awesome bench of talent and patents, right? So all that's coming to bear we're hearing. So share with the folks out there that are watching, what's it like at IBM? It's geeky, you said they carry gadgets around. I mean, is that the way people are at IBM? I mean, what's the culture like? It is. Your group is, I think one of the ones that are kind of the edgiest I think. It's definitely not a monoculture at IBM. There's multiple pockets. You've got a conservative customer base, it's like to be good, you've got to be, got to be kind of geeky, I guess. It's about being authentic, so we're not trying to be anything, we're not. And when you look at, I mean you met the teams, Adam Gunther, we've got Jeff Sawyer, Marvin Goodman running around here on our teams, and we have massive development labs, of developers within, hi-fun, our London facilities, and this is going on every day. So we're not putting on airs, we're not pretending. This is truly what our teams are doing. So we have, you know, Joshua Carr in the UK is constantly with children in schools showing them how to fly a drone with a banana, right? Where you do the device connectors. That wasn't because it was a stunt that we were trying to pull, it's just truly what they do. And we're very involved in the STEM initiatives for schools, very involved in our distinguished engineers working through. But to attract developers and to get them ingratiated into your platform onboard, you're judged by the company, they want to see themselves there, right? So, there's a culture of developers now, I don't want to say brogrammers, but like the young guns are like, they've never loaded Linux on machines. They always say, wow, it loads off work. It's all cloud to them, so they're born in the cloud. So that's just a complete cultural shift. So talk about it, you guys have that mojo internally? Yes, it's about taking what we know inside the company and exposing that to developers and creating that developer-to-developer connection. And you mentioned brogrammers, I mean we have Lauren Schaefer, we have a number of female developers on our teams and we are very much focused on ensuring that we're leading in making sure that we are creating a very balanced STEM environment of developers and leading in that area of making sure we have a lot of diversity. And so it's really about, from a marketing standpoint, it's, you know, you don't market to developers, right? Yeah, no, your technical chops are what's the marketing. Right, and you make sure that what they're interested in and what they're after, we're going to connect them with an IBM development team or somebody else in the community, through developer works that's working on it as well. And it's that local community, there's local connections. You can't fake, you can't head fake developers, that's why we learned that. No, and my team, my marketing team, it's half developers, half data analysts. I mean we are, I mean EVC shifts inside of IBM marketing. I mean it's all data-driven.  You can't go wrong by giving developers more tools and more technologies to play with. Right. Like a kid in the candy store. So I'm going to ask you the question that's on my mind is, what was the big learnings over the year that you guys walked away? What was magnified this year? Obviously you launched it a year ago, you have some growth. Right. What's the learnings that was magnified for your team and the whole group? I'd say the speed. So when you talked about, you know, agile development, agile delivery, you look at going from a few services to 102, you now have to reinvent the way product development is done inside the company. So it's cloud-first, it's mobile-first and it's really looking at across all the services we have, how long can they be a beta? How long, you know, are we going to do testing? What is the beta to general availability onboarding for developers in migration path? Because a lot of companies will launch a beta, you're using the beta, you're embedded in it and then all of a sudden it goes generally available and you have to rip and replace. Like that's horrible and, you know, inexperienced. So we've, the biggest change I've seen is just the agile delivery and the speed at which internally to IBM we're working and learning from our partners that we're onboarding and bringing more and more partners every day. We got a break, but I want to ask you one final question. What's the coolest thing you guys have done with Bluemix internally? So internally it's been the Watson services and the Watson hackathons. So we are doing message resonance and sentiment analysis so you can actually take memos that are written or external documentation, run it through message resonance and start creating profiles of messaging. So it's been, so you've got traditional writers, you know, geeking out of it in that they're uploading their content into the mobile applications and then changing the way that they're writing. We did a test, Adam sent us a link for the beta with Bluemix and we took all our crowd chats. The social group has an amazing crowd chat, a zillion people on it and it's a huge transcript. I just cut and paste the transcript into the site and it spit out like the top things and it was like, you know, openness because it's a Twitter chat and it gave a little, all the sentiment. It was like, wow, this is awesome. So we can see where this is going. So that's cool. Thanks for coming on theCUBE again. Great to see you. Congratulations and keep us posted and we'll keep checking in with you on the progress. This is theCUBE, we'll be right back live in Las Vegas after this short break.


Hello my name is Christopher Peacock. I'd like to welcome you to our series supporting administrators in French Immersion programs and topic number 8, resources. Topic 8 provides administrators with information about accessing the different kinds of resources that are available to support French Immersion programs within the academics via Alberta Education, within the cultural component via the community, and to further professional development for teachers. For more information, consult the Handbook for French Immersion administrators 2010, pages 93 to 100, chapter 10, support agencies and what they offer, and chapter 11, textual and multimedia resources. The Handbook is also available online at educationalberta.ca. With over 40 years of experience, French Immersion is no longer an experimental program. Today, it is not necessary for teachers to translate materials or create their own materials for the program. Many resources are available for administrators, teachers, parents and students. Alberta Education French Language Services include curriculum and support documents in French for each subject from kindergarten to grade 12. Learning Resources Center, LRC, carries authorized student basic and support resources and teacher resources. And to learn.ca has a site dedicated to learning and teaching in French. For pedagogical resources, EATLI provides an online educational resource. It was developed by the Ontario Ministry of Education to support elementary school teachers. Teachers must register to have access to demonstration videos. The bilingual site also has a section for parents. TFO Education produces and distributes French TV programs and multimedia with cultural and educational content. The site has a section for French Immersion teachers, parents and students. Teachers will appreciate the wide range of classroom materials available from kindergarten to grade 12. Please note, to have unlimited access to all materials, schools need to pay a user fee. Information is available on the site. Administrators should consult the current funding manual for school authorities, part 4.2, to know the funding available for alternative French language programs, including French Immersion. This funding includes the basic education grant as well as urban transportation funding. Funding is available for students in the following areas. Explore is the second language summer bursary program available to those who wish to study French during the spring and summer. For more information on this program, follow the link provided. Administrators are encouraged to share this information with their secondary students as soon as it is distributed to schools. As well, this program may be used to enhance a French Immersion program where numbers do not permit the range of courses offered in larger urban schools. The French Student Language Development Exchange program is sponsored by Alberta Education and is a three month exchange for high school students. You can click on the link provided for more information. With regards to teacher funding, the teacher bursary program is a bursary for professional training available to French language educators. The program is funded by Canadian Heritage and administered by Alberta Education. You can refer to the Alberta Education website for more details. Principles are encouraged to share this information with all staff members working directly with students in their French Immersion program and encourage these staff members to apply for these funds for their own individual and professional development. For language assistance, the Odyssey program is administered by CMAC and is intended for language assistance. More information can be found on the link provided. Administrators of French Immersion programs are encouraged to request that a language assistant be placed in their school at no cost to the school. For project support, federal financial assistance is available to school jurisdictions to defray up to 50% of the additional costs of the French language programs and projects. Many resources can also be found in French bookstores. Librarie le Carrefour University Bookstore is based in Edmonton and offers a variety of services in French. Livre la Coste Books, with a website currently under construction, is a Spanish, French bookstore and language tutoring service based in Calgary. They offer reading materials, teaching materials, CDs and DVDs and language tutoring for students of all ages and levels, also in private or in small groups for French, Spanish, Italian and German. Lookfors in a French Immersion classroom is a tool developed by MIRFIP for French Immersion administrators. Areas of focus are outlined in checklist format allowing for quick recording. This tool can be used in multiple ways. Click on Resource Crayer. Scroll down to the bottom of the page. Click on Lookfors. This is a two-page PDF file. The first page is the checklist. The next page, possibilities for how to make the most of this tool. Supporting parents in your French Immersion program is crucial. There are two indispensable resources for parents, both of which are available online in PDF format. Number one, Yes You Can Help is a resource produced by Alberta Education and Canadian Parents for French, Alberta Branch. This guide provides over 140 pages of information, advice, resources and inspiration for parents of French Immersion from kindergarten through grade 12. Some schools provide parents with a copy of Yes You Can Help when their child enters kindergarten. Second, French Immersion curriculum handbook for parents is available for all grade levels, kindergarten through grade 12. Immersing students in the French culture is a goal of the French Immersion program. Administrators and school leaders can encourage French Immersion students to participate in a wide range of cultural activities both in and out of school. Here are a few resources to let you know what French cultural activities and events are taking place in your community. AXON is a directory of resources and activities in French for your schools. It is sent to schools with French Immersion programs in the fall and is also available online in both French and English. Frank Alta. The Frank Alta website is an online calendar of French cultural events taking place in various localities in Alberta. Le Franco is the only weekly French newspaper in Alberta. It also lists events and activities in French communities throughout Alberta. Consider subscribing to this newspaper to keep your French Immersion staff current. Alliance Francaise is an international non-profit organization dedicated to spreading the French language and culture around the world. There are offices in Calgary and Edmonton, which both offer French courses and organized events for children and adults. Alberta has a vibrant French community that is eager to share its culture. Theater, dance, music, visual arts, books are all part of the cultural experience. Here are some sources that are available in French. Cine Club of Edmonton presents one French film on a monthly basis from October to May. Cinémagine. The Cinémagine Society is a non-for-profit organization responsible for promoting French films to Francophones and Francophiles in Alberta. La Girondelle Dance Association is committed to promoting the Francophone culture through dance and folklore. The association currently offers a wide variety of dance classes and training programs year-round. You can visit the website to see what is being offered. Conseil de développement économique de l'alberta. CDEA has developed a French website that presents a variety of information on tourism in Alberta. The Heritage Community Foundation has created Alberta's Francophone Heritage website in the Alberta Online Encyclopedia. You can explore the website in French or in English. Go to click to browse all sites. Le Regroupement artistique francophone de l'Alberta provides a French performing arts directory with up-to-date information on art mediums such as visual, musical, theatrical, etc. La Société Francophone des arts visuels de l'Alberta endeavors to promote the importance of visual arts through demonstrations, workshops, exhibitions, and touring. Saba offers workshops for students from kindergarten to grade 12. You can visit their site and order a catalogue. L'Unité à Artre has a website in French only but they also welcome inquiries in English. They present five French plays on an annual basis at the Theatre de la Cité Francophone in Edmonton. They also offer summer camp workshops, drama courses, and workshops for adults and children. Provincial and national associations also exist as excellent resources. Le Conseil Français offers an annual conference, professional development opportunities, bursaries, and awards as well as a newsletter Le Coffre au Trésor. The Canadian Association of Immersion Teachers or CATE hosts annual national conferences for teachers and administrators. Casalt, the Canadian Association of Second Language Teachers, and OEC Ontario Institute for Studies and Education are also excellent resources. Post-secondary institutions offering courses and degrees include but are not exclusive to Campus Saint-Jean, Simon Fraser, University of Regina, Collège Universitaire Saint-Boniface, Université de Moncton, and OEC. And a CPF is a national organization that supports French second language learning. The CPF website is an invaluable resource to French Immersion educators, teachers, parents, and students. Be sure to check out the national site as well as CPF Alberta. Check to see if your area has a local CPF chapter. This PowerPoint has presented you to topic 8 with insights on resources that can support your French Immersion Program. This topic is one of eight in the series Support for Administrators of French Immersion Programs. For further information on resources to support your French Immersion Program, consult the Alberta Education's Handbook for French Immersion Administrators 2010 version from pages 93 to 100. More specifically, chapter 10, support agencies and what they offer, and chapter 11, textual and multimedia resources.


Poetry is an egg with a horse inside. This third grader's explanation so delighted poet, Matia Harvey, that she made this photo illustration of it. There it was, Harvey explains, the perfect definition for why I write poetry. Fragile delight, the crack of bewilderment, the tiny nae of surprise. What is poetry? What can and should it do? How and why do poets write? These questions have been stirring up debate since before 19 BC, when the Roman poet Horace responded by publishing his 476 line poem that's come to be known as Ars Poetica. Translated from Latin, Ars Poetica means the art of poetry. Horace's poem speaks at times in broad declarations like, mediocrity in poets, no man, God, or bookseller will accept. And at times reads more like a how-to guide, offering practical advice like, be concise. Listen up, all you poets out there. Horace also advises that before deciding your work is ready to share, you put your manuscript away till the ninth year. Because you can always destroy what you haven't published, but once out, there's no recall. Ever since Horace's Ars Poetica, poets have been inspired to join the conversation and chime in with their thoughts on the art of poetry. Though Ars Poetica can refer to Horace's poem in particular, it's also become a more general term referring to a poem about poetry itself. In an Ars Poetica, the poet draws back the curtain for a moment, giving the reader a glimpse of their craft and articulating their own answers to the timeless questions, what is poetry? What can and should it do? And how and why do poets write? Let me give you a few examples. Archibald McLeish's Ars Poetica famously ends, a poem should not mean but be. Cheslaw Mewosh's claims, in the very essence of poetry, there is something indecent. A thing is brought forth which we didn't know we had in us. More recently, Elizabeth Alexander, who was chosen by Barack Obama to read an original poem at his first presidential inauguration, uses the refrain Poetry Is in her Ars Poetica number 100, I believe, to offer a cumulative definition. Poetry, she says, is what you find in the dirt in the corner over here on the bus, reminding us that it's not sparked only by profound moments. The overlooked, the overheard, the quotidian details of our lives, Alexander suggests, are just waiting to surprise and delight us in poetry if we haven't already dismissed them as uninspiring. Though those examples talk about poetry in general, an Ars Poetica can also make a more personal, even political, statement. This contemporary Ars Poetica by Jose Olivares addresses his craft alongside the trials his family has faced as Mexican immigrants, illustrating that what he writes about and why are inextricable from who he is and where his family comes from. My work, to write poems that make my people feel safe, seen, or otherwise loved, he says. My work, to make my enemies feel afraid, angry, or otherwise ignored. And later, my work, survival. His refrain, a reminder of poetry's power to wound and to witness, to heal, and to sometimes even save us. OK, let's say you're trying to spot an Ars Poetica out in the wild. Many poets, like those I just mentioned, make it easy for you by titling their poems, Ars Poetica, with a clear nod to Horace. But plenty of poets don't. So it's up to you, as an engaged, perceptive reader, to recognize when a poem like Galway Cannell's The Bear might be portraying not just an animal, but the craft of writing as well. The voice of Cannell's poem is a hunter, and the poem is pretty much all bear all the time. Bear tracks, bear fur, bear blood, bear scat, to the very last line. The poem ends, the rest of my days I spend wandering, wondering what anyway was that sticky infusion, that rank flavor of blood, that poetry by which I lived. Here you might think, wait, since when were we talking about poetry? Well, all along, apparently. With that surprising last line, Cannell encourages us to read the poem again with this new frame in mind. On the first read, we see the speaker grappling with their own animal and instinctual nature. In subsequent reads, we understand that Cannell's poem is also functioning as an Ars Poetica, arguing that a poet needs to be as engaged with their subject as a hunter tracking an animal. The poet needs to be that observant, that determined, Cannell suggests, to come away from the page successful. In Cannell's poem, the bear's meat keeps the speaker alive. Read as an Ars Poetica, it asserts that poetry can be that vital, that essential. As the poet Mary Oliver says in a poetry handbook, poems are not words after all, but fires for the cold, ropes let down to the lost, something as necessary as bread in the pockets of the hungry. So now that you're familiar with Ars Poetica poems, keep an eye out for them. For centuries, they've been making an argument for the power of language and the value of the arts, each one offering its own take on the art of poetry, each one speaking in a new voice to the questions of what and how and why that have been around as long as poets have.


Welcome back to Exotic Wine Travel. I am your host, Matthew Horky. Hi, I'm Shereen Tan. We're welcome back to this show. We are excited because we are going to taste one of our favorite grapes. Actually, you've come on strong lately loving this grape, right? Particularly because of Santa Barbara. Well, Serah. We're tasting Serah from Santa Barbara County. Before we get into this, I wanted to let you guys know that this video has not been paid for in any way, shape, or form, but if you like these videos, if they add value to your life, check out our guide of the wines of Santa Barbara called Sipping Santa Barbara. Recommend the wines I've produced. It's available on Amazon. And yeah, so before we get into this, we extracted these wines using our Coravin Model 2 Elite. Thank you to Coravin for giving us a test sample to use. And we poured them into these beautiful Gabriel Gold Edition hand blown glasses. Am I surprising you a lot today? Yeah, I'm laughing a lot. These wines are lighter than Zalto. We just used Zalto, a Zalto Universal, and I was shocked at how heavy it felt because these are 90 grams, about half the weight. So let's get into this. We're talking about Santa Barbara County Serah Appalachian wines. And what does that mean? It means all these wines use fruit from all over Santa Barbara County. They're not visit designated wines. And you know, Serah, let me start over. Pinot Noir and Chardonnay are like the flagship grapes of Santa Barbara County. But Serah might also be the strongest performer in the county. What do you think? 100% agree. I find that generally, the Serah from Santa Barbara expresses more cool at the notes. So you get a blue fruit, violet, you get a bacon fat, but it's more controlled and it has good acidity as well. Love it, love it, love it, love it. Let's get into it. The first one we have is these are all famous wineries. We have the P.S. Pedro Sasa, 2016, Santa Barbara County Serah, 26 U.S. dollars, 900 cases of this mane. I only know that because it says on the bottle. I know interesting because they use indigenous for indigenous yeasts for fermentation, and also they age only in 500 liter oak casks. You know, when we first went to Santa Barbara County, we tried to go to the tasting room, which was closed and we had to end up buying a bottle of an older vintage of this wine. So we have not tasted this vintage. I'm excited. We also have a video coming up with Vinger designated Serahs from Pedro Sasi. Sashi Mormon is the wine maker. Let's give this a little bit of a go. We'll pick up. Love it. Blackberry, violets for me, green herbs, right, for me. I think it's very, the fruitness is kind of like the carbonic maturation kind of fruitness right now. It's very fresh, very focused. Brambly, so to speak. I think this was 12 months in 500 liter oak. Nice. Let's give this a go. Nice, nice acidity. And it's full, brought shoulder. This is a medium to full-bodied wine. Tannins are soft for Serahs. Serah tannins can start to get a little bit aggressive sometimes. Beautiful acidity, not overly complex, but then again this is a, this is a county designated wine. I'm enjoying this a lot. I'm about 4.1. How to five on this? What do you think? I missed out at first, but now when I really tasted it, it has nice citrus finish as well. Yeah, it is. I'm very high on it.  All of that, all of that. Bigger, if you want to share it for me. Okay, let's move on here. A very famous producer that focuses mainly on Serah. This is the Tensley Serah from 2016. Website says 28 US dollars, but you know what? Weird thing. I'm a huge Gary Vaynerchuk fan. We went to Wine Library in New Jersey, where I picked this up, and I picked it up there for 20 bucks. So that was cool actually going there. That was the one wine that I purchased. Tensley is famous for Serah. It gets massive scores from Robert Parker, from Venice, from Suckling, anywhere from 91 to 98, 99 points. This is the basic entry-level wine. Let's get into this. He sources from fruit a little bit further in, a little bit further from the coast. So wine's a little bit bigger. Let's give this a smell. I find it to be more floral, like a picture sassy. This is like more Northern kind of Rony-esque. This to me has a little bit more Australian thing going on, a little bit more riper fruit for me. What do you think? Yeah, I guess this has subtle, savory notes, whereas this is more fruit and floral right now for me on the nose. Black fruit, black berry, pepper. This is meaty even a little bit. I have to say, I'm digging this nose a lot quite a bit. What do you... This is 2,002. It tastes more saddle as well. Come back to visual sassies 2016. Very good. I think he blends a little bit of new barrels of new French oak. She definitely picked up the wood. It's rounder. It's a little bit bigger on the palette. Definitely fruity, more peppery, more meaty. This is more delicate. This is kind of Saint-Joseph-Yves, right? Saint-Joseph-Yves?  This is definitely... Oh, you like this too. I'm 4.2 out of 5 on this. I think this is delicious. What do you think? I like it too. I'm excited to hopefully we can do a show to taste some of this, like his Colson Canyon, his Tensley Vineyard, all these other single vineyard stuff. I'm actually really impressed with this wine. What do you think? I really like the spicy finish as well. Yep. Good job by Tensley. Okay. Well, let's see if this wine tops it off because it's Shereen's, maybe her favorite producer in Santa Barbara County. She can't stop talking. And I like that Sarah too. This is the Samsara Syrah 2015, Santa Barbara County, 40 US dollars. Also Indigenous East Spontaneous Fermentation and Neutral French Oak. Let's give this a go, shall we? This is definitely more... Polish, oaky on the nose. To me, not oaky. This is almost like a hotter weather. This is cooler weather fruit. Yeah, okay. Definitely. You got some brown oak spice. To me, these two are more dark fruit. This is a little bit leaner. This is bigger. This is like... Kind of like I got the very smoothie cool whip thing going on for me. A little bit of this fresh cut or rather like a new furniture, make a mahogany wood kind of smell. This is beautiful, right? Let's give this a go. This is more... Pretty light for a Sarah, medium body. What do you think? I find it hard to pick. I like every single one. These are all... I think Sarah in California, you're getting a lot of value for money. These are all for entry-level Appalachian wines. These are all serious wines. I don't think I could... I like these two a little bit more than this. I think I'm 4.1, 4.2, 4.2 on both of these on Vivino. This is bigger, has some muscle. This one's leaner, has some more contours in it. All very good wine. Anything else you want to add on the center? I find this to be the lightest body. This is a little bit bigger and this is the bigger. And then I find that this is the freshest. Freshest. Yeah, it has nicer or more pronounced acidity for me. But all three are very different style. Like this is more controlled fruity and also a little bit of back tone of earth. Whereas this is more floral on the nose and then this is fruit and savory and bacon fact. It's all different too. I would like to have this with stewed meats and these two maybe with grilled meats. Because it's a little bit bigger, right? Yeah. So I know. Good job by Sarah, guys. Good job by all these producers. Yay, Sarah. I'm going to put the discount code for 15% off. Gabrielle Glass, Standart Edition and Alpha Decayner up on the screen now. You can use it. We're not affiliates. You can use it however you want to. Just something nice for you. This is like ceramic in like Pinot Noir style. Sorry, I'm really into it. Yeah. This is more Centaurina Hillsy Pinot Noir. Lovely, lovely, yeah. I think delicious stuff. So all good wines. Very nice job by Joey Tensley. I'm sorry. This one used to be made by Chad Melville, but now they have a new wine maker. Matt Brady and then Sashi Mormon made the Piedrasasi. So nice job by all you gentlemen, right? Guys, check out the Guide to the Wines of Santa Barbara, Sipping Santa Barber. It's on Amazon. I'll also put it on the screen. And if you like this video, please subscribe to our YouTube channel. Exact Wine Travel. I will see you at the next episode.


In this video, we're going to talk about the fifth and final principle of readability, which is simple language. So what makes language simple? Unfortunately, there's a lot of bad advice out there. When I say bad, I mean always wrong, but it's advice that is given too strongly without balance, without context. And some of those include things like avoid passives, you hear that all the time. Be informal, read conversational, avoid redundancy, avoid jargon, use simple words, use short English words, or write short texts. And while all of these contain some good, germs of good advice, for example, write short texts, but you don't want to, for example, write short texts, you don't want to deprive people of the information.  That's an example of advice that isn't really all that wrong on its own, but it can be, it's bad advice really if you apply it literally. There are some examples of advice and why it's not, when it's not appropriate. So for example, always, if you're told to avoid passes, well, for example, you have two sentences. The school was founded in 1996, and they founded the school in 1996. Obviously, the first one is much more appropriate in almost every context you can see. You can think of using that sentence. So that's not good advice. Another advice that's often given is avoid redundancy, but very often redundancy is actually what how people understand. Pairing things to the bone simply removes any other catch points that people could have. So for example, when I send an email, and I say, let's meet next Tuesday, I always put parentheses and the actual date there, and that is just to both ensure that when somebody is maybe reading it on Monday, and they don't really know if next Tuesday is tomorrow or the Tuesday after that, well, they have the backup. And also, if I made a mistake in Tuesday, I meant Wednesday, well, the date is sort of a checking point so the person can come back to me and they really mean the 24th or Tuesday. So that's a really good strategy for that. Also, using simple words is not always appropriate or it doesn't even make things simpler. So for example, you may say something like when you come to for class, remember, attendance will be taken. So that is appropriate, it's not very difficult, it's short. But of course, the more informed, more direct, simpler, quote unquote, what you're saying is we will check who showed up, but that is almost never appropriate. So make sure again that you don't take that advice too literally. Another example of this sort of simple word advice and short word advice that doesn't always work quite well is a difference between short, typical old English words and their Latinate companions. And so if I ask you which one of these is simpler, well, you would of course say get is simpler. And if I use a Microsoft word, I can now ask for it to mark complex words. And it will actually mark a choir as a complex word and it will suggest get as one of the alternatives that is not as complex. But things are not quite as simple as that because of course, if you look at the dictionary, you're going to see that get has a lot more meanings, possible meanings than a choir. And that of course is a possible source of confusion. But actually it's even worse because that has a lot more possible meanings than a choir. So you want to be careful there. And of course, if you read this on not native speakers, you will find that for example, to translate get into French, you have 15 options to translate a choir, you only have four. So again, for a non-native speaker, it may be much easier to figure out what a choir means as opposed to get. And if in Russian, it's even worse. You have 45 possible options as a verb to translate words for a choir. You only have eight. But things of course don't end there. It's even more complicated because there are 19 English phrasal verbs that can be made from get. So get across, get along, get down, get down, and so on. And so a non-native speaker will be struggling with that. Which one of these is there's something else that I need to pay attention to. They may very easily be confused by that. And it's even worse because each of these phrasal verbs has another set of senses. So the simple word get actually turns out to be much more complex than you may have thought. That doesn't mean that you actually use it, but it just means that you're not always improving things by using it, instead of a word that seems more difficult to you because you have to learn it in school. And so just the lesson there is that non-native speakers will not always find short and easy words as easy to understand as you might think. So here are some tips for a simpler language that I think help us make better decisions about what to do. So it's not so much about short words, but it's about relevant words. It's about words that either the readers know or they're explained in the text. Remember in the previous video I showed you, you can use a picture to explain spires in that. A good advice instead of being informal is to address the audience. There's actually good research that shows that if you speak to people saying, you instead of more general terms is that that will actually improve comprehension. And also it's a balance politeness a little bit because politeness can include a lot of complexity into language. So one of the things that I often see that people start with when they write something on a web page, they say welcome to this site. When they write an email, we're very pleased to have this opportunity. And that could be very often too much politeness because what was the last time you came to a website that you didn't see welcome to this site and felt insulted. That usually doesn't happen. It's just something that we do because we have nothing else to say it. So this would be some candidates for perhaps over the politeness is not very useful. Now, of course, you can take that too far. And so in the context of writing an email, sending something like that, sending me in the slides ASAP is probably not only not polite, but it's not very helpful. So you should probably include more information. But of course, there's the other extreme where you go to this flower indirect language, which is how language English expresses politeness. I was wondering if you could find some time to send me the slides. I need to do some final formatting before I leave. But actually in this sentence, perhaps the politeness is too much, but it's good to give some context. So again, we see that a bit more language is useful, but we need to find a balance between the two. Very often when you're giving instructions, you should definitely pair things down if you can. So for example, very often people write in the emails things like, you may like to register by clicking here. Whereas it's much better to say register here or just simply have an icon with a shopping basket and register. So that's a simpler way of doing things. Now you can use some tools to help you simplify your language. And a very useful thing that I like to use is called the Hemingway app. And the Hemingway app is a free online editor where you can paste your document and it's going to give you a grade and it's going to highlight long sentences. It will also highlight passive voice and adverbs. But I probably wouldn't worry too much about them. But the long sentences, hard to read sentences, are much more useful. And the overall score is also important because that tells you how many years of formal schooling your readers would, on average, have to require to be able to read the text. And you want to keep that as low as possible. Even if you're writing for quite sophisticated audiences. Because even they don't want to waste their time on decoding very complicated text unless it is academic text. So that is something to think about. So if we look at that history page that we've looked at in previous videos, well, that doesn't have very high readability. It gets grade 16, all the sentences are very long. So with a very few simple things by shortening the sentences and paragraphs, we can get to grade 11, which is much easier to read. Now, this is not always easy. So how well do the experts do on this text? Well, so this is from a page on a website by the Plain English Campaign. And as you can see, the Plain English Campaign are focusing too much, perhaps, on some of the other advice. But they could make their text much easier to read just by simply shortening the sentences and perhaps using some simple language here and there. So because they're in grade 13, and that isn't very good. They should really sort of be at grade 10 at least. Now, this is from a document that I wrote many years ago about spelling, about simple language. And I wasn't even trying to make it simpler, but I somehow managed to be better than the Plain English side by getting grade 10. So at least I was sort of following some of these. Now, this is for tips for writing plain language from the Norman Nielsen group, which we'll talk in another video. And as you can see, they talk about plain language and they get grade down. They really do a good job. But you can also see they have some sentences that are quite long. But it doesn't matter. It doesn't, some of the sentences can be longer. It doesn't mean that every sentence has to be short. But overall, it should strike a good balance of long and short sentences to make it easier to read. So the other thing, of course, when you're looking for simple language is word choice, choosing words. And very often, again, people can oversimplify. So there's a famous cartoon by XKCD that tried to describe the space shuttle by using only the 1,000 most frequent words in the English language. And using frequent words is a good idea. But if you're limited to the 1,000 most frequent ones, you're going to end up with things that are hard to say and hard to understand. So you have things like looking at the exotics. Lots of fires come out here. So that may or may not be the way you want to do it. And somebody's even made an editor for UpGor5 text editor that will only accept words that are in the top 1,000 most frequent words. And so when I've tried to put in bananas there, well, it didn't know bananas. So I tried, I like fruit that is yellow, but neither fruit or yellow belong in the top 1,000 words in the English language. So as you can see, that's not a good strategy. However, there are some good tools that can help you more with the words you're choosing. And one of them is the iWeb corpus. And that's a free online tool on provided by the Bergemian University. And if you go to the word section and search for a word, then it will give you an overview of the word. It will give you the definition just like a dictionary synonyms, synonyms just like a thesaurus. But more importantly, it will give you all the different uses of the word. So it will show you the most common collocations. For example, what is it like when it's next to another mound? Now, different clusters. So you're going to see what it's like if it's three words together and so on. But it will also show you different topics in which it is used. And it will give you some other information there as well, as well as the sort of general frequency of the word. So that's going to give you much better information about the word than simply looking at whether it's in the top 1,000 words or very simple. And the one more thing that you can also get is quickly see it in context. That's called a keyword in context or quick. And here you quickly can scan through the different uses of the word and see if using it appropriately or maybe if it's an appropriate word for your purposes. So that is about word choice, which is the last tip for making your language simpler. So in the next video, we're going to have a look at what we can learn from user experience research.