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

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

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/ECGMD Rage
 
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...Open Networking Summit
 
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 GallarteRedit
 
20150709_Internacional_Salvador Gallarte_LEADERTECNA
20150709_Internacional_Salvador Gallarte_LEADERTECNA20150709_Internacional_Salvador Gallarte_LEADERTECNA
20150709_Internacional_Salvador Gallarte_LEADERTECNARedit
 
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 GallarteRedit
 

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

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 ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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 estossgonzalezp1
 
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...JohnRamos830530
 
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 eyvanamcerpam
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
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.FlorenciaCattelani
 

Último (10)

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
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
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...
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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.
 

Brainfush

Notas del editor