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

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

Brainfush

Notas del editor