« first day (1247 days earlier)      last day (3763 days later) » 

12:00 AM
wait a sec, that master.js might not necessarily have built the latest changes
actually check out the source using git; build it using node; and try that
Zirak doesn't always keep master.js in sync with the actual source files
the official record of what the code is is in the source directory; master.js is merely an amalgamation of everything in there
 
ok great!
thanks man ;)
 
you can very easily produce master.js (and master.min.js, the minified version) yourself
 
cheers again
 
you install node on your system, you install git, you check out the git repo, you cd into the git repo; run npm install uglify-js2 then node build.js
 
I'll let you know how I get on
 
12:02 AM
then you have master.min.js reflecting the master code and you can run that in your browser if you want (though for production I very strongly recommend running it headless)
 
need to get Node installed on CentOS first
I guess it shouldn't use much resources?
 
i think they provide binaries at the node homepage, though i could be wrong
@DannyBeckett it'll use as much RAM/CPU as the browser itself running in chat, plus a little more than that
 
you can run it in firefox or chrome for testing purposes and then once you are confident it works, to set it up for headless, you can use my so-chatbot-driver; let me know if you get that far and want to use it
 
Server refused our key
that's a great start :p
can't even get in the damn box
 
12:06 AM
yeah they do, or it may be in your repos
 
phantomjs is basically a WebKit browser (the core layout engine of Chrome and Safari, and Opera recently too) that has no GUI component, and can be automated through a custom JavaScript API or through Selenium WebDriver protocol
 
(I really wish they called it something else)
 
so-chatbot-driver is a desktop Java application (Oracle or OpenJDK) that uses Selenium WebDriver to talk to PhantomJS or Firefox to perform the authentication with StackExchange automatically and then loads the bot from a .js file
(it's also headless)
 
Last login: Sat Aug  3 05:58:37 2013 from cpc8-xxxxxx.net
that's better, lol
 
ffff. My ISP has one of those "lets redirect incorrect dns to our own search thing"
and I can't seem to turn it off
I mean, there's an option for it, it does nothing
 
12:15 AM
@JourneymanGeek use another DNS ;)
 
flushdns? =p
 
+ ^
 
if it's caching something you're viewing more than once
 
@allquixotic I have destroyed contextify while keeping jsdom functioning (no more sandbox boohoo) unfortunately contextify's native bits were the blocking goods keeping node running. It now walks through all the steps and says "Ok I visited those places, Zombie over and out!" and pops me back to command line heh
So just need to figure out how to tie zombie in knots so it just stays alive
and see if the websocket no longer segfaults now that it's not inside of contextify
 
test!help
hmmm... just installed Node and Git, checked out, built, and still getting parseMessage invalid @allquixotic
Using the bookmarklet from Win 7/Chrome: javascript:(function(){var a=document.createElement("script");a.src="http://www.dannybeckett.co.uk/master.j‌​s",document.head.appendChild(a)})()
 
12:27 AM
contextify is the source of the headache. I got it to the point of executing happy, everything is working and totally good. It's just got no next step
 
@ekaj Hehe, thanks. I was making sure because it is considered rude behavior (on MSE at least) to errupt into the chat room for the first time, and ask a question without further warning.
@ekaj I think that people on the actual site answered to my satisfaction though :) The computer is up and running and nothing exploded so far haha.
 
That's what they're here for =p
 
I guess I was too impatient, this rig was in shipping for the longest time because of holidays ^^
 
We kind of guessed with my brother's computer, turns out it worked.. we'd never dealt with a graphics card before
the papers didn't say what, and it shipped with a weird adapter and we still haven't found out what that was for, which didn't help out
 
Haha! + its new technology. All my previous one had a single 6 pin plug.
It has not broken down yet?
 
12:39 AM
No, fortunately =p
 
Well, then, the proof is in the pudding
 
We thought that was the correct way but didn't want to risk an expensive card
 
I'll let you know if anything happen. My computer is going to run 24/7 under a heavy load. Should know pretty fast.
 
!!listcommands
 
@JimmyHoffa help, listen, eval, coffee, refresh, forget, info, listcommands, tell, afk, awsm, ban, unban, color, convert, define, domain, export, findcommand, forgetseen, github, google, hang, inhistory, import, jquery, learn, test, why, ok, hello, friday, after5, theanswer, caution, nicethings, europe, goaway, status, idk, thatword, poptart, routertroubleshooting, networkingproblem, meta, rlemon, no, foxno, yes, orlmente, fixit, uio, taytaytay, ping, maybe, say, facepalm, hv, ohhh, whocares
snore, toostupid, bababababat, plz, whee, lol, sudo, beatingbloodoutofarockwithascythe, test1, ittts
 
12:51 AM
A friend in my fraternity bought his big an Xbox 4 for Christmas..
 
hm
thats it. running namebench. DNS hijacking is NOT cool
damnit starhub, I really like you, but this gets my little doggy hackles up.
 
haha =p
 
another alternative might be to run an in house recursive dns server
overkill but...
 
1:35 AM
Hey anyone still around?
 
no!
I'm not listening to the voices anymore!
 
Im trying to repair a laptop for someone
 
What's your problem?
 
and the problem is, when it boots up, it automatically goes to Windows recovery and stays there forever
 
@ekaj I think that you ever listened voices in first place is still a problem
 
1:41 AM
What does it do at Windows recovery?
@Braiam I only listen to the good ones now
 
Abby T. Miller on January 03, 2014

Another holiday season has drawn to a close. We’ve had three glorious weeks with our beloved hats. Now as we pack away the tinsel and the party horns, it’s time to put the hats back in their boxes for another year. Before we move on to 2014 with our bare heads (and our full hearts), let’s take a few moments to reminisce.

76,586 users from all over the network earned 214,172 hats this year – that’s just about twice the number of hats they earned last year. 95 sites opted to participate in Winter Bash, which is more than the total number of sites that simply existed during last year’s event. …

 
just saying it's checking the computer for problems.
 
honestly not sure. Is a reinstall an option?
 
what do you mean?
 
Formatting the computer
 
1:45 AM
the only thing left would be a system recovery, but that will delete all files right?
 
Depends on if they actually used backups
(probably not)
 
Nope :P
 
Someone may stumble along who can help, or you're welcome to post a question - I didn't see a duplicate of that but I might have missed one
 
Yeah probably will. Anyway thanks for the help mate.
 
no problem, sorry I couldn't be of more
 
Bob
2:09 AM
@DannyBeckett I remember a bunch of those, but we just ignored them.
I've run it on Win7/FF before for testing.
 
is it working for you now @Bob?
It's not responding to any commands for me

Sandbox

Where you can play with chat features (except flagging) and ch...
javascript:(function(){var a=document.createElement("script");a.src="https://raw.github.com/Zirak/SO-ChatBot/master/master.js",document.head.appendChild(a)})()
 
Bob
@DannyBeckett it won't respond to commands from the same user you're running it as
unless you comment out one of the lines in validateMessage
 
ahhh
>.<
 
Bob
designed to stop the bot from getting caught in a loop
 
Nice, thanks Bob, that explains it! Will try it again
 
Bob
2:21 AM
@DannyBeckett I prefer to run it from FF's JS scratchpad
shift+f4, paste, ctrl+r
@DannyBeckett @allquixotic parseMessage invalid is a standard return when a message was received that does not meet the conditions for bot activation - i.e. almost every message
		if ( !this.validateMessage(msgObj) ) {
			bot.log( msgObj, 'parseMessage invalid' );
			return;
		}
	validateMessage : function ( msgObj ) {
		var msg = msgObj.content.trim();

		//a bit js bot specific...make sure it isn't just !!! all round. #139
		if ( this.invocationPattern === '!!' && (/^!!!+$/).test(msg) ) {
			console.log('special skip');
			return false;
		}

		return (
			//make sure we don't process our own messages,
			msgObj.user_id !== bot.adapter.user_id &&
			//and the message begins with the invocationPattern
			msg.startsWith( this.invocationPattern ) );
	},
@DannyBeckett You'll want to comment out the msgObj.user_id !== bot.adapter.user_id && line
just stick a // in front of it, you can leave the rest as-is
 
It's ok, just registered another account
Will get the 20 rep needed
Then I'm sure it'll work fine
I just thought I'd be able to test it on my own account... this explains why not
Thanks!
 
Bob
@DannyBeckett I do test it on my own account :P
but it does make the chat timeout kick in more
 
Bob I'll get back on fixing it in node shortly. It's very close. All errors are gone, just need to force a halt at the right spot to keep it interactive
Should be able to work out the last bit tonight provided I don't just watch Sherlock instead
 
Bob
@JimmyHoffa Go and watch it; we're in no hurry :P
though on the other hand a little procrastination and we'll forget again
that's what happened last time
 
2:31 AM
It's less a matter of not hacking on it and more a matter of competing desires-- I really enjoy hacking on things like this and genuinely like javascript, it's hard to peel myself away since you gave me a tty but it's also hard to turn down watching Sherlock with my wife and our new dog which is a total couch sausage
 
hm, which season?
 
2:46 AM
Just starting, finally convinced my wife to give a try the other day and she likes it. She hates trying new British stuff because she can't understand what the people are saying because their accents often, but we struck a winner with this (and her obsession - doctor who)
Only watched the first episode so far
"which season?" what great times we live in - decade ago the question wouldn't even make sense
 
3:11 AM
ahh
lol
yeah. Its an odd series
no one but the brits would make a mini series like that
 
@Bob Thanks for that, it's working now!
Something so simple.... should be in the docs!
@allquixotic It was as simple as the bot is written not to respond to itself (i.e. 1 user)
 
 
1 hour later…
4:31 AM
@allquixotic I'm struggling to find a download link for Phantom JS 2.0 - any pointers?
trying to get it setup headless now
 
@DannyBeckett that's because it isn't released yet.
 
don't suppose you feel like throwing a copy my way?
save hacking master.js with shims
 
@DannyBeckett do you have a recent 64-bit Linux?
 
what specific distro and version are you using?
 
4:36 AM
Centos 6 I believe
will check
 
that's not going to be nearly recent enough.
all you had to say is "CentOS"
doesn't matter what version
 
mhm, 1 sec
Kernel and CPU Linux 2.6.32-042stab081.5 on x86_64
Operating system CentOS Linux 6.4
oh shit, that's not recent enough?
fair enough
ok... I'll take method #2
 
hang on
 
oops
copy paste fail
you can try that binary, but your libraries are almost guaranteed to be about 5 years too old
run ldd on it once you grab it
 
4:41 AM
ok great
trying it now
"statically linked"
is that right? @allquixotic
 
@DannyBeckett no, it's not statically linked... you probably didn't unpack the archive it came in
 
no I didn't, didn't think it was an archive... no file extension
 
run file on it
 
what is it? tar.gz?
phantomjs: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), stripped
 
it might be showing up as statically linked because it links against a newer version of glibc than you have; I know for a fact that it isn't statically linked
^ file doesn't lie
 
4:46 AM
ok so that's a no go then?
 
there are a great many things that are statically compiled into the binary -- Qt, WebKit, and such -- but it also depends on a set of core system libraries, including ICU, glibc, libstdc++, and so on, to be dynamically linked
 
sure
ok then, 1.9 it is!
 
I believe the guy who compiled it, compiled it for Ubuntu 13.04, which is a significantly newer distro
@DannyBeckett you can still do a source build, but you don't want to be looking at this repository for now, since that's the maintenance repository of phantomjs 1.9; you want to be looking at this one
 
right ok
I tried to use the compiled bin actually, earlier
 
chances are that the core library versions that the compiled binary links against are not strictly required for correct operation, so if you compiled it against CentOS's set of libraries, it'd probably work
 
4:48 AM
but it was complaining about missing libfreetype
even though it's installed
does nix have a PATH env var?
 
@DannyBeckett the version may differ
 
ah ok of course
 
@DannyBeckett yes, it does, but libraries aren't picked up from $PATH; libraries are picked up from the dynamic loader, which has a number of places it looks, and there's even a file where you can configure a list of directories where it looks
 
I'll compile it
 
@DannyBeckett that may not be necessary; if the 1.9.x binary you're trying to use requires an older version of libfreetype than you have installed, you should be able to symlink your existing library to the one it's looking for
 
4:50 AM
(I don't do a huge deal on nix boxes - just know how to do the odd thing in sh)
 
ldd is your friend; it'll tell you exactly the file name it's trying to resolve for libfreetype
then just compare that to the libfreetype you have actually installed (probably you want to be looking at /usr/lib64/libfreetype* on CentOS)
there will be multiple symlinks to the real libfreetype, supporting the major, minor, and micro versions
 
[root@srv01 bin]# chmod +x phantomjs
[root@srv01 bin]# ./phantomjs
./phantomjs: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory
[root@srv01 bin]#
 
so do ls -la /usr/lib64/libfreetype*
 
[root@srv01 bin]# ls -la /usr/lib64/libfreetype*
lrwxrwxrwx 1 root root     21 Jan  3 23:19 /usr/lib64/libfreetype.so -> libfreetype.so.6.3.22
lrwxrwxrwx 1 root root     21 Nov  2 02:12 /usr/lib64/libfreetype.so.6 -> libfreetype.so.6.3.22
-rwxr-xr-x 1 root root 642600 Jan 31  2013 /usr/lib64/libfreetype.so.6.3.22
[root@srv01 bin]#
 
now that's odd -- it's looking for libfreetype.so.6 but it's right there in your /usr/lib64
you don't happen to have downloaded the 32-bit build of phantomjs, did you?
 
4:53 AM
I don't think so
let me check
 
obviously you can't establish any manner of linkage between 32-bit binaries and 64-bit binaries in the same address space
 
fuck..... me....
it's way too late... 5am
 
there's your problem
 
>.<
ok that runs now
I hit the phantomjs prompt
 
then at least it was able to link the binary up and run it
 
4:55 AM
better :)
 
some of the commands like !!eval and !!> may fail on PhantomJS 1.9.x because of how old its WebKit is, but if you avoid using those commands, it should be able to survive an uptime of about 2 weeks per restart, depending on how heavily it gets hammered with commands
 
so I've installed the Java SDK... do I also need the devel package?
 
PhantomJS 2.0 tech preview or non-headless Firefox are both much more stable than PhantomJS 1.9.x
@DannyBeckett well I don't ship the binaries for my software in the git repo, so you will need the javac compiler and the jar tool, which would come with an OpenJDK devel package, yes
 
ok good to know!
 
OpenJDK 6.x should be fine, I am pretty sure I don't require Java 7 features
 
4:56 AM
thought so
ah well, the server's never been plagued with Java before
might as well plague it with a newer version ;)
 
actually, just install ant and, given a proper OpenJDK stuff on the PATH (that being, javac, jar and java), you can just check out the sources of so-chatbot-driver, cd into the directory, and run ant
 
ok, that's JDK-devel also installed
 
I don't think I have any exotic dependencies besides ant and the JDK -- I actually ship binaries of all the third-party dependencies that it depends on, so I saved you that pain
 
ant is installing now
thanks for all your help btw
 
ant is basically make for Java
 
4:59 AM
ah ok
 
it's just going to run the default build command in build.xml, which should produce a jar file
hmm, looks like I specified Java 1.7 in the build.xml
 

« first day (1247 days earlier)      last day (3763 days later) »