@ 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



    +++++++++[>++++++++>+++++++++++>++++
    +<<<-]>.>++.+++++++..+++.>-.
    ------------.<++++++++.--------.++
    ...
l, m, n, o

+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
8
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>...
11
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------....
5
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>...
9→8
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------...
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------.>+....
“H”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------...
“e”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------...
“l”, “l”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.---...
“o”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------...
“,”
+++++++++[>++++++++>+++++++++++>++++
+<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.++
+.------.--------...
“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 -...
“[“
  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
Brainfush
Brainfush
Brainfush
Brainfush
Brainfush
Upcoming SlideShare
Loading in...5
×

Brainfush

627

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
627
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide



















































  • Brainfush

    1. 1. @ USP 2010-08-28 / @takano32 <tak@no32.tk> / UNIX
    2. 2. @takano32 / TAKANO Mitsuhiro UNIX / Linux Ruby committer (IA-64 maintainer) the Earth and the Internet
    3. 3. JANOG 26 LL Tiger * in WEB
    4. 4. @yusukebe
    5. 5. + = ...
    6. 6. Brainf*ck
    7. 7. Brainf*ck C
    8. 8. Brainf*ck
    9. 9. “>” ptr++; “<“ ptr--;
    10. 10. “+” (*ptr)++; *ptr = *ptr + 1; “-” (*ptr)--; *ptr = *ptr - 1;
    11. 11. “.” putchar(*ptr); “,” *ptr = getchar();
    12. 12. “[“ while(*ptr) { “]” }
    13. 13. Hello World +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+.
    14. 14. e +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. H l o
    15. 15. l, m, n, o +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. l o
    16. 16. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 ptr
    17. 17. 8 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 8 ptr
    18. 18. 11 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 8 11 ptr
    19. 19. 5 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 8 11 5 ptr
    20. 20. 9→8 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 8 8 11 5 ptr
    21. 21. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 7 16 22 10 ptr
    22. 22. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 6 24 33 15 ptr
    23. 23. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 5 32 44 20 ptr
    24. 24. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 4 40 55 25 ptr
    25. 25. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 3 48 66 30 ptr
    26. 26. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 2 56 77 35 ptr
    27. 27. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 1 64 88 40 ptr
    28. 28. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 99 45 ptr
    29. 29. “H” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 99 45 ptr
    30. 30. “e” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 101 45 ptr
    31. 31. “l”, “l” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 108 45 ptr
    32. 32. “o” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 111 45 ptr
    33. 33. “,” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 111 44 ptr
    34. 34. “Hello,”
    35. 35. Web
    36. 36. Brainf*ck Brainf*ck → s/^(.*)ck$/¥1sh/
    37. 37. Brainfush
    38. 38. Brainfush Brainf*ck
    39. 39. → → Brainf*ck
    40. 40. “>” PTR=$(($PTR + 1)) “+” VAL=VAL_$PTR VAL=$(($VAL)) eval VAL_$PTR=$(($VAL + 1))
    41. 41. “.” VAL=VAL_$PTR VAL=$(($VAL)) OCH=`echo “obase=8; $VAL” |bc` OCH=`echo “¥0OCH”` /bin/echo -n “$OCH”
    42. 42. “[“ VAL=VAL_$PTR VAL=$(($VAL)) while [ “VAL” != “0” ]; do “]” VAL=VAL_$PTR VAL=$(($VAL)); end
    43. 43. Brainf*ck
    44. 44. /bin/sh bf2sh.sh < hello.bf Brainf*ck → /bin/sh bf2sh.sh < hello.bf | /bin/sh Brainf*ck
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×