OK, turing.

<- leave blank

Tue Feb 19 17:31:21 EST 2019

; cd /sys/src/9/bcm
; mk 'CONF=pi' install
rc ../port/mkdevc pi > pi.c
{echo 'uchar configfile[]={'
 xd -1x pi |
	sed -e 's/^[0-9a-f]+ //' -e 's/ ([0-9a-f][0-9a-f])/0x\1,/g'
 echo 0,
 echo '};'} >> pi.c
5a $AFLAGS l.s
5a $AFLAGS lexception.s
5a $AFLAGS lproc.s
mk: no recipe to make 'ptclbsum.5' in directory /sys/src/9/bcm

Tue Feb 19 15:05:27 EST 2019
diff -r ff43e9bf3cea gui-x11/x11.c
--- a/gui-x11/x11.c Wed Oct 03 19:29:18 2018 +0200
+++ b/gui-x11/x11.c Tue Feb 19 21:05:26 2019 +0100
@@ -26,6 +26,7 @@
 #include <X11/StringDefs.h>
 #include <X11/keysym.h>
 #include <X11/XKBlib.h>
+#include <X11/extensions/XTest.h>
 #include "keysym2ucs.h"

 #undef Font
@@ -132,6 +133,7 @@
 static int xscreendepth;
 static XDisplay* xkmcon; /* used only in xproc */
 static XDisplay* xsnarfcon; /* used holding clip.lk */
+static Point orgpt;

 static int putsnarf, assertsnarf;

@@ -212,7 +214,7 @@
 mouseset(Point xy)
 {
	qlock(&drawlock);
- XWarpPointer(xdisplay, None, xdrawable, 0, 0, 0, 0, xy.x, xy.y);
+ XTestFakeMotionEvent(xdisplay, -1, orgpt.x+xy.x, orgpt.y+xy.y, CurrentTime);
	XFlush(xdisplay);
	qunlock(&drawlock);
 }
@@ -654,9 +656,14 @@
 static void
 xresize(XEvent *e)
 {
+ XConfigureEvent *xe;
+
	if(e->type != ConfigureNotify)
		return;
- screenresize(Rect(0, 0, ((XConfigureEvent*)e)->width,
((XConfigureEvent*)e)->height));
+ xe = (XConfigureEvent*)e;
+ screenresize(Rect(0, 0, xe->width, xe->height));
+ orgpt.x = xe->x;
+ orgpt.y = xe->y;
 }

 static void


Tue Feb 19 03:55:37 EST 2019

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
    worker_connections 1024;
}


http {
    include mime.types;
    default_type application/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log logs/access.log main;

    sendfile on;
    #tcp_nopush on;

    #keepalive_timeout 0;
    keepalive_timeout 1000;

    #gzip on;

    server {
	listen 80;
	server_name trim.htlperg.at;

	#charset koi8-r;

	#access_log logs/host.access.log main;

	location / {
	    root html;
	    index index.html index.htm;
	}

	#error_page 404 /404.html;

	# redirect server error pages to the static page /50x.html
	#
	error_page 500 502 503 504 /50x.html;
	location = /50x.html {
	    root html;
	}

	location ~ /rest {
	    rewrite ^/rest/(.*)$ /trim/rest/$1 permanent;
	    proxy_pass http://127.0.0.1:8080;
	}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	#location ~ \.php$ {
	# root html;
	# fastcgi_pass 127.0.0.1:9000;
	# fastcgi_index index.php;
	# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
	# include fastcgi_params;
	#}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
	# deny all;
	#}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    # listen 8000;
    # listen somename:8080;
    # server_name somename alias another.alias;

    # location / {
    # root html;
    # index index.html index.htm;
    # }
    #}


    # HTTPS server
    #
    #server {
    # listen 443 ssl;
    # server_name localhost;

    # ssl_certificate cert.pem;
    # ssl_certificate_key cert.key;

    # ssl_session_cache shared:SSL:1m;
    # ssl_session_timeout 5m;

    # ssl_ciphers HIGH:!aNULL:!MD5;
    # ssl_prefer_server_ciphers on;

    # location / {
    # root html;
    # index index.html index.htm;
    # }
    #}

}


Tue Feb 19 02:07:13 EST 2019
7d5a26b31d312f95.png:1 GET
https://ams3.digitaloceanspaces.com/lor-sh/media_attachments/files/000/001/215/small/7d5a26b31d312f95.png
403 (Forbidden)
Image (async)
bt @ react-dom.production.min.js:55
(anonymous) @ react-dom.production.min.js:107
Eo @ react-dom.production.min.js:189
Di @ react-dom.production.min.js:226
Ni @ react-dom.production.min.js:220
Ii @ react-dom.production.min.js:219
xi @ react-dom.production.min.js:216
ti @ react-dom.production.min.js:214
enqueueSetState @ react-dom.production.min.js:134
w.setState @ react.production.min.js:13
(anonymous) @ Provider.js:53
d @ redux.js:213
(anonymous) @ sounds.js:44
(anonymous) @ errors.js:15
(anonymous) @ loading_bar.js:23
(anonymous) @ index.js:11
dispatch @ redux.js:611
(anonymous) @ index.js:75
(anonymous) @ index.js:8
dispatch @ redux.js:611
(anonymous) @ timelines.js:23
(anonymous) @ index.js:8
dispatch @ redux.js:611
onReceive @ streaming.js:27
received @ stream.js:42
l.onmessage @ stream.js:77
value @ index.js:17
status_content.js:65 GET
https://ams3.digitaloceanspaces.com/lor-sh/accounts/avatars/000/000/006/original/b31a1b84e52fb5ed.jpg
403 (Forbidden)

Mon Feb 18 21:42:06 EST 2019
#!/bin/rc
rfork e

fn cvt {
	ssam '
	,x,.*\n, v,^(/\*)?///, c,\n,
	,x,\n\n\n+, c,\n\n,
	,x,^(/\*)?/// ?, c,,

	,x,^#.*\n, a,\n,
	,x,<br />, c,,
	,x,~+[cC]?, c,\n```\n,
	,x,.*\|.*\n\n.*\|.*\n, x,\n\n, c,\n,'
}

fls=$*
if(~ $#fls 0)
	fls=/fd/0
for(f in $fls)
	cvt <$f


Mon Feb 18 20:40:05 EST 2019
while neighbors reported a ritual involving a naked pregnant woman jumping through
fire

Mon Feb 18 18:53:40 EST 2019
# these are in order from most specific to least,
# since first rule that fires wins.

# image files go to wm/view
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(jpg|jpeg|gif|bit|png)'
data isfile $0
plumb to view
plumb start /dis/wm/view.dis -i $file

# iaf sounds go to auplay
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(iaf|IAF)'
data isfile $0
plumb alwaysstart auplay
plumb start /dis/auplay.dis $file

# wav sounds go to wavplay
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(wav|WAV)'
data isfile $0
plumb alwaysstart wavplay
plumb start /dis/wavplay.dis $file

# MIDI files go to midiplay
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(mid|MID)'
data isfile $0
plumb alwaysstart midiplay
plumb start /dis/midiplay.dis $file

# MIDI files in SKINI data format go to sequencer4 (via shell script skiplay)
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(ski|SKI)'
data isfile $0
plumb alwaysstart skiplay
plumb start /dis/sh.dis -c '{skiplay $file}'

# Ebook files go to ebook/ebook
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(opf|OPF)'
data isfile $0
plumb alwaysstart ebook
plumb start /dis/ebook/ebook $file

# PDF files go to os xpdf (via shell script /dis/xpdf)
kind is text
data matches '[a-zA-Z0-9_\-./]+'
data matches '([a-zA-Z0-9_\-./]+)\.(pdf|PDF)'
data isfile $0
plumb alwaysstart xpdf
plumb start /dis/sh.dis -c '{/dis/xpdf $file}'

# URLs go to wm/charon
kind is text
data matches
'(https?|ftp|file|gopher|mailto|news|nntp|telnet|wais|prospero)://[a-zA-Z0-9_@]+([.:][a-zA-Z0-9_@]+)*/?[a-zA-Z0-9_?#~&/\-]+([:.][a-zA-Z0-9_?#~&/\-]+)*'
plumb to web
plumb start /dis/charon.dis $0

# file URLs go to wm/charon
kind is text
data matches '[a-zA-Z0-9_/\-]+\.(html|htm|php)?'
data isfile $0
data set file://localhost$file
plumb to web
plumb start /dis/charon.dis $data

# .m files are looked up in /module and passed to wm/brutus
kind is text
data matches '([a-zA-Z0-9]+\.m)(:[0-9]+)?'
data isfile /module/$1
data set /module/$0
plumb to edit
plumb start /dis/wm/brutus.dis $file$2

# existing files, possibly tagged by line number, go to wm/brutus
kind is text
data matches '([.a-zA-Z0-9_/\-]+[a-zA-Z0-9_/\-])(:[0-9]+)?'
data isfile $1
plumb to edit
plumb start /dis/wm/brutus.dis $file$2

# existing files go to brutus
kind is text
data matches '[a-zA-Z0-9_./\-]+'
data isdir $0
plumb alwaysstart dir # nasty plumbing hack
plumb start /dis/wm/dir.dis $dir

# man pages
kind is text
data matches '([a-zA-Z\-]+)\(([0-9]+)\)'
plumb alwaysstart man # nasty plumbing hack
plumb start /dis/wm/man.dis $2 $1

# change plumb namespace
kind is text
data matches 'Local (.*)'
plumb to none
plumb start /dis/sh.dis -n -c $1

Mon Feb 18 17:25:22 EST 2019
diff --git a/gui-x11/x11.c b/gui-x11/x11.c
--- a/gui-x11/x11.c
+++ b/gui-x11/x11.c
@@ -26,6 +26,7 @@
 #include <X11/StringDefs.h>
 #include <X11/keysym.h>
 #include <X11/XKBlib.h>
+#include <X11/extensions/XTest.h>
 #include "keysym2ucs.h"

 #undef Font
@@ -47,6 +48,8 @@
 static Drawable xscreenid;
 static XImage* xscreenimage;
 static Visual *xvis;
+static Point orgpt;
+static Window rootwin;

 #include "../glenda-t.xbm"

@@ -212,7 +215,7 @@
 mouseset(Point xy)
 {
	qlock(&drawlock);
- XWarpPointer(xdisplay, None, xdrawable, 0, 0, 0, 0, xy.x, xy.y);
+ XTestFakeMotionEvent(xdisplay, -1, orgpt.x+xy.x, orgpt.y+xy.y, CurrentTime);
	XFlush(xdisplay);
	qunlock(&drawlock);
 }
@@ -326,7 +329,6 @@
	Memimage *gscreen;
	int i, xsize, ysize;
	char *argv[2];
- Window rootwin;
	Rectangle r;
	XWMHints hints;
	XScreen *screen;
@@ -654,9 +656,14 @@
 static void
 xresize(XEvent *e)
 {
+ XConfigureEvent *xe;
+
	if(e->type != ConfigureNotify)
		return;
- screenresize(Rect(0, 0, ((XConfigureEvent*)e)->width,
((XConfigureEvent*)e)->height));
+ xe = (XConfigureEvent*)e;
+ screenresize(Rect(0, 0, xe->width, xe->height));
+ orgpt.x = xe->x;
+ orgpt.y = xe->y;
 }

 static void


Mon Feb 18 15:38:38 EST 2019
I'm a gorilla in a fuckin' coupe, finna pull up to the zoo, nigga
Who nigga?  Who the fuck is you?  I don't know, nigga
No, nigga, pull up on your block, we gon' blow, nigga
Go, nigga, run, nigga, run for the po', nigga (Police nigga)
Gas what I smoke nigga
Feds at my door, jump out the window, nigga
No you can't get no money silly ho
I just hit a stain, faneto

Mon Feb 18 15:37:27 EST 2019
I'm like a chimpanzee, in a tree, jumping up and down, warning other chimpanzees
when I see a big cat coming through the woods...  I'm the weirdo?  Because I'm
sitting in a tree going "OOH OOH AAH AAH AAH OOH AAH AAH OOH OOH OOH AAH AAH AAH
AAH AAH!"?

Mon Feb 18 10:42:05 EST 2019
?

next