Initial commit: HPR Knowledge Base MCP Server

- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Lee Hanken
2025-10-26 10:54:13 +00:00
commit 7c8efd2228
4494 changed files with 1705541 additions and 0 deletions

527
hpr_transcripts/hpr0440.txt Normal file
View File

@@ -0,0 +1,527 @@
Episode: 440
Title: HPR0440: Developing Through Virtualbox
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0440/hpr0440.mp3
Transcribed: 2025-10-07 20:37:06
---
The following presentation was recorded by View Digital Media at the inaugural South East
Linux Fest in Clemson, South Carolina on June 13, 2009.
For more information about the South East Linux Fest, visit southeastlinuxfest.org.
Hi everyone, I work for Sun and I, my day job is primarily evangelizing Open Slayerist,
but this talk is more of a focus on virtual box.
So many of you are familiar with virtual box in here, most all of you, so we can just
wrap up now.
I will introduce virtual box, I know you had some questions, but I'm just curious to hear,
what do you use it for?
How are you using it today?
Why are you using virtual box?
Anyone want to shout out reasons?
To run stinking windows, because you need, why do you need to run windows?
Your wife has an iPod, so just to, yeah, and that's why I've heard reasons for stuff
like that.
I don't know if anyone is using it specifically for testing in here, a couple of you.
Okay, yeah, trying out a new distribution, that's really the focus of this talk is, as
a developer, whatever operating system you're using is your development environment, how
can you utilize virtual box to actually test your applications on other OS's?
And so we're getting into some of the power of virtual box, and then I do combine it,
I do, I am running Open Slayerist, if anybody has any questions on that, I'll be happy to
answer them.
I'm running Open Slayerist as my base OS, so you'll see some of that today.
I don't know how many of you are familiar with Open Slayerist in here, there's a couple
of you.
Oh, fair amount.
It should look very familiar to you, if you're familiar with the GNOME desktop, that's
what we use.
And so pretty much what I already said, we're going to, I'm going to talk about how you can
easily develop and test applications using Open Slayerist.
Just a little bit about my background, I am X, X, I mean I grew up as sort of a job
as a developer, and Sun acquired the company I was working for about 12 years ago, and
over the last year I've been working with Open Slayerist, and I started a blog I call
the Observatory, where I sort of document my experience with the OS.
All right, so my first question for you guys is, who can tell me, so how many of your
developers in here, let's start with that question, oh good, okay.
What does it mean, anybody?
I didn't know what's woot mean, I don't even know.
So how many of you are Java developers in here, let me ask you that, all right, so what's
sort of Java's claim to fame, what's it, yeah, right once test every way, so Java is
right once here, so you got to teach, Java is right once run everywhere, or war, you
hear people say, and so the sort of concept behind this presentation is, well you really
can't just run everywhere, I mean you're kind of silly if you just write an application
and don't actually at least test it on the other operating systems that you plan to have
it run on, and so you should really write once, which is true, I mean there's some serious
kick-ass Java applications that literally just run on all these different OSs, but certainly
they're tested on them as well.
And so we're starting off with this sort of poor soul today who has, you know he's built
this application and you know it's like hey it doesn't quite look or feel how I expected
it to on these other operating systems, you know what's the best way to test that, and
so I'm going to sort of talk about a little bit of web application development real quickly
just to set the stage, and then we're really, the bulk of the talk is on the testing part
that you use in virtual box, okay.
So as a developer, you know these logos should look somewhat familiar to most of you,
these are kind of a lot of the common components you need, there's Tomcat and Apache and MySQL
and some sort of IDE, and so when you get a new operating system, how do you go grab
these things?
Do you sort of download them, piecemeal, and configure them to work together, you know
do you spend like a day getting all that set up?
And so one of the things, and this is actually, you know I know this is a Linux conference,
and so one of the things we distribute is what we call the Sun Webstack, and it's available
for both OpenSlayer and specifically Red Hat Linux, I don't know why it's necessarily
limited to that, maybe the way it's packaged, but you basically get this entire bundle
of software, one easy install, all configured to work together, we call it the Sun Webstack,
it's basically off-mer with the term LAMP, which is you know Linux Apache, MySQL, Pearl
Python, and PHP, and so we'd like to use the term sort of SAMP, which is just the Sun,
you know, Solaris instead of Linux, basically give you that same sort of capability.
And so the command to install the AMPstack from an OpenSlayer's perspective, and this
is where things sort of get a little different from maybe what you're used to, is our packaging
system, it's just PKG install, and then the actual package name is AMP Dev, and it'll
actually go, and depending on what you have, it'll grab what's missing, so if you already
have Java of course it'll detect that and skip that piece, but it could take a while,
I think it's like 600 megabytes to throw the whole chunk of stuff down there, but once
you're done, you sort of have this basic UI set up where you can start and stop your
servers and so on and so forth.
And so with that, let me give a quick demo, so this is, for those of your developers, anybody
use NetBeans in here, the rest of your Eclipse, is that fair, right?
So if you're familiar with it all with an IDE, the concept should be relatively the same,
but what I thought I would do is one of the also concepts of this presentation is developing
software today, and IDE's like Eclipse are NetBeans has become, they've made it so easy,
you can really, in a matter of minutes, create some pretty powerful applications, it's
kind of mind blowing, and so what I wanted to do was, well let's take that application
that runs fantastic from the IDE, and what does it actually take to deploy it and make
it run in the real world?
And so this isn't really about developing applications, but just to prove that point
of how simple it is, one of the components that was, you know, NetBeans was one of the
components installed with the WebStack as well as MySQL, and you see here I've gone
ahead and created a database called StatusDB, and from within the tool I can connect to
this and once connected, it has nice features, I can view it's very simple, it's got two
tables, it just, you know, the concept is my manager wanted to know what I was up to,
so we have, you know, who the team member is here, so there's about five people in
this table, and then, you know, a table of statuses, there's a foreign key relationship
there.
All right, so given that data, that sort of data structure exists, you know, create an
application that you can use to manage that data, to add new status, you know, add new
employees, add new statuses per month or whatever, and so simply, you know, the IDEs today
allow me to do something like create a new Java desktop application, and we'll call
this status, it's a database application, and it sees all my database tables that I have
configured, so I'll select Status, and it found the four fields in there, we'll go to
the next page of the wizard, it'll even let me create a master detail relationship,
so I can select the evangelist, the status table using that foreign key relationship,
and now I click Finish, and it's going to sort of generate a bunch of code here, all
standard Java persistence API, talking to the database, and again, the real point of
this part of the presentation is just to show you how easy the IDEs make it today to actually
create a fully functioning application, so at this point I can click Run, and we'll
see it start up here in a second, there we go, and you know, it's pretty rudimentary,
but it is fully, you know, create, read, update, delete, capable, and I can select these,
and I see the status for that person, I can create new people, delete people, so on and
so forth.
So assuming now, you know, we spent some time, we've cleaned it up, we've added our logos
to it, or whatever, the next step is, I'm ready to deploy it, so it's, it launched from
within NetBeans, no problem.
So now, one way that I could deploy this app to my team, say I wanted my team to use it
would be using a technology like Java Webstart, or JNLP, and so the ID even helps me out
with that, I can go into the properties of the project and tell it that I want a Webstart
this app, and I assume even if you're, so for those of you that aren't developers, you've
probably come across Webstart applications before.
Now the, the jar files need to be signed, and so I'm going to go ahead and just self-sign
them for the purposes of this presentation, the IDEs helps with that as well.
Now when I run the app from within NetBeans, watch, it'll be, it'll behave a little bit
different, it'll actually, it's actually now building the jar files, signing them, so
it's going to take a little bit longer to do that, there's a handful of jars here.
But now, look, it's actually launching it as if you went to a browser, bless you, and
downloading, you know, downloading the jars, and yet ask you, do you trust this publisher,
go ahead and do that, and then it will start up.
Okay, so now I've gotten to a point where, okay, great, I've got a Webstart enabled application.
How do I let you guys use it, assuming you had your laptops open and you were on my network,
what do I need to do next, what's the next step?
One of the web servers that came with the Webstack was Apache, so I have that installed as well
on my machine, and so the other thing I did, one of the sort of windows and NetBeans is
a favorite window, it's basically just links to wherever I want in my system, well I set
up a link to the htdocs directory, this is Apache's htdocs directory, so what I'm going
to do is actually just copy from my employee status, all right, the disk directory, or
the distribution directory has basically the project, and you see the JNLP file there,
that's the Webstart file that was created for me, so I'm going to copy these five, and
the live folder has all the libraries I need, I'm just going to copy those guys and come
over here and paste, all right, cool.
So with that done, I should be able to open up Firefox, and we'll do, make sure, that's
not ADAD, Apache is running, okay, so this is the default Apache page that lets you know
it works, it's effective, and then the actual was launch.html, okay, now when I click
this it's going to launch the JNLP file and hopefully load my application, that's a drag,
so it didn't work that way in NetBeans, so what am I missing here, any ideas, what was
that? Apache, what? Yeah, close enough, so the issue is the JNLP, Apache doesn't know
what to do with it, the MIME type isn't configured, and so it's not, doesn't come default
with Apache, at least not yet, and so what I'm going to do, we're here, let me actually
show it, I'll show you a little bit of the, so here's that web stack, sort of menu that
was installed, and it's a pretty basic UI, but it lets me start and stop the servers, you
see it's got a little configuration for Apache here, and then it's got this advanced configuration
button, what do you think this does? So anyhow, I'm going to go into the Etsy directory
and edit my MIME types, and yes, and again, to save me trying to remember what this was,
I pre-edited it, I pre-put it in here even though it is not there by default, it is a
problem you would want to, so I will uncomment this, I will quit this out, and then I will
come back into my web stack options, and use the very fancy stop servers, and then start
the servers, and this will basically, because I changed, and it lets me know it's up and running
again, and so let's try this one more time, now sometimes this takes a minute, yeah that's
alright, let me, it just took a second for its cache to refresh, so this is what I expected
to happen if I, hopefully if I go back now, there we go, so we're good, and so now it says
it detects, it's a Java Web Start application, let's go ahead and launch it, click OK, and yes,
this looks good, and now it's going to download, hopefully the jar files, oh there we go, and
we're up and running, so now I feel a little bit better, I've actually deployed the application
to my web server, and maybe I'm ready for some of you to try it on my team, or maybe not,
so let's go back to my presentation slides, which over here, OK, so that's sort of the software
development piece of, what about actually, before I inflicted on you guys, what sort of testing
could I do to make sure you're not frustrated with my application, alright, so I'm going to talk
about a couple of concepts here, one is, how many of you have heard of ZFS, certainly all the
open Slayer's guys have, it's the file system in ZFS, and it's one of the reasons I like running
on top of open Slayer's, and I'll show you why, and then of course, VirtualBox, which is a big
part of this presentation, so let me start off with that, for those of you that already know what
it is, I'm sorry, for those of you that don't, it essentially allows you to run guest operating
systems on top of whatever host operating system you're using, and the four primary hosts are
Windows, open Slayer's Linux, and Mac OS, if you have one of those, those are the common ones
out there, I don't know why everything's shaking, and then there's VirtualBox, and then you can run
all sorts of guests, it's a great way to try open Slayer's or any operating system you want,
especially the free ones, certainly people ask me how do you know, I have Windows running and a
guest, how did you get that, you have to have the Windows license, of course, you just can't,
but it's cool, you could actually use VirtualBox to run, I have it running Windows 7 if you
wanted to check that out, because the beta has been made freely available.
So just some history on VirtualBox, even for those of you that use it may not be aware of this,
it actually started in a tech, the company that created VirtualBox, they're based in Germany,
and they initially created a, were hired to port a Connectix Virtual PC, which was a Mac product,
Microsoft hired them to port it to Windows, and then Microsoft just acquired it from them,
and so about four or five years ago, they had a bunch of cash, and so they started development
of VirtualBox, sort of a clean slate, they decided to open source it, and then we acquired them,
son, last year, one of the best acquisitions I think we've made, it's, honestly, when I first,
I don't know who's been, anyone been using VirtualBox longer before 2008 in here, 2007,
one guy back there, I had never actually even heard of it before we acquired them, and I was
familiar with VMware, of course, and parallels if you have a Mac, and I was really skeptical, I thought,
open source, virtualization software seems kind of complicated, it is really solid, I have been
extremely impressed, and I assume those of you that here use it are aware of that, and so
I already listed the platforms that it supports, the desktops, you can have a Windows desktop,
you can resize it just like a regular window, I can go into full screen mode, you would never
even know I was running, I could, you know, load up Windows and VirtualBox here, and you would never
know that I had open slairs or Linux underneath the covers, and I actually often forget that I have
something underneath the covers, you can go into seamless window mode, which I don't use that often,
allows you to put like a Linux window right next to a Microsoft window, you can compare and contrast,
really good for testing, look and feel, the mouse seamlessly will move, hopefully all of you that
use VirtualBox are aware of the guest editions that you install that allow the mouse integration,
so you can, it doesn't get stuck in the virtual machine, you can seamlessly move in and out of it,
you can copy and paste between your host machine and your virtual machine,
save state is one of my favorite features, it's like putting the machine in a hibernation,
so rather than having to restart, say Windows every time you want to use it, you can just
save it state, and then you, that's how all miners save, we'll see that, and the community behind
VirtualBox is very impressive, there's a site I put up there, at WordPress where there's all,
there's hundreds of pre-existing machines, and so if you know you want an Ubuntu machine that's
configured for, you know, with Apache and MySQL, you can find that, all pre-baked, you just down,
you know, it's a large download, it's probably three or four gig, but you basically just download
this huge file, and you set it up in VirtualBox, you point to it, and you're up and running, it's
very nice, so quickly I'll give a VirtualBox demo, no I don't want to do that,
okay, so this is my environment, I've got what eight machines set up, interestingly enough
four of them are OpenCeleras, and that's my host operating system, why would I have a virtual
instance of my base operating system, and that's because I always testing different things, and for
me, it's an awesome test bed, I don't want to, someone says I'll try this piece of software,
try doing this, I'll most often, if I'm skeptical, do it in a virtual instance of that operating system,
and make sure it works, it's also great, I showed you my blog, I blog a fair bit, when I do
write a blog, I try to make sure it's will work for everybody, and as developers or as anybody,
your machines tend to get friendly to how you operate, you may have set an environment variable,
or a configuration setting somewhere that allows something to work, and you've probably seen
this in the past, and then it doesn't work for someone else, using VirtualBox, you can make
sure you have a pristine version of that operating system, and test that whatever you're doing
works, and a great example of that is when you file a bug report, how many times have you filed a
bug report, and you get works for me as a response, and it gets closed, it pisses you off, and so using,
I can say look, take this VM, load it up in VirtualBox, do these steps, it will fail, you create a
repeatable situation, it's very nice, so simply to create a machine, I didn't want to do that, let's
what did I do, it started Windows, that's fine, we'll get to that, you click the new button,
not the start button, and you'll give your machine a name, and so say I wanted to create, you know,
I don't know how many of you were surprised to see an open-slayer CD in your bag at a Linux
conference, but it is there, there's a couple ways to try it, it is a live CD, which most of
you are familiar with, so you can just boot it up and see how it works on your machine on the
bare metal, you could also use VirtualBox and run it in a Virtual Machine, and that would simply
be something like this, you would select your operating system. Your machine has so much memory,
how much of that do you want to allocate to the Virtual Machine, so say I'll go with the default
766, and then again, either you've downloaded a pre-existing hard disk that has some sort of
configuration on it that you can just point to, or you're going to create one from scratch,
let's do that option, so it starts a little sub wizard, now I have two choices for it,
basically this operating system is going to be in a single file, just a single disk, a single image,
you can design it so that image grows over time up to a certain limit, dynamically expanding,
or you can tell it up front, lay out 20 gigs of space for me for this operating system,
supposedly the second option makes sense, is a little bit more performant because it never has
to increase in size, I've never chosen that option, I always used the dynamically expanding storage,
the initial file is only a couple hundred megabytes, and it will grow over time as necessary,
it's not like I've had hiccups, like what's it doing, it's expanding its storage, I've never seen
that, so I can come here and I can set this thing to 76 gigabytes, it really doesn't matter,
it's just be liberal here because what you don't want to happen is when I first started using
Open Solaris, it was in VirtualBox, and I had set up 16 gigs or 10 gigs, I don't recall,
but I actually made it my primary OS, and it wasn't long before I ran out of this space,
and I had to figure out how to add more.
What was, is it a what?
No, that's the difference between the two choices, so that is not hard allocated,
so we could go look at the file, it'll only be a couple hundred megabytes,
and it'll grow up to that as needed.
If you did want hard allocated, there was an option to do that.
Oh, thank you, I probably wanted to, I don't want to, I don't want to trash.
Okay, well that's fair enough, that's, yeah, so I did, I, I did create new, oh, you're right,
Open Solaris, yes, and that's fine, that was pretty much that demo, you create the disk,
and then you go to start the machine, it'll ask you for the, you know, what do you have?
Do you have a CD, do you have an ISO file that you downloaded?
Point me to that, and it'll go ahead and start installing that software,
or loading the live CD, yes sir.
Could you put it on like a USB drive?
Yeah, yeah, yeah, of course, yeah, yeah, yeah.
You will, you could, you could have basically a portable virtual machine,
absolutely, absolutely, another cool thing, and I assume this is in the Linux world as well,
you got the portable live USB sticks, now which are kind of cool, because the live CD obviously
isn't writable, you know, you load it, you can play with it, but soon as you shut it down,
anything you've done is lost, the USB stick however, you can save files to you, so if you had like
a 16 gigabit USB stick, you can have a totally portable operating system on a USB stick.
No, well let's do that for example, so I accidentally started Windows here, let me just kill this,
and so it gives me several options, I can save the state, I can just power off the machine,
it's like just turn off the switch, and now if we go back to VirtualBox here, you notice that
says it's powered off, all right, and I usually, I would have had a ninth machine there, I didn't
create it because I used a duplicate name, but let me go back to my presentation briefly,
and I want to talk about how I use ZFS, or the Zedabyte file system that comes with OpenSelaris,
and I could talk a whole hour about ZFS, it's a pretty cool file system, the only point I want
to focus with regards to this presentation or the piece I'm going to use is this ability to take
instantaneous snapshot, ZFS uses a copy on right architecture, and so what it allows me to do is take
pictures of file systems that I've set up that are very efficient, very low overhead, and so with
that, well here let me go to one more, so what I've done is VirtualBox stores all of its machines,
this is a graphic from the VirtualBox configuration preferences dialog, and it just shows where my
machines are stored, that's the default location, it's a hidden directory off my home directory,
and so what I've gone and done is made a separate file system specifically for VirtualBox,
and once I have a file system dedicated for VirtualBox, I can take snapshots of that file system,
so what this really allows me to do is I talked earlier about my Virtual Machines being pristine,
being clean, not being affected by configuration files, or even, I don't even want my machines
affected by prior use, so when I go in and do a lot of testing, I want to be able to sort of
wipe any trace that I was ever there, just sort of roll back to how things were at the start,
and so with that in mind, let's sort of conclude here, I'm going to shut down, so you see that I have
the eight Virtual Machines, notice Windows is powered off, right, you just saw me kill the machine,
if I went to starter right now it would boot up from scratch, so let me shut down VirtualBox,
and I'm just going to run a ZFS command here, and basically what we're seeing in this output is,
I want you to look at the top half of the screen, and I have various snapshots of my
VirtualBox file system, and the name, so the file system is called our pool VirtualBox,
and then the snapshot is everything after the at symbol, and so I sequentially name them,
so that when I run this list they appear in order, so clean 14, and basically as time goes on,
I've had these snapshots now around for months, things happen, a new version of Java comes out,
or a new version of VirtualBox comes out, or I just upgraded my Ubuntu image to 904,
so I'll roll back to a clean environment, make the change I want, and then snap a new image
of my entire VirtualBox environment, and so that's what you're seeing there, and so just the other day,
there was a, I was in the Windows environment, and it said, oh, there's a new version of Java available,
so I said, okay, I want to capture that, I rolled back to Ubuntu 904, started up Windows,
did the Java update, shut it down, or put it in a saved state, and then I did the snapshot of
Java update, and so with that, what I can do right now is a ZFS rollback, and then just give the
snapshot name, like that, and that's done, you see it's pretty instantaneous,
and then now when we start up VirtualBox, you see Windows is back, it's kind of a subtle
difference, but Windows is back in its saved state, it's sort of, and if I had created that
ninth machine, it would be gone, because again, I rolled back to a point prior to me creating that.
All right, so let's look at Windows now, say, let's get back to the regularly scheduled
program of testing our application, so I've created this app, and I want to see if it'll
perform on Windows, that was a very common use case, and so let me go ahead and start Windows up,
and again, this is coming out of save, so it's like coming out of hibernation,
so it'll take a second.
I've got three gigs of RAM on my laptop, and that sounds like a lot, but when you start loading
Virtual Machines, it gets used up quick, and so what I've done is I've set up sort of workspaces
for my desktops, and so I can come over here, and now I can go into fullscreen mode, and notice
that host F, it's pretty critical to remember, because you won't be able to get out of screen,
host, the host key is configurable, the default is the right control, but if you go into
fullscreen mode, if you don't know the key sequence to get out of it, you basically have to shut
down the virtual machine to get back to your host OS, and so now, if I had started, if you all
came in to Southeast Unexpects, I should have had this up, this should have been my welcome screen,
I remember that next time, but you would never know that I was in here, and it's pretty
performant, and I can start IE, and now I'm not connected to the internet, which is why this
came up, and actually I should make a note, I've got some wacky stuff going on back here.
Now, the demonstration I'm doing with VirtualBox, and this is what I was alluding to with your
testing, I don't know how many of you actually do network testing with VirtualBox between the
guest and the host, and that's really the point of this presentation, so I can, well, actually,
I do need to get out of this and come back here, and I need to get my IP address, so what I've
done is I brought a router with me so that I could sort of up IP addresses to my virtual machines
as I start them, and so my host machine is a 1.2, and so now, if I go back to VirtualBox to Windows,
okay, so the first thing you'll notice, there's no history in my browser, right, you know,
obviously, as you work in any of these browsers, I kind of remember where you've been, and it's a
pristine copy of i.e., I never do anything in it other than updates to the OS, and so, hopefully,
I can hit that, good, I'm hitting the server on Open Slayerist, and now I can hit launch,
bless you again, that looks good, and now we can launch the app. I should have asked, do we think
it's going to work? It doesn't, and so this is, you know, if I got all excited, it's a team I created
this app, go try it out, and you know, be calling me up, it doesn't work. It's okay, we look at the
details, and we've got some unlabeled load resource, some temp, employee status, launch, so,
obviously, it's looking locally for some file, actually, the JNLP file, and so, I can come back to
that beans, close, and I'm going to open up this JNLP file, and sure enough, right here,
this needs to be the codebase, where is, you know, Windows is trying to read this file that's
looking in temp, and I actually got to give it the, I have changed the codebase to that, right?
So that was something that IDE did for me as a benefit, but actually, as I need to deploy, I need
to change, and so, I'll just save that, I should be able to come back here, okay, this may take a
couple clicks. There it goes, all right, so that looks better, it's found the files, it's downloading
them to my machine, you get good, I got the, do I trust? I'll say yes.
Yeah, I don't know, we don't have any errors yet, right? But, I don't have anything, right, so,
so, right, very good here, see, you're jumping ahead, but so, there's a t-shirt for you.
But, how do I figure that out, though? That's a good guess, but honestly,
how would I, anybody know how I'd go about figuring that out? Like, I'm just,
server log files, actually I think, I don't know if they would have any.
Right, local Java client log files, and so that, I can, there's actually a,
under the control panel, actually, all OSs have it on Windows, it's under the control panel.
There's a Java control panel, and it has a Java console that you can turn on.
This is just kind of good knowledge to know whenever you're having troubles with Java.
So, I can close this, and so that's a change I made to my operating system, right?
That is turned on forever, and again, I don't have to worry about turning it off.
When I'm done with this presentation, I do my rollback, and it's back to the way it was.
But, with that, let me actually try to launch again.
Okay, we see, okay, good, so, we did have a silent exception, and you are correct,
if we went and looked through all this, it is, you know, SQL, exception, blah, blah, blah.
And so, let me close this down, and go back, and in this case, I actually have to go into the project
itself, and I don't know how many of you are familiar with the Java persistence API,
or toppling, or anything like that, or hibernate. But, you see here that it is,
here, localhost, and that was definitely a problem.
So, we should do that.
And now, that's actually part of the jar file, so I need to do a build,
just that single jar file will build, and I need to copy it back over. So, now I just grab this,
delete the old one from the web server, paste the new one in, there we go,
go back to Windows, try it again.
Go ahead and trust from now on.
So, now it's the problem. Who are my SQL experts in the room?
What's that?
Yeah, the root, in my experience, I don't know, the root user, who I'm logged in as,
definitely usually doesn't work over a network connection. I don't know if it's
anyway to make it work. So, again, another issue, sort of the IDE, just rolled
with that, it all worked locally, so let's go, luckily I prepared for you guys, and so I actually
created a, I created a user, a password. All right, one more change, again, will
build, copy, paste, okay.
So, now we think it's going to work.
All right, we got it to work. So, really, I mean, again, this is not really too
specific example, Java Webstar, JNLP, I think it's sort of a lot of the types of common things,
working with any IDE, yes, question? No.
So, like, have them turn it on afterward, rather than having to restart the app, and we just say,
can you get to it remotely, is that what you're asking, or can you? Yeah, you can start it up,
and then the problem, in our case, so we never, the exception occurred, I think they'd have
to restart the app in that case, but yeah, you can start it up.
You want to see the error until you started it, started the console.
There might be something you have to install to have that here, I don't.
Right, right, well, plus, I don't have an internet connection, so I couldn't add it anyhow.
So, in the interest of time, and I want to take some questions, my next step would be to try
this in Ubuntu, and I will tell you, it does work, and if you had, if I was on a local network,
you should be able to hit my machine and load the app, it should work by now.
But, sort of carrying this test case further, what about using VirtualBox for sort of multi-tier
deployment testing, where say I develop on one system, I deploy to another, and so with that,
let me switch back to VirtualBox and see if I can get Ubuntu fired up here.
So, this little green is my available memory, and then we'll see purple here when we jump
in to swap, and hopefully that won't happen. These things are really slow down.
No, go ahead.
Absolutely, so VirtualBox will run on, yeah, leopard, macOS, it'll run on all the Linux distributions,
Windows, and OpenSlayer, so the four.
Well, it's got to be Intel Mac, it won't run on at PowerMac.
All right, so I'll do the same thing, I've got Ubuntu running, I can move this to my Ubuntu desktop.
Again, I'll maximize, so again, you can't really tell, and let me grab my p-address, I should have
an IP address here. Yeah, so what was served up for me was 1.3, and so the other cool thing is,
I came out of a save state. Now, whatever sort of systems you have running are up and running as
well, and so let me start the browser here. Oops. So, one of the things I have running is the
Glassfish application server, and again, that's local host, it's available, and so now let's go back
to my host operating system, and now I can do cool things like as a developer, in NetBeans, I can
add, let me clean this up a bit, I can add additional servers that I'm dealing with, and so
let me add a server, and I'm going to add another version of Glassfish. Now, this is a remote domain.
Now, this would be identical to if this was a machine in my data center somewhere, or my lab
somewhere, right? It wants to know the host name, or IP address, so I put that in.
Cool, and I got that little green arrow there, that tells me that it is detected it, and that it's
up and running, and so now at this point I can go to some projects I have, and a good thing to
test across operating systems is, of course, AJAX is one of those technologies that sort of
seems very open to testing on different OSs, and so I downloaded a couple sample projects from
ProAJAX book, and so let me change their runtime properties to actually use, well, I usually,
I should have named it Glassfish Ubuntu, but I forgot to change the name, so it's Glassfish
one, that's okay. And at this point, I'm going to change this one as well, so I don't forget.
Okay, so at this point, when I go to run the project, it's going to
build it, and deploy it to the remote, I mean it's local on my laptop, but as far as netbeens is
concerned, oh, that's not what I wanted to do. So netbeens has this concept of a main project,
and so let me set this as the main project. Thank you.
Kill this one.
That way too much going on now.
All right, let's try this again.
Okay, there we go, chapter four running, and so yeah, it's going to build it, and then it's
going to deploy it to the copy of Ubuntu running, the server on Ubuntu, and it should launch a
browser here locally pointing to that.
Any questions? Well, this is loading.
It won't be a second, it should be anyhow. I think it's up.
So you can see my machines really start in the weeds now with these two, I still have windows
running as well, but I want to, I want to, I want to, I kept that running on purpose, I want to,
I definitely want to show something.
All right, so a common type of, you know, Ajax feature is auto complete, and so say you wanted
to compare and contrast how this looked on various operating systems, you know, type in A,
and you see, you know, you got sort of the auto complete thing happening.
Now, well, let's say, let's try this on, so I could copy this over to Ubuntu, I could change
the URL of the local host because that's where it's running, but what about windows? What about
from one virtual machine to another virtual machine doing this testing? And Ajax, come on baby,
there we go. So I should be able to paste, there it is, so I copied from Open Slayer,
pasted it in the windows, hit, and then A, and you see, it looks a little different, I mean,
not that you naturally care, but it's, if we went back to Open Slayer, so it was sort of lined up nicely,
it's really a Firefox issue, it looks identical to that in Ubuntu, but on i.e., it looks a little
different. And then, just one last thing to test, we'll go back. There we go.
Two, three, I'm just about parallel, the RAL, that's right. Oh, I didn't deploy this one.
Okay, let me, I think it'll work.
No.
Yes, you see the purple there, I know.
Yeah, I was trying to avoid this. So while I'm, I'm going to go ahead and launch this,
this will take a couple of seconds, because it is swapping. And we have about a couple
minutes left, I think. So, do, are there any questions? Yes.
I'm really impressed with GFS with the ability to, like, stop trust. I really like that.
But what other images do you say Open Slayer has, like, why am I going to use Open Slayer to
do things like that? The reason, so the alternative talk I could have proposed for this conference was
just, you know, what is Open Slayer's, and go through some of those things. And so, what I generally
focus on are, ZFS is, of course, a big piece of that. The D trace feature, the dynamic tracing,
is a very cool feature of Slayer. So, I mean, Open Slayer is really, you know, the next,
it's the development ground for the next version of Slayer. And so, it's got everything that
Slayer's 10 has, and then some. And so, D, the dynamic tracing, the service management
framework is really nice. So, for managing your services, and you saw a little bit of that,
I didn't really talk about it, but when I started and stopped Apache in MySQL, that was using
the service management framework. CrossPodes, a brand new feature that's in this newest version
of Open Slayer, so it's a project name for our virtual networking. So, you can actually create
virtual network interface cards on your machine based off of your one. So, on a laptop like
this, I could create five virtual nicks, and then I could do flow control amongst those nicks,
where I could set up, you know, my virtual machines to point to those various
networking and face cards. It's a really nice feature.
Yep. Anything else?
Thanks. There we go. So, quickly, I've got a couple minutes. So, say you're doing something
like this. It's just simple, but it's two effects happening at once, and say you wanted to use
something like that, and I question is, can I e-handle that? I'll do. I can't. So, I always close
with that at my Linux talks. No one's surprised, but. So, I think I have like, what, a minute?
Nothing? Yeah. So, if there are any other questions, if they're not, I'll cut you loose.
Yeah. Yeah.
Work over a network. I haven't thought about that.
Yeah. So, just for those who don't know, timeslighter is the feature that you saw the snapshotting
feature that I did. We basically put a nice little user interface on top of that. So, for all your
data, we take snapshots every 15 minutes, and we call that timeslighter. So, it's kind of
equivalent to time machine in Mac OS. So, you can go back to any point in time, and I happen
to be a demo of that. Does it work over NFS, though? I'm skeptical that it would, but I don't
believe it would. Anything else? About sun being purchased by Oracle? The only thing I know is
that they set a date for the shareholder approval meeting, which is like July 21st. And so, at that
date, I don't know how long it is after that, assuming it's approved a couple of weeks. Yeah, I don't
know much. Yes. What strategy for enterprises that want to use Solaris for their servers and open
Solaris? How do they work together? Is there some kind of development? Yeah.
Well, the strategy is if it is the next version of Solaris. So, if you're looking for some of
the features that are going to be in Solaris. Next, whatever they call it, you could start deploying
Open Solaris. And this release actually deploys on Spark now, which is a new feature. We didn't have
that for the previous releases of Open Solaris. And so, you can start putting it in your data center.
They've upped the support contracts to like five years, and so you can get the same support you
can on Solaris. And so, yeah, it's just the roadmap to Solaris. Next, and I hope someday I can say
Solaris 11, but they haven't decided what it's going to be called in the back. What about network installs?
No one installs the network, but how do you incorporate it in the back of the hand?
Yeah, right. Oh, so you're talking about Jumpstart? So, that was one of the issues actually with
getting it ported to Spark. There is no jumps. This is one of the big changes between Solaris 10
and Open Solaris. There is no Jumpstart support in Open Solaris. They've changed it to a different
technology called Automated Installer. And so, it is a network install. It's similar to Jumpstart.
It's just different. That is available now. It's actually the only way. If you have a Spark
machine, the only way to get Solaris on Spark is through the Automated Network install.
There is no install of her Spark at the moment. We have lunch now, right? Anyhow. Yeah, so we're not,
like, if there's a couple more questions, I can take them. All right, do you think?
All right. If there's not any more, then I'll cut you loose.
Why did you factor in the filter?
Yeah. I didn't put the CDs in the bag. I think of that. That was it. I didn't personally do
that. They got sent here. I won't name who did. No, but I find, I find, I try not to be, you know,
what's the word I'm looking for, aggressive, or I just, I think, you know, people are interested
in the open source technology. So I find it generally at Linux conferences, people are receptive
to hearing about OpenSlayer, so what's going on? Yes, over there.
Yeah, I don't, there might be some hacks on that they're available. I don't, not that I am aware
of, and I haven't seen that. I don't know exactly. I don't know if, I think that's a mac licensing
issue. Actually, I don't, I don't, you know, their OS really only runs on their hardware,
and as far as I know, they don't want it running anywhere else.
Yeah, so that's really the only limitation of VirtualBox. If you want to test in a Mac,
you kind of need a Mac as your host OS, and then you have all the other OSs available.
Yeah, none, there's no plans that I know for the Mac. Oh, I support. Did you have another question?
For instance, the main reason why they purchase it from my understanding is because they were so successful
on OpenSlayer. Yeah, from what Oracle said, they bought us for Solaris and Java,
or the two primary things that they called out. All right, guys, well thank you very much.
This work was recorded by View Digital Media, and is licensed under a Creative Commons
share it like version 3.0. For more information about the Southeast Linux Fest, visit
southeastlinuxfest.org.