Re:Some thoughts on security after ten years of Qmail 1.0
by hursortue on Wednesday January 17, 2018 @10:12AM
(#16168521)
> learning how to read and write dense code
> and that's what I learned how to do
This is good code?
for(i=b=0;i<r;++i){switch(p[i]){
case'\n':if(!e)e=i;if(!q){q=kpn(p+w,g-w);if('\r'==(cf=p[i-1]))cf=p[i-2];}else if(!c){w=!!strchr("kK1",cf);if(!o)sc(d,0,sd);else if(w){if('g'==o)cwrite(f,OK("200","keep-alive")BLANK);else cwrite(f,OK("204","keep-alive")END204);}else{if('g'==o)cwrite(f,OK("200","close")BLANK);else cwrite(f,OK("204","close")END204);close(f);}a=k(o?-d:d,"dash",knk(2,q,xD(a,v),0),0,0);b=i+1;if(!o){if(!a){poop(f);R 0;}if(10!=a->t){r0(a);poop(f);R 0;}writer(f,kC(a),a->n);r0(a);if(!w)close(f);}if(b==r)R 1;q=0;o=0;a=ktn(11,0),v=ktn(0,0);}else{if((c-m)==10&& !strncasecmp(p+m,"connection",c-m))cf=p[s];js(&a,sn(p+m,c-m));jk(&v,kpn(p+s,e-s));}w=e=g=s=c=0;m=i+1;break;
case' ':case'\t':case'\r':if(w&&!g)g=i;if(s==(e=i))++s;break;
case':':if(!c)s=1+(c=i);break;
case '/':if(!w)w=i+1;case '?':case '&':if(r>=(i+4)&&p[i+1]=='f'&&p[i+2]=='=')o=p[i+3];default: e=0;break;}}if(a)r0(a),r0(v);if(q)r0(q);R b;}
Re:Some thoughts on security after ten years of Qmail 1.0
by fiddlerwoaroof on Saturday January 20, 2018 @06:25PM
(#16195993)
That's how people with an APL background write C and it is, in fact, readable to those people: to me, however, it's gibberish
Re:Some thoughts on security after ten years of Qmail 1.0
by geocar on Wednesday January 17, 2018 @10:48AM
(#16168827)
It could be shorter if I spent some more time on it.
Re:Some thoughts on security after ten years of Qmail 1.0
by irundebian on Wednesday January 17, 2018 @03:47PM
(#16171637)
LMFAO
Or are you asking what took me fifteen years to understand?
Dan basically planned the whole thing. When the whole thing was too big, he would break off a piece that wasn't and develop it as a wholly separate thing.
I understood this strategy worked, but I didn't fully understand why this strategy was successful until I realised source code matters more than I thought[1]: If your program is short enough, there won't be any bugs in it. This is why learning how to read and write dense code[2] can make your programs better -- and that's what I learned how to do[3].
[1]: http://www.jsoftware.com/papers/tot.htm
[2]: http://www.nsl.com/papers/origins.htm
[3]: https://github.com/geocar/dash/blob/master/d.c#L62