WEBVTT

00:00.000 --> 00:09.460
This is dedicated to all the hackers and the crackers, to the hackers and the crackers.

00:09.760 --> 00:15.520
I see in binary, I speak source code, step on my toes, I'll post a million jpegs of you

00:15.520 --> 00:16.600
and a fag pwned.

00:16.720 --> 00:21.640
In your digital stance, getting firewalled ho, cause I'm riding the net in my six-fold.

00:21.900 --> 00:26.440
I was a dick with my 56, now with my cable I'm able to get that stable.

00:26.440 --> 00:32.460
On the out, my name is Ace and I'm a Leo. On the digital highway, my name is Neo and I'm a hero.

00:32.680 --> 00:38.360
In a flash, I'll screw you on burning Dreamcast. You need some ISO? Let me through my hard drive rifle.

00:38.700 --> 00:43.520
Our exchange you could never stifle. In a digital hug, you just caught the love bug.

00:43.840 --> 00:47.540
I bootlegged your CD, I caused a fight between Un and Jay-Z.

00:47.880 --> 00:52.100
Your CG, it's all gonna be free, whether we take it by force or we take it nicely.

00:52.220 --> 00:56.280
You feel that rattle in your bones? When I tell you we just hacked out Jones.

00:56.440 --> 01:00.720
And NASDAQ leaves you flat on your back, cause I am he who loves to hack and crack.

01:00.960 --> 01:03.520
Cause I am he who loves to hack and crack.

01:03.960 --> 01:06.600
This is dedicated to the hackers and the crickets.

01:07.060 --> 01:11.660
Serial codes, source codes, ISOs, RANS, SIFS, SISs.

01:11.900 --> 01:14.200
This is dedicated to the hackers and the crack.

01:14.200 --> 01:22.120
Welcome, everyone, to Binary Revolution Radio, episode number 169.

01:22.220 --> 01:22.940
Oh, yeah.

01:23.860 --> 01:30.080
You are joining the man himself, Buck Dangler, back on the show after a very long hiatus.

01:30.600 --> 01:34.580
Coming to you on October 17, 2006.

01:35.460 --> 01:40.460
And joining me on the Prawn episode this week is one of my fellow actors in the industry,

01:40.560 --> 01:43.860
if you will, who goes by the name of Johnny Rosebud.

01:45.200 --> 01:47.260
Hey, that's Johnny Swank, tough guy.

01:47.280 --> 01:50.600
I'm sorry, Johnny Swank on the show with us this week.

01:51.280 --> 01:53.360
Johnny, how's life treating you there, buddy?

01:53.380 --> 01:54.120
You've been gone for a while.

01:54.200 --> 01:55.280
You've been doing some film?

01:55.400 --> 01:58.000
You've been doing some, getting some side work or what?

01:58.520 --> 02:01.560
Yeah, yeah, I'm a little worn out, so I'm taking a break.

02:01.740 --> 02:02.980
You know, the doctors advised it.

02:03.280 --> 02:06.140
Otherwise, certain parts of my anatomy would just fall off.

02:06.740 --> 02:10.700
So, I think it's going to be good for me.

02:11.200 --> 02:14.740
Sometimes you just got to give it a break and then go back re-energized.

02:16.300 --> 02:18.340
Sometimes you feel like a nut, and sometimes you don't.

02:19.060 --> 02:23.240
Well, you know, if you feel like a nut, I think the industry pay scale doubles, doesn't it?

02:24.360 --> 02:25.200
I wouldn't know.

02:25.280 --> 02:27.040
I'm just saying I heard things.

02:28.000 --> 02:32.100
So, I have to ask the guys out in California about that one.

02:33.260 --> 02:36.080
Notice how I left out any company name or people's names there.

02:37.740 --> 02:46.800
So, yeah, we are here for episode 169, and we have an abbreviated show this week, actually.

02:47.020 --> 02:53.540
We will still have a good full show, but actually, both Johnny Swank and I have a couple business

02:53.540 --> 02:55.140
ventures coming up here in the future.

02:55.140 --> 03:03.060
And, personally, I've got a little porn convention type sort of thing that I have to go to.

03:03.240 --> 03:07.000
So, we are actually recording this on a, what is today?

03:07.220 --> 03:07.620
Saturday.

03:08.900 --> 03:09.820
Saturday afternoon.

03:10.700 --> 03:14.820
So, you're listening to this on Tuesday the 17th, but this was recorded a couple days earlier

03:14.820 --> 03:18.520
because, you know, I've got to get down to business and make that money.

03:18.620 --> 03:19.140
You know what I'm saying?

03:19.140 --> 03:23.060
So, let's do a little housekeeping here.

03:23.860 --> 03:28.260
Now, Johnny Swank, I, if I remember correctly, you're good friends.

03:28.540 --> 03:31.360
I think we have a mutual friend by the name of Knot Theory.

03:32.320 --> 03:33.520
Have you got any news from him?

03:33.560 --> 03:37.300
He's been working on some side things over there, bringing some things back.

03:37.400 --> 03:39.340
Did you have any progress you wanted to report on that, or?

03:40.340 --> 03:41.100
Absolutely nothing.

03:41.300 --> 03:42.280
I haven't touched anything.

03:42.500 --> 03:45.900
I haven't even used the computer machine in the past many months.

03:47.420 --> 03:47.780
Okay.

03:48.360 --> 03:49.400
I'm just messing around.

03:49.540 --> 03:51.020
How do you upload your porn?

03:51.940 --> 03:52.380
What's that?

03:52.500 --> 03:53.780
How do you upload your porn, then?

03:54.320 --> 03:55.520
Yeah, I have fluffers for that.

03:55.660 --> 03:56.440
They take care of it all.

03:56.760 --> 03:59.120
They're fluffers, and they're technically savvy.

03:59.800 --> 04:00.260
Well, yeah.

04:00.460 --> 04:04.700
You know, in this day and age, fluffers have to be personal assistants and do all that kind

04:04.700 --> 04:05.000
of stuff.

04:05.080 --> 04:07.700
And they do all their video editing on a Mac, so I don't want to touch it.

04:07.700 --> 04:08.520
Oh, yeah.

04:08.680 --> 04:09.780
I don't blame you on that one.

04:10.920 --> 04:14.200
You know, I don't really care that, you know, they've been fluffing everybody and they're

04:14.200 --> 04:14.940
touching their computer.

04:15.140 --> 04:15.640
That's fine.

04:15.740 --> 04:17.160
But it's the Mac, and that's the dirty part.

04:17.340 --> 04:18.780
That's the part you don't want to touch it.

04:18.860 --> 04:19.840
It's not all the jizz sticks.

04:20.980 --> 04:22.220
Oh, all right.

04:22.540 --> 04:22.940
Well, wait a minute.

04:22.980 --> 04:24.940
The Macs have, like, those clear keyboards.

04:25.160 --> 04:28.300
Like, don't they have some kind of coating that's, like, jizz protection that it just

04:28.300 --> 04:28.700
all...

04:29.200 --> 04:30.540
These things got a coating now.

04:30.580 --> 04:31.120
I'll tell you that.

04:32.300 --> 04:32.620
Man.

04:33.060 --> 04:33.480
All right.

04:33.500 --> 04:35.820
Well, let's do some housekeeping before we get too awful sick.

04:35.820 --> 04:41.320
In case you haven't figured out, this might be a very not safe for work episode, so...

04:41.320 --> 04:44.100
Or not safe for your cab, or wherever you happen to be.

04:44.120 --> 04:47.080
You know, something we might have wanted to tell them that about five minutes ago.

04:47.580 --> 04:48.280
Oh, well.

04:48.360 --> 04:49.280
Better late than never.

04:49.880 --> 04:50.400
That's true.

04:50.820 --> 04:51.120
Oh.

04:51.760 --> 04:52.220
All right.

04:52.340 --> 04:53.440
So, what do you got?

04:53.520 --> 04:54.360
Anything to announce?

04:54.440 --> 04:55.420
Any progress?

04:55.420 --> 04:58.060
Well, I've been...

04:58.060 --> 05:03.720
I know I always say I'm chipping away at things, but we've been working on Freak Factor, of

05:03.720 --> 05:04.180
all things.

05:05.040 --> 05:06.600
We got a new interface planned.

05:06.800 --> 05:08.320
Actually, the new interface is up and running.

05:08.800 --> 05:14.820
We're doing a bunch of testing on it, and I hesitate to say it, but I'd say in the next

05:14.820 --> 05:21.140
couple of weeks, we might be doing either a live test or an actual episode, so...

05:21.140 --> 05:23.860
See, of all the projects, why Freak Factor?

05:23.940 --> 05:24.960
I mean, that show sucks.

05:25.900 --> 05:27.160
Yeah, it does suck.

05:27.240 --> 05:29.360
But it's, you know, the only thing people ever email us about.

05:29.680 --> 05:30.080
Right.

05:31.000 --> 05:33.600
It's the most loved and hated show at the same time.

05:33.920 --> 05:35.440
And actually, it is coming along.

05:35.480 --> 05:36.480
It was looking pretty cool.

05:36.560 --> 05:40.920
We did some testing late into last night, and it is definitely getting there.

05:40.920 --> 05:46.120
I mean, I think we should probably clarify that, you know, we kind of still have the

05:46.120 --> 05:47.600
same setup we had before.

05:47.600 --> 05:52.000
And to reiterate, this was all an experimental thing from the beginning.

05:52.180 --> 05:53.260
We didn't know what to expect.

05:53.380 --> 05:58.060
We didn't have any big plans or anything like that for the show, other than the random

05:58.060 --> 05:59.240
chaos that goes on.

05:59.880 --> 06:03.900
And now, it's still going to happen, but we're adding some new interfaces.

06:04.400 --> 06:06.500
And when I say we, I mean, of course, you.

06:06.900 --> 06:10.000
Adding some new interfaces, some different...

06:10.000 --> 06:12.980
Actually, I'm not even going to tell exactly what they are, because they're so cool.

06:12.980 --> 06:18.060
People will definitely like them, but some registration so that we can get some people

06:18.060 --> 06:23.080
more involved into it and have a little bit more control over what happens to prevent

06:23.080 --> 06:27.460
things like toning and a little bit too much chaos at times.

06:28.200 --> 06:32.080
So, it's a lot of interface stuff and control stuff over the show, right?

06:32.760 --> 06:33.500
Yeah, definitely.

06:33.760 --> 06:38.820
And one thing that, you know, kind of was a big problem with the first Carnation of Freak

06:38.820 --> 06:40.160
Factor was the registration.

06:40.160 --> 06:43.020
We had a separate registration where people would, like, record their name, and we would

06:43.020 --> 06:44.720
go through there and set it up.

06:45.040 --> 06:48.100
Nobody wanted to listen to the directions, so it got really annoying after a while.

06:48.560 --> 06:52.660
So, now we're going to have, instead of a separate Freak Factor and Bell's Mind accounts,

06:52.800 --> 06:55.300
just your Bell's Mind account will be your Freak Factor account.

06:55.400 --> 06:59.560
And the registration will be back up, hopefully tonight, so that people can start registering

06:59.560 --> 07:00.480
for Bell's Mind again.

07:01.400 --> 07:04.220
I guess by the time you guys hear it, the registration will be up yesterday.

07:04.220 --> 07:05.360
So, yeah.

07:05.920 --> 07:12.400
Well, actually, it's, I don't know, one of the things I enjoyed most about the last registration

07:12.400 --> 07:16.300
was, you know, when you'd call up and all they were supposed to do was say their name,

07:16.440 --> 07:20.300
and you'd get five minutes of somebody saying their name, and they'd go, hello, is anyone

07:20.300 --> 07:20.640
there?

07:21.420 --> 07:21.640
Hello?

07:21.640 --> 07:22.100
Oh, yeah.

07:22.180 --> 07:23.000
My name is this?

07:23.100 --> 07:24.080
Are you adding me right now?

07:24.120 --> 07:24.780
I can't hear you.

07:24.860 --> 07:25.040
Hello?

07:25.040 --> 07:31.120
I think, actually, the best part about the registration last time was that we had people,

07:31.340 --> 07:34.660
you know, the registration initially said, please record your name, right?

07:34.960 --> 07:35.380
That's it.

07:35.480 --> 07:37.180
And they would record their name, no big deal.

07:37.220 --> 07:41.120
But then it became a problem because people would say, you know, my handle is, you know,

07:41.200 --> 07:46.380
LitoX4 or something, and they would just babble some crazy handle, and we have no idea how

07:46.380 --> 07:46.800
to spell it.

07:46.920 --> 07:48.780
And then we would spell it, and they'd say, oh, you spelled it wrong.

07:48.920 --> 07:51.740
You know, it's got seven threes in it instead of six.

07:52.640 --> 07:53.540
Okay, fine.

07:53.540 --> 08:00.660
So then the instructions changed to, please record your name, and, you know, record a

08:00.660 --> 08:03.480
spelling of it, or your registration will be deleted.

08:03.960 --> 08:04.360
Deleted.

08:05.700 --> 08:12.800
But I would say probably 90% of people didn't record the spelling of their name, so it just

08:12.800 --> 08:13.960
got ridiculous there for a while.

08:14.020 --> 08:14.440
So you know what?

08:14.460 --> 08:17.160
We take that whole thing out, people will sign up on Bell's Mind.

08:18.480 --> 08:21.800
The first time they call, they may have to record their name or something like that,

08:21.800 --> 08:23.620
just for fun.

08:23.940 --> 08:28.160
But their name will show up on the show, however they type it in, and we don't have

08:28.160 --> 08:28.920
to worry about it anymore.

08:30.220 --> 08:34.800
Well, and speaking of Bell's Mind, Bell's Mind's back up and running.

08:34.960 --> 08:36.800
The conferences are back alive, correct?

08:37.640 --> 08:38.460
Yep, they are.

08:38.940 --> 08:41.920
And, you know, things are starting to catch up, you know, back to date.

08:41.920 --> 08:47.280
But there's some new features that actually are kind of tied into, not tied into directly

08:47.280 --> 08:52.920
to Free Factor, but once you guys see the interface to Free Factor, you'll get a taste

08:52.920 --> 08:55.060
of the new stuff that's coming from Bell's Mind.

08:55.060 --> 08:59.140
And I'm pretty sure most of it, nobody out there is doing, or at least not in the same

08:59.140 --> 08:59.380
way.

08:59.560 --> 09:04.380
So it's kind of exciting, and I'm pretty amped about it.

09:04.700 --> 09:06.740
But in the next couple of weeks, we'll see something.

09:06.840 --> 09:10.380
I spent probably eight hours working on it alone just yesterday.

09:10.960 --> 09:12.800
So there's a lot of work going into it.

09:12.880 --> 09:17.040
And thankfully, I finished, you know, the biggest project, the biggest opal project I've

09:17.040 --> 09:21.500
ever done for, you know, for work just about three or four days ago.

09:21.500 --> 09:24.500
So I'm starting to see my time free up a little bit, unbelievably.

09:25.220 --> 09:25.280
Wow.

09:25.420 --> 09:28.700
So this was your first gig as an actual porn director then?

09:28.780 --> 09:29.700
That's what was signing you up?

09:30.500 --> 09:31.580
Oh, yeah, yeah.

09:31.760 --> 09:36.560
And, you know, managing transgender midgets, you would think it'd be very easy because,

09:36.960 --> 09:39.860
you know, they're so tiny and easy to toss around.

09:40.140 --> 09:42.800
But they're real tough cookies, you know, they make a lot of demands.

09:43.100 --> 09:43.640
Little people.

09:44.600 --> 09:45.360
Yeah, sorry.

09:45.640 --> 09:48.980
You know, sometimes they like to be called midgets, you know, it's a role-playing thing.

09:49.260 --> 09:50.060
Oh, I see.

09:50.060 --> 09:50.500
It's hot, actually.

09:50.500 --> 09:51.340
Right, actually.

09:51.480 --> 09:52.180
And in character.

09:52.320 --> 09:52.780
I gotcha.

09:52.920 --> 09:53.400
I gotcha.

09:53.540 --> 09:55.780
And for them, you know, they could be a midget or they could be a dwarf.

09:55.880 --> 09:58.940
You call a dwarf a midget, and all of a sudden it takes not a whole new meaning.

09:59.580 --> 10:00.320
Definitely role-playing.

10:01.040 --> 10:01.600
All right.

10:01.720 --> 10:01.940
Wow.

10:02.020 --> 10:03.500
Do they dress up like the seven dwarves?

10:03.800 --> 10:05.160
Was there a theme to the whole thing?

10:06.680 --> 10:11.960
Or are they like Tolkien, like Lord of the Rings-type dwarves, or both?

10:11.980 --> 10:13.240
Or are they like the Keebler elves?

10:13.400 --> 10:14.600
You know, we do all those things.

10:14.680 --> 10:15.300
We tie them together.

10:15.740 --> 10:19.580
Dude, this massive orgy with Keebler elves and Tolkien elves.

10:20.500 --> 10:23.080
Oh, man.

10:23.520 --> 10:23.900
All right.

10:23.960 --> 10:30.860
Well, I guess let's move on with the email portion of the show, or should I say the lack

10:30.860 --> 10:37.000
of an email portion of the show, because we did not get any email this week, actually.

10:37.120 --> 10:43.220
Now, of course, we're recording a day or two before we normally do, so that explains some

10:43.220 --> 10:47.520
of it, but we got a couple emails, none of them that were really anything to read on

10:47.520 --> 10:47.860
the air.

10:47.940 --> 10:53.660
I think we got an email about the, what was it, the Bell South and AT&T, was it?

10:54.920 --> 10:55.800
Something like that, yeah.

10:55.800 --> 11:00.440
So, you know, there's not really much to say about that, except that it's happening.

11:00.700 --> 11:04.320
So, there is one thing I wanted to kind of bring up in regards to email, though.

11:04.380 --> 11:09.340
We got another, we did get one email this week of someone who was questioning or taking

11:09.340 --> 11:14.820
exception with our IPv6 episode of the show a couple weeks ago with Verbal and I, where

11:14.820 --> 11:20.660
they said that we had made some mistakes in the topic content, some of the things that

11:20.660 --> 11:21.180
we said.

11:22.080 --> 11:24.540
So, they sent a long email about that.

11:25.400 --> 11:27.780
As it turns out, no, we were correct.

11:27.880 --> 11:31.780
We checked and verified everything, what they explained, and it looks like everything was

11:31.780 --> 11:32.580
fine.

11:32.640 --> 11:33.260
It was on point.

11:33.940 --> 11:36.800
It was just a misunderstanding in the way we spoke about it.

11:36.800 --> 11:40.100
And like we said then, and this happens on the show, and not there, you can back me

11:40.100 --> 11:40.200
up.

11:40.260 --> 11:44.500
Sometimes it's very hard to explain things in this medium.

11:44.500 --> 11:47.860
I mean, it's radio, and all you can do is try to verbalize things, and when you're

11:47.860 --> 11:53.980
trying to verbalize, you know, the network stack and the math behind how IP addresses

11:53.980 --> 11:59.080
are created and natting and just all these other things that go along with it, radio is

11:59.080 --> 12:01.240
not exactly the best medium for that.

12:01.400 --> 12:05.600
I mean, I'd even say that print, even though it's old school, is probably the best media

12:05.600 --> 12:07.360
because diagrams help a lot.

12:09.000 --> 12:10.700
Oh, yeah, I definitely agree.

12:10.700 --> 12:14.640
You can't, there's a limit to how much you can explain just three points.

12:14.800 --> 12:16.120
Definitely, visualization helps.

12:17.180 --> 12:22.180
Yeah, and so, but I did want to point out that it is perfectly okay to send us an email

12:22.180 --> 12:22.700
like that.

12:22.780 --> 12:26.380
I mean, just because this one was a little misunderstanding, we're certainly not above

12:26.380 --> 12:29.760
making the occasional mistake, so, or frequent mistake.

12:29.760 --> 12:34.140
So, it's perfectly fine to email us if you think we have made a mistake because we'd

12:34.140 --> 12:38.960
rather come on the next episode and correct it and get it right than leave information

12:38.960 --> 12:42.260
out there that's not correct or unclear or whatever the case may be.

12:42.500 --> 12:44.360
So, feel free to email us.

12:44.440 --> 12:45.120
You know what?

12:45.160 --> 12:49.400
Every magazine that gets published on shelves has mistakes, and the next month they'll put

12:49.400 --> 12:54.580
an undo, I think is what Wired would call it, and different magazines do corrections.

12:54.980 --> 12:56.860
Newspapers do corrections all the time.

12:57.360 --> 13:01.940
Even Slashdot has Slashback, where they go back and clarify or touch on anything that

13:01.940 --> 13:03.760
was incorrect from previous stories.

13:05.580 --> 13:07.200
So, you were going to say something?

13:07.340 --> 13:11.200
If we make mistakes, definitely let us know about it, especially me, because most of the

13:11.200 --> 13:12.300
time I'm not making mistakes.

13:12.460 --> 13:15.940
I just fabricate everything just to make myself sound smart.

13:16.340 --> 13:17.780
Either that or you're shit-faced drunk.

13:18.180 --> 13:18.980
You're completely drunk.

13:20.140 --> 13:20.600
What's that?

13:20.780 --> 13:22.420
I said either that or you're completely drunk.

13:23.680 --> 13:27.860
You know, you have a couple of 40s of steel reserve every day, and it happens.

13:28.180 --> 13:28.740
There you go.

13:29.640 --> 13:30.140
All right.

13:30.140 --> 13:33.960
Well, hopefully you're not too drunk this week, because we're going to move on to our

13:33.960 --> 13:40.620
main topic quickly, and our topic this week is virtualization, which is something I've

13:40.620 --> 13:46.160
mentioned on previous shows that I wanted to talk about, because I do think this is a very

13:46.160 --> 13:50.700
big thing, and I think this is a lot of, you know, again, a lot of our listeners out there

13:50.700 --> 13:53.360
probably are familiar with this and know a little bit about it, but we're going to talk

13:53.360 --> 14:03.340
about what virtualization is and running virtual desktops, running virtual environments for whatever

14:03.340 --> 14:08.860
reason, talk about what they are, how they work, give you some samples of different software packages out

14:08.860 --> 14:14.980
there that will do that for you, and go into some detail of not only what they do, generally speaking, but what they

14:14.980 --> 14:19.740
might be, what you might be able to do with them as a hacker, what interest you might have

14:19.740 --> 14:23.160
as a hacker to have a virtual environment like that.

14:23.360 --> 14:30.720
So, that is why we have Captain Rosebud, no, Johnny Swank on the show with us this week, because

14:30.720 --> 14:32.900
you swear by virtualization now.

14:32.920 --> 14:36.100
You absolutely refuse to do anything that's not virtualized now.

14:36.100 --> 14:43.700
Yeah, it's kind of crazy, I got into it, you know, maybe a couple of years ago, and it worked all right, but the

14:43.700 --> 14:49.480
way, the state of virtualization today, I literally have nothing installed on my machine other than my

14:49.480 --> 14:56.140
virtualization package and my virtual machine, and that's it, and I don't know, it makes my life a lot easier,

14:56.140 --> 15:02.860
because it's easier to reinstall on a virtual machine than it is to reinstall your actual machine, so that's why I do it.

15:02.860 --> 15:13.740
So, each one of these virtual machines is completely 100% independent from your actual main machine, your main box?

15:14.540 --> 15:15.180
Yeah, definitely.

15:15.320 --> 15:19.320
Nothing, no overlap whatsoever, no way, nothing can sneak out at all?

15:20.840 --> 15:22.920
Well, that's not entirely true.

15:23.120 --> 15:23.400
Okay.

15:23.400 --> 15:28.960
You can set it up so that you can go between the two, like you can set up file sharing between the two and all that kind of stuff.

15:28.960 --> 15:36.300
You can actually, even with the latest version of VMware, you can drag and drop files from your desktop into the virtual machine onto its desktop,

15:36.820 --> 15:44.560
and it basically, in the background, transfers it over Windows file sharing secretly, and that lets you copy things in there like that.

15:44.740 --> 15:48.860
Well, it's really like a second box, then, is that it's really just a second box.

15:48.860 --> 15:54.220
You're transferring files to a second machine, not into the virtual machine, per se.

15:54.820 --> 15:55.420
Yeah, exactly.

15:55.420 --> 15:57.460
As far as the machine, as far as your system knows.

15:58.580 --> 15:58.860
Yeah.

16:01.260 --> 16:05.540
But, have you used any virtualization products before, or anything at all?

16:05.860 --> 16:09.600
I've used Microsoft's in a limited capacity.

16:09.600 --> 16:21.860
We ran some Linux environments under Microsoft Virtual Server, and it was pretty much just a run dedicated, like, I think, Spam Assassin.

16:22.020 --> 16:24.480
One time we had an interface with Exchange somehow.

16:26.260 --> 16:27.160
Very limited.

16:27.520 --> 16:28.500
Very limited, I'll say.

16:28.500 --> 16:36.400
Well, when I got started using virtualization, I had kind of a, not such a great reputation, because it was slow.

16:36.560 --> 16:38.120
It was all slow.

16:38.520 --> 16:48.080
I think the first one that I used was called Fox, which is spelled B-O-C-H-S, and it appears that they still have this project alive and well, as of two months ago.

16:48.080 --> 16:52.120
So, the big problem with them was they virtualized everything.

16:52.300 --> 16:53.460
They virtualized the processor.

16:53.600 --> 16:58.280
They virtualized all the hardware and everything like that, which has advantages and disadvantages.

16:58.880 --> 17:01.680
The problem with virtualizing everything is that it's really slow.

17:01.820 --> 17:07.420
Like, you have to build in software a little virtual processor and then run your software on top of that virtual processor.

17:07.420 --> 17:16.520
So, every instruction that's being executed on this could be thousands or tens of thousands or even millions of instructions on your actual processor.

17:16.680 --> 17:19.300
So, you're looking at a huge performance hit.

17:20.400 --> 17:22.400
New virtualization products don't do that.

17:23.620 --> 17:28.100
What they do is they run the code natively, and they have the hardware virtualized.

17:28.220 --> 17:31.560
Not all of the code runs natively, but most of it as much as they possibly can.

17:32.600 --> 17:34.520
So, the advantage of that is that it's faster.

17:34.520 --> 17:37.220
The disadvantage is that you can't run other platforms.

17:37.420 --> 17:45.120
Like, with the previous virtualization, like Box, you could take a Sun machine and you could run Linux on it because it virtualized the whole processor.

17:45.520 --> 17:47.520
But with something like VMware, you can't do that.

17:47.580 --> 17:55.000
If you want to run Mac software, although I don't know why you would want to do that, or if you wanted to run Sun software, you just can't do it on something like VMware.

17:55.260 --> 17:56.780
But it's a lot faster.

17:56.780 --> 18:02.440
So, the penalty for virtualization nowadays is minimal enough where I don't even notice it.

18:02.940 --> 18:07.040
So, you said you've used Microsoft's virtualization package.

18:07.040 --> 18:10.940
I've heard that it's actually pretty fast, comparable to VMware.

18:11.100 --> 18:14.440
Some people even say faster, but I don't see the performance of that.

18:14.440 --> 18:18.800
And what I used to clarify was like their very first generation of it.

18:18.900 --> 18:21.020
So, I know it's come a long way since then.

18:21.740 --> 18:28.920
This was the very first generation, gosh, three, four years ago, two, three years ago, something like that.

18:28.920 --> 18:34.440
It was quite a while back, and really I worked in the – I had to work inside of the environment.

18:34.560 --> 18:38.420
I didn't do any of the setup of it or installation or any of the stuff like that.

18:38.480 --> 18:42.520
So, maybe we should back up and talk about – okay, we described kind of what it is.

18:42.520 --> 18:45.100
But, I don't know, correct me if I'm wrong.

18:45.200 --> 18:51.340
Is it wrong to think of it like when we create ISO files to burn CDs or something like that?

18:51.360 --> 18:59.120
You'll burn something to an ISO, which is an image, a mountable image even if you use some of the tools out there that will let you mount it virtually.

18:59.240 --> 19:00.360
It's doing kind of the same thing.

19:00.360 --> 19:12.180
In virtual servers, you can create an image of whatever environment you want it to be, and you basically just – is the term mounted or just activated or what – how would you explain that?

19:12.880 --> 19:15.880
Well, in VMware terms, I think the term is play.

19:16.260 --> 19:26.060
So, you have a virtual image, and you can load that onto any VMware server or VMware workstation or VMware player instance and just pop it in there and hit play.

19:26.060 --> 19:36.120
And the virtual – the image that you have basically specifies that I have a machine with X number of hard drives.

19:36.180 --> 19:40.300
Each one is X number of gigabytes, and the machine has this amount of RAM.

19:40.740 --> 19:47.520
You can also specify other virtual hardware like mice and other things like that, modems.

19:47.520 --> 20:01.640
So, basically, your virtual machine file will say, okay, I've got a machine with one gigabyte of RAM, four 80-gig hard drives, and, you know, a USB mouse and a virtual CD-ROM drive, something like that.

20:01.920 --> 20:10.360
So, then anybody that has at least a gigabyte of RAM and the hard drive space for that, they can copy that big image file, bring it to that machine, hit play, and start with the machine.

20:10.360 --> 20:14.500
And it will run the same on your machine as it runs on my machine.

20:14.580 --> 20:17.640
There are some exceptions to that, but they're few and far between.

20:18.400 --> 20:28.920
And you were telling me one time, I believe, that you were actually taking images and using them on one box and taking them home and continuing working where you left off easily because of that?

20:29.740 --> 20:40.200
Yeah, what I would do is I had an external hard drive, and I would take my images from my desktop machine, and I would put them on the external hard drive.

20:40.600 --> 20:46.860
When I went traveling or something like that, because some of the images I have are bigger than the free space left on my laptop drive at this point.

20:47.360 --> 20:55.680
So, then I would travel, and I'd be in a hotel room or whatever, and I'd plug in my drive and, you know, boot up my virtual machine that had been running on my desktop, but now boot it up on my laptop.

20:56.240 --> 20:57.900
And it worked just fine.

20:57.900 --> 21:01.040
And it's nice, because I always have the same environment wherever I go.

21:01.380 --> 21:07.760
I don't have to worry about, you know, installing my development environment on two machines, worry about the licensing for two machines,

21:07.760 --> 21:12.240
and then, you know, make sure that everything is matched up and all that.

21:12.320 --> 21:17.660
You know, my source code, my development environment, all that stuff stays on one image, and I just move around wherever I need it.

21:17.720 --> 21:21.300
And if I go to a friend's place or whatever, and they want to, you know, check out what I've been working on,

21:21.300 --> 21:25.620
I can just bring my actual hard drive and boot it on a VMware player and show them what I've got.

21:26.200 --> 21:33.160
So, it's basically like I can take all of my stuff, freeze it at any point in time, and bring it somewhere and say, this is exactly where I left off.

21:33.700 --> 21:36.580
Now, you say freeze it at any point in time.

21:36.680 --> 21:44.780
So, let's say you've got a virtual environment that's, I don't know, let's just say it's a Windows XP image with, I don't know,

21:44.780 --> 21:51.140
15 apps installed to it, development, Visual Studio or something like that installed.

21:51.800 --> 21:56.920
Do you keep your source trees and stuff like that on there as well, and they're part of the image?

21:56.980 --> 22:02.720
And every time you make changes, do you update the image, or do you keep the source separately somewhere else?

22:02.920 --> 22:05.640
Or kind of clarify that a little bit, because I think that's a little confusing.

22:06.200 --> 22:13.920
Okay, well, actually what I do with my source code is I have it on a web server, on an Apache server that's running some version.

22:13.920 --> 22:16.740
So, I check out my code and update my code through that.

22:16.820 --> 22:21.300
So, even if I'm not using the same image, I can just check out my code and always have everything up to date.

22:21.460 --> 22:22.120
You know, I check in.

22:22.440 --> 22:25.360
Once I'm done working on it, I check it in, and then I can check it out from anywhere else.

22:25.900 --> 22:30.720
But, yeah, the source code is local on the actual image.

22:31.240 --> 22:34.320
I just check it out through Subversion.

22:34.460 --> 22:37.060
You just need a client to connect to Subversion and pull it down.

22:37.740 --> 22:38.640
Right, right, right.

22:39.040 --> 22:40.140
Okay, and actually...

22:40.140 --> 22:43.580
If I ever get out of date, I can just tell Subversion, go to my web server, update the code.

22:43.580 --> 22:49.340
If I happen to have, you know, if I happen to be working on the same project on, like, multiple virtual machines, I can do that.

22:49.820 --> 22:51.380
So, that's how I synchronize my source code.

22:51.800 --> 22:53.580
That's a little confusing, but...

22:53.580 --> 22:59.060
Well, and you mentioned something else, too, that's a factor to think about, and that's licensing.

22:59.500 --> 23:00.620
Is there any issues?

23:00.720 --> 23:02.540
Are there any issues, I should say, with licensing?

23:03.540 --> 23:12.040
Let's say, again, using a simple example, you have Microsoft Office installed on your main box, but then you're running virtual machines, virtual...

23:12.040 --> 23:14.000
You're playing different virtual environments there.

23:14.260 --> 23:17.860
Can each one of those have Office installed as well, or is that illegal?

23:17.960 --> 23:19.460
Is that breaking the licensing agreement?

23:20.200 --> 23:22.200
You know, it all depends on the software company.

23:22.200 --> 23:28.680
I think that Microsoft's license agreement lets you have two copies of Office.

23:28.940 --> 23:32.620
I'm not totally sure, because I don't use Office, but I've been talking to somebody about it.

23:32.800 --> 23:33.720
Don't hold us to this.

23:34.160 --> 23:34.580
What's that?

23:34.700 --> 23:35.840
I say, don't hold us to this.

23:35.880 --> 23:36.440
We're not lawyers.

23:36.620 --> 23:37.200
We're just...

23:38.540 --> 23:42.200
Yeah, well, this person I was talking to seemed to be under the impression that you were allowed to have...

23:42.720 --> 23:49.020
If you bought Microsoft Office, that you could have it on your desktop, and you were allowed to have a copy on your laptop so that you could travel with it.

23:49.020 --> 23:50.820
But you should only be using one of them at a time.

23:50.960 --> 24:00.500
So, technically, if you had a desktop and a virtual image, I would imagine that you'd be allowed to install it on your desktop and on your virtual image.

24:00.500 --> 24:04.640
As long as you were only using one of them at a time, that you wouldn't be breaking the licensing agreement.

24:04.920 --> 24:09.040
But, honestly, what I would do is I would forget installing it on your desktop altogether.

24:09.240 --> 24:11.920
Just install it on the virtual image and bring the virtual image around to you.

24:12.000 --> 24:15.180
I think you have fewer licensing problems when you do it like that.

24:15.280 --> 24:18.660
As long as you're not making copies of the virtual machine and, like, handing it out to your friends,

24:19.020 --> 24:19.960
then it's okay.

24:20.440 --> 24:23.020
So, do you have anything really installed on your main machine?

24:24.980 --> 24:25.560
Let's see.

24:25.640 --> 24:26.580
I have VMware.

24:28.260 --> 24:35.400
I have Verizon Access Manager, which is for my EVDO card, and that's it.

24:36.100 --> 24:38.380
And everything else is installed via these sessions?

24:39.140 --> 24:39.380
Yeah.

24:39.460 --> 24:48.300
The only other stuff, the only application, actually, that I have to install on my main machine, I don't have to, but the performance is much better, is Google Earth.

24:48.300 --> 24:54.160
For whatever reason, on my laptop, hardware acceleration, 3D acceleration, doesn't work.

24:54.260 --> 24:55.440
VMware has support for it.

24:55.860 --> 24:56.580
It's experimental.

24:57.060 --> 24:59.000
But Google Earth runs really slowly.

24:59.200 --> 25:01.620
So, I install that on my main machine.

25:01.760 --> 25:03.340
So, I have kind of three applications.

25:03.540 --> 25:09.540
There's some other miscellaneous crap that came up with my laptop that I'm too lazy to uninstall, but I don't use any of it.

25:09.840 --> 25:14.840
So, I try to keep everything at a minimum, which is nice because my machine boots up really, really fast now.

25:14.840 --> 25:18.180
Both my laptop and my desktop just boot up ridiculously fast.

25:18.180 --> 25:21.660
And I can junk up my virtual machine and not worry about it.

25:21.700 --> 25:25.680
If I ever need to reinstall it, just restore a previous image.

25:27.100 --> 25:32.800
And I don't know, it's going to go through all the hassle of, you know, spending an hour reinstalling it so I can do it in five minutes.

25:32.800 --> 25:40.200
Right now, and you'll create your image, your standard image that you want to mount each time with whatever your regular apps are.

25:40.620 --> 25:45.100
And let's say a new app comes out that you want to install and keep on there persistently.

25:45.200 --> 25:50.360
Is it easy to update that image or do you make a completely new image and trash the old one?

25:50.480 --> 25:52.300
Or what do you do in that situation?

25:53.000 --> 25:54.320
Well, there's two ways you can do it.

25:54.400 --> 25:56.440
You can either kind of manage it yourself.

25:56.440 --> 26:01.320
Like, you can have your virtual machine, install everything you want on it, and then power it off.

26:01.320 --> 26:03.720
And then take the virtual machine file and just archive it somewhere.

26:03.860 --> 26:08.320
You know, RAR it up, put it on a CD, and, you know, put it in your desk somewhere.

26:09.140 --> 26:11.480
Just hold on to it for the next time you want to make a copy of it.

26:11.820 --> 26:12.540
You can do that.

26:12.600 --> 26:16.240
And then any time you add new applications, you know, you can do the same thing.

26:16.320 --> 26:20.440
Add your new application, shut your machine down, archive the whole thing, and put it on a CD.

26:20.540 --> 26:23.380
You can throw away the old CD or keep the old CD, whatever you want to do.

26:24.640 --> 26:25.780
But that's one way to do it.

26:25.780 --> 26:30.340
If you have VMware Player or VMware Server, that's really your only option.

26:30.340 --> 26:36.640
Because they support what's called snapshotting, where I can say, I want to be able to go back to this point in time.

26:37.540 --> 26:42.840
So I can be running my machine, install my application, create a snapshot, do whatever I want to do,

26:43.200 --> 26:47.040
and then roll it back and go back to this one point in time.

26:47.120 --> 26:50.320
But you can only do that once with VMware Server and VMware Player.

26:51.000 --> 26:54.820
So you're better off archiving it yourself, like I said, on CDs or DVDs.

26:54.940 --> 26:58.020
With VMware Workstation, you can create as many snapshots as you want.

26:58.020 --> 27:04.600
So even what I do is I do my Windows installation, create a snapshot there, install my development environment,

27:05.080 --> 27:06.120
create a snapshot there.

27:07.220 --> 27:10.360
And then from there I start, you know, building my applications and doing whatever.

27:10.560 --> 27:15.880
So if I ever need to go back to my pristine Windows installation or make another copy of it,

27:16.100 --> 27:23.500
I can click on that installation, click clone, and have another copy without having to dig out my CDs or do anything funky.

27:23.500 --> 27:28.200
So VMware Workstation, if you're going to be doing a lot of development, definitely the way to go.

27:29.480 --> 27:34.200
Well, it sounds like the snapshot is a really cool feature.

27:34.320 --> 27:37.820
I mean, it's like basically a rollback or a commit in database terms.

27:37.920 --> 27:42.980
I mean, you can always roll back, especially if you've been working on something and just make a mistake.

27:43.180 --> 27:48.680
You can roll back to the previous point that you have stored and not have to do –

27:48.680 --> 27:52.160
it sounds like it would save a lot of time, but you say it only lets you do one of those?

27:52.160 --> 27:56.040
Oh, yeah, on the free ones, VMware Server and VMware Player.

27:56.540 --> 27:57.200
They're free.

27:57.400 --> 28:01.040
But the pay version of VMware Workstation, you can do as many as you'd like.

28:01.120 --> 28:02.240
And you can get complicated.

28:02.460 --> 28:05.420
You can have trees of snapshots.

28:05.540 --> 28:11.100
Like you create your development snapshot, and then you can roll back to your pristine snapshot

28:11.100 --> 28:17.100
and then make, you know, some type of like desktop application snapshot and have those two in parallel.

28:17.240 --> 28:19.880
So you can switch back and forth between those, whatever you'd like.

28:19.880 --> 28:23.700
So you want it to develop it, you go to your development machine, which is just a snapshot,

28:23.880 --> 28:27.320
or you can go back to your desktop application machine, which is just another snapshot.

28:28.080 --> 28:30.480
And, I mean, that's really, really useful.

28:30.700 --> 28:34.320
If you're working on a project and you either don't have source control

28:34.320 --> 28:39.100
or you're working on something that's difficult to use source control with,

28:39.120 --> 28:43.880
like a lot of binary files or something, you can use that kind of as your poor man's source control.

28:43.880 --> 28:48.860
And if you blow something away by accident, before you think you're going to do something destructive

28:48.860 --> 28:52.280
or something that might have, you know, something that you can't roll back,

28:52.520 --> 28:54.540
just create a snapshot and then go and work along.

28:54.660 --> 28:57.400
And then once you're done, if you need to, roll back the snapshot.

28:57.580 --> 29:00.260
If you don't, delete the snapshot and reclaim all of this space.

29:00.760 --> 29:02.920
Yeah, and you said, you know, source versioning.

29:03.000 --> 29:04.760
I mean, that's exactly what it sounds like.

29:04.820 --> 29:07.240
I mean, you can go back, especially with the different trees.

29:07.340 --> 29:08.360
It's a perfect description.

29:08.360 --> 29:12.660
You can go back and find at any point in time what code you want to go back and check

29:12.660 --> 29:13.820
and see what changes were made.

29:13.900 --> 29:23.260
So it's like the features of a versioning system, except applied towards virtual PC, virtual environment.

29:24.260 --> 29:24.800
Yeah, exactly.

29:25.100 --> 29:29.460
It really is source control for your game images.

29:29.720 --> 29:30.780
For your applications, yeah.

29:30.940 --> 29:33.800
So, all right, so we've mentioned a couple here as we've been talking,

29:33.920 --> 29:37.200
but let's make a quick, it's probably a pretty short list, isn't it?

29:37.200 --> 29:39.940
How many different virtual software packages?

29:40.180 --> 29:41.920
I don't know if that, is there a proper term?

29:42.060 --> 29:42.960
I don't know, it sounds kind of weird.

29:43.020 --> 29:47.260
It sounds like a long title to call them, virtual environment software.

29:48.660 --> 29:49.880
I don't know what else to call them.

29:51.240 --> 29:53.340
Everyone I know calls them virtualization packages.

29:53.340 --> 29:54.540
Okay, just virtualization.

29:54.680 --> 29:57.320
Okay, so we know we've mentioned Microsoft Virtual Server and VMware.

29:58.400 --> 29:58.760
Right.

29:59.080 --> 30:02.280
Now, there are some other ones.

30:02.360 --> 30:06.020
Like I said, there's Box, which who knows the status of that now.

30:06.020 --> 30:11.020
But there was another one that somebody was telling me about the other day.

30:11.080 --> 30:12.980
I thought it was called QEMU.

30:13.960 --> 30:15.140
Yeah, processor emulator.

30:15.940 --> 30:18.540
But I don't really know how well that works.

30:18.780 --> 30:20.180
I haven't personally touched it.

30:20.260 --> 30:22.960
It may be the greatest piece of software ever, but I've never used it.

30:22.960 --> 30:27.260
But as far as I'm concerned, VMware works for me.

30:28.700 --> 30:31.240
You know, it runs a little bit nicer than the Microsoft one that I've seen.

30:31.360 --> 30:34.280
All the reviews I've seen say that VMware is light years ahead of Microsoft.

30:34.980 --> 30:35.340
Really?

30:35.340 --> 30:39.400
You know, I had to buy it for business anyway, so I figured, why not use it?

30:39.800 --> 30:40.660
Right, right.

30:40.700 --> 30:45.640
But that's kind of, I guess you could say I'm kind of stuck with VMware, but nobody's really

30:45.640 --> 30:49.180
told me, like, oh, man, you've got to switch off VMware because this other platform is so

30:49.180 --> 30:49.560
much better.

30:49.760 --> 30:52.200
And once I hear somebody say that, I will definitely try it out.

30:52.200 --> 30:56.840
But until that point in time, I just haven't really been looking around for anything else.

30:57.780 --> 31:00.760
Well, I do know that, we mentioned license earlier.

31:00.880 --> 31:06.220
I do remember that with Microsoft Virtual Server, that they did make, I mean, one of the benefits

31:06.220 --> 31:11.620
that they pitch people to buy Microsoft Virtual Server was that it does save you money on licensing.

31:12.400 --> 31:17.400
So I guess there is some sort of exception that they allow you to have, you know, if you're

31:17.400 --> 31:21.920
going to install a bunch of virtual Windows NT environments or 2000 or whatever, that they're

31:21.920 --> 31:23.500
not going to charge you for each extra one.

31:23.640 --> 31:29.600
I guess with the Virtual Server, they allow you to have more images for less money or the

31:29.600 --> 31:30.840
same money or something like that.

31:31.040 --> 31:35.360
So that's, you know, if that's a factor at your, you know, for business application, if

31:35.360 --> 31:39.780
you're an all-Microsoft shop, you know, even, it might just be better for you to go with

31:39.780 --> 31:40.820
the Microsoft solution.

31:41.740 --> 31:44.700
If you're already that much in bed with Microsoft, you're kind of screwed anyway.

31:45.680 --> 31:46.080
Yeah.

31:46.960 --> 31:51.680
But yeah, I've heard about those little loopholes where Microsoft says, you know, if you're using

31:51.680 --> 31:53.740
VMware, you're going to have to save for extra licenses.

31:53.940 --> 31:57.240
But if you use our package, you get a special deal on life.

31:57.240 --> 31:58.280
Right, right.

31:59.460 --> 32:04.080
Which I think is really the only way that they can sell their virtualization product.

32:04.600 --> 32:04.880
Well.

32:04.980 --> 32:07.160
Because I haven't heard anything great about it, really.

32:07.780 --> 32:11.840
Everything I hear is that Microsoft can't catch up to VMware.

32:12.780 --> 32:16.400
Well, I mean, it seems like I've read some articles where they're trying to.

32:16.400 --> 32:21.780
They're certainly still putting a lot of development time into their virtual server package.

32:22.920 --> 32:24.220
So I know they're trying.

32:24.400 --> 32:27.220
Now, whether they do or not, I mean, you've got a lot of resources at Microsoft.

32:27.500 --> 32:31.120
I mean, look how they've caught up in every other, they fall behind on so many applications.

32:31.840 --> 32:33.700
They throw money at it and eventually catch up.

32:33.800 --> 32:37.340
I mean, look at the browser wars from back in the day.

32:37.480 --> 32:43.280
I mean, IE came out of nowhere and possibly through some shady means, they ended up dominating

32:43.280 --> 32:46.300
the market and still do, as much as we all hate to admit it sometimes.

32:48.240 --> 32:48.600
Office.

32:48.780 --> 32:49.940
I mean, look at Microsoft Office.

32:49.940 --> 32:54.160
I don't know if anybody remembers, but WordPerfect used to be the Office suite that you would use.

32:54.280 --> 33:00.020
WordPerfect suite, WordPerfect with, what was that, Lotus 1, 2, 3?

33:00.940 --> 33:02.700
And Microsoft comes in.

33:03.160 --> 33:03.900
D-Base 4.

33:04.020 --> 33:06.460
I remember, I learned D-Base 4 back in the day.

33:07.700 --> 33:11.380
So Microsoft certainly can play cash up pretty well if they throw the money at it.

33:11.380 --> 33:14.440
And I don't know if there's an, that's interesting.

33:14.560 --> 33:17.360
I'm going to check that out after the show and see if they're coming out with a new version

33:17.360 --> 33:19.420
of Virtual Server anytime soon.

33:19.560 --> 33:21.320
What is the, I don't even know what the latest one is.

33:21.480 --> 33:26.020
Is there, do they number them like everything else, Virtual Server 2003, 2005?

33:28.700 --> 33:30.060
I don't know the answer to that.

33:30.480 --> 33:31.560
I honestly don't know.

33:31.680 --> 33:36.980
I just did a Google search for it and first hit is Microsoft Virtual Server 2005 R2.

33:36.980 --> 33:44.960
So one thing I've got to say about it is that VMware seems to have more like cool features

33:44.960 --> 33:48.620
for developers, but people tell me that the performance of Virtual Server, like I said

33:48.620 --> 33:52.400
before, is equal to or better than VMware.

33:53.600 --> 33:56.600
If performance is really an issue for me, I would probably check it out.

33:56.720 --> 34:00.500
I'd probably look at Virtual Server a little more, but performance isn't really all that

34:00.500 --> 34:02.080
important to me considering what I'm doing.

34:02.080 --> 34:06.000
Well, all right, and let's talk about that a little bit and let's break down a little

34:06.000 --> 34:08.820
bit more than we've already done about how these things work.

34:08.940 --> 34:16.760
I mean, virtualization, it is taking every bit of hardware that you have and loading it

34:16.760 --> 34:23.960
into memory, virtualizing the drivers for every bit of hardware, virtualizing, gosh,

34:24.020 --> 34:25.280
I don't even know how to put it into words.

34:25.420 --> 34:27.360
You can probably do it better than I can.

34:27.360 --> 34:33.220
Yeah, it's kind of, you know, instead of having just a physical piece of hardware that's a

34:33.220 --> 34:38.100
graphics card or, you know, a hard drive controller or something like that, you know, they just

34:38.100 --> 34:42.040
write a piece of software that kind of emulates what that would do and then translates that

34:42.040 --> 34:43.700
to your host operating system.

34:43.880 --> 34:48.040
So when your virtual machine says, I need to write this block to this part of the disk,

34:48.060 --> 34:50.060
it's really not writing to that part of the disk.

34:50.120 --> 34:55.460
It's telling VMware, hey, find where this block of my virtual disk is on your host operating

34:55.460 --> 34:57.220
system and write to it for me.

34:57.280 --> 35:02.440
So that's where your performance gets impacted because you're not writing directly to any

35:02.440 --> 35:03.000
piece of hardware.

35:03.140 --> 35:06.700
There's always that layer that sits there and has to kind of translate in between the

35:06.700 --> 35:06.820
two.

35:06.940 --> 35:11.700
You're never drawing directly to the screen unless you're using an experimental acceleration.

35:12.540 --> 35:16.600
You're never writing directly to the disk unless you're using, there is an option to do

35:16.600 --> 35:20.540
that actually in VMware where you can, you know, tell this is my physical disk, write to it

35:20.540 --> 35:20.880
directly.

35:20.880 --> 35:24.840
You're never playing directly to the sound card, you never, you know, you've always got

35:24.840 --> 35:25.740
to go through that layer.

35:25.960 --> 35:30.600
So whatever software they've written there, unless it's really super efficient, you're

35:30.600 --> 35:31.240
going to notice it.

35:31.380 --> 35:35.860
But like I said, for me, the performance is so good for me that I don't notice it.

35:36.020 --> 35:39.560
And if I was doing something that was really processor intensive or really graphics intensive

35:39.560 --> 35:42.220
like Google Earth, then I would notice it.

35:42.300 --> 35:45.020
And that's the only exception that there's been for me so far.

35:45.020 --> 35:52.760
So for every piece of hardware, it has to load into memory all the support and everything

35:52.760 --> 35:56.180
that it needs to interface with that virtual piece of hardware that it now has.

35:56.320 --> 36:02.120
So performance-wise, and you and I have had this discussion, debate, argument a lot of

36:02.120 --> 36:06.280
times, and you keep telling me over and over again that it's more efficient than I believe,

36:06.280 --> 36:12.840
but it seems like that is a huge amount of overhead to add, especially in Windows operating

36:12.840 --> 36:18.040
systems, which already has horrible, huge overhead and using lots of memory just to

36:18.040 --> 36:19.420
boot up your standard desktop.

36:19.700 --> 36:23.900
And then you're going to boot up or play or whatever term you want to use, your virtual

36:23.900 --> 36:28.700
environment, which is going to do all the same thing, which is double in my mind, plus

36:28.700 --> 36:31.960
whatever applications and other things you have running inside of that.

36:31.960 --> 36:36.000
And then if you've got a lot of reads and writes to a virtual disk, to use your example,

36:36.360 --> 36:37.920
that's going to eat up even more memory.

36:38.080 --> 36:43.020
It just, it seems like, and again, I take, I trust that you're telling me that it's not

36:43.020 --> 36:48.400
as bad as I think, but it just seems like that could really, really eat up your CPU,

36:48.540 --> 36:53.640
that you would just be so slow that it doesn't seem like it would be usable.

36:53.940 --> 36:58.140
Obviously, I'm wrong because I have seen in shops that I've worked at where they had two

36:58.140 --> 37:02.140
or three virtual windows open at the same time.

37:02.900 --> 37:07.900
So I'm sure, basically, it certainly cannot be as fast as running just drop your environment

37:07.900 --> 37:08.500
natively.

37:08.700 --> 37:10.720
It certainly can't be as fast as that.

37:11.560 --> 37:14.960
But, I mean, what kind of degradation do you get?

37:15.100 --> 37:19.000
And does it further with each extra window or each extra virtual environment that you

37:19.000 --> 37:23.280
open, does it degrade exponentially or do you usually just use one?

37:23.280 --> 37:30.480
I usually just use one, but there are a few things that I've needed to run multiple virtual

37:30.480 --> 37:31.640
machines at the same time.

37:32.220 --> 37:33.520
VMware calls them teams.

37:34.980 --> 37:38.180
So you can have, like, let's say four machines in a team.

37:38.300 --> 37:42.880
So I pop open, instead of just my one virtual file, I pop open my team file, I hit play,

37:42.980 --> 37:44.440
and then all four machines start up.

37:45.280 --> 37:49.420
You can notice that there is a slowdown, at least when the machines are starting up.

37:49.420 --> 37:55.460
But, honestly, if you look at typical, you know, straight-up, you know, end-user usage

37:55.460 --> 38:00.640
patterns, I mean, how often is your CPU really maxed out during daily use?

38:00.660 --> 38:03.400
If you're, like, editing video or something, yeah, it's maxed out all the time.

38:03.740 --> 38:06.740
But when you're sitting there, like, browsing the web or doing something like that, even

38:06.740 --> 38:11.280
using Visual Studio, unless you're building, your CPU really isn't pegged.

38:11.340 --> 38:12.600
Your disk really isn't pegged.

38:14.440 --> 38:15.620
I'm thinking more memory.

38:15.620 --> 38:20.280
Doing something processor-intensive or disk-intensive might be noticeable, but unless you're really

38:20.280 --> 38:24.200
slamming the processor and disk all the time, I don't think the average user notices it.

38:24.620 --> 38:26.300
Well, I'm thinking more along the lines of memory.

38:28.700 --> 38:34.160
No, memory is, see, the part of the memory that's really not, that's not really too much

38:34.160 --> 38:34.780
of a bottleneck.

38:34.840 --> 38:38.460
Because what VMware does is it allocates, like, a huge chunk of memory.

38:38.460 --> 38:44.680
You know, if you need 512 megs for your machine, it allocates a 512 meg chunk of memory, that's

38:44.680 --> 38:46.020
a contiguous chunk of memory.

38:46.140 --> 38:47.860
So it's addressing that memory directly.

38:48.020 --> 38:51.860
So the translation there, the penalty is almost non-existent.

38:52.400 --> 38:58.480
Well, and if you've got three virtual environments, each of them needing 512, you need 1.5 megs of

38:58.480 --> 39:01.460
RAM just for those, plus whatever you're natively running.

39:02.340 --> 39:06.860
So I guess let's go back to emphasize, or not go back, but let's emphasize the fact

39:06.860 --> 39:08.840
that you really need some power to run this, too, right?

39:08.840 --> 39:14.380
You can't really put this virtual server and run it on your, you know, your laptop that

39:14.380 --> 39:16.840
has 512 megs of physical memory on it.

39:17.240 --> 39:18.320
You're going to run into problems.

39:18.640 --> 39:22.700
Maybe if you wanted to run some small, you know, Linux machines.

39:22.800 --> 39:24.600
But if you're only on one machine, it's not a big deal.

39:25.100 --> 39:28.900
You know, if you just, if you have a Windows affiliation like mine that has nothing on it,

39:28.900 --> 39:31.560
you know, it really doesn't take that much RAM to boot.

39:31.640 --> 39:32.400
You'd be surprised.

39:34.700 --> 39:38.980
So that little bit of memory that it takes up, you know, plus your 512 megs, you know,

39:39.000 --> 39:43.080
if you've got, if you want to run a 512 meg machine, you've got 768 megs of RAM, you're

39:43.080 --> 39:43.520
going to be fine.

39:43.580 --> 39:46.040
If you want to run multiple machines, yeah, you're going to need a lot of RAM.

39:46.140 --> 39:47.880
You're going to need, you know, a decent processor.

39:48.300 --> 39:51.340
But the thing is, you're getting four machines out of one.

39:51.580 --> 39:55.520
Right, which is the whole main benefit, of course, that they're all touting and pushing

39:55.520 --> 39:58.620
this towards businesses who are all about the bottom line.

39:58.620 --> 40:02.600
If we can run four machines for the one machine, the price of one machine, but we can get

40:02.600 --> 40:07.040
performance of four out of it, you know, in their minds, that's a great deal.

40:07.660 --> 40:12.880
Yeah, and I know, I actually work with a couple of companies for my job, but they've, they're

40:12.880 --> 40:17.120
running VMware ESX server, and we can get into that later, because it's a lot more involved

40:17.120 --> 40:18.880
than just the regular VMware products.

40:19.320 --> 40:23.560
They're running that, and they're virtualizing, you know, 20, 30 machines on one single box.

40:23.560 --> 40:28.560
And performance is just, they know how to tune it really well, and, you know, they've got

40:28.560 --> 40:30.040
serious horsepower behind it.

40:30.100 --> 40:31.440
Performance is just awesome.

40:31.860 --> 40:32.120
Really?

40:32.220 --> 40:33.720
Well, I think this is probably a good point.

40:33.800 --> 40:36.020
We're still talking about the different packages and performance.

40:36.140 --> 40:38.940
So maybe, what is the ESX, you said?

40:39.620 --> 40:41.540
Yeah, VMware ESX server.

40:41.540 --> 40:47.100
VMware regular server and VMware workstation and VMware player that I was talking about

40:47.100 --> 40:50.480
before, they're applications that run on either Linux or Windows.

40:51.320 --> 40:54.200
VMware ESX server is its own operating system.

40:54.540 --> 40:58.640
When you get ESX server, you don't install anything on a box other than that.

40:58.940 --> 41:01.920
So when it comes up, I don't even know what the interface looks like on it, because I've

41:01.920 --> 41:03.420
never seen one of these boxes in person.

41:03.540 --> 41:05.460
I've only seen the administrative interface remotely.

41:05.460 --> 41:11.400
But it's just running VMware, so there's much less crap in the way.

41:11.580 --> 41:14.640
You're not asking Windows to write to the disk for you.

41:14.920 --> 41:20.040
You're just, VMware ESX server is doing everything for you as efficiently as it possibly can.

41:21.020 --> 41:22.180
That sounds brilliant to me.

41:22.820 --> 41:23.820
Yeah, yeah, it's great.

41:23.940 --> 41:29.600
And the really nice thing about it is, and what people really get excited about, is it

41:29.600 --> 41:31.260
has this great administration tool.

41:31.260 --> 41:36.580
So you can, let's say you have four or five ESX servers, you know, they're running 10 machines

41:36.580 --> 41:36.960
apiece.

41:37.220 --> 41:41.980
You can pop open this tool, and you can see, you know, how much disk activity is going on

41:41.980 --> 41:46.140
on each server, how much the CPU is used, how much memory has been used, and all that.

41:46.580 --> 41:51.180
And they have this thing called vMotion, which you have your four servers, and you notice that

41:51.180 --> 41:55.060
one server really isn't doing much of anything, but the other servers are kind of pegged.

41:55.540 --> 41:59.300
You can click on a virtual machine, and you can say, move this virtual machine to this

41:59.300 --> 42:00.240
underutilized server.

42:01.320 --> 42:06.320
In real time, it takes the image, moves it across the network, and without the machine

42:06.320 --> 42:10.780
going down, and without the end users even disconnecting from it, it just moves to the

42:10.780 --> 42:11.220
new machine.

42:11.600 --> 42:12.000
How?

42:12.180 --> 42:13.720
How in the hell does it pull that off?

42:14.400 --> 42:17.960
It requires kind of a tricky network configuration.

42:18.280 --> 42:21.820
All of these machines have to be sitting behind a particular type of switch so that they can

42:21.820 --> 42:28.580
share IP addresses, but I've watched somebody do it, and it's amazing.

42:28.800 --> 42:33.040
He pops open a window, and he's pinging this box, and he says, okay, now I'm going to move

42:33.040 --> 42:35.260
this virtual box from one machine to another.

42:35.620 --> 42:38.040
And the pings are going, like, you know, less than one millisecond.

42:38.620 --> 42:43.540
As the machine's moving, a couple of the ping packets are, like, two, three, four, ten milliseconds,

42:43.700 --> 42:45.820
and then it goes right back out to less than one millisecond.

42:45.820 --> 42:47.260
And that's the only thing I noticed.

42:47.420 --> 42:50.920
Like, he was on the machine, running applications, no problem.

42:51.560 --> 42:52.340
That is uber.

42:52.900 --> 42:54.860
Yeah, it is definitely uberleat.

42:54.980 --> 42:55.160
That's so cool.

42:55.160 --> 42:59.960
The things that are required for it are, obviously, fancy network config, like I said, where they

42:59.960 --> 43:04.440
can share IP addresses, and the network won't freak out, gigabit connections between all

43:04.440 --> 43:06.420
the machines, and you need a SAN.

43:06.780 --> 43:12.740
The virtual image has to be stored on shared storage, which isn't really a big deal.

43:12.740 --> 43:17.300
So these companies have, like, a SAN from EMC or EMC or something like that that's super

43:17.300 --> 43:19.040
fast and just tuned to the max.

43:19.040 --> 43:24.240
So one server, basically, all it's transferring is the content of RAM from one server to the

43:24.240 --> 43:24.440
other.

43:25.320 --> 43:29.580
And then once that content of the RAM removed, then it can just take over completely.

43:30.380 --> 43:35.880
But magically, while it's transferring, it still works, which is just amazing to me.

43:36.320 --> 43:39.200
Yeah, that's pretty damn cool, I have to say.

43:39.200 --> 43:45.120
But let's reel it back a little bit, because maybe there's a few of our listeners that might

43:45.120 --> 43:51.200
be able to bankroll something like that, but that sounds like some big money corporate

43:51.200 --> 43:52.760
solution type stuff there.

43:52.940 --> 43:57.920
I think when you get into the VMware ESX server, you're looking at, like, a starting cost of

43:57.920 --> 43:59.460
somewhere around $25,000 to $30,000.

43:59.980 --> 44:00.380
Good.

44:00.600 --> 44:01.220
Googly moogly.

44:01.760 --> 44:03.580
Yeah, and that's not including hardware.

44:03.580 --> 44:07.600
I think that may just be the VMware licenses.

44:08.280 --> 44:09.180
It's very expensive.

44:09.520 --> 44:14.520
But huge companies that have, you know, that have, like, you know, eight processors, Xeon machines

44:14.520 --> 44:16.500
with, you know, 64 gigabytes of RAM.

44:17.020 --> 44:17.380
Right.

44:17.760 --> 44:23.380
So they're looking, they don't want to spend the money on buying, you know, 40 machines.

44:23.520 --> 44:26.740
The problem with that is you've got 40 times the hardware that can fail.

44:26.900 --> 44:31.380
You've got, you know, 40 times the startup cost for buying all these machines, like each power

44:31.380 --> 44:34.580
supply, you've got to figure, you're buying 40 machines, you're buying 40 power supplies.

44:34.660 --> 44:38.720
If you can just buy one big, efficient power supply, you're making out like a bandit.

44:38.840 --> 44:42.400
And just power consumption is another thing that people are really conscious about now.

44:42.520 --> 44:43.800
It's just getting really expensive.

44:44.080 --> 44:44.360
Right.

44:44.720 --> 44:48.480
VMware markets that, and they say, you know what, you'll cut your power utilization by,

44:48.560 --> 44:52.340
you know, 50% or even 75% at some places like that.

44:52.340 --> 44:57.620
So they can give you a return on investment statement that really impresses a lot of business

44:57.620 --> 44:57.900
people.

44:58.100 --> 44:59.200
And it's no bullshit.

44:59.460 --> 45:01.660
You know, you really do save money when you do it right.

45:02.440 --> 45:07.720
So VMware ESX, definitely, like you said, it's not for just any user.

45:07.940 --> 45:11.120
It's for a big business that needs to save money or needs to be more efficient or needs

45:11.120 --> 45:15.620
their admin to, you know, be able to administer more machines and, you know, squeeze even more

45:15.620 --> 45:18.040
pennies out of people's pockets.

45:18.040 --> 45:21.200
But not quite for the end users.

45:21.680 --> 45:21.880
All right.

45:21.920 --> 45:23.440
Well, let's back up.

45:23.520 --> 45:24.660
And what do we propose then?

45:24.720 --> 45:26.700
Let's say our listeners are intrigued by this.

45:26.820 --> 45:31.140
If they weren't already using it and want to try it out, they're not going to buy this

45:31.140 --> 45:32.900
ESX server or anything.

45:33.120 --> 45:38.180
So what options are there available for free or cheap or reasonable price that they can

45:38.180 --> 45:38.560
download?

45:38.760 --> 45:39.540
It was the VMware.

45:40.000 --> 45:40.960
There's a free version.

45:41.760 --> 45:41.960
Yeah.

45:42.000 --> 45:43.420
There's two free versions of VMware.

45:43.420 --> 45:46.260
There's VMware server and there's VMware player.

45:46.260 --> 45:53.420
VMware server basically lets you install multiple operating systems on some machine remotely.

45:54.500 --> 45:58.120
And you can have a bunch of users connect to it remotely and use what they call the VM

45:58.120 --> 45:59.720
console to do it.

45:59.740 --> 46:04.520
It's kind of like VNC, but, you know, you can, you know, you're not tied to just the

46:04.520 --> 46:05.140
GUI.

46:05.200 --> 46:08.520
You can, like, reboot your virtual machine and get into the BIOS and do all that kind

46:08.520 --> 46:08.880
of stuff.

46:09.480 --> 46:10.400
It's really cool.

46:10.400 --> 46:15.600
So if you need to share virtual machines between a bunch of users, VMware server is the way

46:15.600 --> 46:15.900
to go.

46:16.260 --> 46:19.600
If you're just looking for something quick and dirty on your own machine to play with,

46:20.000 --> 46:24.800
you can check out VMware player, which is very bare bones, very simple.

46:25.320 --> 46:27.220
Like I said, it only supports a single snapshot.

46:27.860 --> 46:29.660
But user interface is very simple.

46:29.760 --> 46:34.560
You do file, open, you give it the virtual machine file, and you click play, and it starts.

46:34.820 --> 46:35.600
What's the format?

46:35.760 --> 46:37.440
What's the extension or the format for those files?

46:37.520 --> 46:38.400
They're not ISOs, right?

46:38.460 --> 46:39.000
There's something else?

46:39.000 --> 46:40.220
No, there's a couple.

46:40.660 --> 46:46.080
There's the VMware file that you do file open on is a VMX file.

46:46.280 --> 46:48.640
So there's the VMX, which describes the virtual machine.

46:49.100 --> 46:52.720
There's the VMDK, which is the virtual machine disk files.

46:52.720 --> 46:55.980
And there's a VMM file.

46:56.260 --> 47:00.180
So if you pause your machine while it's running, it takes the contents of memory and dumps it

47:00.180 --> 47:00.680
into a file.

47:01.260 --> 47:03.440
So you'll have a VMM file in the directory.

47:03.560 --> 47:05.400
If the machine's powered off, there's no VMM file.

47:05.560 --> 47:07.380
It's only for pausing and restoring.

47:08.160 --> 47:12.000
So if you intend on moving a file, if you intend on moving a virtual machine, you've got to

47:12.000 --> 47:16.160
move all of those files from your current machine to whatever machine you're putting on.

47:16.220 --> 47:17.260
Otherwise, it just won't work.

47:18.200 --> 47:23.220
But, yeah, in any case, VMX is the file extension.

47:23.880 --> 47:24.180
All right.

47:24.220 --> 47:28.400
And you would recommend, then, what minimum hardware to run that free VM player?

47:29.160 --> 47:31.520
Well, it depends what type of images you're going to use.

47:31.520 --> 47:36.420
And for a lot of people, you know, we haven't even gotten to how you create an image or how

47:36.420 --> 47:39.060
you go through the whole install process of an operating system on this.

47:39.480 --> 47:45.500
But the nice thing about the VMware community, as they call it, is that people out there have

47:45.500 --> 47:48.960
already created virtual machines that you can just go on to VMware's site and download.

47:49.220 --> 47:50.640
Now, obviously, they're not Windows machines.

47:50.900 --> 47:52.040
They're Linux machines.

47:52.160 --> 47:55.640
They call them VMware appliances, I believe, or virtual appliances.

47:56.160 --> 47:56.920
You can go on there.

47:57.020 --> 48:00.720
If you want to experiment with Gentoo, if you've never used Gentoo before, it's the best Linux

48:00.720 --> 48:06.320
distro ever, you can just go on there and download a bare-bones Gentoo virtual machine.

48:06.620 --> 48:08.820
You don't have to worry about learning how to install it or any of that crap.

48:08.940 --> 48:12.960
You just grab the file, put it into VMware player, click play, and it boots up.

48:13.100 --> 48:13.820
You follow the directions.

48:13.940 --> 48:15.720
It says, hey, I created this Gentoo image.

48:16.200 --> 48:17.580
And you can log on.

48:17.660 --> 48:19.820
The root account is root, obviously.

48:19.940 --> 48:20.820
The password is root.

48:21.040 --> 48:22.860
And get right in and play around.

48:22.980 --> 48:25.300
It's got, you know, applications, x, y, and z installed.

48:25.680 --> 48:26.300
Well, that's cool.

48:26.300 --> 48:30.780
Now, I have to take exception with your best distro ever, because I think all of our listeners

48:30.780 --> 48:32.480
know that you swear by Lenspire.

48:33.000 --> 48:34.200
So let's not joke around.

48:34.880 --> 48:39.720
Well, you know, I really, I always want to promote Lenspire, because I own a big portion

48:39.720 --> 48:40.240
of the company.

48:40.660 --> 48:44.200
But I didn't feel like I could get away with pimping that.

48:44.320 --> 48:46.880
But since you brought it up, yeah, Lenspire is the ultimate distro.

48:47.160 --> 48:50.740
It's actually going to be our slogan in the next couple of months, once I take over the

48:50.740 --> 48:51.040
company.

48:52.040 --> 48:53.440
Lenspire, the ultimate distro.

48:53.440 --> 48:57.420
Well, that's why you're so big into LAMP, because the L doesn't stand for Linux for

48:57.420 --> 48:57.540
you.

48:57.640 --> 48:58.720
It stands for Lenspire.

48:59.420 --> 49:00.360
You're damn right, it does.

49:00.600 --> 49:02.300
And MySQL, your other favorite.

49:04.040 --> 49:04.300
No.

49:05.900 --> 49:07.500
MySQL is the worst piece of software ever.

49:09.180 --> 49:09.880
Oh, man.

49:09.960 --> 49:12.840
Yeah, hate mail, you can direct that straight to him.

49:13.640 --> 49:15.620
Now, send it in to radio at binrev.com.

49:15.660 --> 49:17.780
We didn't get an email, so we'll take hate mail, whatever.

49:19.340 --> 49:22.220
All right, so that's kind of a cool thing, though, that you can download.

49:22.220 --> 49:25.700
So, instead of downloading a full ISO and installing it on a box of your own, you can

49:25.700 --> 49:27.040
download the virtual ISO.

49:27.220 --> 49:30.600
I don't know if that's a good term to use, but a virtual session of it.

49:30.640 --> 49:33.500
Now, you said obviously not Windows, and that's, again, because of licensing, right?

49:33.680 --> 49:34.000
Obviously.

49:35.220 --> 49:35.940
Right, exactly.

49:36.100 --> 49:40.240
Yeah, they're not going to let you download copies of Windows under any formats or

49:40.240 --> 49:40.860
circumstances.

49:40.860 --> 49:47.480
So, a lot of different Linux distros, probably like Solaris 10, which was released as a free.

49:48.000 --> 49:50.380
There might be one for that, that sort of thing.

49:51.360 --> 49:52.280
Well, that's kind of cool.

49:52.460 --> 49:54.520
Well, I'll tell you what.

49:54.540 --> 49:57.540
Let's get into, then, some applications of this.

49:57.600 --> 50:04.180
We've kind of briefly passed over them as some examples, but you talked about development

50:04.180 --> 50:07.040
and developing how you keep your source code off somewhere else.

50:07.900 --> 50:13.100
What benefits do you get out of, what kind of benefits do you get from testing?

50:13.200 --> 50:16.600
I mean, you're testing your code on here, and I guess, obviously, if you just completely

50:16.600 --> 50:21.240
screw up your data or screw up your environment somehow, you can just kind of reboot it, for

50:21.240 --> 50:23.680
lack of a better word, or stop it and replay it.

50:23.680 --> 50:28.560
Yeah, you know, when I'm developing applications, every once in a while, I'll get myself in

50:28.560 --> 50:32.540
a situation where I say, oh, you know, I need to, you know, do some type of, you know,

50:32.860 --> 50:35.780
let's say I need to just edit an image or something like that.

50:35.820 --> 50:38.960
I don't have any image editing software, so I go in and Google around, and I find a bunch

50:38.960 --> 50:39.620
of stupid packages.

50:39.700 --> 50:43.240
But I'm always afraid on Windows to install anything, because I know as soon as I install

50:43.240 --> 50:45.220
it, it's married to my machine forever.

50:45.400 --> 50:49.460
Even if I uninstall it, it's still there, you know, collecting my credit card information,

50:49.740 --> 50:51.700
sending it off to Russia, and doing all that kind of stuff.

50:51.820 --> 50:52.060
Right.

50:52.060 --> 50:57.320
So, what I like to do is, if I say, okay, I'm stuck, I need a word utility that I've

50:57.320 --> 51:02.060
never used before, I've never heard of the other people who've written it before, I take

51:02.060 --> 51:06.200
my VMware workstation, I create a snapshot, and I call the snapshot, you know, about to

51:06.200 --> 51:13.440
install Wacky Paint 2000, and then I go and install Wacky Paint 2000, I mess around with

51:13.440 --> 51:16.420
the image, I do what I need to do, see if the application even does what I want it to

51:16.420 --> 51:21.700
do, and once I'm done with it, I revert back, and it's like I never, I mean, it's not

51:21.700 --> 51:25.120
like I never installed it, I really did never install it on my virtual machine.

51:25.320 --> 51:29.880
So, if you need to go and get any piece of questionable software, or even any piece of

51:29.880 --> 51:32.160
software that you know you're just going to use once and don't want to use again, and

51:32.160 --> 51:34.960
don't want to be stuck with it forever, snapshots.

51:35.420 --> 51:40.700
That's the best thing in the world for me, because I never feel like my machine's just

51:40.700 --> 51:43.740
going to get cracked up, because of somebody's fully written application.

51:44.120 --> 51:47.780
And if you decide you actually like Wacky Paint, and you want to keep that on the image,

51:47.840 --> 51:50.320
you just update the image to include that install on it.

51:50.940 --> 51:54.340
Yeah, you know, I just, I can just take the snapshot that was called before Wacky Paint,

51:54.340 --> 51:55.460
and just delete it, and that's it.

51:55.700 --> 52:00.780
You know, then my current, my current snapshot is, you know, is my working copy.

52:02.680 --> 52:07.860
Okay, so anything that's questionable, you can install on there, anything you've never heard

52:07.860 --> 52:12.500
of. As a matter of fact, and we're probably crossing into some, like, why is this interesting

52:12.500 --> 52:15.980
to hackers? You know, we're talking about virtualization, and we're even, you know,

52:16.020 --> 52:19.180
talking about it from a business standpoint. We're viewing it from all different angles.

52:19.400 --> 52:23.840
But from a hacker's standpoint, you know, what would be in it for a hacker? What would a

52:23.840 --> 52:28.400
hacker like to, you know, benefit out of that? And one of the things is, you know, if you

52:28.400 --> 52:32.820
want to do some reverse engineering, decompiling, sniffing, I mean, any kind of tool that you

52:32.820 --> 52:36.820
want to run on a piece of software, but you don't want to corrupt your own box. Like, for

52:36.820 --> 52:41.580
example, like, I've been doing a lot of research lately. I don't know if I want to say this.

52:41.660 --> 52:45.480
I guess I will. I've been, I think it's no secret. I've been doing some research on Alexa

52:45.480 --> 52:53.420
and the Alexa toolbar lately. So, obviously, that's most anti-spyware packages, and virus

52:53.420 --> 52:56.500
will pick that up to spyware and want to clean it and delete it and stuff like that, and I

52:56.500 --> 53:00.560
don't want that because I'm actually researching it. So, a virtual environment would be great

53:00.560 --> 53:05.000
for that because I could go and install that into the virtual environment, sniff all the

53:05.000 --> 53:08.440
traffic, because as far as, you know, as far as anything knows, that is a real environment.

53:08.560 --> 53:12.860
It's not virtual. It's, I can do everything in there that I can in my normal environment,

53:13.360 --> 53:18.080
do all the sniffing that I want, do all the reverse engineering, and save those files.

53:19.140 --> 53:23.740
Just like you save your source code, I can save those off somewhere. I can record, put

53:23.740 --> 53:27.520
them on my normal desktop, on a normal disk where I can recover them, and then just kill

53:27.520 --> 53:32.200
the image, and there's still no sign. I'm not corrupted or infected with any of the

53:32.200 --> 53:37.520
spyware or anything like that. Right. Is that a good example of one way to use it? And

53:37.520 --> 53:43.080
obviously, that's just one toolbar, but any toolbar, any application, you know, we all

53:43.080 --> 53:48.600
know how much we hate those bundled where you try to download, I don't know, whatever file

53:48.600 --> 53:53.800
sharing app of the day is these days, and it comes bundled with fucking Gator, or fucking

53:53.800 --> 53:59.120
that purple dinosaur puppet thing that dances around the screen. Oh, you know what? That's

53:59.120 --> 54:02.680
funny you mention that. Bonzi Buddy you're talking about, right? Yeah, Bonzi, that's

54:02.680 --> 54:07.660
his name. I forgot about that, yeah. Well, you know, somebody I was working with wanted

54:07.660 --> 54:11.800
to, you know, I told them how great virtualization was, and they just didn't believe in it, so

54:11.800 --> 54:16.360
I said, you know what? I believe in virtualization so much, I'll create a snapshot, and I'll install

54:16.360 --> 54:19.980
Bonzi Buddy right now to prove to you that I'm not afraid that it's going to destroy my system.

54:19.980 --> 54:29.000
Now, here's the really sad part. I actually went out, Googled Bonzi Buddy, and could not

54:29.000 --> 54:34.540
find the virtual app for it. When you actually want the spyware, you can't

54:34.540 --> 54:39.720
find it. Oh yeah, there was just no hope. So all I did was basically, I searched for Bonzi

54:39.720 --> 54:43.300
Buddy, and I saw all the sponsored ads that came up, and I clicked to every single site,

54:43.400 --> 54:47.680
I accepted every comment cursor, every single piece of crap they wanted to give me, they

54:47.680 --> 54:51.340
wanted to, and they told me my machine was full of spyware, I was like, okay, sure, fine,

54:51.380 --> 54:56.060
I'll click on that. I went to all the poker sites, everything. My machine was so crapped

54:56.060 --> 55:02.780
up, it couldn't do anything. It was a total disaster. Right. So all I did was revert, snap

55:02.780 --> 55:08.780
shot, bam, my machine's perfect again, which to me is just awesome. You know, I like getting

55:08.780 --> 55:12.320
to check out something and say, you know what? I don't have to be afraid of this crappy

55:12.320 --> 55:16.860
software. I can see, you know, whatever spyware is out there, I can see what it does, I can

55:16.860 --> 55:21.780
check it out and play with it, and then just be done with it. Well, and it's kind of a

55:21.780 --> 55:27.320
cool idea too that, so you went ahead and did all that in your virtual environment. You

55:27.320 --> 55:32.460
could run AdWare or something in your native environment, and it would never see any of

55:32.460 --> 55:37.440
that stuff that's down in the virtual environment, correct? Exactly. And if you run AdWare inside

55:37.440 --> 55:41.220
the virtual environment, it's going to go ape shit because of all that stuff you've got

55:41.220 --> 55:47.560
installed in there. Yeah, pretty much. And of course, it won't clean its success. Actually,

55:47.620 --> 55:52.700
that's a good thing. That'd be a good testing area to put your AdWare in that virtual environment

55:52.700 --> 55:58.820
and try to clean it. Can you go, can you take, say, a, all right, this may be a stretch here.

55:58.880 --> 56:05.140
Let's say you've got a client or somebody that, your friend, a neighbor says, oh, my computer's

56:05.140 --> 56:10.020
got tons of spyware. Can you help me clean it? Can you go and get an image of their computer

56:10.020 --> 56:14.220
as it is somehow? Can you take your laptop over there and say, image this other computer

56:14.220 --> 56:18.120
and then take it home and play with it at your own leisure in a virtual environment, all

56:18.120 --> 56:22.100
infected, and run all these tools against it and see which ones work or don't work before

56:22.100 --> 56:24.800
you ever go back and actually try to clean their machine?

56:24.800 --> 56:34.160
You know, there's a, there's a utility that, that VMware has. It's called P2V, which is

56:34.160 --> 56:38.220
physical to virtual, which does pretty much exactly what you're talking about. The problem

56:38.220 --> 56:44.820
is it only comes with a paid version of VMware. You can kind of hack it yourself. And I did

56:44.820 --> 56:48.360
it a long time ago. I didn't do it with a Windows machine. I don't believe that it really works

56:48.360 --> 56:53.000
hopefully with a Windows machine, but I wanted to copy a Linux machine. So I used it, this

56:53.000 --> 56:57.240
account utility, DD, and I just copied the whole contents of the drive, copied it into

56:57.240 --> 57:02.260
a big file, and then told VMware, use this big file as my hard drive, and it worked. I haven't

57:02.260 --> 57:05.360
done that in a long time. It worked with the old version of VMware. No idea it works with

57:05.360 --> 57:12.800
the new version. But yeah, I think you can use possibly Norton Ghost and create VMware files

57:12.800 --> 57:17.140
from it, but I'm not totally sure about it. But yeah, that's, that's one of the things

57:17.140 --> 57:20.520
that when you, when you pay for it, you definitely get a tool that does that and it works pretty

57:20.520 --> 57:25.200
well. So you can, you can grab any machine and just copy it and play around with it.

57:25.760 --> 57:29.060
Yeah. So if you, if you're in the side business of doing that, I know a lot of people make

57:29.060 --> 57:33.520
a little money on the side cleaning up spyware and doing little computer errands and upgrades

57:33.520 --> 57:38.000
and stuff that might actually be worth, might be a benefit worth, worth doing. So that way

57:38.000 --> 57:42.920
you don't have to sit at a client's place and run spy bot search and destroy and add a

57:42.920 --> 57:48.640
wear and then go in and try to hack store the registry and all this other junk. And you can

57:48.640 --> 57:52.140
take it and do it at your own leisure. Yeah. I hadn't really thought about it. You

57:52.140 --> 57:56.260
could, you know, take that snapshot at the beginning, go through your steps to do all

57:56.260 --> 58:00.400
the, all the recovery. And once you find, you know, snapshot it, each time you, you make

58:00.400 --> 58:04.160
some progress and then you have kind of like a map that says, okay, you want to get all

58:04.160 --> 58:07.400
the spyware from the machine, run this, this and this in this order. And I know that it's

58:07.400 --> 58:12.980
going to work for you. Right. Exactly. Pretty slick. Pretty good stuff. Um, it's pretty

58:12.980 --> 58:18.980
smart for a redneck. Yeah. Well, you know, I, I try to get by. I, uh, I, uh, I was also

58:18.980 --> 58:23.000
kind of thinking, uh, actually maybe let's, let's clarify. I think we've said this as well

58:23.000 --> 58:26.480
and it's probably abundantly clear, but just to reiterate, cause we haven't said it straight

58:26.480 --> 58:32.520
forward, you can run any environment, any operating system in one of these windows. And

58:32.520 --> 58:36.980
that's true for the Microsoft or the VMware or most others, just because you're running

58:36.980 --> 58:41.740
Microsoft virtual server doesn't mean you have to run only virtual Microsoft environments.

58:41.740 --> 58:47.600
You don't have to run just windows XP and windows NT. You can run Linux inside of there.

58:47.680 --> 58:52.340
You can run a red hat distro inside a virtual window inside of your office or your windows

58:52.340 --> 58:58.620
2003 server running virtual server. And in VMware, you can run, as, as we said earlier, you

58:58.620 --> 59:02.040
can download a lot of Linux distros online that are already set up for you, but you can

59:02.040 --> 59:09.900
also put on windows XP or anything for that matter. So just to clarify that the, the versatility

59:09.900 --> 59:14.180
that you have with this is incredible. I mean, there's really not much you can't do other

59:14.180 --> 59:18.980
than maybe if there's no, you couldn't run something like a OS 400 or something that's

59:18.980 --> 59:23.020
architecture driven. If the, the hardware is not going to be supported, there's no drivers.

59:23.160 --> 59:29.520
It doesn't work on that hardware. Right. Not, not with a product like VMware or a Microsoft

59:29.520 --> 59:33.780
or virtual server, but the older products that do pure virtualization, they virtualize

59:33.780 --> 59:37.300
the process and things like that. If they made a version, if they made a, you know,

59:37.340 --> 59:42.460
an IBM AS 400 virtualization product. Right. You could, you could do that. It would just

59:42.460 --> 59:48.620
be so slow. It'd be unusable. Yeah. Right. Right. Um, and also, and here's another interesting

59:48.620 --> 59:54.940
question. Because of the simple fact that you know you can undo anything, it seems to me

59:54.940 --> 59:59.320
like another neat application you might want to do. And again, sticking with the fact that

59:59.320 --> 01:00:04.800
you say that performance is not that bad. Can you set it up so that you're not really

01:00:04.800 --> 01:00:08.840
using the virtualization to open up windows and test things like we're applying it? What

01:00:08.840 --> 01:00:13.600
about at home user? Could there be a way to set it up so that when windows, let's say you're

01:00:13.600 --> 01:00:19.300
running windows XP at home with VMware, that it automatically boots into your virtual environment

01:00:19.300 --> 01:00:23.520
every time, like make it transparent and invisible. And every time you boot your machine,

01:00:23.520 --> 01:00:27.940
you're not really booting into your native windows XP environment. You're voting into your

01:00:27.940 --> 01:00:33.640
imaged XP environment, which is safe and doesn't have any of the spyware and stuff like that on it.

01:00:33.680 --> 01:00:39.360
That way, if you ever do get screwed, all you have to do is back out of it, reboot your machine,

01:00:39.460 --> 01:00:43.500
you come back up to where you had a safe environment. But can you make that invisible so that most

01:00:43.500 --> 01:00:48.520
users wouldn't notice it? Actually, it's funny you mentioned that. There was a company a while ago

01:00:48.520 --> 01:00:55.020
that did just that, but not exactly for that reason. They were at Hope, I think it was Hope 2000.

01:00:55.240 --> 01:01:02.820
They had a product where they used VMware on Linux and they encrypted your whole disk file so that if

01:01:02.820 --> 01:01:06.780
anybody found your laptop, they'd get an encrypted disk, an encrypted VMware image and they wouldn't

01:01:06.780 --> 01:01:10.820
be able to view it. But that was exactly what happened. When you booted it up, it would give

01:01:10.820 --> 01:01:17.020
you a list of your Windows installations. You'd select one and that was it. You were into your

01:01:17.020 --> 01:01:22.860
box and if you were a dumb user, you wouldn't really know that it was VMware. But you could

01:01:22.860 --> 01:01:27.320
take encrypted snapshots and you could revert to these cryptosnapshots too. So when you knew you

01:01:27.320 --> 01:01:31.440
had a stable environment, take a snapshot and that's it. You wouldn't have to ever worry about

01:01:31.440 --> 01:01:36.880
loading VMware and starting your image and all that. It did it all right from the Linux

01:01:36.880 --> 01:01:41.640
district. I don't know anybody that's really doing that now, but it definitely is possible

01:01:41.640 --> 01:01:42.940
because I've seen it before.

01:01:43.460 --> 01:01:47.040
Well, and especially, you know, within the past few years is when the spyware problem's

01:01:47.040 --> 01:01:51.400
really, really, really taken off. You know, it seems like now would be a better time than

01:01:51.400 --> 01:01:53.880
any to have a solution like that in place.

01:01:55.880 --> 01:01:59.700
Yeah, definitely. I don't know. The only reason I can think that more people don't do it

01:01:59.700 --> 01:02:05.280
is because with VMware, if you want to run Windows, you're going to need a license for Windows

01:02:05.280 --> 01:02:10.860
that comes with your laptop and you're going to need another license to run it there a second

01:02:10.860 --> 01:02:11.240
time.

01:02:12.120 --> 01:02:12.240
Yeah.

01:02:12.240 --> 01:02:14.860
I'm pretty sure that's the way the Windows licensing works with VMware.

01:02:15.720 --> 01:02:19.860
Possibly, but you know what? The truth, the fact of the matter is, and of course we're

01:02:19.860 --> 01:02:24.820
not endorsing anything here, but they'd never know the difference. Microsoft would never

01:02:24.820 --> 01:02:25.620
know the difference.

01:02:26.920 --> 01:02:27.240
I don't think...

01:02:27.240 --> 01:02:28.300
You never know.

01:02:28.680 --> 01:02:29.360
Well, true.

01:02:29.760 --> 01:02:32.760
You're always coming up with new ways to screw you. There's been a lot of work actually in

01:02:32.760 --> 01:02:37.260
virtualization detection, and products can now detect that they are running in a virtual

01:02:37.260 --> 01:02:37.840
environment.

01:02:38.180 --> 01:02:38.880
Oh, man.

01:02:40.280 --> 01:02:45.740
Well, let's go back on that direction we were heading off on about, you know, why is this

01:02:45.740 --> 01:02:52.220
interesting to hackers? What can hackers do with this? Well, like for example, one thing

01:02:52.220 --> 01:02:59.320
that jumps to mind is things like penetration testing or any kind of tools you're developing,

01:02:59.320 --> 01:03:04.920
security tools. You know, we don't condone going out and DOSing sites or DOSing other

01:03:04.920 --> 01:03:10.580
networks, but you know, certainly to computers that you own or that you're responsible for,

01:03:10.660 --> 01:03:13.700
you might want to test and see if you're secure against different things. So you might find

01:03:13.700 --> 01:03:19.160
a new tool out there. You can't go DOS some random site to test it. You don't really want

01:03:19.160 --> 01:03:23.740
to risk DOSing your own site and screwing it up to test it. You could open up two virtual

01:03:23.740 --> 01:03:27.960
sessions, install the tool to one, and attack the other. Is that right?

01:03:27.960 --> 01:03:33.080
Yeah, exactly. And that would be what they'd consider a VMware team if you were using

01:03:33.080 --> 01:03:39.060
Workstation. You boot up both boxes simultaneously, and you can actually even create a virtual

01:03:39.060 --> 01:03:44.680
network segment that isolates it from everything else. You can even simulate, and one of the

01:03:44.680 --> 01:03:47.620
cool things it does, you can simulate packet loss and all kinds of weird things like that

01:03:47.620 --> 01:03:51.700
in your virtual network segment. But if you wanted to do some DOS testing, you could create

01:03:51.700 --> 01:03:58.300
an internal virtual network segment between two, three, four, five machines and use that

01:03:58.300 --> 01:04:02.540
to do your penetration testing or, you know, exploit testing and all that.

01:04:03.420 --> 01:04:08.240
And a lot of researchers, yeah, a lot of researchers are looking into botnets and how they work and

01:04:08.240 --> 01:04:12.280
how to prevent them. You know, a lot of security companies are making that their major point

01:04:12.280 --> 01:04:16.820
of research. Well, you could actually install a controlled botnet. You know, have a team of

01:04:16.820 --> 01:04:23.040
five, ten, however many you can handle running, and have all them attacking one of the images

01:04:23.040 --> 01:04:28.000
and see what the effect is and how incremental it is and test how to control it and stop it

01:04:28.000 --> 01:04:32.520
and things along those lines. I mean, the possibilities as far as that go are endless.

01:04:33.720 --> 01:04:39.060
Also, what about sniffing traffic? If you wanted to do some, you know, test some tools for fingerprinting

01:04:39.060 --> 01:04:43.300
or active sniffing, I mean, would these virtual environments throw off fingerprinting very much?

01:04:43.300 --> 01:04:49.440
If I ran Nmap against a virtual environment, would it give me any false responses or is it

01:04:49.440 --> 01:04:50.260
pretty accurate?

01:04:51.020 --> 01:04:57.460
No, it's accurate. I do it all the time at work because we, at my job, we use almost all

01:04:57.460 --> 01:05:01.840
virtual environments just because, you know, it makes sense for the business.

01:05:02.220 --> 01:05:02.500
Right.

01:05:02.940 --> 01:05:05.180
And I can Nmap those machines and it's right all the time.

01:05:05.880 --> 01:05:10.560
Cool. So any kind of tool that you're used to using is not going to change in the virtual

01:05:10.560 --> 01:05:15.580
environment. So you can do all kinds of tracing. You can do all kinds of sniffing traffic between

01:05:15.580 --> 01:05:19.820
these servers. Does each one of these environments get an IP address or how does that work?

01:05:20.580 --> 01:05:24.540
Well, that's an interesting question. There's a couple ways you can set it up. You can set

01:05:24.540 --> 01:05:32.700
up your environment so that they're either doing bridge networking or NAT. So basically, your

01:05:32.700 --> 01:05:38.040
Windows host or your Linux host would be like a NAT server for all of your virtual machines.

01:05:38.040 --> 01:05:42.780
But if you do bridging, what happens is it actually, each virtual machine has its own

01:05:42.780 --> 01:05:50.040
MAC address and they'll request DHCP IP addresses and your DHCP server on the network will actually

01:05:50.040 --> 01:05:54.460
see all of these requests as if they're from completely different machines and issue IP

01:05:54.460 --> 01:05:54.840
addresses.

01:05:55.220 --> 01:05:56.440
Oh, that's cool.

01:05:57.280 --> 01:06:01.060
So to the network, it just looks like you have, you know, four or five machines on the

01:06:01.060 --> 01:06:05.300
same network port if your network's managed like that. But they all have different MAC addresses

01:06:05.300 --> 01:06:09.300
and, you know, they don't see each other's traffic, except for the host machine obviously

01:06:09.300 --> 01:06:13.140
can see all the other machines' traffic, but the other machines can't see each other's.

01:06:13.480 --> 01:06:17.360
Well, that'd be an interesting try to sniff what's coming through the host machine also

01:06:17.360 --> 01:06:21.220
just to see if it can pick up and what it can pick up. Yeah, I wouldn't even, I didn't

01:06:21.220 --> 01:06:24.800
really, that's kind of cool. I was just assuming that they were all being NATed, that's all.

01:06:25.980 --> 01:06:31.920
Yeah, they've NATed. Bridge networking is really cool. So you can, and you can even, one of the

01:06:31.920 --> 01:06:35.200
really, really cool things about it is, let's say I have a wireless connection on my laptop,

01:06:36.200 --> 01:06:41.240
but my virtual machine, I only have, you know, a virtual wired connection, I can just tell

01:06:41.240 --> 01:06:45.740
it's a bridge of my wireless connection, and it'll request IP addresses over my wireless.

01:06:46.020 --> 01:06:49.460
So it doesn't really need to know what type of network it's on. It just, you know, it just

01:06:49.460 --> 01:06:54.160
goes out there and says, I need a DHCP address, and your wireless call and your host will do

01:06:54.160 --> 01:06:59.080
all the translation for you and get you a legitimate DHCP address from the wireless access point.

01:06:59.080 --> 01:07:04.840
It's pretty awesome. Yeah, and you know, another great application would be to open up, and maybe

01:07:04.840 --> 01:07:08.840
you could do this as a team, but let's say you were a security professional and your job

01:07:08.840 --> 01:07:13.040
was to go out and demonstrate different exploits and things like that. You could set up a team

01:07:13.040 --> 01:07:19.400
of prepared environments. I'm going to run a version of Red Hat 7, or I don't know, with

01:07:19.400 --> 01:07:24.180
a known vulnerability and make an image of that. Then I'm going to run a copy of Windows

01:07:24.180 --> 01:07:27.840
NT running IIS, which has a known vulnerability. You're going to have a bunch of different

01:07:27.840 --> 01:07:33.060
ones, and then very easily and very visually, which again is a key to a lot of this is more

01:07:33.060 --> 01:07:39.900
is better visually, show people, hey, here's like a tool like Metasploit or Core Impact or

01:07:39.900 --> 01:07:45.380
whatever tool, and actually attack your virtual servers or virtual environments and say, okay,

01:07:45.420 --> 01:07:50.460
that one's exploited. Let me run the Metasploit script and show you that I can root that virtual

01:07:50.460 --> 01:07:55.280
session as though, you know, instead of using a real box or having to set up a bunch of complicated

01:07:55.280 --> 01:08:00.060
network infrastructure just to demonstrate and test things, you could certainly do that.

01:08:00.060 --> 01:08:04.920
Right, right. And then one of the nice things is when you're running a VMware team, if you

01:08:04.920 --> 01:08:11.320
have a workstation, you'll see your main window that you're working on. But all of the other

01:08:11.320 --> 01:08:15.840
machines that are running in the background, you get like this little postage size, you

01:08:15.840 --> 01:08:20.060
know, kind of thumbnail of what's going on on their screen. So if you're trying to do some

01:08:20.060 --> 01:08:24.120
type of exploit, you know, blue screens, Windows, or some other kind of silly thing like that,

01:08:24.120 --> 01:08:27.860
you're working on your machine, and you can see in this little preview window, you can see when

01:08:27.860 --> 01:08:31.520
something happens on the host machine without actually having all of these things cluttering

01:08:31.520 --> 01:08:35.280
up the machine. So it'd be very effective if you were trying to do some type of exploit

01:08:35.280 --> 01:08:41.400
that was a visual to the person receiving the exploit. You know, pop up a window or something

01:08:41.400 --> 01:08:44.300
like that, or if the machine's reboot, you can see all that going on.

01:08:44.300 --> 01:08:51.300
Right. Well, and if you're also, well, I guess that's, yeah, I guess that's the same thing.

01:08:51.300 --> 01:08:58.520
If you wanted to write or develop an application, or actually, let's say you wanted to do some

01:08:58.520 --> 01:09:04.860
reverse engineering on Windows itself. Windows is very volatile. It's very unstable. What

01:09:04.860 --> 01:09:06.860
are you, cooking pots and pans banging around there?

01:09:07.780 --> 01:09:10.520
Sorry, sorry, I poured something out in the sink, dropped an ice cube.

01:09:10.660 --> 01:09:11.060
There you go.

01:09:11.060 --> 01:09:11.580
No big deal.

01:09:13.960 --> 01:09:17.260
That's helping out with that little medical problem you had earlier that's keeping you

01:09:17.260 --> 01:09:19.160
out of the porn action right now. I got a little ice cube.

01:09:19.160 --> 01:09:20.520
Yeah, I got to keep ice on it.

01:09:20.520 --> 01:09:23.000
I got you. No, understood. Say no more.

01:09:24.060 --> 01:09:26.180
Doesn't that cause shrinkage, though, or?

01:09:28.240 --> 01:09:29.700
Depends on what body part we're talking about.

01:09:30.240 --> 01:09:32.900
Oh, well, I guess I made an assumption I shouldn't have.

01:09:34.020 --> 01:09:34.820
Oh, Jesus.

01:09:35.360 --> 01:09:41.520
Anyway, Windows is pretty volatile in that if you go messing around with some of its binaries,

01:09:41.520 --> 01:09:48.340
it's going to freak out and die. And by having this virtualization, you can go in there

01:09:48.340 --> 01:09:52.960
and start really tinkering with stuff, trying to reverse engineer or recompiling.

01:09:53.240 --> 01:09:57.720
Like, you know, like one thing I've never, ever had good luck with are different shell

01:09:57.720 --> 01:10:03.160
replacements for Windows. And I've tried several of them, so please don't email me and telling

01:10:03.160 --> 01:10:07.380
me that this one's great and I use this all the time. I've never had good luck because

01:10:07.380 --> 01:10:11.360
they're going in there and they're modifying. Well, the Windows shell, they're actually modifying

01:10:11.360 --> 01:10:15.980
the existing binaries and you don't know all the interaction that Windows has put in

01:10:15.980 --> 01:10:20.880
there and the interrelationships and the dependencies and blah, blah, blah. I've never had good luck

01:10:20.880 --> 01:10:26.840
with any of those things. So this would be a way for developers to actually go in there

01:10:26.840 --> 01:10:32.280
and really do some hardcore testing of it and really change these EXEs and see how stable

01:10:32.280 --> 01:10:37.680
Windows is without, you know, ruining or risking blue screening or destroying their Windows and

01:10:37.680 --> 01:10:42.100
having to start all over and reinstall everything or try to uninstall, which never works, as you

01:10:42.100 --> 01:10:47.500
said before, because it's still got crap in your registry from 1977 before you ever installed

01:10:47.500 --> 01:10:53.120
the damn software. It's just ridiculous. So this gives you an option that you can do that

01:10:53.120 --> 01:10:57.020
and then when it, if it screws up, you're like, okay, well, let me mark that in the didn't

01:10:57.020 --> 01:11:02.460
work column, restart my virtual image and carry on with my testing. It would make that a whole

01:11:02.460 --> 01:11:07.460
lot faster and the resulting software that you end up with would be a whole lot more stable

01:11:07.460 --> 01:11:12.220
because you were able to better test it. Yeah, exactly. If you, if you got your system

01:11:12.220 --> 01:11:16.520
to a point and you saw some weird bug that you couldn't, you know, just happened periodically

01:11:16.520 --> 01:11:19.660
that you couldn't really reproduce it, well, you could just keep reverting your snapshot

01:11:19.660 --> 01:11:23.600
and watching the machine and saying, well, why is this happening? Right. You know, there's

01:11:23.600 --> 01:11:27.900
a lot of things that happen in Windows that, okay, it crashes one day, but then it doesn't crash

01:11:27.900 --> 01:11:32.120
for the next three weeks and there's no way to get in there and figure out what the hell

01:11:32.120 --> 01:11:37.080
happened. So did you fix the bug or did it just not happen again? Right. So rolling back

01:11:37.080 --> 01:11:41.800
gives you a lot of, a lot of ability to, to find all of these weird quirks that happen

01:11:41.800 --> 01:11:46.800
randomly, which for Windows is pretty much everything is a random quirk. It just happens

01:11:46.800 --> 01:11:51.740
to, uh, to somehow get things done. It's a miracle. And any programmer will tell you

01:11:51.740 --> 01:11:56.680
that the worst thing to try to debug or figure out is intermittent problems. If you can't reproduce

01:11:56.680 --> 01:12:01.800
it easily, consistently, regularly so that you can watch and see what's causing it, it's

01:12:01.800 --> 01:12:05.200
the biggest pain in the ass to try to figure out what in the world is happening and what's

01:12:05.200 --> 01:12:11.180
going on. And it's the biggest, hardest bug. Anytime you've ever like reported a bug to

01:12:11.180 --> 01:12:15.660
a site or you've ever gone and sent a thing, sent a, filled out one of those forms of, of

01:12:15.660 --> 01:12:20.000
the problem that you've run into with a software, one of the questions is always, is it reproducible?

01:12:20.100 --> 01:12:24.400
Can you recreate it? Because that makes it a lot easier to test it over and over again.

01:12:24.400 --> 01:12:27.940
But if it's an intermittent problem, boy, that's a pain in the ass.

01:12:28.520 --> 01:12:32.160
Yeah. And you know what? A lot of places that I've seen, a lot of companies that I've dealt

01:12:32.160 --> 01:12:36.840
with that, you know, like different packages of software, if you submit a bug report to

01:12:36.840 --> 01:12:40.660
them without a way to reproduce it, it comes straight off the list. It's not, it's not considered

01:12:40.660 --> 01:12:42.200
a bug unless there's a way to reproduce it.

01:12:42.500 --> 01:12:42.720
Wow.

01:12:42.720 --> 01:12:44.340
Because they have no proof that it even happened.

01:12:45.040 --> 01:12:49.200
Right. And you know, as long as we're on a little tangent, a little rant here, you know

01:12:49.200 --> 01:12:53.620
the other thing that I really, really hate is how people don't seem to understand that

01:12:53.620 --> 01:12:59.560
you can't go back in fucking time. I hate it when somebody tries to tell me that, oh

01:12:59.560 --> 01:13:04.740
yeah, I need you to go back and give me a report or give me a file with the data from two weeks

01:13:04.740 --> 01:13:11.200
ago. Um, no, the data has changed. We don't have data from two weeks ago. It's not there

01:13:11.200 --> 01:13:16.120
anymore because it's in the fucking past. What don't you get about that? Do I have like

01:13:16.120 --> 01:13:21.040
a fucking time travel device? Oh, that's my pet peeve. That is my pet peeve. I hate

01:13:21.040 --> 01:13:26.380
it when people ask me that. And how can you politely explain to people, no, we can't go

01:13:26.380 --> 01:13:27.180
back in time.

01:13:27.840 --> 01:13:30.220
I think you did a very good job of politely explaining it.

01:13:30.460 --> 01:13:31.920
That was, that was polite.

01:13:32.380 --> 01:13:35.860
That's going to be my canned response. I'm going to get that on a little voice recorder

01:13:35.860 --> 01:13:36.760
and just play it for people.

01:13:37.280 --> 01:13:42.320
Oh, well, the outtakes from this show is going to be, going to be made into some songs

01:13:42.320 --> 01:13:46.840
like, uh, anyway, maybe I'll actually play some outtakes at the end of this episode.

01:13:46.940 --> 01:13:53.020
Who knows? Oh, anyway. Um, well, and another thing is, you know, not only code development,

01:13:53.080 --> 01:13:57.400
but let's say you're, for some reason you're developing some malicious code or you're testing

01:13:57.400 --> 01:14:01.920
at your research company or whatever, and you're trying to test, I don't know, anything

01:14:01.920 --> 01:14:07.340
from viruses to, um, something that's going to exploit and crash windows or IIS or anything

01:14:07.340 --> 01:14:13.760
along those lines, you know that it's destructive in nature. Yeah, that's going to be a huge

01:14:13.760 --> 01:14:18.040
pain in the ass. Even if you have your own controlled network or environment or servers

01:14:18.040 --> 01:14:23.420
or stuff, you'll have to manually and physically reboot them all the freaking time. Whereas

01:14:23.420 --> 01:14:27.500
if you have a virtual environment and you want to release your, your source code into that

01:14:27.500 --> 01:14:30.760
environment and see if it, you know, an attack and see what it does, see if it does what you

01:14:30.760 --> 01:14:38.960
expect. Um, you can do that and easily restart it, restop it. It's all self contained. So

01:14:38.960 --> 01:14:42.960
it doesn't spread out and infect other computers or your, the rest of your network or the rest

01:14:42.960 --> 01:14:48.000
of the global interweb for that matter. Right. So, and you know, it's, it's a little

01:14:48.000 --> 01:14:52.740
scary because every time we talk about something, uh, it always seems to come out that, oh yeah,

01:14:52.780 --> 01:14:56.980
there's a, you know, you can use it to develop something malicious, but a legitimate use for

01:14:56.980 --> 01:15:00.640
developing something malicious is, you know, Microsoft's notoriously slow.

01:15:00.760 --> 01:15:04.700
for, for patching their own software. But there are companies now that are doing third

01:15:04.700 --> 01:15:08.240
party patches to things. So Microsoft doesn't release a patch or something. There's a company

01:15:08.240 --> 01:15:12.240
that does a third party patch and you can fix it, you know, a month before Microsoft ever

01:15:12.240 --> 01:15:15.980
gets to it. Well, I'm sure that a lot of these companies are using virtualization,

01:15:16.380 --> 01:15:20.440
taking the exploit, running it against the machine, trying a patch, you know, reverting

01:15:20.440 --> 01:15:24.780
things and just going over and over and hammering it away until they've got a patch for it. So,

01:15:25.120 --> 01:15:29.200
you know, developing malicious software actually has a use if you're, if you're also in the

01:15:29.200 --> 01:15:33.420
business of developing patches. And again, if you're not, you know, maybe you're just

01:15:33.420 --> 01:15:37.280
trying to steal money out of people's bank accounts, but there are, there are legitimate

01:15:37.280 --> 01:15:43.180
uses for, um, for virtualization in order to, uh, develop and, and monitor malicious code.

01:15:43.620 --> 01:15:47.000
Yeah. And I think, I think the most of the people that would listen to this show know the

01:15:47.000 --> 01:15:53.420
difference that we're, you know, there, there can be, uh, bad applications or intent with some

01:15:53.420 --> 01:15:57.320
of the things that you want to do, but no matter what the case is, that doesn't mean we shouldn't

01:15:57.320 --> 01:16:03.640
talk about something because somebody might use it for ill purposes. I don't know. I mean,

01:16:03.640 --> 01:16:08.680
you can't shy away from talking about things or at least talking about ideas. I mean, if somebody

01:16:08.680 --> 01:16:14.180
out there goes out and, you know, writes a virus and in a virtual environment and then comes back

01:16:14.180 --> 01:16:18.800
and says, Oh, I heard about it on BinRev Radio. Well, no, we're talking about it, you know,

01:16:18.860 --> 01:16:22.480
in a productive way and how you can stop that from happening and how you can test. Like,

01:16:22.480 --> 01:16:26.600
you know, I'm saying the people is semantic. This would be a great tool for them to use if

01:16:26.600 --> 01:16:30.820
they're not already, which they probably are. I would imagine they can let these things loose

01:16:30.820 --> 01:16:35.420
into these virtual environments and see how they work and test them and therefore figure out how

01:16:35.420 --> 01:16:39.880
to prevent them and stop them in the future. You know? So, you know, we're talking about

01:16:39.880 --> 01:16:44.060
researchers. We're talking about companies. We're also talking to hackers. There's also,

01:16:44.320 --> 01:16:47.820
you know, and I know I kind of go out on a limb when I say this. I know Rax and I have had

01:16:47.820 --> 01:16:52.400
conversation about this before. To me, there's nothing wrong with researching and looking

01:16:52.400 --> 01:16:57.560
into how viruses work. It's your intent of what you're going to do. If you intend to

01:16:57.560 --> 01:17:02.280
release that virus and do something with it, you know, and there's different types of viruses.

01:17:02.480 --> 01:17:05.640
The harmless type of virus, like remember, I don't know if you remember back in the day

01:17:05.640 --> 01:17:08.200
the old stoned virus? Oh, yeah.

01:17:08.360 --> 01:17:11.680
And it would just pop up a message that says, Your computer is stoned. And I think it would

01:17:11.680 --> 01:17:15.400
go away after a minute or two. I don't remember. I think there's some variations. So it was,

01:17:15.400 --> 01:17:19.860
I won't say harmless. I mean, it was a virus. And of course, you know, it's nothing good comes out

01:17:19.860 --> 01:17:24.380
of them for the most part. But, um, you know, we don't shy away from talking about stuff just

01:17:24.380 --> 01:17:28.740
because, you know, it may or may not be taboo, you know, for example.

01:17:28.740 --> 01:17:31.660
Oh, yeah. No, I just, I always like to make the point for somebody who may have been listening to

01:17:31.660 --> 01:17:32.600
the show for the first time.

01:17:32.740 --> 01:17:33.000
Right.

01:17:33.100 --> 01:17:37.680
But yet, we're not talking about how to root your box and be Uberlito and build botnets. Like,

01:17:37.740 --> 01:17:40.760
there are legitimate reasons. So before you go and run off and tell all your friends,

01:17:40.760 --> 01:17:46.520
Oh, my God. These guys told me that you can use VMware to hack the planet. There's more to it

01:17:46.520 --> 01:17:46.860
than that.

01:17:46.980 --> 01:17:48.620
Is there a VMware image for the Gibson?

01:17:49.960 --> 01:17:53.700
Uh, yeah. But you need VMware Gibson Edition, which is like 50 grand.

01:17:54.020 --> 01:17:56.760
Oh, damn it. Damn it. So close. So close.

01:17:56.760 --> 01:18:01.460
Yeah, I know. I know. But you get that cool three-dimensional towers, whatever the hell those

01:18:01.460 --> 01:18:02.360
things are short to represent.

01:18:03.540 --> 01:18:09.100
Oh. All right. Well, actually, but we're kind of time to wrap up. Actually, this was not an abbreviated

01:18:09.100 --> 01:18:14.560
edition at all. We're full-time, just about. I did have one other kind of thing. I don't

01:18:14.560 --> 01:18:19.200
know. I think I know this, but maybe I'm wrong about this. But talking about the physical

01:18:19.200 --> 01:18:25.280
limitations versus the virtual limitations. What I mean by that is, for example, we kind

01:18:25.280 --> 01:18:29.320
of briefly talked about memory earlier and how much physical you have versus how much you

01:18:29.320 --> 01:18:32.460
shave off for your different images. But let's go back to something. Let's go to something

01:18:32.460 --> 01:18:37.300
like, let's say for some reason you have an old network card, a physical network card in

01:18:37.300 --> 01:18:42.080
this machine that you're running that's only an old 10 megabit per second card. Okay?

01:18:42.120 --> 01:18:47.080
For some reason, it's just an old card that you had laying around. And let's say in your

01:18:47.080 --> 01:18:50.740
native session, you haven't opened up any virtual windows. You start up peer-to-peer and you're

01:18:50.740 --> 01:18:55.840
just absolutely using all that bandwidth. Now, when you start up two, three, four virtual

01:18:55.840 --> 01:19:03.200
sessions, that bandwidth is still physically being used. So aren't those four images going to

01:19:03.200 --> 01:19:08.240
suffer because the physical capacity has been reached by that piece of hardware? And that's

01:19:08.240 --> 01:19:11.900
kind of what I was getting to earlier about the memory. When you physically run out of

01:19:11.900 --> 01:19:16.260
memory, you can't shave off but so much and it seems like it would cause performance issues.

01:19:16.420 --> 01:19:20.900
Well, like networking, is this a better example? If you've got a limited bandwidth and you've

01:19:20.900 --> 01:19:25.700
got four sessions, you're not really going to be able to get any more bandwidth. You're

01:19:25.700 --> 01:19:29.260
still limited to whatever the constraints of the hardware are. Is that correct?

01:19:29.260 --> 01:19:35.400
Oh, yeah. I mean, there's no way of getting around that. Right. It's got to give at some

01:19:35.400 --> 01:19:39.900
point. If it didn't, we would all just be running the whole planet off of some 286

01:19:39.900 --> 01:19:44.320
somewhere. Right. Right. And as a matter of fact, yeah, kind of the, we were talking

01:19:44.320 --> 01:19:48.920
about earlier about the CPU. I could, along the same lines, I could run that folding at

01:19:48.920 --> 01:19:54.020
home or whatever, which uses 100% CPU. And I can run that in one virtual session or in

01:19:54.020 --> 01:19:57.680
the native session. There's not going to be a whole lot of CPU to spare for all the other

01:19:57.680 --> 01:20:02.340
sessions out there. So you can overload your hardware so that it will cripple your

01:20:02.340 --> 01:20:08.140
virtual session. So you do have to do it smart. Right. But it's certainly not a problem if

01:20:08.140 --> 01:20:12.080
you do it well, if you do it smart. And that's why you, your example is you just have a very

01:20:12.080 --> 01:20:16.820
bare bones, no frills Windows installation that doesn't have a lot of extra stuff in it

01:20:16.820 --> 01:20:22.220
and you do everything virtually so that you avoid that problem. Exactly. So, all right.

01:20:22.220 --> 01:20:28.520
So I thought that was a good point to reiterate as we close out here. So let's, um, I guess

01:20:28.520 --> 01:20:33.480
jump into the shouts. Um, I'll just give shouts to Natas again this week because again, a

01:20:33.480 --> 01:20:38.340
cool article in 2600 Magazine, which I actually finally got. Haven't had too much time to read

01:20:38.340 --> 01:20:44.580
it yet, but a very cool article in there. So shouts to him again. And, uh, how about

01:20:44.580 --> 01:20:48.300
you there? Oh, I got to give shouts to Mr. Pink also. Oh, and wait a minute, I'll give

01:20:48.300 --> 01:20:55.200
it to him. Well, that was, that was yours. Mr. Pink, uh, Buster, Cheek Spreader and, oh

01:20:55.200 --> 01:20:59.260
man, what was Duel's? I forgot Duel's porn name. Well, anyway, shouts to Duel Parallel

01:20:59.260 --> 01:21:05.480
anyway. Yeah. Um, I don't, I guess my, uh, my shouts go to, uh, Black Ratchet because

01:21:05.480 --> 01:21:10.060
he's going to be, uh, helping out with some freak fact stuff in the very near future. Hopefully.

01:21:10.400 --> 01:21:13.280
Hopefully. Shouts to him. I think I'm done.

01:21:13.280 --> 01:21:19.760
Yeah. Good deal. Good deal. And in keeping with our prawn theme this week, um, as much

01:21:19.760 --> 01:21:26.120
as I really wanted to find a, uh, a, um, Rosebud website to promote, I couldn't bring myself

01:21:26.120 --> 01:21:32.040
to look at them, but I found another great one. Um, and actually Johnny, Johnny Swank, uh,

01:21:32.040 --> 01:21:37.500
our mutual friend, um, not theory mentioned this to me because he subscribes to this, uh, publication.

01:21:37.500 --> 01:21:42.800
It's, it's called bulkmail.com. It's B-U-L-K-M-A-L-E.com.

01:21:43.340 --> 01:21:45.580
Uh, yes. For all your George Costanza needs.

01:21:47.580 --> 01:21:52.440
Great, great, uh, site. Not safe for work, but of course this show never is. If you have

01:21:52.440 --> 01:21:56.760
any feedback on this show or any other episode of the show, if you're a new listener, if you're

01:21:56.760 --> 01:21:59.940
an old listener, if you're an ugly listener, if you're a fat listener, if you're a hot

01:21:59.940 --> 01:22:08.860
chick especially, email us radio at BinRev.com. Our closing music this week is actually, uh,

01:22:08.920 --> 01:22:13.240
one of those viral video type deals, one of those things that people are passing around

01:22:13.240 --> 01:22:21.400
YouTube, whatever. It's called Canon Rock by Fun2, F-U-N-T-W-O. And this is actually a remake

01:22:21.400 --> 01:22:25.340
or remastery or whatever you want to call it of Canon and D-measure, which is an old, uh,

01:22:25.340 --> 01:22:31.660
classical song by Johan Pachelbel, written in the late 1600s, but it's kind of been brought

01:22:31.660 --> 01:22:37.360
back here. A couple people have made some guitar versions of it and distributed them out on YouTube

01:22:37.360 --> 01:22:41.240
and other similar sites, which was just bought by Google. We're not going to talk about that.

01:22:41.720 --> 01:22:46.780
My good friend's Google. Uh, and this was posted in our forums by Right Coast is why it came to my

01:22:46.780 --> 01:22:52.360
attention, so I ripped the audio off of that, and that's what we're going to close with. And that

01:22:52.360 --> 01:22:59.320
is going to do it. So, uh, Johnny Swank, a.k.a. Captain Rosebud, help me close out the show this

01:22:59.320 --> 01:23:04.280
week. I am Buck Dangler telling you that we will see everyone next week. Same prawn time.

01:23:05.040 --> 01:23:06.260
Same prawn channel.

01:23:16.780 --> 01:23:19.960
Mm-hmm.

01:23:19.960 --> 01:23:30.600
.

01:23:32.480 --> 01:23:35.640
.

01:23:38.660 --> 01:23:42.740
.

01:23:42.740 --> 01:23:43.300
.

01:23:43.300 --> 01:23:43.420
.

01:23:43.420 --> 01:23:44.020
.

01:23:44.020 --> 01:23:44.160
.

01:23:44.160 --> 01:23:45.920
.

01:23:45.920 --> 01:24:15.900
Thank you.

01:24:15.920 --> 01:24:45.900
Thank you.

01:24:45.920 --> 01:25:15.900
Thank you.

01:25:15.920 --> 01:25:45.900
Thank you.

01:25:45.920 --> 01:26:15.900
Thank you.

01:26:15.920 --> 01:26:45.900
Thank you.

01:26:45.920 --> 01:27:15.900
Thank you.

01:27:15.920 --> 01:27:45.900
Thank you.

01:27:45.920 --> 01:28:15.900
Thank you.

01:28:15.920 --> 01:28:45.900
Thank you.

01:28:45.900 --> 01:28:48.680
I was such a cocksucker.

01:28:50.180 --> 01:29:00.040
Hey, I don't know if you've heard the stuff that people have been, the remix songs people have been making of me lately using clips from the show where I say I'm a fucking moron.

01:29:00.040 --> 01:29:02.040
Oh, they're awesome.

01:29:02.040 --> 01:29:03.600
I did hear some of that, actually.

01:29:03.600 --> 01:29:08.140
Well, now they're going to use the one where you say I'm a big cocksucker or whatever you just said.

01:29:09.140 --> 01:29:09.660
Oh, crap.

01:29:09.720 --> 01:29:10.700
Now they're going to use me too.

01:29:10.820 --> 01:29:11.260
Damn it.

01:29:12.520 --> 01:29:13.380
Like a bitch?

01:29:13.540 --> 01:29:19.420
They're going to mix you and I into a song, both of us talking about what huge cocksuckers we are.

01:29:19.420 --> 01:29:23.520
And they're going to call it, and they're going to call it, and they're going to call it, and they're going to call it, and they're going to call it Dueling Homos.

01:29:23.520 --> 01:29:25.720
Oh, shit, dude.

01:29:25.720 --> 01:29:28.420
I'm now scared to ever release this outtake in the wild.

01:29:28.420 --> 01:29:31.420
Oh, shit.

01:29:31.420 --> 01:30:01.400
I'm now scared to ever release this outtake in the wild.

