2,741 karma · joined November 25, 2012
The least functional ones also have a small population. See http://press.princeton.edu/chapters/s8863.pdf
Exercises in German here: https://github.com/def-/gifstream/blob/master/Aufgabe.pdf
Edit: I have now added some cache-control directives, maybe they help
Latency for input: https://github.com/pavelfatin/typometer
stdout [MB/s] idle 50 [ms]
urxvt 34.9 19.8
xterm 2.2 1.9
rxvt 4.3 7.0
aterm 6.0 7.0
konsole 13.1 13.0 note: stops moving when printing large file
terminator 9.1 29.4 note: stops moving when printing large file
st 23.0 11.2
alacritty 45.5 15.5http://ec.europa.eu/eurostat/statistics-explained/index.php/...
While Nim is my favorite language, I can understand that it has a small userbase, for these reasons:
1. No major backer like Google for Go or Mozilla for Rust
2. No killer feature like "memory safety and performance without GC" for Rust, instead a mix of all the reasonable down-to-earth features I want in a programming language
3. Some unique decisions instead of what you're used to from other languages, for example partial case sensitivity
21:37 <@deen> A third of the sys calls of a DDNet server are recfrom and
sendto each
21:37 <@deen> they always occur in large chunks, so ideal for
sendmmsg/recvmmsg
21:38 <@deen> the last third are mostly strange time and gettimeofday
calls, I thought I got rid of most of them
21:40 <@deen> server with 30 players causes 3000 syscalls a second
22:00 <@deen> PACKET_MMAP is very cool, reading packets with 0 syscalls,
too bad it's not for regular applications (requires root,
doesn't work with normal udp socket):
https://www.kernel.org/doc/Documentation/networking/packet_mmap.txt
22:04 <@deen> and then the glibc version matters a lot for syscalls. new
versions of glibc don't syscall at all for gettimeofday
22:05 <@deen> (or something else is causing that, not sure yet)
22:13 <@deen> Reading the glibc implementation, that's done by vDSO,
interesting: http://man7.org/linux/man-pages/man7/vdso.7.html
22:32 <@deen> totally confused why some of our servers use vdso
gettimeofday, others not even though they have more recent
kernel and glibc
22:41 <@deen> ok, probably depends on the underlying clock that the vps
uses. pvclock is used with kvm and doesn't support vdso. but
looks like there's some progress being made:
https://lkml.org/lkml/2015/12/9/914SDL2, OpenGL, FreeType, pnglite, zlib, curl, md5, wavpack, opus, json-parser
So pretty much low level, keeps the performance and flexibility high.
- https://hookrace.net/blog/what-makes-nim-practical/#debuggin...
- https://hookrace.net/blog/writing-an-async-logger-in-nim/#op...
Edit: You can of course also change the program itself, using echo and writeStackTrace to figure out what's going on.
Short circuiting in Nim, seems simple enough:
template myAnd(a, b: bool): bool =
if a: b
else: false echo '\033]11;#440000\007'
On the local machine add this to reset the terminal color: ssh () {/usr/bin/ssh "$@"; echo '\033]11;#000000\007'}- Cross-Platform: Mac, Windows, Linux, Web ( http://teewebs.net ), Android (spectating mostly): http://ddnet.tw/downloads/
- Open Source ( https://github.com/def-/ddnet ), non-profit
- JavaScript Map previews: http://ddnet.tw/maps/?map=Just2Easy
- Official servers worldwide http://ddnet.tw/status/
- Worldwide ranking system with thousands of players: http://ddnet.tw/ranks/
We're sorely missing a tutorial on how to get started. Here's the gist of it:
- the goal is to get to the finish, together with everyone else
- Novice servers with 1 star map are easiest
- move with a and d, jump with space, hook with right mouse click, shoot with left mouse click, change weapon with mouse wheel
- pause with q, p or pause key, spectate another player with right shift
- kill yourself with k or pos1
- chat with t, teamchat with y
- Cross-Platform: Mac, Windows, Linux, Web ( http://teewebs.net ), Android (spectating mostly): http://ddnet.tw/downloads/
- Open Source ( https://github.com/def-/ddnet ), non-profit
- JavaScript Map previews: http://ddnet.tw/maps/?map=Just2Easy
- Official servers worldwide http://ddnet.tw/status/
- Worldwide ranking system with thousands of players: http://ddnet.tw/ranks/
We're sorely missing a tutorial on how to get started. Here's the gist of it:
- the goal is to get to the finish, together with everyone else
- Novice servers with 1 star map are easiest
- move with a and d, jump with space, hook with right mouse click, shoot with left mouse click, change weapon with mouse wheel
- pause with q, p or pause key, spectate another player with right shift
- kill yourself with k or pos1
- chat with t, teamchat with y