I'm going to talk about rapture, which is a collection of libraries for doing kind of everyday tasks including I.O, JSON processing, cryptography, a few other things that I won't talk about, but the focus of the talk today will be those things. I've been travelling around Europe the last couple of months giving this talk to various people and various Scala user groups in different cities in Poland and Germany and so on. I had quite a hectic schedule, and they all kind of ran into each other and ended up being quite tired. But it's really good to be here in Portland, and good to see so many of you here. This is actually going to be probably the final outing for this talk. No, no. Down. That's fine, yeah. Let me leave them, okay? This will probably be the final outing. Hopefully this means that the talk will be well-practised, quite slick. No, probably not. Anyway, people who don't know me. People have made the complaint before that I don't explain who I am at the beginning of my talks, and I just dive straight into them. So I don't really like giving a sort of long history of what I've done and so on. So I'll hand over to Paul Phillips, who keynoted here last year, who very kindly... I think I must have said something to offend him, but he put this up as one of his slides in a talk he gave in Boulder. So yeah, it's taken me ten years to gain ten years' worth of programme experience. I think it took Paul one year to gain that much. And then he goes off and slags off Western Europe. Yeah, I think back then I was... I think the noise we've most about this is how blurry this photo is. There's loads of very sharp photos of me on the internet. This is not one of them. I think that's the noise we've most. Anyway, I quite like this John Pretty Slow. I was very pleased with that. So for Scala Days in Berlin this year, I had that put onto a t-shirt. I am John Pretty Slow and quite proud of it. More recently I've been working on Rapture. I'm now kind of full-time on Rapture. I quit my job in August and moved out of my flat as well so I could go travelling and telling people about Rapture as I am today. So effectively I am unemployed and homeless. So thank you everyone who's been very welcoming to me here and very charitable. The format of the talk today will be a series of one-liners. So I've called it the art of the one-liner. What I will do is I'll show you a line of code. It's the kind of thing you can type into the REPL and then the response you get from the REPL. So to get started... Oh by the way, if anyone has any questions at all as I'm speaking, just shout out or if you're reluctant to do that, put your hand up and I might notice you but I prefer to shout out. I like the feedback. I think an interactive talk is a better one. So this is a line of code from Rapture. This is how you define an HTTP resource. So nothing particularly exciting. We have a URL which is http://rapture.io.sample.json. It's a mini DSL. Nothing particularly exciting. And I'm going to call that a resource. I'll explain what that is in a second. Here's another one. This is a file URL. Looks very similar. So this represents a file on disk in the same way that the previous one represented an HTTP resource. That was actually the old way of writing them. So that was in Rapture up until the most recent release. We can describe an HTTP URL like this now. This is a string context. So you've probably seen a similar... Who thinks this looks a little bit weird? So if you... Eric, surely not. Okay, I'll have to ask a different question. Who thinks this looks completely normal? Really? Okay. So you've probably seen similar things with an S, locates S there which is an interpolated string. And what that means is that the content you put in here is interpreted in some special way. It's not a string. It actually invokes a method on what's called a string context and interpreted in some interesting way, which means as a result we get an HTTP URL. So that's all cool. We get to use the pretty standard syntax without having to convert to those slashes and strings as I showed you before. So this is better. This is easier. Now notice that we get an HTTP URL as a return type here. If we have a file here, notice that this is exactly the same. Pretty much, apart from the content here. But the type is different. So at compile time, Rapture knows by virtue of some magic, by which I mean a macro, it works out that this is representing a file URL and therefore it's able to give us a tight result from this. And we can put any kind of scheme in there that Rapture knows about things like class paths and HTTP as well. So that's all fine. Now these are all resources. And I'm using this resource phrase in a very vague sense. There's no trait or interface that represents a resource. A resource is a resource by virtue of having capabilities. And a capability is something like being able to read from that thing or being able to write to it or delete it or rename it. All kind of standard IO tasks that you're probably very familiar with from other libraries. So a resource is a resource not because it inherits from a certain interface or trait. It's a resource because there are capabilities available for it or defined on it. The way they're defined is using the what used to be called the Pimp My Library pattern, but that name has been deprecated in the favour of Rob Norris' name, which is Bedazzle My Library. So over the course of the talk today I will be bedazzling these resources with various capabilities. And it's a much better name, isn't it? I think everyone should go out and start using Bedazzle My Library instead of Pimp My Library. So there we are. This is fine in the case where we know at compile time what kind of resource it is. So we know this is the file it's there literally in the code so we can work out this is the file URL. If, for example, it comes from user input, there's no way at compile time we can get the type from that. It's just not known. So we have to specify. We have to say HTTP.pars and this is an ordinary string here. And then we'll get an HTTP URL. There's also a corresponding file.pars and the same for all the other resource types. So our first capability that we'll see is slurping. So slurping is to pull all the data from that resource into memory. It takes a type parameter which is byte. And as a consequence of that we get this thing back which is a bytes type. Bites is part of Rapture. It's a very, very simple wrapper around an array of bytes. Why have I done that? I don't like working with an array of bytes and we generally as functional programmers we prefer immutable data types. So although this is just backed by an array of bytes it's a simple wrapper around it and also we get this nice two string method so you can see exactly what the content is. Assuming you can read hex. You all can, right? It's slightly more complicated than that but that's the basic idea. So the question was do I have a type class for each possible parameter that goes here? The answer is effectively yes and it's actually each combination of parameter here and resource type. So if you introduce your own resource type which you're perfectly capable of doing or you're able to redefine an existing thing as a resource you specify a type class that tells Rapture how to read it, how to write it how to set the size of it and so on and in the case of slurping it needs to read it and we provide two one for bytes and one for characters but you could provide others as well. So this is bytes Bites aren't that useful in many situations we'd much rather work with strings because we can actually read them then. So what we can do is we can say slurp characters now you've probably noticed this big red error message here I'll read that to you. It says error cannot find implicit reader for file URL resources. File URL resources can only be read if a reader implicit exists within scope. Now that's not particularly meaningful except in the context of the question that was just asked over there the reader is the type class but it goes on to say note that if you're working with character data you will require an implicit character encoding for example import encodings.system or import encodings.utf8 well this is actually telling us exactly what we need to do to fix this error. Well I'm trying to address the fix the problem that Java introduced which is to make the really really really stupid assumption that if you don't specify the encoding that you must be using the system encoding.  Well it means that the code you write if you don't specify which character encoding you're using you write some code it'll work fine on your machine it'll probably work fine on a friend's machine or a colleague's machine it might work on all the development machines in your organisation because maybe you're all using OSX and then you go and deploy it onto a server which has a different system encoding and suddenly it stops working just because it's assuming the system encoding some environmental information rather than having it specified in the code it starts failing in probably quite a subtle way to probably start seeing unusual characters or question marks in the strings in the system it probably runs fine without exceptions but you start seeing subtle degradation in the software so this completely undermines Java's portability so I've done away with that if you want to do anything in Rapture with characters with strings writing between strings and bytes you have to specify an implicit encoding and we do that like this import encodings.inr case we're going to use utf8 but you can specify anything here note that I've got the factics there which allow us to write this in the canonical form with the dash there and then we try exactly the same thing this is the same line we had before and we get this string result here so the return type and the characters it's not bytes it is now a string so is that all okay? I've only had one question so far I think does that all make sense? cool right what's next? so we're going to move on to some JSON processing now so rather conveniently this this string looks a lot like it's probably some JSON so given some JSON in a string what we probably want to do is parse it so I can call jason.parse this is in the raptor jason library now and what we get is well this looks like it's exactly the same thing except the type is now this JSON type which means that it's successfully parsed and it is it is in some internal representation of that structured JSON type okay now that was actually a two-step process because first we had to slurp it and then we had to parse it when I get round to the oh release of raptor.io you'll be able to do this you'll be able to specify simply any resource sorry this one liner splits onto multiple lines this may be a theme as we approach the end we may get up to three lines at some point anyway we can specify this as one line of code even if it's not one projector slide we can specify any readable resource here and it will be happy to parse that it'll read into memory and that will just work this has exactly the same result as the previous one okay so it depends on some stuff I haven't told you yet but in this particular case it will load it all into memory now if you had a jason parser capable of doing the streaming there are ways that that could be that could be made to work in a more efficient way without loading everything into memory I'll tell a bit more about that later ask me about that in about 10 slides time that is comprehensively covered but at the moment so for now if this fails it will for an exception and if that makes you feel uncomfortable that's good because I'm going to fix it later okay I'll answer that in probably 15 slides time any other preemptive questions I do love this it happens every time I give the presentation people anticipate the slides I'm about to show I sometimes wonder whether I just shouldn't have them and I should have a completely random set to see if people anticipate them as well anyway we've got this jason type and I'm calling dot candidates on it now does my jason type have a candidates method well it looks like it does because I'm calling dot candidates I promise this compiles and it gives a result type jason but did I anticipate that candidates which is from this this key in the jason method no this is scarla code I mean it looks like javascript it's been completely happy to compile this what's actually happening is this is using scarla's dynamic trait who's familiar with dynamic so who's not familiar and who didn't put their hand up who still didn't put yeah okay so probably about half and half I think so the dynamic trait is to ask you to tell scarla how to interpret a method call to a method that doesn't exist so what scarla does is it converts this call here into an application to the select dynamic method passing candidates as a string so all this is it's syntactic sugar in the pure sense so this is you can think of this as a dynamic access so we are very much in the dynamic world of jason here we can call dot anything here if you like this happens to to be something that exists and it works fine we can also index into that array so this you'll see returned an array we've got the square bracket there if we access the first element that will give us this result here note that every time I do this it returns something of type jason so jason is like the the dynamic type everything you do if you call dot name on that we've still got type jason here even though this is clearly a string the compiler doesn't know that it only happens to be known at run time that this is a string so how do we get from this dynamic world of jason because we can't call dot substring or dot index of on this because that will be treated as if it's an index into a into a jason object we want a real string to come out of this so that we can actually do statically tight code what we do is we call dot as we call dot as string in this case and it's perfectly happy to interpret that as a string note that the quotes have gone missing because it's no longer a jason string it is just a plain string and that's how the REPL will display that so we're back in the static world and we can do all the normal static things that we love about Scala and we can leave behind that nasty dynamic mess sorry say that again so it does throw an exception and the exception will be a type mismatch exception but if everybody's getting really uncomfortable with exceptions I still think that's a good thing because I will still fix that it will throw one of two things generally it will either throw a type mismatch exception or a missing value exception those are the two possibilities we can get an int as well so there we are, there's the value now this is actually something I tweeted me last night and said well I've got some I've got some jason code where my values are always integers but they might be in quotes or not in quotes so they might be represented as jason strings or they might be as represented as ints how do I do that well what you can do is you can rewrite your the extractor this is the type class which tells raptor jason how to extract integers you can compose existing extractors this is the new slide today because someone tweeted me last night with this question and the solution is quite simple so we can we can access the extractor type class which tells raptor jason how to do the extraction like that and then we can combine it with another one using or else so what it's saying is try this one first try and extract an int using the standard canonical int extractor and if that fails try and extract the string and then map the result to an integer so the return type of this is an extractor extractor of an int for jason as it turns out and then it will just work if you try and extract something that might be an int in jason might be a jason string it will always return an int using this if it's a boolean then you still possibly get a type mismatch exception so it's all very well being able to access single primitive values like integer strings booleans and so on but we probably want to work with more structured data as well so a case class let's say we want to extract a candidate now you probably noticed that the jason I was using was some sample stuff representing the last presidential election so there are two candidates in that jason one of them is Barack Obama and he has a name and an age which we extracted last time we can define this case class candidate with the parameters name and age here and we can actually just extract straight into that case class with no other specification required and we get this instantiated case class here so in one line well two lines we've got the definition and then we've got the extraction here we're pulling out structured statically typed results from our jason so what it does is it looks at every parameter in the case class and if it's able to extract that parameter it's able to extract the entire case class so basically they compose by parameters based on the name of those parameters so it assumes that the key inside the jason map corresponds to the name of the parameter in the case class is that okay it doesn't, by default it doesn't care about any additional ones that it's not looking at so I think I think it's not possible at the moment to to tell it to fail on extraction if there are extraneous keys there but it's something I would like to provide it's something I provide in a similar way later on which I'll show you but it is configurable using implicit to, or will be configurable using implicit to to specify how that should behave your five slides ahead of me again yes, you can do that right so I promised an explanation of how I handle errors so how am I doing for time I've got 20 minutes left okay this might get faster and I might skip it so we want to have some people want very quick results they want to get a jason value back that that will give you a value for example in the REPL that you can access straight away or have an exception thrown if it fails because in the REPL that's a very convenient way of doing things so everything I've shown you so far works like that now I invented this idea called modes of getting results from methods which might fail so parsing is a fallible method it could fail extracting a particular value type might fail I've already said it might return a type mismatcher it might return a missing value exception but by default they'll be thrown rather than handled in any nice way if you import this if you import modes.return.try then exactly the same thing we did before the return type will change this probably seems very magic and it is a bit magic but it's not macros this time what this does is it uses a mode type class which allows it to wrap the result in a nicer way of handling it so in this case we've returned a try of the candidate and when we call as that is the point at which this will fail and therefore that is the point at which we are returning a try alternatively this was kind of a discovery rather than by design you can have a mode that will return a future so every operation you call for example this slurp method here will get dispatched to a thread pool an execution context based on whatever your implicit execution context is and this will be handled on a different thread and there are other modes as well so in 25 minutes or so Brendon will be talking about ScalaZ and he will talk about validations and other other special return types for handling errors in ScalaZ you can use they are all completely pluggable into Rapture's modes and modes used extensively in all the methods anything that might fail will be affected by the implicit mode that is in scope at any one time so I haven't given you a lot of detail on how they work it is quite complicated but not macros so I'm showing you rather than explaining it so you'll have to imagine how I made this work but it's pretty useful if you have different contexts and you want to use the same API from my point of view I didn't have to implement this API for a dozen different possible return types so you can compose modes the mode is an implicit value what you can do is say implicit my mode equals modes.return either compose modes.return future and that will put one within the other and you can try it and see what you get right so we actually had several back to our Jason we had several candidates so what we can do is we can try and extract them as a list now we can extract a list of candidates if we can extract a candidate I've demonstrated we can extract a candidate therefore this will return a list of candidates here so was Paul Phillips talk here last year the one where he completely slated the collections library or was it the other one it was the collections library yeah okay well this intracts really nicely with the Scala collections library because you can extract any type you like so stack is one of the more obscure types in the collection library but you can completely extract this that's fine you get a stack or even something mutable like an asset that all just works fine and we can even define another case class so this is the question about composition of case classes provided candidates is extractable well it's an index sequence of candidates and a year well that's trivially extractable we can therefore extract an election so given this one line here plus the definition of an election and the definition of a candidate we can actually extract this entire statically typed result from our dynamic JSON so there is a single point of failure which is where we extract this and we are extracting this in one go transforming the entirety of our dynamically typed JSON into statically typed Scala objects and obviously depending on whether you had a mode like return try present this would be wrapped in a try so it might be a success or a failure and then you could handle the failure types appropriately so I think this is pretty neat that we have such a concise way of extracting extracting data from JSON oh yeah question in front ah no no so the extractors for case classes are generated automatically is that what you meant oh there is a macro we will examine the case class definitions and check that it is possible to extract all of the parameters and if it is then it will construct at the point of the macro invocation a new extractor type class instance that will allow it to allow this to work and that happens recursively so you can have nested nested structure there yeah Eric so it will I think it will it won't cache them it probably ought to it would be nice if it did let's talk about that later it sounds like a property we've already solved for something else possibly we can also create JSON so this is another string context we put our JSON straight into the string there and this is the result we get that's pretty simple we can also substitute values in so this will convert this into the appropriate JSON type which gets substituted in place we can add single values to a map we just use this syntax here which probably looks a little bit weird this is kind of a bit like a lens into the the vote so we are specifying the path into the into the JSON type this is meant to be equivalent to how you would add a value to a map you would maybe have a string key here and then you'd have the value there with JSON you don't have a simple key it's actually a path into the structure so this is specifying the year value there that we're adding to the original now this is maybe weird this is pattern matching on JSON who thinks this looks weird yeah it should look weird I don't know anyone else who's using this particular feature of Scala apart from quasi but you can pattern match on some JSON so what this is saying is our vote this is JSON type we're going to try and match that against some structure so we're saying first of all is it an object is it an object that has a vote key does that vote key represent another object which itself has a name and if all those things are true then we will extract the value at that vote.name value into the identifier C which will come out as something typed as JSON so C is JSON therefore we can call dot as string in the same way as we did before to move again from the dynamic world of JSON to the static world of Scala we have to do this and we get a string out and we can have multiple things matched at the same time we only have to specify here the the structure that we're matching on any any extra keys and by default won't be matched yeah a compile time it will check that this is valid JSON so if you missed off a quote or a brace somewhere it will tell you a compile time yeah not really I've thought about ways of doing this I think Scala would need to change a little bit first you could have an additional extractor in there like you could define a nested extractor that translates JSON into some specific type but you would need an instance of every single possible JSON type in order to write it there you can't specify the type in square brackets as I think you would like to do inline in the code there unfortunately you could put an if there that checks whether it works okay so someone asked me about have I re-implemented my own JSON parser now I thought that probably Scala has enough JSON parsers already does anyone disagree and also I'm probably not the best person to be implementing a parser I'm not really a performance guy so as Eric identified so what I do is I wrap other people's parsers so one possible parser you can use is the standard library Scala JSON parser is this anyone's favourite Scala so a JSON parser good that's the right answer it is deprecated in Scala 210 or deprecated in 211 and I think it's maybe removed in 211 and deprecated in 210 it is horrendously slow and you don't want to use it the only reason you might want to do this is to avoid any third party dependencies but by importing this it's like a configuration parameter you can choose how your AST will be represented how your parser will work that's one possibility you can use Jackson can we have a little cheer if I mention your favourite JSON parser so Jackson okay how about press oh that's possibly a bit more spray okay we've got a diverse crowd here lift well done well done for persevering all of these are supported by by Raptor Jason Argonaut oh a clap and I never get any cheers for this one yes so is there anyone other than Eric using Jorn you should Jorn is sometimes faster than Jackson so I've been telling everybody I've done this presentation 20 times in Europe every time I say Jorn is faster than Jackson but that is true I haven't been lying actually Eric could you come up to the front a second so I suppose you'd say quite fast would you would you like to wear that oh awesome so this comes about because the way Eric says Jorn is I think exactly the same way as you say my name isn't it which is obviously the most obvious reason to use Jorn rather than anything else so Jorn is a fast so use Jorn rather than anything else if for example you had to use too you had some library code that was using Argonaut and some other code that was using Jorn say this vote has been created in the Argonaut code and we were now in a context where we had Jorn what we can do is we can kind of extract it's not really extracting it's more conversion but we can convert that vote and one type of Jason to another just by calling dot as Jason so that's a really neat way of moving between two different kinds of Jason if you happen to be in the awkward situation where you are maybe two different libraries both of which depend on different Jason libraries and you want them to somehow work together this seems to be something that if you encounter the problem it's incredibly frustrating because what people normally do is they serialize to a string you pass it in the other parser which is just a horrible solution this will actually walk the tree and translate as it goes we can also do mutable Jason at least if we have time I've got ten minutes so we can do mutable Jason who likes mutability yay so it's available if you want to use it in the same way that there's a list buffer that's like a mutable list we have a Jason buffer that's a mutable Jason so we can create an empty one of those there it is just empty parentheses and we can specify that the life value of that is going to be equal to 42 so there it is that has mutated it's a reference to the same object but it now has this life being in here we can even like go deep within deep deep within a nested tree by the way I'm I do keep meaning to change my sample Jason to something less politically or people accuse me of being politically biased it's not deliberate at all I'm not trying to certainly not coming from Europe I'm representing I had a tag my tag says I'm representing Europe today so for me to come over from Europe and start suggesting Republican or Democratic candidates in my sample Jason trying to sway anyone's politics at all I'm in no position to do that and you're quite capable of doing it yourselves so nevertheless Hillary Clinton is my example of another candidate for another election and we can we can add that case class value there and it will serialise the case class to Jason so that is an object in itself any type on the right hand side will be fine as long as it is itself serialisable it's sort of the inverse of extractable and generally speaking anything that's extractable can be serialised back again one thing I'll say about this is that it's although it's we probably don't want to use usability it's actually quite a convenient way of having an inefficient but really lightweight object database that will store case classes that will store primitives that will store collections you basically specify the value that you want to change what you want it to be and it will mutate it in place, in memory when we've done that our JB value we can write that to a file now this is back in the Raptor IO world again JB is a resource it's a Jason buffer how is it a resource by virtue of being readable so a Jason buffer can be read a file can be written to so if you've got something that's readable and something that's writable we can write from one to the other that's all we do so we've then committed that Jason buffer to disk in a single line and we get a summary here which tells us how many bytes were written because I could return a unit but that's not very meaningful so we get a write summary back so that we can at least get some understanding of what happened when we did the write we can also do a copy to copy to is subtly different in the case of two files there's a faster way of doing that than streaming all the data into memory and streaming it out again we can use the the fact that file systems have a pretty efficient copy method that we can use if we know the source file name and the destination file name this will send a message to the file name it's effectively the Java file copy call and this will work a lot more efficiently than the write to method but in most cases they're the same and if the copy isn't available it will fall back to the slurping and writing in method Tom will it respect the loads no it's not that smart I would like to make it that smart maybe we should talk about that later yeah it's it's a reason things like this are a reasonably lightweight oh so I think it said loads I thought this was some like reactive thing oh thanks so will this work with modes yes so this is a fallible method if you import a future then this would be executed executed on a different thread now it's probably more relevant with the write to because that is a streaming write and it doesn't say streaming there it probably should do this is a streaming write a key point to be aware of is that although it's executed on a different thread it's not magically asynchronous it's still a synchronous code it's just not on the main thread so you get a future back instantaneously and one point in that future will be fulfilled when the synchronous code executes on the other thread so we can't magically change how the code runs but we can at least have it work on a different thread to get some some asynchronous was there a question there don't know I haven't got a good answer to that I'm sure there's something I can do oh as in if you're do you mean oh so if you're it's a matter of having a type class that knows how to write to for example whatever kind of resource you want to so I will show you an example I've shown you that one haven't I that's a stream copy Thomas you're about to tell me that I've next couple of minutes I've got some stuff on crypto I'll skip that and I'll tell you about this this is pretty cool in one line we can stream straight from our class path I'm looking at the hash set class straight on to S3 this might be similar to your use case where S3 has some additional connection parameters you define them in an implicit so you have to define your authentication which is the use name and as long as that implicit is available then it's possible to call this so in one line with copying I don't know why the hell you'd want to do this copying straight from your class path to S3 but it's a demonstration of how uniform how uniformly it works and how how consistent it is I hope crypto I will very quickly go over you can look at these slides you get two seconds on each one and just pretend you can see what's happening there it's probably quite I hope these these kind of things are quite intuitive as to what they're doing we've got method called decrypt and so on key.decrypt we're using types extensively we're using implicit for configuration we've got plugable plugable algorithms again it's it's not not that complicated not that exciting really so XML on the other hand is one of the most exciting things on the internet so I heard in 1995 we can so I thought seeing as I'm plugging in different back ends for Jason what would happen if instead of plugging in a Jason parser I plugged in an XML parser and then I just modified the type classes a bit so that it kind of accessed tag names rather than keys and objects so I tried all that and made a few tweets and it just didn't work but it worked well enough that I was able to persevere, modify some things that it's now in a state where you can do most I'll probably say 75% of the things you can do with Rapture Jason so Rapture XML is a very experimental project but it will hopefully give you the same kind of functionality as I've shown you already pattern matching case class extraction collection extraction all of these things but for XML instead of instead of Jason so we can do things like this, we can say XML.Candidates zero one thing we have to do is have empty parentheses there for the age which is a consequence of XML's representation differing slightly from Jason so it's not a perfect match but we get pretty neat syntax probably better than anything that any of the other XML libraries out there do we can also do Beason I've not spent time on this yet but it's a possibility it's very similar to Jason so at some point I will sit down and spend a couple of days hacking out Rapture Beason last slide I've tried to combine everything I can from the presentation so far in this one liner which spreads onto three lines who can tell me what this does by the way you have to guess at what key.encrypt does Eric? so it passes it then part of Jason did everyone hear that? hopefully if you didn't hear it it's reasonably intuitive so I'm quite pleased that in the space of half an hour we've learned enough Rapture Jason and Rapture IO to be able to to read it even if not to write it you would never write this I don't know why you'd want to have this as a single line but it's possible that's the thing that is I think the last slide so thank you for listening


And finally we'll have Day at the Grona Wagon who's in Melbourne and is Director of Research Infrastructure at Monash University, so three terrific speakers today. Okay, so some of what I'm going to say is not going to be a million miles from what you've already heard but that's good, it's always good to be consistent, we'll start I guess a bit about how I got to where I am and because I'm old and have been doing this for a long time I'm not going to tell you every job title I've ever had or every every role I've played I was doing some math during this and I think this is the 14th desk I've had in the time I've worked at Monash so and I really couldn't even tell you every title I've had without thinking about it for a while. Anyway I started off in life with a master's degree in history, you can see from my awesome thesis title there that it was a very practical career-oriented master's degree and about 20 odd years ago I got a three-month filling job as a loans person in one of our branch libraries, eventually got a degree in over diploma in information management and have consequently worked in lots of different bits of Monash University's library and also worked at University of Ballarat for a while. I guess I would reiterate really strongly the point that both Philippa and Kathy have made that projects are a fantastic way of of moving out into different bits of the world and finding out different things you can do and learning new skills. These are five of the projects that I've worked at while still being a Monash employee over the years and in every one of those I started off thinking I'm never going to know what's going on here and there's a whole lot to learn and in every one of them eventually you get the hang of it and you move on with your life and full disclosure for those of you aren't aware I did used to work for the Australian National Data Services as one of its directors but about 18 months ago I got a role in the in Monash University's library where I'm the director of research infrastructure as mentioned before and my role is really about enhancing and developing the way we work with researchers and to try and better enable them to do what they do well and make it easier for them to do what they do well. So I thought it wouldn't be a bad idea to actually try and define what a data librarian is because it's an interesting thing and you know both Kathy and Philippa have alluded to the fact that it's a changing thing. I will subtly hint that we're actually advertising for one at Monash at the moment to work on an ANS funded project so you know go to jobs.monash if you're interested we're certainly looking for people to be involved in that but the role itself isn't even though we've got a job advertised called data librarian it's not a terribly clearly defined role in the broader scheme of things I mean we know what to do with that particular project. But what I've been thinking of this role as being and what I've been thinking of the data librarian as being is a person who uses the traditional skills and strength of the librarian to enable researchers to do more than data management because data management is sort of where we started with this but actually to share their research outputs to publish it those widely to preserve their outputs and librarians bring a whole lot of skills that will help researchers to do that and I'll you know talk about those a bit more as we go on and sometimes we're asked why librarians why should librarians be part of this you know this is a this is an interesting and ongoing struggle I guess in a university a lot of people think of libraries as being you know the place where books go to die and students go to get out of the weather and that's a that's a real challenge for us and you know we have to keep saying to people well why are librarians part of this I think we are actually wanting to be part of this changing world that the librarians I know you know see that there's a different future ahead and we need to do that the library often has really good relationships with the researchers and the faculty with the people who support them and with other parts of the university you know we we cross over a large part of the function of the university and work with lots of different people and those relationships are really important and and you know Kathy in particular spoke with that earlier that those relationship with your technology services people a relationship with your research office with your research office those are really critical to being able to make it more seamless for researchers I think librarians have a really good reputation for trust that you know most researchers who I talk with they may not necessarily think we do the coolest things but they certainly trust us to do what we do and do it well I think we have a lot of transferable knowledge and skills you know a reference interview which you know most of us learned at library school is actually a really important skill no matter what you're talking to researchers about we understand metadata are a lot better than most people do in the university we've been dealing with copyright and IP for a lot longer than most people in the university and libraries have also been a center for activities around to scholarly communication anyway you know we've been pushing the open access thing for quite a few years and we have actually done a lot of thinking about the issues around well how do you communicate research effectively how do you look after that research output effectively so these are some broader level skills and you know I both Kathy and Philip I had lots of really nice lists of more skills than this and and you know these are because I'm a director I get to be high level but the things that I think we need to be able to do effectively to make the data of librarian role work is to enable the researchers to do what they need to do to help them with the basics around the tour the what they need to think about in terms of research data management what are all the elements around research that they often know but they don't always connect so how does ethics how does your ethics application fit in with your ability to publish a research data later on is a really good example of that often ethics tends to wear on the side of caution where people will say okay well we need to protect this for five years or ten years and then delete it all so that no one can ever do something bad with it which is fine in some level but bad and others where you don't get that opportunity to share we need to think about the about how we can help them to find the tools that the researchers can use without necessarily having to be expert in all of those tools but helping them to be aware of the things that we can't we've got the things that we can do be it a metadata store or a registry or your institutional repository whatever it is and being tools that might be offered by other bits of the university and that's where referring comes in and that idea of being able to help to understand what people what the the needs of the researchers are and be able to refer them to other places when you need to be and you know someone described this to me really nicely recently we say well as librarians we've been very used to saying in the past that's a hard question you're asking I think I understand the question and I'm going to need to go away and find more information for you to answer that question you know we accept that we don't always know the ants the answer to a whole reference question straight away because some of them are complicated working with research data and working researchers is the same thing it's about how do we understand the question and understand where we can send people to get an answer to that question or the tools that will allow them to answer it and the other school is one that we've always had as libraries which is about how do we describe this stuff so that other people can find it and how do we organize it so that people can find it and how do we do that in a way that is sustainable for ourselves as it is the really interesting challenge for me so this is an example and you'll be sitting here thinking gosh isn't that a helpful and useful looking diagram and but this is an example of something we did in the library last year and all credit to Catherine Unzworth who used to work at answers at Monash's library now working for ants where we were having conversations with researchers and it became clear to us that most researchers didn't really understand the storage options available to them within the university and that there was no single place to point people to and say if you're going to store your research data in particular circumstances particular conditions this is what you should do there were lots of little answers scattered around the university and so we started conversation and Catherine did a lot of chasing of well what is the actual answer to that question where is the data going to be where are the places the university wants to put it where can we advise people and this is an early attempt at trying to solve that question and as you can tell it's not terribly user-friendly but it was an interesting example of trying to map it what we ended up with was this document this is a one page document as you can see and it combines some of that stuff I've been talking about so it combines here are the things that we do at Monash that that that you might need to know about so it's advertising the services that we offer it advertises where you can get them from it tries to take you to the reference questions in the top of thinking what are you working with what are you going to do with it what do you expect to do with it and so on and it also says there are times when you need to go and talk to an expert and it might be someone from our e-solutions which is our ITS area or it might be someone in the library but we're trying to visualize something that will allow us to do that and we're also acknowledging the fact that we need to put this out on the web because not everyone's ever going to come and ask these questions you need to put the questions where people can discover them so I thought I'd just finish with a couple of comments on where things are going this is from the Association of College and Research Libraries in the US their environmental scan of where where libraries are going over the next few years the link is there if you're interested and this isn't all of the things that all the trends are the headings but these are ones that I thought were a particular interest in the research data space and thinking about the skills that libraries are going to need or the areas that we're going to need to be expert in or understand in order to to advise researchers going forward and to work with researchers going forward I don't have time to go into all these in great depth it's a really interesting document but you know just pulling out the fact that research data services are a big thing digital humanities are big things publication the big things these are the you know this is where our role is is moving and that raises really big and interesting challenges for us as data librarians one is the challenge of learning new things and to moving into new areas in a sustainable way it's a real you know the libraries do lots of stuff there's lots of things going on we're not all going to get millions of new dollars to employ lots of new staff to do these things how do we sustain this this these new services you know projects are great and funding is lovely and funding isn't forever though how do we actually take this forward into into into a service or a way of thinking that works forever and what do we have to give up for that to happen how do we actually decide well these are things that we might have always done and that we value at some level but we can't do anymore and what are those things and where do they free up resources to do new things and as I said before there's a real ongoing challenge in terms of us being taken seriously some academic some researchers think oh library great love to work with them fantastic some of them think library yeah nothing to do with me they're there to support undergraduates by putting somewhere that putting the textbook somewhere so continuing develop our roles continue to be shown that we understand not only this challenges in abstract but the challenges the researchers face and the challenges in the researchers way of doing things I think is a really a really interesting one and you know Kathy and Philip are both talked a lot about the importance of communication importance of talking and listening and you know we're getting out there and that for me is a critical part of what we need to do going forward and that's my address if anyone wants to send anything that we don't discuss here later on but at that point I'll hand back over to you Jerry thanks David another fantastic presentation and and from a slightly different perspective in someone in a senior management role so thanks thanks David and well I'll wrap it up there for today thank you again particularly to presenters three wonderful presentations so thank you to Kathy and Philip and David for your time and for your insights today so thank you all and hope to see you again at another event shortly thank you


All right, how are you guys doing today? My name is Os Tu Castro. I'm an ACFL at the Naval War College here.  Let's jump right to it. All right, guys, the first exercise we'll be doing today will be four sets of 30-second squats followed by 10 calf raises after every set. To do a proper squat, you wanna make sure you stand shoulder-width, feet shoulder-width apart, feet facing forward. When you come down, you wanna bring your upper torso to break 90 degrees with your legs, but for the best result, you wanna come all the way down. You're gonna do 30 seconds of that. After your first set, you will have to follow it up with 10 calf raises after each set. And then you will go back to squats for 30 seconds and then the calf raises right after that. All right, guys, the following exercise we'll be doing 10 lunges followed by 10 four-count jumping jacks. We'll be doing four sets of them, supersetted. So for a proper lunge, you wanna make sure you stand shoulder-width apart, feet facing forward.  You can touch the deck, but don't slam your knee to the deck and then come back up and do that with the following leg. You'll be doing five on each leg. Come down, up. Then after each set, you'll be supersetting it with 10 four-count jumping jacks. It's pretty self-explanatory. One, three, one. That's one, two, three, one. And then we'll be moving on to our next exercise. All right, guys, for our final exercise, we'll be doing four sets, supersetted, of 30-second calf raises followed by 30 seconds of high knees. Now to do a proper calf raise, again, you wanna stand shoulder-width apart, feet facing forward. And it's like you're just getting on your tippy toe. Just come all the way up, come all the way down. You'll be doing that for 30 seconds. After you do the first set, you will then superset it with 30 seconds of high knees. To do a high knee is like you're running, but you're just trying to get your kneecaps all the way to your chest. So you wanna do that for 30 seconds. Or you wanna do all those workouts for four sets, supersetted. All right, now that we've completed our exercises today, thank you guys for tuning in.  My name is OSTU Castro, signing out.


Good afternoon appreciate everybody hanging in there. I'm sometimes known for going long so I got myself on the timer. I Probably hardly anybody in this room knows. I'm an Auburn grad 1995 War Eagle. I this is actually my first official visit back since then I Was pretty impressed.  Especially if you're driving a state truck Not this guy asked me what my hurry was Told him I was going to try and return back to Auburn going to give a talk egg talk. It's okay Just wrote me a ticket. I'm thinking he's an Alabama fan He probably probably wanted some tree poison or something from me Anyhow, I'm glad to be back. I'm gonna talk about sugarcane aphid and sugarcane beetles and I'm not gonna talk much about sugarcane at all These past are pretty major past one. We've had for a long time. It's a native past That's a sugarcane beetle and the sugarcane aphid which is a new past. I want to acknowledge some of the people listed on the bottom of this presentation Some of my colleagues in the Mid-South because they provided a lot of the data in some cases some of the slides already ready Ready made for me. I'm gonna start off with talking about sugarcane beetle in corn. This one's a little simpler to talk about since it's not new Sugarcane beetles native actually to the southeast pretty much Tennessee a little higher in Tennessee down there. You can see the distribution. It's kind of unusual. It's you know It's a scarer. It's a like a June beetle. It's like a Japanese beetle. They're all scarabs Unlike a lot of these beetles these scarabs that were used to dealing with it isn't the white grub that causes the problem It's the adult that causes the problem and they feed underground on the roots of corn and sometimes other plants Real quick on the biology of the sugarcane beetle. It's got one generation per year and that's it It overwinners as an adult in the soil primarily in grassy areas becomes active in the spring in my area That's going to be late April early May down here. It's probably going to be more early April It's not typically in the field at the time of planting when you plant a cornfield It's not necessarily going to be there it can be there particularly if there's some grasses in the field that are attractive to The adults when they're overwintering the eggs are deposited in the soil Takes almost three full months for those eggs to develop into grubs and then the next generation of the overwintering adults They do feed underground they spend most their time underground occasionally They'll get above ground when they're feeding which maybe gives you a little bit of a chance to kill one occasionally But you'll also know when a flight's going on a lot of times or at least a big flight because the adult beetle shows up at lights pretty frequently at night On the left here you can see a close-up of the adult beetle. It's a pretty good size beetle a little over half inch in length One thing to look for on those front legs It's almost got digging type spatula feet We call them phosphoryl it's because they can dig which makes sense if you live underground Also another thing to look at is kind of these striations on the back and that will help you separate it for some other June type beetles that you might see on the right you're seeing just some picture a picture of a corn It's been fed on this picture I took some time ago and you can see that very ragged feeding usually right there at the crown of the root and That's not good Just another picture from Angus catch out from one of his trials right there very typical sometimes they're going a little bit Sometimes they go halfway through sometimes they go all the way through depends on the size of the corn plant in some cases Obviously if they're getting on a bigger stock, it takes more feeding to do as much penetration So one of the things you look for with any soil feeding insect is dead heart That's a indication something wrong by the time you see a plant with dead heart You essentially have a dead plant. It's not necessarily going to die But it's not going to produce an air the end result is a lot of times You'll see and that's one of the things I look for when I'm scouting a field that that center leaf Unfurl and it's dead now early on you'll see it start to develop you see a wilting leaf coming out of the terminal Get your get your spade out get your pocket knife out start digging around a lot of times You're going to see root damage. It may not be sugarcane beetle damage and variably though It's it's almost always going to be underground damage I never go to the field scouting corn without just a little hand trial and you can see the sugarcane beetle stuck up there So this just an example Southern part of West Tennessee Hardiman County big production field Very typical result of sugarcane beetle you go out there and you see some healthy plants You see some plants that look a little bit less than healthy and then you see just dead and dying plants This is the one of the biggest problems with sugarcane beetle. We're not putting a lot of eyes on our field It's busy time in the air people are planting everything We don't have a lot of professional consultants looking at corn by the time you get to this stage It's worse than it looks you have all these dead plants Which don't realize is probably another 20 30% of the stand is damaged and on its way down You get besides just dead plants you get what I call sub lethal symptoms on the top left You see leaning and lodging that's real common Honestly most those plants that are leaning and lodging they're not going to make an ear They're pretty far pretty badly damaged if you get just a little bit of feeding that'll penetrate too far This is a real common Symptomology right here where the the leaves get kind of a streaking a white streaking often along the edges But not always along the edges. I really think that's just nutrient Deficiency and I think what's happening is that that root damage is interfered with the nutrient uptake in parts of that plant Often these affected plants will be small ears or very often if the damage isn't is bad enough They won't produce in here. So We're what are we going to do about this sugarcane beetle? It's a sporadic pest It's difficult to predict some areas. It's more common than the other One of the things we can do is consider at planting insecticides and that's something we routinely recommend and in fact Go try to find some seed corn that doesn't have an insecticide seed treatment on it. Good luck this chart is one that's pretty much pulled out of my insect control guide, but really it's fashioned after the efforts of Kathy Flanders and I think David Bunton in Georgia kind of first started this effort where we did a rating of all the various seed treatment options that are out There against all the various common pests and the the rows in the columns I have highlighted or just to make one simple point the standard rate For corn is usually going to be unless you special-order Poncho 250 or it's going to be cruiser or PPST both of those are thymothoxan this one's cloth anodin But 250 is going to be the standard rates. Those are pretty decent rates. They do okay But as you start looking across this chart, you see they're not perfect Those lower rates are not particularly good on sugarcane beetle Poncho is a little bit better than than thymothoxan and there's some things in there that they're not good at all on Like cutworms or western corn root worms not a big problem for most of us, but one that's out there So we can do better potentially with these seed treatments by either going with higher rates Or supplementing This is just to make a point I made on the previous slide. This is data from angus catch out in mississippi in 2009 just he had a natural infestation of sugarcane beetles in some of his corn plant plots there at v3 And he took a rating and this is something we routinely routinely see cruiser 250 cruiser 500 cruisers Not very good at controlling sugarcane beetles. The poncho or cloth anodin is considerably better, but it's not always great So do you need more than the 250 rates? Well, the first thing I'll tell you even if you're not talking about sugarcane beetles Sometimes you need more than the 250 rates We've seen that year in and year out. This is an example of a data set in tennessee from this past year Now these results aren't quite statistically significant, but all these treatments had poncho 250, but when we added Capture or smart choice or something to it We tended to increase yield and I see this pretty routinely probably the most common response I see is a bump with any kind of seed treatment or infero treatment But they're all about the same But every once in a while you see that a little bit more adds a little bit more And this is just another example from a little farther south in mississippi again angus catch out in mississippi In this case everything had poncho 250 included the untreated starter fertilizer added a little yield Capture added a little yield the both of them added a little bit more So a good statistical example of where a little bit more insect control mattered So how good are the seed treatments for sugarcane beetle? I've already alluded to some of this already I'm not sure who developed this technique. It may have been angus, but I think he borrowed it from somebody But literally we call it the pipe assay technique where we put these pvc pipes over individual plants and we drop beetles in there Of course, these plants have different seed treatments or infero treatments and we evaluate The mortality and plant damage and that's what i'm going to show you next This is an example from again angus in in mississippi way back in 2008 Showing you the number of damage plants per five plants which were infested the thing that should jump out of yet This slide is is again the cruiser was not particularly good There does tend to be a rate response as you move up to from poncho 250 to poncho 500 Not a real clear one. This is an example of one of mine back in 2013. There's your untreated It's very similar. I lost this for some reason. That's just the stats. However cruiser didn't do very well Poncho 500 wasn't great in this test poncho 1250 was clearly better or really any of the seed treatments supplemented with an infero spray of capture Or karate was the best thing in this trial and again, this is sugarcane beetle damage clear indications that The 250 rates particularly thiamethoxam or cruiser are not particularly good at sugarcane beetle But again 250 poncho 250 isn't always going to get it done Great data set i borrowed from denise reginelli from mississippi state He's a county agent there where he did a large field strip trial in the black hills of mississippi where they have commonly sugarcane beetle infestations Everything on this slide had poncho 250 But he increased yields Because of the sugarcane beetle by adding any of these treatments to it whether it was counter lores band Aztec or force And if you still don't believe me that poncho 250 may not be good enough. This is just another example around this is lauderdale county tennessee back in 2013 This field was probably about 400 acres in size if you considered the one across the road and it was pretty much a total loss I couldn't convince the guy to replant it, but i talked to him later and he wished he'd replanted it with something else Bad situation here if you look in that field, what do you see? A bunch of grass growing in there. You know what that is. This was a bermuda grass pasture the year before This is ringing the dinner bell for sugarcane beetles. They love that environment So we do know something so here's my general corn recommendations. This is general for everybody. I said App-planting insecticides are a must whether it's a seed treatment or putting something down in the furrow Whether it's a liquid or spray and with most of our seed treatments We don't expect much cut worm control. So if we have a lot of green vegetation in the field Up within two three weeks of planting We're typically going to recommend a pyrethroid or something like that or pyrethroid for cut worm control The base insecticide seed treatment rates those 250 rates are pretty good, but they're not always good enough So I tell my guys in Tennessee and it may be Even more true here. The 250 is okay But if you have some risk factors, you really need to consider jumping up to the 500 or even the 1250 rates depending on those factors Or supplementing with some kind of in furrow treatment Number one risk factor any new production field take something out of pasture take it out of crp You got to go I would Typically probably try to go with a poncho 250 If I was using 1250 if I was using poncho 250 or cruiser 250, I would definitely supplement with an in furrow spray or a granular That's a very high risk situation Sugarcane beetle history They're sporadic by nature, but we have some areas of the state in Tennessee And I'm sure you do hear that get them more routinely than others If you're one of those areas, uh, I'd be more inclined to go with at least the 500 rate And if you're in a sugarcane beetle area You need to think about poncho cloth. I added and it's clearly better 500 or 1250 rates are better than thymothoxam If you're going to grow a pioneer variety or another variety that the base treatments thymothoxam Then you need to consider supplementing with a in furrow granular or a spray Delayed burn downs another factor. I don't get too excited about just reduced tillage by itself. Uh, I'm really Uh more concerned about the weed control. We want to have a good weed free period before planning My phone's blown up here I think I've covered all the points on this slide. Uh, I'm going to cross over and talk about Uh sugarcane aphids now the second half and I tried to leave a little bit more time for that since it is a new pest I can't see my timer Again a lot of credit To my colleagues probably should have contacted ron. I know he had some experience kind of like me Also, you get a lot of experience with this pest all of a sudden As it turned out it showed up in tennessee really in august early august is when it was first detected It was pretty obvious in hindsight it had been present in some areas of the state prior to that And somebody asked me you say how many acres of sorghum you got in tennessee? And I said well based on my four my phone calls about two million because Really on us they just got our late planted sorghum couldn't have been five ten thousand acres But I must have got a call or three calls on every one of those acres It was it was pretty impressive. It caught people's attention pretty well This is a close-up of the of the critter right there That is actually a predator predator feeding on the aphids, but it's a light or yellow colored aphid Similar to other aphids in size and appearance Now we're calling it the sugarcane aphid to be honest. I'm not a hundred percent sure we got identified correctly All evidence indicates that it is a sugarcane aphid. It's morphologically very similar to the sugarcane aphid Molecular technique indicates it's sugarcane aphid, but something's different about it The sugarcane aphid's been around a long time. It's been around actually in louisiana for I think 10 or 12 years But it's really never gotten on sorghum in any extensive way So something's changed either we've had a host jump from sugarcane To sorghum or we've had a new biotype somehow be introduced. That's my speculation anyhow But this slide is actually david currents from louisiana And I think obviously he must have stole it from these guys So where where's this thing from? Well, this is prior to the last couple of years the distribution of the sugarcane aphid worldwide You can see extensive in south america parts of africa and southern asia Mostly what you see is it's occurring on sugar sugarcane, but there's plenty of reports on sorghum and also rice Very little bit on maize or corn and then it's not it previously wasn't present Except for in the united states except for these little pockets right there So this shows you the current distribution essentially and I think it's mostly up to date of the sugarcane aphid Obviously there's holes in there that could be filled in but this is where it's been verified the lighter color green Is where it was found in 2013 2014 is represented by the dark color green and I got to be honest with you This thing was really a problem down in here and here in 2013 and I said it's going to be a southern thing a louisiana thing Well then in 2014 it started marching And I said that's not going to get here Well, then it got pretty close and then it got about early august and it was right across the river from memphis Scott said he better go for a drive I made it two miles from my office in jackson tennessee I wasn't even out of the city limits and it just so happened at first sorghum field I pulled in there was a hot spot right there In fact, it was the only spot in the field best I could tell but it was wrapped up And so scott had to get busy right in section 18 So what about identifying this critter really there's four common aphids that you might find in sorghum The one that's most likely to occur in large numbers besides the sugar cane aphid is the corn leaf aphid I'll show you a picture in a minute But I don't think you're going to confuse this with the corn leaf aphid because the corn leaf aphid is Is dark green almost blue in color the green bug does occur in sorghum, of course It's a light green with that darker green stripe down it It doesn't tend to occur in these great big masses that tends to occur in lower numbers And the same's true with the yellow sugar cane aphid It tends to occur in low numbers. You don't usually see great big colonies Now if you have a hand lens to me, these two are probably the most likely to be confused But with a hand lens, they're not that hard to tell apart because you can see the little hairs on this one and the little bumps It's really pretty characteristic So there's a side by side comparison of a of an infestation of corn leaf aphids and sugar cane aphids Again, the colors are pretty much a giveaway. These big colonies tend to be yellowish in color They can be more whitish in color. Whereas the corn leaf aphid is going to be green A little bit about the biology Like a lot of aphids this thing has a lot of population growth potential It reproduces asexually. In fact, there's really no sexual form known Gives birth to live young 30 to 60 females or 30 to 60 females that are all females per female It feeds like most aphids on sap or flume of the planet excretes honeydew Uh, it primarily feeds on the underside of leaves. You will see it on the stems. You will see it occasionally on the tops of leaves They're unlike the green bug or the yellow sugar cane aphid. There's no known toxin associated with this feeding There's nothing real acute anyhow You will see some discoloration on the leaves and you'll see plenty of pictures of that Like a lot of aphids also it seems to do well when it's hot and dry or release dry And it also there's some anecdotal evidence that it's worse when sorghum populations are a little bit lower That may be related to being a little drier in those environments And it also tends to be worse on field edges. So all those things may relate a little bit But there's clearly edge effects with this insect not all the time but some of the time So there's some possibility that edge treatments may be in order if you catch infestations early enough A little bit more We really don't know about the overwintering of this insect This is a picture I took in in Tennessee at the agri-center in Memphis It's not really thought to have an overwintering sexual form which means it if that's the case It's going to freeze back to the coast or the warmer environments every year and then come back up We don't really know if that's true and the other thing we do know is now It's much more widely distributed across the south. So there's a lot more potential for it to blow up much more quickly So I think the threat potential is higher than it's ever been and it was pretty high last year It will get on grain sorghum. It'll get on sweet sorghum as I mentioned It'll also get on Johnson grass. In fact, that was the first detects I had of it in Tennessee after I found that first field of infected infested sorghum and it's also difficult to control with insecticides You can see it does have a number of beneficial insects that you're all familiar with lady beetles being very common but a lot of the lady beetle Predators that you've seen on the the hover flies the the or the flower flies the lady beetles They're all over these things. One thing I have not seen with it is the a fungal disease Like we see with cotton aphid leads to any extent and I haven't seen much or any parasitism at all Which is a big difference. Apparently our local parasitoids haven't shifted over to this like they might on Like they do on some of our native species Just a couple pictures you're going to see some sticky honeydew on the leaves where you get these hot spots very characteristic You might see very low populations and then just a hot spot where the aphids blew up You'll see this on the tops of leaves those white things I just wanted to show that because I've had five times a year somebody asked me what those things are And it's the shed skins of an aphid.  You can see the leaves are shiny You can also see lady beetles and late in the season When the bees were getting a little hungry for sugar water They were feeding on the sugar water on the tops of the sorghum leaves So I do see wasp and bees associated with these things If you find that leaf the one above it's loaded with aphids. They've been raining honeydew down on it So what do they do? This is a great great picture from a colleague in lsu The only difference in these two sides of the fields is one was treated for sugarcane aphid and one wasn't So obviously we see some stunning and delay caused by this aphid I got a little video embedded here. This is actually sweet sorghum at the Memphis Agri Center We had several fields in several counties of sweet sorghum that really took it on the chin They essentially lost them and part of it is those guys really aren't plugged into the main ag community So they weren't following some of the updates and they were caught off guard. Hopefully this thing will play Or I think somebody else had the previous luck, didn't they? I guess we won't play it But you can see this on that one point I was going to show on this is they Hit the edge of the field It just so happens the edge of the field was also thinner stands aphids are pretty much gone at this point They've crashed but the the entire edge of this field was essentially yellow bronzy essentially dead Another good example of picture from angus catch out pre-boot injury and grain sorghum in mississippi So these things can do some incredible damage This is just a graph david kerns some of his research at lsu eggs And are looking at yield and bushels per acre versus number of aphids per leaf And if you start getting above the hundred aphid per leaf Number you start seeing some pretty drastic reductions in yield 40 50 60 And and you'll see some more data along those lines. Here's another example of some of his data's his data Where he's looking at yield response versus number of aphids again Dramatic 50 plus percent yield losses in some cases. So this this guy's the real deal if it if it goes unchecked And this is just a visual verification of that. This was one of the first pictures I saw this david kerns was showing this around after 2013 of a field Where an aerial applicator forgot to make the last swath or whatever and that sorghum and that swath didn't fare so well One of the big issues you hear about this besides the yield loss in the stunning and sometimes plant death is it causes harvest issues Honeydew and mold may interfere with the glyphosate uptake when you're trying to desiccate it the hunt the aphids Can clog and the honeydew can clog up combines I mean we've had examples even in tennessee where guys have to make a few passes and then wash off the Combine header to get the sticky off of them. Otherwise their belts get too hot After you desiccate these aphids tend to start moving up because they're trying to find something green to feed on And so that that makes the problem worse and this last bullet's from david kerns Also, but he says you can lose as much as 50 percent of your grain Harvest during this time and that is by the way all aphids looks like almost dust on that combine header Is a picture of some sorghum heads in in tennessee I just threw this slide in here to make me make a point because I'd forget it otherwise The insecticide seed treatments have some value for controlling sugarcane aphids at least early on This is data from mississippi david kerns has some very similar showing you yield and bushels per acre for a Sorghum that had an insecticide seed treatment And I don't know if it was either it was either poncho or cruiser, but I don't know which versus one that did not So right away with this data you have some indication that the neonicotinoid insecticides may have some activity This was one of the first initial test data that I saw came out of louisiana 2013 Documenting this insect was not easy to control transform provided very good control A lot of our standard products that are labeled in sorghum dimethylate Lorsban or chlorpyrphos. That's what newphos is not good at all and truter, which is good on cotton aphids Has consistently been poor on this aphid same with carbine. So we got to be careful not everything Kills this insect and as you'll see later on some things make it worse Data from gust Lorenzo. I'm going to throw a lot of these at you pretty quickly Kind of showing the same thing. This is showing you an aphid rating. This is really on a zero to three scale You'll see this several times somebody came up with this I don't know who it was but a zero means there was no aphids One means there was somewhere between one to one and a hundred per Flag leaf two means 200 to 300 and then three means above 300 So if you get up here, they got a lot of flag leaves got over 300 aphids per leaf What didn't do well cobalt advance the untreated check dimethylate Interestingly, lorsban advance in this test was noticeably better than the cobalt advance. So I don't know if that that Pyrethroid in the cobalt made them worse that much worse or not transform looked pretty good indigo Admire pro and again transform at the higher rate Look at the yield in this trial You've got to keep in mind now sometimes there's other pests involved But I'm going to make the presumption most of this is due to the sugarcane aphid based on the results here untreated check what 50 bushel 140 with admire pro that's a lot of yield loss right there Admire looked good indigo looked good transform looked good pretty much everything that controlled aphids the best did best on yield Another example uh, david button university of georgia and again I'm just really trying to hammer home the point that some things work and some things don't in this case transform Did very well centric did pretty well lorsban did pretty well not as good as the others But pretty well and this is one thing we've seen in some of our data And keep in mind a lot of data is coming out in a hurry is depending on The aphid growth phase the stage of the sorghum Some treatments look good some of the time and then they may look miserable the next time the ones that have been most consistent Transforms been good Centrics been good admire pros been good Unfortunately, none of those are currently labeled on sorghum Dimethoids not been good lords bands not been good pyrethroids are less than good as you can see here I don't know what happened to all my my cell ranges, but that's just showing you statistics again But I just make a point. We're looking at several insecticide some newer products. I'll talk about savante later transform Again, this is kind of a relative aphid number These things look good I mean dimethuate and this test wasn't terrible lorsban wasn't terrible But that's not enough aphid control the way these things reproduce if you leave half the aphids in the field You're not going to make much headway Another example from miss sipping. I think I'll just it's the same story It does make the point here carbine a good aphid product for a lot of aphids is not particularly good on the sugarcane aphid Lorsban and in this trial here was not very good at all I'm going to show you several more yield slides Just again to my pound home some points that this thing is is the real deal This is an example from miss sippy where they got a 67 percent yield loss When they didn't spray sorghum with two applications of transform This was when the sorghum was infested At the panicle emerged. So right when the head emerged 67 percent yield loss This is at the soft dough stage. This is data. Jeff Gore got in the stoneville area Even at the soft dough stage when they infested at that stage they got up to a 21 percent yield loss at that time from sugarcane aphid So what is labeled for aphid control and sorghum? Not much. I've mentioned Dimethiway, I don't think anybody's going to recommend it by itself anyhow It's just not been consistent at all regardless of the rate Problem you have with dimethiway and chlorpyrifos is they have long pre-harvest intervals Which really gives you a problem if you got that that issue at harvest with aphids on the leaves and heads That's 28 day pre-harvest interval. Dimethiway. It's pretty tough on beneficial So a lot of times what we see with products tough on beneficials is even if they knock them back The pest comes back pretty quickly. That's what we're seeing with the pyrethroids for sure we're chlorpyrifos, lorizban, newfos, whatever boar hawk, whichever one you're using sometimes looks good It's tempting. It's tempting at times particularly at the higher rates But i'm not confident enough to really go Recommend it very often if I am going to recommend it It's going to be probably the two pint rate Which means you have a 30 day ph or excuse me a 60 day pre-harvest interval So those products really cause some issues with the pre-harvest interval I'll talk about transform next because it's on the next slide, but It's a little easier to use closer to harvest because it only has a 14 day pre-harvest interval The reasons it's shaded out here is because it's not labeled it's it's labeled now by section 18 Actually, it was labeled then by section 18 2015 I think you can expect that we will also get a Section 18 for transform really anywhere in the south and southeast where this pest occurs The epa was good about approving them last year Several states it looks like we'll submit a section 18 for centric A little bit of debate about whether we should go for centric or admire pro because they appear pretty similar But we're looking for another mode of action We're expecting a full label for savanto savanto is a new mode of action action from bear Unfortunately, we don't have a lot of experience with it The price appears to be very high and it may be out of the market We really don't know how we low we can go on the rate to help compensate for that that high price I really think At the end of the day probably the way we're going to solve the sugar cane aphid problem is with resistance hybrid resistance or Perhaps genetic resistance genetically modified resistance. This is just an example of rating that david currents took from some of their early germplasm sorghum lines at the lsu egg center. I'm not sure what station this was at, but you can see there are differences There's been some differences reported even among the commercial varieties and I could have showed you a data slide there So we know there's some hybrid Resistance out there We just don't know enough about it, but this is probably going to be more sustainable Because one of the things and I didn't have pound this a home that much But what they found in the more southern environments like mississippi louisiana in many cases they need three insecticide applications If you're making three applications of transform at ten bucks a shot With an aerial application you're talking about a forty dollar investment minimum That doesn't make sorghum very sustainable. There's a lot of interest in sorghum this coming year But that that is hurting some of the interest right there So we need to do better than making three insecticide applications and that is excluding midge applications and excluding applications for head worms So what would I suggest in 2015? First of all, I would suggest particularly in the more southern geographies that you use an insecticide seed treatment The the people that seem to have the most experience tell me you can expect 40 45 days suppression of sugarcane beetle infestations That's really important because those pre boot infestations are the most damaging Those are the ones that will just flat sometimes kill the plant and the heads won't emerge If aphids are present in the field because they seem to grow so quickly I've heard my colleague angus catch. I'd say we probably need to be scouting twice a week in those circumstances Not real popular and certainly not what we've been doing with sorghum in most cases If you don't have sorghum midge, don't spray for sorghum midge We can create a problem with these things really quickly by putting out a pyrethroid and unfortunately A lot of states including tennessee people are just in the habit of putting a pyrethroid out there for sorghum midge Which really isn't a very common pest in a lot of circumstances Uh Early planning. I think that's Real potential advantage for us in tennessee. I think as you go further and further south that gets a little less Consistent, but if we're right about the biology that this thing's going to freeze back To the coast areas and move up certainly early planning might help us avoid the pest And that's what we saw last year in tennessee, but again keeping in mind. It had never been in our geography geography before What about action thresholds? When should you treat this is where we really don't know as much as we'd like to Take your pick. I've heard people throw out a hundred aphids per on average per flag leaf I heard angus catch out say 30 infested plants. I'm not really sure how you determine that That's kind of a weird weird way to express a threshold on aphids to me I've heard a lot of people in fact angus was the one and I kind of like this threshold He said aphids on most plants of the field and then you've got several spots where you have obvious Clusters or colonies honey do accumulating in that field and that seems to work pretty well Also, what you don't want to do is let these things get very thick first of all You'll have already taken loss second of all even with a good product You don't knock them back far enough and they blow right back up on top of you I think I have five minutes remaining perfect. I know I went fast. I thought I was going to be long But I'll be happy to take any questions Maybe well, there's a couple of options come to mind and some of them haven't been very thoroughly tested Lord's band will kill midge. So if aphids is in the are in the field That that's an obvious choice. And if there's just a few aphids you might consider even, you know, a pint's plenty I mean to kill the aphids and the midge If there's a lot you might have to go to the higher rate You're not worried about your 60 day pre harvest interval that would probably be the time to me to try But I'd be real quick on the follow-up to make sure I got effective control Not of the midge so much, but of the of the aphid and they didn't blow up on me I Didn't have any midge this year in my trial. So I couldn't tell you what worked I saw some data from the mid-south where people were looking at I'm going blank warhawk the spinosid product getting a little bit of control out of it There was a pretty good Effort by some of my colleagues this year to try to find things that are relatively soft On on the aphids but hard on the midge. So there was a couple of things that were a little bit surprising to me I didn't think Would really give much with midge control and the spinosid product was one of them But I saw some discrepancy in the data If you have to go with the pyrethroid I just think you need to be very aware of that and before you put a pyrethroid out there I probably wouldn't use a pyrethroid if there was an aphid in the field. I probably wouldn't use it There was an aphid in the next county. I probably wouldn't use a pyrethroid So I think you need to be really careful with that one. Of course if you get into the headworm situation You got the same question. Which product do I use? You know pyrethroids haven't been as consistent. Anyhow, do I switch over to a belt? Do I switch over to a prevathime type product that's not going to flare up my aphids? There's quite a bit more money, but you're not increasing your risk of increasing that aphid population Kind of takes the besiege out of the picture for me because besiege is a mix of a pyrethroid Plus the same product that's in prevaton. So it may have those same negative consequences I don't know Ron. What do you think on midge control? What else comes to your mind? Yeah, it's a it's a tough one. So I mean and when you have midge you need to be spraying It's a very serious pest when you get it. I will say in Tennessee It's a very relatively uncommon pest unless you got sorghum late planted sorghum and near vicinity of early planted sorghum That's one thing I would avoid a cultural control right there Don't don't put late planted sorghum next to earlier planted sorghum. That's when you get it the worst Great question. I wish I had a little better answer any any other questions Ron how bad was it in Alabama last year? I got two minutes Yeah, same It's pretty impressive Not not north so much it worked its way up through west Tennessee Yeah, well, I will say in Tennessee I was kind of proud of we don't have any consultants looking at But I was proud of our retailers. They they kind of overreacted But when the word got out and I'll take some credit for that they really covered it pretty quickly which You know, fortunately, wasn't that many fields and really what we were worried about was the late planted sorghum Again another cultural control, but we had the worst fields we had were double crop sorghum behind wheat That may be something to try to avoid Yeah, well, you know, I there's circumstances where aerial application is just as good as ground but All things being considered you always want to try to go with the ground application I'm not a huge volume freak, but when it comes to airplane, I do like to see the volume go a little bit higher You know three is good five's better May consider increasing your rate because there's no question you can get some You can just lose some volatilization There's good data set in mississippi state for years and years guy named david. Oh my gosh I'm going to blank on his name, but he'd show you know heat of the summer you're losing 40 percent of your product A lot of times before it hits the canopy. So you need to consider increasing your rate There's a lot better applic aerial applicator people than I am We don't do much aerial application in Tennessee, but I'm going to go with the old standard recommendation Bump up your rate a little bit bump up your volume a little bit more water almost never hurts it doesn't Always help Any other questions? I got 10 seconds left. If not, I appreciate everybody's attention


Whom shall I kiss? An Earl, a Marquis, or a Duke? Written by Laura A. Barnes. Narrated by Ella Lynch. Chapter 1 Are you positive you want to follow through with your plan, Sydney? What happens if your father discovers your experiment?  Sydney Hartridge explained to her best friend Sophia Tirlington. Sydney understood Fee worried about what she set out to accomplish. Was it proper? Of course not, but then everything in society towards women was too proper. She wished to step outside the boundaries set for her and discover how far she could push the limits of etiquette. Why could gentlemen kiss who they wanted, when they wanted, and never a shameful word was whispered of them? However, if an unmarried lady did the same, society would ostracise her. If a gentleman didn't offer said lady a marriage proposal, then she disappeared to live in the country in disgrace. But if a gentleman made an offer for the lady's hand, then she would enjoy a life in the highest tiers of the aristocracy. Why couldn't a lady kiss who she desired, and make the choice on who held her heart? Not that Sydney looked to wed. She only wanted to conduct her own research on what choices were possible for her or any other debutante. She decided to open her dance card this season to every available gentleman in order to entice them to kiss her. She didn't tell Fee the full extent of her experiment. Fee thought Sydney wanted to know who might coax her into a kiss, but there was more to her analysis than a simple kiss. Sydney also wished to see which gentleman would make an offer for her hand in marriage. She needed to expose the players of the town when she finished her experiment. She had watched too many of her friends destroyed by the scoundrels who graced the ballroom floors over the seasons. It fell to her to correct their wrongs. Fee spotted the devious smile spreading across her friend's face as Sydney scanned the crowded ballroom, searching for her first prey. This idea was crazy. She knew Sid's heart was in the right place, but she was at real risk for ruination. However, Sydney always jumped in feet first and then thought with her head later. She was a passionate soul, something she inherited from both of her parents. Sydney's whole family fought for the underdog and offered their support where needed.