| 00:12:18 | | HugeHorse (HugeHorse) joins |
| 00:12:54 | | blue507 quits [Remote host closed the connection] |
| 00:14:43 | | LeighR quits [Remote host closed the connection] |
| 00:23:21 | | Arcorann_ joins |
| 00:27:26 | | Ajay joins |
| 00:45:56 | | LeighR joins |
| 00:46:36 | | hooway quits [Client Quit] |
| 00:46:43 | | tzt quits [Ping timeout: 252 seconds] |
| 00:51:40 | | LeighR quits [Ping timeout: 252 seconds] |
| 00:59:42 | | Wayward (wayward) joins |
| 01:34:20 | | HugeHorse leaves |
| 01:38:04 | | Krownest quits [Ping timeout: 240 seconds] |
| 01:38:43 | | Mineroboter joins |
| 01:39:45 | | eicos quits [Remote host closed the connection] |
| 01:42:54 | | Krownest joins |
| 02:08:59 | | tzt joins |
| 02:10:04 | | Mineroboter quits [Client Quit] |
| 02:31:11 | | nertzy (nertzy) joins |
| 02:49:41 | | marked1957 quits [Client Quit] |
| 02:53:36 | | marked1957 joins |
| 02:53:47 | | marked1957 quits [Client Quit] |
| 02:54:55 | | nertzy quits [Client Quit] |
| 02:55:12 | | nertzy (nertzy) joins |
| 02:56:48 | | nertzy quits [Client Quit] |
| 02:56:58 | | nertzy (nertzy) joins |
| 02:58:05 | | rsn_ quits [Client Quit] |
| 02:58:27 | | nertzy quits [Client Quit] |
| 02:58:44 | | nertzy (nertzy) joins |
| 03:01:37 | | marked1957 joins |
| 03:19:25 | | HackMii quits [Quit: Quit: leaving] |
| 03:19:45 | | HackMii (hacktheplanet) joins |
| 03:38:16 | <brad> | EggplantN: I was corrected once I got over to #archiveteam-dev. This is actually the correct place for the discussion I wanted. That’s for devs only to talk about the code itself. |
| 03:49:23 | | KiiwiiIsTaken joins |
| 03:50:45 | | kiiwiiwastaken quits [Remote host closed the connection] |
| 03:51:14 | | KiiwiiIsTaken quits [Client Quit] |
| 03:51:47 | | KiiwiiWasTaken (kiiwiiwastaken) joins |
| 03:54:20 | <jodizzle> | Yes this is the better place for that discussion, but no, #archiveteam-dev isn't really for "devs only". You're free to idle there and ask relevant questions there. |
| 03:54:38 | <jodizzle> | If it was really for devs only, it'd be put in moderated mode or something. |
| 04:05:44 | | simon816 quits [Ping timeout: 240 seconds] |
| 04:18:39 | | qw3rty__ joins |
| 04:22:35 | | qw3rty_ quits [Ping timeout: 265 seconds] |
| 04:29:12 | | tech234a quits [Read error: Connection reset by peer] |
| 04:29:48 | | tech234a (tech234a) joins |
| 04:48:15 | | LeighR joins |
| 04:53:04 | | LeighR quits [Ping timeout: 240 seconds] |
| 05:33:36 | | DogsRNice quits [Read error: Connection reset by peer] |
| 05:42:00 | | sliccricc quits [Client Quit] |
| 05:50:31 | <atphoenix> | I think JAA's answer in -dev is a good way to understand what each channel is intended for, when it comes to coding: (-dev) "channel is for software development. As in, development of the software we've been using for years, like changes to wget-at or the tracker. Project stuff should go into -bs (or the project-specific channel if there is one)." |
| 06:06:17 | <atphoenix> | https://www.msn.com/en-us/news/politics/pro-trump-discussion-board-faces-possible-shutdown/ar-BB1cOtaE |
| 06:06:47 | <atphoenix> | "Robert Davis, senior vice president of Epik Inc., told The Wall Street Journal his firm warned TheDonald.Win it might be dropped within days if it fails to better cull what he said are discussions glorifying violence, propagating white supremacy and fomenting extremism." |
| 06:07:40 | <atphoenix> | Note that Epik hosts Gab and some other content that has been kicked off other platforms |
| 06:08:15 | <atphoenix> | https://en.wikipedia.org/wiki/Epik_(company) |
| 06:18:35 | <purplebot> | Fast.io edited by Wickedplayer494 (+153, Not much of it done, but it's done) just now -- https://www.archiveteam.org/?diff=46194&oldid=45948 |
| 06:19:35 | <purplebot> | Current Projects edited by Wickedplayer494 (+0, Fast.io to MtM) just now -- https://www.archiveteam.org/?diff=46195&oldid=46177 |
| 06:22:04 | | dillstreetproductions quits [Remote host closed the connection] |
| 06:48:35 | <purplebot> | Current Projects edited by Wickedplayer494 (+0, MediaFire to scripts only) 23 minutes ago -- https://www.archiveteam.org/?diff=46196&oldid=46195 |
| 06:49:17 | | LeighR joins |
| 06:53:44 | | LeighR quits [Ping timeout: 240 seconds] |
| 08:10:05 | <avoozl> | is there any specific trick that I can use to detect hosts that do not respect partial retrievals? I keep getting some zip files that are just restarting from scratch in the middle of the file due to wget trying to continue them. |
| 08:50:08 | | LeighR joins |
| 08:54:44 | | LeighR quits [Ping timeout: 240 seconds] |
| 09:56:10 | | yawkat quits [Ping timeout: 252 seconds] |
| 09:59:05 | | yawkat (yawkat) joins |
| 10:13:19 | | VerifiedJ quits [Quit: The Lounge - https://thelounge.chat] |
| 10:14:36 | | VerifiedJ (VerifiedJ) joins |
| 10:16:12 | | hooway joins |
| 10:16:44 | | LeighR joins |
| 10:18:36 | | DaxServer (DaxServer) joins |
| 10:21:24 | | LeighR quits [Ping timeout: 240 seconds] |
| 10:24:30 | | DaxServer quits [Remote host closed the connection] |
| 10:55:46 | | benimartini quits [Remote host closed the connection] |
| 10:56:10 | | benimartini (benimartini) joins |
| 11:11:01 | | madmax joins |
| 11:11:02 | | madmax is now authenticated as madmax |
| 11:22:15 | | sliccricc (sliccricc) joins |
| 12:17:28 | | LeighR joins |
| 12:22:04 | | LeighR quits [Ping timeout: 240 seconds] |
| 12:37:07 | | eicos joins |
| 13:09:26 | | simon816 (simon816) joins |
| 13:22:53 | <avoozl> | Sanqui, AAP: having some fun parsing one of the WARC files for the LoL forums scrape.. Currently using some hardcoded logic to extract postid/title/username/userurl/body of each post, and pushing those into a local db.. seems to go reasonably well |
| 13:23:19 | <avoozl> | I'll have to have a closer look as to figure out how to make this configurable in a way that doesn't involve changing code |
| 13:23:46 | <Sanqui> | that's awesome! |
| 13:24:44 | <Sanqui> | I wouldn't attempt to go that way -- you can't make the configuration/parser general enough without eventually reinventing some kind of programming language. best to keep it in code, just as encapsulated and straightforward as possible |
| 13:25:32 | <avoozl> | True, maybe that's overthinking it |
| 13:26:08 | <Sanqui> | make some sort of classes for phpbb2, phpbb3, simple machines etc. forums, with easy overrides |
| 13:26:14 | <avoozl> | I'm currently pushing it all into blevesearch, which is a search engine that is self-contained, a bit like what sqlite is to sql... Just to test the scale and performance. Would be great if we can use it since it keeps things rather portable |
| 13:26:22 | <avoozl> | yeah phpbb should be easy.. |
| 13:26:41 | <avoozl> | The only things I have a minor headache over is the handling of 'quoted' text within message bodies.. that is rather tricky to get right |
| 13:27:05 | <avoozl> | right now I just ignore that and consume the entire text, but from parsing email boxes in the past I know that isn't the correct way to go |
| 13:27:17 | <Sanqui> | I wrote a reasonably easy zetaboards scraper once (but it utilized the admin interface for user data) https://github.com/Sanqui/zetaboards-scrape/blob/master/scrape.py |
| 13:28:11 | <avoozl> | I've written scrapers with go-colly ( http://go-colly.org ) which is quite neat and compact |
| 13:28:33 | <Sanqui> | historically I've used requests with beautifulsoup but recently I discovered scrapy which is nice for smaller projects |
| 13:28:42 | <Sanqui> | I'm a python person tho |
| 13:29:19 | <avoozl> | yeah I've done a ton of python in the past |
| 13:29:33 | <Sanqui> | in general it doesn't really matter what you use imo, i can see myself using a go program if the "forum" class is readable |
| 13:29:52 | <avoozl> | what I like about go-colly is that it is really really performant and easy to compile to a single executable to run elsewhere. also coordinating multiple scrapers with a central Redis queue is trivial |
| 13:30:22 | <avoozl> | But I'll make sure to make this easy to extend.. Right now I'm just looking to get my bearings on the performance and API |
| 13:30:47 | <avoozl> | do you have any experience with building simple frontends on top of rest/graphql? I have used vue in the past but I'm not really a front-end person |
| 13:31:23 | <Sanqui> | sadly nah, I've attempted to learn vue briefly but it really didn't suit me, I'm a static html maybe with bootstrap and jquery kind of person |
| 13:31:35 | <avoozl> | Because I would love for this forum browser to be a bit decoupled from the underlying storage.. so that I just provide a self-hosted API with 'getpost' 'getthread' and 'search' a few other things around it |
| 13:31:59 | <Sanqui> | I'd probably write the thing in flask lol |
| 13:32:11 | <avoozl> | yeah flask is fine for a lot of things too |
| 13:32:50 | <avoozl> | right now I'm just busy ingesting forums.eune.leagueoflegends.com-00000.warc.gz as a test... that is around 25GB uncompressed, just checking how large the final search index will be |
| 13:33:34 | <Sanqui> | i'll be curious to hear! |
| 13:34:30 | <avoozl> | I'm currently on my 2011 macbook air, so things take a rather extreme amount of time to complete, but once it runs ok on this system it'll run like lightning everywhere else |
| 13:35:48 | | lunik1 quits [Client Quit] |
| 13:38:12 | | lunik1 joins |
| 13:38:27 | | lunik1 quits [Client Quit] |
| 13:44:10 | | lunik1 joins |
| 13:45:24 | <avoozl> | Sanqui: in your experience, are posts often identifiable with a unique identifier? With the LOL scrape there is a nice id= field in the html that contains a unique id for each post, but I can imagine that isn't the case everywhere |
| 13:46:21 | <Sanqui> | very typically, but not always. some caveats I can think of: |
| 13:47:08 | <Sanqui> | - some forums may reuse ids for posts that were deleted (meaning you can get collisions basically if a race condition happens while archiving) |
| 13:47:18 | <avoozl> | oh that is nasty, good to be aware of that |
| 13:47:26 | <Sanqui> | - some forums may change the post id when it gets edited |
| 13:47:37 | <Sanqui> | (by virtually deleting the old post and replacing it with a new one) |
| 13:48:01 | <Sanqui> | - most forums probably have some sort of post ID, but may not expose it -- you'll only have the thread id, and post number within the thread |
| 13:48:33 | | lunik16 joins |
| 13:48:44 | | lunik1 quits [Ping timeout: 240 seconds] |
| 13:48:44 | | lunik16 is now known as lunik1 |
| 13:49:35 | <Sanqui> | all sorts of weird situations can happen... posts can be moved between threads, for example |
| 13:51:47 | <Sanqui> | also, personally I wouldn't be attempting to parse the post HTML (including the quote tags) while scraping. just stick the post HTML snippet in the database raw, and process it in another step (i.e. while rendering) |
| 13:52:19 | <Sanqui> | reverse engineering the original bbcdode is nontrivial and many forums allow raw HTML (albeit with filters), anyway |
| 13:52:46 | <Sanqui> | even phpbb allows for configuration of custom tags |
| 13:52:56 | <avoozl> | I would love to have a means to exclude quoted portions of a post, but that I can do with some custom code |
| 13:53:13 | | lunik1 quits [Client Quit] |
| 13:53:46 | <Sanqui> | yeah I understand that, but also consider that people sometimes... literally change the quoted text. or, the post gets quoted, and the original post gets edited, and now the quote is the only instance of the original text |
| 13:53:56 | <avoozl> | Html is a bit messy to ship though APIs and to recompose in a browser safe way, unless I go down the iframe sandbox rabbithole |
| 13:54:08 | <Sanqui> | so you definitely want to include quoted text while searching |
| 13:54:24 | <avoozl> | But I'll see how far i can get without parsing these bodies |
| 13:54:24 | <Sanqui> | you can probably try to de-prioritize it when showing search results, but yeah |
| 13:55:04 | | lunik1 joins |
| 13:55:07 | <Sanqui> | this is like a "falsehoods programmers believe about forums" session :D |
| 13:56:30 | <OrIdow6> | Can't imagine including quotes would be much of a problem while searching |
| 13:56:38 | <avoozl> | Yeah I've been living in dataset territory for a bit too long. Dara is also full of lies, but they are of a different matter |
| 13:57:03 | <OrIdow6> | As long as your purpose searching is to let a human look for discussions by topic, instead of training a neural network or whatever |
| 13:57:43 | <Sanqui> | in general, one thing I would try to remember is that posts can get edited over time, and since you're scraping archives, you might as well use this to your advantage -- store every revision of a post you encounter, and add the ability to display diffs etc |
| 13:57:45 | <avoozl> | OrIdow6: in forensic email analysis it was a bit of a pain, there a lot of the results are consumed by algorithms, not by humans. When the human comes into play most of the filtering has already been done |
| 13:58:00 | <OrIdow6> | By the way, apparently (from my logs, and from the faint memory I have of doing some preliminary work on this) the forums went well, but there were a million edge cases in the boards |
| 13:58:16 | <avoozl> | Sanqui: I'll check if i can get some kind of historic perspective at the db/index level |
| 13:59:02 | <OrIdow6> | (Edge cases, as well as things that flat out went wrong for no apparent reason) |
| 13:59:07 | | ragu_ joins |
| 13:59:15 | <Sanqui> | sometimes people get mad and delete text from all their posts |
| 13:59:24 | <Sanqui> | leaving discussions hard to read |
| 13:59:35 | <Sanqui> | or delete the posts, if the forum enables that |
| 14:00:58 | | ragu__ joins |
| 14:02:24 | | ragu quits [Ping timeout: 240 seconds] |
| 14:04:24 | | ragu_ quits [Ping timeout: 240 seconds] |
| 14:05:54 | <avoozl> | Sanqui: by the way, the response content charset things worked out, turns out the internal go html parser was reusable so I've just used that and haven't ran into any issues yet |
| 14:06:48 | <Sanqui> | nice yeah, shouldn't be much of a problem when dealing with individual websites, although watch out if you start parsing forums in languages you're not familiar with because you might not be able to recognize that text is in the wrong encoding |
| 14:13:31 | <eicos> | hey, anyone here working on the parler stuff? |
| 14:16:48 | <EggplantN> | what do you mean by that eicos |
| 14:24:52 | <eicos> | apologies for the off-topic post, I just found & joined the right channel EggplantN |
| 14:33:02 | | Arcorann_ quits [Ping timeout: 265 seconds] |
| 14:36:16 | | cccafe quits [Read error: Connection reset by peer] |
| 14:38:09 | | LeGoupil joins |
| 14:54:04 | | madmax quits [Ping timeout: 240 seconds] |
| 14:54:53 | | LeighR joins |
| 14:59:44 | | LeighR quits [Ping timeout: 240 seconds] |
| 15:18:28 | | qw3rty__ quits [Ping timeout: 252 seconds] |
| 15:25:28 | | LeighR joins |
| 15:29:17 | | qw3rty joins |
| 15:41:59 | | sliccricc_ (sliccricc_) joins |
| 15:42:44 | | sliccricc quits [Ping timeout: 240 seconds] |
| 15:56:24 | | benjins quits [Ping timeout: 240 seconds] |
| 15:58:06 | <avoozl> | Sanqui: getting around 80MB per minute of compressed warc.gz handled now... that'll require some work |
| 16:17:56 | | benjins joins |
| 16:24:14 | | eicos quits [Remote host closed the connection] |
| 16:28:08 | | eicos joins |
| 16:30:07 | | godane2 joins |
| 16:31:38 | | godane1 quits [Read error: Connection reset by peer] |
| 16:32:24 | | Barto quits [Ping timeout: 240 seconds] |
| 16:33:03 | | eicos quits [Remote host closed the connection] |
| 16:38:31 | | Barto (Barto) joins |
| 16:39:11 | <sliccricc_> | https://www.wsj.com/articles/pro-trump-discussion-board-faces-possible-shutdown-over-violent-racist-posts-11610819176 |
| 16:39:32 | <sliccricc_> | (thedonald.win) |
| 16:41:27 | <sliccricc_> | "Robert Davis, senior vice president of Epik Inc., told The Wall Street Journal his firm warned TheDonald.Win it might be dropped within days if it fails to better cull what he said are discussions glorifying violence, propagating white supremacy and fomenting extremism" |
| 16:43:26 | | sliccricc_ is now known as sliccricc |
| 16:43:34 | | sliccricc is now authenticated as * |
| 16:43:34 | | sliccricc is now authenticated as sliccricc |
| 16:44:11 | <EggplantN> | ha |
| 16:44:14 | <EggplantN> | HAHAHAHAHAHAHAHAHAHAHAHA |
| 16:44:20 | <EggplantN> | BAHAHAHAHAHAHAHAHAHAHAHAHAHAHA |
| 16:44:33 | <EggplantN> | EPIK?! THINKING THEY CAN TELL TD.WIN THAT |
| 16:44:34 | <EggplantN> | omg |
| 16:44:43 | <EggplantN> | they're high |
| 16:44:53 | <EggplantN> | an upstream has contacted them 100% |
| 16:45:50 | <LeighR> | do we have a project trying to archive them? |
| 16:47:41 | <sliccricc> | i've heard people discussing it over the past few days but im not sure if it got anywhere |
| 16:50:33 | <EggplantN> | i dont believe they're at risk in reality but i'm not sure |
| 16:50:49 | <EggplantN> | i know they're more desirable and easier to host than parler |
| 16:57:26 | <LeighR> | what I've read when doing a rather cursory search mentions that CloudFlare makes it hard to scrape that site |
| 17:03:09 | <avoozl> | do I need some kind of zstd dictionary to decompress these types of downloads? https://archive.org/download/archiveteam_pastebin_20200606171522_85926a35/ |
| 17:03:13 | <avoozl> | (if so, where would I find that) |
| 17:25:43 | | benjins quits [Read error: Connection reset by peer] |
| 17:26:20 | <@JAA> | avoozl: The dictionary is in the first frame of the file as a skippable frame. Here's a draft of the .warc.zst spec: https://github.com/iipc/warc-specifications/pull/69 |
| 17:27:21 | <avoozl> | Ahhh, makes sense |
| 17:27:29 | <avoozl> | Neat trick |
| 17:28:23 | <@JAA> | OrIdow6 wrote a script recently for the extraction, but I can't find the link right now. |
| 17:28:48 | <OrIdow6> | https://transfer.notkiska.pw/TXlRo/xtract.py |
| 17:29:13 | <@JAA> | There's also an effort to get this general concept into the contrib section of the Zstandard docs: https://github.com/facebook/zstd/pull/2349 |
| 17:31:08 | <OrIdow6> | One of the dependencies broke recently, you need zstandard==0.10.2 |
| 17:31:17 | <OrIdow6> | For the extraction script |
| 17:31:50 | <OrIdow6> | Or, at least, that's one of the working versions |
| 17:38:38 | <avoozl> | I'm using libzstd so things are slightly different here, but I'll manage |
| 17:38:54 | | madmax joins |
| 17:38:55 | | madmax is now authenticated as madmax |
| 17:54:38 | | HackMii_ (hacktheplanet) joins |
| 17:55:24 | | HackMii quits [Ping timeout: 240 seconds] |
| 17:55:24 | | HackMii_ is now known as HackMii |
| 17:56:29 | | LeighR quits [Remote host closed the connection] |
| 18:11:12 | | benjins joins |
| 18:14:03 | | eicos joins |
| 18:14:30 | | LeighR joins |
| 18:19:24 | | LeighR quits [Ping timeout: 240 seconds] |
| 18:22:41 | | benjins quits [Read error: Connection reset by peer] |
| 18:54:36 | | LeighR joins |
| 18:59:04 | | LeighR quits [Ping timeout: 240 seconds] |
| 19:01:44 | | benimartini quits [Ping timeout: 240 seconds] |
| 19:54:04 | | Jonboy345 quits [Ping timeout: 240 seconds] |
| 20:03:22 | | nertzy quits [Ping timeout: 252 seconds] |
| 20:07:00 | | Jonboy345 joins |
| 20:16:20 | | billotronic quits [Quit: Leaving] |
| 20:26:12 | | eicos quits [Remote host closed the connection] |
| 20:55:22 | | LeighR joins |
| 20:58:35 | | LeighR_ joins |
| 21:00:04 | | LeighR quits [Ping timeout: 240 seconds] |
| 21:00:42 | | user777 joins |
| 21:02:57 | | eicos joins |
| 21:03:04 | | LeighR_ quits [Ping timeout: 240 seconds] |
| 21:13:31 | | benjins joins |
| 21:16:33 | | crispyalice2 quits [Remote host closed the connection] |
| 21:22:52 | | ddd joins |
| 21:26:08 | | LeGoupil quits [Client Quit] |
| 21:26:45 | | madmax quits [Client Quit] |
| 21:28:42 | | madmax joins |
| 21:28:42 | | madmax is now authenticated as madmax |
| 21:29:06 | | benjins is now authenticated as benjins |
| 21:32:46 | | godane (godane) joins |
| 21:34:04 | | godane1 joins |
| 21:34:07 | | godane2 quits [Ping timeout: 252 seconds] |
| 21:35:10 | | eicos quits [Remote host closed the connection] |
| 21:37:02 | | madmax quits [Client Quit] |
| 21:37:25 | | godane quits [Ping timeout: 252 seconds] |
| 21:39:20 | <Dallas> | JAA: what do you use to test warc replay ? I wanna have another crack at TikTok and wanna know what the closest approximation to wayback is gonna be ? |
| 21:45:30 | | spirit quits [Client Quit] |
| 21:45:41 | | eicos joins |
| 21:48:49 | <EggplantN> | god fuck tiktok |
| 21:48:50 | <EggplantN> | but yes |
| 22:26:19 | | KiiwiiIsTaken joins |
| 22:30:04 | | KiiwiiWasTaken quits [Ping timeout: 240 seconds] |
| 22:31:19 | | eicos quits [Remote host closed the connection] |
| 22:38:07 | | eicos joins |
| 22:38:17 | | eicos leaves |
| 22:40:36 | | monoxane7 (monoxane) joins |
| 22:42:44 | | monoxane quits [Ping timeout: 240 seconds] |
| 22:42:44 | | monoxane7 is now known as monoxane |
| 22:59:20 | | LeighR joins |
| 23:03:13 | | nertzy (nertzy) joins |
| 23:03:44 | | LeighR quits [Ping timeout: 240 seconds] |
| 23:10:13 | | monoxane0 (monoxane) joins |
| 23:12:04 | | monoxane quits [Ping timeout: 240 seconds] |
| 23:12:04 | | monoxane0 is now known as monoxane |
| 23:14:04 | | nertzy quits [Ping timeout: 265 seconds] |
| 23:21:48 | | blue507 (blue507) joins |
| 23:27:55 | | hooway quits [Client Quit] |
| 23:29:29 | | daalekz joins |
| 23:38:30 | | DopefishJustin quits [Remote host closed the connection] |
| 23:40:23 | | Arcorann_ joins |
| 23:41:59 | | DopefishJustin joins |
| 23:42:00 | | DopefishJustin is now authenticated as DopefishJustin |
| 23:54:55 | | pew quits [Ping timeout: 252 seconds] |