It has explicit error handling (via multiple return values) which the authors argue is superior (even if more verbose) because they know from experience that programmers tend to make mistakes forgetting to check for errors in their code. If the error code comes back as a return value the programmer has to consciously decide what to do with it immediately, leading to better code on average.
as long as you aren't calling what you consider to be a 'return void' function (like writing data to a socket). then it is easy to forget to check the return value.
Sure but that's not the point here. The important thing is that this quantum computer actually WORKS. In 2 years classical computers will be maybe 5 times faster. But this quantum computer will be 1000s of times faster (at these specific problems) so very soon any comparison will be irrelevant.
Bitcoin addresses are hashes, not the public keys themselves. Thus they are safe against a quantum factoring algorithm. If you spend money from a bitcoin address though, the public key does get written to the block chain but to combat this you merely have to send your change to a new address and you'll be safe again.
If the client is 'not worth it' you're just not charging enough. Just work out what your price is and send them a new quote. Don't ever fire a client, that's just silly. Make the client say no.
"...The customer considers that if I don't want to record the video, it's because I have something to hide and want to lie about the real time spent on his project".
Dealing with a client that tells you from the outset that they believe you are going to lie to them isn't merely an annoyance. It presents a risk to your career. This client will never be satisfied, or trust a word you say. He will inevitably sue or trash your reputation because, in the end, it isn't possible to satisfy delusional clients. That risk isn't worth any amount of money.
These kind of quotes from a customer should be instant red flags that they are not someone you want to work for. Devilboy does have a good bit of advice about charging an outrageous amount, but it's important to pick your battles. Sometimes no amount of money in the world is worth the headache that a customer like this could cause.
There is always some amount of money that is worth the trouble. Now, it may be some amount of money that cannot be paid by any entity aside from governments, Exxon, Apple, and a few others, but it is some amount of money nonetheless.
The client can agree to a ridiculous rate, but actually collecting is a whole different story. My gut says clients with red flags like this will be exceptionally difficult to collect from.
You could perhaps deal with it by insisting on being paid up front. But then I'd worry about the potential for lawsuits, if the client really is that crazy, and that's a potentially unlimited downside you can't work around with higher rates. The more he's able to pay you, the more he's able to pay his lawyers when he sues you.
Happiness isn't the only thing we care about. With enough money, I'd start thinking about optimizing the world, or at least give something to the most efficient charities out there.
With enough money, I would do the same. With too much money (say in the billion range) I think I would go all well-intentioned super villain on the world.
Hundreds of millions is two orders of magnitude more money than "the first few millions." To me that seems pretty significant. And even more so when you factor in how many more things (or even classes of things) you can buy with $10E8 vs. $10E6.
This debate is silly. Yes, obviously ridiculous clients like this are bad news and should be avoided, but yes, technically there probably is a price I would accept. Even if you're going to ruin my reputation and my career, I would still probably do the task for, say, 100 billion dollars.
> If the client is 'not worth it' you're just not charging enough. Just work out what your price is and send them a new quote. Don't ever fire a client, that's just silly. Make the client say no.
I disagree. The more you charge the more you put yourself at risk—nominating some insane figure to scare him off is just as silly as his request (or close to it).
There is nothing wrong with not taking on work or firing a client. It is a risk assessment, and the risks with a client who asks these kind of questions are huge.
PS: I actually find it concerning that someone has to ask how to respond. Some people need to learn to say "no".
Yup. Sometimes you have to just bite the bullet and fire them.
We had someone approach us a few years ago we really didn't want to work with as everything they did screamed "moron in a hurry", so, rather than telling them to naff off, we gave them a quote that should have caused cardiac arrest.
They agreed to it.
Two years on. Still working with them. No amount of money makes it worth it. Particularly given that they still haven't paid said insane quote.
Oh, they have paid, just not in full. As to suing them, no - the industry we work in is stupidly tight knit, and regardless of the truth, any agency that sues their clients looks like crap.
We have leverage over them in terms of "whoops, looks like your sole revenue stream just got turned off", they have leverage over us in terms of reputational damage.
Were this some sole trader on the far side of the planet, there'd be nil compunction. But they're not.
The problem is you, not the client. Simply fire them. Say "We will not work with you any more." That's all it takes. In fact, give me their phone number, I'll call them for you.
Half up front is a bad model. A better model is 25% staged throughout a project, with 25% post completion. This means that they don't get live unless you've at least 75% of the balance paid, and you then operate a one month warranty period at the end of which they pay the balance.
With these particular goons, we have our 75%, and a never-ending stream of "we've re-interpreted the specification and believe that X means Y, Z, Q, R, P and M, which we require before we will sign off", much as we'd anticipated.
This is why we charge a minimum of 75% prior to go-live. Means that even if they do decline to pay the remainder, we aren't left out of pocket, and can play silly buggers for as long as it takes for them to get bored and go away.
Just curious: If the client asks you to also plumb hist toilet, you'd say "yes, but I'll bill you at $5k/hr for the toilet project"?
You really want to be the "do anything for enough money" guy? ...cause this is how you're labeling yourself by going this route more than one time. Imho, taking some pride and saying "no, fuck of, I don't do this, find someone else" makes you feel 1000x better as you realize you don't do what you do just because the client pays you, but also because you want to do it and you want to just do a good job at it. ...it might bring you less money but boy it's wort it (I may be weird, but I get a real kick when I get to just tell someone "NO", regardless of whether it's client that you're too busy to take his project or someone close asking for a favor: it really underlines your freedom and individuality and makes you feel good).
(And just to make it clear: in my book "plumbing the client's toilet" and "letting the client see a video recording of me working" are in the same league of completely unreasonable requests.)
I'd definitely accept toilet jobs for $5,000/hour, then subcontract out to a plumber for their going rate, and pocket the difference. IMO a bad example.
Then I'm no longer a contractor, and they have to hire me, put me on a payroll, etc. I doubt they want to do that.
I probably would walk away from that, but my point is that if you are a contractor, then the requirement is simply that the work be done, not that you do it personally. If they're willing to pay absurd money for something you don't want to do but other people will do, subcontract.
i m certain you can put in the contact condition that a specific person died the work. imagine if i was a musician talked with composing a song for a game. the client contact to Mr because of me . they won't be happy if they find out that i sub contract it out.
Just to be clear here. I will gladly plumb a clients toilet for 5k/hr. I won't, on the other hand, go around killing people. I won't make the next big brother for 5k/hr. I won't develop viruses or spam for 5k/hr. Those are ethical reasons, not pride. No one would ever think less of me for plumbing a clients toilet for 5k/hr.
Be careful. I have known a number of people who have followed this strategy, and discovered the hard way that they didn't charge enough.
Also note that a client that you don't want to do business with is probably a client that others do not want to do business with, so they are used to being charged exorbitant fees.
Going back and forth to reach a higher price, only to have the client say No, is a waste of time.
Even if they do agree to a higher price, money can only reconcile so much. Based on bad experiences I've had with a couple clients in the past, they couldn't pay me enough to work for them again.
I agree with the sentiment when it comes to the work they want you to do, but this client is indicating that they're likely to cause trouble when it comes to collecting payment, in which case it's probably just not worth dealing with them at all.
It's far more important to tell the client "no", because a client will expect that you have no boundaries. The set-the-bill-rate-massively-high approach is a passive-aggressive way of telling a client "no", and it doesn't work well -- it can backfire.
Having been independent for 5+ years, saying "no" is a learned skill.
Hell YES fire a client! It's not just about money. It's about grief and stress. Don't work for people who want to set up a Panopticon because they think you're cheating them. Just... no.
I generally agree with this principle, but in practice, it's really hard.
You only find out how difficult a client is after dealing with them. And in many cases, if you have a feeling that this client is not going to be a very generous one, firing them might be most profitable thing to do.
If the client is 'not worth it' you're just not charging enough.
Some things aren't worth doing, at any price. Compromising my professional standards is one example. Working with a client who doesn't trust me to do my job properly is another. This sounds like an example of both.
In this particular instance I'd get the customer to provide the kit or expense the equivalent kit to do the job (hardware, software etc.) and have them pick it up. They'd pay a top whack rate for the work too, mainly because it'd be what it costs to work their way rather than mine and I'd need to factor in costs for dealing with the requests I'd expect them to make.
If at the end of the day the customer can deal with that, then I'd accept it. I can isolate all my resources specific to that customer, provide them with dedicated kit (presumably with enough storage for them to keep the video footage) and they're (hopefully) happy with what I've done.
That's the better thing to do, but there's a problem, here : they already are in contract. Developer tried to do something that way (mentioned in update), arguing there must be an other contract for the video thing and making it way too expansive. But from what I understand, they've just felt back on first contract.
Maybe in that very specific case it would be a good thing to break the deal early, because as parent mentionned, there certainly will be other problems (and reputation may be hurted more badly than if breaking the deal).
At $50,000 per hour, I'd do 40 hours of work for a hideous client.
We're not talking about murder or anything with risk to life. We're talking about dealing with assholes. There is a price (theoretically) that makes that OK, so long as it's time-limited. Of course, the client will almost certainly not agree to $50k per hour, but isn't that kind of the point?
I had a boss who was a bit too ... stressed ... for a while. You just couldn't reason with him about it.
In the end I solved it. I wrote in an email that he was just too stressed and really needed some time off, so he started to attack me personally.
I wrote to him then that he should take what he just wrote and show it to his parents or some other persons he had trust in, and ask them how he was doing. He finally realized he had behaved as a complete asshole for a while.
No, it wasn't a permanent solution. But he took a long, long, long vacation half a year later.
I might work for him again, but I'd keep a reserve plan and be out of the door quite directly. Life is too short.
Edit: Too small company to have an HR department. (I might add: I don't know if I succeeded, or he got himself under control when a quarter of the people quit and the rest had the CV out or at least updating it.)
In a small company, "the boss" is the owner and there is no HR. If you don't get along with him, you leave.
In a large company, HR's job isn't to help you but to keep the company from getting sued. They will almost always side with management. You might make a dent in a manager's reputation and, if 5 or 6 people come forward with the same complaint about him, he might be "promoted away" into a role with less direct people management... but you're fired by that point, so it means nothing to you.
HR is not your friend.
Your best move if you have a bad boss is to work out a transfer behind his back, and leave on good terms. Find someone with more clout who will request sponsor you. Don't "apply for" transfer. Get requested. Never say anything bad about your boss in the process, just that you're looking for work that's more relevant to your skill set.
Every 10 minutes some coins are dropped in a big dark pool and everyone interested in catching them play hungry hungry hippos until some lucky person gets it.
Sure, but could the work not be distributed amongst many users? How many concurrent users would it take for it to be useful? Would likely demolish battery life and data caps, but I think you could run only when batt > 50% and wifi is on.
It would have minimal effect on data usage, as you only ever need to report back when you've found something, and you only need send a 32-byte precomputed seed every ~10 minutes or so.
It would, however, absolutely demolish the battery. This kind of computation is pretty much directly proportional to power use, and modern smartphones are power-limited. So, if you mine at full tilt, the smartphone will drain the battery literally as fast as it can, and get really hot doing so. You can limit the hashing speed, but this will only spread the work over time. It won't change the fact that to get any good hashrate out of the system, you basically have to consume all the battery.
However, all of this is pointless because you'd need millions, possibly tens of millions of concurrent users to match a single modern $1000 mining rig. Computing sha hashes is a workload that fits special-purpose hardware really well. GP hardware simply cannot properly compete anyway. And now as ASICs are driving up the difficulty, you'd be making much less than 1$ of profit for 1$ of electricity consumed.
According to bitcoin.it [1] iPhone 3g's cpu (ARM1176JZ(F)-S) can achieve 1.19 kH/s
When I plug that into Alloscomp's bitcoin calculator [2] it says that at todays exchange rate you could expect a return of about $0.02 per month per phone (assuming they're on 24/7)
If you had one billion devices you would make around 30 million per month. One billion devices is totally unfeasible though (Especially one billion on 24/7) and you could definitely make more money some other way with that many devices.
Go on any Bitcoin forum and the newbie section will be filled with people wanting to buy Bitcoin with credit cards, usually via Paypal. Some of those will be scammers but not all of them.