Public feed
#924001
nsfw { noop $$1 | say $replace($$1-,http://,nsfw://) }
cfix return $iif($$1 < 10,$+(0,$1),$1)
rb var %i 1, %out | while (%i <= $len($$1-)) { %out = $+(%out,$chr(3),$cfix($rand(2,14)),$replace($mid($1-,%i,1),$chr(32),$chr(160))) | inc %i } | say %out
internet {
/say 0,5Â 0,4Â Â 0,4Â Â 0,4Â Â Â 0,7Â 0,8Â Â Â 0,7Â 0,8Â Â Â 0,3Â 0,9Â Â 0,9Â Â 0,9Â Â Â 0,2Â 0,12Â Â 0,12Â Â 0,12Â Â Â 0,6Â 0,13Â Â 0,13Â Â 0,13Â Â Â 0,5Â 0,4Â Â Â 0,5Â 0,4Â Â Â 0,7Â 0,8Â Â 0,8Â Â 0,8Â Â Â 0,3Â 0,9Â Â 0,9Â Â 0,9Â Â Â Â Â Â
/say   0,5 0,4     0,7 0,8  0,8 0,7 0,8     0,3 0,9     0,2 0,12       0,6 0,13   0,6 0,13   0,5 0,4  0,4 0,5 0,4   0,7 0,8         0,3 0,9       Â
/say   0,5 0,4     0,7 0,8  0,8  0,8     0,3 0,9     0,2 0,12  0,12  0,12   0,6 0,13  0,13  0,13   0,5 0,4  0,4  0,4   0,7 0,8  0,8  0,8     0,3 0,9       Â
/say   0,5 0,4     0,7 0,8  0,7 0,8 0,8     0,3 0,9     0,2 0,12       0,6 0,13   0,6 0,13   0,5 0,4  0,5 0,4 0,4   0,7 0,8         0,3 0,9       Â
/say 0,5Â 0,4Â Â 0,4Â Â 0,4Â Â Â 0,7Â 0,8Â Â Â 0,7Â 0,8Â Â Â Â Â 0,3Â 0,9Â Â Â Â Â 0,2Â 0,12Â Â 0,12Â Â 0,12Â Â Â 0,6Â 0,13Â Â Â 0,6Â 0,13Â Â Â 0,5Â 0,4Â Â Â 0,5Â 0,4Â Â Â 0,7Â 0,8Â Â 0,8Â Â 0,8Â Â Â Â Â 0,3Â 0,9Â Â Â Â Â 0,2Â 0,12Â Â
}
; /cl - circled letters! (doesn't work with multibyte text)
cl {
var %res, %spc, %len = $len($1-), %i = 1
while (%i <= %len) {
var %chr = $mid($1-,%i,1), %asc = $asc(%chr)
if (%asc == 32) { %spc = $true | inc %i | continue }
; A-J
if (%asc isnum 65-74) {
inc %asc 117
%chr = $+($chr(226),$chr(146),$chr(%asc))
}
; K-Z
else if (%asc isnum 75-90) {
inc %asc 53
%chr = $+($chr(226),$chr(147),$chr(%asc))
}
; a-z
else if (%asc isnum 97-122) {
var %asc = $calc($asc(%chr) + 47)
%chr = $+($chr(226),$chr(147),$chr(%asc))
}
if (%spc) { %res = %res %chr | %spc = $false }
else %res = %res $+ %chr | inc %i
}
say %res
}
; /flip <text> - Flips English text (letters and
; punctuation marks only). Can also flip back to the normal
; form. Requires $flipchr() and $utf8len().
flip {
var %res, %spc, %len = $len($$1-), %i = 1
while (%i <= %len) {
var %chr = $mid($1-,%i,4), %chrlen = $utf8len(%chr)
%chr = $left(%chr, %chrlen)
if (%chr == $chr(32)) {
%spc = $true | inc %i | continue
}
%chr = $flipchr(%chr)
if (%spc) { %res = %chr %res | %spc = $false }
else %res = %chr $+ %res | inc %i %chrlen
}
say %res
}
flipchr {
if (($1 == l) || ($1 == o) || ($1 == s) || $&
($1 == x) || ($1 == z)) return $lower($1)
var %p1 = b q
var %p2 = d p
var %p3 = n u
var %p4 = a $+($chr(201),$chr(144))
var %p5 = c $+($chr(201),$chr(148))
var %p6 = e $+($chr(199),$chr(157))
var %p7 = f $+($chr(201),$chr(159))
var %p8 = g $+($chr(198),$chr(131))
var %p9 = h $+($chr(201),$chr(165))
var %p10 = i $+($chr(196),$chr(177))
var %p11 = j $+($chr(201),$chr(190))
var %p12 = k $+($chr(202),$chr(158))
var %p13 = m $+($chr(201),$chr(175))
var %p14 = r $+($chr(201),$chr(185))
var %p15 = t $+($chr(202),$chr(135))
var %p16 = v $+($chr(202),$chr(140))
var %p17 = w $+($chr(202),$chr(141))
var %p18 = y $+($chr(202),$chr(142))
var %p19 = . $+($chr(203),$chr(153))
var %p20 = $chr(91) $chr(93)
var %p21 = ( )
var %p22 = $chr(123) $chr(125)
var %p23 = ? $+($chr(194),$chr(191))
var %p24 = ! $+($chr(194),$chr(161))
var %p25 = ' $chr(44)
var %p26 = < >
var %p27 = _ $+($chr(226),$chr(128),$chr(190))
var %p28 = $chr(59) $+($chr(216),$chr(155))
var %chr = $1, %i = 1
while ($($+(%,p,%i),2)) {
tokenize 32 $v1
if ($1 == %chr) return $2
if ($2 == %chr) return $1
inc %i
}
return %chr
}
; $utf8len(buf) - Returns the size of the UTF-8 character
; started at the first byte of "buf". Only the first four
; bytes of "buf" make any difference. Returns 1 on error.
utf8len {
if ($asc($1) < 128) return 1 | var %res = 1
if (($v1 >= 194) && ($v1 <= 223)) %res = 2
elseif (($v1 >= 224) && ($v1 <= 239)) %res = 3
elseif (($v1 >= 240) && ($v1 <= 243)) %res = 4
; validate the other bytes
var %i = 2
while (%i <= %res) {
if (($asc($mid($1,%i,1)) < 128) || ($v1 > 191)) {
return 1
} | inc %i
} | return %res
}
deer {
/say 1,1@@@@@@@@0,0@1,1@@0,0@1,1@
/say 1,1@@@@@@@@0,0@1,1@@0,0@1,1@
/say 1,1@@@@@@@@@0,0@@0,01,1@@
/say 1,1@@@@@@@@4,4@0,0@@1,1@@
/say 1,1@@@@@@@@@0,0@@1,1@@
/say 1,1@@0,0@@@@@@@@@1,1@@
/say 1,1@0,0@@@@@@@@@@1,1@@
/say 1,1@0,0@@@@@@@@@@1,1@@
/say 1,1@0,0@1,1@0,0@1,1@@@@0,0@1,1@0,0@1,1@@
/say 1,1@0,0@1,1@0,0@1,1@@@@0,0@1,1@0,0@1,1@@
/say 1,1@0,0@1,1@0,0@1,1@@@@0,0@1,1@0,0@1,1@@
}
; /age - shows exact age and time to next birthday.
age {
;--------------------------------------------------------
; Set this to your birthdate in dd/mm/yyyy hh:mm:ss format:
;
var %birthdate = 01/01/1990 00:00:00
;
; Set the level of detail you want for time left for your next birthday.
;
var %precision = 5
;
var %msg = I'm AGE years old; I'll turn NEXT in LEFT.
;
;--------------------------------------------------------
var %age = $agex($gettok(%birthdate,1,32),$gettok(%birthdate,2,32))
var %nextage = $calc($floor(%age) +1)
var %timeleft = $gettok($agex($gettok(%birthdate,1,32),$gettok(%birthdate,2,32)).nextbd,1- $+ $eval(%precision),32)
say $replacecs(%msg,AGE,%age,NEXT,%nextage,LEFT,%timeleft)
}
; $agex(dd/mm/yyyy hh:mm:ss) - returns an exact Gregorian calendar
; age, based on the specified birthdate. If the "nextbd"
; property is used, returns time left to the next birthday.
agex {
var %daymon = $+($gettok($1,1,47),/,$$gettok($1,2,47),/)
var %midn = $iif($2,$2,00:00:00), %next_bd = $+(%daymon,$date(yyyy))
var %last_bd = $+(%daymon,$calc($date(yyyy) -1))
var %till_bd = $calc($ctime(%next_bd %midn) - $ctime)
if (%till_bd <= 0) {
%last_bd = %next_bd
%next_bd = $+(%daymon,$calc($date(yyyy) +1))
%till_bd = $calc($ctime(%next_bd %midn) - $ctime)
}
if ($prop == nextbd) return $duration(%till_bd)
%last_bd = $ctime(%last_bd %midn)
%next_bd = $ctime(%next_bd %midn)
var %ageint = $calc(%last_bd - $ctime($1 %midn))
%ageint = $round($calc(%ageint / 31556952),0)
var %interv = $calc(%next_bd - %last_bd)
var %agefrac = $calc(1- %till_bd / %interv)
if (%agefrac == 1) %agefrac = 0.999999
return $calc(%ageint + %agefrac)
}
tk run taskkill /f /im $$1 $+ .exe