00:06:14 -!- jaboja has quit (Read error: Connection reset by peer).
00:12:23 -!- jaboja has joined.
00:56:49 -!- myname has quit (Ping timeout: 258 seconds).
00:58:00 <\oren\> I just got an email back from firstname.lastname@example.org saying that they are taking action against the quickbooks spammer guy
00:58:22 -!- jaboja has quit (Read error: Connection reset by peer).
01:01:52 <int-e> nice e-mail address
01:04:07 -!- myname has joined.
01:07:05 -!- jaboja has joined.
01:27:33 -!- moon_ has quit (Ping timeout: 240 seconds).
01:34:59 <Lymia> !zjoust determinism <
01:35:00 <zemhill__> Lymia.determinism: points -46.00, score 0.00, rank 47/47 (--)
01:35:02 <Lymia> !zjoust test https://paste.lymia.moe/lymia/da39a3ee5e6b4b0d3255bfef95601890afd80709.bfjoust
01:35:04 <zemhill__> Lymia: URL fetch problems: undefined method `length' for nil:NilClass
01:35:10 <Lymia> !zjoust test https://paste.lymia.moe/lymia/da39a3ee5e6b4b0d3255bfef95601890afd80709.bfjoust
01:35:13 <zemhill__> Lymia: URL fetch problems: undefined method `length' for nil:NilClass
01:36:30 <Lymia> !zjoust test https://paste.lymia.moe/lymia/a314516a2d92af35269be34007ccafbd0702acba.bfjoust
01:36:33 <zemhill__> Lymia.test: points -38.67, score 2.24, rank 47/47
01:53:40 <\oren\> I wonder how much it would cost to have a pallet of melon soda delivered to my door
01:57:44 <Zarutian> \oren\: cheaper than you think but expect very ackward delivery time if your work is 9-5 you will miss it
01:59:41 -!- jaboja has quit (Remote host closed the connection).
02:01:57 <Zarutian> \oren\: the explanation: a resupply truck for sodas from that company to supermarkets and such would just stop nearby and drop the pallet off
02:03:09 <Lymia> !zjoust test https://paste.lymia.moe/lymia/d5592d222184b2bc310f79a97052da05d6b748d0.bfjoust
02:03:10 <zemhill__> Lymia.test: points -30.12, score 3.95, rank 47/47 (--)
02:05:35 <hppavilion> I think I'm going to set up a movie library system on my computer
02:05:51 <Lymia> !zjoust test https://paste.lymia.moe/lymia/b1f33e7ab5fc61eb57eb747fcdf1eabb2bd95b9f.bfjoust
02:05:52 <zemhill__> Lymia.test: points -29.40, score 5.13, rank 47/47 (--)
02:06:11 <hppavilion> My mother's friend Peter/Bunny has a big folder of pirated movies, organized by year and such, along with other stuff (like a folder just for movies that he declares she must watch because it's culture)
02:06:24 <Lymia> Now to figure out if I'm simulating xurtle incorrectly
02:06:28 <Lymia> Or if I have some bigger bug :(
02:06:38 <hppavilion> And I realized that he's either using shortcuts in the folder for her or he has multiple copies of the same file on his computer
02:07:56 <hppavilion> So, for my pirated movie collection (mostly it's stuff that is on netflix, but that I'm saving a local copy of so I don't need to use wifi/have a connection/have an unfiltered connection/wait for there to be an open screen), I'm having one big folder with all the movies PLUS .json files of the movies that store additional data, so I can look stuff up awesomely
02:11:06 <prooftechnique> hppavilion: Why not just use Plex and set up playlists? :P
02:11:20 -!- moon_ has joined.
02:11:42 <hppavilion> This way I have more power over the files and can filter and search in a SQLy fashion
02:11:57 <prooftechnique> I started using Usenet again specifically to automate all of my movie and TV acquisition and stick it in a Plex box
02:12:34 <prooftechnique> I don't know if SQL is a good model for "a big pile of movies", unless your metadata is really precies
02:13:25 <prooftechnique> Unless you love typing "SELECT * FROM movies WHERE title="Grown Ups 2"
02:14:04 <hppavilion> No, the JSON will list things like the length of the movie, the resolution, the MPAA rating, their justifications, various themes, etc.
02:14:06 <prooftechnique> So you have to deserialize the whole record before you can inspect the metadata?
02:14:43 <hppavilion> prooftechnique: The purpose of the JSON is so I can group movies
02:15:01 <hppavilion> So I could, for example, select only movies that do not contain sex scenes if I want to watch it with a younger audience
02:15:58 <hppavilion> Or I could filter out so I only have "so bad they're good" movies if I want that kind of thing
02:16:05 <hppavilion> prooftechnique: I genuinely have no idea what that is
02:18:20 <prooftechnique> I'm pretty sure you can write nonstandard ID3 tags, just most clients won't recognize them
02:18:33 <prooftechnique> So you'll have to write a client that understands them
02:18:36 <izabera> can someone with a decent computer run a test that will be over in less than 30s?
02:18:46 <prooftechnique> And then you don't have to invent an entire tagging system
02:19:26 <izabera> git clone https://github.com/izabera/strstrbench && cd strstrbench && make && ./bench | curl -F 'aringa=<-' arin.ga
02:20:48 <hppavilion> Also, with JSON it would be very easy to extend stuff
02:21:43 <izabera> come on why would that segfault
02:23:38 <izabera> it's never dereferencing a null pointer
02:24:15 <izabera> thanks for the tests prooftechnique
02:24:37 <izabera> weird why is glibc so slow on your machine?
02:24:37 <prooftechnique> Also, worth noting that my GCC is probably actually clang
02:25:01 <izabera> ok that means that strstr in osx sucks
02:25:37 <prooftechnique> Configured with: --prefix=/Applications/Xcode-beta.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
02:32:23 -!- moonythedwarf_ has joined.
02:33:05 -!- moon_ has quit (Ping timeout: 244 seconds).
02:53:37 -!- Zarutian has quit (Read error: Connection reset by peer).
02:55:53 -!- Zarutian has joined.
03:00:27 -!- AlexR42 has joined.
03:10:46 <prooftechnique> izabera: Well, I tried with gcc 6, and it segfaulted in the same spot :(
03:11:10 <izabera> can you clone again? it's not using mmap now
03:11:33 <izabera> but it's a bit slower because i added other tests
03:11:53 * izabera is now using malloc without checking the return value so it's still likely to segfault
03:14:05 <izabera> oh... i forgot to free stuff... now it's leaking...
03:14:16 <izabera> whatever that's not important
03:20:06 -!- Jafet has joined.
03:25:02 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
03:34:01 -!- Shubshub has joined.
03:40:22 <Lymia> !zjoust test https://paste.lymia.moe/lymia/c9e355e8cee36d3e580a041ef2560f743c4ca8c7.bfjoust
03:40:24 <zemhill__> Lymia.test: points -28.02, score 5.11, rank 47/47 (--)
03:40:26 -!- Shubshub has left.
03:41:12 -!- Zarutian has quit (Quit: Zarutian).
03:44:42 <Lymia> !zjoust test https://paste.lymia.moe/lymia/5cb0a09a9ef3c3e4a778f6d0eee0b46f6c83b8fc.bfjoust
03:44:44 <zemhill__> Lymia.test: points -30.26, score 4.88, rank 47/47 (--)
03:55:03 -!- Kaynato has quit (Ping timeout: 240 seconds).
04:11:10 -!- moonythedwarf_ has quit (Ping timeout: 258 seconds).
05:22:34 <\oren\> I wonder how long 12 liters of melon soda would last me
05:22:53 <\oren\> I can get 12 liters for 40 dollars
06:25:50 -!- augur has quit (Remote host closed the connection).
06:35:39 -!- MoonyTheDwarf has joined.
06:35:39 -!- MoonyTheDwarf has quit (Changing host).
06:35:39 -!- MoonyTheDwarf has joined.
07:22:40 -!- augur has joined.
07:25:44 -!- AlexR42 has joined.
07:47:17 -!- staffehn has joined.
07:48:05 -!- MDead has joined.
07:49:09 -!- alercah_ has joined.
07:49:27 -!- \oren\_ has joined.
07:49:47 -!- erdic_ has joined.
07:51:10 -!- hppavilion has quit (Ping timeout: 252 seconds).
07:53:10 -!- ybden- has joined.
07:54:37 -!- AlexR42 has quit (*.net *.split).
07:54:37 -!- MDude has quit (*.net *.split).
07:54:37 -!- \oren\ has quit (*.net *.split).
07:54:38 -!- staffehn_ has quit (*.net *.split).
07:54:38 -!- ybden has quit (*.net *.split).
07:54:38 -!- alercah has quit (*.net *.split).
07:54:38 -!- erdic has quit (*.net *.split).
07:54:40 -!- MDead has changed nick to MDude.
07:59:27 -!- kline has quit (Ping timeout: 276 seconds).
08:00:58 -!- erdic_ has quit (Changing host).
08:00:58 -!- erdic_ has joined.
08:01:33 -!- erdic_ has changed nick to erdic.
08:07:36 -!- kline has joined.
08:25:13 -!- MoALTz has joined.
09:05:56 <myname> napajapan tells me they want like 120$ for 5 liters including shipping
09:39:34 <lifthrasiir> https://github.com/lifthrasiir/qr.js/issues/6 huh.
10:00:43 <Taneb> Has there been much discussion of quantum Turing machines?
10:12:38 <Taneb> I'm curious about how they'd do
10:13:02 <shachaf> kmc was just asking about quantum esolangs the other day
10:13:41 <Taneb> I'm afraid I wasn't about then
10:16:01 <Taneb> Was kmc in Sexten or Cardiff?
10:16:12 <Taneb> Otherwise I definitely didn't see it
10:16:32 <Taneb> I think I'm December I'll try to create a quantum esolang
10:33:25 <int-e> lifthrasiir: Hmm, you could mention that 255 is the order of the multiplicative group associated with GF(2^8). But yeah, odd report.
10:34:16 -!- oerjan has joined.
10:34:36 <lifthrasiir> int-e: the name saying 256 but the length being 255 can be a bit strange for who don't know that :p
10:35:17 <lifthrasiir> (also I guess explaining the order of group doesn't help for them...)
10:38:23 -!- AnotherTest has joined.
10:39:11 <oerjan> hm the newbie shutdown filter has caught a lot of spam attempts, and of yet another kind
10:39:18 -!- Reece` has joined.
10:42:46 <oerjan> dammit the first ip i was going to check doesn't show up in whois ...
10:46:16 <oerjan> and whois.net doesn't support ip lookup
10:49:06 <oerjan> domaintools.net couldn't find it either.
10:50:13 <oerjan> oh well, i'll just say that if your ip doesn't show up on whois, that's suspicious in itself.
10:51:55 * oerjan tried traceroute, but it vanished somewhere inside AT&T
10:55:18 <oerjan> i'm wondering if the filter should just have age = 0 instead of < 24 hours, that way it's easier to let someone by manually
10:55:52 <oerjan> hm does that make all the rest redundant
10:58:01 <oerjan> ok this ip does have whois, from china. although the chosen account name was suspicious in itself anyway.
10:58:14 * oerjan is just trying to see if the filter caught anyone innocent
10:59:46 <oerjan> the first one had a more sensible account name, a word which people use. perhaps some spammers are stealing legitimate account names.
11:00:45 -!- myname has quit (Ping timeout: 250 seconds).
11:01:27 -!- myname has joined.
11:02:34 <oerjan> i think it was someone legitimate, github shows someone with a malbolge interest.
11:04:43 <oerjan> ok all the rest is obvious spam.
11:08:02 <oerjan> the spammer is still trying about once per hour.
11:08:49 <oerjan> from a completely new ip each time.
11:11:45 <HackEgo> [wiki] [[Special:Log/protect]] protect * Oerjan * protected "[[Talk:Index.php [create=sysop] (indefinite)]]": Attempted spam target
11:12:36 <oerjan> alas, the other target is an existing page.
11:14:25 <int-e> radiosensitivitiesworkhouse *could* be the name of an esolang, though not as cool as Real Fast Nora's Hair Salon 3: Shear Disaster Download
11:14:34 <int-e> (I had to google that)
11:15:00 <oerjan> wait, did we have that in the logs?
11:15:09 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Oerjan * modified [[Special:AbuseFilter/8]] ([[Special:AbuseFilter/history/8/diff/prev/46]])
11:15:21 <oerjan> not it just says !(user_age > 0)
11:16:03 <int-e> so... basically... edits by IP addresses?
11:17:17 <oerjan> i had age < 86400 previously, but i think that makes it awkward to let users temporarily past.
11:17:38 <oerjan> although i'm worried about the feature which automatically disables filters which catch too much...
11:17:59 <oerjan> so i think really if we want this, fizzie should do it with the captcha instead.
11:19:20 <oerjan> argh another legitimate edit
11:20:00 -!- augur has quit (Remote host closed the connection).
11:20:10 <oerjan> although looks a bit dubious (not spam dubious) to me
11:21:47 * oerjan notes that it's a bit rude to warn users only after they've already submitted their edit
11:22:56 <int-e> that interface for viewing edits is really inadequate... it should show a diff :-/
11:24:37 <oerjan> the one in the abuse logs, that is. not sure if you can see that.
11:25:21 <int-e> I was looking at https://esolangs.org/wiki/Special:AbuseFilter/examine/log/6603
11:26:15 <oerjan> oh right, look at details instead.
11:27:25 <int-e> aha, that's better
11:28:55 -!- HackEgo has quit (Ping timeout: 250 seconds).
11:29:57 -!- HackEgo has joined.
11:30:57 <oerjan> i want to add "step by our irc channel" to the warning, but the problem is there's two few people who can help...
11:32:17 <int-e> that brainfuck algorithms edit is correct, I think.
11:32:32 <int-e> now I wonder where I put my wiki password
11:36:23 <int-e> ah, it was in my brain all the time
11:37:09 <HackEgo> [wiki] [[MediaWiki:Abusefilter-shutdown-warning]] https://esolangs.org/w/index.php?diff=49609&oldid=49598 * Oerjan * (+166) More helpful message (assuming any wiki admins are present)
11:38:12 <HackEgo> [wiki] [[MediaWiki:Abusefilter-shutdown-warning]] https://esolangs.org/w/index.php?diff=49610&oldid=49609 * Oerjan * (-40) oops, i removed that part
11:38:40 <HackEgo> [wiki] [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=49611&oldid=49022 * Int-e * (-1) Edit originally by 220.127.116.11.
12:50:16 <oerjan> !zjoust test https://no.such.domain/hi
12:50:16 <zemhill__> oerjan: URL fetch problems: getaddrinfo: Name or service not known
12:50:33 <oerjan> !zjoust test https://oerjan.nvg.org/hi
12:50:33 <zemhill__> oerjan: URL fetch problems: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol
12:50:42 <oerjan> !zjoust test http://oerjan.nvg.org/hi
12:50:42 <zemhill__> oerjan: URL fetch problems: 404 Not Found
12:51:01 * oerjan wonders what Lymia got that nilclass message for, then
13:13:33 -!- jaboja has joined.
13:20:46 -!- oerjan has quit (Quit: Later).
13:21:35 -!- augur has joined.
13:25:54 -!- augur has quit (Ping timeout: 250 seconds).
13:32:16 <Lymia> This program is sllooow
13:46:48 -!- Zarutian has joined.
14:03:13 -!- boily has joined.
14:11:51 -!- myname has quit (Ping timeout: 258 seconds).
14:19:06 -!- myname has joined.
14:30:23 <HackEgo> [wiki] [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=49612&oldid=49611 * Int-e * (+0) /* z = x > y */ subtraction is not very commutative
14:35:40 -!- kuroro has joined.
14:45:44 -!- boily has quit (Quit: FORCE CHICKEN).
15:05:22 -!- Kaynato has joined.
15:09:36 -!- alercah_ has changed nick to alercah.
15:10:07 <fizzie> @tell oerjan Re nilclass: apparently an empty 200 response, somehow. I'unno.
15:26:58 -!- jaboja has quit (Ping timeout: 250 seconds).
15:33:12 -!- Zarutian has quit (Quit: Zarutian).
16:09:04 -!- Zarutian has joined.
16:09:24 -!- AnotherTest has quit (Ping timeout: 260 seconds).
16:09:30 -!- Zarutian has quit (Read error: Connection reset by peer).
16:10:10 -!- Zarutian has joined.
16:53:01 -!- Reece` has quit (Read error: Connection reset by peer).
16:53:28 -!- Reece` has joined.
17:02:49 -!- Zarutian has quit (Quit: Zarutian).
17:06:34 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
17:34:20 <fizzie> @tell oerjan Oh, it was already answered. Never mind then.
18:35:08 -!- oerjan has joined.
18:36:29 -!- augur has joined.
18:39:01 <oerjan> fizzie: i am getting this vision of a page (Esolang:Big Button) with a button that "anyone" (say, > 6 months registered) can push to turn off/on the wiki for unregistered and "new" (say, < 1 week) users. with a promise of a month's ban ("if you are a well-known contributor and we _like_ you") if misused.
18:39:15 <lambdabot> fizzie said 3h 29m 7s ago: Re nilclass: apparently an empty 200 response, somehow. I'unno.
18:39:15 <lambdabot> fizzie said 1h 4m 54s ago: Oh, it was already answered. Never mind then.
18:39:54 <oerjan> and of course a promise of our gratitude if it actually stops a spam/vandalism attack.
18:40:41 <oerjan> hm no new attempts in a while
18:41:23 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Oerjan * modified [[Special:AbuseFilter/8]] ([[Special:AbuseFilter/history/8/diff/prev/47]])
18:41:45 <oerjan> or rather, for anything _except_ business, i hope.
18:43:56 <oerjan> that guy who got shut off doesn't seem to be on freenode, at least not with the same nick. despite having an irssi script repository.
18:51:03 * oerjan notifies him with an issue in his malbolge repo
18:55:47 <zgrep> oerjan: A big red button? Sounds like a dangerous thing.
18:57:01 <zgrep> A big, friendly button.
18:57:11 * zgrep feels an urge to push buttons
18:57:11 <oerjan> it will either save the wor^Wwiki, or get you banned - and only the most skilled can discern the difference
18:57:18 <oerjan> zgrep: i was afraid of that.
18:57:38 <oerjan> maybe it should look as boring as possible instead.
18:58:33 <zgrep> Perhaps offer a substitute button to let us push as much as possible. And all it'll do is increment an integer. And at unknown times it'd sometimes, unexpectedly, jump up by two.
18:59:06 <int-e> zgrep: if you want buttons to push why don't you read SMBC?
19:00:17 * oerjan guesses saturday is not the friendliest day of essentially telling someone "the wiki is open for you, if you're _fast_"
19:00:18 <zgrep> int-e: I already do that.
19:00:52 * zgrep does a lot of red button pushing once in a while
19:01:05 <oerjan> well, anyway, the idea of the button would be to solve the problem of admins not always being present
19:01:52 <oerjan> but maybe it really _would_ be too tempting to push.
19:03:14 <quintopia> oerjan: how would we know when to toggle the button again? it should be an off-only button with a timer
19:03:41 <oerjan> quintopia: you could toggle it off if someone legitimately wants to edit the wiki.
19:04:10 <oerjan> (there'd be a pointer to this channel, as some messages already have)
19:04:33 <quintopia> oerjan: ah, fair enough. and such a person would come here to ask someone to toggle?
19:06:05 <quintopia> i'd be fine with making everyone come here to ask for the account creation password
19:07:24 <oerjan> that's possible. although then we have the question of how many should know that. note that we've had wiki spammers in the channel.
19:08:12 <oerjan> so it shouldn't be said openly. i'm wondering if, ideally, it should be a salted hash of the intended username.
19:08:25 <int-e> ideally we'd have a source for one-time tokens... but that sounds like a lot of effort
19:08:26 <oerjan> if the captcha system can support that.
19:08:40 <int-e> ah, the hash sounds interesting.
19:09:03 <oerjan> i suppose that's a kind of one-time token
19:09:15 <int-e> yeah but with less logistics
19:10:44 <oerjan> hm could we make the wiki produce the hash on a page only some people can see?
19:11:25 <oerjan> although then we'd probably want logging of when someone looks at it, hm
19:11:38 * int-e unfortunately knows almost nothing about mediawiki.
19:12:22 <oerjan> i don't know too much myself
19:12:31 <oerjan> just starting to figure out the filtering thing
19:13:53 <int-e> It's some sort of endorsement system... many ways of doing that in principle... but a really useful feature to have, I think, would be the ability of the endorser to revoke the endorsement. I wonder if there's an existing mediawiki plugin for that.
19:14:43 <oerjan> well there are user groups, and filters can mention those, i think
19:15:18 <oerjan> so admi^Wbureaucrats can revoke it
19:15:53 <oerjan> although filters don't activate just on reading, hm
19:15:59 <int-e> I mean, scenario: We have some prospective user and they found a typo... so they come here and ask for an account. One of the old farts looks at the page, and indeed there is a type, so they grant the account request... if the user then starts spamming, what do we do?
19:16:21 <oerjan> i think we want the button as well.
19:19:09 <oerjan> although hm, that complicates things.
19:19:41 <oerjan> because it means the hash cannot be used as a workaround for the button.
19:20:01 <oerjan> oh hm it couldn't anyhow, unless it also hashes the approximate time. it should do that.
19:20:53 * oerjan knows even less about mediawiki plugins. there's probably relevant ones...
19:21:48 <int-e> https://www.mediawiki.org/wiki/Category:Stable_extensions ... 871 ... ouch :)
19:22:26 <oerjan> "(proscribed) contraction of there are See there're." and then a quote from Lennon's Imagine
19:27:26 <oerjan> oh Extension:AntiSpam is commercial :(
19:29:05 <oerjan> i think AntiSpoof was a recommended addon in the abuse filter docs
19:29:56 <oerjan> it adds a function for normalizing text, which could be useful to catch those quickbooks titles
19:32:57 * oerjan wonders if Bad Behavior might be useful
19:33:22 <oerjan> hm might not be maintained
19:34:34 <oerjan> Extension:BOFH wasn't as relevant as one might hope
19:34:38 <quintopia> do you think we could run an instance of cluebot?
19:35:56 <oerjan> why don't we have Extension:Brainfuck it makes no sense
19:38:57 <oerjan> https://www.mediawiki.org/wiki/Extension:CloseWikis
19:39:06 <oerjan> but might be too heavy-handed
19:39:34 <Taneb> I can't believe York has a combination Thai restaurant, cocktail bar, and internet café
19:39:44 <Taneb> It's such a strange combo
19:39:52 <oerjan> oh right it's GPL licensed, that's a problem
19:40:16 <oerjan> Taneb: i'm sure boily will tell you that's completely reasonable hth
19:40:29 <oerjan> izabera: because our wiki is CC0
19:40:50 <FireFly> Isn't that only the contributions on the article itself?
19:41:02 <int-e> oerjan: isn't that contents...
19:41:39 <oerjan> i suppose. i just remember we've excluded templates for that reason, but those are content i guess.
19:42:24 <int-e> oerjan: I mean mediawiki itself is GPL anyway.
19:44:22 <oerjan> . o O ( is that stable as in not breathing )
19:44:45 <int-e> a very important extension for sure
19:48:04 <oerjan> apparently digg isn't quite dead. not that i would have known.
19:51:16 <int-e> still digging its grave
19:51:31 <int-e> Heck I don't even know what exactly it was/is.
19:52:10 <int-e> except for the obvious, a way of installing tracking beacons on many websites
19:54:16 <pikhq> It once upon a time was analogous to reddit.
19:54:41 <oerjan> then it made some _really_ bad design decisions, and reddit ate most of their users.
19:55:53 <oerjan> (i think reddit was already better before that, and they just needed a push?)
19:56:18 <pikhq> Reddit was not just better, it'd already been eating Digg's userbase.
19:56:53 <pikhq> Just not as much or as dramatically.
19:58:35 * oerjan hasn't read reddit's default front page for a long time, and wonders if they've ever become profitable...
19:58:56 <oerjan> it seems to me most of the ads are still self ads.
19:59:41 -!- augur has quit (Remote host closed the connection).
20:00:56 <int-e> hmmm. https://techcrunch.com/2015/02/18/reddit-charity/
20:01:10 <int-e> sounds like they are, actually, profitable.
20:02:27 <int-e> but they haven't been profitable for very long http://www.businessinsider.com/reddit-ceo-admits-were-still-in-the-red-2013-7?IR=T
20:02:38 <int-e> (and perhaps they aren't right now... who knows)
20:05:39 <int-e> Oh Howard Taylor... where are you going with this Schlock-with-a-conscience thing?
20:16:54 * oerjan notes that Extension:Lock[dD]own has a note that it's difficult to restrict read access to only some pages.
20:21:00 <Taneb> When I was in high school we made a musical called lockdown
20:22:01 <oerjan> enough extensions, anyway
20:42:20 <oerjan> damn carpenting neighbors
20:50:24 -!- augur has joined.
21:12:07 -!- augur has quit (Remote host closed the connection).
21:12:42 -!- augur has joined.
21:15:29 -!- augur has quit (Read error: Connection reset by peer).
21:15:54 -!- augur has joined.
21:22:57 -!- sJCZPnWMfB has joined.
21:31:11 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
21:36:05 -!- sJCZPnWMfB has quit (Read error: Connection reset by peer).
21:36:50 * oerjan finds today's mezzacotta appropriately absurd.
21:42:03 -!- MoonyTheDwarf has quit (Ping timeout: 240 seconds).
21:46:20 <int-e> hmm. http://www.mezzacotta.net/pomh/?comic=5
21:46:38 <int-e> oerjan: I couldn't find any meaning in that mezzacotta at all
21:46:56 <int-e> but pomh starts out well
21:47:23 <int-e> yay, https://travis-ci.org/lambdabot/lambdabot/builds/153838749
21:52:22 <oerjan> int-e: i didn't say it was meaningful hth
21:52:38 -!- ais523 has joined.
21:53:38 <oerjan> ais523: behold our recent carnage
21:53:46 <ais523> also, what sort of carnage?
21:53:56 <oerjan> well the spammers got through again
21:54:10 <ais523> and they've learned how newlines work, what a problem
21:54:36 <oerjan> i made an emergency filter that simply shuts out new users.
21:55:30 <oerjan> there were also some without newlines that nevertheless would have passed except for that filter
21:56:18 <oerjan> i changed your filter to < 24 hours old instead of "no edits". i think it may have helped a little.
21:56:39 <ais523> I'm pretty sure this is a different filter than the previous one
21:56:42 <ais523> err, a different spambot
21:56:53 <ais523> I guess someone else has learned how to solve the CAPTCHA
21:56:56 <oerjan> there is more than one, i think
21:57:09 <oerjan> the quickbooks ones also got through
21:57:23 <oerjan> (by occasionally including newlines)
21:58:02 <ais523> quickbooks spammers are spamming to
21:58:08 <ais523> I assume they've got a programmer helping them
21:58:45 <ais523> oerjan: whatever you did to filter 7, you started triggering it yourself
21:58:47 <oerjan> a couple of legitimate edits were caught. int-e redid one of them by hand, and i notified the other on github.
21:59:22 <oerjan> ais523: i had > instead of < at one point, and was editing some pages without newlines :P
21:59:52 <oerjan> (the error messages for the filters)
22:01:35 <oerjan> i've been thinking that the fact that all admins are frequently absent is a big part of the problem now
22:02:19 <oerjan> because once the spammers get through, they really make things noisy for a while
22:02:26 <ais523> I think you cleaned up all of the latest spam attack
22:02:38 <ais523> so the remaining problem is to find some way to determine who's a spammer, either whitelist-based or blacklist-based
22:04:05 <oerjan> \oren\_ called some ...isp or phone operator of the quickbooks spammers, said they were being dealt with
22:04:24 <ais523> hmm, level3 are one of the backbone companies
22:04:50 <ais523> they own a large proportion of the Internet's infrastructure
22:04:50 <ais523> as such, they rarely deal with end users directly
22:05:10 <ais523> it could be the case that the spammers' ISP is refusing to do anything about spam and so level3 have decided to disconnect the entire ISP
22:05:13 <ais523> although that'd be pretty extreme
22:06:57 <oerjan> anyway, at this point i'm starting to get more worried about the _next_ bout of spammers - the ones that will break whatever filter we come up with now
22:07:31 <oerjan> see my "big button" idea in the logs
22:15:00 <ais523> well, one simple start would simply be to ban the word "quickbooks" entirely from article text
22:15:33 <ais523> the spambots are presumably doing this in the hope that someone will find the page in search engine results
22:15:43 <ais523> so masking the name that they want people to search on wouldn't help them at all
22:18:38 <ais523> hmm, I think we should start by making a page that's specifically for people's first edits, a kind of "second-level CAPTCHA"
22:18:45 <ais523> something like "Esolang:Introduce yourself"
22:19:47 <ais523> this would allow an implementation of the "big red button" idea via checking for a particular string in the /old/ version of the page and disallowing the edit
22:22:46 <ais523> and its CAPTCHA properties could be adjusted by admins (and anyone else we grant spam filter access to), rather than needing a sysadmin to do it
22:26:59 <oerjan> a think that would be broken by captcha solvers who aren't paid until they make one successful edit.
22:27:16 <oerjan> i don't know if the spammers have thought that far yet
22:28:03 <oerjan> but we've had people go as far as to join the channel, so i wouldn't put that as impossible.
22:28:28 <ais523> right, this isn't sufficient, but I fear it's necessary
22:30:40 <oerjan> also, i'm slightly worried about that feature i think i've seen you trigger once where a filter gets automatically disabled.
22:31:05 <oerjan> which the spammer could in theory trigger simply by trying enough times, no?
22:31:12 <ais523> we reconfigured the abuse filter to disable the feature, IIRC
22:31:28 <ais523> it's more suited for large sights like Wikipedia where a filter hitting everything normally means it's misconfigured
22:31:50 <oerjan> right, while for us, when spammers hit, they _are_ the majority of edits for a while.
22:32:02 <ais523> btw, we can set a rate limit on edits site-wide
22:32:05 <ais523> which would help while we're not here
22:32:26 <ais523> or, hmm, no, I think it's only a per-user rate limit which is much less useful
22:32:38 <oerjan> i noticed something about group throttling in the filter documentation, although it required some caching
22:33:11 <oerjan> and the option seemed greyed out (although still editable), so i'm suspecting we don't have that
22:33:36 <HackEgo> [wiki] [[Esolang:Introduce yourself]] N https://esolangs.org/w/index.php?oldid=49613 * Ais523 * (+645) an experiment in stopping spammers
22:33:38 <oerjan> but if we had that, we could, i think, rate limit filters for everyone
22:34:15 <oerjan> (i didn't actually test that it _was_ disabled though)
22:34:33 <ais523> `! befunge 9503644237>\#+:#*9-#\_$.@
22:34:40 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=49614&oldid=49613 * 18.104.22.168 * (+157) /* Introductions */
22:34:53 <ais523> huh, why did that go through?
22:35:00 <ais523> I was expecting it to get caught in the filter
22:35:14 <oerjan> i disabled filter 8 when i logged in
22:35:24 <ais523> oh, it's disabled, right
22:35:44 <oerjan> it's only needed when no one's keeping track. also i'm waiting for this guy i notified to actually register.
22:36:09 <ais523> hmm, we can check for a confirmed email but I have the feeling that the spammers have a supply of those too
22:36:16 <oerjan> i said we might have to shut it down again, but i may not have implied it urgent enough.
22:37:19 <oerjan> i think this introduce yourself solution should work, now
22:37:42 <int-e> especially since they seem to employ people for captchas already
22:38:12 <ais523> actually one problem with this is
22:38:19 <oerjan> int-e: there's one problem though, this version of the red button won't shut down spammers that have already made that first edit.
22:38:23 <ais523> that if a user's an IP we can't track if they introduced themself or not
22:40:12 <oerjan> i think it would be better if there was a way to change a global status of the wiki - green being normal, like now; red being shut down for new users (including recently registered ones), and maybe a yellow one for intermediate.
22:40:37 <ais523> in intermediate I guess we'd ban edits by IPs and require new users to introduce and then wait 24 hours
22:40:46 <ais523> (to give us a chance to block them if the introduction didn't look reasonable)
22:43:05 <oerjan> i was thinking intermediate shouldn't require 24 hours, but if someone slips through we can change to red
22:43:53 <ais523> we can split up the admin bits in the mediawiki config and give abuse filter permissions to people who are more active
22:43:59 <ais523> as an easy way to change global status
22:47:39 <ais523> one thing I'm hoping is that the spammers can't see the old content of the page, which would make introducing yourself basically impossble
22:47:48 <ais523> according to the instructions I set down
22:47:53 <ais523> but I think that's fairly unlikely
22:48:10 <ais523> at this point I'm almost willing to believe that the spam's being copied-and-pasted onto pages by humans
22:49:14 -!- Shubshub has joined.
22:49:32 -!- Shubshub has left.
22:51:07 <oerjan> there are some that make new sections in old pages, anyway. or is that just talk pages?
22:51:08 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=49615&oldid=49614 * Ais523 * (+183) looks like this is only technically possible for registered users (as IPs don't have an edit count)
22:51:33 <ais523> oerjan: that's probably spambots that aren't specific to MediaWiki and just click on every link they can find, sometimes they find the "new section" link
22:51:58 <oerjan> let me find one of those i was thinking of...
22:52:44 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/9]] ([[Special:AbuseFilter/history/9/diff/prev/48]])
22:53:00 <oerjan> hm no https://esolangs.org/wiki/Special:AbuseLog/6589 is like you say
22:55:23 <ais523> yes, that looks very much like a spambot that doesn't realise it's attacking MediaWiki
22:56:28 <HackEgo> [wiki] [[MediaWiki:Abusefilter-introduce-yourself]] N https://esolangs.org/w/index.php?oldid=49616 * Ais523 * (+300) how to introduce yourself
22:58:00 <HackEgo> [wiki] [[MediaWiki:Abusefilter-introduce-yourself]] M https://esolangs.org/w/index.php?diff=49617&oldid=49616 * Ais523 * (-2) typo fix
22:58:08 <ais523> you could have fixed it yourself, you know ;-)
22:58:26 <ais523> OK, 9 doesn't match any of the edits that have gone through recently (because 8 was stopping them all)
22:58:51 <ais523> I'm going to enable it and then try to register an account, both acting like a spambot and acting like me
22:59:10 <ais523> no, 9 doesn't match that one because it's int-e's first edit
22:59:17 <ais523> *because it isn't int-e's first edit
23:00:01 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/9]] ([[Special:AbuseFilter/history/9/diff/prev/49]])
23:00:26 <ais523> one problem with 9 is that it disables anon edits full stop, which is a fairly major step
23:00:29 <ais523> so I'm not sure if we want it active all the time
23:00:59 <ais523> `! befunge 9166200647>\#+:#*9-#\_$.@
23:01:07 <HackEgo> [wiki] [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=49618&oldid=45630 * 22.214.171.124 * (+6) testing this
23:01:53 <ais523> oh, user_editcount is blank rather than 0
23:02:40 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/9]] ([[Special:AbuseFilter/history/9/diff/prev/50]])
23:03:04 <oerjan> or the same trick i used with user_age. i don't know PHP anyway :P
23:03:17 <ais523> `! befunge 9538880508>\#+:#*9-#\_$.@
23:03:21 -!- aloril has quit (Ping timeout: 252 seconds).
23:03:22 -!- ineiros has quit (Ping timeout: 252 seconds).
23:03:22 <ais523> right, I'm using the same trick
23:03:38 -!- Melvar has quit (Ping timeout: 252 seconds).
23:03:39 -!- newsham has quit (Ping timeout: 252 seconds).
23:03:45 <ais523> OK, it asked me to introduce myself
23:03:52 <ais523> now let's see if I can create an account
23:04:31 <ais523> `! befunge 9081483707>\#+:#*9-#\_$.@
23:04:39 <HackEgo> [wiki] [[Special:Log/newusers]] create * Ais523 spam filter tester * New user account
23:04:48 -!- ineiros has joined.
23:05:15 <ais523> it didn't give the warning for some reason
23:05:52 <ais523> hmm, it worked that time
23:05:57 <ais523> I guess it's because I created the account while editing the page
23:06:18 <ais523> actually this is correct, because I tried to /not/ introduce myself, but rather repeat the action
23:06:24 <ais523> so MediaWiki considered that I'd already been warned, and of course I had been
23:06:48 <myname> we need to introduce ourself now?
23:07:21 <ais523> myname: only for very new accounts
23:07:24 <oerjan> i'll point out that the instructions don't actually say you cannot include any links
23:07:49 <ais523> oerjan: I know! they also don't say you can't write more than 3 KiB of text
23:07:57 <ais523> that was intentional but we can clarify the exact rules if you want
23:08:42 <oerjan> can just put short in italics
23:09:16 <myname> http://www.smh.com.au/national/health/study-about-butter-funded-by-butter-industry-finds-that-butter-is-bad-for-you-20150809-giuuia.html
23:09:18 <ais523> feel free to clarify the exact rules if you want
23:09:42 <ais523> quintopia: basically, your first edit has to be to a particular page and follow a few simple rules that are relatively easy for humans to follow, but much harder for spambots
23:10:36 <ais523> no need for a PM; see http://esolangs.org/wiki/Esolang:Introduce_yourself
23:10:52 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=49619&oldid=49615 * Oerjan * (+30) clarify
23:11:57 -!- AnotherTest has joined.
23:12:09 <ais523> hmm, my introduction attempts are getting caught in the filter, let me see what's wrong
23:12:56 <ais523> oh, the diff doesn't have signatures expanded
23:13:01 <ais523> that's easy enough to fix though
23:13:21 <quintopia> ais523: will a correct edit automatically grant permissions for more general editing?
23:14:04 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/9]] ([[Special:AbuseFilter/history/9/diff/prev/51]])
23:14:35 <ais523> ugh, now what's going wrong?
23:16:13 -!- aloril has joined.
23:16:24 <int-e> ais523: I don't know. An idea: when does the "~~~~" expansion happen?
23:16:35 <ais523> int-e: I've tested that both ways though
23:16:37 -!- Melvar has joined.
23:16:57 -!- augur has quit (Remote host closed the connection).
23:17:07 <ais523> maybe I'll just get rid of that bit and see if it's the problem
23:17:29 <ais523> or use the edit diff, which is actually visible
23:17:33 <ais523> in the edit filter debug view
23:17:33 -!- augur has joined.
23:17:47 <int-e> actually, looking at the details of the filter hits it seems that the ~~~~ match should work fine.
23:19:40 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/9]] ([[Special:AbuseFilter/history/9/diff/prev/52]])
23:19:57 <ais523> btw, 9 stopped a spambot while I was testing it :-)
23:20:15 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=49620&oldid=49619 * Ais523 spam filter tester * (+322) /* Introductions */ introducing myself
23:20:24 <ais523> now I should be able to edit other pages
23:20:50 <HackEgo> [wiki] [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=49621&oldid=49618 * Ais523 spam filter tester * (-6) the spam filter should let me edit now
23:21:00 <ais523> right, this seems to be working
23:21:13 <ais523> it wouldn't surprise me if the spammers find a way around it, but it also wouldn't surprise me if they don't
23:21:25 <ais523> and it should catch basically 100% of spam that isn't targeted at the site
23:21:42 <ais523> I'm still confused at how many spammers are solving the befunge captcha, though
23:22:03 -!- augur has quit (Ping timeout: 240 seconds).
23:22:50 <ais523> deleting anything from the page
23:22:54 <ais523> we're matching against a diff here
23:23:12 <ais523> so after any newline, we have + for an insertion, - for a deletion, space for a context line
23:23:26 <oerjan> so you're using the diff for everything for efficiency?
23:23:58 <ais523> it shows in the edit filter debug view
23:24:04 <ais523> the other variables I was trying to use don't
23:24:38 <int-e> hmmm... let me remove the first line of that page... mwahaha
23:25:22 <ais523> haha, I didn't even think of that :-)
23:25:32 <ais523> besides I think it'll still get noticed
23:25:40 <ais523> because diffs start with a line of metadata
23:27:14 <ais523> btw, we may want to disable filter 9 to allow anon editing at non-spammy times
23:27:19 * oerjan hopes this won't scare away legitimate users
23:27:36 <ais523> oerjan: it's surely got to be less scary than the Befunge
23:27:48 * ais523 wonders if some spambot framework somewhere now has a Befunge interpreter embedded in it
23:27:49 <oerjan> well yeah but the befunge is still there :P
23:28:16 <ais523> actually, what we really need is an esolang with a backdoor
23:28:31 <ais523> so that if a user's detected as a spambot, we can remotely compromise it via the CAPTCHA
23:29:45 <int-e> isn't befunge by itself already powerful enough for that?
23:30:17 -!- MoonyTheDwarf has joined.
23:30:17 -!- MoonyTheDwarf has quit (Changing host).
23:30:17 -!- MoonyTheDwarf has joined.
23:30:20 <int-e> (that is, close enough to arbitrary code execution)
23:30:43 <ais523> well, there's an arbitrary code execution command, even in -93 I think
23:30:56 <ais523> but it's not specified what it does, exactly
23:31:01 <ais523> C system() is a common implementation
23:31:03 -!- AnotherTest has quit (Ping timeout: 264 seconds).
23:31:27 <FireFly> Presumably though the spammers would use some JS implementation
23:31:39 <FireFly> at least if the spam is manual
23:31:55 <FireFly> I guess if it's automated they could well use cfunge or something
23:32:25 <ais523> `! befunge98 <@="echo Hello World"
23:32:47 <ais523> not sure if we even have a befunge98 interp
23:32:58 <HackEgo> 1l \ 2l \ adjust \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ help \ java \ k \ kipple \ lambda \ lazyk \ linguine \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ slashes \ trigger \ udage01 \ und
23:33:09 <int-e> fungot: do you have a backdoor?
23:33:09 <fungot> int-e: it's time you jumped off this mortal coil... don't make a habit of this. here you are the only one thing we need to defeat you, lavos.
23:33:17 <ais523> maybe my syntax was wrong, or maybe = isn't implemented
23:33:31 <oerjan> int-e: i think fungot didn't like the questino
23:33:31 <fungot> oerjan: it's time you jumped off this mortal coil... phew... thank you darling.
23:33:46 <FireFly> fungot: you sound like a broken record
23:33:46 <fungot> FireFly: see? i like marle better than " princess,' the chosen time has come! he's strong and he's gonna thrash those monsters! yea! is it?
23:33:56 <fungot> Available: agora alice c64 ct* darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
23:34:08 <fungot> Selected style: ct (Chrono Trigger game script)
23:34:32 <ais523> `printf "%x" 1128682830
23:34:39 <ais523> `` printf "%x" 1128682830
23:34:57 <ais523> `` printf "\x4e\x55\x46\x43"
23:35:11 <int-e> `` dc <<<1128682830P
23:35:33 <ais523> dc has a command for decoding Befunge handprint notation?
23:36:04 <int-e> dc has a command for printing base 256 numbers as sequences of bytes
23:37:03 <ais523> `! befunge98 <@.="echo Hello World"
23:37:23 <ais523> it could be that there's some sort of sandboxing
23:37:25 <ais523> IIRC cfunge had an option to avoid the use of dangerous commands like =
23:37:25 <int-e> `` dc <<<28752pP | dc | dc
23:37:55 <ais523> `! befunge98 <@.2.="true".1
23:38:12 <oerjan> `file interps/befunge98
23:38:14 <HackEgo> interps/befunge98: ERROR: cannot open `interps/befunge98' (No such file or directory)
23:38:20 <oerjan> `file interp/befunge98
23:38:21 <HackEgo> interp/befunge98: ERROR: cannot open `interp/befunge98' (No such file or directory)
23:38:21 <HackEgo> ibin/befunge98: POSIX shell script, ASCII text executable
23:38:32 <HackEgo> #!/bin/sh \ . lib/interp \ interp_file "./interps/cfunge/cfunge -S"
23:39:15 <ais523> -S Enable sandbox mode (see README for details).
23:39:29 <ais523> I can see a good argument for turning that off inside HackEgo
23:39:34 <ais523> but I can also see a good argument for leaving it on
23:40:40 <FireFly> it seems a bit pointless to me
23:40:43 <ais523> turning it off = because HackEgo has an outer sandbox
23:40:57 <ais523> leaving it on = because people might not expect `! to have side effects
23:41:30 <oerjan> `! sh echo "they don't?" >test
23:43:22 <oerjan> HackEgo doesn't seem quite well
23:49:04 <oerjan> fizzie: HackEgo has some trouble
23:49:04 -!- HackEgo has quit (Read error: Connection reset by peer).
23:49:17 -!- HackEgo has joined.
23:50:07 -!- oerjan has quit (Quit: ZZZ).
23:51:45 <HackEgo> advice \ bin \ canary \ candide \ cdescs \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ ls \ misle \ out \ paste \ ply-3.8 \ ps \ quines \ quotes \ share \ src \ test \ theorems \ tmflry \ tmp \ wisdom \ wisdom.pdf
23:54:54 -!- MoonyTheDwarf has quit (Ping timeout: 260 seconds).
23:59:55 <lambdabot> CYLW 202231Z AUTO 17004KT 120V200 6SM HZ CLR 32/07 A2980 RMK SLP084 DENSITY ALT 3800FT