Java technology zone technical podcast series: Season 3 Dan Allen on the Arquillian testing framework Episode date:

Size: px
Start display at page:

Download "Java technology zone technical podcast series: Season 3 Dan Allen on the Arquillian testing framework Episode date:"

Transcription

1 Java technology zone technical podcast series: Season 3 Dan Allen on the Arquillian testing framework Episode date: GLOVER: I'm Andy Glover and this is the Java Technical Series of the developerworks podcast. My guest this time is a long-time friend of mine, Dan Allen, who is a principal software engineer at Red Hat in the area of JBoss Middleware. He's also the author of Seam in Action. He's been a long-time open source evangelist and currently is the community liaison for Seam and Arquillian. And I thought we'd start out, Dan, by saying or asking, well, first of all, what's going on these days in Red Hat and JBoss? And then specifically, what is Arquillian? ALLEN: Sure. Great to be here, Andy. Thanks for inviting me. Yes. So there's a lot of exciting stuff going on at Red Hat and JBoss. As a matter of fact I've told a lot of colleagues recently, just sort of chatting with them, man, this is really exciting and there's so much stuff going on. So there's this energy right now at Red Hat and JBoss. And a lot of that actually came to culmination at the recent JBoss World where they did this keynote demo. And they integrated a whole bunch of technologies from Red Hat Linux itself, all the way to things like Infinispan, you know, Java EE 6 and AS 7. And anyway, the takeaway from that was that wow, JBoss is doing incredible things. GLOVER: Right. ALLEN: And so we're kind of riding on that wave right now and we're pushing each other a lot. So one of the reasons that we think that that's happened is because, you know, we've always really understood the community and that's just been a key part of Red Hat and JBoss. And I think with the recent things that have been going on in Java, I think we're actually seeing quite a bit of a pickup in innovation within JBoss because, you know, people are looking for wanting to get involved. So we have these projects that we're starting up. And Arquillian is one of them, and it's really stuff that people have never seen before. So Arquillian, specifically, is really about writing real tests. Testing has been obviously a huge thing in software development in the last decade. But I think that the story that we always tell is that a lot of that idea of testing, it's about testing as a methodology. But it doesn't necessarily talk about testing as a solution. So really with Arquillian, it's a test framework but you could really call it a platform. And what it does is it manages the life cycle of a container or an environment. It will deploy the test, enrich the test case with services like dependency injection, and then it executes the test inside the environment. So what we like to say to sort of simplify

2 that is that what Arquillian does is it brings the test to the runtime, rather than having you worry about managing the runtime within the test. GLOVER: Okay. ALLEN: And what's interesting about that is that if you step back for a second and you look at the test, imagine that that test is inside the container before you start writing anything. So when you're in the container, you can say, oh, well, there's these services that I have when I write my app and I have this idea of a component model. So I can do declarative services such as dependency injection, that's kind of like the most popular one, the one that really comes out the most. And I said well, I can use that in the test and therefore I'm applying that same productivity enhancement in the testing that I do in my application. I've already adopted from my application. Why not do it for the test? And once you're in the environment, then you're much closer to the thing that you're testing in its natural environment and it will be behaving the way that it'll behave when it actually runs. So this would sort of be the antithesis...sorry, it'll sort of be the antithesis of mocking because the thing that we've seen is that you have this hierarchy of relationships in your objects. And whenever one object reaches out to another, in a test, you have to worry about that relationship. You have to say, okay, is that other object going to be there? Is it going to be ready? How do I wire it in? So you start doing mocking. And you end up doing more effort...putting more effort into mocking out the things that...the delegate components that, you know, your object under tests needs. Then you do worrying about what it is that you're actually testing. And you know? There's always that risk that you could be faking yourself out by providing good behavior in the mocks and you're never really getting the sense of what would happen if it's not giving you good behavior. So there of course is always room for mocks and you use them to the degree which they make sense. But when you get to the point where what you really want to do is see whether these two components actually work together, does the dependency injection actually take place? Or does this interceptor actually get applied when I'm in the real deal? And I've seen developers a lot of time do something like they'll create test web pages, and on that test web page they'll put a button and the button will, you know, invoke something on the server side because they don't believe that it will actually run. So they want to give themselves that assurance that oh, yes, this actually does work.

3 So when they want that level of assurance, this is what they're looking for. So rather than having to go through all of the plumbing and set up of doing...whether you're doing manually testing, like creating a web page or you want to for instance write a test that does some integration and you have to bootstrap, for instance, Spring, or you have to bootstrap Hibernate or some other model, some other environment. Forget about all that, because all of that's already running wherever you're going to take your application. So, write the test under the assumption that that stuff is just going to be there for you and you can just inject it into your test. And I think the real benefit of this is that you're tests tell you real answers. You can be sure that if you wrote an Arquillian test and wrote the test as though the component is inside the container...and by that, I'll stop for a second and say what Arquillian is actually doing is it's taking your test and the component under test and it's putting it into a known deployable, such as a WAR file or an EAR file and it will actually deploy that to the container. And then Arquillian will remotely control the test execution from the original test runner and control it from within the server. So it's running JUnit or Test NGA, which this stuff is based on top of. It's actually running it inside the server using remote calls. And then it will pull those results back. The nice part of course is that this can run... We've seen some of this stuff before in the past. Right? With things like Cactus. GLOVER: I was going to say this sounds like Cactus. ALLEN: But the main issue there was that there were two very crucial things that Arquillian does that's different. Number one, this stuff works perfectly in an IDE. There's no need for a build. And that's primarily because of Shrinkwrap. Shrinkwrap is an API that builds WARs and EARs, but it builds them in Java. So inside your test case you're actually building up a WAR file using Java. And then it deploys that WAR file without having to do any sort of Maven build, Ant build, any of that. None of that happens. This is all happening after the test runner starts. So really, it's handing off all of this responsibility to Arquillian. So that means you can just right click in your IDE. Say, run as JUnit test or Test NGA test and it's going to run an integration test. So you get that benefit. The second benefit is if you look at an Arquillian test, the container that you're using, the runtime is not referenced anywhere

4 in the test. So what that means is that this same test would work on any container that provides the stuff that you're using in the test. For instance, if you're using CDI, standard dependency injection model in Java EE 6, then obviously the container has to support that. If you're using JPA, if you're using Spring, you know, those models have to be supported by the target environment. But that's obvious. Right? I mean obviously you can't test what isn't there. So, but that's it. There's no reference to a container. There's no life cycle. There's no before, after, any of that stuff is not there. You just write as if all of that's already happened. All the plumbing has taken place for you. And this allows you to really focus on the test logic itself, much like a unit test does except the difference is that unlike a unit test you actually get access to stuff that's in a platform, that's in a runtime. Whereas JUnit's really just giving you access to things on the classpath. GLOVER: Okay. Okay. So I imagine then... So like you were saying, this is an integration, you know. I guess it could even be somewhat of a functional test tool, maybe. ALLEN: Right. Well, that's the nice part about Arquillian. It ranges. I like to say it ranges from all the way down to a two-component integration test...and actually, you could argue that it could also replace unit tests altogether. All the way up to...there are extensions that allow Selenium to be kicked off. So you can write your Selenium test in Arquillian. And then Arquillian handles all of the details of setting up the infrastructure of Selenium; all the remote proxy, actually kicking off the browser, running Selenium, getting the results back and printing it to the console. And that's through an extension called Arquillian Drone. And the reason it's not called Arquillian Selenium is because Drone has actually abstracted away from multiple compatible browser testing tools, which includes WebDriver, Selenium, Core, Original and HTML Unit, HTP Unit and various other, you know, web client testing tools. So Drone just controls whichever provider you want to use. GLOVER: I see. I see. And because all this is built off of or on top of, you know, JUnit and Test NG, then I can still leverage something like Ant or Maven to kick off, you know, an Arquillian test suite. Right? ALLEN: Absolutely. It executes inside your build without having to change anything other than adding a couple more JAR files. And the way it determines which container it's going to be connecting to or starting up will be based on the JAR files. And the interesting thing about the containers is that they're a very wide range of containers, a lot of variety. Right? When we use the word container, that's actually probably too specific of a word. We

5 probably need a more abstract word there because a container could be something like JBoss Application Server or GlassFish. Or it could be an embedded runtime, such as Spring, like a CDI embedded runtime, EGB embedded runtime, a JPA standalone runtime. So the runtime itself is what we're calling the container. So runtime's probably more accurate of a term. And when you do a container, a full-blown container like JBoss AS, you may decide you want to use an existing server that's already running. You may want Arquillian to start the server for you but in a managed way so that it just kicks off the startup script. Or you want to use that server in an embedded mode where you actually use the same JVM. So you have a lot of options as to which container you want to target. If you're writing your test suite, you may say I'm doing all my tests on JBoss AS, nothing else. I don't worry about it. It simplifies life for you, somewhat. Or you could say I need the same test to work across all Java EE application servers. So I will run my test on each one in sequence. You know? Run all the tests on AS 7, then run them all again on GlassFish, then run them all again on WebSphere. So you have the ability to actually see whether the code that you're writing is portable, which is an extremely powerful thing given how much people have been bitten by portability in the past. GLOVER: And so going back to this whole notion of, you know, containers and whatnot, so I'm just curious here. You were saying that, you know, from a configuration standpoint... I guess let me take another step back, because you're sitting on top of JUnit and Test NG, then I, you know, to paint a picture for those of us listening that, you know, aren't watching you code, this is annotation-based testing, right? ALLEN: Yes. To some degree it's annotation-based testing. You use a special annotation, which JUnit provides. Test NGA also provides a similar thing, but the one that JUnit provides speaks a little bit better to what it does. The annotation is called RunWith. And that annotation hands off the orchestration of the test to a delegate. And the delegate that it's handing it off to is Arquillian. So Arquillian will take over and it will start running the test itself. And it will kick off all of the life cycle events that are standard. The other thing that's kind of interesting is that Arquillian adds a whole new set of life cycle events that you can tap into. So it's a completely event-based system. So at any stage during the life cycle, the plumbing that Arquillian is working on, your test can actually tap into that.

6 So this is going to give you a lot of flexibility. And then the primary annotation that comes up once you use the RunWith annotation is, well, there's the deployment annotation and that determines, you know, what is actually going to be in this isolated classpath of your test. And I'll talk about that in a second. And then the other annotation you'll use is some sort of dependency injection annotation because you need to get access to some service or component inside the container. So for instance you might do...you might inject your service beam so that you can invoke it. You might inject like a persistence context so you can play around with JPA. You might inject like a user transaction so you can mess around with the transactions within the test. But since you're inside the container you have access to all these services and you can actually do that in your test. GLOVER: And then going back to kind of the more basic aspect, you were saying that you could test against JBoss or any other container. You don't have to actually configure that in your test? The annotations? ALLEN: Nope. GLOVER: Arquillian just figures it out based on, you know, what libraries you have in your classpath. ALLEN: What libraries are in your classpath and actually, it's cool, Arquillian, in the most recent version -- so this is just before 1.0 is being released, so it will be in the 1.0 release -- that you basically have the ability now... Okay. I'll stage the problem for you and then you'll appreciate what the change was. So let's say I put the JARs in the classpath for JBoss AS or JBoss AS, let's say, the remote adapter. What happens if I have three different remote JBoss ASes that I want to test? Or maybe I have a dev, a QA, you know, and some staging and I want to be able to run my test on any of those. The JARs alone are not telling the whole story. So what we've come up with is this idea of container profiles. And a container profile is a set of ports -- a configuration -- but a set of ports, host names, things like that, actual addresses. GLOVER: Right. ALLEN: So you can say I'm doing JBoss AS Remote. And then there's this configuration file which says here's the profile of that application server I want to use. So then you can toggle between QA, staging and development, just by changing which profile is active. And Arquillian has a little flag that lets you set which one of those you want to do. So it's kind of a cross section between the JARs that are on the classpath and which profile that you're targeting. But

7 this is actually, it really opened up a lot of possibilities because once you realize that you're not... We thought originally, because we were thinking so much about portability, like testing different CDI implementations or testing different Java E implementations to make sure they were compatible, we were focused so much on the different vendors. But then we realized that likely in a shop you're going to be on one vendor but with different profiles. So we're now able to support both axes on that. So that's pretty interesting. GLOVER: So you mentioned the term CDI and I was hoping you could kind of expand upon, you know, for those of us listening, what is CDI? ALLEN: Yes. It's a good question. So if you've ever used Java EE in the past, let's say up to Java EE 5, you would be pretty well aware of the fact that there's no dependency injection model in the platform. There are types of injections and they're specifically called resource injections. For instance, if you want to get access to something in the JNDI Tree or you want to get access to a persistence manager, then okay, you had some dependency injection. But there wasn't a way to just say I have this class and I have this second class and I want to be able to wire them together. And where we would turn is Spring or we would turn to JSF sort of had a primitive dependency injection model, or really more like a component wiring model. And you'd have to go to some other framework. Seam 2 also offered this. And there was nothing in the platform. So CDI stands for Context and Dependency Injection. And it's otherwise known as JSR 299. We go with CDI now because there's actually CDI 1.1, which is a new specification, which is another JSR number. So the model itself we refer to as CDI. And it is a dependency injection model that is based on the type system. So you use annotations to do the dependency injection. And that's where annotation comes into play. And to determine which beam to inject, it first looks at the type. It doesn't look at the name of the field. It doesn't look at an XML file that you have to configure. It looks at the type and it assumes well, if you want to inject that type, there must be only one candidate in your classpath that also is of that type. And it's a concrete type, not an abstract, not an interface. It's a concrete type. What happens if you have two types that are compatible? Then you use another annotation called a qualifier. And a qualifier is a semantic annotation that says -- a semantic construct -- that

8 says I would like that class that provides that specific behavior. So for instance you could have something like a vendor specific. So you could have, let's say you have a URL shortener. You want to have the Google URL shortener or you want to use the tiny URL shortener. You can use a qualifier to say which one of those implementations you want. Then it, you know, it obviously provides you that. GLOVER: Is that qualifier a package name? Or? ALLEN: It is actually an annotation. GLOVER: Oh. Okay. ALLEN: That you can define. So what's interesting is that the annotation, I like to say, supplements the type. So if you look at the type of a beam, it's not just the Java class. It's not just its Java types, but it's the Java types plus any qualifiers it has. So you can get more specific. So what's neat about this, why that matters, is that you can do all of the dependency injection in pure Java but without having tight coupling because you don't ever reference the implementation class. Instead you reference this qualifier data. So the implementation class could be changed over time, but the qualifier would stay the same. So you never have to go off to do XML. And we like to say that it leaves a single source of truth, then, in the dependency injection model. So this is CDI. This is what you see in Java EE 6. If you sit down to write a Java EE 6 application chances are you're going to start working with CDI almost immediately. GLOVER: Okay. ALLEN: Because you're going to immediately start writing business logic and that business logic is going to be broken down into several components and they need to be wired together. So that's where it will come in. Now how this ties to Arquillian. Arquillian is actually a second-generation testing framework. The first generation is the actual test suite for CDI. The JSR 299 specification, every specification has to have a test suite which allows vendors to achieve compliance. There are two interesting things about this test suite. Number one is it was completely new. There is no good test suite to write tests for the specs. The one that you get from the JCP, from Oracle, is first of all, it's got license problems. Right? I mean, you immediately have to get wrapped into this whole license agreement to even use that test suite. And the second thing is it really isn't that good. So we created something completely new. [LAUGHTER]

9 And it was based around the idea that every test would be part of a deployment. And every deployment would go off to the server and the test would be run inside the server. So this idea of doing the life cycle of the container in the deployment came from that test suite. And there was a good reason for having to do that because CDI itself, the only way to verify that actually worked was to verify that it was behaving correctly within the module system of Java EE because of visibility of classes and, you know, cross module visibility and things like that. If you weren't testing in that environment, you weren't testing. Which is why we always say this is about writing real tests. GLOVER: Okay. ALLEN: The other interesting that about that test suite is that it was put under the Apache Software License, which was revolutionary in the JCP. And as a matter of fact it caused a lot of problems, to be honest. Good problems. The type of problems that Red Hat likes to cause because we like to keep software open. And there was this mentality that test suites should be something that's hidden; it should be something that is revealing too much information about some implantation. And we believe as software developers first and Red Hat community members and employees second that testing must be transparent. It's the most important thing of the software. How else can you guarantee to customers that this stuff is stable if you can't show them the test results? [LAUGHTER] So, we believe very strongly in this. And because we put it under the Apache Software License, it enabled us to fork that and start creating a new project which had a broader scope that was able to tackle not only CDI testing, but actually being able to test any component model in Java. And that would include and extend to things like EJB, JPA, JAX-RS, JMS, you name it, we can test it because as we abstracted all of the hard coded reference to CDI out and just had this idea of test enrichers. And the test enrichers would be like intelligence that you assign to the test of awareness of the environment that it's running in. So for instance, if you want to look up an EJB for instance, you would have this idea of an enricher that would know how to look up an EJB. If you wanted to be able to get access to a queue, you would have an enricher that would know how to find a queue. Things like that. So the idea of CDI being provided to the test was just an SPI implantation, it's just an enricher. That's just one use case for Arquillian. But Arquillian is the official testing framework for CDI

10 testing. So if you're like well, I want to use CDI. How do I test it? Arquillian. GLOVER: Arquillian's the way to go. ALLEN: It is. Absolutely. GLOVER: So then where do we find more information about Arquillian? ALLEN: So the best thing to do would be to go to jboss.org/arquillian. And Arquillian is, well, it's A-R-Q-U-I-L-L-I-A-N. Or if you can't remember that, just search for Men in Black and you'll find the reference to the Arquillian species. And that's where we got the name from. GLOVER: I see. I see. And then on the Arquillian website there's obviously examples and whatnot, tutorials, et cetera, that we can start to read and understand exactly how to do CDI-based testing. ALLEN: Exactly. There are tutorials. There's a reference manual. But there's something else that's interesting. When we're going around to do these talks -- and I speak often about Arquillian -- we have a testing showcase. GLOVER: Yes. ALLEN: And that showcase is in GitHubs. All the source code for Arquillian and, really, just about every JBoss project now is in GitHub. So it's github.com/arquillian. In that organization on GitHub is a showcase project. And the showcase project will show you sample tests of how you would test all these different technologies and has everything from CDI to JPA, EJB, JAX-RS, a Selenium-based test and so on and so forth. So it gives you a good idea of the different types of testing that you can do with Arquillian. GLOVER: Okay. And then so, and just to repeat, because you did mention this, Arquillian is on GitHub and it's a top-level organization, so it's just github/arquillian. ALLEN: You got it. GLOVER: Awesome. And then Dan, what about you? You're a prolific writer, a speaker, worldwide traveler. Dan and I were...you and I were laughing as we got online. The last time I saw you...for the listeners that don't know this, he and I actually live somewhat close to each other. But I haven't seen him in a number of years. And the last time you and I met in person was actually in Belgium at what was it? Devoxx. Right? A number of years ago. ALLEN: Yup.

11 GLOVER: So that gives, you know, listeners just a hint on how busy Dan is. So you know? How can we keep up with you, Dan? ALLEN: Well, I'm traveling all around the place. I've been around the United States and Europe speaking. And I keep my...really, the best way to keep up with me now, there's this new website, if you haven't heard of it, lanyrd.com. And lanyard like the things you wear around your neck when you go to a conference. And it's becoming the absolute premier directory for events, not just in software, but just across the board. GLOVER: Right. ALLEN: But the cool part about it is it integrated with Twitter and you're social network. So if you find my handle or whatever on there -- which is the same as my Twitter -- you see all the talks that I have coming up. And then if you go to your own account you can see all of the talks of people that you're following and where they'll be speaking. So if you're following me on Twitter, Lanyrd automatically makes that connection so you can actually find what talks I'll be doing through there. And I always put my talks on Lanyrd just because I've tried a million different ways of communicating where I'm going to be, including blog entries, and nothing beats Lanyrd because it's just a centralized directory and you can get a list of where I'm going to be. You don't have to read my verbose blog entries to find out the times and dates of where I am. So that's the best way to find me. And of course I'll still write up blog entries about why I'm there. But if you want to know just when and where, that's the best place to do it. GLOVER: Well, then, I would highly recommend for our listeners to, if you get a chance, to meet and her Dan talk. It's well worth your time. As you probably picked up on this podcast, Dan is a very passionate developer. He and I worked together a number of years ago and it was immediately obvious that Dan was different in the sense of the level of passion that you have for technology and Java and open source. I know I speak for everyone listening when I say thank you very much for giving us some more information on Arquillian, letting us know what's going on in the wonderful world of Red Hat and JBoss and CDI. And I hope that I get to see you soon. I'm sure our listeners will hopefully stop by and say hi to you at the next conference. ALLEN: Yes. Definitely check it out. I mean I've got this new style of presenting. And Arquillian is probably the premier presentation that I have that I give. And it's really an event. It's really just as

12 much about entertainment as it is about teaching you about Arquillian. So if you come to one of the talks, I guarantee it will be worthwhile for you and we'll have fun together. GLOVER: Awesome. Awesome. Well, my guest again has been Dan Allen. And I'm Andy Glover and this is the Java Technical Series of the developerworks podcast. Thanks for listening. Sweet, dude. What'd you think? ALLEN: Excellent. Very good. [END OF SEGMENT]

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the I'm Andy Glover and this is the Java Technical Series of the developerworks podcasts. My guest is Brian Jakovich. He is the director of Elastic Operations for Stelligent. He and I are going to talk about

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

Welcome to another episode of Getting the Most. Out of IBM U2. I'm Kenny Brunel, and I'm your host for

Welcome to another episode of Getting the Most. Out of IBM U2. I'm Kenny Brunel, and I'm your host for Welcome to another episode of Getting the Most Out of IBM U2. I'm Kenny Brunel, and I'm your host for today's episode, and today we're going to talk about IBM U2's latest technology, U2.NET. First of all,

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

Welcome to this IBM Rational Podcast. I'm. Angelique Matheny. Joining me for this podcast, Delivering

Welcome to this IBM Rational Podcast. I'm. Angelique Matheny. Joining me for this podcast, Delivering Welcome to this IBM Rational Podcast. I'm Angelique Matheny. Joining me for this podcast, Delivering Next Generation Converged Applications with Speed and Quality, is Derek Baron, Worldwide Rational Communications

More information

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and Hello, and welcome to another episode of Getting the Most Out of IBM U2. This is Kenny Brunel, and I'm your host for today's episode which introduces wintegrate version 6.1. First of all, I've got a guest

More information

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date:

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date: This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date: 02-15-2012 [ MUSIC ] LANINGHAM: Welcome to this week on developerworks. I'm Scott Laningham in

More information

Out for Shopping-Understanding Linear Data Structures English

Out for Shopping-Understanding Linear Data Structures English Out for Shopping-Understanding Linear Data Structures English [MUSIC PLAYING] [MUSIC PLAYING] TANZEELA ALI: Hi, it's Tanzeela Ali. I'm a software engineer, and also a teacher at Superior University, which

More information

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

Instructor (Mehran Sahami):

Instructor (Mehran Sahami): Programming Methodology-Lecture26 Instructor (Mehran Sahami): All right. Welcome back to what kind of day is it going to be in 106a? Anyone want to fun-filled and exciting. It always is. Thanks for playing

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

The following content is provided under a Creative Commons license. Your support

The following content is provided under a Creative Commons license. Your support MITOCW Lecture 9 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To make a donation

More information

MITOCW ocw apr k

MITOCW ocw apr k MITOCW ocw-6.033-32123-06apr2005-220k Good afternoon. So we're going to continue our discussion about atomicity and how to achieve atomicity. And today the focus is going to be on implementing this idea

More information

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript

Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript ManojKumar: Welcome everyone again. We are here to see about a primer on Selenium WebDriver JavaScript and Protractor

More information

Slide 1 CS 170 Java Programming 1 Testing Karel

Slide 1 CS 170 Java Programming 1 Testing Karel CS 170 Java Programming 1 Testing Karel Introducing Unit Tests to Karel's World Slide 1 CS 170 Java Programming 1 Testing Karel Hi Everybody. This is the CS 170, Java Programming 1 lecture, Testing Karel.

More information

Version Copyright Feel free to distribute this guide at no charge...

Version Copyright Feel free to distribute this guide at no charge... Version 2.0 Feel free to distribute this guide at no charge... You cannot edit or modify this guide in anyway. It must be left exactly the way it is. This guide is only accurate from the last time it was

More information

Post Experiment Interview Questions

Post Experiment Interview Questions Post Experiment Interview Questions Questions about the Maximum Problem 1. What is this problem statement asking? 2. What is meant by positive integers? 3. What does it mean by the user entering valid

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

MITOCW watch?v=zm5mw5nkzjg

MITOCW watch?v=zm5mw5nkzjg MITOCW watch?v=zm5mw5nkzjg The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

PROFESSOR: Well, yesterday we learned a bit about symbolic manipulation, and we wrote a rather stylized

PROFESSOR: Well, yesterday we learned a bit about symbolic manipulation, and we wrote a rather stylized MITOCW Lecture 4A PROFESSOR: Well, yesterday we learned a bit about symbolic manipulation, and we wrote a rather stylized program to implement a pile of calculus rule from the calculus book. Here on the

More information

PROFESSOR: Well, now that we've given you some power to make independent local state and to model objects,

PROFESSOR: Well, now that we've given you some power to make independent local state and to model objects, MITOCW Lecture 5B PROFESSOR: Well, now that we've given you some power to make independent local state and to model objects, I thought we'd do a bit of programming of a very complicated kind, just to illustrate

More information

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my

More information

Skill 1: Multiplying Polynomials

Skill 1: Multiplying Polynomials CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need

More information

Autodesk University Step Up Your Game AutoCAD P&ID and SQL: Making Data Work for You Skill Level: All Levels

Autodesk University Step Up Your Game AutoCAD P&ID and SQL: Making Data Work for You Skill Level: All Levels Autodesk University Step Up Your Game AutoCAD P&ID and SQL: Making Data Work for You Skill Level: All Levels JULIAN CHAVEZ: Good afternoon, ladies and gentlemen. Last class of the last day and everybody's

More information

Before I show you this month's sites, I need to go over a couple of things, so that we are all on the same page.

Before I show you this month's sites, I need to go over a couple of things, so that we are all on the same page. Before I show you this month's sites, I need to go over a couple of things, so that we are all on the same page. You will be shown how to leave your link on each of the sites, but abusing the sites can

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

Robert Ragan s TOP 3

Robert Ragan s TOP 3 Robert Ragan s TOP 3 Internet Genealogy Research POWER TECHNIQUES that Have Stunned Audiences POWER TECHNIQUES TWO: Robert s Unique "Gather, Store and Quick Find Method." You'll have to see it to believe

More information

MITOCW watch?v=flgjisf3l78

MITOCW watch?v=flgjisf3l78 MITOCW watch?v=flgjisf3l78 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information

Module 6. Campaign Layering

Module 6.  Campaign Layering Module 6 Email Campaign Layering Slide 1 Hello everyone, it is Andy Mackow and in today s training, I am going to teach you a deeper level of writing your email campaign. I and I am calling this Email

More information

In today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.

In today s video I'm going show you how you can set up your own online business using  marketing and affiliate marketing. Hey guys, Diggy here with a summary of part two of the four part free video series. If you haven't watched the first video yet, please do so (https://sixfigureinc.com/intro), before continuing with this

More information

MITOCW MIT6_172_F10_lec18_300k-mp4

MITOCW MIT6_172_F10_lec18_300k-mp4 MITOCW MIT6_172_F10_lec18_300k-mp4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for

More information

Subscribe To The Blog Program in itunes Click Here

Subscribe To The Blog Program in itunes Click Here THE BLOG PROGRAM Podcast Transcript Episode 29 30 Email Marketing Power Tips For Bloggers (Part 3 of 3) To get automatic updates of this show to your mobile device, you can subscribe here: Click here to

More information

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX THE PRAGMATIC INTRO TO REACT Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX REACT "A JavaScript library for building user interfaces" But first... HOW WE GOT HERE OR: A BRIEF

More information

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 [talking head] Formal Methods of Software Engineering means the use of mathematics as an aid to writing programs. Before we can

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

BBC Learning English Face up to Phrasals Mark's Mistake

BBC Learning English Face up to Phrasals Mark's  Mistake BBC Learning English Face up to Phrasals Mark's Email Mistake Episode 1: Email Fun? Mark: Hey Ali, did you check out that email I sent you the one about stupid Peter, saying how stupid he is? Oh dear.

More information

Azon Master Class. By Ryan Stevenson Guidebook #10 Google and YouTube Marketing

Azon Master Class. By Ryan Stevenson   Guidebook #10 Google and YouTube Marketing Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #10 Google and YouTube Marketing Table of Contents 1. Google Analytics 2. Google Webmaster Tools 3. Google Plus 4. YouTube

More information

Text transcript of show #280. August 18, Microsoft Research: Trinity is a Graph Database and a Distributed Parallel Platform for Graph Data

Text transcript of show #280. August 18, Microsoft Research: Trinity is a Graph Database and a Distributed Parallel Platform for Graph Data Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and

More information

MITOCW watch?v=se4p7ivcune

MITOCW watch?v=se4p7ivcune MITOCW watch?v=se4p7ivcune The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Azon Master Class. By Ryan Stevenson   Guidebook #5 WordPress Usage Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress

More information

PROFESSOR: So far in this course we've been talking a lot about data abstraction. And remember the idea is that

PROFESSOR: So far in this course we've been talking a lot about data abstraction. And remember the idea is that MITOCW Lecture 4B [MUSIC-- "JESU, JOY OF MAN'S DESIRING" BY JOHANN SEBASTIAN BACH] PROFESSOR: So far in this course we've been talking a lot about data abstraction. And remember the idea is that we build

More information

MITOCW ocw f99-lec12_300k

MITOCW ocw f99-lec12_300k MITOCW ocw-18.06-f99-lec12_300k This is lecture twelve. OK. We've reached twelve lectures. And this one is more than the others about applications of linear algebra. And I'll confess. When I'm giving you

More information

How to git with proper etiquette

How to git with proper etiquette How to git with proper etiquette Let's start fixing how we use git here in crew so our GitHub looks even more awesome and you all get experience working in a professional-like git environment. How to use

More information

P1_L3 Operating Systems Security Page 1

P1_L3 Operating Systems Security Page 1 P1_L3 Operating Systems Security Page 1 that is done by the operating system. systems. The operating system plays a really critical role in protecting resources in a computer system. Resources such as

More information

How To Make 3-50 Times The Profits From Your Traffic

How To Make 3-50 Times The Profits From Your Traffic 1 How To Make 3-50 Times The Profits From Your Traffic by Chris Munch of Munchweb.com Copyright Munchweb.com. All Right Reserved. This work cannot be copied, re-published, or re-distributed. No re-sell

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

MITOCW watch?v=w_-sx4vr53m

MITOCW watch?v=w_-sx4vr53m MITOCW watch?v=w_-sx4vr53m The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information

Establishing Trust in Disconnected Environments, page 1

Establishing Trust in Disconnected Environments, page 1 Establishing Trust in Disconnected Environments featuring Grace Lewis as Interviewed by Suzanne Miller ---------------------------------------------------------------------------------------------Suzanne

More information

FileWave 10 Webinar Q&A

FileWave 10 Webinar Q&A FileWave 10 Webinar Q&A When will 10 be released? October 14 th, but you can sign up today to get into the beta program. Link: www.filewave.com/beta-program How stable is the beta? Should we use it for

More information

Android Programming Family Fun Day using AppInventor

Android Programming Family Fun Day using AppInventor Android Programming Family Fun Day using AppInventor Table of Contents A step-by-step guide to making a simple app...2 Getting your app running on the emulator...9 Getting your app onto your phone or tablet...10

More information

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Jürgen Höller, Principal Engineer, SpringSource 2012 SpringSource, A division of VMware. All rights reserved Deployment Platforms: Becoming

More information

The Definitive Guide to Fractal Awesomeness with J-WildFire!

The Definitive Guide to Fractal Awesomeness with J-WildFire! Installing Java and J-WildFire - by Martin Flink Copyright 2013 Martin Flink All Rights Reserved. No part of this document may be reproduced in any form without permission in writing from the author. Contact:

More information

MITOCW watch?v=yarwp7tntl4

MITOCW watch?v=yarwp7tntl4 MITOCW watch?v=yarwp7tntl4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality, educational resources for free.

More information

MITOCW watch?v=4dj1oguwtem

MITOCW watch?v=4dj1oguwtem MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive

More information

MITOCW watch?v=r6-lqbquci0

MITOCW watch?v=r6-lqbquci0 MITOCW watch?v=r6-lqbquci0 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Instructor (Mehran Sahami):

Instructor (Mehran Sahami): Programming Methodology-Lecture09 Instructor (Mehran Sahami): Alrighty, welcome back. Wow, that's pretty loud. Welcome back to CS106a. I hope I didn't just shatter your eardrums. And thanks for making

More information

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,

More information

Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin

Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin Types are probably the hardest thing to understand about Blitz Basic. If you're using types for the first time, you've probably got an uneasy

More information

Windows 7 Will Not Load On My Computer Says I'm

Windows 7 Will Not Load On My Computer Says I'm Windows 7 Will Not Load On My Computer Says I'm There are various programs which will allow you to make a copy of your entire apply to my computer even though it does say it works for this issue in Windows

More information

CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability

CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability Featuring Accenture managing directors

More information

VIVIT TQA Webinar: "DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API" May 12th 2010

VIVIT TQA Webinar: DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API May 12th 2010 VIVIT TQA Webinar: "DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API" May 12th 2010 Email us at: olli.laiho at assure.fi or shir.goldberg at assure.fi Q&A Number Question How do you guarantee

More information

JAVA EE 7 ESSENTIALS BY ARUN GUPTA DOWNLOAD EBOOK : JAVA EE 7 ESSENTIALS BY ARUN GUPTA PDF

JAVA EE 7 ESSENTIALS BY ARUN GUPTA DOWNLOAD EBOOK : JAVA EE 7 ESSENTIALS BY ARUN GUPTA PDF JAVA EE 7 ESSENTIALS BY ARUN GUPTA DOWNLOAD EBOOK : JAVA EE 7 ESSENTIALS BY ARUN GUPTA PDF Click link bellow and free register to download ebook: JAVA EE 7 ESSENTIALS BY ARUN GUPTA DOWNLOAD FROM OUR ONLINE

More information

AMP 007: The Mother s Day Marketing Playbook

AMP 007: The Mother s Day Marketing Playbook AMP 007: The Mother s Day Marketing Playbook Show Notes Learn how to resend an email to everyone that didn't open it (using MailChimp) in this post. More on combining Email and Facebook techniques in Episode

More information

WYBCS Android Programming (with AppInventor) Family fun day

WYBCS Android Programming (with AppInventor) Family fun day WYBCS Android Programming (with AppInventor) Family fun day Overview of the day Intros Hello Android! Installing AppInventor Overview of AppInventor Making your first app What's special about mobile? Changing

More information

Well, Hal just told us how you build robust systems. The key idea was-- I'm sure that many of

Well, Hal just told us how you build robust systems. The key idea was-- I'm sure that many of MITOCW Lecture 3B [MUSIC PLAYING] Well, Hal just told us how you build robust systems. The key idea was-- I'm sure that many of you don't really assimilate that yet-- but the key idea is that in order

More information

Mastering Twitter In 10 Minutes or Less

Mastering Twitter In 10 Minutes or Less Mastering Twitter In 10 Minutes or Less Version 1.0 Sponsored By: Dirk Dupon web: http://www.ebookresellerclub.com twitter: http://twitter.com/dirkdupon You Have Free Distribution Rights To This Twitter

More information

Lesson 1. Importing and Organizing Footage using Premiere Pro CS3- CS5

Lesson 1. Importing and Organizing Footage using Premiere Pro CS3- CS5 Lesson 1 Importing and Organizing Footage using Premiere Pro CS3- CS5 When working with a video editor the video source will come from either a capturing process or importing video clips into the editing

More information

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience Persona name Amanda Industry, geographic or other segments B2B Roles Digital Marketing Manager, Marketing Manager, Agency Owner Reports to VP Marketing or Agency Owner Education Bachelors in Marketing,

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

BBBT Podcast Transcript

BBBT Podcast Transcript BBBT Podcast Transcript About the BBBT The Boulder Brain Trust, or BBBT, was founded in 2006 by Claudia Imhoff. Its mission is to leverage business intelligence for industry vendors, for its members, who

More information

This example uses a Web Service that is available at xmethods.net, namely RestFulServices's Currency Convertor.

This example uses a Web Service that is available at xmethods.net, namely RestFulServices's Currency Convertor. Problem: one of the most requested features for a Cisco Unified Contact Center Express (UCCX) script is to have an easy Web Services (WS) client (also known as SOAP client) implementation. Some use various

More information

Note: Please use the actual date you accessed this material in your citation.

Note: Please use the actual date you accessed this material in your citation. MIT OpenCourseWare http://ocw.mit.edu 18.06 Linear Algebra, Spring 2005 Please use the following citation format: Gilbert Strang, 18.06 Linear Algebra, Spring 2005. (Massachusetts Institute of Technology:

More information

Class #7 Guidebook Page Expansion. By Ryan Stevenson

Class #7 Guidebook Page Expansion. By Ryan Stevenson Class #7 Guidebook Page Expansion By Ryan Stevenson Table of Contents 1. Class Purpose 2. Expansion Overview 3. Structure Changes 4. Traffic Funnel 5. Page Updates 6. Advertising Updates 7. Prepare for

More information

Meet our Example Buyer Persona Adele Revella, CEO

Meet our Example Buyer Persona Adele Revella, CEO Meet our Example Buyer Persona Adele Revella, CEO 685 SPRING STREET, NO. 200 FRIDAY HARBOR, WA 98250 W WW.BUYERPERSONA.COM You need to hear your buyer s story Take me back to the day when you first started

More information

Using icloud's Mail rules to delete a message before you see it.

Using icloud's Mail rules to delete a message before you see it. Page 1 of 9 How to block spam calls, You know how to use messaging and emails, and you use them to get things done, but far too many just want to sell you things or annoy you with them. Here's how to get

More information

CFMG Training Modules Classified Ad Strategy Module

CFMG Training Modules Classified Ad Strategy Module CFMG Training Modules Classified Ad Strategy Module In This Module: 1. Introduction 2. Preliminary Set Up Create the Sequential Letterset for our Ad Strategy Set Up Your Vanity Responder Create Your Stealth

More information

MITOCW watch?v=ytpjdnlu9ug

MITOCW watch?v=ytpjdnlu9ug MITOCW watch?v=ytpjdnlu9ug The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality, educational resources for free.

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

WebSphere Portal development teams on Web 2.0 technologies. Hear how IBM has

WebSphere Portal development teams on Web 2.0 technologies. Hear how IBM has What is Web 2.0? Series: Web 2.0 for Lotus, WebSphere Portal and You Listen to Pete Janzen from IBM Lotus interview various experts from the Lotus and WebSphere Portal development teams on Web 2.0 technologies.

More information

The following content is provided under a Creative Commons license. Your support

The following content is provided under a Creative Commons license. Your support MITOCW Lecture 2 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To make a donation

More information

A short introduction to Web Services

A short introduction to Web Services 1 di 5 17/05/2006 15.40 A short introduction to Web Services Prev Chapter Key Concepts Next A short introduction to Web Services Since Web Services are the basis for Grid Services, understanding the Web

More information

CS144 Final Review. Dec 4th, 2009 Tom Wiltzius

CS144 Final Review. Dec 4th, 2009 Tom Wiltzius CS144 Final Review Dec 4th, 2009 Tom Wiltzius Topics Topics In narrative format! Let's follow Packy as he traverses the Internet! Packy comes into being to help Compy the Computer load a web page Compy

More information

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables Instructor: Craig Duckett Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables 1 Assignment 1 is due LECTURE 5, Tuesday, April 10 th, 2018 in StudentTracker by MIDNIGHT MID-TERM

More information

Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator

Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator at Iowa State and this is the topic for this week s

More information

Azon Master Class. By Ryan Stevenson Guidebook #11 Squidoo Marketing

Azon Master Class. By Ryan Stevenson   Guidebook #11 Squidoo Marketing Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #11 Squidoo Marketing Table of Contents 1. Getting Started With Squidoo 2. Lens Research & Targeting 3. Lens Creation Tutorial

More information

The Next Generation. Prabhat Jha Principal Engineer

The Next Generation. Prabhat Jha Principal Engineer The Next Generation Prabhat Jha Principal Engineer What do you wish you had in an Open Source JEE Application Server? Faster Startup Time? Lighter Memory Footprint? Easier Administration? 7 Reasons To

More information

What's the Slope of a Line?

What's the Slope of a Line? What's the Slope of a Line? These lines look pretty different, don't they? Lines are used to keep track of lots of info -- like how much money a company makes. Just off the top of your head, which of the

More information

Show notes for today's conversation are available at the podcast website.

Show notes for today's conversation are available at the podcast website. Title: Managing Security Vulnerabilities Based on What Matters Most Transcript Part 1: The Challenges in Defining a Security Vulnerability Julia Allen: Welcome to CERT's Podcast Series: Security for Business

More information

SELECTION SOURCES. Amazon One of my favorite affiliate programs. Simply because its got a HUGE database of product

SELECTION SOURCES. Amazon One of my favorite affiliate programs. Simply because its got a HUGE database of product 1 SELECTION SOURCES As mentioned before, you need to have an open mind to figure out the PNKs. Trust me on this, PNKs are everywhere. Below I've listed down a few places to get your mind racing: Clickbank

More information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

BCSWomen Android programming (with AppInventor) Family fun day World record attempt

BCSWomen Android programming (with AppInventor) Family fun day World record attempt BCSWomen Android programming (with AppInventor) Family fun day World record attempt Overview of the day Intros Hello Android! Getting your app on your phone Getting into groups Ideas for apps Overview

More information

Managing Application Configuration Data with CIM

Managing Application Configuration Data with CIM Managing Application Configuration Data with CIM Viktor Mihajlovski IBM Linux Technology Center, Systems Management Introduction The configuration of software, regardless whether

More information

Java Programming Constructs Java Programming 2 Lesson 1

Java Programming Constructs Java Programming 2 Lesson 1 Java Programming Constructs Java Programming 2 Lesson 1 Course Objectives Welcome to OST's Java 2 course! In this course, you'll learn more in-depth concepts and syntax of the Java Programming language.

More information