WEBVTT

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

00:09.980 --> 00:16.560
I see in binary, I speak source code, step on my toes, I'll post a million jpegs with you in a fag pose.

00:16.800 --> 00:21.800
In your digital stance, sitting firewalls hoes, cause I'm riding the net in my six foes.

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

00:26.540 --> 00:32.560
On the out, my name is Ace and I'm a Leo. On the digital highway, my name is Neo and I'm a Nero.

00:32.760 --> 00:38.440
In a flash, I'll screw you on burning dreamtacks. You need some ISO? Let me do my hard drive rifle.

00:38.780 --> 00:43.600
Our exchange, you could never stifle. In a digital hood, you just caught the love bug.

00:43.920 --> 00:47.620
I bootlegged your CD, I caused the fight between Un and Jay-Z.

00:47.940 --> 00:52.320
Your CG, it's all gonna be free, whether we take it by force or we take it night free.

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

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

01:01.160 --> 01:03.660
Cause I am he who loves to hack and crack.

01:04.080 --> 01:06.520
This is dedicated to the hackers and the crew.

01:07.120 --> 01:11.500
Serial pose, swords, toes, ISO, rad, fifth, fifth.

01:11.980 --> 01:13.840
This is dedicated to the hackers and the crew.

01:13.840 --> 01:18.480
Welcome to Binary Revolution Radio. This is episode 161.

01:18.480 --> 01:23.600
And we're gonna rename the show to Ben Verbradio, I think.

01:24.240 --> 01:28.080
Because Mr. Verbal, again, has come through and is the man about the show.

01:28.740 --> 01:30.920
And I'm Droops and Verbal's over somewhere.

01:31.880 --> 01:32.740
Hello, everyone.

01:33.140 --> 01:34.780
And we're recording on Asterisk.

01:34.980 --> 01:39.080
So, maybe the sound will be a little bit better than the last time Verbal was on.

01:39.080 --> 01:44.100
Um, admittedly, I have not listened to episode 159 yet.

01:44.520 --> 01:45.660
It's really hard to hear.

01:46.460 --> 01:48.840
I hear the sound quality is lacking.

01:49.140 --> 01:49.740
But that's okay.

01:50.620 --> 01:52.000
The content is there.

01:52.200 --> 01:53.140
And that's all that matters.

01:54.160 --> 01:54.680
Exactly.

01:55.360 --> 01:55.880
Exactly.

01:55.880 --> 01:56.000
Exactly.

01:58.000 --> 02:05.860
Well, I don't have any viewer mail other than Mr. Vaughn wrote in and said that Verbal had a sexy voice.

02:05.860 --> 02:09.260
Mr. Vaughn, give me a call.

02:09.740 --> 02:10.700
We're stepping out.

02:11.540 --> 02:14.300
I think he's over from the West Coast also.

02:14.480 --> 02:16.020
You might need to hook up.

02:17.420 --> 02:18.020
Oh, sweet.

02:18.120 --> 02:18.960
That's what I'm talking about.

02:19.020 --> 02:22.100
That's why I'm doing this in actuality.

02:23.260 --> 02:24.380
If you meet other men.

02:26.320 --> 02:26.800
Yes.

02:27.720 --> 02:28.280
All right.

02:28.360 --> 02:29.960
Actually, viewer mail.

02:30.380 --> 02:32.240
I did not get any viewer mail.

02:32.440 --> 02:33.780
I am pissed off.

02:33.780 --> 02:40.960
If you remember, in episode 159, I had talked about that mentoring program that I started.

02:41.640 --> 02:42.840
I mean, or I want to start.

02:43.460 --> 02:48.960
And I said, if you want to be mentored, or if you want to donate your time as a mentor,

02:49.840 --> 02:54.380
please email me at verbal at gmail dot com.

02:54.740 --> 02:57.000
And no one has effing emailed me.

02:57.000 --> 03:03.880
And, which is fine, but I see people asking questions on IRC, and people are still posting

03:03.880 --> 03:04.440
in the forums.

03:04.760 --> 03:10.600
So I know some of you out there want help, and you're not emailing me, emailing me.

03:10.960 --> 03:16.040
So after the show, you better fucking get on your computer and email me.

03:16.320 --> 03:17.780
Or email me right now, okay?

03:17.820 --> 03:19.120
You should be in front of your computer anyway.

03:19.120 --> 03:24.500
Anyway, so if in the next show I do, I get no more email, I'm going to come to your house

03:24.500 --> 03:25.400
and beat you.

03:26.520 --> 03:27.000
That's right.

03:27.100 --> 03:29.980
Even though he won't know who you are, because you didn't email him.

03:31.880 --> 03:32.280
Details.

03:32.820 --> 03:33.900
I will work that out.

03:36.040 --> 03:41.240
Well, you had quite a few topics for us to go through on this show.

03:41.440 --> 03:44.440
Do you want to do the personal hacking, or do you not like that section?

03:44.440 --> 03:48.400
What is the personal hacking?

03:48.660 --> 03:51.080
When you tell what you've been up to lately.

03:51.860 --> 03:52.740
No, I hate that.

03:53.200 --> 03:53.560
Awesome.

03:53.660 --> 03:54.580
I hate that segment.

03:55.100 --> 03:58.060
If there's something worth talking about, I will talk about it.

03:58.840 --> 04:01.180
Good deal, because I'm going to talk about what I've been working on.

04:01.520 --> 04:02.520
Yeah, no, go for it.

04:02.560 --> 04:03.000
Go for it.

04:03.120 --> 04:05.000
No, no, I'm going to include it into the show.

04:05.900 --> 04:06.260
Okay.

04:06.500 --> 04:07.360
You won't even know.

04:08.340 --> 04:10.660
Oh, I see how it is.

04:10.740 --> 04:12.160
You're going to whip it in there.

04:12.940 --> 04:13.300
Okay.

04:13.300 --> 04:15.920
I'm just going to whip it out, and you're not even going to notice.

04:16.800 --> 04:17.300
All right.

04:17.520 --> 04:19.060
Shut me up for the first segment, then.

04:20.300 --> 04:22.340
Well, why don't you start us off there, buddy?

04:23.260 --> 04:23.580
Yes.

04:25.380 --> 04:26.480
Oh, you want me to start?

04:26.640 --> 04:27.200
Oh, yeah.

04:27.980 --> 04:28.520
Oh, okay.

04:28.520 --> 04:28.860
I'm sorry.

04:29.780 --> 04:34.840
Okay, today we have actually two main topics, but I'm going to split them up.

04:35.300 --> 04:39.640
So, first we're going to talk about the AOL data that was released.

04:39.640 --> 04:42.480
There was a giant thread about it on the forums.

04:43.300 --> 04:45.960
And then we're going to have something a little different.

04:46.520 --> 04:59.900
We're going to have an actual live female call, and she's going to talk to us a little bit about kind of women in the hacking scene and all that stuff.

04:59.900 --> 05:01.400
So, more on that a little bit later.

05:01.400 --> 05:12.140
And then, finally, I'm going to go over something that some of you may not have heard about, but it is becoming a very important part of your hacking toolkit.

05:12.620 --> 05:17.180
And it's an area of computer science called machine learning and data mining.

05:17.640 --> 05:18.980
So, that should be fun.

05:19.080 --> 05:20.300
That will be the technical part.

05:20.900 --> 05:21.220
Excellent.

05:21.360 --> 05:23.220
I thought you said you were only talking about two things.

05:23.220 --> 05:26.260
No, but it's split up.

05:26.720 --> 05:27.120
Ah.

05:27.640 --> 05:31.980
So, I'm going to do the AOL data thing and do the non-technical part first.

05:32.400 --> 05:35.860
And then I'm going to split it up and do the technical stuff at the end.

05:36.240 --> 05:36.960
Good deal, dude.

05:38.620 --> 05:40.500
Do you even know what the show is about?

05:41.240 --> 05:42.200
I'm not even here.

05:42.320 --> 05:44.320
This is actually just the machine talking about me.

05:45.000 --> 05:45.920
Get out of here.

05:46.280 --> 05:46.460
Okay.

05:46.460 --> 05:47.440
It's an AGI script.

05:47.520 --> 05:48.280
I have an asterisk.

05:48.440 --> 05:49.320
I'm just wearing the numbers.

05:51.700 --> 05:52.380
Thank you.

05:52.560 --> 05:54.080
And come again.

05:55.260 --> 05:55.740
Alrighty.

05:56.680 --> 05:57.120
Ow.

05:57.280 --> 06:02.020
I just watched that family guy last night when Brian goes back to college.

06:02.440 --> 06:03.260
I love that one.

06:03.440 --> 06:05.760
There's that Stephen Hawking guy.

06:05.760 --> 06:09.760
And the sex scene is hilarious.

06:10.720 --> 06:12.100
The ow, ow, ow.

06:12.380 --> 06:13.400
Not so hard.

06:13.600 --> 06:15.100
You are hurting me.

06:15.100 --> 06:16.940
All right.

06:17.080 --> 06:18.340
Anyway, let's start.

06:18.460 --> 06:18.700
All right.

06:18.760 --> 06:19.460
We're going to have fucking.

06:20.060 --> 06:20.360
Okay.

06:21.280 --> 06:21.760
Okay.

06:23.340 --> 06:23.700
Woo.

06:24.000 --> 06:27.500
So, I don't really post on the phone that much.

06:27.620 --> 06:29.780
Or do I read it for whatever reason.

06:29.980 --> 06:33.740
But lately, I just had to go on because Stephen's giving me a hard time about it.

06:34.060 --> 06:39.080
So, I look and there's a thread that says that AOL has released research.

06:39.740 --> 06:44.020
I mean, has released search data that they want people to use for research.

06:44.020 --> 06:46.100
Troops, have you seen that thread?

06:46.340 --> 06:47.620
I have seen that thread.

06:48.900 --> 06:49.340
Okay.

06:49.480 --> 06:52.680
So, I don't know how much you went into it.

06:52.740 --> 06:56.380
But basically, they released about two gigs of data.

06:56.380 --> 07:00.400
And it is web queries from AOL users.

07:00.700 --> 07:02.740
And it doesn't give anyone's name.

07:03.260 --> 07:06.140
But each user is assigned a unique ID.

07:06.600 --> 07:13.940
So, you know, like who, or not who, but, you know, you know that this person executed all these queries.

07:14.040 --> 07:15.720
So, they're grouped per person.

07:15.720 --> 07:19.780
And now, you get to go and look through them and do whatever you want.

07:19.900 --> 07:26.420
And people have been having a field day with this because of all the weird, random shit that people are actually looking for.

07:26.980 --> 07:29.220
And, you know, there are a lot of examples of that on the forum.

07:29.740 --> 07:35.000
But the thing I want to talk about is the privacy issues surrounding this, right?

07:35.000 --> 07:43.380
Because, you know, this has really been, like, a hot topic lately, especially with Google and how, you know, they have, like, all of your data, right?

07:43.640 --> 07:45.760
So, it's like they know what you're searching for.

07:45.920 --> 07:47.280
You know, you do your email to them.

07:47.340 --> 07:48.680
And now there's Google Calendar.

07:48.680 --> 08:02.700
And, like, if you use Google Desktop, then you can, like, somehow speed up indexing or actually put your hard drive index onto their server so it's integrated when you search on the web and all this stuff.

08:03.100 --> 08:07.120
So, this privacy issue is kind of, you know, really important right now.

08:07.700 --> 08:18.500
And there has been a debate, actually, about this because people – so, AOL, obviously, is of the position that they are not violating any privacy.

08:18.880 --> 08:27.160
Laws or, you know, or whatever that they promise their users because, you know, they're not saying, okay, this guy executed these queries.

08:27.420 --> 08:28.740
But they have a unique ID.

08:29.140 --> 08:42.100
And, you know, if you're smart enough and clever enough and you go into the data set and you look at it, you know, you could figure out what some of these people – who some of these people are, at least, you know, where they are or something about them.

08:42.100 --> 08:48.480
You know, like someone from the forums that old people really love family genealogy.

08:49.020 --> 09:03.420
So, you know, if you see, like, one person who's, like, constantly searching for some last name and, like, variations of the first name with that last name, then, you know, chances are pretty good that, you know, that's their last name.

09:04.160 --> 09:05.520
And you're dealing with an old person.

09:06.420 --> 09:06.740
Right.

09:06.860 --> 09:07.720
Yeah, exactly.

09:08.340 --> 09:11.640
So, Troops, what do you think are the privacy implications of this?

09:11.720 --> 09:16.180
Like, is it wrong of AOL to do this and if they're violating any agreements?

09:18.660 --> 09:21.080
Well, I don't know.

09:21.100 --> 09:22.000
It's kind of a toss-up.

09:22.060 --> 09:24.920
I don't know the AOL agreements they have with their customers.

09:24.920 --> 09:31.060
I haven't been an AOL customer for years and years and years back when that was my only option.

09:31.060 --> 09:39.040
But, like, if I go to, like, Yahoo.com, I'm not paying them any money and I use their service.

09:39.160 --> 09:46.060
I would expect them to retain that data of me doing my searches and try to make their money off of it.

09:46.100 --> 09:56.800
Like, if I call a 1-800 number, I expect them to keep my phone number, you know, my caller ID, and use it for whatever purposes they want because they're paying for it.

09:56.860 --> 09:59.300
You know, I'm getting a free service off of it and nothing's free.

09:59.300 --> 10:03.500
But with AOL, now, this is their actual users.

10:03.680 --> 10:06.880
Like, you have to have the AOL application, I believe, whatever it's called.

10:07.560 --> 10:08.280
Yeah, yeah, yeah.

10:08.340 --> 10:09.160
And do those searches.

10:09.240 --> 10:10.480
It's a gateway to the Internet.

10:11.080 --> 10:11.400
Yes.

10:11.580 --> 10:15.420
It's not like people that are just going to AOL.com and using that for search, right?

10:18.200 --> 10:18.560
Right.

10:18.900 --> 10:19.220
Okay.

10:19.400 --> 10:19.920
Just making sure.

10:20.020 --> 10:21.840
I wasn't 100% on that.

10:22.140 --> 10:23.140
I wasn't any percent on that.

10:23.160 --> 10:23.860
I was just making it up.

10:23.860 --> 10:28.560
But, like, with AOL, you're paying them money for a service.

10:29.700 --> 10:41.860
And you would kind of expect, even though you're not paying Yahoo or not paying Google when you are paying AOL, that if they're going to try to make their money off of that, they're not going to release pertinent information about you.

10:41.860 --> 10:43.660
You know, like...

10:43.660 --> 10:45.320
Well, hold on.

10:45.500 --> 10:46.440
Let me hear what I'm saying.

10:46.520 --> 10:47.180
I don't know.

10:47.180 --> 10:50.720
Well, I mean, the thing is, it really depends on the user agreement.

10:51.160 --> 11:00.020
Like, even if you're paying for it, if the user agreement says, you know, all the data we collect are ours and we can sell it, then they can do that, even if you're paying for it.

11:00.020 --> 11:05.840
But, I think, in most cases, I mean, like, I'm no lawyer and I don't read the U.S.

11:05.840 --> 11:08.300
Well, you, of course, expect to have that privacy.

11:08.380 --> 11:08.720
Right.

11:08.940 --> 11:09.440
Right, right, right.

11:09.440 --> 11:10.020
It's a common person.

11:10.840 --> 11:11.260
Right, right.

11:11.360 --> 11:23.720
So, I think what happens is they say, okay, you're paying for this, you know, we retain the rights to, like, so-and-so, but we're not going to, you know, invade your privacy.

11:23.720 --> 11:27.520
We're not going to sell your, you know, fucking credit cards to the bank.

11:27.800 --> 11:28.560
I mean, that's the bank.

11:29.000 --> 11:29.140
Yeah.

11:29.140 --> 11:35.200
Yeah, we're not going to sell your credit cards to, like, Russian mobs and we're not going to do this and we're not going to do that and you're going to be safe.

11:35.780 --> 11:50.780
Now, I think the issue is that they're not technically breaking any laws by releasing this data, but because, you know, of the way the searches are and what people do, you know, you can figure it out.

11:50.780 --> 11:54.340
And it's kind of, you know, it's basically a PR nightmare.

11:55.300 --> 11:55.460
Yeah.

11:55.460 --> 12:02.160
So, you know, it's like, should companies do that even if they're not breaking any rules?

12:02.160 --> 12:08.820
Well, I personally feel it's a corporation or a business's response.

12:09.080 --> 12:10.920
Like, they're responsible to be ethical.

12:12.020 --> 12:17.420
You know, like, they shouldn't just be going around shitting on people, even though maybe they're allowed to.

12:18.460 --> 12:18.760
Right.

12:18.760 --> 12:22.720
And in this modern age, of course, you know, that idea is out the window.

12:23.820 --> 12:23.920
Right.

12:23.920 --> 12:24.960
Do whatever the fuck you want.

12:25.900 --> 12:27.540
And, I don't know.

12:28.520 --> 12:32.240
I'm kind of at a toss-up with just because AOL, I haven't seen their agreement.

12:33.520 --> 12:34.440
Right, right, right.

12:34.440 --> 12:36.880
But you aren't paying them for a service.

12:36.960 --> 12:37.740
You wouldn't expect them to do that.

12:37.780 --> 12:43.040
Now, we built, like, a search engine little part of the application we're building for work.

12:43.740 --> 12:53.380
And we keep all those searches, obviously, in the database so that I can go in there later and look and see what screw it up or who's mistyping what.

12:53.380 --> 13:02.600
But, you know, like, if they keep mistyping my last name, searching for me, I can, you know, point it to me a lot easier and see how that is.

13:02.900 --> 13:05.660
Right, but, I mean, that's, right, but that's, right.

13:05.660 --> 13:06.940
But I'm not exactly calling you.

13:07.680 --> 13:08.300
Right, right.

13:08.440 --> 13:10.040
I mean, right, right, right.

13:10.100 --> 13:14.100
Because, I mean, obviously, everyone at Google knows what I'm searching for.

13:14.360 --> 13:18.620
But what I care about is they don't tell, like, the rest of the world.

13:18.860 --> 13:19.180
Yeah.

13:20.580 --> 13:21.980
I'm not publishing that data.

13:22.740 --> 13:23.360
Right, right.

13:23.380 --> 13:26.740
So, I mean, like, you know, like, Google tries a lot.

13:26.820 --> 13:35.340
Like, I have a ton of friends who work at Google, and they tell me that they try very, very hard to not be evil and to not be creepy.

13:35.780 --> 13:37.180
I mean, sometimes it's very hard.

13:37.300 --> 13:44.840
Like, for example, if you work there, then, like, they do so much more stuff for you because you work for them.

13:44.980 --> 13:50.600
So, they will do all the creepy stuff and the weird stuff that they won't do for public users.

13:50.600 --> 14:01.240
Like, they'll track exactly where you are and, like, where you go if you use any of their services that do that, you know, that gather that information, and they'll track what you're searching for.

14:01.560 --> 14:05.820
You know, they'll track your email and, like, because everyone at Google uses Gmail.

14:05.820 --> 14:14.680
So, they'll track all of that, and they'll, like, actually look at it and, like, try to find out stuff to improve on, you know, their current products.

14:15.000 --> 14:17.120
But they won't do that for public people.

14:17.620 --> 14:18.060
Yeah.

14:18.060 --> 14:29.020
But, you know, for AOL to release this, I mean, personally, I don't know what the motivation is because it's like, okay, we're releasing this because we're good people

14:29.020 --> 14:39.940
and we want to, like, you know, give a data set to whoever, you know, researching these kind of things and, like, to help further academic studies or whatever.

14:40.080 --> 14:40.540
That's fine.

14:40.540 --> 14:51.400
And, see, that's definitely a good thing about all this is that now we do have a data set that we can go into, you know, and do data mining on it or whatever we need.

14:52.680 --> 14:53.080
Right.

14:53.080 --> 15:06.120
But then you get, like, these people who, like, figure out, you know, who is user, like, you know, FUBAR, and they call them and, like, go to the house and say stuff like, oh, hey, what's up?

15:06.160 --> 15:11.280
I found all your info and what you're searching for from the data set that AOL released.

15:11.860 --> 15:13.400
And the AOL user's like, what?

15:13.680 --> 15:13.920
Huh?

15:14.300 --> 15:21.860
Yeah, you know, like, wait, like, so on the forums, like, some people have done this, like, Rikos does.

15:21.860 --> 15:25.080
And, you know, he's not, like, I know him, and he's a great guy.

15:25.220 --> 15:35.860
So I know he's not going to, like, stalk someone or, like, you know, find people who are into, like, pyro necrobeciality or something, you know,

15:35.980 --> 15:43.320
and then, like, you know, find where they live and, like, have flaming cat sex with them, flaming dead cat sex with them.

15:43.600 --> 15:45.420
But, like, other people could do this.

15:45.420 --> 15:52.700
And, you know, AOL has to be aware of that because, you know, it's like they don't just randomly pick two gigs of data and release it.

15:52.860 --> 15:55.560
Or maybe they did, and if they did, that's really stupid of them.

15:55.840 --> 16:04.540
But they should know what the data set contains, and they should know that it is possible to find certain people from this data set.

16:04.540 --> 16:07.700
So I don't know, like, what they're thinking.

16:08.280 --> 16:09.740
I mean, that's just weird to me.

16:12.540 --> 16:24.120
Well, so it's a bad thing for the AOL users, but it's a good thing for people that need a good viable data set that's not just randomly made up crap.

16:24.120 --> 16:30.220
Right, like, there are tons of data sets out there for training your spam filters.

16:30.740 --> 16:39.960
You know, like, people just collect spam, and they have them bundled, and you can just download it, and, you know, you can use it for, like, if you're writing a spam folder.

16:40.460 --> 16:41.560
And that's fine.

16:41.680 --> 16:44.400
I mean, you know, that's not really hurting anyone because it's just spam.

16:44.780 --> 16:47.280
But, like, other more sensitive data, like, you know, I think...

16:47.280 --> 16:48.440
Well, it's hurting the spam guys.

16:49.780 --> 16:51.540
Yeah, that's true.

16:51.540 --> 16:51.620
True.

16:54.120 --> 16:56.480
I mean, I guess...

16:56.480 --> 16:58.960
I mean, criminals have rights, too, I guess.

16:59.200 --> 16:59.980
Yeah, they do.

17:00.540 --> 17:01.680
Yeah, they do.

17:02.320 --> 17:03.880
But, all right, let's move on, then.

17:04.880 --> 17:06.660
So, I was looking...

17:06.660 --> 17:13.640
Well, the lady, the chief information officer at AOL, I forgot her name, but she resigned.

17:15.060 --> 17:16.340
Oh, oh, really?

17:16.720 --> 17:17.300
Oh, really?

17:18.840 --> 17:19.980
Because of this?

17:20.480 --> 17:22.560
It was right after this, like, a couple days.

17:22.560 --> 17:25.740
Right, but, like, she resigned because of this incident?

17:26.620 --> 17:28.660
Well, it didn't say why she resigned.

17:29.140 --> 17:30.040
Oh, right, okay.

17:30.240 --> 17:32.040
But that's what one would assume.

17:33.580 --> 17:39.060
That's ridiculous, because you would think that she would, like, make someone lower rank than her take the fall.

17:39.860 --> 17:42.980
Well, see, I'm a firm believer in the...

17:42.980 --> 17:46.500
If you make a mistake and you learn from it, then you're better off.

17:47.540 --> 17:47.980
Right.

17:48.360 --> 17:56.720
So, like, I would rather have an employee that has made a thousand mistakes, and we've already, you know, gone through it and resolved the issues,

17:56.720 --> 18:01.760
and have that employee that have to fire him and hire a new guy that's going to make the same thousand mistakes.

18:02.660 --> 18:03.780
Oh, I mean, of course.

18:03.780 --> 18:09.380
But, I mean, the whole reason they do that is because for PR reasons, you know.

18:09.480 --> 18:14.940
It's like, they can't keep her around because she's a person who did X and it was bad.

18:15.480 --> 18:15.600
Yeah.

18:15.600 --> 18:17.040
You know, like, it's really not.

18:17.160 --> 18:19.320
You know, like, because people are stupid.

18:19.680 --> 18:22.920
Basically, it comes down to people are stupid, and that's the end of that.

18:23.600 --> 18:24.320
So, okay.

18:24.600 --> 18:26.440
So, let's change this topic a little bit.

18:27.460 --> 18:34.360
So, I looked at the forums, and basically, I want to see what people are doing with this data, right?

18:34.480 --> 18:42.480
I mean, it's there, and, you know, hopefully, you can extract some cool information from it and learn something about the data set

18:42.480 --> 18:47.940
or, you know, find interesting, like, clumps of information from these things.

18:47.940 --> 18:54.300
And it's like, you know, I'm looking, and people seem to be grepping for weird shit.

18:54.960 --> 18:57.500
And that is pretty much all that's going on.

18:57.640 --> 19:03.920
Like, I don't know if you play with it, but what kind of things would you want to figure out?

19:04.080 --> 19:06.840
Like, you know, like, what would you do to the data set?

19:06.940 --> 19:08.480
Like, you have this data, right?

19:08.600 --> 19:11.020
Like, how are people going to use it?

19:13.160 --> 19:14.300
Are you asking me?

19:15.380 --> 19:16.980
Oh, I'm putting you on the spot.

19:16.980 --> 19:26.920
Oh, I'll tell you what I would do is I would first search for porno passwords to see if anybody had found any good sites with good porno passwords.

19:28.200 --> 19:30.700
You're glad Mrs. Joops is not on the show tonight.

19:32.360 --> 19:33.780
Yeah, she went to bed early.

19:35.280 --> 19:37.540
And that's actually a really dumb joke.

19:37.540 --> 19:42.900
Well, I kind of am interested in how sick fucking people are.

19:43.880 --> 19:45.920
And I would probably search for just sick things.

19:46.460 --> 19:53.120
And then when I found a user ID that this guy was into something weird, I would just grab for his user ID and see what else he was into.

19:53.480 --> 20:00.120
So to see if he's, like, into, like, stock car racing and then, like, other weird shit.

20:00.120 --> 20:03.760
People have definitely done that.

20:04.180 --> 20:11.820
And, you know, there are a lot of – I mean, like, the thing that surprised me most is that people search for, like, questions.

20:12.160 --> 20:16.620
Like, do you remember the website I think called Dogpile?

20:17.440 --> 20:17.680
Yeah.

20:17.680 --> 20:23.240
People – yeah, like, you're supposed to ask it questions, you know, so it's more user-friendly.

20:23.900 --> 20:31.320
But, like, you know, people still do that with AOL, and there's these, like, long, long strings of questions and other weird crap.

20:31.780 --> 20:33.520
I like how people will search for Google.

20:34.720 --> 20:35.120
Yeah.

20:35.600 --> 20:41.120
Or they'll search for, like, you know, like, something.com instead of just typing it into the address bar.

20:42.200 --> 20:42.680
Yeah.

20:42.680 --> 20:49.140
I mean, I mean, there are definitely some really weird shit in there.

20:49.280 --> 20:58.680
Like, someone actually made a search – a web front end for the search, and, like, search what people has queried for,

20:58.780 --> 21:02.280
if you put in, say, like, a text string or the user ID.

21:02.820 --> 21:06.100
And, like, there's some really, really weird stuff here.

21:06.200 --> 21:08.180
Let me give – okay.

21:08.180 --> 21:16.540
This is a user that was actually posted to the forum, and just to give you an idea of this weird stuff – okay.

21:17.380 --> 21:23.300
This is a search for how to destroy demons that live in apartment above.

21:24.200 --> 21:24.580
Okay.

21:26.420 --> 21:30.000
Is hip-hop and rap music a form of Satanism?

21:31.340 --> 21:34.720
Are niggers Satan or demons or gremlins?

21:35.160 --> 21:36.460
Like, like, questions.

21:36.460 --> 21:36.860
Gremlins.

21:36.860 --> 21:38.580
Oh, that wasn't a question.

21:38.680 --> 21:39.060
I'm sorry.

21:40.500 --> 21:44.280
You know, do niggers have x-ray vision?

21:46.340 --> 21:51.040
I mean, there is just fucking weird shit.

21:51.600 --> 21:55.840
Like, I don't even – I mean – but I digressed.

21:56.580 --> 21:59.980
And then there's something normal, like, jobs going bad.

22:00.620 --> 22:03.260
You know, I don't understand.

22:03.260 --> 22:11.740
And my favorite, this guy searched for this about 20 times, old, rushed nuns for sex.

22:13.120 --> 22:13.640
Sweet.

22:14.360 --> 22:16.440
I don't know what to say about that.

22:16.580 --> 22:19.380
See if anyone searched for, like, A-plus exam.

22:20.660 --> 22:21.020
Yeah.

22:22.020 --> 22:22.500
Yeah.

22:22.500 --> 22:31.320
So, later in the show, actually, we're going to change gears again a little bit.

22:31.860 --> 22:44.520
Later in the show, I'll get back to talking about machine learning and data mining and basically how these techniques can help us maybe extract useful information from data theft.

22:44.520 --> 22:55.400
Because the point is, you're going to end up with a sea of crap, just, you know, like, gigs and gigs and gigs of text that's data from anything.

22:55.500 --> 22:56.100
It doesn't matter.

22:56.660 --> 23:01.580
And you're not going to be, you know – you can only grep for cool shit for so long.

23:01.580 --> 23:10.420
But if you want to find useful, like, information in it and, like, how things relate to each other, then you're going to need to do something a little smarter than that.

23:10.820 --> 23:19.260
So, later in the show, I'm going to talk about some of the ways you can do that and software that's out there, you know, so you can easily implement this kind of stuff.

23:19.260 --> 23:28.700
But right now, we're going to do a segment, which is unnamed, and we're going to invite a guest, actually.

23:28.980 --> 23:38.880
A friend of mine, whose name is Nolani, is going to come on, and I'm just going to ask her some questions, and we'll see what she says, okay?

23:39.760 --> 23:40.620
Hi, Nolani.

23:40.740 --> 23:42.240
Thanks for calling into the show.

23:42.240 --> 23:52.340
So, we have Nolani, who's a friend of mine, and she has been married to a hacker for how long, for four years or so?

23:52.980 --> 23:55.440
Yeah, four years, but we've been together for about seven.

23:56.440 --> 23:56.920
Okay.

23:57.180 --> 23:58.180
Okay, so that's great.

23:58.180 --> 24:04.820
So, she knows what it's like to have a relationship with a hacker and just a geek in general.

24:06.280 --> 24:09.820
So, I understand that you were at DEF CON recently, right?

24:10.000 --> 24:10.200
I was.

24:10.200 --> 24:11.100
And it was your first time?

24:11.560 --> 24:12.160
Yes, it was.

24:13.200 --> 24:20.880
Um, so, okay, what I was saying, actually, in episode 159, when we're doing the DEF CON wrap-up,

24:21.060 --> 24:32.400
I was very surprised at the amount of female attendance at the CON, because I was there, like, you know, three years ago,

24:32.780 --> 24:37.820
and, you know, there was, like, no women there at all, you know,

24:37.820 --> 24:45.340
and this year we have women presenting with people in contests and everything, and just generally attending.

24:46.060 --> 24:51.840
And so, I was, you know, so I want to ask your perspective of what you thought, you know,

24:51.840 --> 24:59.200
about kind of, like, the role of women in hacking and, you know, attending the CON and getting involved in the community.

24:59.200 --> 25:08.300
Well, my husband, the first year that he went was, I think, DEF CON 7, and he said there weren't many females there.

25:08.300 --> 25:12.600
And he said the turnout, just like you, has gone up greatly.

25:13.020 --> 25:19.200
And I think, just like any profession, whether it's, you know, a physician or a hacker,

25:19.200 --> 25:24.000
you're always going to start out with a low number of females, because, you know, the man's always keeping us down.

25:24.780 --> 25:26.300
And then we slowly...

25:26.300 --> 25:27.820
I don't know, right.

25:28.960 --> 25:31.360
What exactly do you mean by that?

25:31.760 --> 25:36.280
Can you elaborate on the man putting us down or keeping us down?

25:37.140 --> 25:46.080
Well, I think that, you know, a common misconception is that women can't do a lot of things as well as men can,

25:46.080 --> 25:50.100
when, in reality, we can do it sometimes just as good or better.

25:51.100 --> 25:51.820
All right, right on.

25:51.980 --> 25:52.220
Okay.

25:54.540 --> 25:58.960
So, I think, you know, the representation, of course, is going to go up year by year.

25:59.640 --> 26:02.920
My husband and I are growing our two hackers.

26:03.320 --> 26:04.700
We have a lockpicker in the family.

26:05.800 --> 26:11.080
So, hopefully, we'll still grow up to be good hackers, too.

26:12.520 --> 26:13.500
Okay, yeah.

26:13.500 --> 26:16.900
Yeah, I mean, that's something I think we're going to see.

26:17.500 --> 26:25.400
But, so, you were mentioning that, you know, the female attendants in, you know, the tech field,

26:25.540 --> 26:31.720
not just the hacker field, but, you know, people being programmers or being electrical engineers or whatever,

26:31.720 --> 26:38.440
just generally in the tech field are lower for, you know, for females just because of, you know,

26:38.440 --> 26:46.120
not necessarily of any actual, like, ability, you know, differentiation or whatever, but, you know,

26:46.240 --> 26:48.220
something like a social thing, right?

26:48.720 --> 26:49.200
Yeah, it is.

26:49.360 --> 26:49.680
Yeah.

26:49.680 --> 26:58.420
So, what do you suggest, you know, maybe, like, someone who is interested in getting into the field

26:58.420 --> 27:04.080
but kind of has, you know, feel that invisible, like, social pressure that, like, okay,

27:04.140 --> 27:09.860
maybe girls shouldn't be doing math and, like, they shouldn't be, like, good at science, et cetera, et cetera.

27:09.860 --> 27:16.280
And, you know, like, if someone really went against that field, like, kind of, not can't, but it's hard for them to,

27:16.340 --> 27:18.140
like, what do you recommend they do?

27:18.140 --> 27:30.780
I think one of the things that they can do is just really attach on to a group of guys that are in the field.

27:31.160 --> 27:35.460
And, you know, a lot of the guys that I know really are willing to take someone in,

27:35.640 --> 27:41.620
regardless of how you look as a female, to really teach them the tricks of the trade and teach things.

27:41.940 --> 27:45.820
One of the misconceptions, I think, of hackers is that they're not really friendly.

27:45.820 --> 27:52.540
And all the people that I met at DEF CON were excessively friendly to me and, you know, and my older daughter.

27:53.020 --> 27:55.460
And we didn't have any problems with people being rude or anything.

27:56.180 --> 28:00.780
So, I think just stepping into the arena would be good and going from there.

28:02.200 --> 28:02.720
Okay.

28:03.080 --> 28:03.380
Okay.

28:03.380 --> 28:06.520
But I think you actually mentioned something that's, like, a stickler for me.

28:07.020 --> 28:13.320
You know, girls in general, there's this whole thing that happens in middle school

28:13.320 --> 28:18.280
where math and science doesn't become important to them because their hormone levels start to go up.

28:19.000 --> 28:19.040
Right, right.

28:19.040 --> 28:24.120
And it's been taught that, you know, in order to get a good guy, that you've got to be a student.

28:24.120 --> 28:24.480
Right.

28:25.300 --> 28:30.400
So, I mean, like, one of the things I'm trying to get at is, you know,

28:30.520 --> 28:34.600
if you're in that position, and you're kind of in middle school or early high school,

28:34.600 --> 28:37.120
like, how do you fight against that, you know?

28:37.200 --> 28:39.480
Like, you know, like, now, I'm okay.

28:39.600 --> 28:44.680
So, since we're all older, we know, like, okay, it doesn't really matter, you know,

28:44.720 --> 28:50.600
if, like, people don't get you or, like, they shun you for, like, being in stuff you're not supposed to.

28:51.060 --> 28:54.140
But from the point of view of someone in that position, you know,

28:54.160 --> 28:57.320
having friends and being popular is actually, you know, really important.

28:58.160 --> 29:04.100
So, you know, like, you know, to them, how would you tell them to kind of, you know, do both?

29:05.020 --> 29:09.380
Yeah, I think, well, I mean, and this is from my parents' point of view.

29:09.480 --> 29:13.240
It really starts with, you know, building the good foundation when they're smaller.

29:13.380 --> 29:18.020
But, you know, just because you're smart doesn't mean that it's a bad thing

29:18.020 --> 29:23.080
and you're not going to be able to hang out with people or get a boyfriend or a girlfriend or whatever.

29:23.080 --> 29:27.520
And, you know, a lot of the schools, at least in our area, are focusing on that

29:27.520 --> 29:33.080
and really getting teenage girls involved in these programs where they are exposed to, you know,

29:33.460 --> 29:38.740
geeky women in their field being successful and having a happy life.

29:39.020 --> 29:41.960
And I think that schools are starting to recognize this whole thing.

29:43.080 --> 29:46.460
And letting people know, you know, at least with our kids, we say,

29:46.840 --> 29:51.080
it doesn't really matter what happens now.

29:51.080 --> 29:56.460
Because all those people who make fun of you for being smart are going to be fat and ugly and unsuccessful.

29:57.640 --> 29:59.040
I know, right?

29:59.640 --> 30:00.200
Totally.

30:00.600 --> 30:02.240
Well, we see the unsuccessful part.

30:02.920 --> 30:03.280
Yes.

30:05.160 --> 30:13.080
Yeah, I mean, yeah, but, you know, it's so hard to get that point across to, you know, people in that situation.

30:13.540 --> 30:17.080
Because I was in that situation not too long ago.

30:17.080 --> 30:23.920
And, you know, it's really hard to see that because, you know, you're living at that point in time

30:23.920 --> 30:26.200
and not, like, in five years in the future.

30:26.600 --> 30:29.000
But, I mean, it's something to definitely have to learn.

30:30.040 --> 30:30.480
Yes.

30:30.480 --> 30:30.720
Okay.

30:31.360 --> 30:38.760
So another thing I wanted to ask you, actually, is what is it like being married to one of the biggest geeks I know?

30:38.760 --> 30:47.440
I would say that the thing that definitely attracted me to him first was his passion and something,

30:48.460 --> 30:50.440
just his pure passion into something.

30:50.780 --> 30:53.960
And, you know, it's definitely something that I've had to get used to.

30:54.120 --> 31:00.880
I know that he goes through periods of time where he just needs to focus and be very productive.

31:00.880 --> 31:04.140
And I need to step back and work on my own things.

31:04.740 --> 31:06.440
And I'm totally okay with that.

31:06.660 --> 31:11.100
So it's just a whole adjustment period and learning, just like any relationship.

31:12.040 --> 31:12.940
Right, right.

31:12.960 --> 31:13.900
About a person and whatnot.

31:13.900 --> 31:21.180
But I think geeks are definitely a special type of person where they're just,

31:21.420 --> 31:26.360
they get so focused on one thing or another and you have to learn not to take it personally.

31:26.920 --> 31:30.540
But it's not that they love you any less or think you're less attractive.

31:30.780 --> 31:33.900
It's that, you know, this is it.

31:35.060 --> 31:35.500
Right.

31:35.820 --> 31:38.880
Now, has he had to make any adjustments for you?

31:38.880 --> 31:43.800
I mean, you know, so you're coming from, you know, what you're doing for him and all this stuff.

31:44.020 --> 31:49.180
But, like, have you guys kind of made, you know, a conscious effort to kind of make a compromise somewhere?

31:49.360 --> 31:58.200
You know, let's say, like, maybe he'll, like, set aside specific chunks of time that he's not staring at his computer for 16 hours a day.

31:59.680 --> 32:03.620
You know, he really has his priorities set.

32:03.620 --> 32:09.380
And we go through periods of time where, you know, he is staring at his computer for 16 hours a day.

32:09.540 --> 32:15.480
And I'm okay with that because I'm actually accomplishing my own things, like working on my photography or working on movies or whatnot.

32:15.700 --> 32:19.260
And it's times that I can really focus on things that I'm working on.

32:20.200 --> 32:25.060
And, you know, I'm just not one to sit around waiting for him to finish what he needs to.

32:25.060 --> 32:41.440
So, I mean, do you think it takes, like, a certain type of women to date geeks and hackers who are, you know, prone to prolonged periods of isolation and, you know, being immersed in what they're doing?

32:42.260 --> 32:44.120
You know, like, you have your own thing going on.

32:44.200 --> 32:45.860
So, you guys are both working on something.

32:46.120 --> 32:48.460
So, it's cool that he's off doing whatever.

32:48.460 --> 32:58.020
Yeah, I think it definitely, I don't think it takes a special type of person, per se, but I think it takes somebody who's definitely patient and willing to work in a relationship.

32:59.060 --> 33:01.560
You know, just like any relationship, it doesn't come naturally.

33:01.880 --> 33:10.060
So, the first time he sat down to work at his computer for 16 hours, I was like, you know, hey, what's going on?

33:12.360 --> 33:13.880
Come on, I want to do it.

33:14.580 --> 33:14.980
Exactly.

33:14.980 --> 33:18.620
True, what about you?

33:21.260 --> 33:23.340
I'm just enjoying listening to the show.

33:24.580 --> 33:26.060
You're hosting the show.

33:26.200 --> 33:27.460
Stop listening to it.

33:28.880 --> 33:43.000
My wife and I have similar problems that I, I don't know how you do it, but when I'm working on my computer, or if I'm playing on the computer, which we tend to do that sometimes also,

33:43.000 --> 33:45.720
it's always just playing on the computer.

33:47.520 --> 33:53.640
Like, I think she's getting it now, but in the beginning, she would look at me working on the computer as me just playing.

33:54.640 --> 33:55.580
I see, yeah.

33:56.340 --> 33:58.880
And that would aggravate the ever-living hell out of her.

33:58.880 --> 34:06.440
Yeah, I've never thought that, because I think for me, it was something that we talked about when we first got together.

34:06.800 --> 34:08.940
And, you know, the first time I was like, what the heck?

34:09.480 --> 34:10.380
Why are you on your computer?

34:10.480 --> 34:13.460
He explained to me in detail what he's done.

34:13.460 --> 34:25.780
And I actually see the things as tangible, and he's sharing, even though I don't understand, like, 50, probably 70% of what he's saying to me when he's talking about his coding or this really cool thing you made at work,

34:25.780 --> 34:32.760
I can see the passion in his eyes and understand that there's something tangible that I'm seeing that he's done.

34:33.620 --> 34:34.480
That's hot, right?

34:36.100 --> 34:40.880
Well, Ms. Troops is very supportive when I do something that's cool to me.

34:41.640 --> 34:43.660
And granted, she doesn't get a flip about it.

34:44.340 --> 34:47.820
But, you know, I'll get all excited, and I'll show it to her like I'm a little kid.

34:47.820 --> 34:51.860
And, you know, she pays attention to it, and she's like, oh, that's really cool.

34:52.720 --> 34:59.900
You know, doesn't understand what I'm doing, but she's not a nerd, so she doesn't have to.

35:02.320 --> 35:06.140
All right, so that sounds good.

35:06.240 --> 35:07.560
So there's hope for me, yes.

35:08.200 --> 35:08.860
There is hope.

35:08.980 --> 35:10.940
And she's also into photography.

35:11.860 --> 35:14.540
Were you into photography before the nerd?

35:15.540 --> 35:21.760
I was into photography before, but I got more into it because my nerd is also a hot skater boy.

35:22.540 --> 35:22.980
Awesome.

35:23.460 --> 35:28.620
So I get to take pictures of a hot skater boy and other hot skater boys at the skate park.

35:28.800 --> 35:32.320
So I edit and do all kinds of fun things with those.

35:32.740 --> 35:36.700
It wasn't just the fact that he was on his computer for 16 hours and you had to entertain yourself?

35:37.240 --> 35:38.280
No, it wasn't.

35:38.820 --> 35:39.120
Okay.

35:39.120 --> 35:44.460
I mean, because he was on for 16 hours, I learned how to do like CSS and make my own web page

35:44.460 --> 35:47.480
and I started blogging and all that kind of stuff, but.

35:48.720 --> 35:49.420
Good deal.

35:49.780 --> 35:50.220
It wasn't.

35:50.860 --> 35:51.280
Okay.

35:51.840 --> 35:55.060
So now this is the part where you have to help me.

35:56.100 --> 35:56.440
Okay.

35:56.960 --> 36:06.700
So if I'm looking for someone to go out with and I, bear with me.

36:06.700 --> 36:19.220
So, okay, so from what I understand, normal people will go to like bars and clubs to meet people to like do or something.

36:19.700 --> 36:30.940
But if I'm looking for someone to go out with that is, let's say, of a certain disposition, where would I go to find those people?

36:30.940 --> 36:36.440
I mean, you know, it's like, I don't know where they are.

36:37.380 --> 36:45.820
I would first move to New Zealand because the women to men ratio is like, what is it, like three to one.

36:45.840 --> 36:46.560
Do you say New Zealand?

36:47.200 --> 36:47.680
Yes.

36:48.240 --> 36:50.500
You would have a good chance there.

36:50.500 --> 36:57.420
I mean, you can go to like certain computer stores.

36:59.000 --> 37:08.240
See, that's kind of creepy because like if I go to Borders or like Fry's and I'm just standing around, you know,

37:08.500 --> 37:12.400
it's like analogous to picking up women at the supermarket.

37:13.080 --> 37:14.040
Who does that?

37:14.480 --> 37:15.240
Who does that?

37:15.240 --> 37:22.420
I know, but like if you're going, you know, say to the Apple store to buy like a MacBook Pro or something.

37:23.400 --> 37:24.160
Or a MacBook.

37:24.160 --> 37:25.140
There's hot chicks.

37:25.380 --> 37:26.340
No, MacBook Pro.

37:27.460 --> 37:31.700
There's hot chicks there standing around.

37:31.820 --> 37:40.680
And you could like, you know, go over to the software section where they are and be like, oh, I was looking for that SimCity video game too.

37:42.900 --> 37:43.940
Okay, okay, okay.

37:43.940 --> 37:50.620
So now let's say I found her at, you know, your local friendly Apple store.

37:51.260 --> 38:00.680
Now, what do I do to like, but I don't want to say pick up mine because I think personally that's really stupid.

38:01.200 --> 38:06.680
But how do I start a conversation and like engage her without scaring her away?

38:07.700 --> 38:09.680
Because I'm not going to say like.

38:09.680 --> 38:11.420
Ask her how she likes her tech product.

38:11.420 --> 38:13.140
Be like, how do you like your MacBook Pro?

38:13.940 --> 38:17.640
Because then they'll be like, oh, I love you, I love you, this, this, blah, blah, blah, blah.

38:17.800 --> 38:19.260
And then just pretend like you're interested.

38:20.300 --> 38:20.540
Okay.

38:20.920 --> 38:27.000
Take me through the conversation from when I see her to when I end up with a date.

38:28.060 --> 38:28.560
And go.

38:28.560 --> 38:34.700
So, all right, so you're standing there and she's looking at Final Cut.

38:35.780 --> 38:36.140
Okay.

38:36.660 --> 38:37.880
She's looking at Final Cut.

38:38.260 --> 38:44.940
And you could say, oh, you know, I was really interested in buying that software, but, you know, I'm not sure how user friendly it is.

38:44.940 --> 38:53.360
And then you can go on with the conversation and she can tell you about it and you guys can discuss the different things that you do in Final Cut.

38:54.120 --> 38:57.960
And then you could always say at the end, you know, you're a really good source of information.

38:58.100 --> 38:59.920
Do you mind if I get like your email address?

39:00.040 --> 39:06.120
Because I'm going to buy this and I really need a good source of information to, you know, ask questions about.

39:06.120 --> 39:12.740
Okay, so, so, so the first thing is trick her into giving her your contact information.

39:13.220 --> 39:13.620
Okay.

39:13.860 --> 39:14.520
Okay, I got it.

39:14.580 --> 39:15.100
Well, no, no, no.

39:15.120 --> 39:18.420
The first thing is ask them a question and see how they talk.

39:18.500 --> 39:21.540
And see if they annoy the shit out of you, like the first minute they're talking.

39:22.220 --> 39:23.920
You just want to make an excuse and walk away.

39:24.600 --> 39:25.000
Exactly.

39:25.560 --> 39:26.760
Okay, okay, okay.

39:26.760 --> 39:36.360
See, because in movies, what happens is you see him go up and say, hi, how are you doing?

39:36.640 --> 39:38.080
And the next thing is there's sex.

39:38.580 --> 39:40.060
I don't know what goes on in the middle.

39:41.280 --> 39:48.020
I mean, that whole conversation period is undocumented.

39:48.800 --> 39:55.300
Well, you know, even though it's not documented, stuff that happens in the movies does not really happen.

39:56.760 --> 39:57.900
It's just not true.

39:57.900 --> 39:58.700
Are you sure?

39:59.440 --> 40:06.460
Okay, my husband did not come riding up to me on a white horse with roses to ask me to marry him.

40:07.600 --> 40:11.100
So I'm pretty sure that the stuff that happens in movies doesn't happen.

40:12.380 --> 40:22.620
All right, so you would say the, so basically get a conversation started and then express interest by, like, you know,

40:22.620 --> 40:29.500
asking her for her e-mail or her number to, like, talk about some mutual interest that you guys have.

40:29.880 --> 40:30.180
Yeah, something like that.

40:30.180 --> 40:31.100
Is that a good first step?

40:31.540 --> 40:34.820
Yeah, something like that definitely is, you know, non-threatening.

40:35.460 --> 40:37.680
And, you know, it's not like, oh, Final Cut Pro.

40:38.540 --> 40:39.620
Hey, that's really cool.

40:39.680 --> 40:40.340
How does that work?

40:40.420 --> 40:41.820
And then, can I have your e-mail address?

40:43.100 --> 40:43.500
Okay.

40:43.980 --> 40:46.520
So you have to have some conversation skills.

40:46.920 --> 40:47.240
Yes.

40:47.840 --> 40:50.080
Hmm, maybe I'll just stick with MySpace.

40:51.040 --> 40:52.760
Just keep asking them questions.

40:53.240 --> 40:54.100
That's all you have to do.

40:54.180 --> 40:58.460
Like, you just have to listen for keywords and ask them a question.

40:58.740 --> 41:02.340
If she's like, well, the filters on Final Cut are really cool, you can do this.

41:02.820 --> 41:04.320
What kind of filters are there?

41:05.580 --> 41:06.020
Okay.

41:06.020 --> 41:13.180
Okay, so I'll write a script to do that, and then we'll see how it works.

41:13.580 --> 41:13.960
Okay.

41:14.500 --> 41:14.860
Gotcha.

41:15.620 --> 41:15.920
Okay.

41:16.340 --> 41:18.800
I would help with this market research, but I can't.

41:20.120 --> 41:20.660
You can't.

41:20.860 --> 41:25.340
Tell Mrs. Droops that this is the educational purpose.

41:25.460 --> 41:26.840
It's for science.

41:27.220 --> 41:27.840
It's for science.

41:27.840 --> 41:30.500
She's going to be like, it's for your stupid computer friends, isn't it?

41:30.500 --> 41:37.400
All right, well, I think that's all the time we have for this segment right now.

41:38.080 --> 41:39.400
No, Alani, thank you for coming.

41:39.480 --> 41:41.200
I'm sure we'll be talking to you again.

41:41.660 --> 41:42.020
All right.

41:42.080 --> 41:43.160
Thanks for having me.

41:43.300 --> 41:44.080
Thank you very much.

41:45.300 --> 41:46.100
No problem.

41:46.360 --> 41:47.660
You guys enjoy the rest of your show.

41:48.400 --> 41:49.240
We will.

41:49.900 --> 41:53.480
Now we can talk, go into our technical topics for the evening.

41:53.920 --> 41:57.880
And as I said before, we're going to talk about machine learning and data marketing.

41:58.740 --> 42:04.520
So, Droops, have you heard about this machine learning, data mining thing?

42:05.200 --> 42:07.280
Only from what I've heard from you today.

42:09.320 --> 42:09.800
Okay.

42:10.100 --> 42:10.360
Okay.

42:10.480 --> 42:11.220
That works.

42:11.900 --> 42:18.040
Now, machine learning is pretty much artificial intelligence.

42:19.320 --> 42:22.720
Now, when you think of AI, what do you think of?

42:24.320 --> 42:25.620
That Will Smith movie.

42:27.460 --> 42:27.740
Okay.

42:28.780 --> 42:36.360
Now, artificial intelligence is actually much less awesome than that.

42:37.980 --> 42:40.460
Machine learning is a little option of AI.

42:40.920 --> 42:49.080
And it's pretty much all of the algorithms and all the theorems and all the stuff that people can actually use.

42:49.080 --> 42:53.700
So, if you think machine learning, think practical AI.

42:55.100 --> 42:59.500
Now, for machine learning, there are a lot of ways to do it.

43:00.300 --> 43:05.200
You know, there are what they call supervised learning methods and unsupervised learning methods.

43:05.200 --> 43:12.000
But all of that stuff basically is trying to do one thing.

43:12.000 --> 43:29.240
You have the assumption that all types of data, like all types of things, whether it is, you know, where Droops walks in his house throughout the day to, you know, who searches what on the Internet.

43:29.240 --> 43:34.600
All of those things can be modeled by a mathematical function.

43:35.160 --> 43:41.740
Now, that function can be really complex and, you know, some crazy shit that no one can solve.

43:41.740 --> 43:43.180
But it exists.

43:44.120 --> 43:51.600
So, what that means is, you know, you can predict what's going to happen if you know how something works.

43:51.600 --> 43:58.940
I mean, that's a really general idea, but, you know, I mean, it's always been there, like, with physics and all that stuff.

43:59.480 --> 44:01.260
You know, it's basically what science is about.

44:01.980 --> 44:05.160
So, let me get into some detail.

44:06.140 --> 44:12.920
Now, there are two main categories of machine learning algorithms, supervised and unsupervised.

44:13.280 --> 44:18.980
Now, you always start with a data set, like the old data set they gave you for research.

44:18.980 --> 44:33.200
Now, for supervised, what that means is while you're running the algorithm and getting, you know, your software to learn what that function is that you're trying to have your machine learn,

44:33.980 --> 44:41.000
you have outputs that you're, you know, trying to match against.

44:41.220 --> 44:44.000
So, you know what it should be.

44:44.000 --> 44:49.220
So, you know, it's like, think about it as a function with inputs and outputs.

44:49.640 --> 44:54.420
You have a data set that's representative of the correct one.

44:54.940 --> 45:05.240
Now, you take those and you're trying to predict future occurrences of that, of items from that data set, right?

45:05.680 --> 45:08.380
When supervised, you know what the output is.

45:08.380 --> 45:12.820
So, let's say, you know, you have a mystery function and you don't know what it is.

45:13.220 --> 45:17.000
So, you plug in one and three and then you get out 206, right?

45:17.660 --> 45:27.860
Having the answer 206 means it's a supervised, I mean, the data set can be run with a supervised learning algorithm.

45:28.860 --> 45:32.360
Now, if we're unsupervised, that's just random data.

45:32.500 --> 45:34.900
That's just random crap that's out there.

45:34.900 --> 45:40.220
You know, so something like that would be the web search.

45:40.680 --> 45:42.740
Like, there's really no output.

45:43.180 --> 45:47.960
Like, you know, you have to figure it out yourself or it just isn't there.

45:48.060 --> 45:50.020
Or, you know, it's not that kind of data.

45:50.660 --> 45:55.640
So, an example of supervised that's actually pretty pertinent to this is spam, right?

45:55.640 --> 46:06.300
So, you have all these attributes for a spam email, like the link and, you know, like what's in the header and what kind of words are in the message, who it's from, et cetera, et cetera.

46:06.920 --> 46:10.340
And your output is whether it's a spam email or not.

46:10.880 --> 46:17.840
So, you know, there's some classification that you already know, but not everything is like that.

46:17.840 --> 46:32.620
Now, I'm going to go over four prominent algorithms, and those are agentry, key nearest neighbors, artificial neural nets, and clustering.

46:33.080 --> 46:39.400
Now, the first three are supervised algorithms, and clustering is the only unsupervised algorithm I'm going to go over.

46:39.400 --> 46:49.100
Now, at the end of the show, well, actually, in the show notes, I'm going to put in a link to a framework.

46:49.280 --> 46:56.260
Well, it's really a software package called WECA, W-E-K-A, and that has all this stuff implemented.

46:56.840 --> 47:07.320
So, what you can do is go and just run these algorithms on whatever data set you want, and then it'll spit back results, and all you have to know is how to interpret it.

47:07.320 --> 47:13.980
So, stuff I'm talking about now won't be a complete waste, and you don't have to implement it yourself.

47:15.200 --> 47:17.500
Now, okay, so let's start with decision trees.

47:18.120 --> 47:22.520
Now, decision trees is one of the simplest, simplest things you can do.

47:24.560 --> 47:27.120
Okay, actually, let's talk about the data set a little bit.

47:27.120 --> 47:39.520
So, you have – so, if you looked at the AOL data set, for example, they say, okay, each line, it's either a, you know, a query that someone did.

47:39.640 --> 47:42.900
So, you'll have the UID, and then I'll have the query string.

47:42.900 --> 47:52.420
And then another one is UID, query string, and some other variables.

47:52.780 --> 48:00.480
Now, those variables mean that they actually clicked on a result that was in, you know, what they queried for.

48:01.060 --> 48:03.960
So, there are additional attributes for that.

48:04.640 --> 48:09.900
Now, each attribute is one dimension of the data set.

48:09.900 --> 48:17.300
Now, one of the most important things is to figure out which attributes you want and which attributes you're going to use.

48:17.940 --> 48:24.480
Now, you may get a data set, and you don't want to use every single attribute because some of them maybe, you know, don't care,

48:25.020 --> 48:29.620
or they're not pertinent to what you're doing, or you may not have all the values for it.

48:29.620 --> 48:33.540
Now, there are techniques to deal with that, but you don't have to worry about that right now.

48:33.540 --> 48:42.360
So, once you have your data set, and since we're doing a supervised learning algorithm, you need to have an output.

48:43.420 --> 48:51.620
So, I don't, you know, so the AOL data set probably wouldn't work too well unless you categorize them yourself first.

48:53.380 --> 48:58.900
And what we're trying to do here is get, build like a software model.

48:58.900 --> 49:03.720
I mean, you know, you can even say some sort of, like, brain, right?

49:04.460 --> 49:06.420
What that can do is you're going to train it.

49:06.760 --> 49:10.320
So, you're going to take the data set and feed it into this algorithm,

49:10.680 --> 49:17.480
and it's going to give you a configuration for some kind of, you know, brain.

49:17.680 --> 49:22.340
I have no better word for it, but it'll probably come later to me.

49:22.340 --> 49:28.080
But you have some configuration, then what you want to do is predict future values.

49:28.080 --> 49:35.880
So, in the context of spam, you train your whatever learning algorithm you have with all the spam you have, right?

49:36.220 --> 49:43.360
And then, hopefully, the new spam will be close enough in certain characteristics with the old spam.

49:43.620 --> 49:48.720
It can recognize it as a spam message, and a real email is not a spam message.

49:49.600 --> 49:51.500
So, decision tree.

49:52.140 --> 49:54.220
What happens is this.

49:54.500 --> 49:57.540
You have a bunch of inputs.

49:57.540 --> 50:00.360
So, let's say you have an input that has a bunch of attributes.

50:01.280 --> 50:06.580
So, each attribute is going to end up being a split in the tree.

50:07.060 --> 50:12.820
So, you create this tree where you say, like, where you end up following it down.

50:13.040 --> 50:20.580
So, you say, okay, let's say I have, you know, a data set where each input has ten attributes,

50:20.580 --> 50:25.760
and the attributes are, you know, just some simple greater than or less than thing, right?

50:25.760 --> 50:36.800
So, let's say I put it in the input, and the first decision I make is, okay, is attribute A less than or greater than ten?

50:36.800 --> 50:45.280
And if it is less than ten, then I go one way, and if it's greater than ten, then I go the other way in the decision tree.

50:45.280 --> 50:52.740
Now, you keep doing that, and then you end up using all your ten attributes.

50:53.500 --> 50:59.500
And at the very end of the attribute tree, you know, so you follow some path, right?

50:59.640 --> 51:02.160
And at the very end, you come up with a classification.

51:02.160 --> 51:14.240
You say, oh, okay, I'm at the end, and from what I, you know, from the decision tree, I classify this as, you know, something or something else,

51:14.280 --> 51:15.540
and you defined that before.

51:16.580 --> 51:23.780
So, what you do is you end up training your decision tree on all of these example data,

51:24.360 --> 51:30.060
and then you kind of get some sort of notion of how well you do, right, because you're not always right.

51:30.060 --> 51:36.760
So, since you, I mean, you know, you would be always right if you had all the data possible from that function that you're trying to deduce,

51:37.020 --> 51:39.860
but you don't, so you're not going to be 100% correct.

51:40.220 --> 51:44.220
So, at some point, you're going to be wrong, so that's going to give you, like, a percentage of how well you're doing.

51:45.000 --> 51:49.260
So, that is what a decision tree does.

51:50.000 --> 51:52.980
Now, the interesting thing is how you make one.

51:52.980 --> 51:57.820
Because when you start, right, you don't know what your decision tree is.

51:57.820 --> 52:02.000
Like, when you take attribute A and say, you know, is A greater than 10?

52:02.080 --> 52:09.800
Like, you don't know how to do that, because A is just some value that all the input has, and, you know, that's it.

52:10.180 --> 52:15.580
So, you have to figure out what to make the decision tree.

52:15.820 --> 52:21.660
And the most important thing to do that is a concept called information gain.

52:21.660 --> 52:25.200
Now, so picture it this way.

52:25.300 --> 52:31.320
You have all your data, and now you have, let's say, let's take attribute A, for example.

52:32.320 --> 52:40.820
If you put in a decision that says, okay, let's split all the data, the input data,

52:41.500 --> 52:45.520
on if attribute A is less than 10 or greater than 10.

52:45.520 --> 52:51.280
Now, you do that, and then you figure out how that splits the data.

52:52.280 --> 52:58.200
Now, if it only splits out one input out of, you know, like, the thousands you have,

52:58.480 --> 53:02.320
then that's not very good at, you know, sorting out the info you have, right?

53:02.660 --> 53:10.960
So, what you want to do is find attributes and, you know, those kind of decision splitting points

53:10.960 --> 53:13.600
that's going to give you the most split.

53:13.600 --> 53:19.040
Now, for example, one of the best things to do, you know, at least in the beginning,

53:19.280 --> 53:23.540
is find one that is going to give you an even split.

53:23.940 --> 53:28.980
So, that's going to kind of narrow your chances the most.

53:30.260 --> 53:35.680
Now, so you do this in a greedy fashion, and so what that basically means is, okay,

53:35.840 --> 53:38.740
you used up attribute A, you split the data set in half.

53:38.740 --> 53:45.880
Now, the next decision you make is you do it with, you know, attribute B, right, the next one,

53:46.020 --> 53:51.080
and then you keep doing this until you end up with a whole tree that uses all your attributes.

53:51.080 --> 54:00.700
And since you have the results from the input, at the very end, you know, you categorize all your data,

54:01.020 --> 54:05.780
and you're going to get clumps of them, right, because you have, like, thousands and thousands of input,

54:05.980 --> 54:09.060
and you only have, say, like, a fraction of attributes.

54:09.500 --> 54:16.080
So, when you get down to the end of the tree, you're going to end up having, like, 200 things that are categorized by,

54:16.080 --> 54:19.880
that have the same attributes, or, you know, are categorized by the same attributes.

54:20.900 --> 54:29.420
So, when you get to the very end, you're going to look at the results or, you know, the output is for all those sample data.

54:29.800 --> 54:34.300
And, you know, they're not all going to agree, but you take the ones that's the majority.

54:34.300 --> 54:43.100
And then you say, okay, if I see an input in the future that takes me down this tree, down to that point,

54:43.620 --> 54:49.660
then I'm going to say the output, I'm going to predict the output is going to be, you know,

54:50.020 --> 54:55.580
this thing where it's the majority of the output that I've seen in the past.

54:55.580 --> 55:06.740
And then once you have that tree, then you can start, you know, making decisions and predicting output for future input.

55:07.540 --> 55:13.580
The next supervised algorithm that I'm going to talk about is something called K-nearest neighbor.

55:14.520 --> 55:23.020
Now, all this is, is you plot your, okay, so forget about the tree, you know, forget about, you know,

55:23.020 --> 55:26.580
all that crap right now, take your data set.

55:27.260 --> 55:30.660
Now, it has, let's say, the same 10 attributes, right?

55:31.620 --> 55:37.360
Then what you want to do now is to make a 10-dimensional graph.

55:37.920 --> 55:43.160
Just, just visual, not, you know, not visually, but plot, you know,

55:43.200 --> 55:46.960
pretend like you're plotting all the inputs on this 10-dimensional graph.

55:47.340 --> 55:53.000
So, you have this 10-dimensional space and all your data points are in there, right?

55:53.020 --> 55:54.500
And they're just floating around.

55:55.100 --> 55:58.180
So, so it's just this big blob of shit.

55:59.180 --> 56:03.560
Now, what you want to do is find things that are alike, you know?

56:03.620 --> 56:10.000
Like, that is kind of the, the, the overall strategy of most of these things.

56:10.120 --> 56:17.660
You want to find things that are alike so you know what, you know, some future input is going to be.

56:17.660 --> 56:30.020
So, so it's called K-nearest neighbors because you kind of group things and you make these little groups of K dots, right?

56:30.780 --> 56:35.680
Now, let's say you have 2,000 input points, right?

56:35.680 --> 56:38.900
Now, you get to choose what K is.

56:39.180 --> 56:42.300
So, what that means is, let's say I make K 10.

56:42.780 --> 56:48.780
So, from, you know, 1,000 of these points, I will make 10 groups.

56:49.440 --> 56:57.080
Now, you know, you can do K to whatever you want, but the point, the key is to find something interesting,

56:57.080 --> 57:05.500
like an interesting K, so it actually, you know, puts a circle around the dots that, that makes sense.

57:05.740 --> 57:12.880
Because ultimately, you want to say, okay, this group right here that I drew a circle around means, you know,

57:13.340 --> 57:18.360
it's people searching for grandmothers who want to have sex.

57:18.360 --> 57:25.620
And, you know, this other group are people who want to learn how to swallow swords, you know, or whatever.

57:26.460 --> 57:29.260
See, like, let's say you make too big.

57:29.420 --> 57:30.980
Let's say you make K 2,000.

57:31.420 --> 57:34.160
So, every single dot is its own group.

57:34.620 --> 57:35.780
That doesn't really tell you that.

57:36.560 --> 57:39.740
Now, we can make K something ridiculous, like 2,000.

57:40.320 --> 57:44.040
Then, then each, each input would be its own group.

57:44.040 --> 57:48.480
Now, you can say something meaningful about each one of those groups,

57:48.620 --> 57:53.520
but that's not going to really help you classify future data into, you know,

57:53.640 --> 57:58.180
into people like, who like to swallow swords or people who want to have sex with grandmothers.

57:58.960 --> 58:03.440
Now, so, you know, because not every single person is going to end up being the same.

58:03.520 --> 58:05.280
So, the key is to find a K that works.

58:06.100 --> 58:10.520
Now, what you're going to do is not worry about it,

58:10.520 --> 58:13.820
because the algorithm will pick K for you.

58:14.700 --> 58:21.980
See, because you end up kind of defining a distance that, you know, some distance where, okay,

58:22.040 --> 58:28.440
if two points are sufficiently far apart, then we don't want to put them in the same cluster.

58:28.820 --> 58:32.420
So, we'll, you know, put K to be like K plus one or something.

58:32.760 --> 58:36.140
So, there are ways to find K, but I'm not going to go into them here.

58:36.140 --> 58:43.980
Now, to illustrate how this works, there are several methods for doing K nearest neighbor.

58:44.380 --> 58:48.040
But, for example, this is one method to do it.

58:48.620 --> 58:52.680
You start with K being, let's say, 2,000.

58:52.800 --> 58:54.020
So, everyone's in their own group.

58:54.020 --> 59:02.720
Now, what you do is take two of the points that are the closest, then you group them together,

59:03.120 --> 59:05.580
and then make K one less.

59:06.460 --> 59:12.740
So, you know, if two points are really, really close, then you say, okay, those people are essentially the same.

59:12.740 --> 59:18.860
So, you know, at some point, we can extract some meaningful data out of that group.

59:19.200 --> 59:25.600
Then you keep doing that until, you know, so you can keep doing that until there's only one group.

59:26.440 --> 59:29.340
But what you end up with is like this tree again.

59:29.700 --> 59:34.900
Now, it's not like the decision tree, but it's a tree of kind of the order you group people in.

59:34.900 --> 59:43.180
So, you know, so this is kind of like a Deitcher's algorithm thing where you take two points that are the closest,

59:43.520 --> 59:48.660
and then you say, okay, these are one group, and then the next closest.

59:48.860 --> 59:55.200
Now, they might be two separate points completely, but you don't really care because eventually they're going to hook up with something else.

59:56.040 --> 01:00:00.680
So, when you make this tree of, you know, so you start grouping things together,

01:00:00.680 --> 01:00:08.900
you have this tree, and you can look yourself at like, okay, let me look at when K is equal to 7, you know.

01:00:09.100 --> 01:00:16.740
Like, what does that graph look like, you know, when you put the dots all in, you know, your 10-dimensional graph?

01:00:17.100 --> 01:00:18.480
You know, like, how does that look?

01:00:18.560 --> 01:00:22.580
Like, what if I go to K equals 6?

01:00:23.100 --> 01:00:27.140
Then am I going to put two really large groups together?

01:00:27.140 --> 01:00:33.860
Because if I am, then maybe those two groups have something interesting that, you know,

01:00:34.060 --> 01:00:39.440
that there's, you know, have some individuality that I can extract from it.

01:00:39.480 --> 01:00:41.180
So, maybe I don't want to put them together.

01:00:42.320 --> 01:00:49.720
Now, so you see what I mean when I say that K is kind of dynamic, depending on what you're trying to find out?

01:00:49.720 --> 01:00:55.940
So, you do that, and then when you get to the K you want, you end up with, okay,

01:00:56.040 --> 01:00:58.680
so let's say what makes sense for me is K equals 7.

01:00:59.220 --> 01:01:00.460
So, I have seven groups.

01:01:00.900 --> 01:01:02.740
So, I've grouped my data into seven things.

01:01:03.300 --> 01:01:08.000
Now, then I have to go and say, okay, what do these things have in common?

01:01:08.920 --> 01:01:11.260
But the hard part is done for you.

01:01:11.360 --> 01:01:13.060
You know they have something in common.

01:01:13.700 --> 01:01:16.760
I mean, you know, so basically it's trying to tell you something,

01:01:17.140 --> 01:01:19.360
and you need to figure out what it is.

01:01:19.360 --> 01:01:23.080
That becomes your job after you run the algorithm, you know.

01:01:23.260 --> 01:01:28.500
You look at the data, and you're like, oh, okay, these people look like they're into, you know,

01:01:29.300 --> 01:01:33.560
interspecies erotica, so maybe that's what this is telling me, you know.

01:01:34.040 --> 01:01:37.100
Like, all these people are into that, and that's cool,

01:01:37.940 --> 01:01:43.660
but they're different from this other group of people who might be into whatever else.

01:01:43.660 --> 01:01:52.720
So, that is a supervised thing, because what happens is, you know, so this is supervised for them.

01:01:52.800 --> 01:01:59.740
So, you end up having kind of the, not the answer, but you have the output.

01:01:59.740 --> 01:02:07.740
So, you know what, you know, these clusters of things are.

01:02:07.840 --> 01:02:11.980
Well, actually, cluster is not the right word, but you know what this group of dots mean.

01:02:12.400 --> 01:02:16.500
Because, you know, you, once again, you can do what you do in the decision tree,

01:02:16.500 --> 01:02:24.800
and you can say, like, okay, all, you know, out of these 367 groups, you know, of input,

01:02:26.120 --> 01:02:30.020
you know, like 300 of them have, you know, this for an output.

01:02:30.320 --> 01:02:39.540
So, we can safely say that, you know, if at some other point we get a dot that falls into that area,

01:02:39.540 --> 01:02:46.120
the output will most likely be whatever the output is for those 300 people or inputs that we have.

01:02:47.440 --> 01:02:52.080
So, you know, that's what, you know, that's kind of the same way you would use it.

01:02:52.200 --> 01:02:56.520
So, you know, let's run this, and you figure out what each of those groups mean.

01:02:56.660 --> 01:03:02.720
You can save that, and if you later get more data points from that same source,

01:03:03.220 --> 01:03:08.660
then, you know, then you can know where they belong, and you don't, you know, like,

01:03:08.660 --> 01:03:11.840
if, like, let's say, once again, you're predicting spam, right?

01:03:12.200 --> 01:03:18.180
Then, if you get an email in, and that dot falls into that group for whatever attribute,

01:03:18.700 --> 01:03:25.020
then you know that it's probably spam or not spam based on the, you know, 500 dots surrounding it.

01:03:25.700 --> 01:03:28.040
So, that's how you would use something like that.

01:03:29.540 --> 01:03:36.620
Now, the next supervised and the last supervised thing I'm going to talk about is artificial neural nets.

01:03:36.620 --> 01:03:44.100
Now, you might be fairly, you know, if you haven't heard of anything I've talked about yet,

01:03:44.300 --> 01:03:47.400
you probably may have heard about this.

01:03:47.900 --> 01:03:55.800
Now, neural nets is, you know, was invented in, what, like, the freaking 70s, probably?

01:03:56.400 --> 01:03:58.340
And, you know, it's been around forever.

01:03:58.340 --> 01:04:05.680
And the premise is you were trying to model what the brain does.

01:04:06.760 --> 01:04:12.500
So, you have, you know, so back, you know, when they were doing this, the biologists had figured out, like,

01:04:12.560 --> 01:04:18.820
okay, you know, you have these neurons in your brain, and you have inputs and outputs.

01:04:18.820 --> 01:04:25.020
Now, what happens is you get electrical signals, and they, you know, they go in the inputs,

01:04:25.500 --> 01:04:32.860
and then depending on how much of a voltage you get, like, how strong this signal is from your various inputs,

01:04:33.380 --> 01:04:36.260
then your output will fire, or it will not.

01:04:37.440 --> 01:04:42.720
So, you have one of these things, and then you hook them up, and your entire brain is made of this.

01:04:42.720 --> 01:04:47.120
And then, you know, so you have inputs, connect, or outputs, so everything is networked together,

01:04:47.500 --> 01:04:56.000
and that somehow, you know, leads to an eventual output that says, you know, like, do this, or, you know, don't do that.

01:04:56.820 --> 01:05:03.500
So, the AI, you know, the computer scientists and the AI people wanted to kind of utilize that,

01:05:03.840 --> 01:05:11.960
because we want to, you know, the goal, I guess, is to make, you know, an actual intelligence that can make decisions for you.

01:05:12.720 --> 01:05:19.140
But, as it turns out, 20, 30 years later, the brain is much more complicated than that.

01:05:19.720 --> 01:05:23.820
But, we still manage to find ways to use it.

01:05:24.760 --> 01:05:30.300
Now, the way a neural net works is you have this concept of a perceptron.

01:05:30.860 --> 01:05:40.200
A perceptron is exactly the same thing, or logically the same thing, as what they thought a neuron was.

01:05:40.200 --> 01:05:45.920
So, you end up having these inputs in your perceptron.

01:05:46.500 --> 01:05:48.260
Let's say you have three inputs.

01:05:49.000 --> 01:05:55.060
Now, the input can either be, well, it can be anything between zero and one.

01:05:55.980 --> 01:05:58.260
So, any real number between zero and one.

01:05:59.000 --> 01:06:00.360
Now, you have an output.

01:06:00.840 --> 01:06:03.620
The output can only be zero or one.

01:06:03.860 --> 01:06:06.700
So, a perceptron either fires or it doesn't.

01:06:06.700 --> 01:06:13.060
Now, inside the perceptron, not inside, but the perceptron has this notion of a threshold.

01:06:14.060 --> 01:06:20.820
So, let's say my threshold is, I don't know, two and a half.

01:06:20.820 --> 01:06:31.700
So, if every input I have, you add up the input values, they're from zero to one.

01:06:32.360 --> 01:06:41.060
And, if that value is greater than your threshold, which is two and a half, then your perceptron will fire, and it'll send out a one.

01:06:41.060 --> 01:06:43.560
So, that's the basic building block.

01:06:44.060 --> 01:06:56.580
Now, you hook all these things up into some sort of network, and you have this, you know, this is where neural nets come from, like the terminology.

01:06:57.040 --> 01:07:01.620
So, you have this thing, and now, we go back to the inputs that you have.

01:07:01.620 --> 01:07:04.280
You have 10 attributes, okay.

01:07:04.800 --> 01:07:13.120
So, we have 10 perceptron, and you hook them up in some fashion, and then you get one output.

01:07:13.760 --> 01:07:24.180
So, going back to our example with spam, you get, you know, so you get all these attributes from the email,

01:07:24.800 --> 01:07:29.000
and it'll have one output, and either say it's spam or not.

01:07:29.000 --> 01:07:37.220
So, I'm going to skip, kind of, you know, how you determine the middle right now, and I'll go back to that.

01:07:37.780 --> 01:07:42.860
But, before I do, so let's say you, you know, so, think back to the decision tree.

01:07:43.560 --> 01:07:54.500
Let's say you have an attribute A, and, you know, you say, okay, if attribute A is less than 10, then put in a zero.

01:07:54.920 --> 01:07:56.920
Or, if it's greater than 10, put in a one.

01:07:56.920 --> 01:08:04.520
Now, that's good and all, but you also get a range of values as the input.

01:08:05.040 --> 01:08:11.840
So, what you can do is normalize your attribute into, from zero to one.

01:08:12.180 --> 01:08:17.720
So, let's say if I have a range for my attribute that's like, I don't know, 20.

01:08:17.720 --> 01:08:27.080
Then, you know, then I can normalize it to zero and one, and based on every single value of attribute A,

01:08:27.580 --> 01:08:33.400
I can put into the first perceptron some value between zero and one.

01:08:33.400 --> 01:08:39.360
So, you know, the closer you're at 20, the higher, the closer you're going to be at one for the input.

01:08:39.940 --> 01:08:47.960
So, you do that for all the attributes, and you end up with, you know, some perceptrons firing and some not firing.

01:08:48.700 --> 01:08:53.900
So, the natural question, then, is, say, okay, how do you set thresholds?

01:08:53.900 --> 01:08:55.560
Because you don't know what to put them.

01:08:56.920 --> 01:09:08.600
So, there's an algorithm for neural nets that lets you train a neural net that kind of starts at a default factory setting state.

01:09:08.600 --> 01:09:15.640
So, it starts at some, you know, stupid thing where, like, all the thresholds are, like, one or something,

01:09:16.120 --> 01:09:20.220
and then you keep putting data in and you train it.

01:09:20.820 --> 01:09:25.800
And in your neural net, you can, most times, you can have a feedback loop.

01:09:26.580 --> 01:09:35.760
So, what happens is, since in your output, you know, in your input set, you know what the output is for that training data, right?

01:09:35.760 --> 01:09:39.760
So, what you can do is put one in, see what happens.

01:09:40.360 --> 01:09:45.840
You know, if, say, the end result fires, then, you know, if the end result is a one,

01:09:46.180 --> 01:09:51.940
then you can look at what the output actually is for your training data.

01:09:52.500 --> 01:09:56.980
And then, if it's right, then you say, okay, guys, good job, you know, moving on.

01:09:57.260 --> 01:10:01.540
But if it's wrong, then you say, okay, why the hell is this wrong?

01:10:01.540 --> 01:10:06.620
So, you have a feedback loop that goes back to the beginning and says, okay, you guys are wrong.

01:10:07.100 --> 01:10:13.000
So, someone screwed up, and someone's threshold is not correct, so you need to change it.

01:10:13.260 --> 01:10:16.340
And we'll see, you know, how well you do.

01:10:17.960 --> 01:10:20.260
So, I'm not going to go into details on how that works,

01:10:20.620 --> 01:10:25.240
but there's a process whereby you put in your input one after one,

01:10:25.480 --> 01:10:29.200
and then you keep adjusting the thresholds based on what you see.

01:10:29.200 --> 01:10:36.260
So, this is kind of, you know, like a steady, I guess what they call a gradient descent

01:10:36.260 --> 01:10:40.260
towards the approximation function that you want.

01:10:41.180 --> 01:10:49.080
So, you little by little get to the place where, you know, it would categorize each thing correctly.

01:10:49.580 --> 01:10:55.640
So, this works totally, completely differently from the decision tree and the k-nearest neighbors algorithm.

01:10:55.640 --> 01:11:00.620
Now, this is, like, because the decision tree and the k-nearest neighbor kind of make sense

01:11:00.620 --> 01:11:04.640
and kind of relate to each other in that you're, like, grouping how close things are,

01:11:04.960 --> 01:11:08.380
and it's kind of like a discrete value sort of thing.

01:11:09.240 --> 01:11:12.840
But for artificial neural nets, it's a totally different thing.

01:11:13.600 --> 01:11:18.140
So, you're training your neural net, and at the end of that, you end up with this network

01:11:18.140 --> 01:11:25.740
that has different weights in all of the nodes or the perceptron.

01:11:26.480 --> 01:11:34.780
Then you can use that, like, you use the other two methods to try to classify new things that come in.

01:11:36.100 --> 01:11:44.340
Now, before, I didn't talk about how you kind of construct that network, right?

01:11:44.340 --> 01:11:51.720
Because you know you need to have, say, ten inputs, because that's, ten inputs into your neural net,

01:11:51.980 --> 01:11:53.980
because that's the number of attributes you have.

01:11:54.460 --> 01:12:01.000
But, and you know you need one output for the actual classification of whatever you put in the neural net.

01:12:01.380 --> 01:12:04.240
But all that stuff in the middle, it's kind of vague.

01:12:04.640 --> 01:12:10.680
The reason that it's vague is because no one really knows what's the best thing to put.

01:12:10.680 --> 01:12:13.700
So, you can do anything you want.

01:12:14.180 --> 01:12:18.560
You can have, you know, you can have 70 layers of neural nets,

01:12:18.640 --> 01:12:20.840
and you can just keep hooking them up to each other,

01:12:21.240 --> 01:12:25.940
and, you know, just have a full mesh of layers and layers of perceptrons.

01:12:26.060 --> 01:12:30.620
And each time you go through the training data, you know, those weights will change.

01:12:31.580 --> 01:12:36.580
Now, or you can have just one row where you have a perceptron for each input,

01:12:36.580 --> 01:12:41.000
and all of them are just going to hook up to one perceptron for the output.

01:12:41.080 --> 01:12:41.700
You can do that.

01:12:42.460 --> 01:12:48.400
Now, depending on what you do in the network, your outcome is going to be different.

01:12:48.500 --> 01:12:52.380
Like, your neural net is going to be, you know, it's going to perform differently.

01:12:52.380 --> 01:12:58.920
So, what you have to do is you have to tell it how many layers to have

01:12:58.920 --> 01:13:03.940
and also how many, how wide each layer is,

01:13:03.980 --> 01:13:10.020
like how much input aggregation you do as you add each new layer,

01:13:10.140 --> 01:13:13.460
because you eventually have to get from the number of attributes down to one.

01:13:13.460 --> 01:13:20.440
Now, what I have found works the best is to have two layers.

01:13:20.920 --> 01:13:23.720
Now, sometimes, not always, so you have to try this out.

01:13:24.460 --> 01:13:28.260
If, you know, sometimes for something, having one layer works really well.

01:13:28.540 --> 01:13:32.820
And if you add a little layer to it, either it doesn't do anything or it fucks out completely.

01:13:33.280 --> 01:13:35.000
And at other times, it's vice versa.

01:13:35.000 --> 01:13:44.380
But in my experience, one or two layers is enough to capture the complexity of a function.

01:13:45.080 --> 01:13:48.020
Because that's, I mean, that's what adding layers means.

01:13:48.340 --> 01:13:55.660
You know, you add a level of indirection so you have room to tweak any intermediate values that you want.

01:13:55.820 --> 01:13:58.860
So it's not like, oh, if this is on, then that's on, right?

01:13:58.860 --> 01:14:06.620
So you let, you allow for the possibility of other, you know, of things affecting each other

01:14:06.620 --> 01:14:09.120
because they're going to be in a full mesh, right?

01:14:10.460 --> 01:14:15.880
So, you know, so what I found out is try one or try two layers with the software.

01:14:16.320 --> 01:14:20.980
But if neither of them works, then neural nets are probably not the best thing to classify that data set.

01:14:23.760 --> 01:14:24.320
Pause.

01:14:25.320 --> 01:14:26.280
What's up, Droofs?

01:14:26.280 --> 01:14:26.680
You're typing.

01:14:26.680 --> 01:14:30.560
No, that was low-tech coming through the door.

01:14:31.700 --> 01:14:32.100
Sorry.

01:14:34.140 --> 01:14:34.540
Hello?

01:14:34.820 --> 01:14:35.060
Sorry?

01:14:35.320 --> 01:14:35.640
Hey.

01:14:36.540 --> 01:14:37.380
Hey, what's up?

01:14:37.740 --> 01:14:39.440
That was low-tech coming through the door.

01:14:40.380 --> 01:14:41.300
Oh, cool, cool, cool.

01:14:41.840 --> 01:14:44.260
Okay, so I just finished talking on neural nets.

01:14:45.900 --> 01:14:50.380
I'm going to type with, like, the last thing and then close it.

01:14:52.820 --> 01:14:53.260
Okay.

01:14:54.120 --> 01:14:54.520
Okay?

01:14:55.200 --> 01:14:55.840
Sounds good.

01:14:56.680 --> 01:14:57.200
Okay.

01:14:57.580 --> 01:14:58.700
So still no questions?

01:14:59.760 --> 01:15:01.760
No, I haven't come up with any questions yet.

01:15:01.760 --> 01:15:02.140
I'm sorry.

01:15:02.820 --> 01:15:03.520
That's all right.

01:15:03.600 --> 01:15:04.640
I'll just keep talking.

01:15:05.420 --> 01:15:06.460
All right, start.

01:15:07.760 --> 01:15:11.500
You know, I've mentioned three supervised algorithms.

01:15:11.500 --> 01:15:20.980
Now, those tend to be a little more tame when you're doing machine learning because you know, you know, you know what the output is.

01:15:21.020 --> 01:15:22.480
So you have a set to train on.

01:15:23.060 --> 01:15:27.840
You know, that's the most important thing because all of these things have, like, configuration parameters,

01:15:27.840 --> 01:15:40.140
whether it is deciding which decisions to have in the branch or, you know, how to group your input data or, you know, what to make your thresholds for your neural net.

01:15:40.140 --> 01:15:43.760
You know, all of that requires some sort of training.

01:15:43.760 --> 01:15:56.280
And ultimately, you know, you're never – sometimes you'll get a data set that has no clear, you know, has no clear output.

01:15:56.280 --> 01:15:59.200
So it's just going to be, like, data of people doing stuff.

01:15:59.600 --> 01:16:02.460
And you're not going to know, you know, what it means.

01:16:02.780 --> 01:16:12.640
So, you know, let's say I take, like, traffic patterns, you know, or like how people, you know, call each other and all that stuff.

01:16:12.640 --> 01:16:18.440
Like, you're not – you don't know, you know, what the end goal is.

01:16:18.820 --> 01:16:25.200
You just know that you have this massive collection of data and you know that, you know,

01:16:25.260 --> 01:16:34.080
there's probably some sort of interesting information in there and you don't want to just rep it and find weird shit.

01:16:35.020 --> 01:16:38.500
So you need a way to extract that information.

01:16:38.500 --> 01:16:46.180
And there are a bunch of unsupervised learning algorithms, machine learning algorithms.

01:16:46.640 --> 01:16:51.640
But this one, I think, is going to be the easiest to kind of grasp.

01:16:51.780 --> 01:16:54.280
And I think it works the best, actually.

01:16:55.320 --> 01:16:57.260
So this is called clustering.

01:16:58.180 --> 01:17:02.900
Now, clustering is going to sound very similar to King Nearest Neighbor,

01:17:03.800 --> 01:17:07.760
but it's slightly different in the mathematical sense.

01:17:07.760 --> 01:17:09.600
But you don't care about that.

01:17:10.200 --> 01:17:14.080
What's going to happen is – I mean, this is the easiest thing to use.

01:17:14.520 --> 01:17:16.500
You take the software.

01:17:17.260 --> 01:17:22.040
Now, you feed it the data, and then you run a clustering algorithm on it.

01:17:22.120 --> 01:17:23.360
Now, there's a bunch of them.

01:17:23.740 --> 01:17:27.680
But what it basically does is what King Nearest Neighbor does.

01:17:27.680 --> 01:17:37.060
It looks at your data set, and it tells you what circles to draw around which dots.

01:17:37.560 --> 01:17:43.720
So it's going to cluster all the data, and then it's going to say, like, hey, I found, you know,

01:17:44.200 --> 01:17:46.920
like one or two clusters of interesting things.

01:17:47.000 --> 01:17:49.540
Like, these things over here are the same somehow.

01:17:49.540 --> 01:17:52.100
And those things over there are the same somehow.

01:17:53.020 --> 01:17:57.120
And we don't really know why, but that's what you need to figure out.

01:17:58.020 --> 01:18:07.740
Now, when you have something like this, the hardest part is to, you know, figure out – to interpret the results.

01:18:07.740 --> 01:18:16.400
But you can do that by looking at the data and, you know, doing whatever to it.

01:18:18.240 --> 01:18:29.420
So you don't have – okay, so when I was mentioning a function, like you have an actual function that you're trying to get, you know,

01:18:29.540 --> 01:18:30.740
trying to model, right?

01:18:31.380 --> 01:18:35.640
There's no notion of that in an unsupervised learning environment.

01:18:35.640 --> 01:18:38.400
But you end up having, like, a generator.

01:18:38.600 --> 01:18:44.700
Like, you have the concept of a generator that generates the actual model, right?

01:18:45.440 --> 01:18:49.900
And then you have sample data that's not linked.

01:18:50.720 --> 01:18:56.400
So you don't know really what you're learning, and you don't really know what your goal is.

01:18:57.020 --> 01:19:03.560
But the good thing is, clustering is going to tell you what you need to know.

01:19:03.560 --> 01:19:08.280
Now, there are a lot of ways to cluster.

01:19:08.800 --> 01:19:16.820
And I guess for every single way that you cluster, you can apply it to the K-Nurse and everything.

01:19:17.260 --> 01:19:26.340
So you can do, like, the mean distance between clusters, and you can, you know, calculate things like the minimum distance between clusters,

01:19:26.340 --> 01:19:31.960
clusters, and the mean internal distancing cluster, and all this stuff.

01:19:32.700 --> 01:19:36.940
And what you end up with is just groups of things.

01:19:38.060 --> 01:19:44.880
So you can tell a lot by grouping things, to my surprise when I first learned about this.

01:19:44.880 --> 01:19:51.180
So what you're going to end up having to do is, you know, okay, so once you have this data,

01:19:51.240 --> 01:19:56.480
you can find things like, you know, where noise is and where an interesting segment of data is.

01:19:56.680 --> 01:20:02.600
So you don't have to waste your time looking, you know, combing through gigs and gigs of stuff.

01:20:02.600 --> 01:20:11.660
And you can just concentrate on the meaningful centers of, you know, the nuggets of interesting things.

01:20:11.980 --> 01:20:14.640
And you can find out how they relate to each other.

01:20:15.320 --> 01:20:21.160
Now, a lot of this stuff is, you know, so I'm not talking, I'm not really talking about how the clustering works.

01:20:21.160 --> 01:20:31.420
But once you get it, get the clusters, you know, you need to find a lot of visual way to represent the data that, you know, that you have isolated.

01:20:32.320 --> 01:20:39.940
And you have to, you know, kind of like, from then on, it's kind of like create a process of trying to figure out, you know,

01:20:40.060 --> 01:20:46.720
what is important from, you know, whatever the algorithm tells you.

01:20:46.720 --> 01:20:55.000
So those are the predominant machine learning algorithms.

01:20:55.360 --> 01:20:57.540
And I really suggest you guys go.

01:20:57.920 --> 01:21:00.220
Just fucking download Wicca.

01:21:00.500 --> 01:21:02.080
Download It's in Java.

01:21:02.280 --> 01:21:02.900
Download it.

01:21:03.360 --> 01:21:03.840
Run it.

01:21:03.940 --> 01:21:06.220
Just feed AOL data into it, you know.

01:21:06.460 --> 01:21:15.280
Let your machine, you know, do something with the idle cycle and just feed the data into it and see what you get, you know.

01:21:15.280 --> 01:21:20.660
So it could be nothing, but you may find something interesting, you know.

01:21:20.740 --> 01:21:23.000
And it's all in how you interpret it.

01:21:23.900 --> 01:21:27.160
Well, that's all the time that we have here for Binary Revolution.

01:21:27.480 --> 01:21:29.180
And as we say every week.

01:21:29.400 --> 01:21:30.620
We'll see you again next week.

01:21:30.760 --> 01:21:31.660
Same hack time.

01:21:32.200 --> 01:21:33.340
Same hack channel.

01:21:33.340 --> 01:21:35.060
It's 3 a.m.

01:21:35.060 --> 01:21:37.040
And I want to go to bed.

01:21:37.500 --> 01:21:40.340
I got a lady running through my head.

01:21:40.940 --> 01:21:43.960
Ran out of money looking for the night shift.

01:21:43.960 --> 01:21:45.340
It's 3 a.m.

01:21:45.340 --> 01:21:47.720
And I want to go to bed.

01:21:47.780 --> 01:21:50.660
I know a lady way down in my country.

01:21:51.200 --> 01:21:54.560
She was so pretty that my eyes threw the sizes at me.

01:21:54.720 --> 01:21:57.560
Now we will sit and we'll wonder about our future.

01:21:58.180 --> 01:22:01.560
But now I'm thinking that today is down front of me.

01:22:01.700 --> 01:22:04.340
Well, I've been working five days full time.

01:22:05.080 --> 01:22:08.540
Ain't got no money, but everything is going fine.

01:22:08.540 --> 01:22:11.160
Well, I've been tired in my head.

01:22:11.760 --> 01:22:14.900
Well, I've been tired in my head.

01:22:15.240 --> 01:22:16.600
It's 3 a.m.

01:22:16.600 --> 01:22:18.260
And I want to go to bed.

01:22:19.040 --> 01:22:22.040
I got a lady running through my head.

01:22:22.460 --> 01:22:25.520
Run out of money looking for the night shift.

01:22:25.920 --> 01:22:26.920
It's 3 a.m.

01:22:26.920 --> 01:22:29.280
And I want to go to bed.

01:22:29.280 --> 01:22:32.740
I know a lady whose eyes fly right to me.

01:22:32.740 --> 01:22:36.200
And she will sit and stare directly at me.

01:22:36.340 --> 01:22:39.240
And that laugh will take me to my future.

01:22:39.820 --> 01:22:43.080
Throughout my past, there is nothing left of me.

01:22:43.220 --> 01:22:46.460
But I've been working five days full time.

01:22:46.660 --> 01:22:50.100
Ain't got no money, but everything is going fine.

01:22:50.200 --> 01:22:52.740
Well, I've been tired in my head.

01:22:52.740 --> 01:22:56.480
Said, I've been tired in my head.

01:22:57.080 --> 01:22:58.120
It's 3 a.m.

01:22:58.120 --> 01:22:59.720
And I want to go to bed.

01:23:00.560 --> 01:23:03.540
I got a lady running through my head.

01:23:04.000 --> 01:23:07.020
Run out of money looking for the night shift.

01:23:07.420 --> 01:23:08.420
It's 3 a.m.

01:23:08.420 --> 01:23:10.820
And I want to go to bed.

01:23:10.820 --> 01:23:26.580
I feel my lady late night.

01:23:26.580 --> 01:23:29.160
She comes to me and baids my mind.

01:23:29.420 --> 01:23:31.460
Reminds me of where we should be.

01:23:31.580 --> 01:23:34.500
So we just sit and we dream about our future.

01:23:35.060 --> 01:23:38.360
Throughout my past, there is nothing left for me.

01:23:38.500 --> 01:23:40.440
But I've been thinking five days.

01:23:40.440 --> 01:23:41.700
Full time.

01:23:41.900 --> 01:23:45.360
Ain't got no money, but everything is going fine.

01:23:45.440 --> 01:23:47.820
But I've been tired in my head.

01:23:48.840 --> 01:23:51.640
Well, I'm tired in my head.

01:23:52.280 --> 01:23:53.300
It's 3 a.m.

01:23:53.300 --> 01:23:55.000
And I want to go to bed.

01:23:55.760 --> 01:23:58.780
I got a lady running through my head.

01:23:59.220 --> 01:24:02.260
Run out of money looking for the night shift.

01:24:02.640 --> 01:24:03.640
It's 3 a.m.

01:24:03.640 --> 01:24:06.560
And I want to go to bed.

01:24:06.560 --> 01:24:10.280
My lady won't leave my head.

01:24:10.440 --> 01:24:14.260
I just want to rest my head through bed.

01:24:14.660 --> 01:24:16.660
She won't let me go.

01:24:17.820 --> 01:24:19.840
I don't want to go.

01:24:19.840 --> 01:24:19.900
I don't want to go.

01:24:19.900 --> 01:24:26.520
I don't want to go.

01:24:32.660 --> 01:24:33.080
Good night.

01:24:33.080 --> 01:24:33.680
I don't want to go.

01:24:33.680 --> 01:24:34.000
I don't want to go.

01:24:34.000 --> 01:24:35.120
Give it to her yes.

01:24:35.120 --> 01:24:35.420
I don't want to go.

01:24:35.420 --> 01:24:35.780
I don't want to go.

01:24:35.900 --> 01:24:36.280
You know what it is.

01:24:36.280 --> 01:24:37.180
I don't want to go.

01:24:37.180 --> 01:24:37.260
I don't want to go.

01:24:37.260 --> 01:24:39.160
I don't want to go.

01:24:39.160 --> 01:24:39.580
I don't want to go.

01:24:39.580 --> 01:24:41.580
You

