├── hm0057.vtt ├── hm0079.vtt ├── hm0040.vtt ├── hm0297.vtt ├── hm0143.vtt └── hm0048.vtt /hm0057.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT FILE 2 | 3 | 1 4 | 00:00:05.340 --> 00:00:17.060 5 | From Hansel minutes.com it's 6 | Hansel minutes or weekly discussion 7 | 8 | 2 9 | 00:00:17.060 --> 00:00:21.050 10 | with web developer and technologists. 11 | Scott Hanselman hosted by Carl Franklin. 12 | 13 | 3 14 | 00:00:21.590 --> 00:00:25.640 15 | This is Laura's Ryan announcing 16 | show number 57. Recorded Wednesday, 17 | 18 | 4 19 | 00:00:25.880 --> 00:00:31.430 20 | March 28th, 2007. Support for Hanselman it's 21 | is provided by Tellerik rad 22 | 23 | 5 24 | 00:00:31.430 --> 00:00:35.480 25 | controls, the most comprehensive suite 26 | of components or windows forms 27 | 28 | 6 29 | 00:00:35.480 --> 00:00:45.170 30 | and asp.net web applications. online@wwwdottlerik.com. 31 | Support is also provided by 32 | 33 | 7 34 | 00:00:45.170 --> 00:00:49.850 35 | dotnet developers journal, the world's 36 | leading.net developer magazine online at 37 | 38 | 8 39 | 00:00:50.090 --> 00:00:56.120 40 | www dot dot com. 41 | In this episode, Microsoft developer 42 | 43 | 9 44 | 00:00:56.120 --> 00:00:59.540 45 | Polly DePaula gets a visit 46 | from Scott and Roy life. 47 | 48 | 10 49 | 00:01:01.550 --> 00:01:03.800 50 | Hi, this is Scott Hanselman 51 | and I'm wandering around building 52 | 53 | 11 54 | 00:01:03.800 --> 00:01:06.500 55 | 42 at Microsoft, and I'm 56 | asking random people in random 57 | 58 | 12 59 | 00:01:06.500 --> 00:01:10.790 60 | offices. What are you working 61 | on Roy? Thanks for walking 62 | 63 | 13 64 | 00:01:10.790 --> 00:01:14.930 65 | around with me at building 66 | 40. Okay. Okay. Hi. How 67 | 68 | 14 69 | 00:01:14.930 --> 00:01:23.570 70 | are you? Hi, fantastic 71 | thing. Is that Greg? What 72 | 73 | 15 74 | 00:01:23.570 --> 00:01:26.060 75 | is it? It's not great. 76 | A, well, the first name 77 | 78 | 16 79 | 00:01:26.060 --> 00:01:28.790 80 | is Mexican and the last 81 | name is German. I was 82 | 83 | 17 84 | 00:01:28.790 --> 00:01:31.280 85 | so wrong in every possible 86 | way at HR question to 87 | 88 | 18 89 | 00:01:31.280 --> 00:01:33.320 90 | ask on chaplain. Well, I 91 | actually do it all the 92 | 93 | 19 94 | 00:01:33.320 --> 00:01:35.210 95 | time. I'm really curious just 96 | because we've got people from 97 | 98 | 20 99 | 00:01:35.210 --> 00:01:37.640 100 | all over the world, actually 101 | a lot of people, I 102 | 103 | 21 104 | 00:01:37.640 --> 00:01:40.430 105 | guess. Huh? Okay. Well, I 106 | don't feel that by then. 107 | 108 | 22 109 | 00:01:40.910 --> 00:01:42.890 110 | So what do you do? 111 | What's your title? I am 112 | 113 | 23 114 | 00:01:42.890 --> 00:01:46.670 115 | a, I'm a dev on 116 | the asp.net team. We have. 117 | 118 | 24 119 | 00:01:47.030 --> 00:01:49.760 120 | That's your debt you program? 121 | I do. If we found 122 | 123 | 25 124 | 00:01:49.760 --> 00:01:53.510 125 | one. Okay. The deal is 126 | this. There is a 10 127 | 128 | 26 129 | 00:01:53.510 --> 00:01:56.990 130 | to one ratio program managers 131 | to devs at Microsoft. It's 132 | 133 | 27 134 | 00:01:56.990 --> 00:01:58.820 135 | a little known fact and 136 | you could potentially own a 137 | 138 | 28 139 | 00:01:58.820 --> 00:02:01.130 140 | feature as a PM and 141 | you have only one 10th 142 | 143 | 29 144 | 00:02:01.130 --> 00:02:05.120 145 | of developer's time. We didn't 146 | know that Jeff's existed. We 147 | 148 | 30 149 | 00:02:05.120 --> 00:02:09.260 150 | haven't found any. I won 151 | the feature for the group 152 | 153 | 31 154 | 00:02:09.260 --> 00:02:11.990 155 | program manager of the unit 156 | you actually code for a 157 | 158 | 32 159 | 00:02:11.990 --> 00:02:14.510 160 | living. I actually code for 161 | a living on any features 162 | 163 | 33 164 | 00:02:14.510 --> 00:02:16.670 165 | or managing any programs or 166 | products. Well, I do on 167 | 168 | 34 169 | 00:02:16.670 --> 00:02:22.580 170 | features, but definitely features. Oh, 171 | that's fantastic. That's fantastic. Well, 172 | 173 | 35 174 | 00:02:22.580 --> 00:02:26.090 175 | I own a namespace. I 176 | don't, I haven't, I am 177 | 178 | 36 179 | 00:02:26.090 --> 00:02:30.950 180 | parts of a namespace. I 181 | didn't spaces, system, web UI 182 | 183 | 37 184 | 00:02:30.950 --> 00:02:36.740 185 | dealt with controls. Wow. That's 186 | actually huge. I wish I 187 | 188 | 38 189 | 00:02:36.740 --> 00:02:38.090 190 | could say I came up 191 | with it, but I didn't 192 | 193 | 39 194 | 00:02:38.090 --> 00:02:40.820 195 | know. What do you do? 196 | What are you coding? I 197 | 198 | 40 199 | 00:02:40.820 --> 00:02:43.700 200 | mean, I couldn't see sharp 201 | and I own the data 202 | 203 | 41 204 | 00:02:43.700 --> 00:02:48.410 205 | features or asp.net. So I 206 | wrote the good view and 207 | 208 | 42 209 | 00:02:48.410 --> 00:02:50.000 210 | details of you in front 211 | of you is where the 212 | 213 | 43 214 | 00:02:50.000 --> 00:02:57.920 215 | grid view I can't 216 | believe we just walked in 217 | 218 | 44 219 | 00:02:57.920 --> 00:03:03.820 220 | here. We're going to totally. 221 | Yes. Yeah. I taught people 222 | 223 | 45 224 | 00:03:03.820 --> 00:03:05.590 225 | how to use it. I 226 | went through a home thing 227 | 228 | 46 229 | 00:03:05.800 --> 00:03:07.090 230 | where I was just teaching 231 | people how to use it. 232 | 233 | 47 234 | 00:03:08.140 --> 00:03:13.530 235 | I've done that hardcore. Yeah. 236 | Great. Yeah. And then we 237 | 238 | 48 239 | 00:03:14.190 --> 00:03:16.800 240 | another dev and I kind 241 | of designed the, the data 242 | 243 | 49 244 | 00:03:16.800 --> 00:03:21.590 245 | interface options, data source and 246 | SQL data. So Yeah, that 247 | 248 | 50 249 | 00:03:21.600 --> 00:03:28.680 250 | is cool. I love the 251 | B side all data source, 252 | 253 | 51 254 | 00:03:31.050 --> 00:03:32.400 255 | but you have to data 256 | source. Is it allowed for 257 | 258 | 52 259 | 00:03:32.400 --> 00:03:35.490 260 | that abstraction? That was, you 261 | know, kind of, you know, 262 | 263 | 53 264 | 00:03:35.940 --> 00:03:38.130 265 | that was a bit difficult 266 | to do influence as a 267 | 268 | 54 269 | 00:03:38.130 --> 00:03:40.320 270 | dev. Do you have on 271 | the design? I mean, are 272 | 273 | 55 274 | 00:03:40.320 --> 00:03:43.500 275 | you sitting down and designing 276 | out the experience and the 277 | 278 | 56 279 | 00:03:43.500 --> 00:03:45.390 280 | UML and how this thing's 281 | going to create or does 282 | 283 | 57 284 | 00:03:45.390 --> 00:03:47.910 285 | someone do that? And you're 286 | just trying to crack, I 287 | 288 | 58 289 | 00:03:47.910 --> 00:03:51.330 290 | dunno, we designed almost the 291 | whole thing. We, we have 292 | 293 | 59 294 | 00:03:51.330 --> 00:03:54.330 295 | a very strong program manager 296 | that we work with and 297 | 298 | 60 299 | 00:03:54.510 --> 00:03:56.640 300 | it's literally like two or 301 | three of us will sit 302 | 303 | 61 304 | 00:03:56.640 --> 00:04:00.060 305 | down and talk everything out. 306 | Talk about property names, and 307 | 308 | 62 309 | 00:04:00.360 --> 00:04:02.490 310 | are you stuff over and 311 | our wrestle about what's the 312 | 313 | 63 314 | 00:04:02.490 --> 00:04:06.300 315 | best, whoever wins, wins, and 316 | then you, Or something like 317 | 318 | 64 319 | 00:04:06.300 --> 00:04:08.040 320 | that, who says, man, we, 321 | you know, the thing that 322 | 323 | 65 324 | 00:04:08.040 --> 00:04:10.710 325 | we're missing, object data source, 326 | who does that and then 327 | 328 | 66 329 | 00:04:10.710 --> 00:04:13.110 330 | tells you, and then you 331 | go, Oh yes. And you 332 | 333 | 67 334 | 00:04:13.110 --> 00:04:16.560 335 | get excited about it. When, 336 | when does that happen? Largely 337 | 338 | 68 339 | 00:04:16.560 --> 00:04:19.920 340 | nobody tells us what's missing. 341 | We, we know our customers 342 | 343 | 69 344 | 00:04:19.920 --> 00:04:22.560 345 | really well. And we say, 346 | we need object, data source. 347 | 348 | 70 349 | 00:04:22.620 --> 00:04:24.570 350 | We need this thing that 351 | can just buy into, you 352 | 353 | 71 354 | 00:04:24.570 --> 00:04:28.530 355 | know, people's code. And so 356 | we, we prioritize it and 357 | 358 | 72 359 | 00:04:28.530 --> 00:04:31.080 360 | we build it. It's really 361 | fun. We were working on 362 | 363 | 73 364 | 00:04:31.080 --> 00:04:34.650 365 | stuff for orcas It's pattern 366 | cubes to Petland cute. She's 367 | 368 | 74 369 | 00:04:34.650 --> 00:04:39.090 370 | got freaking six of them 371 | cubes. Wow. Initial dynamic, rendering 372 | 373 | 75 374 | 00:04:39.090 --> 00:04:44.220 375 | control data. Wow. Yeah, that 376 | was a feature that, that 377 | 378 | 76 379 | 00:04:44.220 --> 00:04:46.740 380 | made it into a CTP, 381 | but not create a final 382 | 383 | 77 384 | 00:04:46.740 --> 00:04:49.920 385 | release. The names are so 386 | you must not have come 387 | 388 | 78 389 | 00:04:49.920 --> 00:04:54.210 390 | with a super tentious. They'll 391 | give some really complicated named 392 | 393 | 79 394 | 00:04:54.210 --> 00:04:56.460 395 | method and system provider actually 396 | dated by and they get 397 | 398 | 80 399 | 00:04:56.460 --> 00:05:00.210 400 | control of the template. They 401 | have to be specific object 402 | 403 | 81 404 | 00:05:00.210 --> 00:05:01.920 405 | data source on the cube 406 | is that would be too 407 | 408 | 82 409 | 00:05:01.920 --> 00:05:04.890 410 | often. That's not the object. 411 | That's the bind statement. The 412 | 413 | 83 414 | 00:05:04.890 --> 00:05:07.440 415 | fund, you have a patent 416 | for the binds different fine 417 | 418 | 84 419 | 00:05:07.470 --> 00:05:10.440 420 | pair, you know, open parent, 421 | close parents without, without getting 422 | 423 | 85 424 | 00:05:10.440 --> 00:05:13.830 425 | to, you know, potentially, you 426 | know, stuck in the legal 427 | 428 | 86 429 | 00:05:13.830 --> 00:05:16.560 430 | stuff. Do you know? I 431 | mean, I don't do patents 432 | 433 | 87 434 | 00:05:16.560 --> 00:05:18.390 435 | myself or I've never, I'm 436 | not, I'm not one of 437 | 438 | 88 439 | 00:05:18.390 --> 00:05:20.100 440 | the smart people here. So 441 | when you do those, is 442 | 443 | 89 444 | 00:05:20.100 --> 00:05:22.740 445 | it more to protect us 446 | rather than to, you know, 447 | 448 | 90 449 | 00:05:22.740 --> 00:05:24.960 450 | use it like to Lord 451 | over other people? I always 452 | 453 | 91 454 | 00:05:24.960 --> 00:05:27.480 455 | feel like we do patents 456 | to protect ourselves. I think 457 | 458 | 92 459 | 00:05:27.480 --> 00:05:28.860 460 | it's a little bit of 461 | both. We do it to 462 | 463 | 93 464 | 00:05:28.860 --> 00:05:32.970 465 | protect ourselves into a kind 466 | of claim ownership over something 467 | 468 | 94 469 | 00:05:32.970 --> 00:05:36.890 470 | that we feel is unique. 471 | But, but I think it's 472 | 473 | 95 474 | 00:05:36.930 --> 00:05:40.050 475 | also to make sure that 476 | that is ours in the 477 | 478 | 96 479 | 00:05:40.050 --> 00:05:42.390 480 | future that we don't, we 481 | don't have a lot of 482 | 483 | 97 484 | 00:05:42.390 --> 00:05:44.850 485 | features that we're giving away 486 | for free. Yeah. Because I 487 | 488 | 98 489 | 00:05:44.850 --> 00:05:47.160 490 | think he's just sometimes have 491 | the idea that we're just 492 | 493 | 99 494 | 00:05:47.160 --> 00:05:49.080 495 | like trying to patent everything 496 | so that we can, you 497 | 498 | 100 499 | 00:05:49.080 --> 00:05:51.120 500 | know, be like a big 501 | bulldozer. But I don't think 502 | 503 | 101 504 | 00:05:51.120 --> 00:05:52.770 505 | we're doing that. I mean, 506 | we do it to protect 507 | 508 | 102 509 | 00:05:52.770 --> 00:05:55.230 510 | our IP really. I mean, 511 | I've been here eight years 512 | 513 | 103 514 | 00:05:55.230 --> 00:05:57.560 515 | and I've got six of 516 | these. It's not that common. 517 | 518 | 104 519 | 00:05:57.590 --> 00:06:00.310 520 | We don't, Well, we saw 521 | Vance's office, you've seen his 522 | 523 | 105 524 | 00:06:00.310 --> 00:06:05.980 525 | office, he sits on a 526 | cube of cubes. It doesn't 527 | 528 | 106 529 | 00:06:05.980 --> 00:06:09.400 530 | sound countable. He's got like, 531 | I was like 14, 14. 532 | 533 | 107 534 | 00:06:09.770 --> 00:06:11.950 535 | He had quite a few, 536 | they were in a pyramid, 537 | 538 | 108 539 | 00:06:12.580 --> 00:06:15.100 540 | but I mean, yeah, it's 541 | cool. Every time I see 542 | 543 | 109 544 | 00:06:15.100 --> 00:06:18.970 545 | someone with cubes, I get 546 | excited. Cause cubes. Yeah, he 547 | 548 | 110 549 | 00:06:18.970 --> 00:06:21.420 550 | did something good. You know, 551 | I'm actually, I'm starting to 552 | 553 | 111 554 | 00:06:21.420 --> 00:06:25.750 555 | think of something to say 556 | I've starstruck with. pretty 557 | 558 | 112 559 | 00:06:25.750 --> 00:06:27.700 560 | cool. We got very, very 561 | lucky. I worked on a 562 | 563 | 113 564 | 00:06:27.700 --> 00:06:31.270 565 | book with, with bill Evian 566 | and Devin rater for Rocksville 567 | 568 | 114 569 | 00:06:32.980 --> 00:06:42.130 570 | professionally. Never heard of the 571 | book. No idea just knew 572 | 573 | 115 574 | 00:06:42.220 --> 00:06:45.580 575 | she doesn't need it. I 576 | know. But see if I 577 | 578 | 116 579 | 00:06:45.580 --> 00:06:47.470 580 | knew her before it would 581 | have been a better book. 582 | 583 | 117 584 | 00:06:50.140 --> 00:06:53.620 585 | Do you bother you that 586 | we reflect into your code 587 | 588 | 118 589 | 00:06:53.650 --> 00:06:55.390 590 | to get into your mind? 591 | Or would you rather than 592 | 593 | 119 594 | 00:06:55.390 --> 00:06:57.820 595 | we just gave you, would 596 | you rather that you could 597 | 598 | 120 599 | 00:06:57.820 --> 00:07:00.820 600 | give away the source? And 601 | that's interesting because we reflect, 602 | 603 | 121 604 | 00:07:00.850 --> 00:07:05.110 605 | we feel the sources available 606 | anyway. Well, absolutely. We don't 607 | 608 | 122 609 | 00:07:05.110 --> 00:07:09.100 610 | mind the guy that wrote 611 | reflector, you know, down the 612 | 613 | 123 614 | 00:07:09.100 --> 00:07:12.400 615 | hall, right? Yeah. We're looking 616 | for him. Yeah. He's usually 617 | 618 | 124 619 | 00:07:12.400 --> 00:07:15.160 620 | around. I think it's great 621 | that people look in the, 622 | 623 | 125 624 | 00:07:15.340 --> 00:07:17.110 625 | in the code and figure 626 | out how to do stuff 627 | 628 | 126 629 | 00:07:17.110 --> 00:07:19.000 630 | on their own. It's almost 631 | like an enabler to make 632 | 633 | 127 634 | 00:07:19.000 --> 00:07:22.870 635 | you more independent. You don't 636 | have to send mail to 637 | 638 | 128 639 | 00:07:23.290 --> 00:07:26.500 640 | somebody at Microsoft. And if 641 | you don't get your answer 642 | 643 | 129 644 | 00:07:26.500 --> 00:07:29.230 645 | off the forums, you can 646 | find it yourself. The XML 647 | 648 | 130 649 | 00:07:29.230 --> 00:07:32.020 650 | data stores also. I know 651 | I didn't do the Monday. 652 | 653 | 131 654 | 00:07:33.940 --> 00:07:35.830 655 | Yeah. So I want to 656 | know why it doesn't support 657 | 658 | 132 659 | 00:07:35.830 --> 00:07:39.880 660 | namespaces within X path. You 661 | can't use the XML data 662 | 663 | 133 664 | 00:07:39.880 --> 00:07:43.000 665 | source with any document that 666 | has a namespace. I don't 667 | 668 | 134 669 | 00:07:43.000 --> 00:07:48.850 670 | know the answer. No prefixes, 671 | nothing to call out sick 672 | 673 | 135 674 | 00:07:48.850 --> 00:07:55.630 675 | today. Now he's sick. He's 676 | faced prefixes. He's telling you 677 | 678 | 136 679 | 00:07:55.630 --> 00:08:00.820 680 | to appreciate me. How did 681 | you coordinate that? You've got 682 | 683 | 137 684 | 00:08:00.820 --> 00:08:02.830 685 | one person. I mean the 686 | XML data source, you obviously 687 | 688 | 138 689 | 00:08:02.830 --> 00:08:06.340 690 | want to have a overarching 691 | group of data sources and 692 | 693 | 139 694 | 00:08:06.340 --> 00:08:11.590 695 | they all want to behave 696 | the same way. Oh, 697 | 698 | 140 699 | 00:08:11.590 --> 00:08:13.900 700 | so the actual there's a 701 | patent for the creation of 702 | 703 | 141 704 | 00:08:13.900 --> 00:08:16.690 705 | that. The management of that. 706 | Wow. That's great. Yeah. So 707 | 708 | 142 709 | 00:08:16.840 --> 00:08:18.520 710 | Alon the guy who wrote 711 | most of those and I 712 | 713 | 143 714 | 00:08:18.520 --> 00:08:24.460 715 | spend lots and lots of 716 | time. Yeah. to get 717 | 718 | 144 719 | 00:08:24.460 --> 00:08:29.320 720 | back into the content what's 721 | that made out of, I'm 722 | 723 | 145 724 | 00:08:29.320 --> 00:08:38.050 725 | going to be granted my 726 | countertops. Wow. That's fantastic. And 727 | 728 | 146 729 | 00:08:38.050 --> 00:08:41.500 730 | then who's your guest? My 731 | guest is Matt. He's my 732 | 733 | 147 734 | 00:08:41.500 --> 00:08:47.440 735 | manager too. Hi Matt. So 736 | Matt, you have responsibility over 737 | 738 | 148 739 | 00:08:47.440 --> 00:08:50.200 740 | which, which portions of stuff 741 | now. Cause you're never going 742 | 743 | 149 744 | 00:08:50.200 --> 00:08:54.520 745 | to pull it. You just 746 | keep rising. I have responsibility 747 | 748 | 150 749 | 00:08:54.520 --> 00:09:01.470 750 | over asb.net. Yeah. Full-stop system, 751 | that web system, that configuration 752 | 753 | 151 754 | 00:09:03.030 --> 00:09:05.340 755 | you're branching up. So, so 756 | I have a question for 757 | 758 | 152 759 | 00:09:05.340 --> 00:09:07.680 760 | you and this is getting 761 | a little off of your 762 | 763 | 153 764 | 00:09:07.680 --> 00:09:11.520 765 | topic, although I really respect, 766 | what do you think about 767 | 768 | 154 769 | 00:09:11.520 --> 00:09:15.330 770 | alternative ways to write, write 771 | and that's sites like monorail 772 | 773 | 155 774 | 00:09:15.660 --> 00:09:22.020 775 | and the castle project. So, 776 | so, and this is not 777 | 778 | 156 779 | 00:09:22.020 --> 00:09:23.700 780 | like a control and I'm 781 | not trying to kind of 782 | 783 | 157 784 | 00:09:23.700 --> 00:09:26.640 785 | like how much it from 786 | the side, but, but you 787 | 788 | 158 789 | 00:09:26.640 --> 00:09:28.440 790 | know, you know that there 791 | are people out there doing 792 | 793 | 159 794 | 00:09:28.440 --> 00:09:32.310 795 | crazy wacky stuff with HTTP 796 | handlers and to be modules 797 | 798 | 160 799 | 00:09:32.310 --> 00:09:34.500 800 | and stuff like that. When 801 | someone builds something on top 802 | 803 | 161 804 | 00:09:34.500 --> 00:09:37.620 805 | of like monorail is a 806 | rails, like framework, an MVC 807 | 808 | 162 809 | 00:09:37.620 --> 00:09:41.190 810 | framework based on an HTP 811 | handler. And it's an alternate 812 | 813 | 163 814 | 00:09:41.460 --> 00:09:48.090 815 | lifestyle that runs within ASP. 816 | The thought process. When you 817 | 818 | 164 819 | 00:09:48.090 --> 00:09:49.800 820 | hear about something like that, 821 | that a person's built a 822 | 823 | 165 824 | 00:09:49.800 --> 00:09:53.130 825 | whole other parallel universe, evil 826 | Spock, there's an evil mat 827 | 828 | 166 829 | 00:09:53.130 --> 00:09:56.010 830 | with a goatee doing this 831 | kind of work. Do you 832 | 833 | 167 834 | 00:09:56.010 --> 00:09:58.570 835 | go, Hey, that's awesome. Fantastic. 836 | Or do you kind of 837 | 838 | 168 839 | 00:09:58.920 --> 00:10:01.830 840 | wish they really understood pages 841 | and the whole, what we 842 | 843 | 169 844 | 00:10:01.830 --> 00:10:04.650 845 | were thinking, is there kind 846 | of a sense of now 847 | 848 | 170 849 | 00:10:04.650 --> 00:10:07.490 850 | it's not a, have they 851 | done something evil? It's it's 852 | 853 | 171 854 | 00:10:08.160 --> 00:10:11.370 855 | what is it that they're, 856 | they're driving out there? For 857 | 858 | 172 859 | 00:10:11.370 --> 00:10:13.500 860 | example, they might say that 861 | we really wanted a really 862 | 863 | 173 864 | 00:10:13.500 --> 00:10:18.210 865 | true MVC style model, three 866 | framework, and that the code 867 | 868 | 174 869 | 00:10:18.210 --> 00:10:20.160 870 | behind it just didn't give 871 | us the kind of separation 872 | 873 | 175 874 | 00:10:20.160 --> 00:10:22.350 875 | that we wanted. They felt 876 | that the markup and the 877 | 878 | 176 879 | 00:10:22.350 --> 00:10:25.410 880 | Kobe Hunter. So, so married 881 | partially because of the way 882 | 883 | 177 884 | 00:10:25.890 --> 00:10:30.180 885 | that one, one had that 886 | kind of uncomfortable derivation situation 887 | 888 | 178 889 | 00:10:30.420 --> 00:10:32.640 890 | that became very nice with 891 | the partial classes stuff. But 892 | 893 | 179 894 | 00:10:32.640 --> 00:10:35.700 895 | they felt that the idea 896 | that you can't reuse a 897 | 898 | 180 899 | 00:10:35.700 --> 00:10:39.780 900 | code behind with other markup, 901 | without some serious dancing, you 902 | 903 | 181 904 | 00:10:39.780 --> 00:10:43.590 905 | can always do stuff without 906 | some dancing when they do 907 | 908 | 182 909 | 00:10:43.590 --> 00:10:45.390 910 | stuff like that. Do you 911 | want to kind of bring 912 | 913 | 183 914 | 00:10:45.390 --> 00:10:47.070 915 | them back into the fold 916 | and explain to them like, 917 | 918 | 184 919 | 00:10:47.100 --> 00:10:48.210 920 | this is what we were 921 | thinking or do you think 922 | 923 | 185 924 | 00:10:48.210 --> 00:10:49.740 925 | that's great. They want to 926 | build that on top of 927 | 928 | 186 929 | 00:10:49.740 --> 00:10:52.380 930 | it. And they're using the 931 | stack. I take it beyond 932 | 933 | 187 934 | 00:10:52.380 --> 00:10:55.170 935 | that. I look at it 936 | and go, we have the 937 | 938 | 188 939 | 00:10:55.170 --> 00:10:58.440 940 | page framework and controls architecture 941 | is somewhat heavy weight and 942 | 943 | 189 944 | 00:10:58.770 --> 00:11:01.230 945 | the control tree and the 946 | whole pre-render process is nontrivial. 947 | 948 | 190 949 | 00:11:01.440 --> 00:11:02.880 950 | And if they say, what 951 | I really wanted is a 952 | 953 | 191 954 | 00:11:02.880 --> 00:11:06.870 955 | model view architecture, and I 956 | want it this way. I'm 957 | 958 | 192 959 | 00:11:06.870 --> 00:11:09.180 960 | not looking to convert them 961 | back to some other architecture. 962 | 963 | 193 964 | 00:11:09.180 --> 00:11:11.670 965 | I look at it, go, 966 | are there ways that we 967 | 968 | 194 969 | 00:11:11.670 --> 00:11:14.520 970 | should be building something closer 971 | to that? So how do 972 | 973 | 195 974 | 00:11:14.520 --> 00:11:16.440 975 | you do that? So here 976 | you've got people like the 977 | 978 | 196 979 | 00:11:16.440 --> 00:11:19.140 980 | rails guys in the Ruby 981 | world, they have a, just 982 | 983 | 197 984 | 00:11:19.140 --> 00:11:22.290 985 | a very different view on 986 | things. And I know that 987 | 988 | 198 989 | 00:11:22.290 --> 00:11:27.000 990 | there's the, where's the, where's 991 | the, the generator that someone 992 | 993 | 199 994 | 00:11:27.000 --> 00:11:36.590 995 | just did. It was a, 996 | that was you, Scott. You 997 | 998 | 200 999 | 00:11:36.590 --> 00:11:38.000 1000 | want to tell the audience 1001 | real quick or what do 1002 | 1003 | 201 1004 | 00:11:38.010 --> 00:11:41.930 1005 | you tell ya? That's an 1006 | example. So here's an example 1007 | 1008 | 202 1009 | 00:11:41.930 --> 00:11:46.730 1010 | of someone doing the alternative 1011 | lifestyle thing. And the team 1012 | 1013 | 203 1014 | 00:11:46.730 --> 00:11:48.620 1015 | itself, is this your way 1016 | of kind of sending a 1017 | 1018 | 204 1019 | 00:11:48.620 --> 00:11:51.080 1020 | message, like here's a totally 1021 | different way thinking about it. 1022 | 1023 | 205 1024 | 00:11:52.400 --> 00:11:55.870 1025 | We really, the creativity And 1026 | what we see in the, 1027 | 1028 | 206 1029 | 00:11:56.470 --> 00:11:59.080 1030 | in the industry of people 1031 | coming out with new things 1032 | 1033 | 207 1034 | 00:11:59.080 --> 00:12:01.030 1035 | are their way of telling 1036 | us what they want to 1037 | 1038 | 208 1039 | 00:12:01.030 --> 00:12:03.100 1040 | see an estimate on that. 1041 | And that's how we get 1042 | 1043 | 209 1044 | 00:12:03.100 --> 00:12:07.090 1045 | to figure out what people 1046 | want. And we knew there 1047 | 1048 | 210 1049 | 00:12:07.090 --> 00:12:09.730 1050 | was an area where people 1051 | wanted to show their data 1052 | 1053 | 211 1054 | 00:12:09.820 --> 00:12:11.860 1055 | and they didn't want to 1056 | spend a ton of time 1057 | 1058 | 212 1059 | 00:12:11.860 --> 00:12:14.560 1060 | kind of exposing their data 1061 | and wiring up lots of 1062 | 1063 | 213 1064 | 00:12:14.560 --> 00:12:17.560 1065 | data sources. They wanted something 1066 | that could get them started 1067 | 1068 | 214 1069 | 00:12:17.560 --> 00:12:20.530 1070 | really quickly. And also we 1071 | wanted a chance to show 1072 | 1073 | 215 1074 | 00:12:20.530 --> 00:12:22.600 1075 | off this new technology called 1076 | length that we were building. 1077 | 1078 | 216 1079 | 00:12:22.780 --> 00:12:25.450 1080 | So that's what blink did 1081 | it. It was a command 1082 | 1083 | 217 1084 | 00:12:25.450 --> 00:12:28.210 1085 | line generator, really simple, no 1086 | UI or anything that just 1087 | 1088 | 218 1089 | 00:12:28.210 --> 00:12:31.150 1090 | says, here's, you know, you 1091 | showed me your database and 1092 | 1093 | 219 1094 | 00:12:31.150 --> 00:12:34.060 1095 | I can show you pages. 1096 | That'll let you insert, update, 1097 | 1098 | 220 1099 | 00:12:34.060 --> 00:12:38.130 1100 | delete, filter, all those things 1101 | that should just It's like 1102 | 1103 | 221 1104 | 00:12:38.130 --> 00:12:41.040 1105 | Rick, just do it. Yeah. 1106 | It just like, right. Yeah. 1107 | 1108 | 222 1109 | 00:12:41.070 --> 00:12:43.590 1110 | And, and when you're done, 1111 | you should have a website 1112 | 1113 | 223 1114 | 00:12:43.590 --> 00:12:48.180 1115 | that works for That's an 1116 | asp.net WWF. L I N 1117 | 1118 | 224 1119 | 00:12:48.180 --> 00:12:52.920 1120 | Q. Yeah. You're just the 1121 | hits. Keep coming. Can I 1122 | 1123 | 225 1124 | 00:12:52.920 --> 00:12:55.320 1125 | say something that's fine. I 1126 | just thought your question was 1127 | 1128 | 226 1129 | 00:12:55.320 --> 00:12:58.260 1130 | really interesting because I mean, 1131 | it is on our stack, 1132 | 1133 | 227 1134 | 00:12:58.260 --> 00:13:00.330 1135 | so that's, that's good. You 1136 | know, that's a good thing. 1137 | 1138 | 228 1139 | 00:13:00.330 --> 00:13:02.430 1140 | So they're building on our 1141 | staff, but I used to 1142 | 1143 | 229 1144 | 00:13:02.430 --> 00:13:04.050 1145 | work kind of in the 1146 | Java world. You know, that's 1147 | 1148 | 230 1149 | 00:13:04.050 --> 00:13:05.940 1150 | what I did before coming 1151 | to the Microsoft side of 1152 | 1153 | 231 1154 | 00:13:05.940 --> 00:13:08.970 1155 | things. And, you know, the 1156 | Java kind of method was 1157 | 1158 | 232 1159 | 00:13:08.970 --> 00:13:11.760 1160 | to build your own framework. 1161 | You know, you often just 1162 | 1163 | 233 1164 | 00:13:11.760 --> 00:13:13.020 1165 | kind of went ahead and 1166 | build, you built your own 1167 | 1168 | 234 1169 | 00:13:13.020 --> 00:13:15.480 1170 | framework and you didn't use 1171 | the supply tools. And the 1172 | 1173 | 235 1174 | 00:13:15.480 --> 00:13:18.600 1175 | Microsoft word is typically people 1176 | use the supply tools, you 1177 | 1178 | 236 1179 | 00:13:18.600 --> 00:13:20.130 1180 | know, they don't typically build 1181 | their own framework. So this 1182 | 1183 | 237 1184 | 00:13:20.130 --> 00:13:22.230 1185 | is actually kind of a 1186 | fairly new thing in, in 1187 | 1188 | 238 1189 | 00:13:22.230 --> 00:13:25.980 1190 | Microsoft. I think it's nice 1191 | because of like C sharp 1192 | 1193 | 239 1194 | 00:13:25.980 --> 00:13:29.010 1195 | and VB and boom and 1196 | iron Python and the stuff 1197 | 1198 | 240 1199 | 00:13:29.010 --> 00:13:31.170 1200 | that's on Lam and the 1201 | Ruby CLR guys are doing. 1202 | 1203 | 241 1204 | 00:13:31.170 --> 00:13:33.120 1205 | I mean, this is all 1206 | just saying that, you know, 1207 | 1208 | 242 1209 | 00:13:33.390 --> 00:13:37.020 1210 | babble is, is kind of, 1211 | okay, diversity is all right. 1212 | 1213 | 243 1214 | 00:13:37.020 --> 00:13:39.210 1215 | There are languages that are 1216 | clearly more expressive than others, 1217 | 1218 | 244 1219 | 00:13:39.420 --> 00:13:41.730 1220 | but in the aztreonam net 1221 | world early on, it was 1222 | 1223 | 245 1224 | 00:13:41.730 --> 00:13:47.550 1225 | just such a monolithic thing. 1226 | And, and that people can 1227 | 1228 | 246 1229 | 00:13:47.550 --> 00:13:50.340 1230 | be encouraged to do blank 1231 | or monorail or, or whatever 1232 | 1233 | 247 1234 | 00:13:50.340 --> 00:13:54.900 1235 | else. That's not that we 1236 | support that, that tells me 1237 | 1238 | 248 1239 | 00:13:54.900 --> 00:13:58.230 1240 | that there could potentially be 1241 | a future for blank beyond 1242 | 1243 | 249 1244 | 00:13:58.230 --> 00:14:01.260 1245 | just being a, a curiosity 1246 | or a CTP or a, 1247 | 1248 | 250 1249 | 00:14:01.560 --> 00:14:03.180 1250 | you know, a sample that 1251 | just kind of sits there. 1252 | 1253 | 251 1254 | 00:14:03.360 --> 00:14:06.150 1255 | It could be an alternative 1256 | way of thinking about how 1257 | 1258 | 252 1259 | 00:14:06.150 --> 00:14:11.430 1260 | to do stuff Upset. Yeah. 1261 | And that the evolution of 1262 | 1263 | 253 1264 | 00:14:11.430 --> 00:14:15.120 1265 | blink is that the team 1266 | that does our designer is 1267 | 1268 | 254 1269 | 00:14:15.300 --> 00:14:18.840 1270 | looking at building perhaps a 1271 | wizard in the future where 1272 | 1273 | 255 1274 | 00:14:18.840 --> 00:14:23.310 1275 | maybe you could choose your 1276 | tables. It'll do something Cool. 1277 | 1278 | 256 1279 | 00:14:23.580 --> 00:14:25.620 1280 | The done at CF has 1281 | some tools like that, sort 1282 | 1283 | 257 1284 | 00:14:25.620 --> 00:14:29.130 1285 | of where you can generate 1286 | an entire tenancy of from 1287 | 1288 | 258 1289 | 00:14:29.130 --> 00:14:31.830 1290 | a, from a database. Well 1291 | sort of, I mean, a 1292 | 1293 | 259 1294 | 00:14:31.830 --> 00:14:33.150 1295 | lot, a lot of the 1296 | plumbing is done for you. 1297 | 1298 | 260 1299 | 00:14:33.150 --> 00:14:35.250 1300 | It's actually pretty cool. And 1301 | I mean, well, that gets 1302 | 1303 | 261 1304 | 00:14:35.250 --> 00:14:37.170 1305 | into the whole topic of, 1306 | of where can you find 1307 | 1308 | 262 1309 | 00:14:37.170 --> 00:14:39.210 1310 | your contract, right. Let me 1311 | talk to about this, Roy 1312 | 1313 | 263 1314 | 00:14:39.280 --> 00:14:41.340 1315 | I'll, I'll find the idea 1316 | of a, we call it 1317 | 1318 | 264 1319 | 00:14:41.340 --> 00:14:45.090 1320 | contract supplementation or use your 1321 | contract in some ways it's 1322 | 1323 | 265 1324 | 00:14:45.090 --> 00:14:47.520 1325 | NCLR metadata, and you want 1326 | to generate the fan out 1327 | 1328 | 266 1329 | 00:14:47.520 --> 00:14:50.330 1330 | from there, or is it 1331 | fries? Is it your, your 1332 | 1333 | 267 1334 | 00:14:50.680 --> 00:14:53.240 1335 | database? Is it an XML 1336 | file? You have model driven 1337 | 1338 | 268 1339 | 00:14:53.240 --> 00:14:55.520 1340 | development, right? Here's kind of 1341 | what I'm trying to say. 1342 | 1343 | 269 1344 | 00:14:55.520 --> 00:15:00.680 1345 | And what can't you generate 1346 | generate if you're, if you 1347 | 1348 | 270 1349 | 00:15:00.680 --> 00:15:02.420 1350 | have to write anything that 1351 | could have been done by 1352 | 1353 | 271 1354 | 00:15:02.420 --> 00:15:05.500 1355 | the computer. Sure. You could 1356 | imagine, you know, generating like 1357 | 1358 | 272 1359 | 00:15:05.500 --> 00:15:08.650 1360 | forms apps or generating apps 1361 | or generating, you know, lots 1362 | 1363 | 273 1364 | 00:15:08.650 --> 00:15:11.860 1365 | of different things. There's, there's 1366 | no reason that that UI, 1367 | 1368 | 274 1369 | 00:15:11.860 --> 00:15:15.460 1370 | like can't be switched out 1371 | for other UI layers. I 1372 | 1373 | 275 1374 | 00:15:15.460 --> 00:15:20.950 1375 | think the teaser. Thank you 1376 | both. Thank you so much 1377 | 1378 | 276 1379 | 00:15:21.580 --> 00:15:24.730 1380 | for accommodating us. And we're 1381 | just sort of barging in 1382 | 1383 | 277 1384 | 00:15:24.730 --> 00:15:29.200 1385 | sort of a we're good. 1386 | Thanks guys. 1387 | 1388 | -------------------------------------------------------------------------------- /hm0079.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT FILE 2 | 3 | 1 4 | 00:00:12.020 --> 00:00:16.970 5 | From Hanselman it's dot com. 6 | It's Hansel minutes, a weekly 7 | 8 | 2 9 | 00:00:16.970 --> 00:00:21.080 10 | discussion with web developer and 11 | technologists. Scott Hanselman hosted by 12 | 13 | 3 14 | 00:00:21.080 --> 00:00:26.840 15 | Carl Franklin. This is Lawrence Ryan announcing 16 | Sean. Number 79. Recorded live 17 | 18 | 4 19 | 00:00:26.840 --> 00:00:33.410 20 | Wednesday, August 29th, 2007. Support for Hansel 21 | minutes is provided by Tellerik 22 | 23 | 5 24 | 00:00:33.440 --> 00:00:37.370 25 | already controls the most comprehensive 26 | suite of components for windows 27 | 28 | 6 29 | 00:00:37.370 --> 00:00:49.040 30 | forms and asp.net web application. 31 | online@wwwdottelerikdotcomandby.net developers journal the world's 32 | 33 | 7 34 | 00:00:49.070 --> 00:00:55.610 35 | leading.net developer magazine online at 36 | www dot dot com. 37 | 38 | 8 39 | 00:00:56.510 --> 00:00:59.360 40 | In this episode, Scott and 41 | Carl, talk about linked to 42 | 43 | 9 44 | 00:00:59.360 --> 00:01:07.130 45 | XML. Hi, this is Carl Franklin 46 | and you're listening to Hansel 47 | 48 | 10 49 | 00:01:07.130 --> 00:01:09.650 50 | minutes from Hansel and it's 51 | dot com. Scott and I 52 | 53 | 11 54 | 00:01:09.650 --> 00:01:12.440 55 | are here to talk about 56 | linked to XML. Hi Scott. 57 | 58 | 12 59 | 00:01:12.830 --> 00:01:15.290 60 | Hey, how's it going? I'm 61 | doing well. Thanks. How are 62 | 63 | 13 64 | 00:01:15.290 --> 00:01:19.850 65 | you? I am ensconced in 66 | XML. I am up to 67 | 68 | 14 69 | 00:01:19.850 --> 00:01:23.000 70 | my ears in this stuff. 71 | I always have been well. 72 | 73 | 15 74 | 00:01:23.000 --> 00:01:25.790 75 | Yeah, but you know, you 76 | don't really learn stuff until 77 | 78 | 16 79 | 00:01:25.790 --> 00:01:28.760 80 | you really, really sit down 81 | and try to apply something 82 | 83 | 17 84 | 00:01:28.940 --> 00:01:31.850 85 | significant to it. And one 86 | of the things that you 87 | 88 | 18 89 | 00:01:31.850 --> 00:01:34.880 90 | can trouble with now that 91 | I'm expecting, I'm going to 92 | 93 | 19 94 | 00:01:34.880 --> 00:01:36.890 95 | get in trouble with, with, 96 | with the blogging. And a 97 | 98 | 20 99 | 00:01:36.890 --> 00:01:39.140 100 | couple of people have mentioned 101 | it. They said, well, you're 102 | 103 | 21 104 | 00:01:39.140 --> 00:01:41.390 105 | gonna go to work for 106 | Microsoft now. But the thing 107 | 108 | 22 109 | 00:01:41.390 --> 00:01:43.340 110 | that made your blog really 111 | interesting was that you were 112 | 113 | 23 114 | 00:01:43.340 --> 00:01:47.420 115 | doing real work with these 116 | technologies. So the things that 117 | 118 | 24 119 | 00:01:47.420 --> 00:01:49.880 120 | I would bump into were 121 | kind of corner cases of, 122 | 123 | 25 124 | 00:01:50.180 --> 00:01:52.490 125 | of real life, right? If 126 | you get into the whole 127 | 128 | 26 129 | 00:01:52.490 --> 00:01:54.560 130 | kind of like let's write 131 | books and give talks and 132 | 133 | 27 134 | 00:01:54.560 --> 00:01:58.580 135 | blog, you know, what software 136 | are you really trying to 137 | 138 | 28 139 | 00:01:59.000 --> 00:02:02.780 140 | create? So I'm trying to 141 | build some stuff and I'm 142 | 143 | 29 144 | 00:02:02.780 --> 00:02:06.830 145 | using linked to XML and 146 | I'm, you know, figuring out 147 | 148 | 30 149 | 00:02:07.670 --> 00:02:09.920 150 | cause I was a big 151 | XML guy before when I 152 | 153 | 31 154 | 00:02:09.920 --> 00:02:12.470 155 | say big XML guy, I 156 | mean a big system dot 157 | 158 | 32 159 | 00:02:12.470 --> 00:02:17.570 160 | XML guy. I love XML 161 | reader, XML writer, huge XML 162 | 163 | 33 164 | 00:02:17.570 --> 00:02:20.840 165 | serializer guy. When people were 166 | dogging the XML sterilizer, I 167 | 168 | 34 169 | 00:02:20.840 --> 00:02:22.460 170 | was doing all sorts of 171 | crazy stuff with it. So 172 | 173 | 35 174 | 00:02:22.460 --> 00:02:25.040 175 | I mean, I'm a huge 176 | fan of that. So when 177 | 178 | 36 179 | 00:02:25.040 --> 00:02:28.610 180 | I started playing with linked 181 | to XML, I was kinda 182 | 183 | 37 184 | 00:02:28.610 --> 00:02:31.880 185 | trying to get my mind 186 | around it. And I'm realizing 187 | 188 | 38 189 | 00:02:31.880 --> 00:02:36.260 190 | that it's really two things. 191 | There's the new classes, there's 192 | 193 | 39 194 | 00:02:36.260 --> 00:02:37.760 195 | a whole series of new 196 | classes, right? So there's a 197 | 198 | 40 199 | 00:02:37.760 --> 00:02:42.050 200 | new namespace system.xml.link. And there's 201 | some new classes like X 202 | 203 | 41 204 | 00:02:42.050 --> 00:02:46.970 205 | document X element X attribute, 206 | but, and those things are 207 | 208 | 42 209 | 00:02:46.970 --> 00:02:51.110 210 | really separate. A whole separate 211 | XML. API has been imagined 212 | 213 | 43 214 | 00:02:51.530 --> 00:02:53.630 215 | completely separate from link. This 216 | has nothing to do with 217 | 218 | 44 219 | 00:02:53.640 --> 00:02:56.660 220 | link though, right? Cause link 221 | is about a syntax and 222 | 223 | 45 224 | 00:02:56.660 --> 00:03:00.700 225 | some APIs and about compiler 226 | support. But what I'm trying 227 | 228 | 46 229 | 00:03:00.700 --> 00:03:04.450 230 | to say is that even 231 | if link didn't exist yeah. 232 | 233 | 47 234 | 00:03:04.540 --> 00:03:07.420 235 | X document XL, et cetera. 236 | But those things in that 237 | 238 | 48 239 | 00:03:07.420 --> 00:03:11.400 240 | new model would be still 241 | very interesting. It's still, still 242 | 243 | 49 244 | 00:03:11.400 --> 00:03:15.120 245 | much better than X path. 246 | Well, yeah, it's, it's very 247 | 248 | 50 249 | 00:03:15.120 --> 00:03:17.880 250 | interesting though that the concepts 251 | are there, but remember one 252 | 253 | 51 254 | 00:03:17.880 --> 00:03:19.950 255 | of the things that was 256 | wrong with X path is 257 | 258 | 52 259 | 00:03:19.950 --> 00:03:23.430 260 | that you would tunnel a, 261 | another programming language in a 262 | 263 | 53 264 | 00:03:23.430 --> 00:03:26.670 265 | string, right? So you'd say 266 | like select nodes quote, and 267 | 268 | 54 269 | 00:03:26.670 --> 00:03:29.370 270 | then you'd put some magic 271 | X path goo in there. 272 | 273 | 55 274 | 00:03:30.360 --> 00:03:33.120 275 | And that was a little, 276 | little tiny program, you know, 277 | 278 | 56 279 | 00:03:33.120 --> 00:03:36.450 280 | within a string. And there 281 | was this notion of an 282 | 283 | 57 284 | 00:03:36.450 --> 00:03:38.820 285 | axis and X path. So 286 | when you do a select 287 | 288 | 58 289 | 00:03:39.420 --> 00:03:43.320 290 | and you're moving around the 291 | document either like via descendants 292 | 293 | 59 294 | 00:03:43.320 --> 00:03:46.350 295 | or via siblings, so there's 296 | this kind of direction. You 297 | 298 | 60 299 | 00:03:46.350 --> 00:03:48.360 300 | have to have the sense 301 | of where I'm moving in, 302 | 303 | 61 304 | 00:03:48.360 --> 00:03:51.960 305 | what direction on the tree 306 | that exists in the context 307 | 308 | 62 309 | 00:03:51.960 --> 00:03:56.400 310 | of an X document and 311 | X elements via different methods 312 | 313 | 63 314 | 00:03:56.430 --> 00:03:58.740 315 | like descendants and elements. So 316 | you can say, give me 317 | 318 | 64 319 | 00:03:58.740 --> 00:04:01.770 320 | all of the descendants of 321 | this particular X element. Yeah. 322 | 323 | 65 324 | 00:04:02.310 --> 00:04:05.850 325 | So you can get X 326 | path like experiences, but it's 327 | 328 | 66 329 | 00:04:05.850 --> 00:04:09.900 330 | very strongly typed now with, 331 | with VB nine, you also 332 | 333 | 67 334 | 00:04:09.900 --> 00:04:12.870 335 | get the ability to use 336 | like the imports method, the 337 | 338 | 68 339 | 00:04:12.870 --> 00:04:19.170 340 | imports declaration, which we ordinarily 341 | use to import CLR namespaces 342 | 343 | 69 344 | 00:04:19.590 --> 00:04:23.460 345 | you can actually use that 346 | to import XML namespaces. And 347 | 348 | 70 349 | 00:04:23.460 --> 00:04:26.130 350 | that has gotten me really 351 | thinking about VB again, because 352 | 353 | 71 354 | 00:04:26.130 --> 00:04:27.750 355 | you know, I've given you 356 | a hard time about VB, 357 | 358 | 72 359 | 00:04:28.260 --> 00:04:29.880 360 | but You don't have to 361 | give me a hard time. 362 | 363 | 73 364 | 00:04:29.880 --> 00:04:32.040 365 | You give VB a hard 366 | time. I think. Well, yeah, 367 | 368 | 74 369 | 00:04:32.070 --> 00:04:33.900 370 | I give, and I give 371 | BB people of our time. 372 | 373 | 75 374 | 00:04:33.900 --> 00:04:34.950 375 | Cause I was a V 376 | you know, I was a 377 | 378 | 76 379 | 00:04:34.950 --> 00:04:37.560 380 | big VV guy. I was 381 | living the life, you know, 382 | 383 | 77 384 | 00:04:37.590 --> 00:04:41.700 385 | VB three up to VB 386 | six, and then I just 387 | 388 | 78 389 | 00:04:41.700 --> 00:04:43.080 390 | kind of switched over. And 391 | the next thing you know, 392 | 393 | 79 394 | 00:04:43.080 --> 00:04:46.800 395 | I was doing semi-colons and 396 | I just kinda thought to 397 | 398 | 80 399 | 00:04:46.800 --> 00:04:49.440 400 | myself, you know, VB, so 401 | what, you know, what's the 402 | 403 | 81 404 | 00:04:49.440 --> 00:04:53.490 405 | point, what is this silly 406 | language for? And they really 407 | 408 | 82 409 | 00:04:53.490 --> 00:04:57.420 410 | just went running down the 411 | street, screaming and added all 412 | 413 | 83 414 | 00:04:57.420 --> 00:05:00.810 415 | sorts of crazy stuff to 416 | VB while C-sharp is staying 417 | 418 | 84 419 | 00:05:00.840 --> 00:05:04.590 420 | kind of very, I'm trying 421 | to use words, It's a 422 | 423 | 85 424 | 00:05:04.590 --> 00:05:06.900 425 | classic, you know, C sharp 426 | is going to see, I 427 | 428 | 86 429 | 00:05:06.900 --> 00:05:11.910 430 | was going to say formal, 431 | formal uncluttered, maybe. Yeah. Noncontroversial. 432 | 433 | 87 434 | 00:05:12.060 --> 00:05:18.300 435 | Yeah. Noncontroversial. That's a good 436 | one. Conservative, maybe conservative Nancy 437 | 438 | 88 439 | 00:05:18.300 --> 00:05:19.860 440 | that's that's the thing I'm 441 | trying to think of words 442 | 443 | 89 444 | 00:05:19.860 --> 00:05:21.600 445 | that would get us. Not, 446 | not a lot of mail, 447 | 448 | 90 449 | 00:05:23.310 --> 00:05:25.800 450 | but, but yeah. I mean, 451 | without picking, we're trying very 452 | 453 | 91 454 | 00:05:25.800 --> 00:05:28.440 455 | carefully to pick the right 456 | words, just to describe it. 457 | 458 | 92 459 | 00:05:28.980 --> 00:05:32.160 460 | It is, it is trying 461 | to be multipurpose and classic 462 | 463 | 93 464 | 00:05:32.190 --> 00:05:37.080 465 | and a as a standard 466 | and a formal, thoughtful way 467 | 468 | 94 469 | 00:05:37.080 --> 00:05:41.400 470 | of doing things while VB 471 | I'm getting the impression. And 472 | 473 | 95 474 | 00:05:41.400 --> 00:05:43.530 475 | this is just, we're talking 476 | about impressions and opinions here 477 | 478 | 96 479 | 00:05:43.920 --> 00:05:49.650 480 | is surprisingly unafraid to do 481 | some pretty crazy stuff and 482 | 483 | 97 484 | 00:05:49.650 --> 00:05:53.190 485 | to make a formal declaration 486 | that I want XML, you 487 | 488 | 98 489 | 00:05:53.190 --> 00:05:55.500 490 | know, baked really, really, really 491 | tightly into the language, I 492 | 493 | 99 494 | 00:05:55.500 --> 00:05:59.480 495 | think is pretty cool. Now 496 | it tighten us. It does 497 | 498 | 100 499 | 00:05:59.480 --> 00:06:01.130 500 | tighten the news a little 501 | bit in the sense that 502 | 503 | 101 504 | 00:06:01.130 --> 00:06:04.100 505 | we are really tied to 506 | the base class library, but 507 | 508 | 102 509 | 00:06:04.100 --> 00:06:07.190 510 | as with all computer languages, 511 | it's not like it's easy 512 | 513 | 103 514 | 00:06:07.190 --> 00:06:10.010 515 | to keep track of what 516 | syntax and what's underlying library. 517 | 518 | 104 519 | 00:06:10.640 --> 00:06:14.090 520 | I mean, just like in 521 | M sharp, the using statement 522 | 523 | 105 524 | 00:06:14.120 --> 00:06:16.550 525 | caused a lot of controversy 526 | because it's really just a 527 | 528 | 106 529 | 00:06:16.850 --> 00:06:20.150 530 | bit of syntactic sugar on 531 | top of try, finally write 532 | 533 | 107 534 | 00:06:20.570 --> 00:06:24.170 535 | this imports. And the, the, 536 | the XML literally is the 537 | 538 | 108 539 | 00:06:24.170 --> 00:06:27.320 540 | ability to go and say, 541 | you know, Fu equals and 542 | 543 | 109 544 | 00:06:27.320 --> 00:06:30.380 545 | then just start typing XML, 546 | having that be as syntactic 547 | 548 | 110 549 | 00:06:30.380 --> 00:06:34.220 550 | sugar on top of a 551 | link or something on top 552 | 553 | 111 554 | 00:06:34.220 --> 00:06:36.440 555 | of specifically system at XML 556 | that link in the X 557 | 558 | 112 559 | 00:06:36.500 --> 00:06:40.490 560 | document, next element stuff is 561 | really tying you to the 562 | 563 | 113 564 | 00:06:40.490 --> 00:06:42.230 565 | platform, but it's not like 566 | we weren't already tied to 567 | 568 | 114 569 | 00:06:42.230 --> 00:06:44.690 570 | the platform before. So I 571 | don't know, it's kind of 572 | 573 | 115 574 | 00:06:44.690 --> 00:06:47.890 575 | a chicken and the egg 576 | problem, but what I, what 577 | 578 | 116 579 | 00:06:47.890 --> 00:06:51.290 580 | I will say is that 581 | writing it is just so 582 | 583 | 117 584 | 00:06:51.290 --> 00:06:54.530 585 | pleasant. I mean, I really 586 | could see myself writing some 587 | 588 | 118 589 | 00:06:54.530 --> 00:06:58.340 590 | VB libraries if I, if 591 | I really needed to do 592 | 593 | 119 594 | 00:06:58.340 --> 00:07:00.910 595 | some, some serious XML inside 596 | them. So as you know, 597 | 598 | 120 599 | 00:07:00.910 --> 00:07:03.460 600 | I've, I was recently exposed 601 | to this by Don XML 602 | 603 | 121 604 | 00:07:03.460 --> 00:07:06.730 605 | on DNR TV, and one 606 | of the things, and if 607 | 608 | 122 609 | 00:07:06.730 --> 00:07:09.540 610 | you haven't seen those episodes 611 | and you haven't seen the 612 | 613 | 123 614 | 00:07:09.540 --> 00:07:13.810 615 | link to XML, check it 616 | out, DNR, tv.com. One of 617 | 618 | 124 619 | 00:07:13.810 --> 00:07:15.580 620 | the things that I really 621 | like is the way they 622 | 623 | 125 624 | 00:07:15.610 --> 00:07:20.470 625 | contrast the XML, they, they 626 | sort of fade it out. 627 | 628 | 126 629 | 00:07:20.470 --> 00:07:22.990 630 | So it doesn't, you know, 631 | so there's a little bit 632 | 633 | 127 634 | 00:07:22.990 --> 00:07:27.520 635 | of contrast visually between the 636 | XML that's literally in your 637 | 638 | 128 639 | 00:07:27.520 --> 00:07:31.000 640 | VB app and the rest 641 | of your code. Yeah. You 642 | 643 | 129 644 | 00:07:31.000 --> 00:07:33.010 645 | know, that's a, that's funny, 646 | that's a small kind of 647 | 648 | 130 649 | 00:07:33.010 --> 00:07:35.620 650 | aesthetic detail, but you're making 651 | a very good point because 652 | 653 | 131 654 | 00:07:36.220 --> 00:07:38.260 655 | it, it, you, you would 656 | think that all the angle 657 | 658 | 132 659 | 00:07:38.260 --> 00:07:41.560 660 | brackets and elements would make 661 | a very funny looking syntax, 662 | 663 | 133 664 | 00:07:41.560 --> 00:07:45.160 665 | highlighted experience, but they're very 666 | clear on the colors that 667 | 668 | 134 669 | 00:07:45.160 --> 00:07:48.250 670 | they chose or the default 671 | colors. And it doesn't look 672 | 673 | 135 674 | 00:07:48.250 --> 00:07:50.650 675 | like an embedded string, and 676 | it's very clear where the 677 | 678 | 136 679 | 00:07:50.650 --> 00:07:52.900 680 | XML starts and where your 681 | code begins. And it is 682 | 683 | 137 684 | 00:07:52.900 --> 00:07:57.100 685 | really a very nice experience. 686 | Don said something when we 687 | 688 | 138 689 | 00:07:57.100 --> 00:08:02.170 690 | first learned about XML literals 691 | in VB, in that he 692 | 693 | 139 694 | 00:08:02.170 --> 00:08:05.440 695 | thought it was a bad 696 | idea because people are going 697 | 698 | 140 699 | 00:08:05.440 --> 00:08:08.650 700 | to write code that now 701 | looks like classic ASP, you 702 | 703 | 141 704 | 00:08:08.650 --> 00:08:11.980 705 | know, the, the classic spaghetti 706 | code, the angle brackets, air 707 | 708 | 142 709 | 00:08:11.980 --> 00:08:16.510 710 | Springs with, you know, and, 711 | and, and he told me 712 | 713 | 143 714 | 00:08:16.510 --> 00:08:19.450 715 | on the show that he 716 | had such a change of 717 | 718 | 144 719 | 00:08:19.450 --> 00:08:22.630 720 | heart after he got to 721 | play with it, because, you 722 | 723 | 145 724 | 00:08:22.630 --> 00:08:25.150 725 | know, it's not like that 726 | at all. I mean, yes, 727 | 728 | 146 729 | 00:08:25.570 --> 00:08:32.770 730 | you can express XML and 731 | you can plug data into 732 | 733 | 147 734 | 00:08:32.770 --> 00:08:35.980 735 | that XML, like in a 736 | loop. So you can go 737 | 738 | 148 739 | 00:08:35.980 --> 00:08:39.400 740 | into a loop and output 741 | this literal XML string, and 742 | 743 | 149 744 | 00:08:39.400 --> 00:08:43.360 745 | then plug the angle bracket 746 | percent equals, you know, just 747 | 748 | 150 749 | 00:08:43.360 --> 00:08:47.110 750 | like you do an ASP. 751 | Right. But it doesn't really 752 | 753 | 151 754 | 00:08:47.110 --> 00:08:50.260 755 | go the other way. You 756 | know, it's not like it's, 757 | 758 | 152 759 | 00:08:50.260 --> 00:08:53.320 760 | I don't think, I don't 761 | think, I don't know. It's 762 | 763 | 153 764 | 00:08:53.320 --> 00:08:56.340 765 | not like that. It's not 766 | like classic ASP. No, It's 767 | 768 | 154 769 | 00:08:56.340 --> 00:08:59.160 770 | not. I mean, with any 771 | tool, one can hurt themselves. 772 | 773 | 155 774 | 00:08:59.160 --> 00:09:01.920 775 | I mean, clearly, but one 776 | of the things that's really 777 | 778 | 156 779 | 00:09:01.920 --> 00:09:04.650 780 | nice about this is that 781 | it, for me, as someone 782 | 783 | 157 784 | 00:09:04.650 --> 00:09:08.310 785 | who has spent many years 786 | trying to coerce objects into 787 | 788 | 158 789 | 00:09:08.310 --> 00:09:12.900 790 | angle brackets, it makes getting 791 | an object into an angle 792 | 793 | 159 794 | 00:09:12.900 --> 00:09:17.400 795 | bracket format, especially when that 796 | format doesn't necessarily look exactly 797 | 798 | 160 799 | 00:09:17.400 --> 00:09:20.160 800 | like the object. I mean, 801 | certainly XML serializer has some 802 | 803 | 161 804 | 00:09:20.160 --> 00:09:24.240 805 | ability to massage things via 806 | attributes and make the X 807 | 808 | 162 809 | 00:09:24.240 --> 00:09:26.370 810 | amount look the way you 811 | want, but there's always been 812 | 813 | 163 814 | 00:09:26.370 --> 00:09:28.950 815 | this kind of gap. You 816 | either serialize it as XML, 817 | 818 | 164 819 | 00:09:29.370 --> 00:09:32.190 820 | or you suddenly jump off 821 | and you're into XML rider 822 | 823 | 165 824 | 00:09:32.190 --> 00:09:34.920 825 | world and you're, and you're 826 | creating some pretty complicated and 827 | 828 | 166 829 | 00:09:34.920 --> 00:09:37.650 830 | pretty deep code just to 831 | get some angle brackets out. 832 | 833 | 167 834 | 00:09:38.040 --> 00:09:40.410 835 | And it really lets you 836 | understand why a lot of 837 | 838 | 168 839 | 00:09:40.410 --> 00:09:42.960 840 | people would spend time doing 841 | what was considered evil, which 842 | 843 | 169 844 | 00:09:42.960 --> 00:09:45.720 845 | is building XML with string 846 | builders, right? So it basically 847 | 848 | 170 849 | 00:09:45.720 --> 00:09:48.900 850 | gives you the ease of 851 | string builder, style XML building 852 | 853 | 171 854 | 00:09:49.050 --> 00:09:54.210 855 | with the formalization, the kind 856 | of IntelliSense, and, and then 857 | 858 | 172 859 | 00:09:54.210 --> 00:09:55.770 860 | the, you don't get a 861 | string. You get an X 862 | 863 | 173 864 | 00:09:55.770 --> 00:09:58.230 865 | element when it, when it 866 | pops out. One of the 867 | 868 | 174 869 | 00:09:58.230 --> 00:10:00.660 870 | things that I've been exploring, 871 | because I don't want to 872 | 873 | 175 874 | 00:10:00.660 --> 00:10:02.970 875 | do just another show on 876 | like, Hey, link is great. 877 | 878 | 176 879 | 00:10:02.970 --> 00:10:06.210 880 | Yay link. I wanted to 881 | get a little bit deeper. 882 | 883 | 177 884 | 00:10:06.270 --> 00:10:09.750 885 | Is there are a lot 886 | of extension methods, you know, 887 | 888 | 178 889 | 00:10:09.750 --> 00:10:14.220 890 | about extension methods, right? So 891 | extension methods are the ability 892 | 893 | 179 894 | 00:10:14.220 --> 00:10:16.530 895 | to, and I've used the 896 | term spot welding in the 897 | 898 | 180 899 | 00:10:16.530 --> 00:10:19.230 900 | past to, to refer to 901 | it in the context of 902 | 903 | 181 904 | 00:10:19.230 --> 00:10:21.840 905 | Ruby where you can say, 906 | you know, Hey, Carl has 907 | 908 | 182 909 | 00:10:21.840 --> 00:10:24.390 910 | a, let's say Carl has 911 | a person class and it's 912 | 913 | 183 914 | 00:10:24.390 --> 00:10:26.820 915 | got first name and last 916 | name, but I really want 917 | 918 | 184 919 | 00:10:26.820 --> 00:10:30.510 920 | it to have, I don't 921 | know, surname, I could extend 922 | 923 | 185 924 | 00:10:30.510 --> 00:10:34.890 925 | it via, via derivation in 926 | a kind of a classic, 927 | 928 | 186 929 | 00:10:34.920 --> 00:10:38.370 930 | Oh way. I could make 931 | my own class and wrap 932 | 933 | 187 934 | 00:10:38.370 --> 00:10:40.980 935 | yours via kind of composition. 936 | Or I can use an 937 | 938 | 188 939 | 00:10:40.980 --> 00:10:44.070 940 | extension method and basically say, 941 | whenever you see a person 942 | 943 | 189 944 | 00:10:44.070 --> 00:10:47.310 945 | I wanted to have this 946 | function, also this, this method 947 | 948 | 190 949 | 00:10:47.310 --> 00:10:50.730 950 | also, and basically kind of 951 | just Velcro it to the 952 | 953 | 191 954 | 00:10:50.730 --> 00:10:54.210 955 | side of the object. And 956 | initially it sounds very kind 957 | 958 | 192 959 | 00:10:54.210 --> 00:10:56.610 960 | of unnerving. You could think 961 | of all the damage that 962 | 963 | 193 964 | 00:10:56.610 --> 00:11:01.050 965 | could potentially be done, but 966 | within the context of what 967 | 968 | 194 969 | 00:11:01.050 --> 00:11:06.750 970 | Microsoft has done, where they've 971 | taken a new library, ex 972 | 973 | 195 974 | 00:11:06.790 --> 00:11:11.430 975 | assistant.xml.link, and a whole bunch 976 | of new classes, and they 977 | 978 | 196 979 | 00:11:11.430 --> 00:11:15.360 980 | wanted to make a relationship, 981 | a bridge between that and 982 | 983 | 197 984 | 00:11:15.540 --> 00:11:17.940 985 | a system that XML, you 986 | know, how do you make 987 | 988 | 198 989 | 00:11:17.940 --> 00:11:21.660 990 | that kind of strange relationship? 991 | Is there, is there derivation? 992 | 993 | 199 994 | 00:11:21.660 --> 00:11:23.880 995 | Is there composition, are there 996 | just a bunch of utility 997 | 998 | 200 999 | 00:11:23.880 --> 00:11:26.790 1000 | classes? Where do you put 1001 | those utility classes? I mean, 1002 | 1003 | 201 1004 | 00:11:26.790 --> 00:11:30.660 1005 | do you make system.xml.link dot 1006 | bridge, and then make a 1007 | 1008 | 202 1009 | 00:11:30.660 --> 00:11:35.160 1010 | bunch of utility type stuff 1011 | with extension methods when you've 1012 | 1013 | 203 1014 | 00:11:35.160 --> 00:11:39.270 1015 | got some ex XML for 1016 | link objects, like if you've 1017 | 1018 | 204 1019 | 00:11:39.270 --> 00:11:42.600 1020 | got an X element or 1021 | you've got a, an X 1022 | 1023 | 205 1024 | 00:11:42.600 --> 00:11:46.650 1025 | document kind of lying around, 1026 | you can add a using 1027 | 1028 | 206 1029 | 00:11:46.650 --> 00:11:49.800 1030 | statement or in VBS case 1031 | and import statement and bring 1032 | 1033 | 207 1034 | 00:11:49.800 --> 00:11:52.590 1035 | in something like a system, 1036 | not XML dot that X 1037 | 1038 | 208 1039 | 00:11:52.590 --> 00:11:59.320 1040 | path. And it's suddenly extends 1041 | your existing linked to XML 1042 | 1043 | 209 1044 | 00:11:59.320 --> 00:12:02.230 1045 | objects with new stuff. So 1046 | for example, you've got like 1047 | 1048 | 210 1049 | 00:12:02.230 --> 00:12:05.620 1050 | an X document and you 1051 | bring in the X path 1052 | 1053 | 211 1054 | 00:12:05.800 --> 00:12:10.090 1055 | namespace. And by bringing that 1056 | namespace into scope, you've suddenly 1057 | 1058 | 212 1059 | 00:12:10.090 --> 00:12:14.290 1060 | added new methods on these 1061 | documents. So for example, the 1062 | 1063 | 213 1064 | 00:12:14.290 --> 00:12:18.850 1065 | X document then suddenly gets 1066 | an X path, select elements, 1067 | 1068 | 214 1069 | 00:12:18.850 --> 00:12:22.720 1070 | method, the method isn't there, 1071 | it's not on the X 1072 | 1073 | 215 1074 | 00:12:22.720 --> 00:12:25.030 1075 | document. It's actually an extension 1076 | method that was put in 1077 | 1078 | 216 1079 | 00:12:25.030 --> 00:12:27.790 1080 | the other library. So this 1081 | is a way that the, 1082 | 1083 | 217 1084 | 00:12:28.030 --> 00:12:31.600 1085 | the other library can influence 1086 | the future. This is the 1087 | 1088 | 218 1089 | 00:12:31.600 --> 00:12:36.040 1090 | way we can have X 1091 | path actual X path in 1092 | 1093 | 219 1094 | 00:12:36.040 --> 00:12:39.220 1095 | our X documents. And this 1096 | is used kind of consistently 1097 | 1098 | 220 1099 | 00:12:39.220 --> 00:12:42.610 1100 | throughout the namespaces that's in 1101 | a really interesting way. So 1102 | 1103 | 221 1104 | 00:12:42.610 --> 00:12:46.780 1105 | for example, if you wanted 1106 | to, well, like one of 1107 | 1108 | 222 1109 | 00:12:46.780 --> 00:12:49.120 1110 | the things I wanted to 1111 | do is serialize an object 1112 | 1113 | 223 1114 | 00:12:49.840 --> 00:12:52.510 1115 | in the middle of making 1116 | a bunch of X elements. 1117 | 1118 | 224 1119 | 00:12:52.720 --> 00:12:55.840 1120 | I posted about this in 1121 | my blog topic, right? So 1122 | 1123 | 225 1124 | 00:12:55.840 --> 00:12:57.430 1125 | I'm making a bunch of 1126 | X elements. I'm doing kind 1127 | 1128 | 226 1129 | 00:12:57.430 --> 00:13:00.040 1130 | of this tree building, but 1131 | I've got this object that 1132 | 1133 | 227 1134 | 00:13:00.040 --> 00:13:02.830 1135 | already serialized is just fine 1136 | and I want to go 1137 | 1138 | 228 1139 | 00:13:02.830 --> 00:13:05.770 1140 | in serialize it. So I 1141 | talked to the XML team, 1142 | 1143 | 229 1144 | 00:13:05.770 --> 00:13:08.140 1145 | they've got a great blog 1146 | on MSDN. It's called XML 1147 | 1148 | 230 1149 | 00:13:08.140 --> 00:13:12.070 1150 | team and using the XML 1151 | sterilizer. I want to serialize 1152 | 1153 | 231 1154 | 00:13:12.070 --> 00:13:13.840 1155 | an object, but I want 1156 | to add it into a 1157 | 1158 | 232 1159 | 00:13:13.840 --> 00:13:16.540 1160 | tree of X elements that 1161 | I'm already doing. Right. Well, 1162 | 1163 | 233 1164 | 00:13:16.960 --> 00:13:20.170 1165 | it turns out that if 1166 | you do a create writer 1167 | 1168 | 234 1169 | 00:13:20.560 --> 00:13:23.500 1170 | on an X document, you 1171 | can get out and XML 1172 | 1173 | 235 1174 | 00:13:23.500 --> 00:13:26.200 1175 | writer. So you can actually 1176 | ask a new style X 1177 | 1178 | 236 1179 | 00:13:26.200 --> 00:13:29.110 1180 | document for an XML writer. 1181 | And here's the cool part. 1182 | 1183 | 237 1184 | 00:13:29.530 --> 00:13:32.260 1185 | Anything you write to it 1186 | is actually going to turn 1187 | 1188 | 238 1189 | 00:13:32.260 --> 00:13:34.960 1190 | into X elements and X 1191 | documents. It's going to turn 1192 | 1193 | 239 1194 | 00:13:34.960 --> 00:13:37.300 1195 | into this new format as 1196 | soon as you close the 1197 | 1198 | 240 1199 | 00:13:37.300 --> 00:13:40.390 1200 | writer. So they basically got 1201 | an implementation of an XML 1202 | 1203 | 241 1204 | 00:13:40.390 --> 00:13:43.060 1205 | writer, and you're just writing 1206 | to it the way you've 1207 | 1208 | 242 1209 | 00:13:43.060 --> 00:13:45.400 1210 | always written to an X 1211 | amount of writer, except it's 1212 | 1213 | 243 1214 | 00:13:45.400 --> 00:13:48.070 1215 | going to be creating X 1216 | elements in the back. So 1217 | 1218 | 244 1219 | 00:13:48.070 --> 00:13:54.010 1220 | then will an XNL serializer 1221 | just takes a writer, right? 1222 | 1223 | 245 1224 | 00:13:54.040 --> 00:13:58.780 1225 | You can just write directly 1226 | to it. So what we 1227 | 1228 | 246 1229 | 00:13:58.780 --> 00:14:02.350 1230 | did is we just made 1231 | a serialize as X element 1232 | 1233 | 247 1234 | 00:14:02.650 --> 00:14:05.530 1235 | extension method to rather than 1236 | having a utility class floating 1237 | 1238 | 248 1239 | 00:14:05.530 --> 00:14:08.860 1240 | out there in the, in 1241 | the ether, we just extended. 1242 | 1243 | 249 1244 | 00:14:09.130 --> 00:14:13.360 1245 | XNL serializer, sorry. I just 1246 | said static class XML, serializer 1247 | 1248 | 250 1249 | 00:14:13.360 --> 00:14:15.790 1250 | extension. And then I made 1251 | this new share lies is 1252 | 1253 | 251 1254 | 00:14:15.790 --> 00:14:18.930 1255 | X element. And then in 1256 | the middle of my, my 1257 | 1258 | 252 1259 | 00:14:19.010 --> 00:14:21.040 1260 | building of my tree, I 1261 | can just go and say, 1262 | 1263 | 253 1264 | 00:14:21.100 --> 00:14:23.800 1265 | Oh yeah. And go ahead 1266 | and serialize this object. And 1267 | 1268 | 254 1269 | 00:14:23.800 --> 00:14:26.350 1270 | this provides a lot of 1271 | code review reuse because you 1272 | 1273 | 255 1274 | 00:14:26.350 --> 00:14:28.210 1275 | might be doing new work 1276 | and link, but you've got 1277 | 1278 | 256 1279 | 00:14:28.210 --> 00:14:32.170 1280 | existing work that is using 1281 | XML. Serializers, you've got existing 1282 | 1283 | 257 1284 | 00:14:32.170 --> 00:14:36.820 1285 | code that works just fine 1286 | rather than reimplementing that you 1287 | 1288 | 258 1289 | 00:14:36.820 --> 00:14:39.310 1290 | can, you can bridge it. 1291 | And I must say that 1292 | 1293 | 259 1294 | 00:14:39.310 --> 00:14:43.240 1295 | the bridging I've been really 1296 | impressed. It's really, really clever 1297 | 1298 | 260 1299 | 00:14:43.240 --> 00:14:47.660 1300 | and really clean being able 1301 | to call X path on 1302 | 1303 | 261 1304 | 00:14:47.660 --> 00:14:50.800 1305 | an X documents, being able 1306 | to serialize objects, use writers. 1307 | 1308 | 262 1309 | 00:14:51.890 --> 00:14:55.370 1310 | It feels like an evolution 1311 | kind of an extension of 1312 | 1313 | 263 1314 | 00:14:55.370 --> 00:14:57.710 1315 | system XML, but it doesn't 1316 | feel like I have to 1317 | 1318 | 264 1319 | 00:14:57.710 --> 00:14:59.840 1320 | go and relearn everything because 1321 | if you already know about 1322 | 1323 | 265 1324 | 00:14:59.840 --> 00:15:02.750 1325 | readers and writers, these things 1326 | are still there. And the 1327 | 1328 | 266 1329 | 00:15:02.750 --> 00:15:06.170 1330 | bridge methods are all brought 1331 | in just by including that 1332 | 1333 | 267 1334 | 00:15:06.170 --> 00:15:10.520 1335 | namespace. Yeah. That's excellent. Very 1336 | powerful. Yeah, it really is. 1337 | 1338 | 268 1339 | 00:15:10.520 --> 00:15:13.130 1340 | And I'm going to be 1341 | interested to see what the 1342 | 1343 | 269 1344 | 00:15:13.610 --> 00:15:16.910 1345 | future is going to bring 1346 | around extension methods about. Cause 1347 | 1348 | 270 1349 | 00:15:17.060 --> 00:15:18.950 1350 | you know, we talked about 1351 | Ruby a little bit a 1352 | 1353 | 271 1354 | 00:15:18.950 --> 00:15:21.410 1355 | while back and one of 1356 | the examples that came up 1357 | 1358 | 272 1359 | 00:15:21.410 --> 00:15:25.850 1360 | was when someone in Ruby 1361 | types, 20 dot minutes ago, 1362 | 1363 | 273 1364 | 00:15:26.450 --> 00:15:28.060 1365 | right. And then that comes 1366 | up with like, you know, 1367 | 1368 | 274 1369 | 00:15:28.080 --> 00:15:31.160 1370 | date time for 20 minutes 1371 | ago. And the example is 1372 | 1373 | 275 1374 | 00:15:31.160 --> 00:15:33.770 1375 | always made that a Oh, 1376 | well, we can do that 1377 | 1378 | 276 1379 | 00:15:33.770 --> 00:15:35.330 1380 | in C sharp. And then 1381 | someone goes and writes a 1382 | 1383 | 277 1384 | 00:15:35.330 --> 00:15:38.300 1385 | pretty complicated extension library that 1386 | extends. And then you can 1387 | 1388 | 278 1389 | 00:15:38.300 --> 00:15:42.590 1390 | have 20 dot minutes parentheses 1391 | go parentheses and you get 1392 | 1393 | 279 1394 | 00:15:42.590 --> 00:15:46.730 1395 | a similar experience, but it's 1396 | not Ruby actually that made 1397 | 1398 | 280 1399 | 00:15:46.730 --> 00:15:50.030 1400 | that happen. It's the it's 1401 | that Ruby core lives that 1402 | 1403 | 281 1404 | 00:15:50.030 --> 00:15:51.920 1405 | are added on it's some 1406 | of the rail stuff. So 1407 | 1408 | 282 1409 | 00:15:51.920 --> 00:15:53.360 1410 | it's not the guy that 1411 | had been in Ruby who 1412 | 1413 | 283 1414 | 00:15:53.360 --> 00:15:56.510 1415 | decided that 29 minutes ago 1416 | is supposed to look like 1417 | 1418 | 284 1419 | 00:15:56.510 --> 00:15:59.270 1420 | that. It was, it was 1421 | Hannah Meyer Hanson. It was DHH 1422 | 1423 | 285 1424 | 00:15:59.270 --> 00:16:02.840 1425 | the guy that made rails. 1426 | Yeah. But the aesthetic, right? 1427 | 1428 | 286 1429 | 00:16:02.840 --> 00:16:05.120 1430 | The decision as a community 1431 | that we find this to 1432 | 1433 | 287 1434 | 00:16:05.120 --> 00:16:09.290 1435 | be attractive and useful was 1436 | really what drove that. So 1437 | 1438 | 288 1439 | 00:16:09.350 --> 00:16:12.650 1440 | I feel like extension methods 1441 | are kind of taking a 1442 | 1443 | 289 1444 | 00:16:12.650 --> 00:16:15.170 1445 | little bit of the responsibility 1446 | for the syntax and the 1447 | 1448 | 290 1449 | 00:16:15.170 --> 00:16:20.330 1450 | future of C-sharp and, and 1451 | VB out of Anders hands, 1452 | 1453 | 291 1454 | 00:16:20.600 --> 00:16:22.760 1455 | right out of Andrews housework, 1456 | hands and kind of into 1457 | 1458 | 292 1459 | 00:16:22.760 --> 00:16:24.650 1460 | the hands of the community. 1461 | Cause if we, as a 1462 | 1463 | 293 1464 | 00:16:24.650 --> 00:16:27.290 1465 | collective decide that we feel 1466 | that a syntax should look 1467 | 1468 | 294 1469 | 00:16:27.290 --> 00:16:29.240 1470 | this way, or there's some 1471 | aspect of the base class 1472 | 1473 | 295 1474 | 00:16:29.240 --> 00:16:33.500 1475 | library, we could create a 1476 | little, you know, base class 1477 | 1478 | 296 1479 | 00:16:33.500 --> 00:16:36.680 1480 | library extension to add, you 1481 | know, whatever we, as a 1482 | 1483 | 297 1484 | 00:16:36.680 --> 00:16:40.580 1485 | community come up with. And 1486 | just as the, you know, 1487 | 1488 | 298 1489 | 00:16:40.610 --> 00:16:44.390 1490 | the system.xml.link team works with 1491 | a system that XML guys 1492 | 1493 | 299 1494 | 00:16:44.480 --> 00:16:48.290 1495 | to make that bridge clean, 1496 | such that it's seamless. I 1497 | 1498 | 300 1499 | 00:16:48.290 --> 00:16:49.670 1500 | mean, you really have no 1501 | way of knowing that these 1502 | 1503 | 301 1504 | 00:16:49.670 --> 00:16:53.030 1505 | are extension methods, right? Unless 1506 | you go looking for it, 1507 | 1508 | 302 1509 | 00:16:53.660 --> 00:16:56.660 1510 | you know, what kinds of 1511 | interesting patterns could be done? 1512 | 1513 | 303 1514 | 00:16:57.200 --> 00:16:59.240 1515 | And like in the past, 1516 | a lot of the patterns 1517 | 1518 | 304 1519 | 00:16:59.240 --> 00:17:01.490 1520 | have been very O focused 1521 | and we read books like 1522 | 1523 | 305 1524 | 00:17:01.490 --> 00:17:07.490 1525 | design patterns, what will extension 1526 | methods, what kinds of patterns 1527 | 1528 | 306 1529 | 00:17:07.490 --> 00:17:09.920 1530 | will come out of that 1531 | new way of thinking? And 1532 | 1533 | 307 1534 | 00:17:09.920 --> 00:17:11.990 1535 | I'm really interested in, in 1536 | that space and I'd be 1537 | 1538 | 308 1539 | 00:17:11.990 --> 00:17:16.760 1540 | interested in what the, the 1541 | listeners think about that. All 1542 | 1543 | 309 1544 | 00:17:16.760 --> 00:17:21.470 1545 | right. Good. Well, is that 1546 | a show? Yeah, I think 1547 | 1548 | 310 1549 | 00:17:21.470 --> 00:17:23.750 1550 | so. You can tell, I 1551 | kind of rambled a little 1552 | 1553 | 311 1554 | 00:17:23.750 --> 00:17:25.580 1555 | bit at the end, but 1556 | I am sincerely interested in 1557 | 1558 | 312 1559 | 00:17:25.580 --> 00:17:28.370 1560 | that kind of that space 1561 | and I'd be really interested 1562 | 1563 | 313 1564 | 00:17:28.370 --> 00:17:30.920 1565 | in some feedback from some 1566 | of the listeners. Maybe we 1567 | 1568 | 314 1569 | 00:17:30.920 --> 00:17:32.420 1570 | can do a whole show 1571 | on exactly how to do 1572 | 1573 | 315 1574 | 00:17:32.420 --> 00:17:35.210 1575 | extension methods or maybe a 1576 | DNR TV. Oh, that sounds 1577 | 1578 | 316 1579 | 00:17:35.210 --> 00:17:38.870 1580 | great. Alright, Scott, thank you 1581 | very much. And until next 1582 | 1583 | 317 1584 | 00:17:38.870 --> 00:17:49.840 1585 | time, we'll see you . 1586 | 1587 | -------------------------------------------------------------------------------- /hm0040.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT FILE 2 | 3 | 1 4 | 00:00:12.120 --> 00:00:16.170 5 | From Hanselman it's dot com. 6 | It's Hanselman. It's a weekly 7 | 8 | 2 9 | 00:00:16.170 --> 00:00:19.710 10 | discussion with web developer and 11 | technologists. Scott Hanselman hosted by 12 | 13 | 3 14 | 00:00:19.710 --> 00:00:25.080 15 | Carl Franklin. This is Lawrence Ryan announcing 16 | show number 40 recorded Monday, 17 | 18 | 4 19 | 00:00:25.140 --> 00:00:30.120 20 | November 6th, 2006. Support for Hansel minutes 21 | is provided by COVID Smith 22 | 23 | 5 24 | 00:00:30.120 --> 00:00:34.500 25 | tools, makers of code Smith, 26 | extensible template based code generator 27 | 28 | 6 29 | 00:00:34.500 --> 00:00:38.910 30 | for.net. Hanselman is listeners. Get 31 | $100 off code Smith professional 32 | 33 | 7 34 | 00:00:38.910 --> 00:00:46.290 35 | with coupon code H M 36 | 100. online@covidsmithtools.com. Support is also 37 | 38 | 8 39 | 00:00:46.290 --> 00:00:51.450 40 | provided by dotnet developers journal. 41 | The world's leading.net developer magazine 42 | 43 | 9 44 | 00:00:51.720 --> 00:00:57.330 45 | online at www dot 46 | dot com. In this episode, 47 | 48 | 10 49 | 00:00:57.330 --> 00:01:01.080 50 | Scott and Carl discuss software 51 | architecture from tech ed in 52 | 53 | 11 54 | 00:01:01.080 --> 00:01:10.080 55 | Barcelona. Hi, this is Carl Franklin 56 | and you're listening to Hansel 57 | 58 | 12 59 | 00:01:10.080 --> 00:01:12.960 60 | minutes from Hanselman it's dot 61 | com. Scott and I are 62 | 63 | 13 64 | 00:01:12.960 --> 00:01:18.840 65 | here in Barcelona, Spain, Barcelona, 66 | Barcelona, protect ed Europe, developer. 67 | 68 | 14 69 | 00:01:18.960 --> 00:01:22.500 70 | Yeah, it's good that you're 71 | here. Otherwise we wouldn't have 72 | 73 | 15 74 | 00:01:22.500 --> 00:01:24.780 75 | a show this week. That 76 | is pretty cool. You're absolutely 77 | 78 | 16 79 | 00:01:24.780 --> 00:01:26.610 80 | right. It would have been 81 | a wake up at three 82 | 83 | 17 84 | 00:01:26.610 --> 00:01:28.020 85 | in the morning and call 86 | you in the hotel kind 87 | 88 | 18 89 | 00:01:28.020 --> 00:01:29.910 90 | of thing. Where, where are 91 | we now? We're sitting on 92 | 93 | 19 94 | 00:01:29.910 --> 00:01:33.630 95 | the bringing foods. He was 96 | sort of out in the 97 | 98 | 20 99 | 00:01:33.630 --> 00:01:36.570 100 | conference where in the middle 101 | of the action, trying to 102 | 103 | 21 104 | 00:01:36.570 --> 00:01:39.690 105 | get that live on the 106 | scene sound and we definitely 107 | 108 | 22 109 | 00:01:39.690 --> 00:01:41.580 110 | got it. They're just, they 111 | just pushed some food by 112 | 113 | 23 114 | 00:01:41.580 --> 00:01:45.600 115 | and we've got cookies and 116 | coffee and bananas everywhere and 117 | 118 | 24 119 | 00:01:46.020 --> 00:01:49.920 120 | sitting outside the breakout sessions 121 | right now. Yeah. So what 122 | 123 | 25 124 | 00:01:49.920 --> 00:01:52.680 125 | are you talking about here? 126 | I'm actually giving a preconference 127 | 128 | 26 129 | 00:01:52.680 --> 00:01:55.860 130 | talk. I'm here with Ron 131 | Jacobs and we're doing software 132 | 133 | 27 134 | 00:01:55.860 --> 00:02:00.330 135 | architecture, architecture. We're doing basically 136 | a day of architecture. We 137 | 138 | 28 139 | 00:02:00.330 --> 00:02:04.740 140 | talking about essentials of architecture. 141 | I'm doing the essential abilities 142 | 143 | 29 144 | 00:02:04.740 --> 00:02:06.690 145 | of the architect. What an 146 | architect really kind of needs 147 | 148 | 30 149 | 00:02:06.690 --> 00:02:09.510 150 | to know to be an 151 | effective architect. Ron's then going 152 | 153 | 31 154 | 00:02:09.510 --> 00:02:13.050 155 | to talk about architectural analysis 156 | and then I'm actually architecture 157 | 158 | 32 159 | 00:02:13.050 --> 00:02:15.780 160 | podcast as he not, he 161 | does it's called arc cast. 162 | 163 | 33 164 | 00:02:16.110 --> 00:02:19.260 165 | If you go up to 166 | channel nine.msdn.com and on the 167 | 168 | 34 169 | 00:02:19.260 --> 00:02:21.840 170 | left side there, he's got 171 | like 136 of them. Wow. 172 | 173 | 35 174 | 00:02:21.870 --> 00:02:25.080 175 | I was feeling really not 176 | superior, but really positive about 177 | 178 | 36 179 | 00:02:25.080 --> 00:02:27.730 180 | how many, you know, we'd 181 | done like 35 shows. And 182 | 183 | 37 184 | 00:02:27.730 --> 00:02:30.270 185 | I was thinking like, you 186 | know, Bob Barker, the guy 187 | 188 | 38 189 | 00:02:30.270 --> 00:02:34.290 190 | from terrific. He just retired 191 | last week after doing like 192 | 193 | 39 194 | 00:02:34.290 --> 00:02:38.190 195 | 6,500 shows. Now I'm like, 196 | well, I've reached 35 and 197 | 198 | 40 199 | 00:02:38.190 --> 00:02:39.690 200 | be able to get to 201 | 50 and that'll be cool. 202 | 203 | 41 204 | 00:02:39.930 --> 00:02:42.390 205 | And I go, and I 206 | see it, Ron's guy 140 207 | 208 | 42 209 | 00:02:42.390 --> 00:02:44.640 210 | and I'm like, Oh, well, 211 | but he's paid to do 212 | 213 | 43 214 | 00:02:44.640 --> 00:02:46.200 215 | that full time. And we 216 | do this in our spare 217 | 218 | 44 219 | 00:02:46.200 --> 00:02:48.750 220 | time. So that's different thing. 221 | So, you know, so what's 222 | 223 | 45 224 | 00:02:48.750 --> 00:02:51.180 225 | on the agenda. Well, on 226 | the agenda for my stuff, 227 | 228 | 46 229 | 00:02:51.450 --> 00:02:53.640 230 | we're talking about essential abilities. 231 | So we kind of talk 232 | 233 | 47 234 | 00:02:53.640 --> 00:02:59.320 235 | about security, performance and availability. 236 | And we talk about how 237 | 238 | 48 239 | 00:02:59.950 --> 00:03:03.130 240 | architecture is often kind of 241 | mistaken, I think, or given 242 | 243 | 49 244 | 00:03:03.130 --> 00:03:06.760 245 | a bad name as a 246 | soft skill, right. Basically architecture, 247 | 248 | 50 249 | 00:03:06.760 --> 00:03:09.480 250 | right? A lot of word 251 | documents and developers Ignore them. 252 | 253 | 51 254 | 00:03:09.510 --> 00:03:12.390 255 | Yeah. It's sort of seen 256 | by developers is a job 257 | 258 | 52 259 | 00:03:12.420 --> 00:03:16.550 260 | that somebody could bully their 261 | way into, right? Yeah. It 262 | 263 | 53 264 | 00:03:16.590 --> 00:03:18.690 265 | seems like it's kind of 266 | a BS job that you 267 | 268 | 54 269 | 00:03:18.690 --> 00:03:20.700 270 | hang out, you live in 271 | your ivory tower and then 272 | 273 | 55 274 | 00:03:20.700 --> 00:03:23.370 275 | dogma or word documents kind 276 | of like in the form 277 | 278 | 56 279 | 00:03:23.370 --> 00:03:27.600 280 | of word documents. Hi, thou 281 | shalt architect from somebody who 282 | 283 | 57 284 | 00:03:27.600 --> 00:03:31.680 285 | doesn't understand developers. Y I, 286 | I think, and we, and 287 | 288 | 58 289 | 00:03:31.680 --> 00:03:34.200 290 | moron, and I kind of 291 | propose in this, in this, 292 | 293 | 59 294 | 00:03:34.560 --> 00:03:37.170 295 | this day of preconference talks, 296 | that architecture is a little 297 | 298 | 60 299 | 00:03:37.170 --> 00:03:40.050 300 | bit more than that. It's 301 | more of a, a 20,000 302 | 303 | 61 304 | 00:03:40.050 --> 00:03:42.420 305 | foot view. And while there 306 | are people who don't think 307 | 308 | 62 309 | 00:03:42.420 --> 00:03:47.370 310 | that architecture has a direct 311 | correlation is between software and 312 | 313 | 63 314 | 00:03:47.940 --> 00:03:51.720 315 | actually architecting buildings. I think 316 | it's actually a pretty decent 317 | 318 | 64 319 | 00:03:53.040 --> 00:03:55.950 320 | analogy. I think that if 321 | you think about an architect 322 | 323 | 65 324 | 00:03:56.010 --> 00:03:58.860 325 | is building a building, he 326 | may not be necessarily the 327 | 328 | 66 329 | 00:03:58.860 --> 00:04:01.290 330 | kind of guy who knows 331 | how to do his own 332 | 333 | 67 334 | 00:04:01.290 --> 00:04:03.690 335 | plumbing and do his own 336 | wiring, but he needs to 337 | 338 | 68 339 | 00:04:03.690 --> 00:04:06.390 340 | know what the building codes 341 | are for. Correct wiring, how 342 | 343 | 69 344 | 00:04:06.390 --> 00:04:09.270 345 | to design a building such 346 | that appropriate pipes and wires 347 | 348 | 70 349 | 00:04:09.270 --> 00:04:12.210 350 | can be put down. So 351 | while you would hope that 352 | 353 | 71 354 | 00:04:12.210 --> 00:04:14.400 355 | an architect would be able 356 | to do some amount of 357 | 358 | 72 359 | 00:04:15.180 --> 00:04:17.700 360 | configuring his own TCP IP 361 | stack, certainly he would need 362 | 363 | 73 364 | 00:04:17.700 --> 00:04:21.840 365 | to understand how firewalls interact 366 | with software, how network cards 367 | 368 | 74 369 | 00:04:21.840 --> 00:04:25.830 370 | work, if not at the 371 | lowest level, there is a, 372 | 373 | 75 374 | 00:04:25.840 --> 00:04:28.590 375 | there's a high level understanding 376 | just like a pilot of 377 | 378 | 76 379 | 00:04:28.590 --> 00:04:30.660 380 | a plane, right? It needs 381 | to understand the fundamentals of 382 | 383 | 77 384 | 00:04:30.660 --> 00:04:32.490 385 | flying if they may not 386 | understand the fundamentals of how 387 | 388 | 78 389 | 00:04:32.490 --> 00:04:34.860 390 | to jet. So do you 391 | think developers make the best 392 | 393 | 79 394 | 00:04:34.860 --> 00:04:38.400 395 | art? Well, that's a real 396 | tough one. I do personally 397 | 398 | 80 399 | 00:04:38.430 --> 00:04:41.220 400 | think that, you know, it, 401 | it would be nice if 402 | 403 | 81 404 | 00:04:41.220 --> 00:04:43.140 405 | you were a pilot of 406 | an airplane who started out 407 | 408 | 82 409 | 00:04:43.140 --> 00:04:47.290 410 | as a mechanic. Right. I 411 | don't think it's required, but 412 | 413 | 83 414 | 00:04:47.430 --> 00:04:49.740 415 | yeah, because I've seen a 416 | lot of MBAs turn into 417 | 418 | 84 419 | 00:04:49.740 --> 00:04:52.170 420 | architects. Yeah. I do think 421 | that there is going to 422 | 423 | 85 424 | 00:04:52.170 --> 00:04:57.060 425 | be a fundamental missing piece 426 | that will nail you at 427 | 428 | 86 429 | 00:04:57.060 --> 00:04:59.640 430 | some point, you really come 431 | at it from two different 432 | 433 | 87 434 | 00:04:59.640 --> 00:05:02.340 435 | angles. Right. You know, I'm 436 | always a fan of the 437 | 438 | 88 439 | 00:05:02.340 --> 00:05:05.370 440 | little guy who comes up 441 | sure. As opposed to from 442 | 443 | 89 444 | 00:05:05.370 --> 00:05:07.560 445 | the top down, If you're, 446 | you know, if you're a 447 | 448 | 90 449 | 00:05:07.560 --> 00:05:12.320 450 | developer, who's got a big 451 | picture mentality, you know, you're, 452 | 453 | 91 454 | 00:05:12.320 --> 00:05:15.240 455 | you're not, you're, you're not 456 | just doing your little piece 457 | 458 | 92 459 | 00:05:15.240 --> 00:05:19.320 460 | of coding, you're designing and 461 | doing your own architecture on 462 | 463 | 93 464 | 00:05:19.320 --> 00:05:21.900 465 | the fly. One thing I 466 | do think is as a 467 | 468 | 94 469 | 00:05:21.900 --> 00:05:23.550 470 | rough thing that one of 471 | the guys mentioned at the 472 | 473 | 95 474 | 00:05:23.550 --> 00:05:26.100 475 | talk is that he said, 476 | well, I'm allowed to do 477 | 478 | 96 479 | 00:05:26.100 --> 00:05:29.460 480 | architecture 40% of the time. 481 | And my boss expects me 482 | 483 | 97 484 | 00:05:29.460 --> 00:05:31.710 485 | to code 60% of the 486 | time. So that makes me 487 | 488 | 98 489 | 00:05:31.710 --> 00:05:33.630 490 | think that his boss doesn't 491 | really understand the fundamentals of 492 | 493 | 99 494 | 00:05:33.630 --> 00:05:37.230 495 | architecture and how much stuff 496 | needs to be involved. You 497 | 498 | 100 499 | 00:05:37.230 --> 00:05:39.540 500 | have to be thinking about 501 | every, at every level. So 502 | 503 | 101 504 | 00:05:39.540 --> 00:05:40.980 505 | that's one of the things 506 | that we've been talking about 507 | 508 | 102 509 | 00:05:40.980 --> 00:05:44.250 510 | is like security. Like how 511 | do I systematically manage security 512 | 513 | 103 514 | 00:05:44.250 --> 00:05:47.280 515 | into my system at every 516 | level architects? I think if 517 | 518 | 104 519 | 00:05:47.280 --> 00:05:50.670 520 | they are explicitly called out 521 | as architects and the project 522 | 523 | 105 524 | 00:05:50.880 --> 00:05:53.850 525 | understands that so-and-so is the 526 | project architect, this is an 527 | 528 | 106 529 | 00:05:53.850 --> 00:05:56.340 530 | individual who can explain, not 531 | just to the developers, but 532 | 533 | 107 534 | 00:05:56.340 --> 00:05:59.750 535 | also to the why we 536 | need to think about security 537 | 538 | 108 539 | 00:05:59.750 --> 00:06:01.700 540 | ahead of time. We need 541 | to think about performance ahead 542 | 543 | 109 544 | 00:06:01.700 --> 00:06:04.940 545 | of time. So we're talking 546 | about that. We've talking about 547 | 548 | 110 549 | 00:06:04.940 --> 00:06:09.080 550 | things like threat modeling, threat 551 | modeling is an important step 552 | 553 | 111 554 | 00:06:09.080 --> 00:06:12.140 555 | that I'm seeing more and 556 | more, but there's just not 557 | 558 | 112 559 | 00:06:12.140 --> 00:06:15.290 560 | enough, right? Not enough. People 561 | are doing threat modeling, sitting 562 | 563 | 113 564 | 00:06:15.290 --> 00:06:19.480 565 | down and actually saying All 566 | the surfaces are exactly it's 567 | 568 | 114 569 | 00:06:19.480 --> 00:06:23.080 570 | what happened. Yeah. For example, 571 | things like reducing attack, surface 572 | 573 | 115 574 | 00:06:24.700 --> 00:06:31.180 575 | doing defense in depth, really 576 | thinking about what we're actually, 577 | 578 | 116 579 | 00:06:31.180 --> 00:06:32.830 580 | I'm gonna take a pause 581 | here because we're here at 582 | 583 | 117 584 | 00:06:32.830 --> 00:06:34.610 585 | tech ed and his eight, 586 | some of these random tech 587 | 588 | 118 589 | 00:06:34.610 --> 00:06:36.220 590 | ed guys taking a picture 591 | of us. Cause he saw 592 | 593 | 119 594 | 00:06:36.250 --> 00:06:40.300 595 | two nerds with microphones. So 596 | must have pictures. Yeah. Nerds. 597 | 598 | 120 599 | 00:06:41.040 --> 00:06:44.650 600 | They must be doing something 601 | interesting. So we're talking about 602 | 603 | 121 604 | 00:06:45.880 --> 00:06:48.310 605 | things about reducing the attack 606 | surface, right. And we have 607 | 608 | 122 609 | 00:06:48.310 --> 00:06:50.740 610 | some pretty good examples. Actually. 611 | There was a, an interesting 612 | 613 | 123 614 | 00:06:50.740 --> 00:06:55.000 615 | web dev security exploit about 616 | four years ago, Web dev 617 | 618 | 124 619 | 00:06:55.000 --> 00:06:59.380 620 | being the exchange. Exactly. And 621 | also what SharePoint uses to 622 | 623 | 125 624 | 00:06:59.380 --> 00:07:02.800 625 | talk to the backend. And 626 | we talk about how this 627 | 628 | 126 629 | 00:07:02.800 --> 00:07:07.240 630 | particular exploit was not, did 631 | not exist it, but did 632 | 633 | 127 634 | 00:07:07.240 --> 00:07:10.840 635 | not necessarily affect windows 2003. 636 | They had to patch NT 637 | 638 | 128 639 | 00:07:10.840 --> 00:07:14.200 640 | for it, a patch 2000 641 | new patch XP. And the 642 | 643 | 129 644 | 00:07:14.200 --> 00:07:17.320 645 | reason was many fold because 646 | they had put in a 647 | 648 | 130 649 | 00:07:17.320 --> 00:07:20.920 650 | layered architecture inside of windows 651 | two or 2003. So for 652 | 653 | 131 654 | 00:07:20.920 --> 00:07:24.310 655 | example, there was that big 656 | security push. Remember when Microsoft 657 | 658 | 132 659 | 00:07:24.310 --> 00:07:27.940 660 | stopped everything and started doing 661 | security stuff, they patched a 662 | 663 | 133 664 | 00:07:27.940 --> 00:07:30.820 665 | number of things in the 666 | underlying DLLs, but let's assume 667 | 668 | 134 669 | 00:07:30.820 --> 00:07:34.300 670 | that they didn't, , isn't 671 | even running by default on 672 | 673 | 135 674 | 00:07:34.300 --> 00:07:38.380 675 | 2003. So if you ordinarily 676 | to turn that off, you 677 | 678 | 136 679 | 00:07:38.380 --> 00:07:40.360 680 | have to harden the server 681 | yourself who locked it all 682 | 683 | 137 684 | 00:07:40.360 --> 00:07:42.010 685 | down, it locked it down, 686 | but a fault. So let's 687 | 688 | 138 689 | 00:07:42.010 --> 00:07:44.110 690 | just say that they didn't, 691 | well, even if it was 692 | 693 | 139 694 | 00:07:44.110 --> 00:07:47.710 695 | running web dev, isn't enabled, 696 | that's one of the things 697 | 698 | 140 699 | 00:07:47.710 --> 00:07:50.830 700 | about , you know, you 701 | have to, I've deployed a 702 | 703 | 141 704 | 00:07:50.830 --> 00:07:52.330 705 | number. I a six rather 706 | I have to put a 707 | 708 | 142 709 | 00:07:52.330 --> 00:07:54.220 710 | number of things and said, 711 | why isn't this working? Oh, 712 | 713 | 143 714 | 00:07:54.250 --> 00:07:57.130 715 | I got to turn on 716 | asp.net off by default off 717 | 718 | 144 719 | 00:07:57.130 --> 00:07:59.800 720 | by default. So even if 721 | it was on by default, 722 | 723 | 145 724 | 00:08:00.070 --> 00:08:03.400 725 | the maximum length of an 726 | Earl is 16 K, which 727 | 728 | 146 729 | 00:08:03.400 --> 00:08:06.280 730 | I think is still too 731 | long, you needed 64 plus 732 | 733 | 147 734 | 00:08:06.280 --> 00:08:09.940 735 | K two to get this 736 | particular exploit. And even if 737 | 738 | 148 739 | 00:08:09.940 --> 00:08:13.780 740 | that was long enough, they 741 | had the special buffer overflow 742 | 743 | 149 744 | 00:08:13.840 --> 00:08:16.570 745 | code switch when they compiled 746 | the C plus plus. So 747 | 748 | 150 749 | 00:08:16.570 --> 00:08:19.720 750 | the system would have halted 751 | that process if it detected 752 | 753 | 151 754 | 00:08:19.720 --> 00:08:22.570 755 | an overflow. And even if 756 | it didn't and if they 757 | 758 | 152 759 | 00:08:22.570 --> 00:08:26.260 760 | did succeed to execute malicious 761 | code, it would have occurred 762 | 763 | 153 764 | 00:08:26.260 --> 00:08:28.930 765 | under a least privileged account. 766 | So there's an example of 767 | 768 | 154 769 | 00:08:28.930 --> 00:08:32.310 770 | six different layers where security 771 | is preventing that exploit from 772 | 773 | 155 774 | 00:08:32.410 --> 00:08:35.350 775 | Happening. Yeah. That was it 776 | getting in the way of, 777 | 778 | 156 779 | 00:08:35.350 --> 00:08:38.830 780 | of real progress of real 781 | code. What's the most, what's 782 | 783 | 157 784 | 00:08:38.830 --> 00:08:40.900 785 | the most secure system, right? 786 | It's when it's unplugged or 787 | 788 | 158 789 | 00:08:40.900 --> 00:08:43.570 790 | shut off that's right. And 791 | that's really kind of the 792 | 793 | 159 794 | 00:08:43.570 --> 00:08:47.290 795 | thing. It is very difficult 796 | to design and architect a 797 | 798 | 160 799 | 00:08:47.290 --> 00:08:51.100 800 | system that is both very, 801 | very usable. Very, very secure. 802 | 803 | 161 804 | 00:08:51.160 --> 00:08:53.260 805 | Yes. But it really, it 806 | comes down to understanding the 807 | 808 | 162 809 | 00:08:53.260 --> 00:08:57.060 810 | requirements. What is the system 811 | to do and make it 812 | 813 | 163 814 | 00:08:57.060 --> 00:09:00.360 815 | as secure as it possibly 816 | can while still allowing people 817 | 818 | 164 819 | 00:09:00.360 --> 00:09:02.550 820 | to do their jobs. Right. 821 | One of the things we 822 | 823 | 165 824 | 00:09:02.550 --> 00:09:04.650 825 | have to do at Kilian 826 | is designed systems that can't 827 | 828 | 166 829 | 00:09:04.650 --> 00:09:06.930 830 | be hacked by people who 831 | work for the bank that 832 | 833 | 167 834 | 00:09:06.930 --> 00:09:10.370 835 | we're designing for. That's a 836 | pretty good criteria. Yeah. So 837 | 838 | 168 839 | 00:09:10.820 --> 00:09:13.040 840 | let's imagine a guy has 841 | the essay password, right? How 842 | 843 | 169 844 | 00:09:13.040 --> 00:09:16.130 845 | do you prevent things against 846 | that guy? Wow. Right. So, 847 | 848 | 170 849 | 00:09:16.130 --> 00:09:19.250 850 | you know, doing things like 851 | encrypting users' passwords, different for 852 | 853 | 171 854 | 00:09:19.250 --> 00:09:21.860 855 | every user, as opposed to 856 | using master keys for everything. 857 | 858 | 172 859 | 00:09:21.860 --> 00:09:25.280 860 | Just so worst he could 861 | do is cause himself pain. 862 | 863 | 173 864 | 00:09:25.280 --> 00:09:29.300 865 | But no one else, stuff 866 | like that, keeping systems really, 867 | 868 | 174 869 | 00:09:29.300 --> 00:09:31.700 870 | really locked down. We're working 871 | on some stuff at Kirlian 872 | 873 | 175 874 | 00:09:31.700 --> 00:09:34.370 875 | now where people will not 876 | have remote desktop access to 877 | 878 | 176 879 | 00:09:34.370 --> 00:09:37.400 880 | boxes. Like they'll only be 881 | administrative over a single port, 882 | 883 | 177 884 | 00:09:37.850 --> 00:09:41.000 885 | stuff like that. Reducing the 886 | attack surface of the overall 887 | 888 | 178 889 | 00:09:42.110 --> 00:09:45.680 890 | Typically react in a negative 891 | way when you take away 892 | 893 | 179 894 | 00:09:45.680 --> 00:09:48.470 895 | their freedoms, don't they? So, 896 | I mean, this is a 897 | 898 | 180 899 | 00:09:48.860 --> 00:09:52.130 900 | being an architect and communicating 901 | with developers and having those 902 | 903 | 181 904 | 00:09:52.130 --> 00:09:55.460 905 | meetings to say, yeah, I'm 906 | going to have to deescalate 907 | 908 | 182 909 | 00:09:55.460 --> 00:09:58.010 910 | your privileges. Yeah. That'd be 911 | good. Yeah. Right. I think 912 | 913 | 183 914 | 00:09:58.010 --> 00:09:59.870 915 | that Vista will make that 916 | easier because you can always 917 | 918 | 184 919 | 00:09:59.870 --> 00:10:02.330 920 | become admin. You can blame 921 | the Z issue with, with 922 | 923 | 185 924 | 00:10:02.330 --> 00:10:05.450 925 | not running as admin on 926 | an XP is that often 927 | 928 | 186 929 | 00:10:05.480 --> 00:10:08.510 930 | you're a, they don't give 931 | you the admin password. That's 932 | 933 | 187 934 | 00:10:08.510 --> 00:10:10.610 935 | different than I think what, 936 | what Vista has done, which 937 | 938 | 188 939 | 00:10:10.610 --> 00:10:14.210 940 | is the just-in-time admin, right. 941 | Use your access control, be 942 | 943 | 189 944 | 00:10:14.210 --> 00:10:16.100 945 | admin. When I need to. 946 | I think that makes a 947 | 948 | 190 949 | 00:10:16.100 --> 00:10:18.500 950 | difference. I think that's much 951 | better. One of the other 952 | 953 | 191 954 | 00:10:18.500 --> 00:10:20.690 955 | things that we talk about 956 | in this particular session is 957 | 958 | 192 959 | 00:10:20.750 --> 00:10:25.580 960 | availability and the concept of 961 | sequential dependencies, that the idea 962 | 963 | 193 964 | 00:10:25.580 --> 00:10:27.620 965 | is that you've got all 966 | these different layers in your 967 | 968 | 194 969 | 00:10:27.920 --> 00:10:31.070 970 | system and your system is 971 | only as available as the 972 | 973 | 195 974 | 00:10:31.070 --> 00:10:35.330 975 | least available piece. Right? So 976 | if you've got a database 977 | 978 | 196 979 | 00:10:35.330 --> 00:10:37.820 980 | server, a network web server 981 | or a desktop, and they're 982 | 983 | 197 984 | 00:10:37.820 --> 00:10:42.410 985 | all say 95, 96, 98% 986 | available, you have to do 987 | 988 | 198 989 | 00:10:42.410 --> 00:10:44.960 990 | the math. You have to 991 | actually multiply those availability numbers 992 | 993 | 199 994 | 00:10:44.960 --> 00:10:47.300 995 | by each other. And you 996 | end up saying, well, I've 997 | 998 | 200 999 | 00:10:47.300 --> 00:10:50.720 1000 | got a database server that's 1001 | 98% available and a network 1002 | 1003 | 201 1004 | 00:10:50.720 --> 00:10:53.900 1005 | and a web server. In 1006 | this example here using four 1007 | 1008 | 202 1009 | 00:10:53.900 --> 00:10:56.120 1010 | different layers. I came up 1011 | with an availability number of 1012 | 1013 | 203 1014 | 00:10:56.120 --> 00:11:00.770 1015 | around 90%. So even though 1016 | each item had saleability numbers 1017 | 1018 | 204 1019 | 00:11:00.770 --> 00:11:05.090 1020 | in excess of 96%, the, 1021 | the net availability was less 1022 | 1023 | 205 1024 | 00:11:05.090 --> 00:11:07.370 1025 | than 90. But then if 1026 | you take some of the 1027 | 1028 | 206 1029 | 00:11:07.370 --> 00:11:10.670 1030 | fundamentals of availability and you 1031 | add like a redundant server 1032 | 1033 | 207 1034 | 00:11:10.670 --> 00:11:14.090 1035 | in this instance, I'll say, 1036 | I'll, I'll add another database 1037 | 1038 | 208 1039 | 00:11:14.090 --> 00:11:18.980 1040 | server with Andy 8% uptime. 1041 | I can raise the availability 1042 | 1043 | 209 1044 | 00:11:18.980 --> 00:11:21.890 1045 | of the entire system by 1046 | in this case, 2% by 1047 | 1048 | 210 1049 | 00:11:21.890 --> 00:11:24.740 1050 | just adding another box, seems 1051 | like it's kind of dry, 1052 | 1053 | 211 1054 | 00:11:24.740 --> 00:11:26.870 1055 | but it would actually allow 1056 | dry topic, but it would 1057 | 1058 | 212 1059 | 00:11:26.870 --> 00:11:29.480 1060 | allow you to go to 1061 | a boss and say, I 1062 | 1063 | 213 1064 | 00:11:29.480 --> 00:11:31.760 1065 | can get your availability numbers 1066 | up 2%, and it's gonna 1067 | 1068 | 214 1069 | 00:11:31.770 --> 00:11:34.910 1070 | cost you five grand for 1071 | the server and this much, 1072 | 1073 | 215 1074 | 00:11:34.910 --> 00:11:38.360 1075 | that da, da, da. Right? 1076 | So the idea being that 1077 | 1078 | 216 1079 | 00:11:39.020 --> 00:11:40.640 1080 | an architect needs to be 1081 | able to go to the 1082 | 1083 | 217 1084 | 00:11:40.640 --> 00:11:45.680 1085 | business owner and putting numbers 1086 | on solutions and say, I 1087 | 1088 | 218 1089 | 00:11:45.680 --> 00:11:49.760 1090 | can't guarantee you three nines 1091 | of uptime without this much 1092 | 1093 | 219 1094 | 00:11:49.760 --> 00:11:52.610 1095 | money. And that really helps 1096 | the business owners make the 1097 | 1098 | 220 1099 | 00:11:52.610 --> 00:11:57.340 1100 | right of decisions. You know, 1101 | the, the architecture gig is 1102 | 1103 | 221 1104 | 00:11:57.370 --> 00:11:59.920 1105 | sort of been touted by, 1106 | you know, people in the 1107 | 1108 | 222 1109 | 00:11:59.920 --> 00:12:03.970 1110 | industry as a cure for, 1111 | you know, job security as 1112 | 1113 | 223 1114 | 00:12:03.970 --> 00:12:06.550 1115 | a developer. Cause you know, 1116 | a lot of development that 1117 | 1118 | 224 1119 | 00:12:06.550 --> 00:12:09.340 1120 | has been outsourced it's come 1121 | back and it goes, comes 1122 | 1123 | 225 1124 | 00:12:09.340 --> 00:12:12.160 1125 | and goes, but outsourcing is 1126 | always a threat to, you 1127 | 1128 | 226 1129 | 00:12:12.160 --> 00:12:16.870 1130 | know, the developer, but architecture 1131 | is something that we, we 1132 | 1133 | 227 1134 | 00:12:16.870 --> 00:12:19.890 1135 | tend to keep in house. 1136 | Would you agree? Yeah, I 1137 | 1138 | 228 1139 | 00:12:19.890 --> 00:12:22.950 1140 | think you're right. Not because 1141 | it's necessarily for job security, 1142 | 1143 | 229 1144 | 00:12:22.950 --> 00:12:24.930 1145 | but I think that the 1146 | architect really is that bridge 1147 | 1148 | 230 1149 | 00:12:24.930 --> 00:12:28.820 1150 | between the business owner or 1151 | the product owner and, and 1152 | 1153 | 231 1154 | 00:12:28.890 --> 00:12:31.950 1155 | the team, certainly one could, 1156 | could outsource an architect if 1157 | 1158 | 232 1159 | 00:12:31.950 --> 00:12:36.300 1160 | the architect oversees really where 1161 | we are overseas, if the 1162 | 1163 | 233 1164 | 00:12:36.300 --> 00:12:40.950 1165 | architect really had an understanding 1166 | of the business. Right. So 1167 | 1168 | 234 1169 | 00:12:40.950 --> 00:12:44.100 1170 | I don't think that it's 1171 | your, your, your job proofed 1172 | 1173 | 235 1174 | 00:12:44.190 --> 00:12:46.590 1175 | your, your, your, your, your 1176 | outside. Do you know of 1177 | 1178 | 236 1179 | 00:12:46.590 --> 00:12:50.610 1180 | any outsourced architecture gay? I 1181 | don't personally, but I'm sure 1182 | 1183 | 237 1184 | 00:12:50.610 --> 00:12:53.070 1185 | that there haven't heard of 1186 | any. I know that there's, 1187 | 1188 | 238 1189 | 00:12:53.130 --> 00:12:54.750 1190 | you know, this is a 1191 | thing there's a lot of 1192 | 1193 | 239 1194 | 00:12:54.750 --> 00:12:56.520 1195 | smart people in the world. 1196 | It'd be interesting to know 1197 | 1198 | 240 1199 | 00:12:56.520 --> 00:12:59.310 1200 | if they're a company other 1201 | than some of these global 1202 | 1203 | 241 1204 | 00:12:59.310 --> 00:13:02.790 1205 | things like IBM, certainly IBM 1206 | global consulting has architects everywhere 1207 | 1208 | 242 1209 | 00:13:03.900 --> 00:13:08.040 1210 | where they specialize in outsourcing 1211 | architectural level stuff. I don't 1212 | 1213 | 243 1214 | 00:13:08.040 --> 00:13:09.450 1215 | know. I bet you there 1216 | is. And we'll hear from 1217 | 1218 | 244 1219 | 00:13:09.450 --> 00:13:12.660 1220 | him, You know, if you 1221 | know of any, send them 1222 | 1223 | 245 1224 | 00:13:13.260 --> 00:13:15.990 1225 | to us, let us know 1226 | Places like ThoughtWorks will travel 1227 | 1228 | 246 1229 | 00:13:15.990 --> 00:13:19.950 1230 | all over the world and 1231 | work on thought. And IBM, 1232 | 1233 | 247 1234 | 00:13:20.250 --> 00:13:24.210 1235 | you know, but building an 1236 | entire practice of architects would 1237 | 1238 | 248 1239 | 00:13:24.210 --> 00:13:27.690 1240 | require deep understanding, not only 1241 | of just general.net stuff or 1242 | 1243 | 249 1244 | 00:13:27.690 --> 00:13:32.040 1245 | general Java stuff, but like 1246 | in my instance, banking, you 1247 | 1248 | 250 1249 | 00:13:32.040 --> 00:13:34.800 1250 | know, we, we met with 1251 | a number of large banks 1252 | 1253 | 251 1254 | 00:13:34.800 --> 00:13:37.470 1255 | this last week, my boss 1256 | and I, the CTO were 1257 | 1258 | 252 1259 | 00:13:37.470 --> 00:13:40.140 1260 | flying all over the place. 1261 | And we always talk to 1262 | 1263 | 253 1264 | 00:13:40.140 --> 00:13:43.650 1265 | them about engaging with us, 1266 | not just at my level 1267 | 1268 | 254 1269 | 00:13:43.650 --> 00:13:46.380 1270 | at the architect level, but 1271 | we call solutions architect level. 1272 | 1273 | 255 1274 | 00:13:46.710 --> 00:13:48.930 1275 | Sometimes the banks will say, 1276 | Oh, we want Scott. He's 1277 | 1278 | 256 1279 | 00:13:48.930 --> 00:13:51.030 1280 | the chief architect. He should 1281 | be able to talk about 1282 | 1283 | 257 1284 | 00:13:51.030 --> 00:13:54.570 1285 | this. Right. But I haven't 1286 | personally coded against a Hogan 1287 | 1288 | 258 1289 | 00:13:54.570 --> 00:13:57.210 1290 | mainframe, but I've got a 1291 | half a dozen guys at 1292 | 1293 | 259 1294 | 00:13:57.210 --> 00:14:00.180 1295 | Carilion that do that are 1296 | solutions, architects that know how 1297 | 1298 | 260 1299 | 00:14:00.180 --> 00:14:03.270 1300 | to make these things happen. 1301 | So within architecture itself, there 1302 | 1303 | 261 1304 | 00:14:03.270 --> 00:14:06.600 1305 | are, there are different specializations. 1306 | I'm certainly not the guy 1307 | 1308 | 262 1309 | 00:14:06.600 --> 00:14:09.390 1310 | to architect to design. Here's 1311 | where we get from architecture 1312 | 1313 | 263 1314 | 00:14:09.390 --> 00:14:11.430 1315 | into design. Right? Yeah. I'm 1316 | not going to design a 1317 | 1318 | 264 1319 | 00:14:11.430 --> 00:14:13.890 1320 | database, but I can architect 1321 | a system that includes a 1322 | 1323 | 265 1324 | 00:14:13.890 --> 00:14:17.940 1325 | database, which calls back to 1326 | the, the construction example. Right. 1327 | 1328 | 266 1329 | 00:14:18.030 --> 00:14:21.270 1330 | I really shouldn't be laying 1331 | the, laying the cords out 1332 | 1333 | 267 1334 | 00:14:21.270 --> 00:14:24.250 1335 | and putting the, putting the 1336 | pipe down. Right. But I 1337 | 1338 | 268 1339 | 00:14:24.270 --> 00:14:26.220 1340 | do have an understanding of 1341 | some of the regulatory and 1342 | 1343 | 269 1344 | 00:14:26.220 --> 00:14:28.140 1345 | compliance issues and the permits 1346 | that are going to be 1347 | 1348 | 270 1349 | 00:14:28.140 --> 00:14:30.090 1350 | required to do that kind 1351 | of work. And that's kind 1352 | 1353 | 271 1354 | 00:14:30.090 --> 00:14:32.280 1355 | of the essence of what 1356 | we're talking about. Are you 1357 | 1358 | 272 1359 | 00:14:32.280 --> 00:14:34.350 1360 | talking about in your, in 1361 | your talk here, which is 1362 | 1363 | 273 1364 | 00:14:34.350 --> 00:14:36.360 1365 | coming right up, Actually I 1366 | need to get going. It's 1367 | 1368 | 274 1369 | 00:14:36.360 --> 00:14:37.980 1370 | going to start pretty soon. 1371 | We're also going to talk 1372 | 1373 | 275 1374 | 00:14:37.980 --> 00:14:40.500 1375 | about kind of the essentials 1376 | that one requires for an 1377 | 1378 | 276 1379 | 00:14:40.500 --> 00:14:45.990 1380 | architecture review. You're doing things 1381 | like viability assessments and all 1382 | 1383 | 277 1384 | 00:14:45.990 --> 00:14:50.880 1385 | the different ilities that one 1386 | requires. So like functionalities and, 1387 | 1388 | 278 1389 | 00:14:51.320 --> 00:14:56.450 1390 | and reliability eligibility. There's an 1391 | ISO standard is ISO 91, 1392 | 1393 | 279 1394 | 00:14:56.450 --> 00:15:01.220 1395 | 26 that talks about designing 1396 | an architecture and functionality, reliability, 1397 | 1398 | 280 1399 | 00:15:01.250 --> 00:15:09.590 1400 | usability efficiency, led maintainability 1401 | and portability, all different things 1402 | 1403 | 281 1404 | 00:15:09.590 --> 00:15:12.530 1405 | that a good architecture should 1406 | potentially meet. Did we talk 1407 | 1408 | 282 1409 | 00:15:12.530 --> 00:15:14.210 1410 | about all the different things 1411 | that want you to keep 1412 | 1413 | 283 1414 | 00:15:14.210 --> 00:15:17.030 1415 | track of? Sometimes it becomes 1416 | a little dry because it's 1417 | 1418 | 284 1419 | 00:15:17.030 --> 00:15:19.460 1420 | an ISO standard. It's really 1421 | just a glorified checklist with 1422 | 1423 | 285 1424 | 00:15:19.460 --> 00:15:22.550 1425 | a document behind it. Right. 1426 | But actually in the talk 1427 | 1428 | 286 1429 | 00:15:22.580 --> 00:15:25.280 1430 | that I'll be doing in 1431 | about 10 minutes here, we 1432 | 1433 | 287 1434 | 00:15:25.280 --> 00:15:27.350 1435 | talk about all these different 1436 | entities and then I apply 1437 | 1438 | 288 1439 | 00:15:27.350 --> 00:15:31.160 1440 | them to the iPod to 1441 | see is the iPod an 1442 | 1443 | 289 1444 | 00:15:31.160 --> 00:15:35.120 1445 | example of good architectural quality? 1446 | Is it functional? Is it 1447 | 1448 | 290 1449 | 00:15:35.120 --> 00:15:38.240 1450 | reliable? Is it mature? Is 1451 | it usable? Is it usable? 1452 | 1453 | 291 1454 | 00:15:38.390 --> 00:15:42.320 1455 | Is it maintainable? And what's 1456 | the verdict? Well, it's actually 1457 | 1458 | 292 1459 | 00:15:42.320 --> 00:15:45.830 1460 | pretty darn good. It's a 1461 | pretty awesome product. Certainly hits 1462 | 1463 | 293 1464 | 00:15:45.830 --> 00:15:48.860 1465 | on like what version five 1466 | now sort of certainly, if 1467 | 1468 | 294 1469 | 00:15:48.860 --> 00:15:51.200 1470 | any of the action, if 1471 | only I had a version 1472 | 1473 | 295 1474 | 00:15:51.200 --> 00:15:53.150 1475 | five iPod, maybe one of 1476 | the listeners would like to 1477 | 1478 | 296 1479 | 00:15:53.150 --> 00:15:54.860 1480 | take pity on me and 1481 | send me an iPod to 1482 | 1483 | 297 1484 | 00:15:54.860 --> 00:15:58.730 1485 | replace my, my sad, my 1486 | next generation iPod, or what 1487 | 1488 | 298 1489 | 00:15:58.730 --> 00:16:02.420 1490 | is it? Generation three. This 1491 | is the ancient iPod. From 1492 | 1493 | 299 1494 | 00:16:02.420 --> 00:16:05.360 1495 | two years ago, it died 1496 | on the plane. It started 1497 | 1498 | 300 1499 | 00:16:05.360 --> 00:16:08.690 1500 | screaming. I don't know what 1501 | happened. The little hard drive 1502 | 1503 | 301 1504 | 00:16:08.690 --> 00:16:12.350 1505 | inside just started screaming. And 1506 | now I have these sad 1507 | 1508 | 302 1509 | 00:16:12.380 --> 00:16:17.120 1510 | iMac as touched at iPod 1511 | face. Jeff , who is 1512 | 1513 | 303 1514 | 00:16:17.120 --> 00:16:19.730 1515 | the engineer for dotnet rocks. 1516 | And he's on Mondays too. 1517 | 1518 | 304 1519 | 00:16:20.240 --> 00:16:23.840 1520 | He told a story on 1521 | Mondays about his, I think 1522 | 1523 | 305 1524 | 00:16:23.840 --> 00:16:26.540 1525 | it was a creative Zen. 1526 | Yeah. You know, those things. 1527 | 1528 | 306 1529 | 00:16:26.540 --> 00:16:28.850 1530 | Yeah. That's the competitor wasn't 1531 | even a creative Zan. It 1532 | 1533 | 307 1534 | 00:16:28.850 --> 00:16:31.490 1535 | was before that it was 1536 | some, some of the things 1537 | 1538 | 308 1539 | 00:16:31.490 --> 00:16:34.850 1540 | that are Rio Rio. That 1541 | was it. The real carbon. 1542 | 1543 | 309 1544 | 00:16:34.850 --> 00:16:36.680 1545 | That was the thing. Yeah. 1546 | So he had a real 1547 | 1548 | 310 1549 | 00:16:36.680 --> 00:16:39.920 1550 | karma and it started doing 1551 | this click, click, click, click, 1552 | 1553 | 311 1554 | 00:16:39.980 --> 00:16:44.720 1555 | click, click, click, click, click, 1556 | click, click stuff. He goes 1557 | 1558 | 312 1559 | 00:16:44.720 --> 00:16:47.270 1560 | on the web and he 1561 | finds out that the solution 1562 | 1563 | 313 1564 | 00:16:47.270 --> 00:16:51.500 1565 | to this is to hold 1566 | it in your left hand 1567 | 1568 | 314 1569 | 00:16:51.500 --> 00:16:54.470 1570 | and slam it a certain 1571 | way into the Palm of 1572 | 1573 | 315 1574 | 00:16:54.470 --> 00:16:57.140 1575 | your right hand or vice 1576 | versa. If you're left handed 1577 | 1578 | 316 1579 | 00:16:57.140 --> 00:17:00.530 1580 | right handed and do this 1581 | and repeatedly, and then it 1582 | 1583 | 317 1584 | 00:17:00.530 --> 00:17:02.690 1585 | will boot up because the 1586 | head was sticking and he 1587 | 1588 | 318 1589 | 00:17:02.690 --> 00:17:04.390 1590 | fixed it and he fixed 1591 | it. He like booted it 1592 | 1593 | 319 1594 | 00:17:04.390 --> 00:17:07.850 1595 | up and see. So he 1596 | followed the recommended procedures for 1597 | 1598 | 320 1599 | 00:17:07.850 --> 00:17:10.250 1600 | fixing this. Exactly. That would 1601 | be under the bullet re 1602 | 1603 | 321 1604 | 00:17:10.280 --> 00:17:16.880 1605 | reliability sub bullet recoverability, recoverability, 1606 | architected for recoverability smack it 1607 | 1608 | 322 1609 | 00:17:16.880 --> 00:17:19.310 1610 | hard enough. And it will 1611 | eventually come back. That's right. 1612 | 1613 | 323 1614 | 00:17:20.480 --> 00:17:22.910 1615 | All right, Scott. Good luck 1616 | with your talk and I 1617 | 1618 | 324 1619 | 00:17:22.910 --> 00:17:25.240 1620 | appreciate it. We'll see you 1621 | next week on Hanselman. Sorry. 1622 | 1623 | 325 1624 | 00:17:25.280 --> 00:17:26.060 1625 | Bye. Bye. Bye. 1626 | 1627 | -------------------------------------------------------------------------------- /hm0297.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT FILE 2 | 3 | 1 4 | 00:00:12.150 --> 00:00:17.280 5 | From hanselminutes.com. It's Hanselman. It's 6 | our weekly discussion with web 7 | 8 | 2 9 | 00:00:17.280 --> 00:00:22.050 10 | developer and technologist Scott Hanselman. 11 | This is Lawrence Ryan announcing show 12 | 13 | 3 14 | 00:00:22.050 --> 00:00:28.230 15 | number two 97. Recorded live 16 | Thursday, December 15th, 2011. Support for Hansel 17 | 18 | 4 19 | 00:00:28.230 --> 00:00:31.890 20 | minutes is provided by Telerik 21 | rad controls, the most comprehensive 22 | 23 | 5 24 | 00:00:31.890 --> 00:00:35.490 25 | suite of components for windows 26 | forms and asp.net web applications 27 | 28 | 6 29 | 00:00:36.060 --> 00:00:43.320 30 | online@wwwdottelerik.com. In this episode of 31 | the framework series has got 32 | 33 | 7 34 | 00:00:43.320 --> 00:00:47.220 35 | talks with Apple stylist, Becky 36 | Aras from Navix breaths about 37 | 38 | 8 39 | 00:00:47.280 --> 00:00:52.580 40 | the expand framework. Hi, this 41 | is Scott Hanselman. This is 42 | 43 | 9 44 | 00:00:52.580 --> 00:00:58.250 45 | another episode of Hansel minutes 46 | today. He's going to be 47 | 48 | 10 49 | 00:00:58.250 --> 00:01:01.520 50 | talking to me about the 51 | expand framework. It's an open 52 | 53 | 11 54 | 00:01:01.520 --> 00:01:04.130 55 | source project and it will 56 | be part of the ongoing 57 | 58 | 12 59 | 00:01:04.250 --> 00:01:20.720 60 | framework series. Yeah. Hi, how's 61 | it going? Hi, you created 62 | 63 | 13 64 | 00:01:20.720 --> 00:01:23.570 65 | this kind of on your 66 | own before you worked for 67 | 68 | 14 69 | 00:01:23.570 --> 00:01:29.150 70 | dev express, is that correct? 71 | Yeah, it was at the 72 | 73 | 15 74 | 00:01:29.150 --> 00:01:37.280 75 | beginning and it went well, 76 | although I wasn't much of 77 | 78 | 16 79 | 00:01:37.280 --> 00:01:43.820 80 | a fan of open source 81 | projects at the beginning, I 82 | 83 | 17 84 | 00:01:43.820 --> 00:01:56.660 85 | was, I believe that the 86 | power that we gave such 87 | 88 | 18 89 | 00:01:56.660 --> 00:02:04.430 90 | projects that why were you 91 | not a fan? And what 92 | 93 | 19 94 | 00:02:04.430 --> 00:02:07.300 95 | was it that took you 96 | to change your mind and 97 | 98 | 20 99 | 00:02:07.310 --> 00:02:12.530 100 | realize that the framework was 101 | better off opensource? I believe 102 | 103 | 21 104 | 00:02:12.530 --> 00:02:27.490 105 | that they think that shouting 106 | their efforts for free, however, 107 | 108 | 22 109 | 00:02:27.610 --> 00:02:36.260 110 | is not the case because 111 | most of us freelance developers 112 | 113 | 23 114 | 00:02:37.010 --> 00:02:46.070 115 | always are changing, changing, changing, 116 | changing the way get paid, 117 | 118 | 24 119 | 00:02:47.810 --> 00:02:58.370 120 | even if they work, eh, 121 | eh, eh, eh, they get 122 | 123 | 25 124 | 00:02:58.370 --> 00:03:03.970 125 | this from the pastor and 126 | the dishes, nothing. If they 127 | 128 | 26 129 | 00:03:03.970 --> 00:03:10.510 130 | tried to publicize their work 131 | automatically dish published, it gives 132 | 133 | 27 134 | 00:03:10.510 --> 00:03:18.310 135 | them the value they want 136 | for data, eh, war. And 137 | 138 | 28 139 | 00:03:18.700 --> 00:03:24.850 140 | at least from my experience, 141 | there will be a raise 142 | 143 | 29 144 | 00:03:24.850 --> 00:03:28.740 145 | in a salary. Why were 146 | you initially not a fan 147 | 148 | 30 149 | 00:03:28.740 --> 00:03:31.170 150 | of open source? And when 151 | you created this framework, did 152 | 153 | 31 154 | 00:03:31.170 --> 00:03:34.050 155 | you do it a closed 156 | source and then change your 157 | 158 | 32 159 | 00:03:34.050 --> 00:03:39.270 160 | mind and then open it 161 | up? No, initially I wasn't 162 | 163 | 33 164 | 00:03:39.270 --> 00:03:42.900 165 | afraid. I was afraid that 166 | I would spend too much 167 | 168 | 34 169 | 00:03:42.990 --> 00:03:48.370 170 | of my time and I 171 | wouldn't see that awards. I 172 | 173 | 35 174 | 00:03:48.370 --> 00:03:53.580 175 | couldn't see them at the 176 | time, but after I started 177 | 178 | 36 179 | 00:03:53.880 --> 00:03:58.530 180 | initially I started with a 181 | blog and I was a 182 | 183 | 37 184 | 00:03:58.530 --> 00:04:05.040 185 | freelance lag, like most of 186 | her development shelf that, so 187 | 188 | 38 189 | 00:04:05.700 --> 00:04:09.600 190 | I was changing projects and 191 | the friend told me, Hey, 192 | 193 | 39 194 | 00:04:10.200 --> 00:04:14.520 195 | why don't you try blogging 196 | and expose your ideas to 197 | 198 | 40 199 | 00:04:14.520 --> 00:04:19.980 200 | the party that draw attention 201 | to your ideas. And this 202 | 203 | 41 204 | 00:04:19.980 --> 00:04:24.000 205 | is what I did. And 206 | I was amazed how fast 207 | 208 | 42 209 | 00:04:24.210 --> 00:04:30.690 210 | this blow became popular. And 211 | eh, I was also amazed 212 | 213 | 43 214 | 00:04:30.870 --> 00:04:37.030 215 | about the strong bond that 216 | I Greg with my, eh, 217 | 218 | 44 219 | 00:04:38.330 --> 00:04:47.670 220 | eh, eh, eh, eh, I 221 | decided to that the decide 222 | 223 | 45 224 | 00:04:48.390 --> 00:04:56.610 225 | framework and eventually built this 226 | framework with better support. This 227 | 228 | 46 229 | 00:04:56.610 --> 00:05:01.170 230 | is how we started. I 231 | said, I found if you 232 | 233 | 47 234 | 00:05:01.920 --> 00:05:07.920 235 | like mine, like mine, guys, 236 | everything seemed to follow to 237 | 238 | 48 239 | 00:05:07.920 --> 00:05:14.250 240 | a place that had the 241 | next shape, the best 10 242 | 243 | 49 244 | 00:05:14.250 --> 00:05:20.220 245 | blogs or something after that. 246 | And I helped them and 247 | 248 | 50 249 | 00:05:20.220 --> 00:05:26.010 250 | we have a very healthy 251 | collaboration right now. One of 252 | 253 | 51 254 | 00:05:26.010 --> 00:05:28.140 255 | the things that I think 256 | is interesting about this particular 257 | 258 | 52 259 | 00:05:28.140 --> 00:05:31.470 260 | framework, and in fact, we're 261 | going to talk to the 262 | 263 | 53 264 | 00:05:31.470 --> 00:05:34.140 265 | Tellerik guys next week about 266 | a framework that they did 267 | 268 | 54 269 | 00:05:34.140 --> 00:05:37.830 270 | is that expand framework is 271 | built on the dev express 272 | 273 | 55 274 | 00:05:39.090 --> 00:05:41.580 275 | X a F framework. So 276 | this is an open source 277 | 278 | 56 279 | 00:05:41.580 --> 00:05:45.780 280 | framework that's built on top 281 | of another framework. Does the 282 | 283 | 57 284 | 00:05:45.900 --> 00:05:48.450 285 | dev express framework cost money? 286 | And then you have an 287 | 288 | 58 289 | 00:05:48.480 --> 00:05:51.210 290 | open source framework that's built 291 | on top of a framework 292 | 293 | 59 294 | 00:05:51.210 --> 00:05:55.580 295 | that costs money. Is that 296 | how that works? Exactly. Yes. 297 | 298 | 60 299 | 00:05:55.590 --> 00:06:01.580 300 | Dev expresses a convention as 301 | everybody knows, but expound framework 302 | 303 | 61 304 | 00:06:01.730 --> 00:06:05.840 305 | is open source and the 306 | tree and the problem that 307 | 308 | 62 309 | 00:06:06.140 --> 00:06:10.310 310 | most of people have with 311 | open shores is that it's 312 | 313 | 63 314 | 00:06:10.310 --> 00:06:15.770 315 | very obese. They cannot trust 316 | open shores because they say, 317 | 318 | 64 319 | 00:06:16.100 --> 00:06:19.210 320 | okay, this is a guy 321 | smart guy. And the builds 322 | 323 | 65 324 | 00:06:19.220 --> 00:06:23.750 325 | up. What if something happens 326 | to this guy? What, how 327 | 328 | 66 329 | 00:06:23.750 --> 00:06:29.240 330 | can we follow this guy? 331 | How she develops the point 332 | 333 | 67 334 | 00:06:29.240 --> 00:06:34.550 335 | with is that it's not 336 | my effort. We are, eh, 337 | 338 | 68 339 | 00:06:34.940 --> 00:06:40.850 340 | eh, we've built a framework 341 | framework. That means that 342 | 343 | 69 344 | 00:06:41.450 --> 00:06:46.460 345 | we have a documentation and 346 | well documented, eh, eh, dev 347 | 348 | 70 349 | 00:06:46.460 --> 00:06:51.380 350 | express framework. We all read 351 | this documentation. And from the 352 | 353 | 71 354 | 00:06:51.380 --> 00:06:56.990 355 | entry points that the XAF 356 | is called the dev express 357 | 358 | 72 359 | 00:06:56.990 --> 00:07:02.090 360 | framework that we are based 361 | upon from the victimization. It's 362 | 363 | 73 364 | 00:07:02.210 --> 00:07:07.460 365 | very easy to put, extends 366 | the framework. And if we 367 | 368 | 74 369 | 00:07:07.460 --> 00:07:12.500 370 | have problems or bugs or 371 | onshore onshore stuff, we cannot 372 | 373 | 75 374 | 00:07:12.760 --> 00:07:17.840 375 | rely to dev express support 376 | center, which is the best 377 | 378 | 76 379 | 00:07:18.110 --> 00:07:21.860 380 | Shabbat there in the market 381 | right now. So he's used 382 | 383 | 77 384 | 00:07:21.860 --> 00:07:26.570 385 | to rely on experience instead 386 | if I compare it with 387 | 388 | 78 389 | 00:07:26.570 --> 00:07:33.550 390 | the other framework, here's my 391 | point. Okay. And how do 392 | 393 | 79 394 | 00:07:33.550 --> 00:07:38.560 395 | you control what you think 396 | belongs in your framework versus 397 | 398 | 80 399 | 00:07:38.560 --> 00:07:40.660 400 | what should be in the 401 | commercial part of the framework? 402 | 403 | 81 404 | 00:07:40.660 --> 00:07:43.750 405 | Because what's interesting about this 406 | is that you started the 407 | 408 | 82 409 | 00:07:43.750 --> 00:07:45.940 410 | project it's led by you 411 | and there's other people in 412 | 413 | 83 414 | 00:07:45.940 --> 00:07:48.250 415 | the community that work on 416 | it with you. You did 417 | 418 | 84 419 | 00:07:48.250 --> 00:07:53.920 420 | this community, you did this 421 | project yourself without dev express. 422 | 423 | 85 424 | 00:07:53.950 --> 00:07:56.500 425 | Then you ended up going 426 | to work for dev express 427 | 428 | 86 429 | 00:07:57.910 --> 00:08:02.350 430 | as an evangelist. How do 431 | you decide and keep separate 432 | 433 | 87 434 | 00:08:02.350 --> 00:08:04.750 435 | what goes in your open 436 | source version of this and 437 | 438 | 88 439 | 00:08:04.750 --> 00:08:09.700 440 | what goes in the product? 441 | Yes, sure. This shit, the 442 | 443 | 89 444 | 00:08:09.700 --> 00:08:14.710 445 | thing is that dev express 446 | is a mentor for development. 447 | 448 | 90 449 | 00:08:15.610 --> 00:08:19.480 450 | On the other side, we 451 | are developers that we are 452 | 453 | 91 454 | 00:08:19.540 --> 00:08:26.350 455 | building software for our facelifts. 456 | Now XAF is the base 457 | 458 | 92 459 | 00:08:26.350 --> 00:08:32.890 460 | framework, expand our framework, extend 461 | this. Now we build software 462 | 463 | 93 464 | 00:08:32.920 --> 00:08:36.730 465 | for the business. So we 466 | let's say we have a, 467 | 468 | 94 469 | 00:08:38.030 --> 00:08:44.800 470 | a business that targets doctors. 471 | So we built this set 472 | 473 | 95 474 | 00:08:44.800 --> 00:08:48.850 475 | of features for doctors. It's 476 | very easy to go to 477 | 478 | 96 479 | 00:08:48.850 --> 00:08:54.430 480 | the modularized architecture of the 481 | framework to shop, meet that. 482 | 483 | 97 484 | 00:08:54.430 --> 00:09:00.570 485 | And for the making our 486 | work more testable from other 487 | 488 | 98 489 | 00:09:00.570 --> 00:09:06.090 490 | users. And at the end, 491 | we do not share the 492 | 493 | 99 494 | 00:09:06.090 --> 00:09:09.540 495 | shale market. For example, I 496 | live in Greece, I sell 497 | 498 | 100 499 | 00:09:09.540 --> 00:09:12.960 500 | myself, but here I could 501 | for a job or build 502 | 503 | 101 504 | 00:09:13.350 --> 00:09:20.100 505 | a module, test it. 506 | Usually make it my truth 507 | 508 | 102 509 | 00:09:20.130 --> 00:09:26.460 510 | for me, my customers want 511 | a complain about anything because 512 | 513 | 103 514 | 00:09:27.060 --> 00:09:30.420 515 | the work is going to 516 | be distributing through the show. 517 | 518 | 104 519 | 00:09:30.420 --> 00:09:34.950 520 | It's more about expands. It's 521 | more about the business use 522 | 523 | 105 524 | 00:09:35.160 --> 00:09:39.450 525 | and not about development, like 526 | they've expressed support. So there 527 | 528 | 106 529 | 00:09:39.450 --> 00:09:43.620 530 | is no, it's rare to 531 | have a phone with that 532 | 533 | 107 534 | 00:09:43.620 --> 00:09:48.540 535 | express. And even if in 536 | the situation we have a 537 | 538 | 108 539 | 00:09:48.540 --> 00:09:55.590 540 | phone fleet and a shade 541 | that we rely to dev 542 | 543 | 109 544 | 00:09:55.590 --> 00:10:03.660 545 | express very hours, which 546 | is how it works. I 547 | 548 | 110 549 | 00:10:03.660 --> 00:10:06.350 550 | felt that make sense. Yeah, 551 | I think so. How many 552 | 553 | 111 554 | 00:10:06.350 --> 00:10:09.050 555 | times have you made something 556 | in the open source project 557 | 558 | 112 559 | 00:10:09.680 --> 00:10:12.770 560 | and then had the business 561 | approached you and said, this 562 | 563 | 113 564 | 00:10:12.770 --> 00:10:15.320 565 | is really useful. I want 566 | to make this part of 567 | 568 | 114 569 | 00:10:15.320 --> 00:10:17.390 570 | the, the core framework and 571 | how do you, how do 572 | 573 | 115 574 | 00:10:17.390 --> 00:10:19.400 575 | you manage that? And the 576 | reason I ask is that 577 | 578 | 116 579 | 00:10:20.270 --> 00:10:23.600 580 | this happens a lot at 581 | Microsoft where someone will be 582 | 583 | 117 584 | 00:10:23.600 --> 00:10:27.740 585 | working on a project that 586 | is their main project there, 587 | 588 | 118 589 | 00:10:27.860 --> 00:10:31.550 590 | it's their day job. And 591 | then they'll have a thing 592 | 593 | 119 594 | 00:10:31.550 --> 00:10:34.190 595 | that they're doing on the 596 | side. There's lots and lots 597 | 598 | 120 599 | 00:10:34.190 --> 00:10:36.950 600 | of examples of Microsoft employees 601 | that do one thing in 602 | 603 | 121 604 | 00:10:36.950 --> 00:10:39.050 605 | the daytime and then do 606 | an open source project at 607 | 608 | 122 609 | 00:10:39.050 --> 00:10:42.200 610 | night. And then every once 611 | in a while their boss 612 | 613 | 123 614 | 00:10:42.200 --> 00:10:45.260 615 | or someone will hear about 616 | this project they're doing at 617 | 618 | 124 619 | 00:10:45.260 --> 00:10:47.300 620 | night and say, wow, we 621 | need to, we need to 622 | 623 | 125 624 | 00:10:47.300 --> 00:10:50.510 625 | use this. If you look 626 | at like signal are from 627 | 628 | 126 629 | 00:10:50.510 --> 00:10:54.920 630 | Damien Edwards and David Fowler or 631 | knockout from Steven Sanderson or 632 | 633 | 127 634 | 00:10:54.920 --> 00:10:57.200 635 | the wicks framework, I mean, 636 | the list goes on and 637 | 638 | 128 639 | 00:10:57.200 --> 00:11:01.250 640 | on. How do you manage 641 | deciding how you want to 642 | 643 | 129 644 | 00:11:01.250 --> 00:11:04.970 645 | move things over and keeping 646 | your job and your open 647 | 648 | 130 649 | 00:11:04.970 --> 00:11:13.310 650 | source. And this is more 651 | about having, it's not my 652 | 653 | 131 654 | 00:11:13.310 --> 00:11:18.800 655 | decision to manage things. So 656 | if Shabbat has a full 657 | 658 | 132 659 | 00:11:18.800 --> 00:11:22.340 660 | module, that's a task for 661 | a job or some kinds 662 | 663 | 133 664 | 00:11:22.340 --> 00:11:28.490 665 | of action, she can easily 666 | contribute to the framework. So 667 | 668 | 134 669 | 00:11:29.090 --> 00:11:32.540 670 | the feedback from the community 671 | is going through the project 672 | 673 | 135 674 | 00:11:32.930 --> 00:11:37.460 675 | and she's more junior and 676 | eventually dev express that is 677 | 678 | 136 679 | 00:11:37.640 --> 00:11:42.350 680 | only all the community takes 681 | the decision and say, yes, 682 | 683 | 137 684 | 00:11:42.380 --> 00:11:46.250 685 | we want to build this 686 | module in our brain and 687 | 688 | 138 689 | 00:11:46.250 --> 00:11:52.190 690 | high quality way of building 691 | staffs, which is how it 692 | 693 | 139 694 | 00:11:52.190 --> 00:11:56.290 695 | works for us. And have 696 | you had them take modules? 697 | 698 | 140 699 | 00:11:56.320 --> 00:11:58.870 700 | Have you had them take 701 | source from your open source 702 | 703 | 141 704 | 00:11:58.870 --> 00:12:01.630 705 | framework and move it into 706 | commercial or have you had 707 | 708 | 142 709 | 00:12:01.630 --> 00:12:05.380 710 | them change it? Because sometimes 711 | I've seen companies take an 712 | 713 | 143 714 | 00:12:05.380 --> 00:12:10.030 715 | open source, beat piece of 716 | code and then rewrite it 717 | 718 | 144 719 | 00:12:10.030 --> 00:12:12.700 720 | entirely from scratch. They liked 721 | the functionality, but they ended 722 | 723 | 145 724 | 00:12:12.700 --> 00:12:16.270 725 | up rewriting it. And, and 726 | then other times I've seen 727 | 728 | 146 729 | 00:12:16.270 --> 00:12:20.290 730 | people actually just reference the 731 | open source library and support 732 | 733 | 147 734 | 00:12:20.290 --> 00:12:24.160 735 | it. You've heard people tease 736 | Microsoft about the term embrace 737 | 738 | 148 739 | 00:12:24.160 --> 00:12:29.740 740 | and extend. I think that 741 | people prefer commercial companies to 742 | 743 | 149 744 | 00:12:29.740 --> 00:12:33.640 745 | support open source and depend 746 | on it. I wonder sometimes 747 | 748 | 150 749 | 00:12:33.670 --> 00:12:38.020 750 | do you find a interdependency? 751 | Do you find that your, 752 | 753 | 151 754 | 00:12:38.130 --> 00:12:40.750 755 | your, your frameworks depend on 756 | each other or is it 757 | 758 | 152 759 | 00:12:40.750 --> 00:12:43.480 760 | always a matter where expand 761 | framework sits on top of 762 | 763 | 153 764 | 00:12:43.480 --> 00:12:48.390 765 | the commercial framework? Yeah. It's 766 | a matter of thinking Shamblin 767 | 768 | 154 769 | 00:12:48.390 --> 00:12:54.780 770 | time, state defense, sometimes they 771 | know, but almost all the 772 | 773 | 155 774 | 00:12:54.780 --> 00:12:59.160 775 | times, if the vendor in 776 | this case of express decides 777 | 778 | 156 779 | 00:12:59.160 --> 00:13:03.780 780 | to reimplement the feature it's 781 | going to do exactly that 782 | 783 | 157 784 | 00:13:03.840 --> 00:13:07.530 785 | it's going to reimplement the 786 | feature because it has the 787 | 788 | 158 789 | 00:13:07.530 --> 00:13:14.130 790 | vendor cost the process of 791 | testing or ensuring quality show. 792 | 793 | 159 794 | 00:13:14.190 --> 00:13:19.080 795 | Most of the times it's 796 | fresh going to demand writer, 797 | 798 | 160 799 | 00:13:19.090 --> 00:13:27.300 800 | documentation, and expand sheriffs just 801 | as a community. And it 802 | 803 | 161 804 | 00:13:27.300 --> 00:13:32.280 805 | also is a way for 806 | a developer to convince they've 807 | 808 | 162 809 | 00:13:32.280 --> 00:13:36.030 810 | expressed that a huge war 811 | is booby enough to be 812 | 813 | 163 814 | 00:13:37.080 --> 00:13:40.770 815 | the core framework. And as 816 | of now, it's over the 817 | 818 | 164 819 | 00:13:40.770 --> 00:13:44.550 820 | books, a feature. For example, 821 | before I joined dev express, 822 | 823 | 165 824 | 00:13:44.580 --> 00:13:48.990 825 | there were many, many times 826 | that I had the school 827 | 828 | 166 829 | 00:13:49.000 --> 00:13:52.680 830 | functionality and the wandering as 831 | the go back their expression, 832 | 833 | 167 834 | 00:13:52.680 --> 00:13:56.460 835 | say, come on, guys, put 836 | that do sheet. It's a 837 | 838 | 168 839 | 00:13:56.520 --> 00:14:00.780 840 | very good selection and idea, 841 | but as you can understand 842 | 843 | 169 844 | 00:14:01.290 --> 00:14:06.030 845 | any of that though, not 846 | the Devic stress reject, because 847 | 848 | 170 849 | 00:14:06.180 --> 00:14:11.820 850 | that has the quality, they 851 | are a thing, shopper license, 852 | 853 | 171 854 | 00:14:12.150 --> 00:14:16.650 855 | but now if you cost 856 | it in expand and gain 857 | 858 | 172 859 | 00:14:16.650 --> 00:14:22.740 860 | publicity and the customer base 861 | likes the module, then it's 862 | 863 | 173 864 | 00:14:24.330 --> 00:14:28.500 865 | no way for the events 866 | or dev express, they have 867 | 868 | 174 869 | 00:14:28.500 --> 00:14:31.290 870 | to implement it and they 871 | have to document and they 872 | 873 | 175 874 | 00:14:31.290 --> 00:14:34.350 875 | have to be an out 876 | of the box fit you. 877 | 878 | 176 879 | 00:14:35.160 --> 00:14:37.710 880 | Yeah. I think that the 881 | key there of course, is 882 | 883 | 177 884 | 00:14:37.710 --> 00:14:42.870 885 | that the commercial company has 886 | to accept, take backs. And 887 | 888 | 178 889 | 00:14:42.870 --> 00:14:46.200 890 | that's the thing that I 891 | think Microsoft is struggling with. 892 | 893 | 179 894 | 00:14:46.200 --> 00:14:48.810 895 | And I hope that we'll, 896 | we'll fix that. There's a 897 | 898 | 180 899 | 00:14:48.810 --> 00:14:52.220 900 | lot of examples of open 901 | source where people have built 902 | 903 | 181 904 | 00:14:52.220 --> 00:14:55.250 905 | on top of our things, 906 | just exactly as you described. 907 | 908 | 182 909 | 00:14:55.490 --> 00:14:59.660 910 | I think like MVC contrib 911 | is a great example where 912 | 913 | 183 914 | 00:14:59.750 --> 00:15:04.190 915 | the community has said, if 916 | Microsoft doesn't do something the 917 | 918 | 184 919 | 00:15:04.190 --> 00:15:07.670 920 | way that the community wants, 921 | then we'll create a contrib 922 | 923 | 185 924 | 00:15:07.730 --> 00:15:11.060 925 | project for that. That will 926 | move faster than the core 927 | 928 | 186 929 | 00:15:11.060 --> 00:15:13.340 930 | project. That's the other thing 931 | that open source projects can 932 | 933 | 187 934 | 00:15:14.030 --> 00:15:16.550 935 | kind of live on the 936 | bleeding edge. So you've got 937 | 938 | 188 939 | 00:15:16.550 --> 00:15:19.820 940 | meth contrib and MVC contrib. 941 | It's a good way for 942 | 943 | 189 944 | 00:15:19.850 --> 00:15:23.270 945 | community members to get recognized 946 | and get their products use, 947 | 948 | 190 949 | 00:15:23.720 --> 00:15:28.550 950 | but it only really ultimately 951 | works if you can start 952 | 953 | 191 954 | 00:15:28.550 --> 00:15:33.080 955 | pulling in those ideas and 956 | that code and take, take 957 | 958 | 192 959 | 00:15:33.080 --> 00:15:35.870 960 | backs into the end of 961 | the project. And that's where 962 | 963 | 193 964 | 00:15:35.870 --> 00:15:39.440 965 | the thing about Microsoft, that 966 | myself and others are trying 967 | 968 | 194 969 | 00:15:39.440 --> 00:15:43.460 970 | to change to make open 971 | source, really open source and 972 | 973 | 195 974 | 00:15:43.460 --> 00:15:48.950 975 | not just source opened. How, 976 | how open has dev express 977 | 978 | 196 979 | 00:15:48.950 --> 00:15:54.250 980 | been to actually accepting open 981 | source into their project? And 982 | 983 | 197 984 | 00:15:54.850 --> 00:15:58.420 985 | they are not so open 986 | right now, but as everybody 987 | 988 | 198 989 | 00:15:59.770 --> 00:16:05.400 990 | they are learning and that's 991 | a good faith, eh, our 992 | 993 | 199 994 | 00:16:05.410 --> 00:16:09.780 995 | latest release, I'm talking about 996 | that, but it's now expanded 997 | 998 | 200 999 | 00:16:10.450 --> 00:16:14.200 1000 | in the shame menu. I'm 1001 | talking about the , that 1002 | 1003 | 201 1004 | 00:16:14.200 --> 00:16:18.760 1005 | is a fault that I 1006 | love that expression, homeowners, that 1007 | 1008 | 202 1009 | 00:16:18.760 --> 00:16:25.300 1010 | shade, extensions, so that you 1011 | can find expand and whatever 1012 | 1013 | 203 1014 | 00:16:26.080 --> 00:16:29.260 1015 | framework is going to be 1016 | created in a future. So 1017 | 1018 | 204 1019 | 00:16:30.040 --> 00:16:34.780 1020 | I think that I've now 1021 | been expressed, embrace the moon 1022 | 1023 | 205 1024 | 00:16:34.790 --> 00:16:39.880 1025 | will be development. I definitely 1026 | think that dev express and 1027 | 1028 | 206 1029 | 00:16:39.880 --> 00:16:42.880 1030 | companies like them embrace the 1031 | community, but I think that 1032 | 1033 | 207 1034 | 00:16:42.910 --> 00:16:48.550 1035 | all companies, unless they are 1036 | self identified as an open 1037 | 1038 | 208 1039 | 00:16:48.550 --> 00:16:54.100 1040 | source company, the struggle with 1041 | the, that last mile, the 1042 | 1043 | 209 1044 | 00:16:54.100 --> 00:16:57.040 1045 | last mile is that moment 1046 | when you have to pull 1047 | 1048 | 210 1049 | 00:16:57.280 --> 00:17:01.000 1050 | community code into your product 1051 | and take that, take that 1052 | 1053 | 211 1054 | 00:17:01.000 --> 00:17:04.120 1055 | risk or deal with the 1056 | ramifications of, wow, we really 1057 | 1058 | 212 1059 | 00:17:04.120 --> 00:17:06.730 1060 | are going to be an 1061 | open source company. Now we're 1062 | 1063 | 213 1064 | 00:17:06.730 --> 00:17:11.050 1065 | taking commits and we're taking 1066 | pull requests. Some companies just 1067 | 1068 | 214 1069 | 00:17:11.050 --> 00:17:12.370 1070 | do it and they don't, 1071 | they don't worry about it, 1072 | 1073 | 215 1074 | 00:17:12.370 --> 00:17:16.060 1075 | but the commercial companies seem 1076 | to really stress out about 1077 | 1078 | 216 1079 | 00:17:16.060 --> 00:17:19.540 1080 | that stuff. It's good that 1081 | you're going to keep pushing 1082 | 1083 | 217 1084 | 00:17:21.100 --> 00:17:25.300 1085 | people to, to accept open 1086 | source in a more full 1087 | 1088 | 218 1089 | 00:17:25.300 --> 00:17:28.040 1090 | way. And you have to 1091 | kind of close that, that, 1092 | 1093 | 219 1094 | 00:17:28.040 --> 00:17:31.690 1095 | that cycle. Do you think 1096 | that you'll get them to 1097 | 1098 | 220 1099 | 00:17:31.690 --> 00:17:37.090 1100 | change? Yeah. I believe that 1101 | if the open source project 1102 | 1103 | 221 1104 | 00:17:37.180 --> 00:17:42.130 1105 | is successful and has a 1106 | lower, a large user base, 1107 | 1108 | 222 1109 | 00:17:42.460 --> 00:17:51.750 1110 | then it's inevitable and that 1111 | the worth it. We'll 1112 | 1113 | 223 1114 | 00:17:51.750 --> 00:17:55.740 1115 | walk through the open shore 1116 | show. It will want to 1117 | 1118 | 224 1119 | 00:17:56.190 --> 00:18:00.000 1120 | build the same features or 1121 | even better. I think it 1122 | 1123 | 225 1124 | 00:18:00.240 --> 00:18:05.730 1125 | comes from how successful and 1126 | how well the people collaborate 1127 | 1128 | 226 1129 | 00:18:07.170 --> 00:18:10.100 1130 | in the project. Right, right. 1131 | Cause that's a very good 1132 | 1133 | 227 1134 | 00:18:10.100 --> 00:18:14.000 1135 | point as well. Building an 1136 | open source framework is there's, 1137 | 1138 | 228 1139 | 00:18:14.780 --> 00:18:19.820 1140 | there is the, the code 1141 | that you're working on and 1142 | 1143 | 229 1144 | 00:18:19.820 --> 00:18:21.800 1145 | how good that code is, 1146 | but there's also the health 1147 | 1148 | 230 1149 | 00:18:21.800 --> 00:18:24.410 1150 | of your community and the 1151 | health of your committers and 1152 | 1153 | 231 1154 | 00:18:24.740 --> 00:18:27.170 1155 | whether or not you get 1156 | along well as a group, 1157 | 1158 | 232 1159 | 00:18:27.620 --> 00:18:29.930 1160 | I can think of a 1161 | couple of projects. I won't 1162 | 1163 | 233 1164 | 00:18:29.930 --> 00:18:35.420 1165 | name names that are great 1166 | technology, but dysfunctional groups. And 1167 | 1168 | 234 1169 | 00:18:35.540 --> 00:18:39.100 1170 | if you can't get along 1171 | with your collaborators and, and, 1172 | 1173 | 235 1174 | 00:18:39.110 --> 00:18:41.360 1175 | and work as a well 1176 | oiled machine, then you're not 1177 | 1178 | 236 1179 | 00:18:41.360 --> 00:18:44.960 1180 | really have a framework. Yeah. 1181 | But believe that at the 1182 | 1183 | 237 1184 | 00:18:44.960 --> 00:18:51.380 1185 | end, before we start our 1186 | conversation, that we had people 1187 | 1188 | 238 1189 | 00:18:51.380 --> 00:18:57.050 1190 | work for themselves. So, eh, 1191 | for the beauty something she 1192 | 1193 | 239 1194 | 00:18:57.050 --> 00:18:59.840 1195 | had, it's not something that 1196 | I will take the Gregg. 1197 | 1198 | 240 1199 | 00:19:00.920 --> 00:19:03.860 1200 | If the work is good, 1201 | they will take that. For 1202 | 1203 | 241 1204 | 00:19:03.860 --> 00:19:11.480 1205 | example, we have a 1206 | that now belong to the 1207 | 1208 | 242 1209 | 00:19:11.630 --> 00:19:16.310 1210 | MVP program of the express 1211 | because of this contribute show 1212 | 1213 | 243 1214 | 00:19:16.820 --> 00:19:24.500 1215 | show, it's all about collaboration 1216 | and teamwork. So expand framework 1217 | 1218 | 244 1219 | 00:19:24.500 --> 00:19:27.140 1220 | has all of these modules, 1221 | and there's a long list 1222 | 1223 | 245 1224 | 00:19:27.140 --> 00:19:31.970 1225 | of modules@expandframework.com that sit on 1226 | top of the XAF framework. 1227 | 1228 | 246 1229 | 00:19:32.420 --> 00:19:36.590 1230 | But I'm trying to understand, 1231 | are these modules just a 1232 | 1233 | 247 1234 | 00:19:36.590 --> 00:19:39.530 1235 | list of modules or do 1236 | they all work together? Is 1237 | 1238 | 248 1239 | 00:19:39.530 --> 00:19:43.880 1240 | the framework a bunch of 1241 | disjointed components or does it 1242 | 1243 | 249 1244 | 00:19:43.880 --> 00:19:49.130 1245 | all fit in, in a, 1246 | in a cohesive way? I 1247 | 1248 | 250 1249 | 00:19:49.130 --> 00:19:52.460 1250 | will answer this first. Let 1251 | me tell you how it 1252 | 1253 | 251 1254 | 00:19:53.750 --> 00:19:58.610 1255 | works. What is Xas? Is 1256 | that an application framework to 1257 | 1258 | 252 1259 | 00:19:58.660 --> 00:20:03.380 1260 | express that in a highly 1261 | configurable line of business applications? 1262 | 1263 | 253 1264 | 00:20:03.710 --> 00:20:08.120 1265 | So it has these great 1266 | modularize artifacts to, so at 1267 | 1268 | 254 1269 | 00:20:08.120 --> 00:20:12.980 1270 | the very well documented shied 1271 | and the framework. So what 1272 | 1273 | 255 1274 | 00:20:12.980 --> 00:20:16.520 1275 | we have to do is 1276 | to follow by the book. 1277 | 1278 | 256 1279 | 00:20:16.760 --> 00:20:20.540 1280 | So we go through the 1281 | documentation, she how to create 1282 | 1283 | 257 1284 | 00:20:20.540 --> 00:20:26.480 1285 | the black gate module gate. 1286 | We have the documentation would 1287 | 1288 | 258 1289 | 00:20:26.480 --> 00:20:33.040 1290 | build the module to Xbox 1291 | framework. Other users tested this 1292 | 1293 | 259 1294 | 00:20:33.050 --> 00:20:38.420 1295 | only everything works in it 1296 | like a fashion show that 1297 | 1298 | 260 1299 | 00:20:38.420 --> 00:20:43.010 1300 | is known to have everything 1301 | installed. The bitch, give a 1302 | 1303 | 261 1304 | 00:20:43.010 --> 00:20:53.560 1305 | shit very easy to show 1306 | if a module is not 1307 | 1308 | 262 1309 | 00:20:53.560 --> 00:20:58.060 1310 | boot then within a week 1311 | or so, the community will 1312 | 1313 | 263 1314 | 00:20:58.060 --> 00:21:02.710 1315 | reject it by giving no 1316 | value and by reporting a 1317 | 1318 | 264 1319 | 00:21:02.710 --> 00:21:05.950 1320 | lot of facts. So it's 1321 | a very black Gabler system 1322 | 1323 | 265 1324 | 00:21:05.950 --> 00:21:11.700 1325 | that targets both platforms. This 1326 | is how it works. Okay. 1327 | 1328 | 266 1329 | 00:21:12.420 --> 00:21:15.150 1330 | And when you say, you 1331 | said highly configurable is the, 1332 | 1333 | 267 1334 | 00:21:15.150 --> 00:21:17.670 1335 | is the thing that the 1336 | framework provides that is the 1337 | 1338 | 268 1339 | 00:21:17.670 --> 00:21:21.300 1340 | most useful is that it 1341 | makes business applications more, more 1342 | 1343 | 269 1344 | 00:21:21.300 --> 00:21:26.680 1345 | configurable, more flexible. Yeah. It's 1346 | based around a, an ambition 1347 | 1348 | 270 1349 | 00:21:26.940 --> 00:21:34.560 1350 | then. And eh, eh, eh, 1351 | eh, I said architects are, 1352 | 1353 | 271 1354 | 00:21:34.560 --> 00:21:40.510 1355 | so everything is described over 1356 | examined so we can, eh, 1357 | 1358 | 272 1359 | 00:21:40.990 --> 00:21:46.230 1360 | eh, or change the behavior 1361 | of your application by just 1362 | 1363 | 273 1364 | 00:21:46.320 --> 00:21:51.030 1365 | breathing examined at medicine loop 1366 | into your model. It's a 1367 | 1368 | 274 1369 | 00:21:51.030 --> 00:21:57.750 1370 | very interesting architecture and it's 1371 | a very mature because actually 1372 | 1373 | 275 1374 | 00:21:58.380 --> 00:22:01.260 1375 | right now is five years 1376 | old. And the shop that 1377 | 1378 | 276 1379 | 00:22:03.420 --> 00:22:10.230 1380 | with the no box and 1381 | hazard shoot functionality, like people 1382 | 1383 | 277 1384 | 00:22:10.230 --> 00:22:19.910 1385 | think reporting workflow targeting almost 1386 | 16 different database systems show 1387 | 1388 | 278 1389 | 00:22:21.720 --> 00:22:25.890 1390 | more than the work we 1391 | do as developers at Chevy 1392 | 1393 | 279 1394 | 00:22:26.010 --> 00:22:31.080 1395 | every day, by abstracting away 1396 | the low level, a stop 1397 | 1398 | 280 1399 | 00:22:32.580 --> 00:22:38.070 1400 | gap. We ask our developers 1401 | to build applications fast and 1402 | 1403 | 281 1404 | 00:22:39.150 --> 00:22:44.800 1405 | grab some money out of 1406 | that. This is what 1407 | 1408 | 282 1409 | 00:22:44.970 --> 00:22:49.350 1410 | by just providing a domain 1411 | model. And when I'm talking 1412 | 1413 | 283 1414 | 00:22:49.350 --> 00:22:53.520 1415 | about domain more than about 1416 | adopts or the main model 1417 | 1418 | 284 1419 | 00:22:53.880 --> 00:22:59.730 1420 | by Jasper by shut off 1421 | interfaces, it is possible for 1422 | 1423 | 285 1424 | 00:22:59.820 --> 00:23:06.690 1425 | XJS to create scaffolds using 1426 | all the components of . 1427 | 1428 | 286 1429 | 00:23:07.730 --> 00:23:12.120 1430 | And we're talking about COVID 1431 | promoted and creates a face 1432 | 1433 | 287 1434 | 00:23:12.150 --> 00:23:15.150 1435 | for the group. And there 1436 | is a more than that. 1437 | 1438 | 288 1439 | 00:23:15.180 --> 00:23:23.700 1440 | You can, eh, this 1441 | is XAF in Knutsen. Now 1442 | 1443 | 289 1444 | 00:23:24.030 --> 00:23:29.820 1445 | what expands does, it's fun 1446 | apps, ideas and frameworks using 1447 | 1448 | 290 1449 | 00:23:29.820 --> 00:23:34.980 1450 | the technology provided by access 1451 | SAS, user interfaces out of 1452 | 1453 | 291 1454 | 00:23:34.980 --> 00:23:39.330 1455 | a model. So let's talk 1456 | about a module of expands. 1457 | 1458 | 292 1459 | 00:23:40.260 --> 00:23:44.820 1460 | A module of expanding is 1461 | the word creator as the 1462 | 1463 | 293 1464 | 00:23:44.820 --> 00:23:51.800 1465 | name. So what do we 1466 | have, do we have, we 1467 | 1468 | 294 1469 | 00:23:51.800 --> 00:23:59.270 1470 | did that. And we took 1471 | the structure of ownership 1472 | 1473 | 295 1474 | 00:24:00.980 --> 00:24:05.270 1475 | properties. And we take classes 1476 | out of that class is 1477 | 1478 | 296 1479 | 00:24:05.280 --> 00:24:09.970 1480 | not say I sent in 1481 | the class name. This is 1482 | 1483 | 297 1484 | 00:24:09.980 --> 00:24:14.270 1485 | a white picture in order 1486 | to provide the user interface 1487 | 1488 | 298 1489 | 00:24:14.270 --> 00:24:19.670 1490 | show. Now we have a 1491 | user interface that the end 1492 | 1493 | 299 1494 | 00:24:19.670 --> 00:24:23.510 1495 | user, the business user can 1496 | use it to create more 1497 | 1498 | 300 1499 | 00:24:23.510 --> 00:24:28.490 1500 | classes and properties and fast 1501 | changing that domain mode. Then 1502 | 1503 | 301 1504 | 00:24:30.200 --> 00:24:33.980 1505 | this is a beautiful tool, 1506 | and this is what ever 1507 | 1508 | 302 1509 | 00:24:33.980 --> 00:24:37.910 1510 | the developer groups, because we 1511 | usually go to the client. 1512 | 1513 | 303 1514 | 00:24:38.300 --> 00:24:41.330 1515 | This is a built in 1516 | application. And then what we 1517 | 1518 | 304 1519 | 00:24:41.330 --> 00:24:44.990 1520 | don't need to go back 1521 | and add a new member 1522 | 1523 | 305 1524 | 00:24:44.990 --> 00:24:48.260 1525 | to our class as visual 1526 | studio and walk back. We 1527 | 1528 | 306 1529 | 00:24:48.260 --> 00:24:53.420 1530 | should do this shit as 1531 | rather Radisson. So with the 1532 | 1533 | 307 1534 | 00:24:53.430 --> 00:24:58.370 1535 | expanded, we tried to bring 1536 | bridge the developers with the 1537 | 1538 | 308 1539 | 00:24:58.640 --> 00:25:04.570 1540 | business world. For example, let 1541 | me talk about another, eh, 1542 | 1543 | 309 1544 | 00:25:04.930 --> 00:25:11.570 1545 | eh, eh, I don't know 1546 | if you're familiar with quads 1547 | 1548 | 310 1549 | 00:25:11.750 --> 00:25:19.280 1550 | framework is a framework that 1551 | creates jobs has three girls 1552 | 1553 | 311 1554 | 00:25:19.280 --> 00:25:24.140 1555 | about jobs. He's a very 1556 | much API. Tom's from the 1557 | 1558 | 312 1559 | 00:25:24.140 --> 00:25:29.000 1560 | Java world. Now it's for 1561 | what is missing from that 1562 | 1563 | 313 1564 | 00:25:29.000 --> 00:25:33.800 1565 | API. For me, every API, 1566 | each mission, usually that face, 1567 | 1568 | 314 1569 | 00:25:35.180 --> 00:25:38.300 1570 | I have it usually the 1571 | face I teach my abuse 1572 | 1573 | 315 1574 | 00:25:38.300 --> 00:25:41.480 1575 | rates or brake jobs and 1576 | triggers for me. I will 1577 | 1578 | 316 1579 | 00:25:42.890 --> 00:25:47.150 1580 | push the war, the war 1581 | to my administrators or show 1582 | 1583 | 317 1584 | 00:25:47.360 --> 00:25:52.550 1585 | this is what actually moves 1586 | forward and work today. And 1587 | 1588 | 318 1589 | 00:25:52.550 --> 00:25:56.390 1590 | module that, test it up, 1591 | which classes are quads and 1592 | 1593 | 319 1594 | 00:25:56.390 --> 00:26:01.940 1595 | provide that face for that. 1596 | And now everything is flexible. 1597 | 1598 | 320 1599 | 00:26:02.870 --> 00:26:06.730 1600 | I hope you say my 1601 | phone, my phone. And as 1602 | 1603 | 321 1604 | 00:26:06.730 --> 00:26:08.590 1605 | I understand it, are you, 1606 | is it true that you're 1607 | 1608 | 322 1609 | 00:26:08.590 --> 00:26:13.920 1610 | able to create both, both 1611 | UIs in, in wind and 1612 | 1613 | 323 1614 | 00:26:13.920 --> 00:26:18.880 1615 | web forms and in windows 1616 | as well? Yeah, actually IAF 1617 | 1618 | 324 1619 | 00:26:18.880 --> 00:26:24.160 1620 | is a builder. The designer 1621 | is a targeting mobile platforms 1622 | 1623 | 325 1624 | 00:26:25.390 --> 00:26:29.440 1625 | and it's very interesting. After 1626 | the age you gets used 1627 | 1628 | 326 1629 | 00:26:29.440 --> 00:26:33.790 1630 | to it, I'm sure nobody 1631 | will evolve back to traditional 1632 | 1633 | 327 1634 | 00:26:34.660 --> 00:26:47.220 1635 | programming because it makes it 1636 | makes things and teaches you 1637 | 1638 | 328 1639 | 00:26:47.430 --> 00:26:54.470 1640 | how to build the framework 1641 | and expand the proof. Well, 1642 | 1643 | 329 1644 | 00:26:54.470 --> 00:26:56.420 1645 | I'm really glad that you 1646 | came on the show to 1647 | 1648 | 330 1649 | 00:26:56.420 --> 00:27:00.860 1650 | talk to us about this. 1651 | People can check this out@expandframework.com. 1652 | 1653 | 331 1654 | 00:27:00.890 --> 00:27:02.270 1655 | They can go up at 1656 | the top. There there's a 1657 | 1658 | 332 1659 | 00:27:02.270 --> 00:27:05.120 1660 | whole list of contributors and 1661 | people that work with you 1662 | 1663 | 333 1664 | 00:27:05.120 --> 00:27:08.780 1665 | from all sorts of other 1666 | different companies. So congratulations to 1667 | 1668 | 334 1669 | 00:27:08.780 --> 00:27:11.240 1670 | those guys for all the 1671 | hard work, they can go 1672 | 1673 | 335 1674 | 00:27:11.240 --> 00:27:14.330 1675 | up and download the latest 1676 | version of span as well 1677 | 1678 | 336 1679 | 00:27:14.330 --> 00:27:18.440 1680 | as check out the source 1681 | app. Stylish. Thanks so much 1682 | 1683 | 337 1684 | 00:27:18.440 --> 00:27:23.750 1685 | for coming on the show. 1686 | This has been another episode 1687 | 1688 | 338 1689 | 00:27:23.750 --> 00:27:26.210 1690 | of Hansel minutes, and we'll 1691 | see you again next week. 1692 | 1693 | -------------------------------------------------------------------------------- /hm0143.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT FILE 2 | 3 | 1 4 | 00:00:12.090 --> 00:00:17.220 5 | From Hanselman is.com. It's Hansel 6 | minutes or weekly discussion with 7 | 8 | 2 9 | 00:00:17.220 --> 00:00:22.560 10 | web developer and technologists. Scott 11 | Hanselman hosted by Carl Franklin. This 12 | 13 | 3 14 | 00:00:22.560 --> 00:00:26.670 15 | is Lauren's Ryan announcing show 16 | number one 43. Recorded live 17 | 18 | 4 19 | 00:00:26.670 --> 00:00:32.490 20 | from South Africa, Thursday, December 18th, 2008. Support 21 | for Hanselman it's just provided 22 | 23 | 5 24 | 00:00:32.490 --> 00:00:36.690 25 | by Tellerik rad controls, the 26 | most comprehensive suite of components 27 | 28 | 6 29 | 00:00:36.690 --> 00:00:47.430 30 | for windows forms and asp.net 31 | web applications online@wwwdotteldrikdotcomandby.net developers journal 32 | 33 | 7 34 | 00:00:47.580 --> 00:00:53.490 35 | the world's leading.net developer magazine 36 | online at www dot 37 | 38 | 8 39 | 00:00:53.730 --> 00:00:57.660 40 | dot com. In this episode, 41 | Scott talks with Victor, a 42 | 43 | 9 44 | 00:00:57.660 --> 00:01:03.390 45 | lawyer and lecturer from the 46 | university of the pseudo. Hi, 47 | 48 | 10 49 | 00:01:03.390 --> 00:01:05.130 50 | this is Scott Hanselman, and 51 | this is another episode of 52 | 53 | 11 54 | 00:01:05.130 --> 00:01:07.920 55 | Hansel minutes. And again, like 56 | I was last week, I'm 57 | 58 | 12 59 | 00:01:07.920 --> 00:01:10.830 60 | still here in South Africa and 61 | rather than doing it focus 62 | 63 | 13 64 | 00:01:10.830 --> 00:01:13.410 65 | technology podcast for the next 66 | couple of weeks, I'm doing 67 | 68 | 14 69 | 00:01:13.410 --> 00:01:15.990 70 | man on the street interviews 71 | here in South Africa with real 72 | 73 | 15 74 | 00:01:15.990 --> 00:01:18.990 75 | people today. I'm fortunate enough 76 | to sit down with Victor 77 | 78 | 16 79 | 00:01:18.990 --> 00:01:21.750 80 | who is a lecturer at 81 | the university of . Thank 82 | 83 | 17 84 | 00:01:21.750 --> 00:01:22.980 85 | you so much for taking 86 | the time to talk to 87 | 88 | 18 89 | 00:01:22.980 --> 00:01:27.990 90 | me. Hello. So I think 91 | that the people that are 92 | 93 | 19 94 | 00:01:27.990 --> 00:01:30.990 95 | listening to this show may 96 | not be familiar with Lisha 97 | 98 | 20 99 | 00:01:30.990 --> 00:01:33.270 100 | too, and how it is 101 | situated in the African continent. 102 | 103 | 21 104 | 00:01:33.270 --> 00:01:35.460 105 | Maybe you could give me 106 | a little bit of geographical 107 | 108 | 22 109 | 00:01:35.760 --> 00:01:43.040 110 | context. Yes. Les Sutro is 111 | a tiny country. It is 112 | 113 | 23 114 | 00:01:43.040 --> 00:01:48.260 115 | located insights of Africa. It 116 | is the only country in 117 | 118 | 24 119 | 00:01:48.260 --> 00:01:53.480 120 | Africa, which is completely surrounded 121 | by South Africa. Every time you 122 | 123 | 25 124 | 00:01:53.900 --> 00:01:57.260 125 | cross the border of lessor 126 | or you walk into South Africa 127 | 128 | 26 129 | 00:01:57.980 --> 00:02:03.110 130 | and it is formally a 131 | British colony, and it got 132 | 133 | 27 134 | 00:02:03.140 --> 00:02:08.540 135 | its independence in the 1960s 136 | during the time of a 137 | 138 | 28 139 | 00:02:08.540 --> 00:02:13.370 140 | path. It, so you can 141 | imagine that a immediate loud 142 | 143 | 29 144 | 00:02:13.370 --> 00:02:16.130 145 | of lizard, there was a 146 | path that, and inside a 147 | 148 | 30 149 | 00:02:16.700 --> 00:02:19.760 150 | lessor, there was a free 151 | country. There were lots of 152 | 153 | 31 154 | 00:02:19.760 --> 00:02:23.150 155 | political difficulties at the time. 156 | Now, why is it that 157 | 158 | 32 159 | 00:02:23.150 --> 00:02:27.740 160 | it's a country and not 161 | a province of South Africa? Well, 162 | 163 | 33 164 | 00:02:27.740 --> 00:02:34.700 165 | I think when the British 166 | came in, it was essentially 167 | 168 | 34 169 | 00:02:35.270 --> 00:02:39.440 170 | the three, such two size 171 | countries. First, there was a 172 | 173 | 35 174 | 00:02:39.440 --> 00:02:44.930 175 | sweat Swaziland, and then Botswana, 176 | which a British protectorates, but 177 | 178 | 36 179 | 00:02:46.250 --> 00:02:49.430 180 | they colonized less sort of, 181 | it was not a British 182 | 183 | 37 184 | 00:02:50.180 --> 00:02:54.110 185 | protectorate like Swaziland. They made 186 | it into a colony and 187 | 188 | 38 189 | 00:02:54.250 --> 00:02:58.790 190 | it came directly under the 191 | Queens rule. It was a 192 | 193 | 39 194 | 00:02:58.790 --> 00:03:05.220 195 | very set up that came 196 | through lizard. Now I've heard 197 | 198 | 40 199 | 00:03:05.220 --> 00:03:07.860 200 | people refer to it as 201 | Lesotho and a suit to 202 | 203 | 41 204 | 00:03:08.010 --> 00:03:10.530 205 | suit the Soto. What is 206 | the correct way to pronounce 207 | 208 | 42 209 | 00:03:10.530 --> 00:03:15.420 210 | the country? Well, I think 211 | by Soto was at the 212 | 213 | 43 214 | 00:03:15.720 --> 00:03:20.550 215 | people, the indigenous people, they, 216 | they call it Lisutu bad. 217 | 218 | 44 219 | 00:03:21.750 --> 00:03:25.860 220 | It is spelled L E 221 | S or T H O. 222 | 223 | 45 224 | 00:03:26.400 --> 00:03:29.430 225 | So most of us call 226 | it less Sato because of 227 | 228 | 46 229 | 00:03:29.430 --> 00:03:33.480 230 | the way it is spelled. 231 | But for the West, it 232 | 233 | 47 234 | 00:03:33.480 --> 00:03:35.670 235 | is less true to the 236 | land of the Bosu too. 237 | 238 | 48 239 | 00:03:35.670 --> 00:03:39.570 240 | That's what it means. Yes. 241 | Your lecture at the university. 242 | 243 | 49 244 | 00:03:39.570 --> 00:03:43.830 245 | And what is your specialty? 246 | Well, I teach mainly in 247 | 248 | 50 249 | 00:03:43.830 --> 00:03:46.260 250 | the legal field. I am 251 | a lawyer, so I do, 252 | 253 | 51 254 | 00:03:46.380 --> 00:03:50.430 255 | I teach different courses in 256 | law, things like family law, 257 | 258 | 52 259 | 00:03:50.460 --> 00:03:55.890 260 | commercial law, property law varies 261 | depending on the needs of 262 | 263 | 53 264 | 00:03:55.890 --> 00:03:59.250 265 | the faculty from time to 266 | time. Now, my understanding of 267 | 268 | 54 269 | 00:03:59.250 --> 00:04:01.530 270 | the law is limited to 271 | what goes on in the 272 | 273 | 55 274 | 00:04:01.530 --> 00:04:04.350 275 | U S and from what 276 | I watch on us, legal 277 | 278 | 56 279 | 00:04:04.350 --> 00:04:07.050 280 | TV shows like law and 281 | order. And these kinds of 282 | 283 | 57 284 | 00:04:07.050 --> 00:04:10.050 285 | drama shows. What I know 286 | about the British system is 287 | 288 | 58 289 | 00:04:10.050 --> 00:04:12.780 290 | that they have barristers instead 291 | of attorneys, but I really 292 | 293 | 59 294 | 00:04:12.780 --> 00:04:15.930 295 | don't understand how law works 296 | on the, on the continent. 297 | 298 | 60 299 | 00:04:15.930 --> 00:04:18.330 300 | Are there multiple legal systems? 301 | Does each country have their 302 | 303 | 61 304 | 00:04:18.330 --> 00:04:22.590 305 | own legal system? Well 306 | is a Jew, a legal 307 | 308 | 62 309 | 00:04:22.590 --> 00:04:25.980 310 | system. Basically it means that 311 | we have two legal systems, 312 | 313 | 63 314 | 00:04:26.520 --> 00:04:31.410 315 | the customary law, which is 316 | the indigenous law of the 317 | 318 | 64 319 | 00:04:31.410 --> 00:04:36.510 320 | pursuit of people, which is 321 | applied mainly to the, in 322 | 323 | 65 324 | 00:04:36.510 --> 00:04:42.270 325 | the villages. It's agitated by 326 | achieves and so on. And 327 | 328 | 66 329 | 00:04:42.270 --> 00:04:46.890 330 | then we have the inherited 331 | law, the Roman dash legal 332 | 333 | 67 334 | 00:04:46.890 --> 00:04:52.200 335 | system, which was brought in 336 | into Lisutu as much as 337 | 338 | 68 339 | 00:04:52.470 --> 00:05:00.210 340 | South Africa, Botswana, Zimbabwe, and Namibia. 341 | Now, what it means basically 342 | 343 | 69 344 | 00:05:00.210 --> 00:05:05.490 345 | is that when the British 346 | came and colonized South Africa Fest, 347 | 348 | 70 349 | 00:05:06.000 --> 00:05:08.310 350 | they found that the Dutch 351 | had settled it in the 352 | 353 | 71 354 | 00:05:08.310 --> 00:05:12.600 355 | Cape and they will operating 356 | the Dutch legal system. So 357 | 358 | 72 359 | 00:05:12.600 --> 00:05:17.340 360 | then when they extended their 361 | occupation, interlace Soto, they decided 362 | 363 | 73 364 | 00:05:17.340 --> 00:05:21.210 365 | that the law which was 366 | operating in the Cape will 367 | 368 | 74 369 | 00:05:21.210 --> 00:05:24.690 370 | be the same as the 371 | low, which is operating in 372 | 373 | 75 374 | 00:05:24.720 --> 00:05:28.410 375 | a risotto ended that applied 376 | to all the other colonies. 377 | 378 | 76 379 | 00:05:28.560 --> 00:05:33.120 380 | They actually pass the law 381 | to specific Cali legitimize, the 382 | 383 | 77 384 | 00:05:33.120 --> 00:05:37.320 385 | application of Roman dash legal 386 | system. They didn't bring in 387 | 388 | 78 389 | 00:05:37.710 --> 00:05:40.830 390 | English law, but what happened 391 | was that the people were 392 | 393 | 79 394 | 00:05:40.830 --> 00:05:45.540 395 | administering the Roman Dutch legal 396 | system where English lawyers. So 397 | 398 | 80 399 | 00:05:45.540 --> 00:05:47.940 400 | there was a lot of 401 | influence of English law. They 402 | 403 | 81 404 | 00:05:47.940 --> 00:05:50.760 405 | were being asked to apply 406 | Roman dash law, but we're 407 | 408 | 82 409 | 00:05:50.760 --> 00:05:53.550 410 | not trained in the Roman 411 | Dutch law. So at the 412 | 413 | 83 414 | 00:05:53.910 --> 00:05:58.340 415 | end of the day, the 416 | inherited road, the colonial became 417 | 418 | 84 419 | 00:05:58.340 --> 00:06:02.150 420 | an Armagh emission way mixture 421 | of English law and Roman 422 | 423 | 85 424 | 00:06:02.150 --> 00:06:04.850 425 | dash slope. So in most 426 | of our laws, although we 427 | 428 | 86 429 | 00:06:04.850 --> 00:06:08.210 430 | took off Roman bachelor is 431 | the law, which is applicable. 432 | 433 | 87 434 | 00:06:08.390 --> 00:06:11.750 435 | There's a lot of influence 436 | of English law. And in 437 | 438 | 88 439 | 00:06:11.750 --> 00:06:15.890 440 | modern days, because of that, 441 | the growth of the global 442 | 443 | 89 444 | 00:06:15.890 --> 00:06:21.020 445 | village, even American loam in 446 | things like commercial law, insurance, 447 | 448 | 90 449 | 00:06:21.410 --> 00:06:26.630 450 | property laws, there's a lot 451 | of a mixture of Anglo 452 | 453 | 91 454 | 00:06:26.630 --> 00:06:30.890 455 | American laws into our systems. 456 | So basically we have the 457 | 458 | 92 459 | 00:06:31.850 --> 00:06:35.840 460 | customary law, as well as 461 | the imported Roman dash, which 462 | 463 | 93 464 | 00:06:35.840 --> 00:06:39.280 465 | is strictly speaking, not from 466 | international lawyer as such. So 467 | 468 | 94 469 | 00:06:39.290 --> 00:06:42.160 470 | it's a Roman Dutch law 471 | 400 years in the future 472 | 473 | 95 474 | 00:06:42.160 --> 00:06:45.520 475 | and kind of broken off 476 | into its own style. Yes. 477 | 478 | 96 479 | 00:06:45.910 --> 00:06:48.850 480 | And you actually borrow laws 481 | from the, from the Anglo, 482 | 483 | 97 484 | 00:06:49.570 --> 00:06:52.870 485 | from the American system from 486 | other systems. Yes. I think 487 | 488 | 98 489 | 00:06:53.260 --> 00:06:58.480 490 | what basically lawyers say we 491 | have, we draw from the 492 | 493 | 99 494 | 00:06:58.480 --> 00:07:02.050 495 | Roman dashed law is the 496 | sources of law, the leading 497 | 498 | 100 499 | 00:07:02.920 --> 00:07:06.040 500 | judgments, the leading, what we 501 | call it, the jewelries, those 502 | 503 | 101 504 | 00:07:06.040 --> 00:07:09.850 505 | who wrote about Roman dash 506 | law, but the influences from 507 | 508 | 102 509 | 00:07:09.850 --> 00:07:12.970 510 | other legal systems like English 511 | fabric, we say those are 512 | 513 | 103 514 | 00:07:12.970 --> 00:07:15.940 515 | persuasive so that if a 516 | judge is deciding a case 517 | 518 | 104 519 | 00:07:15.940 --> 00:07:19.300 520 | and there's no Logies applicable, 521 | he can be persuaded to 522 | 523 | 105 524 | 00:07:19.300 --> 00:07:24.460 525 | borrow from other systems. Really. 526 | So a precedent is almost 527 | 528 | 106 529 | 00:07:24.460 --> 00:07:28.060 530 | set kind of an implicit 531 | precedent by a case that's 532 | 533 | 107 534 | 00:07:28.060 --> 00:07:30.220 535 | being done somewhere else in 536 | an entirely different country and 537 | 538 | 108 539 | 00:07:30.230 --> 00:07:34.960 540 | entirely different legal system. Yes. 541 | What we, we normally, what 542 | 543 | 109 544 | 00:07:34.960 --> 00:07:41.470 545 | judges do they apply precedents 546 | from previous decisions within their 547 | 548 | 110 549 | 00:07:41.590 --> 00:07:44.950 550 | own country? Let's say presidents 551 | from Minnesota, but in the 552 | 553 | 111 554 | 00:07:44.950 --> 00:07:48.640 555 | absence of a precedent from 556 | within Lesotho, they have to 557 | 558 | 112 559 | 00:07:48.640 --> 00:07:54.010 560 | look at other likes legal 561 | systems and see whether a 562 | 563 | 113 564 | 00:07:54.020 --> 00:07:58.420 565 | decision in a similar case 566 | in another foreign country would 567 | 568 | 114 569 | 00:07:58.690 --> 00:08:03.910 570 | persuade them to apply that 571 | particular judgment and the foreign 572 | 573 | 115 574 | 00:08:03.910 --> 00:08:08.170 575 | countries they would normally look 576 | to. First of all, England, 577 | 578 | 116 579 | 00:08:08.320 --> 00:08:13.750 580 | the former colonial country and 581 | the American legal systems as 582 | 583 | 117 584 | 00:08:13.750 --> 00:08:17.290 585 | well. Because as I'm saying 586 | in the commercial world, the 587 | 588 | 118 589 | 00:08:17.290 --> 00:08:21.520 590 | laws are becoming more and 591 | more universal so that it 592 | 593 | 119 594 | 00:08:21.520 --> 00:08:24.850 595 | won't be strange to find 596 | that in certain aspects, American 597 | 598 | 120 599 | 00:08:24.850 --> 00:08:28.660 600 | law and lesser to law 601 | at the same. Hi, this 602 | 603 | 121 604 | 00:08:28.660 --> 00:08:31.210 605 | is Scott Hanselman with a 606 | word from our sponsor. Do 607 | 608 | 122 609 | 00:08:31.210 --> 00:08:33.790 610 | you know how to build 611 | web 2.0 Ajax applications with 612 | 613 | 123 614 | 00:08:33.790 --> 00:08:36.640 615 | web 1.0 components? You really 616 | can't. If you want to 617 | 618 | 124 619 | 00:08:36.640 --> 00:08:39.670 620 | do the next generation web 621 | applications you'll need next generation 622 | 623 | 125 624 | 00:08:39.670 --> 00:08:42.070 625 | components. Just like the ones 626 | that our friends at Telerik 627 | 628 | 126 629 | 00:08:42.070 --> 00:08:45.280 630 | have got their rad controls 631 | for ESPN at Ajax. It's 632 | 633 | 127 634 | 00:08:45.280 --> 00:08:47.800 635 | a huge pack of web 636 | controls built on top of 637 | 638 | 128 639 | 00:08:47.830 --> 00:08:52.540 640 | asp.net Ajax. That'll add previously 641 | impossible performance interactivity to your 642 | 643 | 129 644 | 00:08:52.540 --> 00:08:57.600 645 | next project. The new controls 646 | mirror Ajax API from asp.net. 647 | 648 | 130 649 | 00:08:57.600 --> 00:09:00.990 650 | So development is really straightforward. 651 | The client scripts are shared. 652 | 653 | 131 654 | 00:09:00.990 --> 00:09:03.410 655 | So loading time is not 656 | a problem. If you just 657 | 658 | 132 659 | 00:09:03.420 --> 00:09:04.980 660 | had a couple of properties 661 | and you'll be able to 662 | 663 | 133 664 | 00:09:04.980 --> 00:09:07.980 665 | automatically bind to web services 666 | for a really efficient operation, 667 | 668 | 134 669 | 00:09:09.090 --> 00:09:12.450 670 | the new rad editor from 671 | ESPN Ajax, Telerik loads up 672 | 673 | 135 674 | 00:09:12.450 --> 00:09:15.090 675 | to four times faster than 676 | before. And the new rad 677 | 678 | 136 679 | 00:09:15.090 --> 00:09:18.570 680 | grid handles thousands of records 681 | and just milliseconds, but as 682 | 683 | 137 684 | 00:09:18.570 --> 00:09:21.240 685 | always, it's best to try 686 | for yourself. So you can 687 | 688 | 138 689 | 00:09:21.240 --> 00:09:24.750 690 | visit dot com slash 691 | ASP, net Ajax, and download 692 | 693 | 139 694 | 00:09:24.750 --> 00:09:30.660 695 | a trial. Thanks a lot. 696 | So globalization is becoming the 697 | 698 | 140 699 | 00:09:30.900 --> 00:09:34.350 700 | defacto standard to the point 701 | of even contracts being similar 702 | 703 | 141 704 | 00:09:34.440 --> 00:09:37.460 705 | all over the Yes, indeed. 706 | There is a lot of 707 | 708 | 142 709 | 00:09:37.460 --> 00:09:41.090 710 | that is I'm saying, especially 711 | in the laws, dealing with 712 | 713 | 143 714 | 00:09:41.120 --> 00:09:45.680 715 | business in general where the 716 | local business or international business 717 | 718 | 144 719 | 00:09:46.280 --> 00:09:48.560 720 | Now customary law might be 721 | something that's interesting to people. 722 | 723 | 145 724 | 00:09:48.560 --> 00:09:52.550 725 | These are, these are laws 726 | that were there before white 727 | 728 | 146 729 | 00:09:52.550 --> 00:09:58.190 730 | folks showed up. This is 731 | for dealing with struggles and 732 | 733 | 147 734 | 00:09:58.190 --> 00:10:02.840 735 | conflicts within perhaps a chief's 736 | influence area of village. Is 737 | 738 | 148 739 | 00:10:02.840 --> 00:10:06.590 740 | that correct? Yes. Customer low 741 | base Cali operates at a 742 | 743 | 149 744 | 00:10:06.590 --> 00:10:14.870 745 | very simplistic level. Familial relations 746 | neighbor relations. You look at 747 | 748 | 150 749 | 00:10:14.870 --> 00:10:21.020 750 | situations where, for example, a 751 | boy from one family, impregnates, 752 | 753 | 151 754 | 00:10:21.380 --> 00:10:25.130 755 | a girl from another family, 756 | usually in the villages that 757 | 758 | 152 759 | 00:10:25.130 --> 00:10:28.760 760 | will be dealt as a 761 | customary matter because in the 762 | 763 | 153 764 | 00:10:28.760 --> 00:10:32.960 765 | context of lesser term, eh, 766 | for a boy to, in 767 | 768 | 154 769 | 00:10:32.960 --> 00:10:37.580 770 | pregnant another Gail before marriage, 771 | that raises a question of 772 | 773 | 155 774 | 00:10:37.580 --> 00:10:40.220 775 | liability on the part of 776 | the boy that you be. 777 | 778 | 156 779 | 00:10:40.850 --> 00:10:43.940 780 | He will be liable to 781 | play damages, which is six 782 | 783 | 157 784 | 00:10:43.940 --> 00:10:46.550 785 | head of cattle for every 786 | new pregnant at that particular 787 | 788 | 158 789 | 00:10:46.550 --> 00:10:51.470 790 | Gail before negotiations for marriage 791 | can even take place that 792 | 793 | 159 794 | 00:10:51.770 --> 00:10:55.730 795 | the very act of impregnating 796 | another, a girl from another 797 | 798 | 160 799 | 00:10:55.730 --> 00:11:00.230 800 | family before marriage is actually 801 | treated as a, is a 802 | 803 | 161 804 | 00:11:00.230 --> 00:11:04.130 805 | wrongful act. Is it hot 806 | As a tort? So even 807 | 808 | 162 809 | 00:11:04.400 --> 00:11:06.590 810 | now after he's paid six 811 | head of cattle, though, is 812 | 813 | 163 814 | 00:11:06.590 --> 00:11:09.710 815 | there not an obligation like 816 | in the U S there's 817 | 818 | 164 819 | 00:11:09.710 --> 00:11:11.660 820 | kind of an implicit obligation 821 | to take care of your 822 | 823 | 165 824 | 00:11:11.660 --> 00:11:16.160 825 | child until they're 18? And 826 | there are laws for, you 827 | 828 | 166 829 | 00:11:16.160 --> 00:11:19.580 830 | know, parental obligations or is 831 | it simply pay your six 832 | 833 | 167 834 | 00:11:19.580 --> 00:11:23.090 835 | head of cattle and move 836 | on? Apparently there is a 837 | 838 | 168 839 | 00:11:23.120 --> 00:11:26.720 840 | conflict here between customary lawyer 841 | in the received law, or 842 | 843 | 169 844 | 00:11:27.050 --> 00:11:31.160 845 | because it customary law. If 846 | the boy or the family 847 | 848 | 170 849 | 00:11:31.160 --> 00:11:34.070 850 | of the boy pay their 851 | six, eight of cattle, they 852 | 853 | 171 854 | 00:11:34.070 --> 00:11:36.800 855 | are done with that child 856 | in the absence of marriage, 857 | 858 | 172 859 | 00:11:37.040 --> 00:11:40.040 860 | it is the girl's family. 861 | Lou must look after that, 862 | 863 | 173 864 | 00:11:40.280 --> 00:11:43.490 865 | but to collect child should 866 | the family of the boy 867 | 868 | 174 869 | 00:11:43.520 --> 00:11:46.970 870 | wants that child at a 871 | later stage, when the child 872 | 873 | 175 874 | 00:11:46.970 --> 00:11:51.920 875 | grows up, they are required 876 | to pay extra cattle. But 877 | 878 | 176 879 | 00:11:51.920 --> 00:11:55.000 880 | on the other hand, the 881 | received law says that if 882 | 883 | 177 884 | 00:11:55.000 --> 00:11:58.240 885 | you father a child, your 886 | light to maintain. So it 887 | 888 | 178 889 | 00:11:58.240 --> 00:12:02.170 890 | now depends on which law, 891 | the family of the Guild 892 | 893 | 179 894 | 00:12:02.200 --> 00:12:06.340 895 | chooses to, to utilize. If 896 | they choose to utilize the 897 | 898 | 180 899 | 00:12:06.340 --> 00:12:09.070 900 | Roman national law, then the 901 | boy may be asked to 902 | 903 | 181 904 | 00:12:09.130 --> 00:12:12.160 905 | the Gail can go to 906 | court and claim maintenance under 907 | 908 | 182 909 | 00:12:12.160 --> 00:12:15.940 910 | the legal system. But 911 | if they are, they go 912 | 913 | 183 914 | 00:12:15.940 --> 00:12:19.090 915 | for the customary law, then 916 | it means that the family 917 | 918 | 184 919 | 00:12:19.090 --> 00:12:21.930 920 | must ask for the head 921 | of cattle. It doesn't, it 922 | 923 | 185 924 | 00:12:21.930 --> 00:12:24.060 925 | doesn't that require a, a 926 | level of education on the 927 | 928 | 186 929 | 00:12:24.060 --> 00:12:26.040 930 | part of the girl and 931 | the girl's family. They may 932 | 933 | 187 934 | 00:12:26.040 --> 00:12:30.720 935 | not know that these laws 936 | exist. I think we shouldn't 937 | 938 | 188 939 | 00:12:30.720 --> 00:12:36.510 940 | underestimate people and see that 941 | they're not educated. I think 942 | 943 | 189 944 | 00:12:36.510 --> 00:12:40.770 945 | in general, they do know 946 | what the law says, but 947 | 948 | 190 949 | 00:12:40.830 --> 00:12:44.970 950 | the families, as far as 951 | I realized in most of 952 | 953 | 191 954 | 00:12:44.970 --> 00:12:48.390 955 | these Southern Africa in Africa, 956 | they do what I call 957 | 958 | 192 959 | 00:12:48.390 --> 00:12:51.810 960 | in legal teams, forum, shopping. 961 | They look at which legal 962 | 963 | 193 964 | 00:12:51.810 --> 00:12:56.670 965 | system will best serve their 966 | interests. If customer law will 967 | 968 | 194 969 | 00:12:56.670 --> 00:13:00.150 970 | best serve their interests, then 971 | they'll go for the customer 972 | 973 | 195 974 | 00:13:00.150 --> 00:13:04.380 975 | who option. Let's say, for 976 | example, the, the, the boy 977 | 978 | 196 979 | 00:13:04.410 --> 00:13:07.920 980 | who has been pregnant, the 981 | boy has impregnated together is 982 | 983 | 197 984 | 00:13:07.920 --> 00:13:11.760 985 | not working, but is the 986 | family know that the parents, 987 | 988 | 198 989 | 00:13:11.760 --> 00:13:14.010 990 | they have lots of cattle, 991 | they'll go for the customer 992 | 993 | 199 994 | 00:13:14.010 --> 00:13:18.150 995 | option. But suppose the young 996 | man is working is ending 997 | 998 | 200 999 | 00:13:18.150 --> 00:13:21.240 1000 | your salary. The girl may 1001 | decide to hope for the 1002 | 1003 | 201 1004 | 00:13:21.240 --> 00:13:23.850 1005 | Roman Dutch legal system and 1006 | claim maintenance, because he has 1007 | 1008 | 202 1009 | 00:13:23.850 --> 00:13:27.150 1010 | an income from which he 1011 | can claim maintenance. That's quite 1012 | 1013 | 203 1014 | 00:13:27.150 --> 00:13:31.710 1015 | clever. Yes. Yeah. That is 1016 | exactly what happens. And we 1017 | 1018 | 204 1019 | 00:13:31.710 --> 00:13:35.340 1020 | have headaches, similar experience in 1021 | other countries like Zimbabwe and 1022 | 1023 | 205 1024 | 00:13:35.340 --> 00:13:38.340 1025 | so on. But I have 1026 | to say that in general, 1027 | 1028 | 206 1029 | 00:13:39.180 --> 00:13:42.890 1030 | my experience that in Southern 1031 | Africa, men who filed that 1032 | 1033 | 207 1034 | 00:13:42.900 --> 00:13:46.200 1035 | children out of marriage generally 1036 | do not want to look 1037 | 1038 | 208 1039 | 00:13:46.200 --> 00:13:51.360 1040 | after them. And we men 1041 | in general, struggle to get 1042 | 1043 | 209 1044 | 00:13:51.360 --> 00:13:55.290 1045 | maintenance, even from those that 1046 | are working in our wheeling, 1047 | 1048 | 210 1049 | 00:13:55.290 --> 00:13:59.310 1050 | to be able to afford, 1051 | to pay men in maintenance 1052 | 1053 | 211 1054 | 00:13:59.310 --> 00:14:02.520 1055 | for children, they will refuse 1056 | to pay to say and 1057 | 1058 | 212 1059 | 00:14:02.520 --> 00:14:05.280 1060 | say, if you want me 1061 | to pay maintenance, let me 1062 | 1063 | 213 1064 | 00:14:05.550 --> 00:14:08.340 1065 | give me the child, but 1066 | I will not give you 1067 | 1068 | 214 1069 | 00:14:08.340 --> 00:14:10.920 1070 | my money, because if I 1071 | give you my money, I'm 1072 | 1073 | 215 1074 | 00:14:10.920 --> 00:14:12.420 1075 | not going to give it 1076 | to my son. That is 1077 | 1078 | 216 1079 | 00:14:12.420 --> 00:14:16.080 1080 | the attitude. Unfortunate. Now you, 1081 | you, your specialty is, is 1082 | 1083 | 217 1084 | 00:14:16.080 --> 00:14:18.450 1085 | not just law, but also 1086 | women's issues in law. And 1087 | 1088 | 218 1089 | 00:14:18.450 --> 00:14:21.600 1090 | you've recently been working on 1091 | a paper on how the 1092 | 1093 | 219 1094 | 00:14:21.600 --> 00:14:26.630 1095 | legal system actually kind of 1096 | supports masculinity. Yes, to a 1097 | 1098 | 220 1099 | 00:14:26.640 --> 00:14:31.200 1100 | large extent, we live in 1101 | a men's world. I remember 1102 | 1103 | 221 1104 | 00:14:31.200 --> 00:14:35.670 1105 | that recently, I read a 1106 | book called immense world talking 1107 | 1108 | 222 1109 | 00:14:35.670 --> 00:14:42.090 1110 | about masculinity. Basically we have 1111 | a situation where patriarchy or 1112 | 1113 | 223 1114 | 00:14:42.120 --> 00:14:44.460 1115 | the dominance of men is 1116 | the order of the day. 1117 | 1118 | 224 1119 | 00:14:44.460 --> 00:14:46.980 1120 | And it does not matter 1121 | where they are talking about 1122 | 1123 | 225 1124 | 00:14:46.980 --> 00:14:50.250 1125 | Southern Africa or the United States 1126 | or any other country in 1127 | 1128 | 226 1129 | 00:14:50.250 --> 00:14:53.630 1130 | the world. We may have 1131 | countries where women have gained 1132 | 1133 | 227 1134 | 00:14:53.780 --> 00:14:59.900 1135 | certain advantages against men, but 1136 | in general, we are looking 1137 | 1138 | 228 1139 | 00:14:59.900 --> 00:15:05.000 1140 | at a system where the 1141 | legal system itself is generally 1142 | 1143 | 229 1144 | 00:15:05.060 --> 00:15:11.210 1145 | unresponsive to women's needs in 1146 | the sense that if I 1147 | 1148 | 230 1149 | 00:15:11.210 --> 00:15:16.070 1150 | can use a very, very 1151 | simple example, we have a 1152 | 1153 | 231 1154 | 00:15:16.070 --> 00:15:23.540 1155 | crime in, in my, in, 1156 | in Lesotho whereby a woman 1157 | 1158 | 232 1159 | 00:15:23.570 --> 00:15:30.050 1160 | who commits a abortion will 1161 | be criminally prosecuted. But the 1162 | 1163 | 233 1164 | 00:15:30.050 --> 00:15:33.200 1165 | law does not say anything 1166 | about the person who is 1167 | 1168 | 234 1169 | 00:15:33.200 --> 00:15:36.950 1170 | responsible for the pregnancy, even 1171 | in the case where the 1172 | 1173 | 235 1174 | 00:15:36.950 --> 00:15:40.490 1175 | boy after him pregnant, and 1176 | the girl disappears will say, 1177 | 1178 | 236 1179 | 00:15:40.880 --> 00:15:43.760 1180 | says, I have, I am 1181 | not responsible. You are on 1182 | 1183 | 237 1184 | 00:15:43.760 --> 00:15:48.020 1185 | your own. And then we 1186 | also have other crimes like, 1187 | 1188 | 238 1189 | 00:15:48.050 --> 00:15:52.790 1190 | eh, which are unfortunately real. 1191 | We have had women who 1192 | 1193 | 239 1194 | 00:15:52.850 --> 00:15:57.110 1195 | would damp babies, women who 1196 | kill babies when they are 1197 | 1198 | 240 1199 | 00:15:57.110 --> 00:16:01.850 1200 | born. And in those cases, 1201 | the law will punish the 1202 | 1203 | 241 1204 | 00:16:01.850 --> 00:16:06.020 1205 | women, regardless of the social 1206 | circumstances that is posed to 1207 | 1208 | 242 1209 | 00:16:06.020 --> 00:16:08.720 1210 | the woman to do such 1211 | a thing. I don't think 1212 | 1213 | 243 1214 | 00:16:08.720 --> 00:16:13.400 1215 | that any normal person would 1216 | want a woman would want 1217 | 1218 | 244 1219 | 00:16:13.400 --> 00:16:16.640 1220 | to kill a young child, 1221 | but we see a situation 1222 | 1223 | 245 1224 | 00:16:17.060 --> 00:16:21.440 1225 | where women are pushed and 1226 | the lawyer is unresponsive. And 1227 | 1228 | 246 1229 | 00:16:21.610 --> 00:16:26.360 1230 | another offense, which is even 1231 | common, I would say in 1232 | 1233 | 247 1234 | 00:16:26.360 --> 00:16:31.520 1235 | countries like the United States, the 1236 | battered woman syndrome, where women 1237 | 1238 | 248 1239 | 00:16:32.120 --> 00:16:35.930 1240 | pushed to the point where 1241 | they killed the husband, because 1242 | 1243 | 249 1244 | 00:16:35.930 --> 00:16:39.530 1245 | that is the only defense 1246 | mechanism left to them. But 1247 | 1248 | 250 1249 | 00:16:39.560 --> 00:16:42.230 1250 | the, what does the law 1251 | say? You are guilty of 1252 | 1253 | 251 1254 | 00:16:42.230 --> 00:16:46.430 1255 | murder in most cases, but 1256 | the law has not moved 1257 | 1258 | 252 1259 | 00:16:46.880 --> 00:16:50.750 1260 | fast enough to see what 1261 | are the circumstances, what leads 1262 | 1263 | 253 1264 | 00:16:50.810 --> 00:16:54.620 1265 | this woman to do this. 1266 | And unfortunately also in our 1267 | 1268 | 254 1269 | 00:16:54.620 --> 00:16:58.820 1270 | part of the world, generally, 1271 | the issue of violence of 1272 | 1273 | 255 1274 | 00:16:58.820 --> 00:17:04.580 1275 | men against women is either 1276 | not taken seriously, or it 1277 | 1278 | 256 1279 | 00:17:04.580 --> 00:17:10.040 1280 | is general underestimate. It. It 1281 | is no man clipping a 1282 | 1283 | 257 1284 | 00:17:10.040 --> 00:17:14.030 1285 | woman or punching is not 1286 | something that can be taken 1287 | 1288 | 258 1289 | 00:17:14.030 --> 00:17:17.690 1290 | quite seriously, unless do man 1291 | is severely injured. Then we 1292 | 1293 | 259 1294 | 00:17:17.690 --> 00:17:20.690 1295 | say, but people need to 1296 | say that it was wrong 1297 | 1298 | 260 1299 | 00:17:20.690 --> 00:17:23.690 1300 | to be dizzy. They say 1301 | you went too far in 1302 | 1303 | 261 1304 | 00:17:23.690 --> 00:17:26.780 1305 | disciplining this particular person. So 1306 | that is the kind of 1307 | 1308 | 262 1309 | 00:17:26.810 --> 00:17:31.100 1310 | attitudes that women have to 1311 | deal with. And it's a 1312 | 1313 | 263 1314 | 00:17:31.100 --> 00:17:35.800 1315 | massive problem In, in the, 1316 | in the States and the 1317 | 1318 | 264 1319 | 00:17:35.800 --> 00:17:38.440 1320 | County that I live in, 1321 | they recently changed some of 1322 | 1323 | 265 1324 | 00:17:38.440 --> 00:17:43.390 1325 | the laws with regards to 1326 | domestic violence, such that if, 1327 | 1328 | 266 1329 | 00:17:43.390 --> 00:17:45.130 1330 | if I, if, if you 1331 | were my wife and I 1332 | 1333 | 267 1334 | 00:17:45.130 --> 00:17:48.700 1335 | grabbed your wrist, I just 1336 | squeezed us a little harder 1337 | 1338 | 268 1339 | 00:17:48.700 --> 00:17:51.300 1340 | than you. It, and you 1341 | decided to call the police. 1342 | 1343 | 269 1344 | 00:17:51.660 --> 00:17:54.180 1345 | You could say, lock him 1346 | up. I don't want to 1347 | 1348 | 270 1349 | 00:17:54.180 --> 00:17:57.300 1350 | see him for a month. 1351 | So they've swung the pendulum 1352 | 1353 | 271 1354 | 00:17:57.360 --> 00:18:02.100 1355 | all the other way. Any 1356 | physical, any unwanted physical contact 1357 | 1358 | 272 1359 | 00:18:02.130 --> 00:18:05.780 1360 | then becomes a domestic violence 1361 | issue if, if the, if 1362 | 1363 | 273 1364 | 00:18:05.820 --> 00:18:07.380 1365 | the woman or, or if 1366 | the man in this case, 1367 | 1368 | 274 1369 | 00:18:07.380 --> 00:18:10.860 1370 | but usually it's focused towards 1371 | the woman says that I 1372 | 1373 | 275 1374 | 00:18:10.860 --> 00:18:12.300 1375 | don't want to be touched 1376 | in that way. So that 1377 | 1378 | 276 1379 | 00:18:12.630 --> 00:18:17.020 1380 | instantly there, the husband is 1381 | drug drug away. Yes. I 1382 | 1383 | 277 1384 | 00:18:17.030 --> 00:18:20.330 1385 | think that is, I would 1386 | commend that kind of law 1387 | 1388 | 278 1389 | 00:18:20.780 --> 00:18:24.980 1390 | for the simple reason that 1391 | in the majority of cases, 1392 | 1393 | 279 1394 | 00:18:25.880 --> 00:18:28.860 1395 | a woman who was wristy 1396 | has been attached will not 1397 | 1398 | 280 1399 | 00:18:28.880 --> 00:18:31.640 1400 | learn to quote and say 1401 | that somewhat ties to my, 1402 | 1403 | 281 1404 | 00:18:31.640 --> 00:18:34.910 1405 | at least, I mean the 1406 | extremes, but, but basically Lila 1407 | 1408 | 282 1409 | 00:18:34.920 --> 00:18:38.300 1410 | is sending a clear message 1411 | that it is wrong to 1412 | 1413 | 283 1414 | 00:18:38.300 --> 00:18:42.110 1415 | use violence of any form 1416 | against anybody. You must respect 1417 | 1418 | 284 1419 | 00:18:42.110 --> 00:18:47.630 1420 | somebodies bodily integrity. But on 1421 | the ally hand, in Lesotho, 1422 | 1423 | 285 1424 | 00:18:47.640 --> 00:18:51.470 1425 | for example, we don't have 1426 | domestic violence legislation. It is 1427 | 1428 | 286 1429 | 00:18:51.470 --> 00:18:57.530 1430 | treated as assault. So a 1431 | woman whose is been violated 1432 | 1433 | 287 1434 | 00:18:57.530 --> 00:19:03.590 1435 | by the husband physically here's 1436 | to pursue common assault by 1437 | 1438 | 288 1439 | 00:19:03.590 --> 00:19:07.220 1440 | sold, to do grievous bodily 1441 | harm and so on. And 1442 | 1443 | 289 1444 | 00:19:07.220 --> 00:19:10.430 1445 | that is a, not an 1446 | ordinary criminal process. And we 1447 | 1448 | 290 1449 | 00:19:10.430 --> 00:19:16.160 1450 | know that the criminal process 1451 | takes forever. Unfortunately, the police 1452 | 1453 | 291 1454 | 00:19:16.160 --> 00:19:19.700 1455 | attitudes also Elman who comes 1456 | to say that my husband 1457 | 1458 | 292 1459 | 00:19:19.700 --> 00:19:23.210 1460 | clips me, but with nothing 1461 | to show that there's been 1462 | 1463 | 293 1464 | 00:19:23.420 --> 00:19:27.320 1465 | some kind of physical damage, 1466 | we'll be laughed out of 1467 | 1468 | 294 1469 | 00:19:27.320 --> 00:19:31.580 1470 | the police station, they'll say, 1471 | but what did you do 1472 | 1473 | 295 1474 | 00:19:31.580 --> 00:19:35.090 1475 | to, we don't see anything. 1476 | And I've actually had personal 1477 | 1478 | 296 1479 | 00:19:35.090 --> 00:19:38.900 1480 | experience where a person I 1481 | know had that kind of 1482 | 1483 | 297 1484 | 00:19:38.930 --> 00:19:43.340 1485 | a situation. And the police 1486 | were very, very reluctant to 1487 | 1488 | 298 1489 | 00:19:43.340 --> 00:19:46.910 1490 | press charges. And eventually that 1491 | case never went beyond the 1492 | 1493 | 299 1494 | 00:19:46.910 --> 00:19:49.970 1495 | police station. Okay. But isn't 1496 | that that's an example, not 1497 | 1498 | 300 1499 | 00:19:49.970 --> 00:19:52.460 1500 | necessarily the law not being 1501 | on her side, because it 1502 | 1503 | 301 1504 | 00:19:52.460 --> 00:19:57.800 1505 | was in fact, but rather 1506 | that's institutionalized a patriarchy culturally. 1507 | 1508 | 302 1509 | 00:19:58.550 --> 00:20:02.360 1510 | Yeah, partly. Yes. I would 1511 | say that, but I would 1512 | 1513 | 303 1514 | 00:20:02.360 --> 00:20:05.540 1515 | go so far as to 1516 | say that the problem is 1517 | 1518 | 304 1519 | 00:20:05.540 --> 00:20:10.100 1520 | bigger than that. If we 1521 | had a law, which for 1522 | 1523 | 305 1524 | 00:20:10.100 --> 00:20:14.180 1525 | beads domestic violence, then you 1526 | could begin to change attitudes. 1527 | 1528 | 306 1529 | 00:20:14.180 --> 00:20:17.750 1530 | You could begin to train 1531 | the police that any form 1532 | 1533 | 307 1534 | 00:20:17.750 --> 00:20:21.080 1535 | of violence, even if it 1536 | does not lead to any 1537 | 1538 | 308 1539 | 00:20:21.080 --> 00:20:24.170 1540 | injury is wrong. But in 1541 | this case, because we don't 1542 | 1543 | 309 1544 | 00:20:24.170 --> 00:20:28.310 1545 | even have a law, which 1546 | says that a domestic 1547 | 1548 | 310 1549 | 00:20:28.310 --> 00:20:33.050 1550 | violence is a specialized kind 1551 | of problem. It happens within 1552 | 1553 | 311 1554 | 00:20:33.050 --> 00:20:39.200 1555 | the confines or private department 1556 | and generally is not readily 1557 | 1558 | 312 1559 | 00:20:39.200 --> 00:20:43.860 1560 | seen. So you need specifically 1561 | legislation about, I see. So 1562 | 1563 | 313 1564 | 00:20:44.120 --> 00:20:47.230 1565 | even the simple fact of 1566 | naming it and giving it 1567 | 1568 | 314 1569 | 00:20:47.230 --> 00:20:49.000 1570 | a name and pointing to 1571 | it and saying that is 1572 | 1573 | 315 1574 | 00:20:49.000 --> 00:20:51.850 1575 | different, and that is wrong. 1576 | Even though the result may 1577 | 1578 | 316 1579 | 00:20:51.850 --> 00:20:55.810 1580 | still be similar to an 1581 | assault charge. That is valuable. 1582 | 1583 | 317 1584 | 00:20:56.220 --> 00:20:59.910 1585 | Yes, it is a first 1586 | step. I would say South Africa 1587 | 1588 | 318 1589 | 00:20:59.910 --> 00:21:04.320 1590 | is domestic violence legislation, but 1591 | South Africa is one of the 1592 | 1593 | 319 1594 | 00:21:04.320 --> 00:21:07.740 1595 | highest incidents of domestic violence. 1596 | But I believe that by 1597 | 1598 | 320 1599 | 00:21:07.740 --> 00:21:12.720 1600 | passing that law, they've put 1601 | the Fest a break. If 1602 | 1603 | 321 1604 | 00:21:12.720 --> 00:21:17.580 1605 | you like even a difficult 1606 | building process. It seems to 1607 | 1608 | 322 1609 | 00:21:17.580 --> 00:21:20.880 1610 | me that the countries in 1611 | Africa that take a problem 1612 | 1613 | 323 1614 | 00:21:21.150 --> 00:21:27.990 1615 | head on name it and 1616 | start coming forward with cultural 1617 | 1618 | 324 1619 | 00:21:27.990 --> 00:21:30.360 1620 | reconciliation, that this is a 1621 | problem. Like for example, the 1622 | 1623 | 325 1624 | 00:21:30.360 --> 00:21:34.020 1625 | way Uganda handled the HIV 1626 | crisis. And now the way 1627 | 1628 | 326 1629 | 00:21:34.020 --> 00:21:39.540 1630 | that that South Africa has started 1631 | to kind of demystify AIDS, 1632 | 1633 | 327 1634 | 00:21:40.350 --> 00:21:44.340 1635 | moving from myth to reality, 1636 | trying to think about very 1637 | 1638 | 328 1639 | 00:21:44.340 --> 00:21:46.920 1640 | publicly everywhere. As I move 1641 | around South Africa, I see signs 1642 | 1643 | 329 1644 | 00:21:47.160 --> 00:21:51.330 1645 | and billboards and television commercials 1646 | that are making sure that 1647 | 1648 | 330 1649 | 00:21:51.330 --> 00:21:54.240 1650 | people know their rights. You 1651 | cannot be fired from your 1652 | 1653 | 331 1654 | 00:21:54.240 --> 00:21:57.330 1655 | job because you have HIV. 1656 | It seems like some kind 1657 | 1658 | 332 1659 | 00:21:57.330 --> 00:22:02.970 1660 | of a Countrywide expression of, 1661 | of domestic violence and the 1662 | 1663 | 333 1664 | 00:22:02.970 --> 00:22:05.610 1665 | problem of domestic violence. The 1666 | same way that they're doing 1667 | 1668 | 334 1669 | 00:22:05.610 --> 00:22:08.970 1670 | with AIDS could, could move 1671 | the ball forward. Yes. I 1672 | 1673 | 335 1674 | 00:22:08.970 --> 00:22:13.110 1675 | think that it's very important 1676 | to go public about these 1677 | 1678 | 336 1679 | 00:22:13.110 --> 00:22:17.410 1680 | particular things. Let me just 1681 | share one Pepsi, one last 1682 | 1683 | 337 1684 | 00:22:17.740 --> 00:22:22.650 1685 | example of what we are 1686 | talking about until very recently 1687 | 1688 | 338 1689 | 00:22:22.770 --> 00:22:26.790 1690 | in Soto, we didn't, it 1691 | was not a crime where 1692 | 1693 | 339 1694 | 00:22:26.790 --> 00:22:29.010 1695 | it has been raped. His 1696 | wife. We didn't have a 1697 | 1698 | 340 1699 | 00:22:29.010 --> 00:22:33.330 1700 | crime called marital rape, but 1701 | in 2003, they passed a 1702 | 1703 | 341 1704 | 00:22:33.330 --> 00:22:36.570 1705 | law which makes marital rape 1706 | on offense. Now that is 1707 | 1708 | 342 1709 | 00:22:36.570 --> 00:22:39.540 1710 | not lead to a rash 1711 | of people going to court 1712 | 1713 | 343 1714 | 00:22:39.570 --> 00:22:42.330 1715 | to say, my husband has 1716 | raped me or that, but 1717 | 1718 | 344 1719 | 00:22:42.420 --> 00:22:45.990 1720 | it is a sign that 1721 | the law is coming to. 1722 | 1723 | 345 1724 | 00:22:45.990 --> 00:22:49.200 1725 | The reality that rape can 1726 | even take place within an 1727 | 1728 | 346 1729 | 00:22:49.200 --> 00:22:54.030 1730 | intimate relationship. So that to 1731 | me is a clear indication 1732 | 1733 | 347 1734 | 00:22:54.030 --> 00:22:59.400 1735 | that with some of these 1736 | culturally changed problems, you need 1737 | 1738 | 348 1739 | 00:22:59.730 --> 00:23:02.400 1740 | to have a law that 1741 | sends a message, but at 1742 | 1743 | 349 1744 | 00:23:02.460 --> 00:23:05.130 1745 | the same time, we then 1746 | need to mobilize the people, 1747 | 1748 | 350 1749 | 00:23:05.130 --> 00:23:08.670 1750 | raise consciousness and so on 1751 | so that the law can 1752 | 1753 | 351 1754 | 00:23:08.680 --> 00:23:14.100 1755 | then support that change in 1756 | the attitude. It's definitely a 1757 | 1758 | 352 1759 | 00:23:14.100 --> 00:23:16.950 1760 | step forward. Well, thank you 1761 | very much. Victor lecturer from 1762 | 1763 | 353 1764 | 00:23:16.950 --> 00:23:19.020 1765 | the university of the PSU 1766 | for taking the time to 1767 | 1768 | 354 1769 | 00:23:19.020 --> 00:23:21.180 1770 | chat with me. Thank you 1771 | very much. 1772 | 1773 | -------------------------------------------------------------------------------- /hm0048.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT FILE 2 | 3 | 1 4 | 00:00:12.330 --> 00:00:17.400 5 | From Hansel minutes.com. It's Hanselman. 6 | It's a weekly discussion with 7 | 8 | 2 9 | 00:00:17.400 --> 00:00:21.810 10 | web developer and technologists. Scott 11 | Hanselman posted by Carl Franklin. This 12 | 13 | 3 14 | 00:00:21.810 --> 00:00:26.220 15 | is Lawrence Ryan announcing show number 16 | 48. Recorded Wednesday, January 17, 17 | 18 | 4 19 | 00:00:26.580 --> 00:00:31.110 20 | 2007. Support for Hanselman it's 21 | is provided by COVID Smith 22 | 23 | 5 24 | 00:00:31.110 --> 00:00:34.320 25 | tools. Makers of code Smith. 26 | An extensive will tip the 27 | 28 | 6 29 | 00:00:34.320 --> 00:00:38.790 30 | base code generator for.net Hanselman. 31 | His listeners get $100 off 32 | 33 | 7 34 | 00:00:38.790 --> 00:00:45.030 35 | COVID Smith professional with coupon 36 | code H M 100. online@covidsmithtools.com. 37 | 38 | 8 39 | 00:00:45.780 --> 00:00:49.500 40 | Support is also provided by.net 41 | developers journal the world's leading.net 42 | 43 | 9 44 | 00:00:49.500 --> 00:00:55.200 45 | developer magazine online at www 46 | dot dot com. In 47 | 48 | 10 49 | 00:00:55.200 --> 00:00:58.020 50 | this episode, Scott talks with 51 | Chris Brooks and Eli Smith 52 | 53 | 11 54 | 00:00:58.050 --> 00:01:04.920 55 | about the trend in classic 56 | board gaming. Hi, this is 57 | 58 | 12 59 | 00:01:04.920 --> 00:01:07.470 60 | Scott Hanselman. And on this 61 | episode of Hansel minutes, we'll 62 | 63 | 13 64 | 00:01:07.470 --> 00:01:10.950 65 | be talking about board gaming, 66 | classic board gaming for the 67 | 68 | 14 69 | 00:01:10.950 --> 00:01:13.530 70 | programmer. There's a lot of 71 | HDTV out there. A lot 72 | 73 | 15 74 | 00:01:13.530 --> 00:01:16.200 75 | of PlayStation threes, a lot 76 | of 10 ADP going on, 77 | 78 | 16 79 | 00:01:16.200 --> 00:01:20.040 80 | but still more and more 81 | programmers are going to classic 82 | 83 | 17 84 | 00:01:20.040 --> 00:01:23.010 85 | board gaming. And with me, 86 | I've got Chris Brooks, my 87 | 88 | 18 89 | 00:01:23.010 --> 00:01:26.130 90 | CTO here at Kirlian. Who's 91 | also involved in a board 92 | 93 | 19 94 | 00:01:26.130 --> 00:01:29.400 95 | gaming company and I think 96 | a hardcore board gamer and 97 | 98 | 20 99 | 00:01:29.400 --> 00:01:32.310 100 | then my friend, Eli Smith 101 | and other hardcore board gamer. 102 | 103 | 21 104 | 00:01:32.460 --> 00:01:35.730 105 | Hi guys. Hi Scott always 106 | got, so we just came 107 | 108 | 22 109 | 00:01:35.730 --> 00:01:38.610 110 | from a, this Friday, we 111 | were sitting in the Karelian 112 | 113 | 23 114 | 00:01:38.610 --> 00:01:41.610 115 | break room, hanging out. We 116 | had about eight, nine guys 117 | 118 | 24 119 | 00:01:41.610 --> 00:01:44.850 120 | there. A bunch of guys 121 | brought and gals. A bunch 122 | 123 | 25 124 | 00:01:44.850 --> 00:01:46.980 125 | of people brought board games 126 | from home is something we 127 | 128 | 26 129 | 00:01:46.980 --> 00:01:49.740 130 | do at Kirlian. Is it 131 | it's every Friday, every Friday 132 | 133 | 27 134 | 00:01:49.740 --> 00:01:52.680 135 | at lunchtime. And I understand 136 | it's pretty consistent. They said 137 | 138 | 28 139 | 00:01:52.720 --> 00:01:56.190 140 | that's unusual. Oftentimes that's the 141 | first thing to drop off 142 | 143 | 29 144 | 00:01:56.190 --> 00:01:59.220 145 | is board gaming on the, 146 | on the being on company 147 | 148 | 30 149 | 00:01:59.220 --> 00:02:01.260 150 | time at the lunch at 151 | the lunch hour, but this 152 | 153 | 31 154 | 00:02:01.260 --> 00:02:02.730 155 | has been going on for 156 | the better part of a 157 | 158 | 32 159 | 00:02:02.730 --> 00:02:04.590 160 | year. Isn't it. We've been 161 | doing this for about a 162 | 163 | 33 164 | 00:02:04.590 --> 00:02:07.260 165 | year and a half, and 166 | we have about 15 people 167 | 168 | 34 169 | 00:02:07.260 --> 00:02:10.230 170 | on our distribution list and 171 | we'll get anywhere from five 172 | 173 | 35 174 | 00:02:10.230 --> 00:02:13.890 175 | to eight or nine on 176 | a given day. Now we're 177 | 178 | 36 179 | 00:02:13.980 --> 00:02:18.570 180 | mostly programmers share. There's some 181 | QA everyone's technical. Why are 182 | 183 | 37 184 | 00:02:18.570 --> 00:02:20.910 185 | people turning to board gaming 186 | now? Is this a, is 187 | 188 | 38 189 | 00:02:20.910 --> 00:02:23.250 190 | this a Renaissance? Is this 191 | a new 21st century thing 192 | 193 | 39 194 | 00:02:23.250 --> 00:02:24.750 195 | or people who've been doing 196 | this for a long time? 197 | 198 | 40 199 | 00:02:25.380 --> 00:02:28.350 200 | Well, the Renaissance has really 201 | been about what about six, 202 | 203 | 41 204 | 00:02:28.350 --> 00:02:31.890 205 | seven years now with the 206 | advent of settlers of Catan 207 | 208 | 42 209 | 00:02:31.890 --> 00:02:34.110 210 | reaching American shore has really 211 | brought a resurgence of board 212 | 213 | 43 214 | 00:02:34.110 --> 00:02:36.090 215 | game in America. And I 216 | think that the programmers are 217 | 218 | 44 219 | 00:02:36.090 --> 00:02:37.830 220 | attracted to it because it's 221 | a way to unplug and 222 | 223 | 45 224 | 00:02:37.830 --> 00:02:41.310 225 | get back to dealing with 226 | people face to face. It 227 | 228 | 46 229 | 00:02:41.310 --> 00:02:44.340 230 | has the tactile sensation behind 231 | a keyboard. And, and I 232 | 233 | 47 234 | 00:02:44.340 --> 00:02:46.950 235 | think that's what, what people 236 | like about it. And is 237 | 238 | 48 239 | 00:02:46.950 --> 00:02:49.560 240 | it, is it all fundamentally 241 | problem solving or programmers doing 242 | 243 | 49 244 | 00:02:49.560 --> 00:02:52.410 245 | this because it's a problem 246 | solving thing. A here's the 247 | 248 | 50 249 | 00:02:52.410 --> 00:02:56.580 250 | rules that we work within. 251 | Here's your goal work within 252 | 253 | 51 254 | 00:02:56.580 --> 00:02:59.650 255 | that, that structure? Yeah, I 256 | think that has something to 257 | 258 | 52 259 | 00:02:59.650 --> 00:03:02.340 260 | do with it. And is 261 | this something that is, you 262 | 263 | 53 264 | 00:03:02.340 --> 00:03:04.440 265 | said it reached American shores, 266 | so there's a, there's a 267 | 268 | 54 269 | 00:03:04.440 --> 00:03:07.560 270 | game he's called it. Settlers 271 | of Catan. Chris, would you 272 | 273 | 55 274 | 00:03:07.560 --> 00:03:11.070 275 | agree that that's when things 276 | started? Yeah, I think the 277 | 278 | 56 279 | 00:03:11.240 --> 00:03:17.040 280 | modern board gaming trend started 281 | about 10 years ago when 282 | 283 | 57 284 | 00:03:17.040 --> 00:03:20.940 285 | settlers of Catan was released 286 | originally in Germany. And it 287 | 288 | 58 289 | 00:03:20.940 --> 00:03:23.880 290 | started a new genre of 291 | games that are sometimes called 292 | 293 | 59 294 | 00:03:23.880 --> 00:03:28.620 295 | German games or Euro games 296 | that was translated. English came 297 | 298 | 60 299 | 00:03:28.620 --> 00:03:32.640 300 | to the United States and started 301 | a somewhat of a revolution 302 | 303 | 61 304 | 00:03:32.670 --> 00:03:36.300 305 | in board gaming within the 306 | United States. No, I saw that 307 | 308 | 62 309 | 00:03:36.300 --> 00:03:39.060 310 | both of you sent me 311 | links to a website that 312 | 313 | 63 314 | 00:03:39.060 --> 00:03:40.830 315 | had a list of your 316 | games. And I see that 317 | 318 | 64 319 | 00:03:40.830 --> 00:03:43.530 320 | most real hardcore gamers go 321 | to this particular site. They 322 | 323 | 65 324 | 00:03:43.530 --> 00:03:46.530 325 | have a list, Eli, you've 326 | got 200 plus games. Chris, 327 | 328 | 66 329 | 00:03:46.530 --> 00:03:49.260 330 | you've got a whole gaming 331 | room. I've, I've got about 332 | 333 | 67 334 | 00:03:49.290 --> 00:03:52.260 335 | 400 games in my collection, 336 | but I'm, I'm trying to 337 | 338 | 68 339 | 00:03:52.260 --> 00:03:54.330 340 | keep that flat. So I'm 341 | trying to sell or give 342 | 343 | 69 344 | 00:03:54.330 --> 00:03:56.760 345 | away as many as I 346 | buy in a given year. 347 | 348 | 70 349 | 00:03:57.630 --> 00:04:00.180 350 | So you remodeled a room 351 | of your house explicitly for 352 | 353 | 71 354 | 00:04:00.180 --> 00:04:02.940 355 | the purposes of gaming. I've 356 | seen the wall of games 357 | 358 | 72 359 | 00:04:04.110 --> 00:04:08.850 360 | Walls. Yes. Yes. I, we, 361 | we turned our upstairs kind 362 | 363 | 73 364 | 00:04:08.850 --> 00:04:11.100 365 | of bonus room that we 366 | have the computers in and 367 | 368 | 74 369 | 00:04:11.100 --> 00:04:13.260 370 | the kids do a lot 371 | of computer gaming there as 372 | 373 | 75 374 | 00:04:13.260 --> 00:04:15.210 375 | well. We turn that into 376 | our gaming room and it 377 | 378 | 76 379 | 00:04:15.210 --> 00:04:18.570 380 | has art decoration that has 381 | board game covers and then 382 | 383 | 77 384 | 00:04:18.570 --> 00:04:22.200 385 | lots of shelf space for 386 | my board game collection. And 387 | 388 | 78 389 | 00:04:22.200 --> 00:04:24.090 390 | you've got two kids and 391 | Eli, you just had a 392 | 393 | 79 394 | 00:04:24.090 --> 00:04:26.910 395 | baby. It seems like programmers 396 | are not only wanting to 397 | 398 | 80 399 | 00:04:26.910 --> 00:04:28.290 400 | do this, but they want 401 | to share it with their 402 | 403 | 81 404 | 00:04:28.290 --> 00:04:31.140 405 | kids. And is it the 406 | social aspect, the problem solving? 407 | 408 | 82 409 | 00:04:31.140 --> 00:04:34.590 410 | How does this affect like 411 | your kids, Chris? It's a, 412 | 413 | 83 414 | 00:04:34.740 --> 00:04:38.190 415 | I think to Eli's point 416 | earlier about being unplugged. I 417 | 418 | 84 419 | 00:04:38.190 --> 00:04:40.980 420 | think there is, if you 421 | look at the generation of 422 | 423 | 85 424 | 00:04:41.230 --> 00:04:45.660 425 | kids today and even 20 426 | somethings, they've grown up immersed 427 | 428 | 86 429 | 00:04:45.660 --> 00:04:48.600 430 | in technology. And I think 431 | there's a desire on my 432 | 433 | 87 434 | 00:04:48.600 --> 00:04:50.310 435 | part as a parent to 436 | want to make sure my 437 | 438 | 88 439 | 00:04:50.310 --> 00:04:54.390 440 | kids treasure the face to 441 | face interaction that comes from 442 | 443 | 89 444 | 00:04:54.390 --> 00:04:58.530 445 | social activities, whether it's sports 446 | or sitting down and playing 447 | 448 | 90 449 | 00:04:58.530 --> 00:05:02.340 450 | a family board game, like, 451 | like we play Now Eli, 452 | 453 | 91 454 | 00:05:02.370 --> 00:05:03.810 455 | how would you say this 456 | is different from the kind 457 | 458 | 92 459 | 00:05:03.810 --> 00:05:05.550 460 | of the Parker brothers stuff? 461 | I mean, I'm not a 462 | 463 | 93 464 | 00:05:05.550 --> 00:05:09.300 465 | board gamer. I'm, I'm thinking 466 | about getting involved, but from 467 | 468 | 94 469 | 00:05:09.300 --> 00:05:11.070 470 | my point of view, it's 471 | like, can I really afford 472 | 473 | 95 474 | 00:05:11.070 --> 00:05:13.800 475 | yet another hobby? Am I 476 | going to become a collector? 477 | 478 | 96 479 | 00:05:13.800 --> 00:05:15.750 480 | Is this going to suck 481 | all my money? I can 482 | 483 | 97 484 | 00:05:15.750 --> 00:05:17.130 485 | take up, hang gliding. I 486 | have to buy all the 487 | 488 | 98 489 | 00:05:17.130 --> 00:05:18.810 490 | hand gliding equipment. I assume 491 | I have to buy board 492 | 493 | 99 494 | 00:05:18.810 --> 00:05:22.680 495 | gaming equipment. I do have 496 | sorry and monopoly, but that 497 | 498 | 100 499 | 00:05:22.680 --> 00:05:24.330 500 | doesn't seem to be the 501 | same kind of thing. It's 502 | 503 | 101 504 | 00:05:24.330 --> 00:05:26.580 505 | not the same board game. 506 | How is this different than 507 | 508 | 102 509 | 00:05:26.580 --> 00:05:30.450 510 | Parker brothers? The differences is 511 | basically How much your decisions 512 | 513 | 103 514 | 00:05:30.480 --> 00:05:33.390 515 | impact, how well you perform 516 | in the game. I'm in 517 | 518 | 104 519 | 00:05:33.390 --> 00:05:35.700 520 | a lot of Parker, brothers 521 | and more traditional American style 522 | 523 | 105 524 | 00:05:35.700 --> 00:05:38.520 525 | board games. Your choices are 526 | very limited by how well 527 | 528 | 106 529 | 00:05:38.520 --> 00:05:40.740 530 | you roll dice or what 531 | cards you draw in the 532 | 533 | 107 534 | 00:05:40.740 --> 00:05:43.140 535 | German games. You have a 536 | lot more decisions to make, 537 | 538 | 108 539 | 00:05:43.140 --> 00:05:45.450 540 | and those directly impact how 541 | well you perform in the 542 | 543 | 109 544 | 00:05:45.450 --> 00:05:50.340 545 | game. More like chess than 546 | say, sorry, another thing I 547 | 548 | 110 549 | 00:05:50.340 --> 00:05:53.550 550 | want to add. That's all 551 | too common in, in traditional 552 | 553 | 111 554 | 00:05:53.550 --> 00:05:56.940 555 | American games. And I would 556 | include games like risk and 557 | 558 | 112 559 | 00:05:57.440 --> 00:06:01.760 560 | where it's not uncommon to 561 | have player elimination where you 562 | 563 | 113 564 | 00:06:01.760 --> 00:06:04.670 565 | might have a game go 566 | on for four hours. And 567 | 568 | 114 569 | 00:06:04.700 --> 00:06:06.890 570 | there's only two players left 571 | for the last two hours 572 | 573 | 115 574 | 00:06:06.890 --> 00:06:09.170 575 | of that game. And I 576 | don't think that's great for 577 | 578 | 116 579 | 00:06:09.170 --> 00:06:11.990 580 | a family setting. First, it 581 | encourages beating up on each 582 | 583 | 117 584 | 00:06:11.990 --> 00:06:15.050 585 | other and wanting to be 586 | the only guy left a 587 | 588 | 118 589 | 00:06:15.050 --> 00:06:17.600 590 | lot of the German games 591 | and even newer American games 592 | 593 | 119 594 | 00:06:17.600 --> 00:06:20.660 595 | that we play have mechanics 596 | built in to keep everybody 597 | 598 | 120 599 | 00:06:20.660 --> 00:06:24.020 600 | in the game until the 601 | end and often a disguise 602 | 603 | 121 604 | 00:06:24.020 --> 00:06:26.300 605 | to some extent who might 606 | be in the lead. So 607 | 608 | 122 609 | 00:06:26.300 --> 00:06:28.100 610 | there's a lot of tension 611 | as you get to the 612 | 613 | 123 614 | 00:06:28.100 --> 00:06:29.870 615 | end of game of even 616 | knowing who's going to win 617 | 618 | 124 619 | 00:06:29.870 --> 00:06:32.500 620 | the game. Yeah. That's a 621 | really interesting point. I didn't 622 | 623 | 125 624 | 00:06:32.500 --> 00:06:34.570 625 | even think about that. I 626 | mean, they're using the examples 627 | 628 | 126 629 | 00:06:34.570 --> 00:06:37.330 630 | that I just gave of, 631 | sorry, and monopoly risk. You 632 | 633 | 127 634 | 00:06:37.330 --> 00:06:40.690 635 | all games where people get 636 | pretty worked up. We took, 637 | 638 | 128 639 | 00:06:40.690 --> 00:06:43.450 640 | we played monopoly a couple 641 | of weeks ago and you 642 | 643 | 129 644 | 00:06:43.450 --> 00:06:45.970 645 | know, some of the younger 646 | kids got pretty intense as 647 | 648 | 130 649 | 00:06:45.970 --> 00:06:49.930 650 | they started to attain wealth. 651 | They started to really dog 652 | 653 | 131 654 | 00:06:49.930 --> 00:06:53.290 655 | on the other kids. All 656 | of those games involve elimination. 657 | 658 | 132 659 | 00:06:53.290 --> 00:06:54.880 660 | They drag on and it 661 | does get kind of boring. 662 | 663 | 133 664 | 00:06:55.210 --> 00:06:57.880 665 | We just played a game 666 | called 10 days in Africa. 667 | 668 | 134 669 | 00:06:58.270 --> 00:07:00.190 670 | And there was a lot 671 | of tension. I realized that 672 | 673 | 135 674 | 00:07:00.460 --> 00:07:03.580 675 | I was like seconds from 676 | winning. And then Chris came 677 | 678 | 136 679 | 00:07:03.580 --> 00:07:06.280 680 | from nowhere and won the 681 | game. I thought that was, 682 | 683 | 137 684 | 00:07:06.280 --> 00:07:09.550 685 | that's a very interesting point. 686 | Now, do you feel that 687 | 688 | 138 689 | 00:07:09.550 --> 00:07:12.610 690 | this helps you in your 691 | programming job and your technical 692 | 693 | 139 694 | 00:07:12.610 --> 00:07:13.960 695 | job? Does it, is it, 696 | is it a more of 697 | 698 | 140 699 | 00:07:13.960 --> 00:07:16.450 700 | a relaxation or does it 701 | honestly give you a new 702 | 703 | 141 704 | 00:07:16.450 --> 00:07:19.750 705 | ways to think about and 706 | solve problems? I do know 707 | 708 | 142 709 | 00:07:19.750 --> 00:07:22.720 710 | for a fact that people 711 | that work in technology, particularly 712 | 713 | 143 714 | 00:07:22.720 --> 00:07:26.890 715 | programmers tend towards these sorts 716 | of games. If you look 717 | 718 | 144 719 | 00:07:26.890 --> 00:07:30.430 720 | at the communities out there 721 | that are on the internet 722 | 723 | 145 724 | 00:07:30.790 --> 00:07:33.250 725 | mailing lists, or even that 726 | come to conventions for these 727 | 728 | 146 729 | 00:07:33.250 --> 00:07:37.300 730 | sorts of games, there's a 731 | pretty significant overlap of technologists 732 | 733 | 147 734 | 00:07:37.330 --> 00:07:40.060 735 | and, and board gamers. So 736 | I think there have to 737 | 738 | 148 739 | 00:07:40.060 --> 00:07:43.420 740 | be some traits in common. 741 | I think your comments before, 742 | 743 | 149 744 | 00:07:43.420 --> 00:07:49.780 745 | around living within a rule 746 | structure, trying to optimize your, 747 | 748 | 150 749 | 00:07:49.780 --> 00:07:53.380 750 | your choices that you make, 751 | even the notion of design 752 | 753 | 151 754 | 00:07:53.380 --> 00:07:57.640 755 | patterns, which are common and 756 | software find their way into, 757 | 758 | 152 759 | 00:07:57.640 --> 00:08:00.580 760 | into board games in terms 761 | of mechanics that show up 762 | 763 | 153 764 | 00:08:00.580 --> 00:08:02.620 765 | in games. So I do 766 | think there's a lot of 767 | 768 | 154 769 | 00:08:02.620 --> 00:08:06.910 770 | overlap and I think that 771 | it it's just a tendency 772 | 773 | 155 774 | 00:08:06.910 --> 00:08:09.280 775 | based on characteristics of people. 776 | Those that tend to be 777 | 778 | 156 779 | 00:08:09.280 --> 00:08:12.640 780 | more creative and don't like 781 | rules as much. They might 782 | 783 | 157 784 | 00:08:12.640 --> 00:08:16.480 785 | tend more towards party games 786 | that have a lot, even 787 | 788 | 158 789 | 00:08:16.480 --> 00:08:21.730 790 | more social interactions, games like 791 | taboo or Pictionary, where there's 792 | 793 | 159 794 | 00:08:21.770 --> 00:08:24.100 795 | much more of a creative 796 | element. Those sorts of games 797 | 798 | 160 799 | 00:08:24.100 --> 00:08:27.670 800 | actually are not as popular 801 | in most cases in this 802 | 803 | 161 804 | 00:08:27.670 --> 00:08:30.850 805 | board gaming circle, huh? When 806 | we were playing 10 days 807 | 808 | 162 809 | 00:08:30.850 --> 00:08:33.520 810 | in Africa, which was, I've 811 | got a one game that 812 | 813 | 163 814 | 00:08:33.520 --> 00:08:35.260 815 | you gave me for Christmas 816 | last year that we played 817 | 818 | 164 819 | 00:08:35.260 --> 00:08:37.690 820 | two on two it's a 821 | card game, but this was 822 | 823 | 165 824 | 00:08:37.690 --> 00:08:39.700 825 | my first time in a 826 | group and a large group. 827 | 828 | 166 829 | 00:08:39.970 --> 00:08:42.070 830 | We're four, four people I 831 | think, played this game, a 832 | 833 | 167 834 | 00:08:42.070 --> 00:08:44.470 835 | larger group. And I was 836 | getting confused with some of 837 | 838 | 168 839 | 00:08:44.620 --> 00:08:46.960 840 | the mechanics. And you said, 841 | Oh, well this is just 842 | 843 | 169 844 | 00:08:46.960 --> 00:08:49.630 845 | a standard card swapping. You, 846 | you hit some kind of 847 | 848 | 170 849 | 00:08:49.630 --> 00:08:52.770 850 | a LA carte swapping, continuous 851 | building game, you know, it's, 852 | 853 | 171 854 | 00:08:52.770 --> 00:08:54.610 855 | it's very similar to, and 856 | then you rattle off a 857 | 858 | 172 859 | 00:08:54.610 --> 00:08:57.090 860 | number of from games. Is 861 | that the kind of pattern 862 | 863 | 173 864 | 00:08:57.090 --> 00:08:59.310 865 | that you're talking about? I 866 | mean, the, the, the cards 867 | 868 | 174 869 | 00:08:59.310 --> 00:09:01.020 870 | changed the look and feel 871 | change. I know that you 872 | 873 | 175 874 | 00:09:01.020 --> 00:09:04.590 875 | guys admire the packaging, but 876 | there are only so many 877 | 878 | 176 879 | 00:09:04.590 --> 00:09:07.490 880 | ways that you could structure 881 | a game, right? Yeah. That 882 | 883 | 177 884 | 00:09:07.490 --> 00:09:10.070 885 | we've discovered so far. And, 886 | and Eli might want to 887 | 888 | 178 889 | 00:09:10.070 --> 00:09:13.130 890 | comment on this too, but 891 | I think that most games 892 | 893 | 179 894 | 00:09:13.130 --> 00:09:19.940 895 | you find today assemble mechanics 896 | and theme in different ways, 897 | 898 | 180 899 | 00:09:19.970 --> 00:09:23.780 900 | but it's fairly rare to 901 | see a new mechanic. I'm 902 | 903 | 181 904 | 00:09:23.780 --> 00:09:26.450 905 | the one that actually comes 906 | to mind that was the 907 | 908 | 182 909 | 00:09:26.450 --> 00:09:29.150 910 | most innovative in the last 911 | 20 years was actually the 912 | 913 | 183 914 | 00:09:29.420 --> 00:09:32.180 915 | magic, the gathering card game, 916 | which I'm sure most people 917 | 918 | 184 919 | 00:09:32.180 --> 00:09:34.670 920 | have heard of. And that 921 | was a craze in the, 922 | 923 | 185 924 | 00:09:34.670 --> 00:09:37.280 925 | in the mid nineties. And 926 | it continues to be popular 927 | 928 | 186 929 | 00:09:37.280 --> 00:09:40.250 930 | today. That's probably, even though 931 | it's not a board game, 932 | 933 | 187 934 | 00:09:40.250 --> 00:09:43.160 935 | that's probably the most innovative 936 | thing that's happened within gaming 937 | 938 | 188 939 | 00:09:43.160 --> 00:09:45.980 940 | in the last 15 to 941 | 20 years. And people are 942 | 943 | 189 944 | 00:09:46.160 --> 00:09:48.680 945 | sitting around waiting for what's 946 | the next big thing that's 947 | 948 | 190 949 | 00:09:48.680 --> 00:09:51.590 950 | going to hit around mechanics. 951 | But yeah, true. Most of 952 | 953 | 191 954 | 00:09:51.590 --> 00:09:54.020 955 | the MCAT, most of the 956 | games that I play tend 957 | 958 | 192 959 | 00:09:54.020 --> 00:09:56.840 960 | to have very similar mechanics, 961 | but they're often assembled in 962 | 963 | 193 964 | 00:09:56.840 --> 00:10:00.770 965 | interesting ways, Two questions then 966 | first is going to be, 967 | 968 | 194 969 | 00:10:00.770 --> 00:10:02.470 970 | how do you get started? 971 | And we'll talk about that. 972 | 973 | 195 974 | 00:10:02.480 --> 00:10:03.890 975 | Cause I want to hear 976 | your list. If, if I 977 | 978 | 196 979 | 00:10:03.890 --> 00:10:06.290 980 | was going to go out, 981 | which I will after this 982 | 983 | 197 984 | 00:10:06.290 --> 00:10:09.050 985 | interview and buy three, four, 986 | five games and try to, 987 | 988 | 198 989 | 00:10:09.110 --> 00:10:11.450 990 | you know, how do you 991 | incorporate this into your life? 992 | 993 | 199 994 | 00:10:11.480 --> 00:10:14.150 995 | Is this just an after 996 | dinner activity? Do you have, 997 | 998 | 200 999 | 00:10:14.150 --> 00:10:16.280 1000 | do you guys get together 1001 | with groups on the weekends? 1002 | 1003 | 201 1004 | 00:10:16.910 --> 00:10:19.400 1005 | What's, what's a good way 1006 | to start in, in doing 1007 | 1008 | 202 1009 | 00:10:19.400 --> 00:10:20.900 1010 | this, the seat, do you 1011 | know, put your foot in 1012 | 1013 | 203 1014 | 00:10:20.900 --> 00:10:23.330 1015 | the water and see if 1016 | you like playing board games? 1017 | 1018 | 204 1019 | 00:10:23.810 --> 00:10:25.790 1020 | Well, if you have interested 1021 | friends or family members where 1022 | 1023 | 205 1024 | 00:10:25.810 --> 00:10:28.610 1025 | those are going to be 1026 | the easiest to approach another 1027 | 1028 | 206 1029 | 00:10:28.610 --> 00:10:32.880 1030 | good resource, if you're looking 1031 | for meeting more strangers or 1032 | 1033 | 207 1034 | 00:10:32.900 --> 00:10:34.820 1035 | playing with a different group 1036 | of people, then maybe the 1037 | 1038 | 208 1039 | 00:10:34.820 --> 00:10:37.250 1040 | people, you know, they're not 1041 | interested as there's lots of 1042 | 1043 | 209 1044 | 00:10:37.250 --> 00:10:40.220 1045 | local groups on Yahoo. There's 1046 | a group called PDX gamers. 1047 | 1048 | 210 1049 | 00:10:40.220 --> 00:10:43.880 1050 | You can join that group. 1051 | They have announcements of game 1052 | 1053 | 211 1054 | 00:10:43.880 --> 00:10:46.700 1055 | events going on around the 1056 | city. That would be Portland. 1057 | 1058 | 212 1059 | 00:10:47.000 --> 00:10:49.280 1060 | Since we have an international 1061 | crowd, do maybe Craigslist would 1062 | 1063 | 213 1064 | 00:10:49.280 --> 00:10:50.810 1065 | be a place to look 1066 | for gamers. Do you think? 1067 | 1068 | 214 1069 | 00:10:50.810 --> 00:10:53.870 1070 | Or, Well, board game geek 1071 | has a whole section devoted 1072 | 1073 | 215 1074 | 00:10:53.930 --> 00:10:57.230 1075 | to game groups in local 1076 | areas. So you can post 1077 | 1078 | 216 1079 | 00:10:57.230 --> 00:10:58.880 1080 | there's a, Hey, I'm looking 1081 | for a game group, they've 1082 | 1083 | 217 1084 | 00:10:58.880 --> 00:11:02.390 1085 | got it divided by state. 1086 | So whatever state you're in, 1087 | 1088 | 218 1089 | 00:11:02.390 --> 00:11:04.220 1090 | you can go to that 1091 | site post on that forum 1092 | 1093 | 219 1094 | 00:11:04.220 --> 00:11:05.780 1095 | and say, Hey, I'm looking 1096 | for a game group. It 1097 | 1098 | 220 1099 | 00:11:05.780 --> 00:11:08.360 1100 | just requires a free registration. 1101 | Yeah. I'm also going to 1102 | 1103 | 221 1104 | 00:11:08.360 --> 00:11:10.340 1105 | refer and these will show 1106 | up in the show notes, 1107 | 1108 | 222 1109 | 00:11:10.340 --> 00:11:13.310 1110 | but there are actually a 1111 | couple of podcasts that I'll 1112 | 1113 | 223 1114 | 00:11:13.310 --> 00:11:17.240 1115 | refer listeners to that actually 1116 | have kind of an episode 1117 | 1118 | 224 1119 | 00:11:17.240 --> 00:11:20.930 1120 | zero of their maybe a 1121 | hundred or more podcasts that 1122 | 1123 | 225 1124 | 00:11:20.930 --> 00:11:23.930 1125 | focus on what are called 1126 | gateway games. How do you 1127 | 1128 | 226 1129 | 00:11:23.930 --> 00:11:26.630 1130 | get into the hobby? What 1131 | are the best games to 1132 | 1133 | 227 1134 | 00:11:26.630 --> 00:11:28.850 1135 | get started and say, Hey, 1136 | is this something that really 1137 | 1138 | 228 1139 | 00:11:28.850 --> 00:11:32.060 1140 | is, is my thing or, 1141 | and they're games that you're 1142 | 1143 | 229 1144 | 00:11:32.060 --> 00:11:34.040 1145 | likely going to enjoy, but 1146 | if you don't like them 1147 | 1148 | 230 1149 | 00:11:34.040 --> 00:11:35.390 1150 | a lot, then maybe you 1151 | want to look for a 1152 | 1153 | 231 1154 | 00:11:35.390 --> 00:11:38.180 1155 | different hobby. I can mention 1156 | a few of those games 1157 | 1158 | 232 1159 | 00:11:38.180 --> 00:11:40.670 1160 | that will show up in 1161 | those podcasts. I think a 1162 | 1163 | 233 1164 | 00:11:40.670 --> 00:11:44.750 1165 | one that's come out recently, 1166 | that's become extremely popular as 1167 | 1168 | 234 1169 | 00:11:44.750 --> 00:11:47.090 1170 | a gateway game, as a 1171 | game called ticket to ride. 1172 | 1173 | 235 1174 | 00:11:47.690 --> 00:11:51.770 1175 | And this is a game 1176 | of building train connections in 1177 | 1178 | 236 1179 | 00:11:51.770 --> 00:11:55.720 1180 | America, settlers of Catan, which 1181 | we already mentioned is another 1182 | 1183 | 237 1184 | 00:11:55.720 --> 00:11:59.830 1185 | great choice and a carcass 1186 | on which is a game 1187 | 1188 | 238 1189 | 00:11:59.830 --> 00:12:04.480 1190 | about building castles and other 1191 | types of buildings. And France 1192 | 1193 | 239 1194 | 00:12:04.930 --> 00:12:08.050 1195 | is another very popular one. 1196 | And there's a board game 1197 | 1198 | 240 1199 | 00:12:08.050 --> 00:12:10.570 1200 | geek that Eli mentioned is 1201 | a great website to go 1202 | 1203 | 241 1204 | 00:12:10.570 --> 00:12:14.190 1205 | find other games that others 1206 | find pockets. Okay, Eli, what 1207 | 1208 | 242 1209 | 00:12:14.190 --> 00:12:17.160 1210 | are you, what are your 1211 | gateway games? I'm a little 1212 | 1213 | 243 1214 | 00:12:17.160 --> 00:12:19.980 1215 | bit more, since we've seen 1216 | this European resurgence, it's also 1217 | 1218 | 244 1219 | 00:12:19.980 --> 00:12:24.510 1220 | triggered an American resurgence with 1221 | publishers like fantasy flight and, 1222 | 1223 | 245 1224 | 00:12:24.590 --> 00:12:27.120 1225 | and a few others here 1226 | into the States and they 1227 | 1228 | 246 1229 | 00:12:27.120 --> 00:12:29.760 1230 | do it slightly different style 1231 | of game. And I like 1232 | 1233 | 247 1234 | 00:12:29.760 --> 00:12:31.710 1235 | a lot of their titles, 1236 | especially in those silver line, 1237 | 1238 | 248 1239 | 00:12:31.710 --> 00:12:35.040 1240 | which tends more towards those 1241 | European mechanics. I really make 1242 | 1243 | 249 1244 | 00:12:35.040 --> 00:12:37.260 1245 | a recommend a DragCon. I 1246 | think it's a great game, 1247 | 1248 | 250 1249 | 00:12:37.260 --> 00:12:40.470 1250 | especially for those in the 1251 | technical field. It's about building 1252 | 1253 | 251 1254 | 00:12:40.470 --> 00:12:43.290 1255 | loops and structures, which are 1256 | beneficial to you or detrimental 1257 | 1258 | 252 1259 | 00:12:43.290 --> 00:12:46.740 1260 | to your opponent. I love 1261 | robo rally. I think that's 1262 | 1263 | 253 1264 | 00:12:46.740 --> 00:12:49.500 1265 | a great game. It's about 1266 | programming robots with an instruction 1267 | 1268 | 254 1269 | 00:12:49.500 --> 00:12:51.510 1270 | set and then setting them 1271 | loose to cause chaos on 1272 | 1273 | 255 1274 | 00:12:51.510 --> 00:12:54.750 1275 | a factory floor. I really 1276 | recommend those games. And just 1277 | 1278 | 256 1279 | 00:12:54.750 --> 00:12:57.920 1280 | because you don't like some 1281 | of the recommended gateway games, 1282 | 1283 | 257 1284 | 00:12:57.930 --> 00:13:00.480 1285 | I say, don't abandon it 1286 | right away. You might just 1287 | 1288 | 258 1289 | 00:13:00.480 --> 00:13:02.490 1290 | not be playing a game 1291 | that suits your taste or 1292 | 1293 | 259 1294 | 00:13:02.490 --> 00:13:05.130 1295 | your style. Some people like 1296 | more confrontation. Some people like 1297 | 1298 | 260 1299 | 00:13:05.160 --> 00:13:08.250 1300 | less, and there's such a 1301 | wide variety out there. It's 1302 | 1303 | 261 1304 | 00:13:09.000 --> 00:13:11.700 1305 | really takes some finesse to 1306 | find those games that really 1307 | 1308 | 262 1309 | 00:13:11.700 --> 00:13:14.970 1310 | match your style and your 1311 | personality. And is this going 1312 | 1313 | 263 1314 | 00:13:14.970 --> 00:13:18.150 1315 | to be an expensive hobby 1316 | for me? It's expensive as 1317 | 1318 | 264 1319 | 00:13:18.150 --> 00:13:20.880 1320 | you want it to be. 1321 | Now, Chris, I understand that 1322 | 1323 | 265 1324 | 00:13:20.880 --> 00:13:23.580 1325 | you actually have, or either 1326 | have, or you're a partner 1327 | 1328 | 266 1329 | 00:13:23.580 --> 00:13:26.700 1330 | in a board gaming company. 1331 | Yes. I'm one of the 1332 | 1333 | 267 1334 | 00:13:27.060 --> 00:13:30.000 1335 | founders and owners of a 1336 | game company called sun river 1337 | 1338 | 268 1339 | 00:13:30.000 --> 00:13:34.500 1340 | games. It's very much a 1341 | moonlighting venture for me. And 1342 | 1343 | 269 1344 | 00:13:34.500 --> 00:13:37.260 1345 | about three of my friends 1346 | in the greater Portland area. 1347 | 1348 | 270 1349 | 00:13:37.770 --> 00:13:41.580 1350 | And it's mostly a vehicle 1351 | for us to publish games 1352 | 1353 | 271 1354 | 00:13:41.580 --> 00:13:45.090 1355 | that are actually designed by 1356 | people within the company. So 1357 | 1358 | 272 1359 | 00:13:45.090 --> 00:13:47.340 1360 | we published our first game 1361 | havoc, the a hundred years 1362 | 1363 | 273 1364 | 00:13:47.340 --> 00:13:49.110 1365 | war about a year and 1366 | a half ago. That was 1367 | 1368 | 274 1369 | 00:13:49.110 --> 00:13:52.320 1370 | the designed by Casey Humphrey. 1371 | And this year we published 1372 | 1373 | 275 1374 | 00:13:52.320 --> 00:13:55.890 1375 | a couple of games, one 1376 | called a 24 seven, which 1377 | 1378 | 276 1379 | 00:13:55.890 --> 00:13:59.970 1380 | is a great math game 1381 | for, for families and kids. 1382 | 1383 | 277 1384 | 00:14:00.600 --> 00:14:03.390 1385 | It's, it's very popular right 1386 | now that was published in 1387 | 1388 | 278 1389 | 00:14:03.390 --> 00:14:06.810 1390 | October and just hot on 1391 | the shelves is a game 1392 | 1393 | 279 1394 | 00:14:06.810 --> 00:14:10.650 1395 | called ink and gold, which 1396 | is our first published game 1397 | 1398 | 280 1399 | 00:14:10.650 --> 00:14:14.280 1400 | by another designer. It's actually 1401 | designed by Alan Moon and Bruno 1402 | 1403 | 281 1404 | 00:14:14.280 --> 00:14:16.650 1405 | fide duty. And Allen is 1406 | happens to be the designer 1407 | 1408 | 282 1409 | 00:14:16.650 --> 00:14:18.420 1410 | of the ticket to ride 1411 | game that I just mentioned. 1412 | 1413 | 283 1414 | 00:14:18.810 --> 00:14:20.850 1415 | And the 10 days in 1416 | Africa game that we played 1417 | 1418 | 284 1419 | 00:14:20.850 --> 00:14:24.090 1420 | earlier, and that game is 1421 | a, it's a great big 1422 | 1423 | 285 1424 | 00:14:24.120 --> 00:14:26.580 1425 | group game that has, it's 1426 | a pressure luck. I'm an 1427 | 1428 | 286 1429 | 00:14:26.580 --> 00:14:29.880 1430 | Indiana Jones type character going 1431 | down into a, some Incan 1432 | 1433 | 287 1434 | 00:14:29.880 --> 00:14:33.000 1435 | temples trying to get treasure. 1436 | And it's a great family 1437 | 1438 | 288 1439 | 00:14:33.000 --> 00:14:35.790 1440 | party game. Oh, that's cool. 1441 | That's amazing. It sounds like 1442 | 1443 | 289 1444 | 00:14:35.790 --> 00:14:38.970 1445 | it's a very tight knit 1446 | community. I mean, you're my 1447 | 1448 | 290 1449 | 00:14:38.970 --> 00:14:41.100 1450 | boss and you're my CTO 1451 | here at the company, but 1452 | 1453 | 291 1454 | 00:14:41.790 --> 00:14:44.520 1455 | it seems like quite a 1456 | coincidence that, that your games 1457 | 1458 | 292 1459 | 00:14:44.520 --> 00:14:47.340 1460 | are selling well, you're in 1461 | this deep into this kind 1462 | 1463 | 293 1464 | 00:14:47.340 --> 00:14:50.040 1465 | of group. How many people 1466 | are out there producing games? 1467 | 1468 | 294 1469 | 00:14:50.040 --> 00:14:52.730 1470 | I mean, you, you didn't 1471 | make up a game and 1472 | 1473 | 295 1474 | 00:14:52.730 --> 00:14:55.070 1475 | then draw some things on 1476 | cardboard. I mean, I've seen 1477 | 1478 | 296 1479 | 00:14:55.070 --> 00:14:58.040 1480 | these games, they're very professional. 1481 | It sounds like a great 1482 | 1483 | 297 1484 | 00:14:58.040 --> 00:15:00.890 1485 | deal of thought. And work 1486 | goes into this, that take 1487 | 1488 | 298 1489 | 00:15:00.890 --> 00:15:03.700 1490 | up a lot of time 1491 | and effort. It takes a 1492 | 1493 | 299 1494 | 00:15:03.700 --> 00:15:06.550 1495 | lot of time and effort 1496 | from the key creative people 1497 | 1498 | 300 1499 | 00:15:06.550 --> 00:15:10.570 1500 | in the company. I'm not 1501 | one of those. I'm more 1502 | 1503 | 301 1504 | 00:15:10.570 --> 00:15:13.780 1505 | just the business guy that 1506 | keeps the books and makes 1507 | 1508 | 302 1509 | 00:15:13.780 --> 00:15:16.180 1510 | decisions about maybe what we're 1511 | going to do and where 1512 | 1513 | 303 1514 | 00:15:16.180 --> 00:15:18.910 1515 | we're going to focus. Cause 1516 | frankly, I just don't, I 1517 | 1518 | 304 1519 | 00:15:18.910 --> 00:15:20.620 1520 | don't have the time I 1521 | have a day job. That's 1522 | 1523 | 305 1524 | 00:15:20.620 --> 00:15:25.050 1525 | actually pretty consuming itself. So 1526 | yeah, the, I I'm, I'm, 1527 | 1528 | 306 1529 | 00:15:25.150 --> 00:15:26.980 1530 | I'm blessed to have a 1531 | group of people that not 1532 | 1533 | 307 1534 | 00:15:26.980 --> 00:15:30.100 1535 | only design games, but are 1536 | very skilled in graphical layout. 1537 | 1538 | 308 1539 | 00:15:30.640 --> 00:15:32.650 1540 | We've done some of our 1541 | own artwork. We've used other 1542 | 1543 | 309 1544 | 00:15:32.650 --> 00:15:35.050 1545 | artists as well for ink 1546 | and gold. We actually used 1547 | 1548 | 310 1549 | 00:15:35.050 --> 00:15:37.930 1550 | a, an outside artist that 1551 | did all of the graphical 1552 | 1553 | 311 1554 | 00:15:37.930 --> 00:15:40.570 1555 | design and, and, and artwork 1556 | in it. It is, it's 1557 | 1558 | 312 1559 | 00:15:40.570 --> 00:15:43.510 1560 | a lot of work it's, 1561 | it is a, it's technically 1562 | 1563 | 313 1564 | 00:15:43.510 --> 00:15:46.090 1565 | a hobby, not a business 1566 | because I think you have 1567 | 1568 | 314 1569 | 00:15:46.090 --> 00:15:47.770 1570 | to make money doing it 1571 | for it to be called 1572 | 1573 | 315 1574 | 00:15:47.770 --> 00:15:50.350 1575 | a business, but we're having 1576 | a lot of fun and 1577 | 1578 | 316 1579 | 00:15:50.350 --> 00:15:52.480 1580 | it, it helps pay for 1581 | some conventions that we like 1582 | 1583 | 317 1584 | 00:15:52.480 --> 00:15:54.710 1585 | to go to and meet 1586 | other people. And it's, it's 1587 | 1588 | 318 1589 | 00:15:54.730 --> 00:15:58.600 1590 | a great way to get 1591 | some initial exposure for two 1592 | 1593 | 319 1594 | 00:15:58.600 --> 00:16:00.400 1595 | people that I think are 1596 | just great designers within the 1597 | 1598 | 320 1599 | 00:16:00.400 --> 00:16:03.520 1600 | company that could lead to 1601 | some bigger, bigger publishers picking 1602 | 1603 | 321 1604 | 00:16:03.520 --> 00:16:06.250 1605 | them up. And you've played 1606 | these games. Some of the 1607 | 1608 | 322 1609 | 00:16:06.280 --> 00:16:09.190 1610 | games you've mentioned Eli like 1611 | havoc. I played havoc and 1612 | 1613 | 323 1614 | 00:16:09.190 --> 00:16:12.730 1615 | I've played ink and gold 1616 | and they're good. I really 1617 | 1618 | 324 1619 | 00:16:12.730 --> 00:16:15.160 1620 | enjoy, I really enjoy having 1621 | it's. It's got kind of 1622 | 1623 | 325 1624 | 00:16:15.160 --> 00:16:17.110 1625 | a poker flavor to it 1626 | with a little bit, a 1627 | 1628 | 326 1629 | 00:16:17.860 --> 00:16:20.290 1630 | little bit of reclamation. I 1631 | really, really enjoyed that game. 1632 | 1633 | 327 1634 | 00:16:21.040 --> 00:16:24.190 1635 | So we've talked about gateway 1636 | game. We've talked about places. 1637 | 1638 | 328 1639 | 00:16:24.190 --> 00:16:26.890 1640 | People can go to learn 1641 | about gaming groups. I understand 1642 | 1643 | 329 1644 | 00:16:26.890 --> 00:16:29.920 1645 | Chris that when you go 1646 | traveling, you often will hook 1647 | 1648 | 330 1649 | 00:16:29.920 --> 00:16:32.650 1650 | up with whatever local group 1651 | is around town and play 1652 | 1653 | 331 1654 | 00:16:32.650 --> 00:16:35.290 1655 | games. Might this be something 1656 | that people who listen to 1657 | 1658 | 332 1659 | 00:16:35.290 --> 00:16:37.300 1660 | this podcast want to do? 1661 | Maybe if we're at tech 1662 | 1663 | 333 1664 | 00:16:37.300 --> 00:16:40.360 1665 | ed, find a room somewhere 1666 | in between sessions and bring 1667 | 1668 | 334 1669 | 00:16:40.360 --> 00:16:42.340 1670 | a couple of games and 1671 | put together a group it's 1672 | 1673 | 335 1674 | 00:16:42.340 --> 00:16:44.920 1675 | probably already happening. Yeah. I 1676 | know for a fact it 1677 | 1678 | 336 1679 | 00:16:44.920 --> 00:16:48.190 1680 | does happen at a lot 1681 | of technology conferences. If you 1682 | 1683 | 337 1684 | 00:16:48.190 --> 00:16:50.560 1685 | look at the message boards, 1686 | as people are preparing to 1687 | 1688 | 338 1689 | 00:16:50.560 --> 00:16:53.530 1690 | come down, you will often 1691 | see little groups getting together 1692 | 1693 | 339 1694 | 00:16:53.530 --> 00:16:56.860 1695 | to maybe play settlers. If 1696 | you're traveling, if you travel 1697 | 1698 | 340 1699 | 00:16:56.860 --> 00:16:59.500 1700 | a lot, I think board 1701 | game geek is a great 1702 | 1703 | 341 1704 | 00:16:59.500 --> 00:17:03.190 1705 | reference. There's a Yahoo group 1706 | as well. That's a mailing 1707 | 1708 | 342 1709 | 00:17:03.190 --> 00:17:06.460 1710 | list called spiel, freaks, spiel, 1711 | being the German word for 1712 | 1713 | 343 1714 | 00:17:06.460 --> 00:17:10.000 1715 | games and, and, and just 1716 | play. That's a great place 1717 | 1718 | 344 1719 | 00:17:10.000 --> 00:17:11.980 1720 | to post. I, Hey, I'm 1721 | going to be in Birmingham, 1722 | 1723 | 345 1724 | 00:17:11.980 --> 00:17:13.720 1725 | Alabama next week. Cause I 1726 | knew I want to get 1727 | 1728 | 346 1729 | 00:17:13.720 --> 00:17:16.090 1730 | together and play games. I 1731 | joke with my wife and 1732 | 1733 | 347 1734 | 00:17:16.090 --> 00:17:18.820 1735 | tell her that I have 1736 | an internet date next week 1737 | 1738 | 348 1739 | 00:17:18.820 --> 00:17:21.910 1740 | in some random city. And 1741 | she's a little little concerned 1742 | 1743 | 349 1744 | 00:17:21.910 --> 00:17:25.060 1745 | at times that I'm, I'm 1746 | sometimes meeting strangers, but these 1747 | 1748 | 350 1749 | 00:17:25.060 --> 00:17:28.180 1750 | are generally people that are 1751 | friends of friends that you 1752 | 1753 | 351 1754 | 00:17:28.180 --> 00:17:31.270 1755 | know, can be vouched for. 1756 | And they probably should feel 1757 | 1758 | 352 1759 | 00:17:31.270 --> 00:17:33.460 1760 | more nervous taking a stranger 1761 | into their home than I 1762 | 1763 | 353 1764 | 00:17:33.460 --> 00:17:37.450 1765 | should feel, but it's been 1766 | very fruitful. I've, I've managed 1767 | 1768 | 354 1769 | 00:17:37.450 --> 00:17:39.070 1770 | to make a lot of 1771 | friends and meet a lot 1772 | 1773 | 355 1774 | 00:17:39.070 --> 00:17:42.040 1775 | of interesting people doing that. 1776 | Well, this field, I feel 1777 | 1778 | 356 1779 | 00:17:42.280 --> 00:17:43.810 1780 | like I have enough information 1781 | now that I'm going to 1782 | 1783 | 357 1784 | 00:17:43.810 --> 00:17:45.970 1785 | go to the gaming place 1786 | after work and maybe pick 1787 | 1788 | 358 1789 | 00:17:45.970 --> 00:17:48.250 1790 | up a couple of ways, 1791 | gateway games and see how 1792 | 1793 | 359 1794 | 00:17:48.250 --> 00:17:50.460 1795 | it works for us. I 1796 | both of your guys' Time. 1797 | 1798 | 360 1799 | 00:17:50.910 --> 00:18:01.170 1800 | No problem. Thanks. . 1801 | 1802 | --------------------------------------------------------------------------------