Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Comment: Re:IANAL but that doesn't seem to be what it says (Score 1) 62

by Pinhedd (#48528075) Attached to: Negative Online Reviews Are Not Defamation (At Least In Canada)

Defamation law is substantially different in Canada compared to other common-law countries, especially the USA.

In Canada there is a substantial onus on the defendant to either justify the defamatory remarks (factual truth, fair comment, responsible reporting, etc...) or challenge the defamatory nature of the statement. Probable truth is not sufficient to justify defamation. This contrasts sharply with other common law jurisdictions that place the onus on the plaintiff to prove that the defamatory statement was factually false or malicious.

Comment: Re:Nonsensical explanation? (Score 1) 106

by Pinhedd (#48452093) Attached to: Nuclear Weapons Create Their Own Security Codes With Radiation

You're right, it's not a revolutionary step in security. Amplifying and cascading samples of thermal noise is good, but sampling radioactive decay is better. Presumably it would also shift additional security into the warhead itself rather than relying on an external and potentially fallible component.

Comment: Re:yaaaaaaay... (Score 1) 226

by Pinhedd (#48408455) Attached to: Coding Bootcamps Presented As "College Alternative"

You could say exactly the same about Visual Basic. And yet there's plenty of VB monkeys who don't know anything else.

You're not going to get any argument from me on whether or not these kinds of people exist, because they certainly do. I was just ranting.

Then they boot him and hire someone who knows kQuery. Or if he's lucky they send him on a course.

Terminating employees often isn't free, nor is hiring new ones. Training existing employees to handle new tools is often the preferred method. I personally would be reluctant to hire someone in the first place if they know jQuery but not Javascript. That tells me that the individual may not be particularly interested in their profession, and may not take their job seriously. I'd be even more concerned if they show no interest in fundamentals.

Why is that part of a JQuery developer's job description?

Knowing what tool to use for a particular job is almost never a part of any job description. It is however a crucial skill to have when it comes to problem solving and failing to demonstrate it can make oneself look like an idiot. An individual that is only capable of performing the bare minimum and is not interested in doing anything else is not an individual that I would be intent on hiring. It's people like these that manage to make the most powerful microprocessor on the market feel like an 80386.

Comment: Re:yaaaaaaay... (Score 1) 226

by Pinhedd (#48406139) Attached to: Coding Bootcamps Presented As "College Alternative"

A JQuery coder should be able to also code in plain Javascript

If the job doesn't require that, then why?

I mean it's always good to know more things, but if you take your logic to its conclusion C080L monkeys should know machine code.

If someone doesn't know more than just JQuery they will be unable to cope when their code doesn't produce the desired result. If the project's requirements change in such a way that it can no longer be completed in baby's first development library, that "developer" then becomes a liability to his or her employer. Furthermore, even if it's all that he or she needs to know, he or she will be unable to assess situations in which JQuery is not used yet may be appropriate, or in which JQuery is used but would not be appropriate. It's an ignorant form of tunnel vision.

Comment: Re:What 3500$? (Score 1) 286

by Pinhedd (#48222753) Attached to: Tech Firm Fined For Paying Imported Workers $1.21 Per Hour

You're absolutely right. I'm not defending the company in the slightest. I'm just pointing out that the case at hand is not a clear case of a broken system and not "clear permission to employers to violate all labour standards". The company got caught and fined. The punative fine is not substantial and I'd love to know how they managed to argue it down so much but they won't be able to make the same argument if they get caught again.

Comment: Re:What 3500$? (Score 2) 286

by Pinhedd (#48216949) Attached to: Tech Firm Fined For Paying Imported Workers $1.21 Per Hour

It's not entirely unusual. Many regions have exemptions in their labour laws to deal with workers that are only in the jurisdiction temporarily, usually to perform short-term contract work.

Imagine if the roles were reversed. An American company sends a couple of technicians to India to fix some machinery and tries to pay them minimum wage in Indian Rupees rather than American Dollars.

It's obvious that there was some sort of abusive employer-employee relationship (eight employees working up to 122 hours a week for over three months and they only helped install computers? Yeah, sure), but what's not clear from the article is how these employees were retained by the company in question and whom was ultimately responsible for negotiating and paying their wages (it's not clear if it's the same employer, but I assume that it is).

While I'm sure that this particular instance is an example of straight up labour abuse, it's not always quite so simple.

Comment: Re:I still don't see what's wrong with X (Score 1) 226

by Pinhedd (#48174129) Attached to: Lead Mir Developer: 'Mir More Relevant Than Wayland In Two Years'

The compositor is the program that stitches the framebuffers for each element on the screen together into the final image. It is usually a part of, or closely related to, the window manager.

Modern drawing APIs typically work by allowing the application to ask the windowing system for a buffer (may be hardware accelerated) to which the application will perform all of its draw calls. The compositor then gathers all of the frame buffers and uses attributes to draw the final image into its own frame buffer that is then sent to the graphics adapter's swap chain. The compositor handles things like window order, overlapping, decoration, translation (movement), projection, magnification, resizing, rotation, etc...

The advantage of using a compositor is that an application need not worry about competing with other applications for screen space. Each application renders to its own buffer while remaining blissfully unaware of the existence of other applications.

Comment: Re:You are DAMN RIGHT she should be charged (Score 1) 274

by Pinhedd (#48050595) Attached to: Could Maroney Be Prosecuted For Her Own Hacked Pictures?

You're right.

About 6 years ago some girl named Amanda got her own number confused with mine (I imagine that it was pretty close) and started giving it out to all of her friends. I would constantly get text messages meant for her and no matter how many times I told them that they had the wrong number it took about a year for them to end. This was in the days before MMS became affordable and the cameras on phones became non-shit so I didn't get any pictures but I imagine that if the same thing were to happen today that may not be true.

Comment: Re:Beards and suspenders. (Score 1) 637

by Pinhedd (#47617963) Attached to: Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Imagine the following:

int A[10];
int* B = 0;

Evaluating A yields the address of the first element in the array. Evaluating the address of A also yields the address of the first element in the array.

&A == (int*)&A[0]
&A == A
(int*)&A[0] == A

All three of these expressions will evaluate to true

B = A;
B = (int*)

The above three statements are all equivalent because array references behave like pointers when they are evaluated as part of an expression.

Unlike pointers, the array reference itself is not assigned memory, only the array elements are assigned memory. The array reference is used as a handle to the first element in the array and all references are resolved at compile time. A pointer can be reseated (assigned a new value), an array cannot.

B = A; is valid

A = B; is not valid

looking at this another way

int A[10]; will consume 40 bytes of memory assuming a 4 byte integer

int* B = malloc(sizeof(int) * 10); will consume 44 bytes of memory assuming 4 byte integers and 4 byte addresses

I am not now, nor have I ever been, a member of the demigodic party. -- Dennis Ritchie