| 00:00:04 | <Doranwen> | and yeah, the only one I could find that *would* do one chapter only was the FFDL I've been using |
| 00:00:41 | <Doranwen> | which, the programmer just sort of gave the finger to all us Linux users, probably unwittingly, but a *development* version of Qt? I still don't get that requirement |
| 00:00:52 | <grawity> | fanficfare -f html <url> |
| 00:00:59 | <grawity> | --begin, --end |
| 00:01:16 | <Doranwen> | you can have it grab pdfs too, I assume? |
| 00:01:28 | <Doranwen> | I do need that specific chapter requirement though, hmm |
| 00:01:36 | <grawity> | dunno, I don't want pdfs |
| 00:01:43 | <Doranwen> | I like reading pdfs on my computer itself |
| 00:01:53 | <grawity> | I mean I want the fanfics to be easier to read, not harder |
| 00:01:53 | <Doranwen> | html opens in browser, and my browsers are far too busy with other tabs |
| 00:02:05 | <Doranwen> | also, html always resizes to full width |
| 00:02:14 | <Doranwen> | and I have a 23" monitor, which makes it harder to read |
| 00:02:28 | <Doranwen> | pdf tends to be way easier for me to read, lol |
| 00:02:36 | <grawity> | you know you can have multiple browser windows? which aren't fullscreen? |
| 00:02:48 | <Doranwen> | bad idea here |
| 00:02:50 | <Doranwen> | I have tab explosions |
| 00:03:02 | <Doranwen> | and I do NOT want to lose the tabs I have open |
| 00:03:05 | <Doranwen> | so I never do multiple windows |
| 00:03:14 | <Doranwen> | that way they all come back when I close, or if something crashes for some reason |
| 00:03:28 | <Doranwen> | anyway, I prefer not to open my fics in a browser |
| 00:03:31 | <Doranwen> | for multiple reasons |
| 00:03:47 | <Doranwen> | I use the html if I'm reading them on my old phone-turned-ereader |
| 00:03:54 | <Doranwen> | but pdf for reading on the desktop itself |
| 00:04:34 | <Doranwen> | and the specific chapter thing, oddly enough, is not for ff.n - but for AO3 fics where the authors stupidly put every ficlet and drabble they've written for a dozen different fandoms in one "fic" |
| 00:04:48 | <Doranwen> | and I only want the chapter that has a fic for the fandom *I* know |
| 00:05:16 | <Doranwen> | AO3 has no way to d/l a single chapter, and nor does anything else I tried except for FFDL |
| 00:11:13 | <Doranwen> | interesting, I think I found one that *does* do select chapters: https://github.com/KebinuChiousu/fanfic_scraper |
| 00:11:31 | <Doranwen> | it's not clear what format it'd end up in… |
| 00:14:01 | <@JAA> | WARC or GTFO :-) |
| 00:18:34 | <Doranwen> | JAA: ah, but archival vs. easy access on a home machine are two *very* different purposes |
| 00:19:08 | <Doranwen> | if I want to browse fics on my hdd, they had better be in easy formats to access and load, simple files |
| 00:19:49 | | Doranwen is currently trying to figure out how to get the scraper installed… |
| 00:19:54 | <Doranwen> | I want to see what it produces |
| 00:20:20 | <Doranwen> | but apparently its release is through pipx, and pipx requires python 3.8, and while I can install python 3.8 via a PPA… I can't seem to use that to install pipx, so I am out of luck :/ |
| 00:23:47 | <Doranwen> | …maybe I've got it working after all |
| 00:25:57 | <Doranwen> | nope |
| 00:25:59 | | Doranwen sighs |
| 00:26:19 | <Doranwen> | from the python3.8 to pip to pipx, breaks somewhere along the way |
| 00:40:26 | <Doranwen> | I think it's because I already have pip installed with python3.5 |
| 00:42:01 | | KRG (KRG) joins |
| 00:42:16 | <@JAA> | pyenv <3 |
| 00:44:04 | <Doranwen> | lol, I'm a newbie python script user, as you may recall (I think the first scripts I ran were for the YG project, possibly) - which means I don't know what you're talking about |
| 00:44:24 | <Doranwen> | I can try to dig up links but when I have to refresh half a dozen times to get some pages to load, that gets tiring real quickly |
| 00:44:35 | <@JAA> | pipx is just another tool for installing Python packages. It still uses the same package index (PyPI) as pip does by default. |
| 00:44:51 | <hexa-> | poetry <3 |
| 00:45:16 | <Doranwen> | yeah, but the way that it says to install the fanfic scraper is a command using pipx |
| 00:46:09 | <@JAA> | I think pip should work fine, assuming you have a new enough version of it. |
| 00:47:29 | <Doranwen> | hopefully |
| 00:47:33 | <Doranwen> | I'll give it a try… |
| 00:47:41 | <@JAA> | Regarding pyenv, it's an amazing tool that helps you install various different Python versions simultaneously and keeping them organised. |
| 00:48:07 | <Doranwen> | at lesat, it'll tell me what I need yet, I guess |
| 00:48:15 | <Doranwen> | ahh, that might be very useful |
| 00:48:47 | <Doranwen> | yeah, it failed trying to d/l the module I was missing |
| 00:54:18 | <thuban> | tbh i'm still a bit vague on what pyenv does that virtualenv didn't |
| 00:55:15 | <thuban> | (plus pipenv is supposed to be the new hotness. i feel like we're now somehow back in the 'too many standards, ignore until clear winner emerges' stage but _sometimes there's never a winner_) |
| 00:55:54 | <Doranwen> | lol |
| 00:56:01 | | Doranwen reads up on pyenv but is confused on how to install |
| 00:56:39 | <Doranwen> | the only thing I could find was a complicated-looking command that had make in it - and I have *never* had one of those work for me :P |
| 00:56:54 | <Doranwen> | something *always* fails, and I don't know enough to figure out why and fix it |
| 00:58:15 | <lunik1> | I think poetry is the new hotness now |
| 00:58:50 | <thuban> | isn't that old? i feel like i haven't heard about it in two years |
| 01:02:32 | | dm4v quits [Read error: Connection reset by peer] |
| 01:02:37 | <@JAA> | thuban: pyenv handles automatic switching between versions depending on the working directory and can also have multiple versions enabled at the same time (e.g. for running a test suite against multiple Python versions with tox). |
| 01:02:55 | | dm4v joins |
| 01:02:57 | | dm4v is now authenticated as dm4v |
| 01:02:57 | | dm4v quits [Changing host] |
| 01:02:57 | | dm4v (dm4v) joins |
| 01:02:59 | <@JAA> | Also, pyenv deals with installing Python itself in the first place. |
| 01:03:02 | <thuban> | i see, interesting. |
| 01:03:11 | <lunik1> | thuban: had a release last month |
| 01:03:13 | <@JAA> | Like, `pyenv install 3.6.12` etc. |
| 01:03:43 | <@JAA> | Which is why I think it's superior to poetry, even though that's the hot new shit. |
| 01:03:57 | <thuban> | lunik1: didn't mean 'stale', just not new hotness anymore. although apparently i am incorrect? |
| 01:04:11 | <@JAA> | But they don't exactly solve the same problem, of course. |
| 01:04:23 | <lunik1> | I don't know of any newer hotnesses, but they may be out there |
| 01:05:04 | <thuban> | if a new hotness did not exist, it would be necessary to invent it. |
| 01:05:11 | <Doranwen> | LOL |
| 01:05:26 | <@JAA> | My main use for pyenv is installing pretty much any Python version on any system, regardless of the base OS stack etc. And having a completely independent installation as a result that won't break even on most system package upgrades. |
| 01:05:36 | <Doranwen> | ugh, I hate my 'net - I can't tell if this is an issue with my 'net or the site, though I suspect the former :P |
| 01:05:54 | <Doranwen> | there's an automatic installer for pyenv which uses a curl command, and I'm getting "no route to host" *constantly* when I try that command |
| 01:06:03 | <lunik1> | And that's 2 years in the 30 year history of Python |
| 01:06:05 | <@JAA> | (I suppose huge jumps on libc and the kernel could break things, but otherwise, not much.) |
| 01:06:24 | <Doranwen> | yep, definitely my 'net |
| 01:06:35 | <Doranwen> | the 30th time (or something like that) I got it to work… sort of |
| 01:06:49 | <Doranwen> | it hit the part where it was supposed to git clone and it failed on that of course |
| 01:06:58 | <Doranwen> | because that was a new connection and my 'net wasn't going to establish that one then :P |
| 01:07:39 | <Doranwen> | ah, it was the update part that it failed on |
| 01:07:39 | <@JAA> | Yeah, your internet connection is hilariously bad. |
| 01:07:40 | | Doranwen sighs |
| 01:07:53 | <Doranwen> | it made it through doctor and installer |
| 01:08:43 | <Doranwen> | I wish it was hilarious |
| 01:08:48 | <Doranwen> | I might be laughing instead of screaming at it, lol |
| 01:08:59 | <thuban> | well then have you looked into rfc 1149? would probably be more reliable |
| 01:09:28 | | hexa- quits [Quit: WeeChat 3.1] |
| 01:09:30 | <Doranwen> | any way to recover from this? https://paste.ee/p/U9Y2n |
| 01:10:05 | <@JAA> | Hah yeah, I suggested IPoAC before as well. It probably would be more reliable. The latency though... |
| 01:10:07 | <Doranwen> | they're *supposed* to be sending a technician out to get us actually connected - the trenching was already done to get the cable *to* the house, just have to do some sort of splicing and then the connection inside yet - but that hasn't happened yet |
| 01:10:46 | <@JAA> | This should work for that step, I think: `git clone https://github.com/pyenv/pyenv-update.git /home/doranwen/.pyenv/plugins/pyenv-update` |
| 01:10:53 | <@JAA> | But I've never used that script before, so no idea. |
| 01:10:58 | | hexa- (hexa-) joins |
| 01:12:00 | <Doranwen> | it did! |
| 01:12:11 | <Doranwen> | I'm hoping there were no more parts that it was going to get to after that, lol |
| 01:12:34 | <@JAA> | There are at least two more. |
| 01:12:39 | <Doranwen> | oh fun |
| 01:14:15 | <@JAA> | Doranwen: `git clone https://github.com/pyenv/pyenv-virtualenv.git /home/doranwen/.pyenv/plugins/pyenv-virtualenv` + `git clone https://github.com/pyenv/pyenv-which-ext.git /home/doranwen/.pyenv/plugins/pyenv-which-ext` |
| 01:16:02 | <Doranwen> | thanks! I was able to get those to work on the 3rd and 2nd try, respectively |
| 01:16:11 | <Doranwen> | much better than the initial script, lol |
| 01:16:52 | <Doranwen> | I had better wait to restart the shell till the last script running on the Yahoo mboxes finishes, lol |
| 01:17:04 | <Doranwen> | in case that would mess things up |
| 01:17:57 | <@JAA> | You don't really *need* to restart the shell, but it's certainly the easiest way to ensure things are correct. |
| 01:18:52 | <Doranwen> | oh, it said to do that, lol |
| 01:19:04 | <Doranwen> | "Restart your shell so the path changes take effect" |
| 01:23:18 | <@JAA> | Yeah, because those instructions aren't exactly for people who know how to manipulate details of an existing shell. |
| 01:23:28 | <Doranwen> | ahh |
| 01:23:58 | <Doranwen> | they were aimed at people like me, who don't know these things XD |
| 01:24:47 | <@JAA> | You basically need to set some environment variables and eval something from pyenv to get tab completion and full shell integration. Entirely possible without restarting the shell. |
| 01:25:13 | <@JAA> | But restarting the shell has the advantage that it will behave exactly as if you just rebooted the machine, which you'll have to do eventually anyway. |
| 01:25:35 | | Doranwen nods |
| 01:25:45 | <Doranwen> | well, I just need to wait another hour or two - not exactly sure how much longer the script has to run |
| 01:25:48 | <@JAA> | And if you manage to get it working in an existing shell but screwed something else of the setup up, then you wouldn't notice until that time. |
| 01:26:01 | | Doranwen nods |
| 02:50:20 | <webdownload> | Why am I feeling so irritable? |
| 02:51:42 | | KRG quits [Client Quit] |
| 03:03:42 | | BlueMaxima_ joins |
| 03:05:16 | | Viniter quits [Ping timeout: 250 seconds] |
| 03:06:31 | | Viniter (Viniter) joins |
| 03:07:37 | | BlueMaxima quits [Ping timeout: 258 seconds] |
| 03:12:41 | | BlueMaxima__ joins |
| 03:15:14 | | Viniter quits [Ping timeout: 250 seconds] |
| 03:15:38 | | Viniter (Viniter) joins |
| 03:16:32 | | BlueMaxima_ quits [Ping timeout: 250 seconds] |
| 03:16:46 | | Viniter7 (Viniter) joins |
| 03:20:16 | | Viniter quits [Ping timeout: 258 seconds] |
| 03:20:16 | | Viniter7 is now known as Viniter |
| 03:28:42 | | qw3rty__ quits [Ping timeout: 258 seconds] |
| 03:36:31 | <Doranwen> | lol, I really do need to learn Python now |
| 03:36:38 | <Doranwen> | because I don't think SQL can do what I want it to do :P |
| 03:37:00 | <Doranwen> | and I'm pretty sure sed isn't going to be able to handle *this* |
| 03:42:44 | <webdownload> | I really need to learn how flash drives work |
| 03:42:55 | <webdownload> | So I could start a company. |
| 03:43:31 | <webdownload> | Dedicated to pioneering data storage |
| 03:43:56 | | Doranwen has too many junction tables, and was told group_concat with distinct can only handle two things combined with a comma separator - but since each record has a primary key as a unique identifier, if a query output that and multiple rows for the one junction table… a Python script *should* be able to combine all the output for a single record into one entry |
| 03:51:38 | <Doranwen> | the sed command I was given the other day will put all of them into the format I want - but there would still be two or three or even four sets for a particular fanfic, which I'd have to either go through and combine manually… or figure out how to get a script to do that for me |
| 04:03:20 | | BlueMaxima_ joins |
| 04:07:25 | | BlueMaxima__ quits [Ping timeout: 258 seconds] |
| 04:09:15 | | NIC007a83 joins |
| 04:09:23 | | BlueMaxima__ joins |
| 04:10:26 | | NIC007a83 quits [Client Quit] |
| 04:13:10 | | BlueMaxima_ quits [Ping timeout: 258 seconds] |
| 04:25:50 | | Doranwen sighs at 'net |
| 04:26:10 | <Doranwen> | it can't load the environment stuff on the learn Python page, I should just give up on this |
| 04:26:35 | <Doranwen> | it's already looking to be wayyyyyyyy more than a beginner project - the learning curve is definitely higher than with building a database |
| 04:39:43 | | Doranwen has the motivation to learn it for this particular script she needs, but doesn't know where to start - and how to do so with her 'net behaving so badly still :P |
| 04:44:10 | <@JAA> | Uhm |
| 04:44:43 | <@JAA> | I mean, I don't know the details, but unless the DB design is horribly broken, this should absolutely be possible in SQL. |
| 04:49:05 | <Doranwen> | main table Fanfics, other tables Fandom, Author, Ships, junction tables between the latter three and Fanfics - and there are fics with multiple fandoms, fics with multiple authors, and definitely many fics with multiple ships (some of which may have multiple fandoms or authors) |
| 04:49:26 | <Doranwen> | problem is - how do I get a query to return only *one* entry per fic in the Fanfics table with comma separator between each fandom, each author, and each ship? |
| 04:49:43 | | Doranwen has a query that works for fandoms and authors but was told it could only take *two* of each of those, no more |
| 04:50:10 | <Doranwen> | and I tried to edit that to include ships and it just tells me syntax error and I have no idea why because I mirrored what was done for fandoms |
| 04:50:12 | | nothere quits [Quit: Leaving] |
| 04:50:12 | | Doranwen sighs |
| 04:51:14 | <Doranwen> | I can generate a query that'll return a row for each ship - with the rest of the info identical - and same for authors and fandoms, meaning some would appear three or four times - but not one that'll combine any duplicate records for all three |
| 04:52:02 | | Doranwen can create the latter query all on her own - but the one that combined authors and fandoms, she had to be given because it was beyond her understanding of SQL |
| 04:52:03 | <Doranwen> | that one does work |
| 04:52:11 | <Doranwen> | but if I try editing it to add ships in… nope |
| 04:52:45 | <@JAA> | Which SQL server are you using specifically? |
| 04:52:53 | | nothere joins |
| 04:53:27 | <Doranwen> | hmm, let me dig that up - Base is the frontend, but it's HSQLDB, I think… |
| 04:53:57 | <@JAA> | Ah, don't know that very well. |
| 04:55:04 | <Doranwen> | yup, that's it |
| 04:55:51 | <Doranwen> | there's a wizard on the LO forums for splitting an embedded db to a hybrid, and they recommend it because it's more stable than having it in the Base file (which is most useful for the initial setup if one doesn't want to use SQL for it - or doesn't know how yet, lol): https://sourceforge.net/projects/hsqldb/files/hsqldb/ |
| 04:56:04 | <Doranwen> | so I did that, though now I could probably create the database with SQL :) |
| 04:57:01 | <Doranwen> | unrelatedly, the final script finished, so I can try restarting the shell :) |
| 04:57:51 | <Doranwen> | which, it thought for a minute, and then continued on |
| 04:57:58 | <Doranwen> | and didn't throw up any errors |
| 04:58:00 | <Doranwen> | so I guess that's a good thing |
| 05:01:22 | <Doranwen> | except it tells me to use `which pyenv` to check that it's in the path, and when I do that, I don't get anything returned - and I have no idea whether I should or not, lol |
| 05:03:33 | <thuban> | Doranwen: if you send me a tiny example db and your candidate query, i will look at it |
| 05:05:56 | <Doranwen> | how tiny is tiny? the current one is 5 mb |
| 05:06:56 | <Doranwen> | it's got just over 1000 records in it currently |
| 05:07:09 | <thuban> | ah, i guess that's fine |
| 05:09:27 | <flashmeow> | Doranwen: for `which pyenv` did you install and set a python version? |
| 05:09:44 | <@JAA> | `which pyenv` should work regardless of that. |
| 05:10:08 | <flashmeow> | ahh nvm I was thinking of `pyenv which` |
| 05:11:11 | <@JAA> | Doranwen: I suspect that you don't have PYENV_ROOT, PATH, pyenv init, and pyenv virtualenv-init somewhere in your shell/profile config file. |
| 05:12:17 | <flashmeow> | What os are you running on? |
| 05:12:23 | <@JAA> | Actually, the PATH gets adjusted by pyenv init. |
| 05:12:42 | <@JAA> | And I'm not entirely sure PYENV_ROOT is actually needed. |
| 05:13:18 | <Doranwen> | flashmeow: Mint 18.1 Mate - I was going to upgrade and then we moved and have had terrible 'net and any thoughts of that were put on hold |
| 05:13:51 | <Doranwen> | but I keep running into issues with Python scripts requiring 3.8 and I don't *have* 3.8… |
| 05:14:03 | <flashmeow> | did you install pyenv via https://github.com/pyenv/pyenv-installer? |
| 05:14:36 | <@JAA> | She did, but a bastardised version of it because it kept crashing. |
| 05:14:39 | <Doranwen> | I believe so, though it didn't finish before my 'net ran into errors |
| 05:14:55 | <Doranwen> | it didn't know that it had to retry and retry and retry any time it couldn't find a route to host, lol |
| 05:15:02 | <Doranwen> | which is what one has to do with my 'net :P |
| 05:15:04 | <@JAA> | Doranwen: Run `~/.pyenv/bin/pyenv init` and `~/.pyenv/bin/pyenv virtualenv-init` and follow the instructions there. |
| 05:16:06 | <@JAA> | Hmm actually, that won't help. |
| 05:16:32 | <Doranwen> | lol ok |
| 05:16:46 | <@JAA> | I don't really see why the installer should work at all with the instructions provided. lol |
| 05:16:52 | <@JAA> | (I've never used it, always installed by hand.) |
| 05:17:59 | <@JAA> | Specifically, I don't see where it adds PATH to .profile, .bashrc, or whatever. |
| 05:18:30 | <@JAA> | `pyenv init -` only adds the shims, not the bins. |
| 05:20:09 | <flashmeow> | Doranwen: so you couldn't clone via git, correct? |
| 05:20:25 | <@JAA> | flashmeow: We're past the git part. |
| 05:20:47 | <@JAA> | It crashed on the different git clones, so she ran those manually as appropriate. |
| 05:22:53 | <@JAA> | There should be a message to the user about adding `export PATH="$HOME/.pyenv/bin:$PATH"` to one of the home dir config files somewhere in the installer, but I just don't see it... |
| 05:23:52 | <flashmeow> | are you installing with pyenv-installer or using the instructions on github? |
| 05:27:32 | | rsn_ quits [Ping timeout: 258 seconds] |
| 05:28:01 | <Doranwen> | flashmeow: I'd tried it with the installer |
| 05:28:09 | <Doranwen> | because the instructions confused me mightily |
| 05:29:50 | <flashmeow> | Which step? It's pretty much adding some variables to the shell, then enabling autocomplete |
| 05:30:37 | <flashmeow> | If you're using bash, you should only need to add these lines to .bashrc |
| 05:30:42 | <flashmeow> | export PYENV_ROOT="$HOME/.pyenv" |
| 05:30:42 | <flashmeow> | export PATH="$PYENV_ROOT/bin:$PATH" |
| 05:30:42 | <flashmeow> | eval "$(pyenv init --path)" |
| 05:31:04 | <@JAA> | + eval "$(pyenv virtualenv-init -)" |
| 05:31:08 | <Doranwen> | my eyes were glazing over at the long readme, lol |
| 05:31:26 | <flashmeow> | It's just because every shell has different instructions |
| 05:31:54 | <flashmeow> | Skip down to the basic github checkout section |
| 05:32:16 | <Doranwen> | I see it |
| 05:32:42 | <Doranwen> | that's where my eyes started to glaze over - the first part was just "this is what this is and how it'll work" and I just skimmed that, because I needed to figure out how to get it installed first |
| 05:33:15 | <flashmeow> | i only read those sections when shit breaks |
| 05:33:23 | | Doranwen has never built anything from source before - at least, not successfully |
| 05:33:51 | <Doranwen> | the few times I've tried in the past - following instructions carefully - something always didn't work, and there was no one to help me figure out why or how to fix, and I've learned to dread build instructions |
| 05:33:55 | <Doranwen> | and avoid them like the plague |
| 05:35:00 | <@JAA> | There are almost always subtle differences between environments that then require a slight adjustments of build instructions. |
| 05:35:34 | <flashmeow> | after years of using computers, they only started making sense when I wrote mu own projects |
| 05:35:50 | <@JAA> | Yeah, pretty much. |
| 05:36:11 | <@JAA> | And explaining it is ... difficult. |
| 05:36:18 | <Doranwen> | lol |
| 05:36:36 | <Doranwen> | I didn't mind the idea of working on it and testing and debugging and all that! I just never had any luck trying it on my own :/ |
| 05:36:50 | <Doranwen> | I don't know enough to do it successfully |
| 05:36:57 | <Doranwen> | and that is a *very* frustrating place to be in |
| 05:37:26 | <flashmeow> | for me, there's two scenarios: it works out of the gate, or it's buggered beyond all recognition |
| 05:38:29 | <Doranwen> | lol |
| 05:38:37 | <Doranwen> | then I really had no hope ;) |
| 05:38:47 | <flashmeow> | Doranwen: did running the configure and make succeed? |
| 05:40:17 | <@JAA> | { ./configure && make && make install; } || echo 'All hope is lost' |
| 05:40:37 | <flashmeow> | cd ~/.pyenv && src/configure && make -C src |
| 05:40:42 | <Doranwen> | oh, I'm still stuck on the first bit - I've never checked out anything with a git command before - or at least, not for so long that I don't remember what the command is actually doing, and I got stuck on the whole "decide where to put it" vs. "put it in the home dir" and that decision |
| 05:41:16 | <Doranwen> | are there good reasons for doing the default or choosing some other place? |
| 05:41:29 | <flashmeow> | I would leave it in the default location, tbh |
| 05:41:31 | <Doranwen> | any time I'm presented with Options I always want to know "well, why does one choose this or that" lol |
| 05:41:37 | <Doranwen> | k |
| 05:41:46 | <@JAA> | TIL pyenv now has some stuff to compile. Interesting. |
| 05:41:55 | <@JAA> | Doranwen: You already have the git repos in ~/.pyenv, don't you? |
| 05:42:09 | <Doranwen> | lol yes, it is going "hey, they're already there" and telling me I can't do that |
| 05:42:13 | <Doranwen> | I forgot that would be the case |
| 05:42:35 | <@JAA> | ~/.pyenv/bin/pyenv --version |
| 05:42:37 | <@JAA> | Does that work? |
| 05:43:41 | <Doranwen> | pyenv 2.0.0 |
| 05:44:00 | <Doranwen> | trying the 2nd command with the configure and make just said it entered the dir, it was up to date, and it exited |
| 05:44:05 | <flashmeow> | great |
| 05:44:38 | <flashmeow> | time to add the variables to ~/.profile |
| 05:45:06 | <flashmeow> | actually, run `cat ~/.profile` and make sure they're not already there |
| 05:46:53 | <Doranwen> | I don't see pyenv anywhere in that |
| 05:47:52 | <flashmeow> | does your .profile source .bashrc? |
| 05:48:00 | <Doranwen> | it mentions it |
| 05:48:13 | <Doranwen> | a comment line says include it if it exists |
| 05:48:39 | <flashmeow> | then put these lines in before that segment |
| 05:48:40 | <flashmeow> | export PYENV_ROOT="$HOME/.pyenv" |
| 05:48:40 | <flashmeow> | export PATH="$PYENV_ROOT/bin:$PATH" |
| 05:48:40 | <flashmeow> | eval "$(pyenv init --path)" |
| 05:49:00 | <@JAA> | And eval "$(pyenv virtualenv-init -)" |
| 05:49:43 | <Doranwen> | I'm looking at this and not quite sure where you mean? https://paste.ee/p/4NPZb |
| 05:50:46 | <flashmeow> | put in those lines below umask 022 |
| 05:51:05 | <flashmeow> | and above #if running bash |
| 05:52:51 | <Doranwen> | ok, done |
| 05:53:41 | <flashmeow> | and now this one: echo 'eval "$(pyenv init -)"' >> ~/.bashrc |
| 05:54:33 | <Doranwen> | that being a command to run rather than something to be added to the profile file, correct? |
| 05:54:38 | <flashmeow> | yep |
| 05:54:56 | <Doranwen> | k |
| 05:56:01 | <flashmeow> | now I think you need to log out and log back in again to activate it |
| 05:56:04 | <@JAA> | You don't need pyenv init --path *and* pyenv init - unless something changed completely. |
| 05:56:05 | <Doranwen> | oof |
| 05:56:16 | <Doranwen> | I have a million things open and projects being worked on |
| 05:56:22 | <Doranwen> | that is not going to happen tonight :/ |
| 05:56:39 | <flashmeow> | try running bash --login |
| 05:56:53 | <@JAA> | Actually, disregard that, looks like it did change completely. Sorry. |
| 05:56:57 | <Doranwen> | what will that do? |
| 05:57:19 | <Doranwen> | or, rather, is there any chance of that messing something up, lol |
| 05:57:29 | <flashmeow> | no. it should start a bash prompt inside the current shell |
| 05:57:34 | <Doranwen> | ah, ok |
| 05:57:50 | <Doranwen> | it sort of thought for a sec and then blinked |
| 05:58:06 | <Doranwen> | and returned to the same prompt |
| 05:58:10 | <flashmeow> | good |
| 05:58:17 | <flashmeow> | try running pyenv install 3.8.9 |
| 05:59:04 | <Doranwen> | hey, it got past downloading to installing, that's good for my 'net, lol |
| 06:00:30 | <Doranwen> | and looks like it finished without giving me an error |
| 06:00:49 | <Doranwen> | didn't show much of what was going on, lol |
| 06:02:16 | <flashmeow> | you should be able to cd to the project folder, and run pyenv local 3.8.9 |
| 06:02:29 | <flashmeow> | and then python --version should give 3.8.9 |
| 06:02:38 | <Doranwen> | the project folder? |
| 06:03:26 | <flashmeow> | wherever you were running the script from |
| 06:04:16 | <Doranwen> | oh, you mean a script that needed Python |
| 06:04:21 | <Doranwen> | I hadn't gotten to testing it yet, lol |
| 06:04:29 | <Doranwen> | *that needed Python 3.8 |
| 06:04:38 | <Doranwen> | ok, will try that |
| 06:04:55 | <@JAA> | Does the script also need some packages? |
| 06:05:09 | <Doranwen> | right, yeah, that's where I got stalled |
| 06:05:36 | <@JAA> | pyenv virtualenv 3.8.9 your-virtualenv-name |
| 06:05:38 | <Doranwen> | the instructions for it had pipx install |
| 06:05:49 | <@JAA> | Then use `pyenv local your-virtualenv-name` in that directory, not 3.8.9. |
| 06:06:44 | <Doranwen> | ahhh :) |
| 06:06:51 | <@JAA> | If you want to use pipx, then you can first `pip install pipx` while having that venv activated. |
| 06:07:05 | <flashmeow> | personally I don't use pyenv-virtualenv, i just create my virtualenvs by hand |
| 06:07:08 | <@JAA> | But I think it should work with pip just as well. |
| 06:07:31 | <@JAA> | You may have to `pip install --upgrade pip` though. Don't know what version of pip pyenv includes by default now. |
| 06:07:57 | <Doranwen> | that fails |
| 06:08:03 | <Doranwen> | because it can't find setuptools |
| 06:08:16 | <@JAA> | Huh? |
| 06:08:20 | <Doranwen> | how do I do pip with the pyenv? |
| 06:08:36 | <Doranwen> | like `pyenv local virtualenv-name pip` ? |
| 06:09:07 | <@JAA> | No, just `pip` when you have the appropriate Python version selected. |
| 06:09:34 | <@JAA> | There are four version selections: shell, local, global, and system. |
| 06:09:43 | <@JAA> | `pyenv shell version` sets the version just for the current shell. |
| 06:09:52 | <@JAA> | `pyenv local version` sets it for a directory and all its subdirectories. |
| 06:10:00 | | AnotherIki joins |
| 06:10:03 | <@JAA> | `pyenv global version` sets it for the entire user. |
| 06:10:04 | <Doranwen> | OH, I know what I goofed on |
| 06:10:16 | <@JAA> | And the system version is used when nothing else is set. |
| 06:10:18 | <Doranwen> | ok, let's see if I can make this work, lol |
| 06:10:52 | <@JAA> | The 'local' version is the most powerful because it automatically switches as you move to another directory etc. |
| 06:11:52 | <@JAA> | flashmeow: I find pyenv-virtualenv one of the most powerful parts of pyenv. Managing it by hand sounds painful in comparison, especially when you want to set up tests with multiple versions of dependencies etc. |
| 06:13:32 | <flashmeow> | JAA: yikes, that's way beyond what I'm doing. I don't even know how I'd start to do that |
| 06:13:55 | | Iki1 quits [Ping timeout: 258 seconds] |
| 06:16:30 | <flashmeow> | when I'm starting a project from scratch, I usually use pipenv and say "screw everything except the exact version I'm using" |
| 06:16:45 | <flashmeow> | but I'm writing scripts, not command line tools installed via pip |
| 06:16:58 | <@JAA> | Basically, I have a pair of virtualenvs for each supported Python version, one for the oldest supported versions of all dependencies and one for the current ones. |
| 06:17:25 | <@JAA> | It's messy, but it's the least messy way I've come across so far. |
| 06:17:37 | <flashmeow> | what framework are you using to test like that? |
| 06:17:39 | <@JAA> | (Complete automation aside) |
| 06:18:27 | <@JAA> | I currently still use simple unittest mostly with a little shell loop, actually. I've been meaning to look into coupling it with tox though. |
| 06:19:20 | <thuban> | ah, i guess that's fine |
| 06:19:30 | <thuban> | lol sorry wrong terminal |
| 06:20:38 | <flashmeow> | a quick googling shows tox supports testing against multiple versions, but i don't see an obvious way to test old dependencies |
| 06:20:59 | | Doranwen is still trying to figure out how to get the script to run |
| 06:21:17 | <@JAA> | The loop is something like `for v in project-py{36C,37A,38A,395}-{old,current}; do PYENV_VERSION="$v" python3 -m unittest; done` (just written from memory, can't look it up in my scripts right now). |
| 06:21:20 | <Doranwen> | it says it's installed, and I can follow their example usage just fine… |
| 06:21:26 | <Doranwen> | but something's missing |
| 06:22:13 | | Doranwen is testing this out: https://github.com/KebinuChiousu/fanfic_scraper |
| 06:23:35 | <flashmeow> | JAA: how do you keep track of old dependency version numbers? |
| 06:24:10 | <@JAA> | With great pain. |
| 06:24:31 | <@JAA> | All manual :-| |
| 06:24:46 | <@JAA> | Fortunately, they don't change too often since they're old. |
| 06:25:20 | <@JAA> | Only really becomes relevant on new Python versions (where an old dependency might not work) or if I start using features that weren't present in some older version of the dependency. |
| 06:28:23 | <flashmeow> | Doranwen: I'm getting this error on two machines, it might not be you |
| 06:28:25 | <flashmeow> | Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it')) |
| 06:28:33 | <Doranwen> | this is what I get when I run `pipx install fanfic-scraper`: https://paste.ee/p/G80y1 |
| 06:28:51 | <Doranwen> | and then if I try the example usage command with a fic I want to d/l, it just says "command not found" |
| 06:29:01 | | Doranwen has not changed dirs or done anything odd! |
| 06:29:02 | <@JAA> | Regarding getting tox into the picture, I think the way would be to set PYENV_VERSION there with setenv in tox.ini. |
| 06:29:16 | <Doranwen> | just ran the one command after the other |
| 06:29:41 | <@JAA> | Yeah, so I guess pipx doesn't work well with pyenv then. |
| 06:29:48 | <@JAA> | It should not install things in ~/.local. |
| 06:30:01 | | rsn joins |
| 06:30:06 | <Doranwen> | don't use pipx to install it then? |
| 06:30:15 | <flashmeow> | it's the only way |
| 06:30:28 | <flashmeow> | Doranwen did you try `pipx ensurepath`? |
| 06:31:14 | <Doranwen> | I did not |
| 06:31:16 | <Doranwen> | wasn't sure I should |
| 06:31:30 | <flashmeow> | that should add .local/bin to $PATH |
| 06:31:49 | <flashmeow> | so then it can find the fanfic-scraper script |
| 06:32:18 | <@JAA> | But it shouldn't install things into .local/bin in the first place because this stuff is specific to the virtualenv. |
| 06:32:32 | <Doranwen> | it found it all right, but it is having a fit at trying to grab anything |
| 06:32:56 | <Doranwen> | probably my 'net, LOL |
| 06:33:02 | <@JAA> | I can install it just fine with pip, by the way. |
| 06:33:09 | <@JAA> | Running it fails though with a similar error as you got. |
| 06:33:36 | <@JAA> | (Well, the Linux version of it) |
| 06:33:47 | <flashmeow> | pretty sure pipx handles its own virtualenvs, not sure about python versioning though |
| 06:33:53 | <Doranwen> | which looks like this to me: https://paste.ee/p/2IPbC |
| 06:34:00 | <Doranwen> | I'm wondering if that's not related to the rate limiting mentioned in -bs |
| 06:34:04 | <@JAA> | Yep, same error I get. |
| 06:34:30 | <flashmeow> | JAA: yeah, I tested on mac and windows, but had irc open on pc |
| 06:34:37 | <@JAA> | flashmeow: Thanks, now I know to never try pipx. :-) |
| 06:34:50 | <Doranwen> | lol |
| 06:35:03 | <Doranwen> | anyway, well, now I know this isn't going to work at all |
| 06:35:53 | <flashmeow> | wait |
| 06:36:10 | <flashmeow> | it might be related to a weird proxy issue |
| 06:38:46 | <@JAA> | Huh, yeah, it's trying to connect to 127.0.0.1:8050. No wonder that's not going to work. |
| 06:42:16 | <@JAA> | lol |
| 06:42:28 | <@JAA> | The version that's on PyPI (0.7.4) seems to enforce the proxy always. |
| 06:42:55 | <@JAA> | It was later made optional via a flag on the command line, but 0.7.5 isn't uploaded to PyPI. |
| 06:44:28 | <@JAA> | The current master version doesn't work either. |
| 06:45:21 | <@JAA> | Neither does 0.7.5. |
| 06:46:03 | <Doranwen> | LOL |
| 06:46:12 | <Doranwen> | well then… |
| 06:46:32 | <@JAA> | (Both try to access a useproxy attribute on the arguments object, but the fanfic-scraper arg parser doesn't even have that flag.) |
| 06:48:27 | <flashmeow> | Yeah, im trying to build from source |
| 06:49:57 | | AnotherIki quits [Ping timeout: 258 seconds] |
| 06:50:57 | <@JAA> | The code refers to https://github.com/TeamHG-Memex/aquarium . I hate it already. |
| 06:51:12 | <Doranwen> | lol |
| 06:51:26 | <Doranwen> | it also doesn't work with AO3 |
| 06:51:34 | | Viniter quits [Client Quit] |
| 06:51:35 | <Doranwen> | which I need to be able to get the individual chapters off AO3 |
| 06:51:37 | | Doranwen sighs |
| 06:51:39 | <@JAA> | Splash: 'Lightweight, scriptable browser as a service with an HTTP API' |
| 06:51:51 | | Viniter (Viniter) joins |
| 06:52:23 | <Doranwen> | there's got to be a fairly simple way to grab *just* the chapters one wants, from either AO3 or ff.n, and end up with both html and pdf of the story |
| 06:54:18 | <@JAA> | Splash actually looks somewhat interesting. |
| 07:05:22 | <Doranwen> | well, if anyone figures out something to make that script actually work, let me know |
| 07:05:28 | <Doranwen> | otherwise I'm going to assume it's not happening |
| 07:13:54 | <flashmeow> | yup. completely fucked. can't even build from source |
| 07:14:22 | <flashmeow> | im giving up and going to bed |
| 07:16:15 | <Doranwen> | lol, well, thanks for trying |
| 07:16:26 | <Doranwen> | at least I have a working query, so one of two problems solved! |
| 07:16:33 | <Doranwen> | t.huban was VERY helpful :) |
| 07:16:56 | <Doranwen> | (also, I was very forgetful about one really obvious thing, so) |
| 07:17:39 | <Doranwen> | now I just need to see if I can successfully edit the sed command to accommodate the new line :D |
| 07:17:42 | | Doranwen is pretty sure she can |
| 07:28:58 | <Doranwen> | …but apparently I did not figure it out |
| 07:28:59 | | Doranwen sighs |
| 07:29:21 | <Doranwen> | JAA: with five lines to format, you'd given me this: `paste - - - - - <format.txt | sed 's_^\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)$_<a href="\5">\1 - \2</a>\n\3 words, \4\n_' > format2.txt` |
| 07:29:32 | <Doranwen> | with a sixth line, to go on a new line *after* the rest… |
| 07:29:42 | <Doranwen> | OH |
| 07:29:43 | <Doranwen> | wait |
| 07:29:45 | <Doranwen> | I think I know |
| 07:30:03 | <Doranwen> | YES :D |
| 07:30:06 | <Doranwen> | I got it |
| 07:30:12 | <@JAA> | :-) |
| 07:35:21 | <Doranwen> | yay, I feel so much better solving at least one problem |
| 07:43:27 | <Doranwen> | …uh-oh, I realized there IS a problem |
| 07:43:44 | <Doranwen> | the query he gave me… skips over fics that don't have ships |
| 07:43:47 | <Doranwen> | and some don't! |
| 07:44:01 | <Doranwen> | I need them included anyway, just with an empty slot… |
| 07:44:03 | <Doranwen> | ugh |
| 07:44:06 | <Doranwen> | how do I do THAT |
| 07:44:38 | <Doranwen> | it suddenly occurred to me I hadn't seen any results without a ship, and I compared the results of two queries - one that included the ships and one that didn't… and there was a difference by over 200 fics |
| 07:44:45 | <Doranwen> | that's a lot of fics to NOT include |
| 07:56:10 | | Doranwen pokes at a few answers that seem to be on the right track, but she can't figure out how to apply their results to her problem… |
| 08:10:09 | <Doranwen> | coalesce seems to be the key to replacing null values with a space, but I can't find anything that says how to use both coalesce *and* distinct, or if that's even possible |
| 08:50:13 | | Doranwen is still poking away at it |
| 08:52:36 | <Doranwen> | I need to either figure out how to selectively replace all the ones that don't exist in the ships table with the string "No ships." in the query, or I need to a) do a union with a select that doesn't pull the ships, but fills the string "No ships." for the entire column, and then tell it to ignore the rows with "No ships." if there's another option |
| 08:52:48 | <Doranwen> | or maybe there's a third and better way to do this but I'm having a hard time figuring it out |
| 09:20:32 | <Doranwen> | this is promising but I'm having a hard time seeing how to set it up properly: https://web.archive.org/web/20160304093347/https://www.xaprb.com/blog/2005/09/23/how-to-write-a-sql-exclusion-join/ |
| 09:21:00 | <Doranwen> | left outer join *does* seem to be a good possibility here, if I can see what gets nested where… |
| 09:26:44 | | Wayward quits [Ping timeout: 258 seconds] |
| 09:57:13 | | BlueMaxima__ quits [Read error: Connection reset by peer] |
| 10:00:38 | | Doranwen finally gives up and goes to bed hours late |
| 10:43:31 | | Wayward (wayward) joins |
| 12:32:53 | | AnotherIki joins |
| 12:44:23 | | qw3rty joins |
| 12:49:31 | <Wayward> | "Why did the chicken cross the road? To get to the other side." I just figured out why that's supposed to be funny. Just dawned on me after all these decades, out of the blue, while having my coffee. |
| 12:52:44 | <Wayward> | it's a church joke! |
| 12:55:18 | <Wayward> | Did everyone else know it meant "so he gets hit by a car so he can go to heaven"? to get to the 'other side'. |
| 14:30:14 | <lunik1> | I thought it was an anti-joke |
| 15:04:36 | | betamax quits [Ping timeout: 250 seconds] |
| 15:06:14 | | betamax (betamax) joins |
| 15:11:22 | <Wayward> | I mean, it could be an anti-joke, or it could have become an anti-joke. |
| 15:12:18 | <Wayward> | I can't help but imagine a bunch of old folks automatically getting that the chicken wants to become roadkill if he keeps playing in the street. |
| 15:14:13 | <Doranwen> | Wayward: …I can't believe that's the first time I ever saw that too, LOL |
| 15:43:42 | | Doranwen is over the moon because she actually *figured out how to solve the SQL issue* |
| 15:44:43 | <Doranwen> | union of two subqueries, first one only pulls ones with ships, second one does a cast to set the "No ships." string for the Ships column for all fics, and then a WHERE clause with NOT IN to check that the FanficID isn't in the junction table of Fanfics and Ships XD |
| 16:32:36 | | Doranwen is happy because for once she could follow the entire thing, knew what she was doing with it and why, and made it all work |
| 16:58:09 | | spirit joins |
| 17:23:18 | | Vukky joins |
| 17:35:47 | | godane quits [Quit: Leaving] |
| 17:36:16 | | Wayward quits [Ping timeout: 250 seconds] |
| 17:37:23 | | Wayward (wayward) joins |
| 17:47:59 | <thuban> | for the record i prefer not to have my nick mangled when i'm mentioned--i don't mind extraneous pings and i value being able to grep for it reliably |
| 17:57:37 | <@JAA> | Good news everyone: thanks to these tirelessly working developer heroes, you can now finally use JavaScript in web browsers! https://blog.stackblitz.com/posts/introducing-webcontainers/ |
| 18:00:45 | <thuban> | v_v |
| 18:09:13 | <Doranwen> | thuban: apologies, I will remember that in the future! |
| 18:10:35 | <thuban> | no worries, thank you! |
| 18:18:03 | <spirit> | is there a video editor on linux that makes editing jump cut videos easy? i. e. it lets me non-destructively mask out parts of a video until i got the perfect cut. |
| 18:28:14 | | HP_Archivist (HP_Archivist) joins |
| 18:52:32 | | ThreeHeadedMonkey quits [Ping timeout: 258 seconds] |
| 18:54:13 | | nertzy quits [Quit: Leaving] |
| 18:54:27 | | ThreeHeadedMonkey (ThreeHeadedMonkey) joins |
| 19:06:10 | <spirit> | oops sorry for topic |
| 19:39:59 | <Jake> | Oh my god. Node JS in your browser seems so cursed. |
| 19:40:42 | | KRG (KRG) joins |
| 19:52:49 | <Wayward> | make bitcoin mining great again |
| 21:08:59 | | etnguyen03 (etnguyen03) joins |
| 21:10:52 | | Jake quits [Quit: Leaving for a bit!] |
| 21:11:42 | | Jake (Jake) joins |
| 21:20:24 | | spirit quits [Client Quit] |
| 21:29:56 | | Jake quits [Client Quit] |
| 21:33:36 | | Jake (Jake) joins |
| 21:43:02 | | yano quits [Quit: WeeChat, the better IRC client, https://weechat.org/] |
| 21:43:13 | | yanome quits [Quit: The Lounge - https://thelounge.chat] |
| 21:43:19 | | dm4v quits [Client Quit] |
| 21:44:27 | | yanome (yano) joins |
| 21:44:55 | | yano (yano) joins |
| 21:45:46 | | dm4v joins |
| 21:45:48 | | dm4v is now authenticated as dm4v |
| 21:45:48 | | dm4v quits [Changing host] |
| 21:45:48 | | dm4v (dm4v) joins |
| 21:45:55 | | Jake quits [Client Quit] |
| 21:49:20 | | Jake (Jake) joins |
| 22:21:37 | | webdownload quits [Remote host closed the connection] |
| 22:24:07 | | @Kaz quits [Remote host closed the connection] |
| 22:32:06 | | Kaz (Kaz) joins |
| 22:32:06 | | @ChanServ sets mode: +o Kaz |
| 22:38:17 | | JensRex quits [*.net *.split] |
| 22:38:19 | | HP_Archivist quits [Ping timeout: 258 seconds] |
| 22:38:31 | | JensRex (JensRex) joins |
| 22:52:46 | | second (second) joins |
| 22:56:16 | | sec^nd quits [Ping timeout: 255 seconds] |
| 22:56:16 | | second is now known as sec^nd |
| 23:03:37 | | AnotherIki quits [Ping timeout: 258 seconds] |
| 23:09:50 | | Kaz1 (Kaz) joins |
| 23:09:50 | | @ChanServ sets mode: +o Kaz1 |
| 23:11:30 | | BlueMaxima joins |
| 23:14:31 | | HP_Archivist (HP_Archivist) joins |
| 23:42:21 | | balrog quits [Quit: Bye] |
| 23:53:10 | | balrog joins |
| 23:53:11 | | balrog is now authenticated as balrog |