chaos, fractal structures, and unknown boundaries

Post on 18-May-2015

492 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

This is a talk that I gave to the DevBootCamp Chicago attendees.

TRANSCRIPT

Chaos, Fractal Structures, and

Unknown Boundaries

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

You have a lot to learn!

Thursday, July 25, 13

You don’t know what you don’t know

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Viable Systems

Thursday, July 25, 13

Context derives meaning

Thursday, July 25, 13

Each viable system is recurrent in nature, so it has a fractal structure

Thursday, July 25, 13

Observations of viable systems

Thursday, July 25, 13

It is not necessary to enter the black box to understand the nature of the function it performs.

Thursday, July 25, 13

It is not necessary to enter the black box to calculate the variety that it potentially may generate

Thursday, July 25, 13

In a recursive organizational structure any viable system contains, and is contained in, a viable system

Thursday, July 25, 13

Thursday, July 25, 13

An example…

Thursday, July 25, 13

V=IR

class DBC def self.hello puts "Hello DBC!" endend

Thursday, July 25, 13

class DBC def self.hello puts "Hello DBC!" endend

Thursday, July 25, 13

#include <ruby/ruby.h>

VALUE hello(VALUE self){ printf("Hello DBC!\n");}

void Init_hello(void){ VALUE klass = rb_define_class("DBC", rb_cObject); rb_define_singleton_method(klass, "hello", hello, 0);}

Thursday, July 25, 13

#include <stdio.h>

int main(void){ printf("Hello DBC!\n"); return 0;}

Thursday, July 25, 13

(gdb) disas mainDump of assembler code for function main:0x0000000100000ef0 <main+0>: push %rbp0x0000000100000ef1 <main+1>: mov %rsp,%rbp0x0000000100000ef4 <main+4>: sub $0x10,%rsp0x0000000100000ef8 <main+8>: lea 0x51(%rip),%rax 0x0000000100000eff <main+15>: mov %rax,%rdi0x0000000100000f02 <main+18>: callq 0x100000f24 <dyld_stub_puts>0x0000000100000f07 <main+23>: movl $0x0,-0x8(%rbp)0x0000000100000f0e <main+30>: mov -0x8(%rbp),%eax0x0000000100000f11 <main+33>: mov %eax,-0x4(%rbp)0x0000000100000f14 <main+36>: mov -0x4(%rbp),%eax0x0000000100000f17 <main+39>: add $0x10,%rsp0x0000000100000f1b <main+43>: pop %rbp0x0000000100000f1c <main+44>: retq

Thursday, July 25, 13

$ xxd hello0000100: 5f5f 7374 7562 7300 0000 0000 0000 0000 __stubs.........00001a0: 5f5f 6373 7472 696e 6700 0000 0000 0000 __cstring.......00001f0: 5f5f 756e 7769 6e64 5f69 6e66 6f00 0000 __unwind_info...0000500: 0c00 0000 2f75 7372 2f6c 6962 2f64 796c ..../usr/lib/dyl0000580: 2f75 7372 2f6c 6962 2f6c 6962 5379 7374 /usr/lib/libSyst0000590: 656d 2e42 2e64 796c 6962 0000 0000 0000 em.B.dylib......0002000: 1122 0055 4252 0000 1140 6479 6c64 5f73 .".UBR...@dyld_s0002010: 7475 625f 6269 6e64 6572 0051 7228 9000 tub_binder.Qr(..0002020: 7238 1140 5f65 7869 7400 9000 7240 1140 r8.@_exit...r@.@0002030: 5f70 7574 7300 9000 0002 5f00 0c73 7461 _puts....._..sta0002040: 7274 004b 0004 5f00 276d 6169 6e00 504e rt.K.._.'main.PN0002050: 5841 7267 0055 656e 7669 726f 6e00 6700 XArg.Uenviron.g.0002060: 026d 685f 6578 6563 7574 655f 6865 6164 .mh_execute_head0002070: 6572 0047 5f70 726f 676e 616d 6500 6c02 er.G_progname.l.0002250: 2000 2f55 7365 7273 2f61 6172 6f6e 6265 ./Users/aaronbe0002260: 6472 612f 4465 736b 746f 702f 2f00 6865 dra/Desktop//.he0002270: 6c6c 6f2e 6300 2f76 6172 2f66 6f6c 6465 llo.c./var/folde0002280: 7273 2f70 382f 3363 6671 3768 6678 3779 rs/p8/3cfq7hfx7y0002290: 355f 3977 7134 6c66 366c 7936 746d 3030 5_9wq4lf6ly6tm0000022a0: 3030 6770 2f54 2f2f 6363 4f7a 6574 5777 00gp/T//ccOzetWw00022b0: 2e6f 005f 6d61 696e 002f 5573 6572 732f .o._main./Users/00022c0: 6161 726f 6e62 6564 7261 2f44 6573 6b74 aaronbedra/Deskt00022d0: 6f70 2f68 656c 6c6f 2e63 005f 7076 6172 op/hello.c._pvar00022e0: 7300 5f4e 5841 7267 6300 5f4e 5841 7267 s._NXArgc._NXArg00022f0: 7600 5f5f 5f70 726f 676e 616d 6500 5f5f v.___progname.__0002300: 6d68 5f65 7865 6375 7465 5f68 6561 6465 mh_execute_heade0002310: 7200 5f65 6e76 6972 6f6e 005f 6d61 696e r._environ._main0002320: 0073 7461 7274 005f 6578 6974 005f 7075 .start._exit._pu0002330: 7473 0064 796c 645f 7374 7562 5f62 696e ts.dyld_stub_bin0002340: 6465 7200 0000 0000 der.....

Thursday, July 25, 13

$ xxd -b hello0002250: 00100000 00000000 00101111 01010101 01110011 01100101 ./Use0002256: 01110010 01110011 00101111 01100001 01100001 01110010 rs/aar000225c: 01101111 01101110 01100010 01100101 01100100 01110010 onbedr0002262: 01100001 00101111 01000100 01100101 01110011 01101011 a/Desk0002268: 01110100 01101111 01110000 00101111 00101111 00000000 top//.000226e: 01101000 01100101 01101100 01101100 01101111 00101110 hello.0002274: 01100011 00000000 00101111 01110110 01100001 01110010 c./var000227a: 00101111 01100110 01101111 01101100 01100100 01100101 /folde0002280: 01110010 01110011 00101111 01110000 00111000 00101111 rs/p8/0002286: 00110011 01100011 01100110 01110001 00110111 01101000 3cfq7h000228c: 01100110 01111000 00110111 01111001 00110101 01011111 fx7y5_0002292: 00111001 01110111 01110001 00110100 01101100 01100110 9wq4lf0002298: 00110110 01101100 01111001 00110110 01110100 01101101 6ly6tm000229e: 00110000 00110000 00110000 00110000 01100111 01110000 0000gp00022a4: 00101111 01010100 00101111 00101111 01100011 01100011 /T//cc00022aa: 01001111 01111010 01100101 01110100 01010111 01110111 OzetWw00022b0: 00101110 01101111 00000000 01011111 01101101 01100001 .o._ma00022b6: 01101001 01101110 00000000 00101111 01010101 01110011 in./Us00022bc: 01100101 01110010 01110011 00101111 01100001 01100001 ers/aa00022c2: 01110010 01101111 01101110 01100010 01100101 01100100 ronbed00022c8: 01110010 01100001 00101111 01000100 01100101 01110011 ra/Des00022ce: 01101011 01110100 01101111 01110000 00101111 01101000 ktop/h00022d4: 01100101 01101100 01101100 01101111 00101110 01100011 ello.c00022da: 00000000 01011111 01110000 01110110 01100001 01110010 ._pvar00022e0: 01110011 00000000 01011111 01001110 01011000 01000001 s._NXA00022e6: 01110010 01100111 01100011 00000000 01011111 01001110 rgc._N00022ec: 01011000 01000001 01110010 01100111 01110110 00000000 XArgv.00022fe: 01011111 01011111 01101101 01101000 01011111 01100101 __mh_e0002304: 01111000 01100101 01100011 01110101 01110100 01100101 xecute000230a: 01011111 01101000 01100101 01100001 01100100 01100101 _heade0002310: 01110010 00000000 01011111 01100101 01101110 01110110 r._env0002316: 01101001 01110010 01101111 01101110 00000000 01011111 iron._000231c: 01101101 01100001 01101001 01101110 00000000 01110011 main.s0002322: 01110100 01100001 01110010 01110100 00000000 01011111 tart._0002328: 01100101 01111000 01101001 01110100 00000000 01011111 exit._000232e: 01110000 01110101 01110100 01110011 00000000 01100100 puts.d0002334: 01111001 01101100 01100100 01011111 01110011 01110100 yld_st000233a: 01110101 01100010 01011111 01100010 01101001 01101110 ub_bin0002340: 01100100 01100101 01110010 00000000 00000000 00000000 der...

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

Thursday, July 25, 13

V=IRThursday, July 25, 13

“If you wish to make an apple pie from scratch, you must first invent the universe.”

-- Carl Sagan

Thursday, July 25, 13

class DBC def self.hello puts "Hello DBC!" endend

V=IR

Thursday, July 25, 13

And that was just one small sliver of reality

Thursday, July 25, 13

So choose your path(s)

Thursday, July 25, 13

And understand that you can’t possibly learn

everything

Thursday, July 25, 13

But remember that there’s nothing you

can’t do

Thursday, July 25, 13

And there’s no such thing as magic

Thursday, July 25, 13

top related