« first day (4 days earlier)      last day (203 days later) » 

12:00 AM
It's a jQuery bug
Can't fix it, but I've patched it
Oh my....
I'm so stupid!!!
@SirPython Try now
Oh wait.
I have to install the new script.
How did you fix it?
Can I swear in this room?
I won't tell anyone.
12:07 AM
I sent a jQuery version over email
And I opened it on Outlook.com
(I will hide it in 5)
Outlook.com puked on my code and destructured and ruined it
I ran in a Javascript formatter that chewed up the text
And ruined the rest of the whitespace
That's what happened
@SirPython @Malachi Check the new version: github.com/ismael-miguel/memer/blob/master/memer.next.js
1:17 AM
@SirPython @Malachi Sorry to bother again. Here's the latest version: github.com/ismael-miguel/memer/blob/master/memer.next.js
1:34 AM
The guys on Nineteenth Byte helped with that
2 hours later…
3:52 AM
@IsmaelMiguel, You should actually some userscript content into the .user.js file rather than having a userscript that actually doesn't work
4 hours later…
8:07 AM
@Quill Greetings. You should use the latest one, the memer.next.js, which doesn't have the user-script stuff yet. But it is actually really advanced by now.
8:50 AM
@IsmaelMiguel, a chat plugin I have causes your script to not work.
I've already implemented a workaround into my local copy of memer.next.js, but, yeah
What problems does it cause?
The site name doesn't get fetched
Because it prepends an image to the id you check from
 var SITE = $('#footer-logo img')[0].src.match(/static.net\/([^\/]+)\//)[1];
Can you provide the HTML in that area, after running your chat plugin?
8:52 AM
That line
I need the HTML that your plugin generates there, so I can adjust the selector
<img src="chrome-extension://genlcflidccakbiodbnmjnflfnbkmeip/icon_white.png" alt="Porkchat">
<img style="max-width:150px" src="//cdn.sstatic.net/codereview/img/logo.png?v=c6" alt="Code Review">
$('#footer-logo img[src*="logo.png"]')[0].src.match(/static.net\/([^\/]+)\//)[1];
I changed the SITE variable into the following:
Try running that
8:55 AM
 var SITE = $('head')[0].children[1].href.match(/static.net\/([^\/]+)\//)[1];
Instead of $('head')[0], you can use document.head, I think
$('head link[rel="shortcut icon"]')[0].href.match(/static.net\/([^\/]+)\//)[1];
There, the fixed selector
Yep, that's good
I will put it on the file
@Quill Done
Can you explain this to me?
;(function (window, undefined){
})(Function('return this')());
9:10 AM
That wraps the whole thing in an anonymous function
Why those 2 variables?
Well, we might need window and undefined, and those can be changed
Also, we don't want to polute the already-poluted window object
Main points:
1- Improves performance, since all variables are local
2- Encapsulates your code, avoiding it to be messed from outside
3- Avoids accidental destruction
4- Provides you with the real window object and the real undefined value
Function('return this')() returns the window object, the real one
It protects against var window={};
Since we only pass 1 variable, it will have the variable undefined with an undefined value
The real undefined
Ah, I see
Thanks for the explanation
I tried to implement a userscript header, and it worked fine
but jQuery was considered undefined
// ==UserScript==
// @name Memer
// @description Translates memes to hover overs and links
// @version 0.1
// @match chat.stackexchange.com/rooms/8595/the-2nd-monitor
// @match chat.stackexchange.com/rooms/25699/javascript-libraries
// @match chat.stackexchange.com/rooms/25394/the-nth-monitor
// @authors
//		-- Ismael Miguel
//		-- Malachi26
// @run-at document-end
// ==/UserScript==
Maybe you need a @require <zepto path>
(Yes, use zepto for this due to the tiny size. We lose in performance)
Hmm, probably
9:27 AM
Try it
If you want, just use jQuery cnd
Does the @match accept a regular expression?
10:19 AM
I wouldn't know, but google might
You can safelly change @match http://chat.stackexchange.com/rooms/8595/the-2nd-monitor into @match http://chat.stackexchange.com/rooms/*
Yeah, it's not regex, but a wildcard
11:04 AM
Why is it location.hostname != 'chat.stackexchange.com'? Shouldn't it be == instead of !=
and, now it works
Because I changed it and my dilexya kicked in and crapped it
 // @grant none
The github is updated as well
Privileges or something
What for?
11:07 AM
Not sure, actually, but tampermonkey had an orange exclamation mark that went away when I added it
@grant, @namespace should be added also
@namespace is a url
@icon can be added if you like
Well, we don't have an icon so far
This link should bring you to the installer, then
What do you mean?
Opening the raw JS file in chrome brings you to the tampermonkey installer page, if you have tampermonkey installed
11:13 AM
Raw JS userscript files can be installed by visiting their raw link
That's part of tampermonkey / greasemonkey
I had no idea
That's freaking cool
I think you should add some universal meme support
Like: Ponies / Unicorns, Needs more jQuery, Jon Skeet
Friday, apparently is universal also
Q: The Many Memes of Meta

TheTXICatchphrases and concepts that spread from person to person are known as memes, which, courtesy the Internet, can now explode across the Earth like a highly contagious virus (hence "going viral"). As with their real-life counterparts, some infectious diseases are global (pandemic), while others a...

Nearly all of those are universal memes
11:33 AM
I have that predicted.
1 hour later…
12:45 PM
Q: Memes of travel.se

BlueBerry - vignesh4303There are memes common to whole Stack Exchange and this one inspired me to ask here . I therefore propose that this space be used to document the memes endemic to travel.se's culture. One meme per answer please.

Q: The Memes of Arqade and its Chat

Nick T In the style of The Many Memes of Meta Catchphrases and concepts that spread from person to person are known as memes, which, courtesy the internet, can now explode across the earth like a highly contagious virus (hence "going viral"). As with their IRL counterparts, some infectious disease...

Q: The Memes of Information Security

Andrey BotalovThere are memes common to whole Stack Exchange. But after spending some time in The DMZ it becomes evident that Information Security has it's own memes (e.g. rory). I therefore propose that this space be used to document the memes endemic to Information Security's culture. One meme per answer p...

Q: The many memes of scifi.stackexchange

DavRob60Just like our mother site we need a repository of our Memes : It has become a more frequent occurrence where new users will be confronted by an engrained meme and be left sitting there scratching their heads. I therefore propose that this space be used to document the lighter sides of S[OFU]'...

Q: Memes of English Language & Usage

ermanenInspired by The Many Memes of Meta on meta.stackexchange. Catchphrases and concepts that spread from person to person are known as memes, which, courtesy the Internet, can now explode across the Earth like a highly contagious virus (hence "going viral"). As with their real-life counterparts, ...

@IsmaelMiguel, can you add me as a collaborator, so I can do some .json additions?
1:02 PM
@Quill Sure, give me a second
@Quill Done
1:19 PM
@Quill I think that Friday means different things on different sites
@Malachi I thought the friday video was a meme somewhat universally
sorry I was not available last night. I was sort of busy doing home stuff
Don't worry
@Quill Can you add the swag meme on _common.json?
how can I update my fork?
I have no idea
I think there's a button somewhere to update it
1:22 PM
I can't seem to find it
When I work on SirPython's bot, I issue a pull request
I have no idea how to do it "the propert way"
I issued a pull request. I think you have to okay it or something
1:41 PM
I can do it all by myself
I wonder if we can do the chrome extensions with more than one manifest file? could be a wild goose chase
We already did the userscripts instead
2:05 PM
@Quill We can do both, it doesn't take much
@Malachi Never did one, but, you can try.
But why 2?
if you did more than one manifest file it would be more than one extension. I was thinking that the manifest files are json files and that we could include the url and the memes in the same file.
@Malachi I have the memes in different places.
It's way easier
The memes are always fetched from the network
2:23 PM
I eat 1kg in 15 minutes
Hey Ismael. I have proven that for the way you want isn't that different after all
@BrunoCosta Huh?
@IsmaelMiguel, did you add me as a collaborator, I should be able to make pull requests and branches, but I can't seem to
You are in the list
2:31 PM
There's nothing like a curry!
I've copied your username from your profile here
@IsmaelMiguel I saw that. I like that a lot. I haven't tried to create an extension with it yet though.
@BrunoCosta That jperf is biased. All variables are global.
@Malachi Try creating the extension using the .next file
For some values of X
The Mission
Those are missing :/
2:33 PM
Don't mind me
Reload won't work because it is inside HTML
I think
@IsmaelMiguel can't see how jperf is biased, really... What does matter if variables are local of global they are in memory of registeres nontheles...
@Quill Doesn't work on Firefox
Ah, okay
2:35 PM
@BrunoCosta Different levels of polution in the global object (a.k.a. window) will give different results
@IsmaelMiguel it doesn't work here.....
@Malachi What's the error?
hold on let me open the dev window
I tried with IE, Chrome and Firefox and it always worked
The network handling need some fine tunning
Is there any1 supporting any of us... <,<
2:37 PM
says that StackExchange is not defined
there is also something with the $ is not a function
let me make sure I did the thing right
Are you sure your internet is alright?
6 to 8 weeks
@IsmaelMiguel, escaped " characters stop the rest of the content in the "title"
Jon Skeet
Needs more jQuery
this is what I used
@Malachi Where and what line?
sorry I haven't had a full cup of coffee yet.
@Quill Accepted
@Malachi, I have those issues also, but they aren't part of Memer, they're part of other scripts on ym page
You may need to fill in "Ponies" though, I couldn't think of what to write there
it's not working
How are you running it, @Malachi?
2:46 PM
@Malachi Can you provide a print-screen with the error?
just those two errors....
The first isn't my fault
I must not be doing something right
2:48 PM
What did you do?
@Malachi The first one is an issue solved by running it as a userscript not a local file
dragged the file into my extensions
Did you loaded it as an uncompressed extension?
@Quill I saved it as a user.js and dragged it into chrome extensions page
Do you have tampermonkey / greasemonkey installed?
2:50 PM
shouldn't need it, my old script works doing it the same way.
Something is going bad, and I don't know what
That one doesn't, you've either gotta copy paste it into the console
or userscript it
jQuery is the problem
@Malachi Define "old script"
jQuery-less version?
If you build the jQuery first, and return it as a <script> element to the head of the page, you can get that working
2:52 PM
@Malachi That one is REALLY old
that one works.
I know, all the way from yesterday
It doesn't have jQuery
I gotta get some work done, I will be back in a bit
I just sent through another pull request, @IsmaelMiguel
@Malachi Take your time
2:58 PM
@Malachi, click here and click re-install on greasemonkey / tampermonkey and it should work, otherwise update your code to the latest version on @IsmaelMiguel's repo
37 messages moved from The 2nd Monitor
@Quill gave me some error about not letting extensions do there thing
@Malachi screenshot, if you can?
@Malachi Why did you invite me?
I'll have no part of this JavaScript
3:11 PM
cuz I must have moved one of your messages as well
@Malachi You did
@Mast @nhgrif must have moved your message here, and then I moved it away again....lol
2 hours later…
5:21 PM
@Malachi Hello, @malachi.
it won't let me enable the userscript on chrome. Chrome disabled it
You can enable it at chrome://extentions
it won't let me
May you share a screen shot?
5:32 PM
nothing out of the ordinary except it won't let me enable the user script
You can't click the Enable checkbox?
no, not for that one
Have you tried looking at Details or Learn more? I think Chrome won't let you enable it because it's not from the store. Therefore, Chrome thinks that is some sort of malware.
I was able to do it at work like an hour ago
1 hour later…
7:01 PM
I'll look into that with more care, when I arrive home.
3 hours later…
9:59 PM
I am not very good at Javascript. I am sure the problem I have is super simple
I will bore you all with it tomorrow, maybe.
I have a chrome extention
Ready to be used
Just can't upload to github because their website has no upload button anywhere
10:54 PM
Extention available for download there
11:20 PM
I was just testing the extention
It's working so far, on Google Chrome
I just woke, I get to use it :P
Do you need a link?
do I use root/memer.next.user.js or root/chrome/memer.user.js
11:22 PM
Chrome or firefox?
root being your repo
Is there a difference between them?
But I have to keep them like that, since github doesn't support links
Github doesn't support links?
What do you mean?
11:23 PM
Not in a filesystem
A *nix file link
You can click the raw button, and get the raw url
The 'raw' url is the one you have to save to have the crx
I prefer userscripts, tampermonkey lets you edit them if you need to
Then you drag it into the extentions page
Then you can use the userscript file
Which works a little better
With the extention, I can't access to the function popUp(), which creates the nice popups


Where you can play with chat features (except flagging) and ch...
11:28 PM
It won't work there
Because it fails to get the json file
Even the _common.json?
Yup, because of bad network management
11:46 PM
@Quill Complete network rewrite incoming
@IsmaelMiguel Alright, sure, I was going to make a pull, but my network has blocked https access to github -_-
:/ that's stupid :/
Just a monking to check functionality
monking matched, gonna pull it
I think, add the word fake before any test messages
Does that match for you?
That matches, but the double line doesn't
It matched the 2nd
It seems not to match multiline
11:55 PM
It doesn't
For now
Ah, okay
Maybe we ought to open some issues on GitHub
The new extention and userscript are available now

« first day (4 days earlier)      last day (203 days later) »