It's not really any additional protection...how are you going to break a token? I've encountered this a few times on other sites, have to waste a few seconds messing around in my about:config.
I don't know what any of those are but I know how to write 15 nested for loops and let it run for a few minutes. Hacking code seems fine if that's what someone knows...
So I know 6 programming languages, maybe 600 libraries, devops, dozens of tools.
So I could go back to math class and learn some more formal proofs. What part of my programming knowledge am I going to drop to learn that? Will it actually help my career?
I have found little to no use for advanced mathematics in 10 years of programming. I am not saying it had no use, but I have not needed it.
Most academic types majorly overestimate the usefulness of math in programming. I can code circled around people who rock out at math.
I don't mean to demean your programming experience or toolkit decisions in anyway. Egg on my face--it appears that's how it was received! Let me try again.
> I have found little to no use for advanced mathematics in 10 years of programming.
I reckon you use or stumble upon the algorithms often, perhaps all the time. Be it with Boolean logic, or network design, or optimal stopping, or fuzzy matching, or statistics in logging, or what have you. These principles show up often. My point wasn't you can't or shouldn't be able to code circles around people who rock out at math, but that maths education often fails to emphasize the logical methods of figuring things out from first principles over the already solved proofs, methods, or equations.
> Most academic types majorly overestimate the usefulness of math in programming.
To some degree, I agree here. If there are well developed libraries and mature paradigms needed (RDBMS, web dev, etc.) then there is little need for mathematical forte. Nothing wrong with that!
According to OP these are "12 equations in 18 variables, where the variables were restricted to integers in the range [1, 26]". Can you solve them using the elimination theorem?
I'm very glad people are speaking up about this. This is horrifying. Good job on stopping the process when you felt uncomfortable, we should all be doing this.
Definitely not. Here's a nice algorithm that will actually compute the embedding as well: https://en.wikipedia.org/wiki/Fáry's_theorem. However straight line embeddings by Fary's theorem can sometimes be much larger than necessary, more recent advancements in computational geometry can compute embeddings with guarantees of much smaller drawings (small wrt the area of the bounding box of the drawn graph).
Although I don't know for sure, I believe Borges' short story The Zahir [0] refers to Tipu in his usual convoluted way.
>In 1832, on the outskirts of Bhuj, Taylor heard the following uncommon expression used to signify madness or saintliness: “Haber visto al Tigre” (Verily he has looked on the tiger) He was told that the reference was to a magic tiger that was the perdition of all who saw it, even from a great distance, for they continued to think of it till the end of their days. Someone mentioned that one of those unfortunates had fled to Mysore, where he had painted the figure of the tiger in a palace.
>Years later, Taylor visited the prisons of that kingdom; in the jail at Nithur, the Governor showed him a cell on whose floor, walls and vaulted ceiling a Moslem fakir had designed (in fantastic colors, which time, rather than erasing, refined) of an infinite tiger. It was a tiger composed of many tigers, in the most dizzying of ways; it was crisscrossed with tigers, striped with tigers and included seas and Himalayas and armies that resembled other tigers.
Yes, I agree that cheating should be curbed. But not at the expense of tracking every running application on a computer, or the exact location of interviewees. Videochat and on-site interviews exist and don't have these kind of problems.
Ok, but any techie should have little problem preparing an environment for such a test. Use that freshly formatted, dusted off laptop from college? Maybe even consider using a VM, like others suggested. Or how about install a portable version of Google Chrome, so no existing browser data or extensions would be a cause for concern (or worse, imagine a buggy extension crashing the browser and, thus, ending the test session)?
This is a great point, and I address it at the end of my post. The basic idea is that freedom shouldn't be limited to people who 1) have the technical knowledge to do all this and 2) have the time to set up such an environment. Freedom should be default. By being OK with these kinds of testing platforms, these could eventually be used for non-technical positions very easily, and those applications wouldn't know how to circumvent this.
But Amazon is primarily a tech company. Hate to say it, but non-techies comprise a very small percentage and they're an edge case. I also think that there is little chance that Amazon would care much to impose such strict oversights during non-technical remote tests.
But the real question is: should they have to? Quantumtremor already listed several alternatives that indeed don't have the same problems. Why would you risk ruining the goodwill of your privacy-conscious applicants by making them format a laptop, create a VM, or even install another application. None of that is going to make me want to do your interview.
Video and on-site interviews are much more expensive and leave employers open to lawsuits. Not that I necessarily agree with this practice, but I could see why this approach would be considered.
To what extent should personal ethics play in deciding where a (software) engineer should work? What if the engineer has no other choices for a job, and needs to (make rent/pay the bills/eat food)?
It is true that it'd be pretty easy to circumvent the tracking, by placing paper over the webcam, running the browser in a virtual machine, spoofing data to the browser, and so on. However these are infeasible for most non-technical people, so I don't think it's a real solution. Freedom shouldn't be only for those with extremely technical knowledge.
To an even greater extent, ethics is a serious issue in network engineering as well. What happens when you're an employee of an ISP in Turkey and you're asked to MITM all port 53/DNS traffic? Or implement something like DNS lookup redirects to an advertising page? Censorship? The UK GCHQ and snooper's charter requires you to run a transparent http proxy and keep logs of every site every residential customer visits?
You work for a Thai ISP and the government orders you to block everything that insults the king and royal family?
You do network enginering for a mobile phone network operator in a developing African nation and they want to redesign parts of their network to support participation in the Facebook "free basics" walled garden internet for your GSM/UMTS/HSPA+/LTE type customers?
edit: there are a lot of things you can do to mess with a properly functioning internet, on the behalf of autocratic regimes or greedy corporations, just at OSI layers 2, 3 and 4... That's before you even get to the level of operating system and applications/software engineering.
Okay, but that's sort of a self-enforcing rule, isn't it? The very fact that you can figure all of that out enough to fool the monitors means you're qualified for the role.
Kinda like, "haha! I secretly got messages delivered to me during the steganography test! It's obviously not a legit test."
I don't personally see anything wrong with these remote, screen based, assessment requirements. These are to curb any chance of cheating. If we focus on reason instead of jumping the gun to privacy violation.
Coming to your question. First question is easy. In a business environment, subjected to international rules and regulations; ethics are a priority. Second one not so. Kind of similar to when does it become acceptable to rob someone if robber can't make ends meet. Depending on jurisdiction; court will decide level of leniency.
In particular, a good challenge is the 2-state solution. Decrease the number of states to 2 and try figuring out the rules (toggle "Instructions") that make the 2-state Busy Beaver. 1-state is somewhat trivial, 3-state isn't really possible by hand unless you have a lot of time.