My problem is that I want a comparison of syntax so I can see exactly how Coffeescript is an improvement over the equivalent Javascript.
When I visit the site and I see a table with CoffeeScript on one side and Javascript on the other, my brain sees just enough to verify that the expected elements are all there before it says, "Yep - there is the comparison you wanted".
So while it does clearly state that the JavaScript is the output of the tool, my brain has already decided that it is exactly what I was expecting, and it takes me a second to re-adjust my thoughts.
Ironically, if the output looked less "normal" I probably wouldn't have the same problem, but it is formatted nicely and is good enough that subconsciously my brain tells me "equivalent syntax" and not "compiler output".
I have the same problem. Once I realized that I was not just stupid and the other person was simply not communicating well, I began to try repeating what they just said back to them in "normal language" to ensure I had understood them correctly.
When I did this, two things happened: people began to think that I was really smart, and I realized that I could usually repeat whatever I wanted and the person would agree with me.
According to the op he found the site via a phishing email. So likely it was just a mass mailing to hotmail accounts, or designed to look like it came from the hotmail team - naturally only Hotmail users would be worried about an email them.
I disagree. Knowing the details of an apprenticeship program upfront are critical to attract and retain both the "apprentices" and the "masters" necessary to make a program work. It would be unfair to both groups to have divergent programs and skill levels being passed off as apprenticeships.
There are plenty of successful models that a program could be based on. In the US, electricians require 5 years of work with a journeyman + classroom instruction. Professional Engineers require a degree in their discipline, 2 examinations, and 4 years of relevant experience, usually under a licensed engineer before they can get their PE license (its not called an apprenticeship, but an EIT - Engineer-in-Training. You are expected to learn from a more experienced engineer who is responsible for overseeing your work and providing a recommendation before you are licensed).
Privacy - Normally my interests are more technology-oriented, so I would expect my ads to target computers and technology. However, every year around the holidays and my wife's birthday my browsing takes a more practical turn. If she were to hop on my laptop and notice that all my ads are now for jewelry, it doesn't take a genius to put 2+2 together, and the surprise is ruined. And this is just a benign example of how targeted ads might "leak" undesired information to third parties (imagine some of the more embarrassing things that might be targeted).
Quality - My experience with targeted ads usually involves them lagging behind my purchase or interest. So if I set out to buy a new saw, by the time I start getting ads related to new saws, I have already purchased it. Everybody loses (Advertisers waste money targeting a purchase I already made, and I keep seeing ads for a product I don't need anymore).
Both of these scenarios occurred recently, and I don't really know a good solution to the problem.
For windows boxes, I like CamStudio [1]. The latest version lists dual monitor support but I don't know how well that particular bit works (the forums list a couple of issues).
Unless something has changed, you need a minimum level of reputation to upvote. If you are not a member of the site (I have a vague memory of starting with only 10 rep - I have no idea now) you have no mechanism to actually do as you suggest until after you've posted or asked a question that has gotten at least one vote.
I just created an account there after years of lurking and absorbing knowledge from other's questions and answers, but I only have 1 rep.
Oddly enough, I created the account specifically to upvote the answer that solved my problem of which another member had asked about, but I am unable to do so until I submit a problem of my own that has not already been answered.
Yeah, that's still true — people who haven't participated in the site cannot upvote. I'm not sure if there was a larger point that I'm missing. Things still get upvoted quite a bit even with the rep requirement (and you could make a reasonable argument that the rep requirement means the votes you get are marginally better indicators of quality).
Please don't ask me to review your "massive amounts of code" - I guarantee you will not come out ahead in that evaluation, if I even have time to properly evaluate it (according to Code Complete, you can properly review code in a high-level language at about 100-500 lines per hour).
If you consider the fact that:
- It is unlikely I am well-versed in the problem domain of your code,
- I am unlikely to be aware of external design constraints or coding pressures,
- I am probably going to randomly select the worst section of code to review,
- I have no context for how the code evolved
the chances that I walk away with a negative impression are high enough that it should give you pause. If I do manage to walk away with a positive impression of your code, it will be offset by the perception that you believe your time is more valuable than mine (why else would you send me a massive amount of code and ask me to review it to determine your suitability for a position) - and you still haven't answered the other big question I need answered which is whether you are a good "fit" for the team from a personality/cultural perspective.
If you really want to impress me, go ahead and send me a list of your projects and contributions and then slice a relevant sample of code from it. Describe what the problem was and how you solved it so I can understand the context. Try to make it relevant to the position, but failing that describe how you could utilize that experience in the relevant domain. Keep it small enough that I can review it in under an hour or two.
Is it a lot more work for you? Absolutely, but if you do this I guarantee you I will look at your code and will likely call you for an interview because you are demonstrating a high level of competence and professionalism while still respecting my time and needs.
You're assuming that I would "send you" massive amounts of code. I wouldn't. I'd have a link to my github on my resume, along with a description of the projects I've worked on.
It's presumptuous that I would be asking you to do a full code review (my Appleseed project is tens of thousands of lines of code, for instance), and that I wouldn't recognize the impracticality of such a request.
I would find it problematic, then, if you responded with tests and puzzles, without any interest or questions about my code. Or if the test and puzzles couldn't be skipped once I mentioned my experience level and accomplishments. This is often what interviewers have done, and I find it to be a good indicator of a workplace I'm not interested in working in.
The best workplaces let their developers take some time to comb through the best parts and the worst parts, and have a conversation about what I've done, my goals, how I did things, etc.
Asking me to look at code on github is not that different from just sending me all the code (other than the fact that you aren't cluttering my inbox with it). What code do I look at? Why is it interesting to me? I understand your point about having a discussion about your code, but you are again asking me to find those interesting bits that are relevant to the position I want to fill. You are familiar with the code base already - it is not difficult for you in your cover letter to indicate that I might be interested in x,y,z in project foo because they demonstrate a,b,c, and I can find the code on github. Now I know what to look for, and I am very likely to go and look for it. That may lead me to explore some other things and will lead to an interesting interview. Even if I don't consider the code interesting and relevant, it still lets me ask about why YOU thought it was. If you don't point me to that, I may just flip through a couple of methods and never find anything that interests me enough to talk about it.
And for the record, I don't like "puzzles" either - even if I know the "trick" to the puzzle, sometimes my brain doesn't work right and I can't think of it after a long day of interviews. I would much prefer to be evaluated on how I work in a real environment, seeing my real code and my approach to real problems as opposed to impossible problems whose solution hinges on an obscure bit of semantic parsing in order to arrive at the solution. But as an interviewer, I don't have unlimited time to evaluate candidates so if you want me to do something, it helps to make it as easy as possible for me to do it.
In the end, I don't disagree with you, but I can understand interviewers that don't make the effort if you don't also make an effort.
it is not difficult for you in your cover letter to indicate that I might be interested in x,y,z in project foo because they demonstrate a,b,c, and I can find the code on github.
I think it's fair to assume that after my years in the industry, that I would not simply hand you a link with no context, nor that I would be applying for a job which didn't relate to the work I had done, and I don't feel these arguments apply to the situation I presented.
But as far as I'm concerned, my preference would be to hire based on established code and real world tasks, not abstract puzzles. Not only are puzzles like these faddish, I've met too many programmers who excelled at puzzles, but were severely lacking in more mundane (but all too necessary) departments, so in terms of what kind of things I would use to weed people out, I'd do a set of real world tasks like the one I mentioned above, well before I'd ever give a list of clever puzzles to solve.
Assuming the applicant didn't contribute to open source, which would always be a huge plus in my book.
Much has been written and disseminated about their culture, benefits and compensation practices. They are one of the largest software companies in the world with a publicly recognized name. Their product offerings span just about everything you would want to do with a computer. They have (historically) been a very stable source of employment, with a good compensation and benefit package, along with a full career path for developers (a rarity in most companies it seems).
Unfortunately, their business practices have also left some developers with a bad taste in their mouth (whether through their previously predatory nature, or their current lack of a cohesive approach to the web). Given that Microsoft is a well-known entity in the developer world (and frankly the larger US-culture), I will assume that you fall into on of those categories, in which case Microsoft will need much more than perks and salary (of which they apparently have many - I am not affiliated nor have I ever been affiliated with them) to sway you.
On the other hand, there are plenty of folks out there who may not have the same negative experiences with MS and, based on everything I said above, would consider the company an excellent place to work.
When I visit the site and I see a table with CoffeeScript on one side and Javascript on the other, my brain sees just enough to verify that the expected elements are all there before it says, "Yep - there is the comparison you wanted".
So while it does clearly state that the JavaScript is the output of the tool, my brain has already decided that it is exactly what I was expecting, and it takes me a second to re-adjust my thoughts.
Ironically, if the output looked less "normal" I probably wouldn't have the same problem, but it is formatted nicely and is good enough that subconsciously my brain tells me "equivalent syntax" and not "compiler output".