Skip to content

Instantly share code, notes, and snippets.

@NalaGinrut
NalaGinrut / yy.scm
Last active August 29, 2015 13:57
yy research code
(define (yy-print fmt . args)
;; if Guile
(apply format #t fmt args)
;; if Racket
;;(apply printf fmt args)
)
(define (inc x)
;; if Guile
(1+ x)
@NalaGinrut
NalaGinrut / a.asm
Created December 31, 2013 03:28
A case for %Pn in GCC inline ASM
cat test.c
------------------------------------------------------------
int main(int argc, char * argv[]) {
__asm__ ("call __foo_bar_%P0" : : "i"(42));
return 0;
}
------------------------------------------------------------
gcc -S test.c
cat test.s
@NalaGinrut
NalaGinrut / play.sh
Last active December 27, 2015 15:49
play piano in terminal
#!/bin/bash
while read -e input
do
for i in $input
do
play -q -n synth 3 pluck %$(expr index abbccddeeffgg $i - 1) &
sleep 0.5
done
done
@NalaGinrut
NalaGinrut / print-doc.scm
Created October 10, 2013 08:34
print all doc-string in current-module in Guile
(for-each (lambda (s)
(let ((p (module-ref (current-module) s)))
(if (procedure? p)
(format #t "[~a]~%~@[~a~%~]" p (procedure-documentation p)))))
(apropos-internal ".*"))
@NalaGinrut
NalaGinrut / gg.scm
Last active December 23, 2015 23:29
求from到to之间所有勾股数
(use-modules (srfi srfi-1) (ice-9 control))
(define (either . args) (shift k (for-each k args)))
(define (sq x) (* x x))
(define (choice from to)
(reset (let ((ll (iota to from)))
(let ((x (apply either ll))(y (apply either ll))(z (apply either ll)))
(if (= (sq z) (+ (sq x) (sq y)))
(format #t "~a^2 + ~a^2 = ~a^2~%" x y z))))))
diff --git a/test-suite/tests/web-client.test b/test-suite/tests/web-client.test
index 3133b73..6038398 100644
--- a/test-suite/tests/web-client.test
+++ b/test-suite/tests/web-client.test
@@ -299,13 +299,28 @@ Content-Language: en
")
;; Unfortunately, POST to http://www.gnu.org/software/guile/ succeeds!
+(define post-request-headers-null:www.apache.org/
+ "POST / HTTP/1.1
(define-module (test-suite web-client)
#:use-module (web client)
#:use-module (web request)
#:use-module (web response)
#:use-module (ice-9 iconv)
#:use-module (ice-9 binary-ports)
#:use-module (test-suite lib))
(define get-request-headers:www.gnu.org/software/guile/
@NalaGinrut
NalaGinrut / string-template.scm
Last active December 21, 2015 17:08
a Python3 style string-template for Scheme
(define *stpl-SRE* '(or (=> dollar "$$")
(: "${" (=> name (+ (~ #\}))) "}")))
(define (make-string-template str . opts)
(define ll '())
(define lv '())
(define template
(irregex-replace/all
;;"(\\$\\{([^$])+\\})"
*stpl-SRE* str
(lambda (m)
@NalaGinrut
NalaGinrut / frame.py
Created August 24, 2013 15:17
encode a frame for arduino TTS
def str_to_playframe(s0):
ss = s0.decode("utf-8")
l = "%c%c" % ((len(ss)&0xff00)>>8, len(ss)&0xff)
s = ss.encode("GB2312")
op = "\x01\x00"
return "\xfd" + l + op + s
String sStart = "1111111110000000000";
String sStop = "0";
int data_to_spoof[64];
int coil_pin = 9; // we use 9th pin
int a,b,c,d;
unsigned long id;
char hex_code[8];
void setup()
{