hashcss / hashcss.com

Official Site for #CSS on Libera Chat
MIT License
5 stars 0 forks source link

Replacement for selvvir #10

Open pudly opened 9 years ago

pudly commented 9 years ago

There's a bot that NinjaBanjo put together for ##frontend that's written from scratch, has api integration into MDN and factoid with user auth on top of that.

It gives us a clean base and opportunity to build on it and have something thats maintainable by current occupants of #css (rather than riven's adopted code).

Things like https://github.com/pudly/hashcss/issues/9#issuecomment-56309329 could be handled.

I'd be happy to host it on the same DO instance as hashcss.com is being hosted on.

The bot's repo is

https://github.com/NinjaBanjo/frontend-irc-bot

Let me know what you guys think?

oksushi commented 9 years ago

I think this needs some work before it would be a more compelling option that Selvvir. However I like the idea of making it available to everyone to hack on, make PRs etc

pudly commented 9 years ago

Yeah it's definitely just the baseline at the moment. Could start working on a feature list? On Sep 21, 2014 5:22 PM, "Cal Wilson" notifications@github.com wrote:

I think this needs some work before it would be a more compelling option that Selvvir. However I like the idea of making it available to everyone to hack on, make PRs etc

— Reply to this email directly or view it on GitHub https://github.com/pudly/hashcss/issues/10#issuecomment-56313237.

preaction commented 9 years ago

I thought Selvvir was already on github somewhere. It was forked from rivvles, which was on github.

I've got ideas I want to put in bot form, but being lazy and needing it other places than #css will probably make me use Perl to do it. They're not infobot things, more channel management things, so another bot will suffice.

pudly commented 9 years ago

my main point is that its built on ancient technology and not currently developed on. this gives us some baseline code and a familiar tech to work with that we can all crank away at.

AMcBain commented 9 years ago

Well ... no, it's not on GitHub. If it did show up it'd be on Bitbucket, as that's where I backed it up to. It's a very clever(ish) bot that behaves a lot like rivvles did, but it's not a fork of it.* I started it sort of by someone's request when it was obvious the owner of rivvles may eventually depart with the bot, as eventually proved true. rivvles was made open source on GitHub a day after I started, but a day before I noticed. Since I hadn't the slightest about nodejs at the time--I do now--, when I offered a then-temporary bot, I just launched mine rather than cloning a rivvles repo.

* One particular difference you may note is that being on the ops list to update factoids requires you to be signed in to freenode, as opposed to just having a hostmask/cloak the bot recognizes at the time you make the change. This is why the ops list is packed full of aliases.

It's not particularly hard to write plugins/add-ons/commands for the bot, at least so I think, and it's even easy to take commands from other people and include them at bot boot without changing they codebase as it stands. However, it has been made over time quite apparent that we have different go to languages when we just want to code something up "quick", and I don't think my choice here overlaps well with the rest of you. So even if I changed some things to possibly improve collaboration on the core, by way of suggestions from others, I'm not entirely sure you guys would want to continue working on it as it stands.

Starting from scratch sucks, and several notable people seem to agree that when changing things rewriting everything is also kind of bad. So a couple of options I see are: I can throw the public switch on the repository and all can take a look with all the possible shame that might entail**, you could join Bitbucket--They let you sign in with your GitHub account and I can have up to 4 more users before I owe them money***--and I provide you private access to evaluate it as it stands and make it public later if we go ahead with it, or a third option where nobody looks and does something else. The first two at least allow determining if you want to continue what stands and if not allows at least access to something you can translate in to the language of the new bot to get something very close to how the bot behaves now.

\ I'm probably over-blowing how bad I feel the source is. It's honestly probably not that bad but there could be a bit more organization on the part of the actual command handlers relative to the project itself. (They're stored all together.)

*\ Not that I mind paying them money, it's a great service, but for something that would probably be a temporary arrangement ...

Also if we're going for a new bot or aiming to improve maintenance of the existing one, I can think of one feature we can nix: did you know that rivvles let you update factoids with a regex replacement? I copied that. Has anyone ever used it? I don't think anyone has. (Even on rivvles.)

Lastly besides the differences already mentioned, Selvvir also has integration with caniuse data (not the website). It uses the combined JSON file from fyrd's GitHub repository as opposed to page scraping or any site API, if he has one.

Sorry about the post length, but I hope this shows what I know / where I sit. Though I don't have an opinion either way as to whether Selvvir proper stays (with future improvements), I might be a tad sad for a day or so if he's replaced. :P (but don't let that influence you; I'd get over it shortly.)

AMcBain commented 9 years ago

Also Selvvir isn't not actively developed on, just that I haven't put in anything new recently. I may have gotten more than one feature request that I didn't already take care of, but the only one I can remember that hasn't been done is updating the caniuse.com data integration so instead of saying just "caniuse.com" it says caniuse.com/#feat=thethingyouaskedabout or caniuse.com/#search=thething

oksushi commented 9 years ago

So…is it public on BitBucket?

emersonveenstra commented 9 years ago

In regards to the ciu data, I know the oftn-bot has the same integration features, so it shouldn't be too hard to do in the new bot

AMcBain commented 9 years ago

oksushi, no I'd have to throw the public flag like I noted in the post.

AMcBain commented 9 years ago

Seeing as most people will probably tl;dr my post and I'm not likely to get a quorum of agreement on explicitly wanting to see it so people can look in their own time, I've made it public at https://bitbucket.org/AMcBain/selvvir/ There's not a lot of repository history, as I decided to back it up via Git after much of the main development was done, which I do consider to be a mistake but at least one I corrected before it was too late.

I've released it under the WTFPL. So if you do use it, do whatever you want as long as you call it something else. If we do continue direct development on it, the license can be changed if anyone is opposed to that or the use of a four letter word.

preaction commented 9 years ago

The 4-clause BSD should probably do the same thing as the WTFPL. The fourth clause is:

  1. Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

"derived" means if someone modifies it and tries to distribute a product using the modified form, they can't call it the same name. The third clause requires them to acknowledge that it was based on the original.

AMcBain commented 9 years ago

Yeah but depending on how you view my source, do you want to acknowledge that? :P

preaction commented 9 years ago

Eh, if they didn't want to acknowledge it, they wouldn't want to use it :p

AMcBain commented 9 years ago

heh, maybe, I'm not so hept on the 3rd clause though. I usually go with the 3-clause one as it still requires the change but doesn't require them to promote me ... at least, that was the original argument against that line as some projects could end up with several required attribution lines. Granted, an IRC bot isn't likely to be promoted in manners which would trigger this, but still. I'm not feeling strongly about needing a name change, just sort of feel if you do develop an all new bot (even if it behaves mostly the same), it should be named something else due to the different origins.