Show more

here's the bot edit page so far, it looks pretty gross i know

are there any options that seem missing? there are some other options not pictured here, such as turning off replies, banning given words, or changing the profile picture

i don't want to overwhelm the user with options but i don't want it to be too limiting either

this page allows you to manage your bots and such. the buttons on the bot are a little confusing because they're just icons. they mean, from left to right:

. toggle bot enabled/disabled
. bot settings
. accounts learned from
. banned words
. chat with your bot
. delete

before i shut down my free bot hosting service, i was hosting 108 bots. that means my server had 108 open connections listening for replies at all times. i don't know how many it can handle, but the answer's at least 108 :blobcatfingerguns:

i have no idea how many people are going to use this, though, so it might not go so well. each reply listener needs to be its own process, too... i might have to either get a separate server just for this or upgrade my current server to the prohibitively expensive next tier

in other words, when this goes live, i'm kinda hoping for people clicking on those donation links so i can upgrade the server! :blobbun_mlem:

this is by the people (henlo) for the people (you!) so if there's anything at all you'd like to see, let me know!

what do you want in an ebooks bot? what annoys or disappoints you about the current ones? if you could program, what custom functionality what you give your own one? what do you like or hate about webapps (like mastodon and gmail) that could apply here? what is your favourite breed of rabbit?

allowing users to get their bot to post once every five minutes is probably a bad idea, right

i'm excited to work on the backend but the frontend still isn't done, there's just so much to do!! :bunrainbow:โ€‹

the more hardcore lynnesbian fans may note that fedibooks looks rather similar to curious greg (no not :greg:โ€‹, i mean cg.lynnesbian.space)

i did take inspiration from that design, which in turn took inspiration from mastodon's web UI. however, i made a few changes, most noticeably to the buttons, to give it its own unique identity. i also decided to go a little bit brutalist (and i really do mean a little bit) by leaving everything with sharp, square edges, flat colours, monotone icons, and so on.

who says programmers can't design frontends? :chloeblob:โ€‹

you may also notice that fedibooks used to be a different project. i've abandoned the old fedibooks and moved to this one instead. in retrospect, the old fedibooks concept was way too ambitious. it was around the time i was considering how to create a simple UI for displaying complex decision trees that i realised i was in too deep.

why create fedibooks? (long) 

hmm what if someone tries to make a bot that learns from someone with #NoBot in their profile

when you ask me a question like "why pour all this time and energy into creating a free service" the answer always boils down to "i want to make people happy"

that's all there is to it really. my current dream job (not that i'm really capable of working) is a computer science lecturer, because i've seen how dry and boring compsci lectures are and i think i can do better. i want people to learn and have a good time doing it!

if i'm making other people happy, i'm almost always happy! i just need to remember to not let that get in the way of my own health.

okay so i think this is what the database is gonna look like

yes this is an ERD what about it

i just realised that i actually used a skill i learned at university today

holy shit

university taught me something i used in a real life scenario

if you had have told past me that i would get so dedicated to a passion project that i made an ERD for it, i would say "really? fuck"

hmm i could either work on more frontend stuff or try to convert this ERD into SQL

i might work on the SQL stuff since it's been a while :bunrainbow:โ€‹

known issue: fedibooks will stop working after 4,294,967,295 people connect their accounts

looking over this SQL is writing is making me feel very Powerful

i could change fedibooks to only allow one user per instance and all it would take is a single word

i could cause privacy issues and wasted disk space by just deleting one rule

i could change a single column's data type and break pleroma compatibility

i actually kinda like working with databases, i just don't like database theory

i fixed up some of the issues with the entity relationship diagram and it's looking pretty solid now :chloeblob:โ€‹

fedibooks can store (2^64)-1 posts

that is a lot of posts!!

i'd probably run out of disk space before getting anywhere near running out of post IDs :blobbun:โ€‹

a difficult thing to determine is how high should i set the post length limit

my instance has it set to 65535 to ensure i never run into issues, masto defaults to 500, pleroma defaults to 5000

i guess this is supposed to be a microblogging platform so it doesn't make too much sense to allow them to be overly large, and that does technically expose me to some jerk filling my DB with posts that are gigabytes long

65535 it is :blobbuncoffee2:โ€‹

the frontend stuff is getting along well

as for the backend stuff, well, there's more SQL than python, and i haven't even hit 100 lines yet, so

okay, the frontend stuff is getting close to being ready. when fedibooks first goes live, some features won't be ready yet. the basic stuff will all work just fine, though!

the backend stuff is gonna be a lot harder than the frontend, but i'll hopefully have it done before too long!

also worth noting: the whole site works without javascript :blobcatfingerguns:โ€‹

there are a few features that will require it, but so far it's 100% JS free

which is nice because i'm bad at JS

i like javascript and i think it's important, but i also like avoiding it where possible to make everything as lightweight as possible

what do you typically call the "@user@instan.ce" thing? i call it a handle

one of the best parts of webdev is having to implement input validation on both the client and the server

hmm i wonder how i implemented input sanitisation in my last project

...oh! i didn't!

well time to shut cg.lynnesbian.space down forever

wait a minute never mind i overreacted it DOES sanitise inputs

phewwwwwwww

okay curious greg is back up so you can use it again now

even though it's really buggy and shit

the bot creation process is done now. it doesn't handle errors gracefully yet, but apart from that, it's ready!

this means you can now create a bot with fedibooks 0u0

now for the learning from posts part :blobbun:โ€‹

things are coming along very well! you can create a bot and add accounts for it to learn from. there's a few basic things left, and then it's on to the actual ebooks stuff - downloading and making posts!!

531 (significant) lines of HTML, 328 lines of python, 174 lines of CSS, 76 lines of SQL, 1 tired bune

comparitively, mstdn-ebooks is "just" 387 lines of python

it's been a while i last updated this thread, because it's also been a while since i did any major work on fedibooks. i've kinda pushed myself way too hard on it and i'm taking it more slowly now.

that said, i do have some new features to show off! firstly, fedibooks is now capable of scraping user posts. this is one of the key steps towards implementing full ebooks functionality. the first screenshot shows that fedibooks has successfully scraped all 63 of this account's posts.

secondly, there's now a nifty little bug report form for those of us without github accounts, shown in the second screenshot.

fedibooks is now capable of:
. authenticating with mastodon/pleroma
. scraping user posts
. generating and submitting its own posts

this means it can do nearly everything mstdn-ebooks can, and all that's left is replying!! :toot:โ€‹

uh oh, looks like you're out of gems! your ebooks bot will stop posting until you have at least 3 more.

[ wait for gems to recharge (3h27m) ]
[ watch 3 ads ]
[ buy pack of 15 gems ($4.99) ]

there are a few minor features left now, and one major feature - replying. once that's done, fedibooks will be complete.

unfortunately, testing the reply functionality requires me to actually deploy fedibooks to a website, since i can't test it with localhost. this means it's going to be a bit of a hassle to implement.

however, i've looked at what needs to be done for reply functionality, and it seems pretty easy with web push - mastodon will automatically send a request to fedibooks with some info, which fedibooks can then reply to. it should be pretty simple 0u0

i want to implement reply functionality and bot settings, and then i'll release the first version of fedibooks for all to use! :toot:โ€‹

once fedibooks is released, i'll be shutting down my paid ebooks hosting service in a week (since it's available for free now). i'll implement an "import from mstdn-ebooks" feature to ease the transition.

thank you so much to everyone who supported me on patreon!

i'm really excited for this. this is the first time i've ever actually managed to finish a major project! i often start things that are way too ambitious and never manage to finish them, but this time i did it!!

this is the screen that appears when you try to do something i haven't made yet

i'm about to start testing the reply functionality for fedibooks 0u0

fedibooks is now live, by the way! i've disabled signups for now, but in the mean time, you can explore the site: fedibooks.com/

well i've run into a bit of an issue...

the bot creation process works on my small laptop and pet's laptop, but not on my big laptop. i have no idea why, it's the same code and everything, and my small laptop has the same firefox addons as the big one. i'm reading over the code and i really don't see how this bug works... and why does it only happen on one laptop??

@lynnesbian we have a similar issue in Tusky.
But it's not a high priority fix. ๐Ÿ™ƒ

@lynnesbian does this also happen when you're trying to follow people on gab instances with the bot or is it not implemented yet

@knuxify not implemented yet, i'm still working on the bot creation phase

@alexbuzzbee @knuxify it uses an auth token to access the bot account given to it, so it never sees the password

@lynnesbian ๐Ÿฆ€

both of those instances are awful, so it would seriously surprise me if anyone wanted a bot under gab or spinster

@lynnesbian hi i'm Lynnesbune, welcome to Fedibooks 101, please take your seat

@lynnesbian Clearly you need more one-character typo fixes so boost those numbers.

@lynnesbian
if you create two bots that pull from the same sources, can you then make them learn from each other?

@lynnesbian one amazing bune who has worked so hard and made simething so great. I'm proud of you ๐Ÿ’œโค๐Ÿ’œโค

@lynnesbian Take as much time as you need to, lynne. Taking care of yourself comes first. Congrats on your progress!

@lynnesbian Congrats!!! ๐Ÿ‘๐Ÿป๐Ÿ‘๐Ÿป๐Ÿ‘๐Ÿป

lewd? 

Show more

@lynnesbian hmm

I might actually sign up for a fedibooks bot...

@lynnesbian

can't wait!

what's self hosting going to be like compared to e-books? easier? harder? about the same?

@mal it's gonna be a lot easier! you won't need to download or install everything, the whole thing is done through the website. everything from replies to post frequency can be set without editing config files or anything like that. it'll be hosted on my server, so you don't need to keep your laptop running 24/7

Show more
Sign in to participate in the conversation
Lynnestodon

@lynnesbian@fedi.lynnesbian.space's anti-chud pro-skub instance for funtimes