SlideShare una empresa de Scribd logo
1 de 51
@ USP
2010-08-28

/ @takano32 <tak@no32.tk>
   /     UNIX
@takano32 / TAKANO Mitsuhiro
  UNIX / Linux
  Ruby committer (IA-64 maintainer)
  the Earth and the Internet
JANOG 26
LL Tiger
    *      in



  WEB
@yusukebe
+   = ...
Brainf*ck
Brainf*ck




       C
Brainf*ck
“>”
  ptr++;
“<“
  ptr--;
“+”
      (*ptr)++;
      *ptr = *ptr + 1;
“-”
      (*ptr)--;
      *ptr = *ptr - 1;
“.”
      putchar(*ptr);
“,”
      *ptr = getchar();
“[“
  while(*ptr) {
“]”
  }
Hello World

+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.
e



    +++++++++[>++++++++>+++++++++++>++++
    +<<<-]>.>++.+++++++..+++.>-.
    ------------.<++++++++.--------.++
    +.------.--------.>+.

H

              l               o
l, m, n, o

+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.




          l                o
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    9


               ptr
8
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    9    8


               ptr
11
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    9    8   11


               ptr
5
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    9    8   11      5


               ptr
9→8
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    8    8   11      5


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    7   16   22      10


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    6   24   33      15


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    5   32   44      20


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    4   40   55      25


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    3   48   66      30


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    2   56   77      35


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    1   64   88      40


               ptr
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    0   72   99      45


               ptr
“H”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    0   72   99      45


               ptr
“e”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    0   72   101     45


               ptr
“l”, “l”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    0   72   108     45


               ptr
“o”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    0   72   111     45


               ptr
“,”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+.



    0   72   111     44


               ptr
“Hello,”
Web
Brainf*ck



  Brainf*ck → s/^(.*)ck$/¥1sh/
Brainfush
Brainfush


       Brainf*ck
→     →



Brainf*ck
“>”
  PTR=$(($PTR + 1))
“+”
  VAL=VAL_$PTR
  VAL=$(($VAL))
  eval VAL_$PTR=$(($VAL + 1))
“.”
      VAL=VAL_$PTR
      VAL=$(($VAL))
      OCH=`echo “obase=8; $VAL” |bc`
      OCH=`echo “¥0OCH”`
      /bin/echo -n “$OCH”
“[“
  VAL=VAL_$PTR
  VAL=$(($VAL))
  while [ “VAL” != “0” ]; do
“]”
  VAL=VAL_$PTR
  VAL=$(($VAL)); end
Brainf*ck
/bin/sh bf2sh.sh < hello.bf
  Brainf*ck         →

/bin/sh bf2sh.sh < hello.bf | /bin/sh
  Brainf*ck
Brainfush
Brainfush

Más contenido relacionado

Destacado

Destacado (6)

インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編
 
Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解
 
Targetes de Comprensió lectora. Text Narratiu
Targetes de Comprensió lectora. Text NarratiuTargetes de Comprensió lectora. Text Narratiu
Targetes de Comprensió lectora. Text Narratiu
 
型、ついてますか? - 型の本質を振り返る -
型、ついてますか? - 型の本質を振り返る -型、ついてますか? - 型の本質を振り返る -
型、ついてますか? - 型の本質を振り返る -
 
Activism x Technology
Activism x TechnologyActivism x Technology
Activism x Technology
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad Reviews
 

Similar a Brainfush

Electrofisiología y EKG/ECG
Electrofisiología y EKG/ECGElectrofisiología y EKG/ECG
Electrofisiología y EKG/ECG
MD Rage
 

Similar a Brainfush (9)

Kappa
KappaKappa
Kappa
 
Electrofisiología y EKG/ECG
Electrofisiología y EKG/ECGElectrofisiología y EKG/ECG
Electrofisiología y EKG/ECG
 
6. mates 1
6. mates 16. mates 1
6. mates 1
 
Arachne: How does Uber check the health of its Network Infrastructure every 1...
Arachne: How does Uber check the health of its Network Infrastructure every 1...Arachne: How does Uber check the health of its Network Infrastructure every 1...
Arachne: How does Uber check the health of its Network Infrastructure every 1...
 
20141030_Taller ENV, EMB, TRA y LOG_Salvador Gallarte
20141030_Taller ENV, EMB, TRA y LOG_Salvador Gallarte20141030_Taller ENV, EMB, TRA y LOG_Salvador Gallarte
20141030_Taller ENV, EMB, TRA y LOG_Salvador Gallarte
 
Presentacion calculobch
Presentacion calculobchPresentacion calculobch
Presentacion calculobch
 
20150709_Internacional_Salvador Gallarte_LEADERTECNA
20150709_Internacional_Salvador Gallarte_LEADERTECNA20150709_Internacional_Salvador Gallarte_LEADERTECNA
20150709_Internacional_Salvador Gallarte_LEADERTECNA
 
20141119_Infoday regional H2020_NMP_Salvador Gallarte
20141119_Infoday regional H2020_NMP_Salvador Gallarte20141119_Infoday regional H2020_NMP_Salvador Gallarte
20141119_Infoday regional H2020_NMP_Salvador Gallarte
 
PDF STIR PRJ.pdf
PDF STIR PRJ.pdfPDF STIR PRJ.pdf
PDF STIR PRJ.pdf
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Brainfush

Notas del editor