« first day (617 days earlier)      last day (3362 days later) » 

12:54 AM
Link test: foo
Another: foo
hrmmmm okay
1:08 AM
!!/alive?
@Undo Of course
test
1:53 AM
[ SmokeDetector ] All-caps title: WITH CHECK ADD CONSTRAINT & CHECK CONSTRAINT by Michael on stackoverflow.com
2:13 AM
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理英属哥伦比亚大学毕业证成绩单教育部学历认证 by jhjyfyg65 on superuser.com
2:24 AM
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理渥太华大学毕业证成绩单以及教育部学历认证 by jhjyfyg65 on superuser.com
2:41 AM
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理多伦多大学毕业证成绩单以及教育部学历认证 by jhjyfyg65 on superuser.com
2:56 AM
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理西蒙菲莎大学毕业证成绩单以及教育部学历认证 by dfgjosp54 on superuser.com
3:18 AM
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理滑铁卢大学毕业证成绩单以及教育部学历认证 by fgjdfgd22 on superuser.com
3:38 AM
[ SmokeDetector ] All-caps title: SANYAASA&VAANPRASTHA by Sitaram Dubey on hinduism.stackexchange.com
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理蒙特利尔大学毕业证成绩单以及教育部学历认证 by jdfnvdf34 on superuser.com
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理蒙特利尔大学毕业证成绩单以及教育部学历认证 by jdfnvdf34 on superuser.com
[ SmokeDetector ] SmokeDetector started in reverted mode at rev daa612f (Normal Human: +derma on most sites --autopull*) (running onUndo's EC2)
!!/errorlogs 50
  File "/Users/parkererway/Stack Exchange/SmokeDetector/ChatExchange/chatexchange/browser.py", line 234, in _update_chat_fkey_and_user
    self._load_user(favorite_soup)

  File "/Users/parkererway/Stack Exchange/SmokeDetector/ChatExchange/chatexchange/browser.py", line 217, in _load_user
    user_id, user_name = self.user_id_and_name_from_link(user_link_soup)

  File "/Users/parkererway/Stack Exchange/SmokeDetector/ChatExchange/chatexchange/browser.py", line 225, in user_id_and_name_from_link
    user_id = int(link_soup['href'].split('/')[2])
  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 246, in join_room
    'msgCount': 100

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 124, in post_fkeyed
    data['fkey'] = self.chat_fkey

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/_utils.py", line 78, in __get__
    method()

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 234, in _update_chat_fkey_and_user
    self._load_user(favorite_soup)
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理汤姆逊大学毕业证成绩单以及教育部学历认证 by dfgdgdb26 on superuser.com
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理汤姆逊大学毕业证成绩单以及教育部学历认证 by dfgdgdb26 on superuser.com
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理道格拉斯学院毕业证成绩单以及教育部学历认证 by dkljgld20 on superuser.com
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理道格拉斯学院毕业证成绩单以及教育部学历认证 by dkljgld20 on superuser.com
[ SmokeDetector ] All-caps title, phone number detected in title: Q/微信2516986537办理爱德华王子岛大学毕业证成绩单教育部学历认证 by vbhfdgb10 on superuser.com
4:28 AM
[ SmokeDetector ] Bad keyword in title: Do you take supplements like protein when you train in Martial Arts? by Steven on martialarts.stackexchange.com
[ SmokeDetector ] Bad keyword in body, bad keyword in title: Fast, Easy And Normal Skin Care Treatments by conni neill on superuser.com
[ SmokeDetector ] Bad keyword in body, bad keyword in title: Skin Care Review advice about anti-wrinkle products by Erik D Pena on superuser.com
4:56 AM
[ SmokeDetector ] Bad keyword in body: how can i avoid brace and bracket in Json? by Nikitha on salesforce.stackexchange.com
[ SmokeDetector ] Manually reported question: Makeme for Phil I don't know if you by bilz gangkd on superuser.com
[ SmokeDetector ] Manually reported question: did you ever hear of Sonic Runners Hack? by Luis Martinez on drupal.stackexchange.com
CI build passed on Circle. Commit message contains 'autopull', pulling...
[ SmokeDetector ] SmokeDetector started at rev 4e09842 (Normal Human: +erecteentry +fairharvardfund --autopull) (running on Undo's EC2)
[ SmokeDetector ] Bad keyword in title: SAP BO Online Training by sasi on stackoverflow.com
[ SmokeDetector ] Bad keyword in body: my furrow lines beside fine lines overall? by jillarouthy on drupal.stackexchange.com
[ SmokeDetector ] Manually reported answer: User Interface (website) sound design by conndelray on sound.stackexchange.com
CI build failed, someone (prolly Undo) borked something!
[ SmokeDetector ] Bad keyword in body: Works naturally in improving your brain working by anthcow clark on drupal.stackexchange.com
[ SmokeDetector ] Bad keyword in body: Does have any section final result? by user300145 on meta.stackexchange.com
[ SmokeDetector ] All-caps title, phone number detected in title: ★大洋敎育Q 2516986537 毕证业+成单绩+学认历证【100%存档可查】 by vvvvaaac43 on superuser.com
CI build passed on Circle. Commit message contains 'autopull', pulling...
[ SmokeDetector ] SmokeDetector started at rev 6184577 (Normal Human: oops, missing quote --autopull) (running on Undo's EC2)
5:58 AM
:P
6:11 AM
[ SmokeDetector ] Manually reported question: Why the BIO X4 is effective to use? by griffieaudra on superuser.com
[ SmokeDetector ] Manually reported answer: Automation by veera on stackoverflow.com
[ SmokeDetector ] Blacklisted user: Automated debugging tools by veera on stackoverflow.com
[ SmokeDetector ] Manually reported question: Xbox Games For Online Gaming That Mom And Dad Should Be Aware Of About by caseytparr on unix.stackexchange.com
[ SmokeDetector ] Offensive body detected: I learned Ruby. What now? No, seriously by Ryzokuken on stackoverflow.com
[ SmokeDetector ] Manually reported question: Will expressed its car actor no matter by elenora camden on unix.stackexchange.com
[ SmokeDetector ] Blacklisted user: Database-driven website with (almost) no programming by veera on stackoverflow.com
[ SmokeDetector ] Manually reported question: Will expressed its car actor no matter by elenora camden on unix.stackexchange.com
6:28 AM
!!/test singlerank.com and sayeureqa.com
> Body: not blacklisted ;
Title: not blacklisted
CI build passed on Circle. Commit message contains 'autopull', pulling...
[ SmokeDetector ] SmokeDetector started at rev 82fbb35 (Normal Human: +singlerank +sayeureq --autopull) (running on Undo's EC2)
[ SmokeDetector ] Manually reported question: Advanced Project Management Program by Christy Mclure on askubuntu.com
[ SmokeDetector ] Bad keyword in title: to tell apart Joint Pain from muscle pain by mayon troy on superuser.com
[ SmokeDetector ] Blacklisted website in answer: Which business web site creator do I utilize? by Ucivy on stackoverflow.com
[ SmokeDetector ] Manually reported question: Which business web site creator do I utilize? by Fupre on stackoverflow.com
[ SmokeDetector ] Bad keyword in body, link at end of body: this is especially important by teen bajay on meta.stackexchange.com
7:17 AM
CI build passed on Circle. Commit message contains 'autopull', pulling...
[ SmokeDetector ] SmokeDetector started at rev 852845b (Normal Human: file|photo recovery --autopull) (running on Undo's EC2)
[ SmokeDetector ] Blacklisted website in answer: Online resources for German verbs classes: strong, weak, mixed. by Ravinder Singh on german.stackexchange.com
[ SmokeDetector ] Email in body: Copy an order to create a new order by potassium on magento.stackexchange.com
[ SmokeDetector ] Manually reported question: r 97 to the following is not true by Lilian Moorhouse on drupal.stackexchange.com
7:54 AM
[ SmokeDetector ] Manually reported question: My Software Helps You Were You Need by Aliza Ally on drupal.stackexchange.com
8:08 AM
[ SmokeDetector ] All-caps title: CAN'T START PLEASE HELP by ADITYA on meta.stackexchange.com
8:20 AM
CI build passed on Circle. Ready to pull!
CI build passed on Travis. Ready to pull!
!!/pull
[ SmokeDetector ] SmokeDetector started at rev 11bb5a3 (ProgramFOX: !!/test for usernames) (running on Undo's EC2)
!!/test baba ji
> Body: blacklisted - Bad keyword in body
Title: blacklisted - Bad keyword in title
Username: blacklisted - Bad keyword in username
Recovered from ValueError: No JSON object could be decoded
Recovered from ValueError: No JSON object could be decoded
[ SmokeDetector ] Repeating characters in answer: How to share semaphores between processes using shared memory by user5159739 on stackoverflow.com
8:52 AM
[ SmokeDetector ] All-caps title: MAKING A FIELD READ ONLY IN MS CRM 2013 by lissan eddine on stackoverflow.com
9:28 AM
[ SmokeDetector ] Bad keyword in title: are you looking for informatica online training? by rama on stackoverflow.com
[ SmokeDetector ] Email in body: google help for gaining access to e-mail sucks by David Eckler on ux.stackexchange.com
[ SmokeDetector ] Manually reported question: A good way to achieve a well rounded workout is by kingfu mike on meta.stackexchange.com
[ SmokeDetector ] Bad keyword in body, link at end of body: Everyone needs to be prepared by foree khan on meta.stackexchange.com
9:50 AM
[ SmokeDetector ] Bad keyword in body: Frequently remind my patients that all by sndra mhkl on superuser.com
10:05 AM
[ SmokeDetector ] Bad keyword in body: What are the requirements? by Shrikant on unix.stackexchange.com
10:33 AM
[ SmokeDetector ] Bad keyword in body: Extraordinary man a taxing day here to sit by Wan Negley on stackoverflow.com
[ SmokeDetector ] Bad keyword in body: What are the active ingredients of Cocoa Burn? by Audra Griffie on drupal.stackexchange.com
[ SmokeDetector ] All-caps title: CHECKBOX FOR EXCEL VBS by Mohammed Salman Ansari on stackoverflow.com
11:09 AM
[ SmokeDetector ] Bad keyword in answer: Cube moving through rigidbody by donald walker on stackoverflow.com
[ SmokeDetector ] Email in answer: Is there a way to use variables in SoapUI? by Letstestthisfast on sqa.stackexchange.com
[ SmokeDetector ] Bad keyword in body: SAA7130 based hdmi video capture linux by Federico Allegretti on askubuntu.com
[ SmokeDetector ] Bad keyword in body: My skin ne’er showed any of the negative by jagejgbe on mathoverflow.net
[ SmokeDetector ] Repeating characters in body: Partial view in windows phone MVVM Light by said srhir on stackoverflow.com
11:43 AM
[ SmokeDetector ] Bad keyword in body, url in title: http://naturalsmaleenhancement.com/kingsize/ by Arlenetinz william on drupal.stackexchange.com
[ SmokeDetector ] All-caps title: HOW TO INFLATE CUSTOM VIEWPAGETR by Sumit Bahadur on stackoverflow.com
@ProgramFOX When smokey reports things like "bad keyword in body", it is often not obvious what his problem is. Would it be possible to somehow display the keyword it's talking about?
It's possible to do that, yes.
I mean, okay, if somebody used very bad swearing, it's probably not good to reproduce this in chat, but you could maybe group all swear keywords and display "SWEARING" for them while others are shown directly.
It's one of the feature requests that I should finally start working on xD
Ah, okay.
Cool.
I'm going to look at the repo when I've time.
My chess tournament starts.
11:54 AM
Python regexes have a way to display what's caught.
I'm playing chess now too, will work on it after chess.
12:45 PM
[ SmokeDetector ] Offensive answer detected: Bluestack - Can't login to game as keyboard doesn't show by yodawg on android.stackexchange.com
[ SmokeDetector ] Email in answer: Is there a way to use variables in SoapUI? by Letstestthisfast on sqa.stackexchange.com
[ SmokeDetector ] Email in answer: Is there a way to use variables in SoapUI? by Azmi YÜKSEL on sqa.stackexchange.com
1:27 PM
[ SmokeDetector ] Bad keyword in body: SAA7130 based hdmi video capture linux by Federico Allegretti on askubuntu.com
1:40 PM
[ SmokeDetector ] Offensive answer detected: Seer Medal after 2014 by eattea on gaming.stackexchange.com
[ SmokeDetector ] Offensive answer detected: Seer Medal after 2014 by eattea on gaming.stackexchange.com
1:51 PM
[ SmokeDetector ] All-caps title: GAMS AND C++ CONNECTION by arke on scicomp.stackexchange.com
2:17 PM
CI build passed on Circle. Ready to pull!
!!/pull
[ SmokeDetector ] SmokeDetector started at rev 5d32c23 (Undo1: update ChatExchange) (running on Undo's EC2)
CI build failed, someone (prolly Undo) borked something!
@SmokeDetector Yes, Flake, I'm fixing the styling... :P
CI build failed, someone (prolly Undo) borked something!
Uhh... oops, test failures
2:26 PM
CI build passed on Circle. Ready to pull!
good
!!/pull
CI build passed on Circle. Ready to pull!
[ SmokeDetector ] SmokeDetector started at rev 796572f (ProgramFOX: Resolve test failures) (running on Undo's EC2)
[ SmokeDetector ] SmokeDetector started in reverted mode at rev d481ece (ProgramFOX: Fix Flake8 error) (running onUndo's EC2)
uh oh :P
Reverted already? Ugh.
!!/errorlogs 100
2:27 PM
  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/client.py", line 258, in _join_room
    self._br.join_room(room_id)

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 246, in join_room
    'msgCount': 100

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 124, in post_fkeyed
    data['fkey'] = self.chat_fkey

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/_utils.py", line 78, in __get__
    method()

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 234, in _update_chat_fkey_and
Oh...
Good thing the reverter works. xD
The new feature is still untested, I've got to wait for a caught post to test it...
CI build passed on Circle. Ready to pull!
!!/pull
[ SmokeDetector ] SmokeDetector started at rev 5c60e63 (ProgramFOX: Fix ValueError) (running on Undo's EC2)
Throw a regex in there to catch "the" or something on SO :P
2:30 PM
inb4 flood :P
!!/test baba ji
> Bad keyword in body, bad keyword in title, bad keyword in username
----------
Title - Position 1-8: baba ji
Username - Position 1-8: baba ji
Body - Position 1-8: baba ji
Title - Position 1-5: baba
Body - Position 1-5: baba
^ well, that works so far
!!/alive?
@ProgramFOX Of course
@SmokeDetector oooooooh
Now it should be possible to run why on recent reports to get the same data...
Famous last words.
2:31 PM
if it doesn't work it'll be my fault somehow
probably because I'll go reboot the server for updates or something :P
hehe :P
I should go send emails to the spammers asking for test material to be posted.
Call baba. What was his number again?
@ProgramFOX no idea
That guy has too many phones.
!!/alive?
2:39 PM
@ProgramFOX Of course
Uh.
oh, that came late
!!/status
@ProgramFOX Running since 14:29:55 UTC (10 minutes)
@Undo Want to check server status? Smokey's slow responding. 100% CPU?
1.3%
Top of the list is htop :P
Oh, okay.
2:41 PM
!!/alive?
@Undo Of course
Probably a hiccup in the chat connection
!!/status
@ProgramFOX ^ !
2:48 PM
Yes!
@SmokeDetector why
@ProgramFOX Title - Position 1-2: 사
ooooh
It's probably the first time I say "yes" to a spam post...
in Tavern on the Meta on Meta Stack Exchange Chat, 15 secs ago, by ProgramFOX
SmokeDetector note: you can now run why on a report to get information of the location of the caught word.
cc @hichris123 @NormalHuman @Andy @ByteCommander ^
!!/errorlogs 20
2015-07-27 14:49:28.406194 UTC
  File "/home/smokey/SmokeDetector/excepthook.py", line 46, in run_with_except_hook
    run_old(*args, **kw)

  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/browser.py", line 696, in _runner
    self.on_activity(json.loads(a))

  File "/home/smokey/SmokeDetector/ChatExchange/chatexchange/rooms.py", line 81, in on_activity
    event_callback(event, self._client)
CI build passed on Circle. Ready to pull!
2:52 PM
!!/pull
[ SmokeDetector ] SmokeDetector started at rev 838b209 (ProgramFOX: 'why': add None check) (running on Undo's EC2)
@SmokeDetector why
@ProgramFOX That's not a report.
3:03 PM
@ProgramFOX Oh, cool! That was a fast feature.
Uni should take you as an example...
Can anybody run it everywhere or only in the HQ or only priv users?
Everyone can run it, only in the HQ and in Tavern on the Meta.
In other rooms it doesn't listen to commands.
Aww...
Another room I have to keep in my pinned tabs...
It's getting pretty crowded in the tab line.
You haven't seen how many rooms I have open by default yet :P
3:09 PM
Half of my screen width is now full with pinned tabs.
And that means half of 1600px.
Half? O.o
Ok, not all of them are rooms.
I've 11 rooms open right now.
My pinned tabs are pretty wide though.
I can't get them smaller due to TabMixPlus.
My tabs are now even smaller than your pinned tabs...
3:12 PM
If I just knew how I could shrink them....
It would look much tidier.
I've an extension for that. Not sure if it works for pinned tabs, though.
You have a name or link?
Looking into it, thanks.
Nope, only normal tabs.
3:17 PM
I can do that with TabMixPlus or about:config too.
Then they will stay at 1.5x width...
3:28 PM
!!/status
@ProgramFOX Running since 14:52:56 UTC (35 minutes)
@ProgramFOX You could maybe add a link to this room to the posts? Maybe instead of the github link (as you can find that one in the description of the Charcoal HQ)?
@ByteCommander I believe it might be better to link here in the description of the GitHub repo.
And that's done now.
Recovered from ValueError: need more than 2 values to unpack
uh oh
Why does that happen just now?
!!/errorlogs 40
3:33 PM
ValueError: too many values to unpack


2015-07-27 14:26:57.056577 UTC
ValueError: too many values to unpack
Traceback (most recent call last):
  File "ws.py", line 124, in <module>
    is_spam, reason = check_if_spam_json(a)
ValueError: too many values to unpack


TypeError: 'NoneType' object is not iterable
2015-07-27 14:49:28.406194 UTC
  File "/home/smokey/SmokeDetector/excepthook.py", line 46, in run_with_except_hook
    run_old(*args, **kw)

  File "/usr/lib/python2.7/threading.py", line 763, in run
Hmm...
Ah, I found it.
CI build passed on Circle. Ready to pull!
!!/pull
[ SmokeDetector ] SmokeDetector started at rev 2d911c9 (ProgramFOX: Avoid another ValueError) (running on Undo's EC2)
3:50 PM
[ SmokeDetector ] Repeating characters in answer: How can I check if a value is of type Integer? by MAMA on stackoverflow.com
@SmokeDetector why
@ProgramFOX There is no why data for that post (anymore).
As expected, because the repeating-char detector is not a regex.
!!/status
@ProgramFOX Running since 15:40:38 UTC (11 minutes)
4:04 PM
[ SmokeDetector ] Bad keyword in username: Old Xen Installation Unable to be Formatted by musclez on unix.stackexchange.com
CI build passed on Circle. Ready to pull!
!!/pull
(Earlier, I moved muscle out of word boundaries, thinking of detecting spam domains... but that rule doesn't apply to bodies anyway. Put back now).
!!/status
@NormalHuman Running since 16:14:58 UTC (1 minute)
Okay. There was no "started" message...
4:22 PM
[ SmokeDetector ] Bad keyword in body: nginx map a url to friendly name by Dementony on stackoverflow.com
@SmokeDetector why
@ProgramFOX Body - Position 492-502: fitness.co
I don't see it...
@NormalHuman probably ninja edited
[ SmokeDetector ] All-caps title: HOW TO MAKE DYNAMIC DROPDOWN LIST YII by marry on stackoverflow.com
4:35 PM
@SmokeDetector why
@ProgramFOX Title - Position 1-38: HOW TO MAKE DYNAMIC DROPDOWN LIST YII
That was clear, but I'm just testing :P
4:46 PM
1-based position index is confusing...
I'm thinking "is the 0th not included for some reason"?
Kidding, mostly. I'm sure other users would find 0-based confusing.
Yeah, that's why I didn't do 0-based indices.
5:00 PM
[ SmokeDetector ] Email in answer: Role of a technical project manager? by Tripti on pm.stackexchange.com
@SmokeDetector why
@NormalHuman Body - Position 692-713: [email protected]
What's the privilege level of why command? (it's not in the wiki yet)
Ideally, a user invoking why would be able to also invoke delete (given the kind of things the command can bring to the chat).
I see, it's public.
Maybe this won't be a problem.
5:17 PM
@NormalHuman I'll go and add it.
I don't see a reason why it shouldn't be public.
Sure, there can be offensive words, but there are enough people to delete it.
Undo's most recent use of command in the Tavern is a possible reason.. he was able to give "delete" after.
Okay, that makes sense.
Smokey posts alerts in a few other rooms too, where it doesn't listen. If those people drop by here to run "why", we should not let them wait to get the privileges.
!!/test This is a test.
> Would not be caught for title, body and username.
5:44 PM
[ SmokeDetector ] Bad keyword in body: Finding common words in an array by 3zzy on stackoverflow.com
[ SmokeDetector ] Bad keyword in body: Show notification on both iWatch and iPhone by Arsalan Khalid on stackoverflow.com
6:12 PM
[ SmokeDetector ] Blacklisted website in body: Prediction of required workflow? by Yann Petretti on wordpress.stackexchange.com
6:22 PM
CI build failed, someone (prolly Undo) borked something!
@Undo, what'd you do? :P
I think my mistake was letting someone put Flake in the CI thing :P
@Doorknob Left a horrible trailing whitespace that will destroy us all.
In two lines, no less.
Except it was me, not Undo.
CI build passed on Circle. Ready to pull!
CI build passed on Circle. Ready to pull!
!!/pull
6:34 PM
[ SmokeDetector ] SmokeDetector started at rev c5e3da4 (Normal Human: flake appeasement) (running on Undo's EC2)
7:13 PM
[ SmokeDetector ] All-caps title: AGRUPAR E DEPOIS SOMAR SQL by Alisson Menezes on pt.stackoverflow.com
 
1 hour later…
8:28 PM
[ SmokeDetector ] Offensive answer detected: Is "caught you unawares" correct? by BILLYBOBMCGEE on english.stackexchange.com
8:58 PM
[ SmokeDetector ] URL in title: Tomcat solution on weakdh.org has typos? by JerryM on serverfault.com
test meh
@SmokeDetector fp-
 
1 hour later…
10:33 PM
[ SmokeDetector ] Pattern-matching website in body: Blocking referral spam traffic in asp.net without modifying the web.config by frenchie on stackoverflow.com
[ SmokeDetector ] Email in body: Gameszoo question by CherylEm on cstheory.stackexchange.com
11:12 PM
[ SmokeDetector ] All-caps title: JAXB, REST API, HIBERNATE by Zakaria Jaadi on stackoverflow.com
11:30 PM
[ SmokeDetector ] Bad keyword in username: Hibernate: Strange ID Setup by Harry Muscle on stackoverflow.com

« first day (617 days earlier)      last day (3362 days later) »