419 karma · joined July 24, 2009
Instead of counting and using a done channel,
import "sync"
...
var wg sync.WaitGroup
for ... {
wg.Add(1)
go dowork()
}
wg.Wait()http://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/
And if you want an excellent description of how Reed-Solomon coding is efficiently implemented in Linux, try this:
But you'll have to be more specific with your complaints. What kind of parallel programs are you trying to design? What similar infrastructures have you worked with?
http://www.google.com/finance?q=NASDAQ:GOOG&fstype=ii
Google had revenues of $31B with less than 30,000 full time employees over the last year. Programmers there are bringing in over $1M on average. There must be some there that are actually worth it.
You rent a house for a week when the owners aren't using it. Often the key's in a combo box or they mail it to you. The only real protection is a security deposit which you pay upfront. The concept has been around for ages.
BTW, this only works if you're willing to leave for the much better offer. It sounded like the OP was unhappy with his pay. Nothing wrong with that. From what I've seen, though, substantial raises come from switching jobs and counter offers. If you're happy with your work and pay, then by all means stay.
By exercising early, you effectively own stock at the date of exercise. If the company goes public or gets acquired, your gains are already long term capital gains as long as it's been a year. Also, you don't have to wait once the company goes public to exercise your options, then wait a year... you can sell right away, lock-up periods aside.
To summarize, early exercise is a cheap way to avoid paying taxes on your options until you sell the shares later. And then you're paying the long term capital gains rate on cash earned, instead of short term capital gains on a volatile stock which could easily go down in value.
Umm... no mention of Doug Cutting or Yahoo?
Base case: In a one item list, the first element is selected with probability 1.
Induction: Assume we've picked an element uniformly at random from the first n elements. When we encounter the n+1'th element, we pick it with probability 1/(n+1). Thus, we now have a uniformly random sample from the first n+1 elements.
I assume they meant arbitrarily long instead of infinitely long. In which case, I just wrote that code today:
val := nil
for i, x in range a {
if rand.Intn(i+1) == 0 {
val = x
}
}Good luck trying to get any useful feedback from a Google or Facebook rejection. Often it's just random.
...except for the 99% of applicants they reject.
"Those little ads? Nobody clicks on those!"
But, really, good systems are based on well-defined protocols, which makes the language choice moot. (If you're passing Java or C++ objects over the wire, shame on you!)
Article supplied by industry group or PR firm, passed off as original reporting.
edit: Compare it to this article in the new york times, http://www.nytimes.com/2010/12/02/business/media/02privacy.h..., three days earlier, which contains the FTC perspective, as well as comments from Google and Mozilla (and a note that Apple declined to comment).
Ironically, the moment said employee becomes former, Google no longer has claim to any work they do. What's at issue here is the extent of their claims on /current/ employees.
> but anything you think of relating to the company's business belongs to the company.
A company can own /ideas/? Copyrights, yes. Patents, yes. But ideas? Not so much.
Even the idea that the company has a blanket claim to anything you set to keyboard or paper outside of the office seems ludicrous and unenforceable. Write a song? Google owns it. Write a poem? Google's. So why would they essentially get a blanket claim to any program you write?
edit: What's protecting Google's secret ranking algorithms is confidentiality, not copyright.