? ppencode ? - PowerPoint PPT Presentation

About This Presentation
Title:

? ppencode ?

Description:

ppencode – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 58
Provided by: take2
Category:
Tags: huygens | ppencode

less

Transcript and Presenter's Notes

Title: ? ppencode ?


1
? ppencode ?

?? ??
TAKESAKO Yoshinori
2
? ppencode ?

??
Otori-tan
3
Where is the Next N.P.W.?
4
Wheres the next N.P.W.?
waterfall
5
Waterfall
  • Really popular
  • Not just for tourists
  • Programmers too
  • (Except for Agile hackers)

6
Waterfall
Model
makes a slippery slope
7
Waterfall
Model
makes a slipping deadline!
8
Rewrite Biohazard
9
Escape
a watery grave
10
use Ruby
11
Ruby On Snails
  • The new framework for Web 3.14159...
  • Grinds any system to a halt!
  • by Dave Thomas and Mike Clark

12
Niagara Perl Workshop
  • Where?
  • Niagara Falls, NY
  • When?
  • April 1st, 2007
  • Registration begins today!
  • http//waterfall2007.com/

13
Pair Managing
  • Not Pair Programming
  • Groundbreaking Methodology
  • 1 Programmer
  • 2 Managers
  • by Jim Highsmith

14
Unfactoring
  • Take code out from functions
  • Inline them everywhere
  • by Joshua Kerievsk
  • Cut
  • Paste
  • Paste
  • Paste
  • Release!
  • Optimize for Obscurity!

15
Perl?
Obscurity?
16
Quit Bad Habits
Write Healthy Code!
17
Prescription
18
(No Transcript)
19
Obscure
Perl5?
20
Crazy Sigils in Perl 5
Scalar Array Hash ------ ----- ----
s _at_a h s a0
h'?' s-gtfoo ? ?
21
Happy Sigils in Perl 6
Scalar Array Hash ------ ----- ----
s _at_a h s _at_a0 hlt?gt s.foo
_at_a.foo h.foo ?
22
Readable
Perl 6!
23
(No Transcript)
24
OREILLY
25
NOTREALLY
26
(No Transcript)
27
It may look like
28
Obscure
JAPH!
29
JAPH
  • print just another perl hacker

? First JAPH in history
Randal Schwartz 1 Feb 1990 222858 GMT
?1,500 - By ?? ?? (?)
30
But
Its okay...
31
Because
32
Job Security through Obscurity
33
hello world
package Earthsub Greet
_('Y','')_'!(Middle
Earth.ageltEarth
.age)?!(definedtimezOn
e2)?!(push_at_timeZone,loc
altime())?rotation?q?The Worl
d?q\wq\da-fq?..
?q."42b3d3728656
c6c6f6 0277f627c64672
b3072796e647 42b3b3rg7d"Ym
\\pu sh_at__,bless
c
ontinent
s\
pangaea l
ocal_at__local "o
cean"A(defi
nedcontinents)?
(vec(,
YYsplit(\' \',\
)3,YYsplit( q??,)2-
((Ytr/oa e
iu//)2))28160)?q
.q?!?\'?\'
AYs \Q.\Epack(
\'h\',j oin(q(),
grep_ Ym,,,
split("
",_at__0
)) )e
gexe d
"s ort
lt gt,
YY _at__

"'
s,(\r\n\s),,gs.Y.\x7e.g
evalGreet'the world'
http//www.perlmonks.org/index.pl?node_id329174
34
Saturn
!/usr/bin/perl











Isubs

"x_1gem/x_

0._./Wsub!q
.pop()system(OWin?ClS

'clear'),print,selectZ,Z,Z,!"
"for_at__Hsubjoin/,map
(_
x_0,popm-.-g),!__!Mima,s--
"_at_'9)w'RINGS\local_at_Sat
urn
wNXIBP"-sees-!..?/(?")--is
y--'-s-\w--giS_--Beautiful
_at_Sm-.-gN1.6-!th_,
---82----
_."x-(y---c--)for_at_SRsubi -d
0join/,mapjjoin!_,grep
Rhea !(j_),m-.-g
grep!(i -Titan
_0),_at_SLjoin!_,map -Huygens
reverse./,_at_S_at_R(I(q-
-20,051, __q-q-),I(20,41
-!q- -,_FK),
I-gt(15,31,_R(4-!q- -)),I(13-!"
",28,_R(3)),
__I(10,20-!" ",_R-gt(2)),
q- -S)_at_Omap"
"H(_, R.!-_(_))x_,!"
"2..22 _at_Yreverse_at_RDione
m--
SATU(_at_R,N)!q- b-
W(_at_O0,1,2,1,0!!q-
-,!1!1)W(S.!q-
-,L,0.16)for..5!q-
Cassini-Wq-
-(_at_Y,1.6)


http//www.perlmonks.org/index.pl?node_id329174
35
Good Job!
n ( ?) n_
_????? !! /,. ? i .,,E)
./ /" / /" _n ?????!! ./ /_?_
/ ?' ( l _? _ / / ,_? )/ / _? _
?????!! \ \ ( lt_, )( /( ,_? ) n
?___?? ? ? ? \ ( E) / /
\ ?? / ? ?_//
36
Perl sucks
37
use Ruby (_)
38
Ruby Brainwash Weapon
  • TAKAHASHI Masayoshi, YAPCAsia 2006

39
Perl -gt Ruby
The best way to convert Perl Programmers to
Ruby...
40
Eureka!
Take out the and keys from Perl peoples
keyboards!
41
Perl People will be forced to use Ruby
42
Sounds
Good
43
But
44
Counter Strike!
Real Perl programmer can do without punctuation!
!/usr/bin/perl -wlength q chr uc and print chr
oct ord q gt log and print chr oct ord q qx eq
and print chr ord uc q qw eq and print chr ord q
q q and print chr ord uc q or no and print chr
ord q pop and print chr ord q oct do and print
chr ord qw q keys q and print chr ord qw q s q
and print chr hex length q q bless localtime ref
q
? print NPW Rocks!
45
Perl Programming with only Keywordsand
whitespace!
46
Keywords
Operators (38)
lt gt le ge eq ne cmp not and or xor if else
elsif while for foreach continue goto last local
map my next redo require return use tr y s m q qq
qr qw qx x
no digits, either
Builtins (182)
abs accept alarm atan2 bind binmode bless caller
chdir chmod chomp chop chown chr chroot close
closedir connect cos crypt dbmclose dbmopen
defined delete die do dump each eof eval exec
exists exit exp fcntl fileno flock fork formline
getc getlogin getpeername getpgrp getppid
getpriority getpwnam getgrnam gethostbyname
getnetbyname getprotobyname getpwuid getgrgid
getservbyname gethostbyaddr getnetbyaddr
getprotobynumber getservbyport getpwent getgrent
gethostent getnetent getprotoent getservent
setpwent setgrent sethostent setnetent
setprotoent setservent endpwent endgrent
endhostent endnetent endprotoent endservent
getsockname getsockopt glob gmtime grep hex
import index int ioctl join keys kill lc lcfirst
length link listen localtime log lstat mkdir
msgctl msgget msgrcv msgsnd no oct open opendir
ord pack pipe pop pos print printf push quotemeta
rand read readdir readlink recv ref rename reset
reverse rewinddir rindex rmdir scalar seek
seekdir select semctl semget semop send setpgrp
setpriority setsockopt shift shmctl shmget
shmread shmwrite shutdown sin sleep socket
socketpair sort splice split sprintf sqrt srand
stat study substr symlink syscall sysread system
syswrite tell telldir tie time times truncate uc
ucfirst umask undef unlink unpack untie unshift
utime values vec wait waitpid wantarray warn write
47
But JAPHs shouldnt be written Manually
48
No coding
? Best coding
Laziness
49
? ppencode ?
  • So TAKESAKO-san made
  • ppencode.

50
Demo (Ajax flavored!)
http//namazu.org/takesako/ppencode/demo.html
51
JAPH with ppencode
  • gen_ppencode.pl - a Generator Generator

?
autogen
programming
autogen
input
output
52
No coding
? Best coding
Impatience
53
Perl Ruby
vs.
54
Ruby version
  • rrencode is born!

By ???? (Mr. oxy)
  • ./rrencode.rb hello, world!
  • (,_at___at_)gtltlt(,(!!ltlt(?!(?/-?.?-?"
    )))(?-?(?_-??
  • ?/-?'))) (,,(!!ltlt(?!(?"-?!?.-?,)))(?-
    ?lt(?_-???-?!))
  • )(,,(!!ltlt(? !(?-?)?/-?-)))(?-?(?-?
    ?--?!)))(,
  • _\)gtltlt(,,(!!ltlt(? !?!?!))(?-?(?
    -??--?!)))(,
  • _)gtltlt(,,(!!ltlt(?!(?'-?
    ?-?)))(?-?gt(?-?(?/
  • -?'?)-?"))))(,(!!ltlt(?!?!?!))(?-??
    --?!))(,(
  • !!ltlt(?!?!?!))(?-??"-?"))(,_at__)gtlt
    lt(, (!!ltlt
  • (?!?!?!))(?-?(?-?(?-??-?))))(,,
    (!!ltlt(?!(?/-?
  • . ?)-?')))(?-?(?-?(?/-?'?(-?!))))(,
    (!!ltlt(?!(?'-?
  • ?-?))))( ?-?gt(?-?(?-??-?))))(,,
    _)gtltlt(,
  • (!!ltlt(?!(?-?? -?()))(?-?(?-?gt?--?!)
    ))(,,(!!lt
  • lt(?!?!?!))(?-?lt(?\\-?lt?(-?
    )))(,,_at__at___at_)gtltlt(,(
  • !!ltlt(?!(?--?,?-?")))(?-??-?"))(
    ,_at__at___at_)gtltlt/

no Alphanumerics
55
Wheres the Python version?
_ n (???)? ??
pypyencode!?
56
Thank You!

??
Otori-tan
57
Thank you!

?? ??
TAKESAKO Yoshinori
Write a Comment
User Comments (0)
About PowerShow.com