Edit: It's back and status now includes "renewPeriod".
609 karma · joined October 28, 2011
https://www.ers35.com/
Edit: It's back and status now includes "renewPeriod".
CC="" luastatic main.lua
# Compile main.luastatic.c with Cosmopolitan Libc
[1] https://github.com/ers35/luastaticIt's more about the consistency of operating on data local to the user. For example, see this comment referencing how HN paginates threads at 250 comments for performance reasons: https://news.ycombinator.com/item?id=22231055 A local database does not have that issue.
1) It is possible to keep the whole site offline. A database from 2017 is 9 GB: https://archive.org/details/hackernews-2017-05-18.db I think a 2020 DB could be less than 20 GB.
2) My focus is on reading, not writing. Local favorites make sense. Maybe with importing public favorites. A user can set their name without logging in.
3/4) SQLite does the heavy lifting here.
The dump posted claims to cover from 1 to 14566367 (06/16/2017 at 3:03am UTC)
Two steps towards obscuring the origin server include requiring that the HTTP Host header is set and only responding to Cloudflare IP ranges: https://www.cloudflare.com/ips/
Add the following to your hosts file to bypass Cloudflare and access HN directly:
50.22.90.248 news.ycombinator.comFor the following program:
iup.Message('test', 'hello world')
Build the program to a standalone executable: luastatic example.lua /usr/lib/x86_64-linux-gnu/liblua5.2.a -I/usr/include/lua5.2 libiup.a libiuplua52.a libiupcontrols.a `pkg-config --cflags --libs gtk+-3.0` -lX11The Python module does not require one to use an FFI: https://github.com/ers35/modserver/blob/master/src/example/p...
More idiomatic wrappers can be written later, but the FFI based bindings have to come first.
I updated the readme to make this more clear.