Open Side Menu Go to the Top

04-29-2015 , 11:00 PM
Quote:
Originally Posted by Anais
http://tech.slashdot.org/story/15/04...nation-lawsuit

I know it's Google, but I don't think it's all that different around the area.
From what I hear, Google is a lot less ageist than most tech companies in the area.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
04-29-2015 , 11:24 PM
Quote:
Originally Posted by jjshabado
A data pipeline that runs in production!

I was going to write up a more detailed response but I'm stuck on my phone and frankly it seems like it'll be frustrating to have to defend it with little value to myself.
it wasn't an attack

i just don't know and was curious what you meant by it in that context. i mean, `echo "hi" | grep "h"` is a data pipeline but i assume not the kind you mean.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:52 AM
Quote:
Originally Posted by Anais
http://tech.slashdot.org/story/15/04...nation-lawsuit

I know it's Google, but I don't think it's all that different around the area.
Quote:
In the complaint's account, Heath was contacted by a recruiter with Google's engineering staff. The company was looking for candidates with experience in C/C++ and Java. "After reviewing your experience, I thought you would be a great candidate to come work at Google and add value," wrote the Google recruiter to Heath.

There was a technical telephone interview that, as described in this lawsuit, appears to have been handled oddly. The interviewer was 10 minutes late to the call, "barely fluent in English," and "used a speaker phone that did not function well." Heath politely asked him, repeatedly, to use the phone's headset but the request was declined.

Consequently, Heath and the interviewer had difficulty understanding each other. One part of the interview involved writing a short program to find the answer to a problem posed by the interviewer. Heath accomplished the task and offered to share it via Google Docs or email, but, instead, the interviewer required Heath "to read the program coding over the phone." It did not go well. The interviewer "seemed not to understand" what was being read, the lawsuit states.
As much as I am sure ageism exists at places there has to be more than this as the basis because this could happen to anyone.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 02:07 AM
I'm so burnt out from this software engineering class. Since this class is on a bell curve, a small part of me wants to keep working on the program since I know there is a group in our class that is trying to out do us for first. Our group volunteered to go first a week early to present our program and then of course our arch-nemises decided to follow after us.

I have an irrational hatred for the group that is going after us. I know they think they have the top program in the class. I know they think they are the best. And for some odd reason that bothers me haha. Despite the program being worth 15% of our total grade on the project, whereas the SRS is worth 85%, I still want to keep programming just to avoid being out done by that group.

Fortunately, I am not. I can't push anymore. I'm out of fuel and there's too much on my plate. This group after us is going to do better than us, we will be embarrassed. At the end of the day, I just have to realize, this is just a grade.

Also group projects sucks especially combined with a bell curve. It brings the worst out of people. I overheard one guy in his group stating to the rest of the group "If he drops, I am dropping! I can't go in this alone!". So I guess I should be fortunate we aren't in the same sinking ship as them.

Also update on MS Paint guy, he finally did something useful and I'm quite surprised. I'm happy that the guy turned it around.

Also. Screw the sprite guy in jmakin's group. He's always arguing with the professor and dragging out the meeting longer than necessary!
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 03:02 AM
To make you feel better I've done recon on every group in the class (I can't help myself) and your "nemesis" group's POS system looks like ****. mine looks better and I'm sure you guys did a better job than I did on mine.

I don't know anything about their functionality but I was amazed anyone volunteered. I don't think he's gonna grade easier or anything.

Sprite guy is such a ****ing moron. He's one of those idiots that has a huge problem being told what to do and he's lazy... I told him after class he needs to stop arguing with the professor because it's making us look bad and he's never gonna win. Clark's a bully and sprite guy is just making himself a target. I don't know if you saw me shaking my head for 20 minutes straight but I was. Like... he couldn't shut the **** up about the "wear nice clothes for extra credit" thing. He was even arguing about that and how he doesn't have a blazer. my god I have 3. I'll loan you one stfu.


He is good at managing though I'll give him that. He's gonna talk to one of our more worthless programmers and get him to do SRS stuff because at this point he realizes that putting me on SRS is a waste. Yea no **** I told you from week 1 I know how to make this app and you told me I don't know anything about software architecture. I took this worthless pile of mess and turned it into a working system in 4 days.


Omg.. and while I'm at it, everyone in the group has access to the source code. Sprite guy won't even LOOK AT IT because he "hates java" and "doesn't have eclipse." I kinda went off on him and told him I downloaded all the software, analyzed the code and got it going in a few days time and I have 2 other classes and a full time job, he doesn't have much of an excuse. He sheepishly tried to explain how he's been working on the SRS really hard but as far as I can tell he didn't do anything in the last week except "delegate."

You don't have to know **** about java to download eclipse and look at my source code and try to figure out what's going on. The other SRS guy did that and even in the jumbled mess of code i threw down this weekend could still figure out what I was doing with my classes. Ugh.

It really is the worst class. Sorry you are overwhelmed. I've resigned myself to a B or C in the class no matter what I do. You're gonna get an A.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 03:12 AM
And the way I figure it, since the bottom 1/6 of the class gets a C or worse, I just need to do better than 8 people. Sinking ship group is 5... there's a lock. Definitely gonna do better than the rest of my own group. Lock for a B.

If i get a C i will go to the dean. no ****.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 03:55 AM
You should definitely try and get an A. I know you are set on going to the local university by us, but I honestly think you should aim higher with your GPA. I'm talking about UCLA or Berkeley, perhaps UC Davis. My options are limited since I already have a bachelors, so honestly I shouldn't stress out with a B. My only requirement to go back to my ala mater is to get all Cs.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 06:38 AM
Quote:
Originally Posted by gaming_mouse
it wasn't an attack

i just don't know and was curious what you meant by it in that context. i mean, `echo "hi" | grep "h"` is a data pipeline but i assume not the kind you mean.
You weren't the one I was thinking I'd have to defend myself from.

But the basic idea is describing to a candidate some data you have in various places and a use case you need solved and asking them to describe how they'd solve it while implementing specific parts.

They need to think about various aspects like how it's scheduled, how it's implemented, how it scales, how it handles failures, etc.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 10:15 AM
Ok well for anyone who looked at the assignment, here is what they dinged me on:

Spoiler:
Select notes:
  • Grid navigation UX implemented to spec. Works well.
  • listController.loadList has an implicit race condition, which is masked by the fact that staticListService returns data synchronously. In the real world, responses could arrive in an unexpected order, and the last data to arrive would "win."
  • Singletons don't demonstrate any facility for extension or reuse.
  • Relying on the DOM for focus conflates the view and controller, so there's no way to decouple rendering from application state.
Some smaller nits:
  • Magic strings and numbers sprinkled throughout the code could be replaced with constants.
  • Variables and functions in the global namespace could have been namespaced.
  • Script files could be concatenated to reduce requests.

More broadly, we're looking for evidence that someone has worked with large-scale apps and a code base shared by many developers who may (by necessity) be ignorant of each other's work. Advanced techniques help demonstrate that ability.


The bug is very real. But I think any dev who hasn't created a few keyboard-driven SPAs could fall into that trap. I forgot the user could still move focus while the data request was in transit. It obviously would have been caught in testing.

The singleton thing is ridiculous because I mentioned in my email I could convert those to a base object, it just seemed like code bloat in this spot (again my misinterpretation of what they wanted). It would have been trivial to convert the panels into objects which inherit from a base object and have the controllers instantiate them. (Lesson for next time, show-off unnecessary code constructs).

The DOM thing is reasonable, but again I also mentioned it in my email. Is that really a huge architectural component and not just an implementation detail? What did they want me to create an entire shadow DOM like angular for this assignment?

The smaller nits are just silly. What was I supposed to build them a production-ready app?

And **** constants for simple terms. Is UP, DOWN, LEFT, RIGHT really ever going to change? Is moveItem(ntflix.constants.UP) really cleaner than moveItem("UP")? I have never once in all my programming life been like dammit why didn't I make this super simple term into a constant? That's java-world stuff where the compiler can actually catch conflicts with enums and it's useful.

That last line really pisses me off because that's basically exactly what I do all day, and they know that. My SPA skills might be a little rusty but it's not like I'm some self-taught script kid who don't know how to design frameworks for devs of varying skill-levels scattered all over the globe. They had no interest whatsoever in talking about my open-source node framework, and were just condescending throughout this whole assignment process.

Last edited by suzzer99; 04-30-2015 at 10:30 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 10:39 AM
Suzzer, you're definitely taking this too personally. They DON'T know you. They DON'T know what you do all day. Some of that is unknowable (like what you're work code is like) and some of that is just a matter of having to optimize a recruiting process. The goal isn't to spend enough time on every candidate to ensure that you never miss a good employee. That's especially true at big name companies that have tons of incoming interest.

The smaller nits seem like totally real small nits to me. If you don't demonstrate that you understand a concept like namespacing in your code, they can't assume you just know it, can they?

That's not to say that they couldn't have handled this better. Given your background (specifically your open source framework) I think it is more reasonable to give you basic feedback that you might have missed the point of the exercise and that they wanted a version that showed off what you would do if this was just one part of a bigger production application. And then let you refine your solution. It's also likely their internal communication needs work so the person reviewing the submission has more context.

And I don't want to seem like I'm picking on you. But you have to realize that recruiting sucks and getting rejected doesn't mean you were a bad candidate or that the interviewing company was a horrible interviewer.

I've done one technical interview process in the last 9 years and it was literally worth 1-2 million dollars for me. It didn't go well, and while I don't agree with some of the approaches they took - I understand from their point of view they were doing what made sense to them. You just have to move on.

Edit: The only thing I really know about recruiting is that anybody that seems overly confident in 'the right way' to do it, is wrong.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 10:45 AM
Yes, they can look at my current company's website and obviously see that we use namespacing. Or they can ask me what changes I would expect to make by the time this incomplete exercise was turned into a full-blown production app. Or they can make it clear that stuff like having this thing be production-ready is important here. I really got the impression that base architecture was the most important thing they were looking for - which they didn't ding me on any of or even mention.

Context is important, it's not like I'm some kid with no track record wandering off the street. They recruited me. I feel like that wasn't communicated at all from "Sparky" to the engineer reviewing the code, who I still am not convinced even read my thought process. It seems to me like this assignment had a lot of "guess what we want" in it, which is kinda silly for a company that supposedly wants to just hire smart people.

Other than that I'm pretty much over it. I told them I wasn't interested in the latest offer and let's talk in a year. It's sort of like being rejected in a really ugly way by someone and then you realize they aren't who they thought you were. The money was going to be a wash for the first couple years. I was willing to uproot myself, probably lose my gf, for a myth of some nirvana web shop where everyone around you is the best of the best.

Last edited by suzzer99; 04-30-2015 at 10:50 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 10:58 AM
besides, if suzzer stays at his current place for a year, then he can make them hire and relocate me!
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 11:01 AM
Quote:
Originally Posted by suzzer99
Yes, they can look at my current company's website and obviously see that we use namespacing.
How big is your company? Unless you're a solo or extremely small company there is no way to know what is your work.

Quote:
Originally Posted by suzzer99
Or they can ask me what changes I would expect to make by the time this incomplete exercise was turned into a full-blown production app. Or they can make it clear that stuff like having this thing be production-ready is important here. I really got the impression that base architecture was the most important thing they were looking for - which they didn't ding me on any of or even mention.
Personally, I think a lot of what you're covering here should have been assumed by you as what they wanted. But I also agree that they could have been more explicit here / done one round of feedback with you.

Quote:
Originally Posted by suzzer99
Context is important, it's not like I'm some kid with no track record wandering off the street.
Meh, background isn't nearly enough. People coast off of the work of others all the time. Or do mostly management/meetings and have rarely touched code in years.

Quote:
Originally Posted by suzzer99
They recruited me. I feel like that wasn't communicated at all from "Sparky" to the engineer reviewing the code,
Quite frankly, nor should it have been. "Sparky" needed to review the code independently from everything else. Maybe after the first review they should have had an internal conversation where the 'recruiting' person gave more context and then handled the results of the review much better.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 11:03 AM
@suzzer
Quote:
listController.loadList has an implicit race condition, which is masked by the fact that staticListService returns data synchronously. In the real world, responses could arrive in an unexpected order, and the last data to arrive would "win."
FWIW the above killed you.

On the magic numbers/strings comment, I get what you are stating but you are trying to demonstrate that you understand the principle of why you want to refrain from using them. In my view, you should be really conscious of this kind of thing when you are trying to communicate your programming skill/knowledge to prospective employers. Maybe that is part of their coding standard. Look at it this way, you can easily defend not using them and I really have my doubts that a prospective employer is going to state that you didn't use enough magic numbers in your code.

Pretty much ditto the above on their comment of your coupling being too close. Unnecessarily close coupling is just about universally viewed as taboo. Again you want to go out of your way to demonstrate that you understand that it is a highly undesirable programming practice.

Not sure about their singleton comment and the response in your post. To me, it seems like you should have actually done what you stated you could easily do thus leaving no room for them to conclude that you are not skilled at developing extensible code.

The nits are just that I wouldn't be too concerned.

Does the place where you work do code reviews? I mean this is the kind of commentary that goes on in code reviews I have been involved with.

Last edited by adios; 04-30-2015 at 11:12 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 11:12 AM
Yeah of course we do code reviews. All our code goes through git pull requests that a lead reviews. We just have very different styles obviously. I think constants in JS are completely useless for small stuff like "UP". They just create unnecessary code complexity and confusion with devs. It's a lot easier to free type a typo into ntflx.cosnants.UP than "UP". In all my experience I have never once said "dammit I should have made that a constant". I would have been glad to defend this if they ever asked.

As far as the bug - candybar didn't catch it and he's on another level (or two) higher than any of us. So that makes me feel a little better. Like I said it's going to be glaringly obvious to anyone who's ever programmed a keystroke (or similar)-based app. But someone who hasn't done a lot I think it's a reasonable mistake. I wouldn't reject a dev out of hand who made that mistake.

The coupling with the DOM thing, yeah I could have done a better job on that. I just had already spent seven hours on this thing and didn't really feel like spending another couple creating a shadow object when I really felt like they were looking more for base architecture. I really thought they just wanted to see how I could think on my feet, not how much experience I had building full-blown SPAs w/o a higher-level data-binding framework. That's not how the position was sold to me at all.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 11:51 AM
Meh at coupling with the dom but the rest I don't know, they make some points. I'd be tempted to kick out something that had 1/3 of the lines that you had but I guess thats not what they're looking for i.e. do away with the different controller files and avoid redefining your keymap 3 times. Their instructions don't say anything about multiple data requests when moving on the nav so I'd probably avoid the race condition thing by getting everything at once but thats not super extensible I guess either.

IDK I'd probably fail too But I'd def give them both a production (minified/uglified) ready app and a dev app with it but I'm a big process nerd in that way and they did call that out. I had a similar experience a couple years ago where they stuck me in a room and told me to make something that was a 3-4 hour process and after 2 hours I got bored and said "here you go" and obv never heard back from them and yeah - anyone who requires something that big you probably don't want to work for. This is way too much IMO.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:01 PM
Quote:
Originally Posted by suzzer99
Yeah of course we do code reviews. All our code goes through git pull requests that a lead reviews. We just have very different styles obviously.
I'm referring to code reviews where several developers review it and offer feedback. Each of the comments made by the reviewers is addressed by developer. After the comments are addressed, round two ensues. This continues until all of the reviewers have signed off.

Ok, they don't care for yours. I can live with people not liking my style. However, if my style clashes with the coding standards that are in place, I acquiesce.

Quote:
I think constants in JS are completely useless for small stuff like "UP". They judst create unnecessary code complexity and confusion with devs. It's a lot easier to free type a typo into ntflx.cosnants.UP than "UP". In all my experience I have never once said "dammit I should have made that a constant". I would have been glad to defend this if they ever asked.
Again as jj stated, they don't know you. The goal is to make a favorable impression thus leaving as little room as possible for negative feedback. No prospective employer is going to ding you for not using enough magic numbers/inline constants. I can't make that point any clearer.

Quote:
As far as the bug - candybar didn't catch it and he's on another level (or two) higher than any of us. So that makes me feel a little better. Like I said it's going to be glaringly obvious to anyone who's ever programmed a keystroke (or similar)-based app. But someone who hasn't done a lot I think it's a reasonable mistake. I wouldn't reject a dev out of hand who made that mistake.
None of this matters really as far as their evaluation of you. To them it isn't a reasonable mistake, it is their show. They are looking for mistake free code from prospective candidates. That is pretty much standard from my experience.


Quote:
The coupling with the DOM thing, yeah I could have done a better job on that. I just had already spent seven hours on this thing and didn't really feel like spending another couple creating a shadow object when I really felt like they were looking more for base architecture. I really thought they just wanted to see how I could think on my feet, not how much experience I had building full-blown SPAs w/o a higher-level data-binding framework. That's not how the position was sold to me at all.
Ok fair enough, I think we all know that communication of programming goals is difficult and often gets muddled. So I agree that they probably didn't do a very good job of communication with you.

This interview experience should be looked upon as a learning experience. Personally I think you expected them to give you more credit for your past experience than they did. Ymmv on how various employers view past experience.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:30 PM
Quote:
Originally Posted by adios
Again as jj stated, they don't know you. The goal is to make a favorable impression thus leaving as little room as possible for negative feedback. No prospective employer is going to ding you for not using enough magic numbers/inline constants. I can't make that point any clearer.
Suzzer is 100% right here. In javascript, even in strict mode, every property access using the dot operator is using an inline constant, even if it doesn't appear that way. Constants.UP is just syntactic sugar for Constants["UP"] and if Constants is defined globally it's actually a shortcut for window["Constants"]["UP"] (though this isn't entirely true in strict mode).
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:37 PM
Yeah for sure it's been a huge learning experience. I will ask a ton more questions next time. And in the process I will explain (to whomever is answering the questions) what I do and do not consider my expert skill sets, and how the position was billed to me. That could have made a world of difference on this.

Also one thing occurred to me while I was at the gym. I have been working with offshore devs for like 3 years now - so I put code brevity, clarity and simplicity far far above all else. For us a tick in browser performance either way is nothing compared to the pain of offshore devs spending extra weeks trying to copy and re-implement code structures they don't understand and most never will. I may have turned into something of the programming version of an elementary school teacher who talks to her friends very s-l-o-w-l-y, and explains everything twice.

That was my thinking with the DOM coupling. Hey it's not pretty but it's the least lines of code and it's really easy to figure out what's going on.

I am sure I could re-adjust to a different situation with a different group of devs around me - just like I adjusted to this one when it fell in my lap 3 years ago.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:44 PM
Quote:
Originally Posted by candybar
Suzzer is 100% right here. In javascript, even in strict mode, every property access using the dot operator is using an inline constant, even if it doesn't appear that way. Constants.UP is just syntactic sugar for Constants["UP"] and if Constants is defined globally it's actually a shortcut for window["Constants"]["UP"] (though this isn't entirely true in strict mode).
It's also code cruft and actually easier to make typos and bugs that might not even be caught right away. I'm going to notice moveItem("UPP") long before I will notice moveItem(ntflx.cosnants.UP).

For long strings or something more complicated, we just set those in our config - since they can usually change per app or per environment.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:45 PM
if suzzer had been following the latest javascript fashions he would have known to use a keyMirror for his constants

https://github.com/STRML/keyMirror
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:48 PM
Quote:
Originally Posted by Grue
Meh at coupling with the dom but the rest I don't know, they make some points. I'd be tempted to kick out something that had 1/3 of the lines that you had but I guess thats not what they're looking for i.e. do away with the different controller files and avoid redefining your keymap 3 times. Their instructions don't say anything about multiple data requests when moving on the nav so I'd probably avoid the race condition thing by getting everything at once but thats not super extensible I guess either.

IDK I'd probably fail too But I'd def give them both a production (minified/uglified) ready app and a dev app with it but I'm a big process nerd in that way and they did call that out. I had a similar experience a couple years ago where they stuck me in a room and told me to make something that was a 3-4 hour process and after 2 hours I got bored and said "here you go" and obv never heard back from them and yeah - anyone who requires something that big you probably don't want to work for. This is way too much IMO.
The whole idea with the keymap was I didn't know if the keys would translate to different actions on the various panel controllers. So I created a default keymap but discussed how I would implement a custom keymap if a panel needed it.

The idea is never to send raw keystrokes to the panels, only actions as interpreted by the app controller. So I showed how I get the tight coupling with low-level browser features vs. behavior concept in that case. I'm not sure how they could think I wouldn't get it with coupling to the DOM.

Bottom line if I was the engineer I would think this person was a little raw on implementation but obviously gets the important architecture concepts. I don't have a shred of doubt I could have picked up anything they needed me to very quickly.

Last edited by suzzer99; 04-30-2015 at 12:56 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:57 PM
Quote:
Originally Posted by e i pi
if suzzer had been following the latest javascript fashions he would have known to use a keyMirror for his constants

https://github.com/STRML/keyMirror
Yeah if only you had a compiler to instantly catch and complain about COLORs.blut. Is there a way to do it in lint I wonder?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:57 PM
What's the race condition? They wanted the mocked data wrapped in a promise or something?

I bet they dinged you pretty hard for not using the latest javascript toys. You even used jquery.tmpl copyright 2010 which I didn't even know existed lol.

But you're a node guy so it isn't really fair to judge you off superficial ****. Just more evidence that companies suck at hiring.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
04-30-2015 , 12:59 PM
I have found having a code review system with on screen diff, commenting, replies, and a scoring system etc to be really helpful. We use Gerrit but I believe there are several options.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m