Or did you mean "good for independent email operators"?
1,803 karma · joined June 4, 2010
Or did you mean "good for independent email operators"?
I'm very curious whether she still thinks and hopes the same things about Google that she did then.
I went digging into a Buzz post about the Boston startup scene that Piaw referenced, and could only find a crufty unstyled version in the Internet Archive. If you can forgive the formatting, it's still excellent reading: https://web.archive.org/web/20100613173203/http://www.google...
Did she ever succeed? Did she write her thoughts in a more digestible format and make those writings public? Does she have further commentary on her thesis on the capitalist or non-capitalist tendencies of modern software companies, or on other topics?
Mostly I'd just love to read more of her writing, if it exists.
Edit: I believe she is Rebecca Frankel, according to http://danluu.com/programming-blogs/#rebecca-frankel. Still interested in any pointers to more of her writing if it exists.
Which do you think costs Comcast more? Temporarily disabling 20,000 customers' internet connections, or forcing Akamai to drop Brian Krebs as a customer?
In context, it's likely they mean "1080p [or higher]", but it's arguably ambiguous.
There's a lot that goes into making a secure system. And there is considerable economy of scale -- a large company can afford to have 24/7 monitoring and issue escalation processes. You cannot.
for the most part it feels like TV shows don't have
that pressure to fit into a very tight box.
Don't they? I feel like TV is a lot more constrained than movies. The forced "last time on XYZ" cadence means that it's very difficult to have natural story-lines when things need to be wrapped up in a suitable emotional resolution and/or cliffhanger every 22 or 45 minutes. Especially when the writers are working with 25% of the screen time being commercials (thankfully much less of a problem with Digital-first TV from Netflix, HBO etc.).I think it's a lot easier to write and produce a quality movie about just about anything. Yes the mass-produced sequel machines look pretty cookie cutter, but you also get some extremely well-told stories like In Bruges or Wes Anderson's stuff. There's anything-goes stuff like Swiss Army Man. I feel like this kind of thing couldn't realistically be produced for TV. The acting, writing, and production value falls off a cliff very quickly as soon as you leave the mainstream. Even a single season of a TV show means 6-10x as much content as a movie, and consistently conforming to the structure of a serial TV show means the content feels inevitably more repetitious.
It's interesting, I think both of these metrics reward largely the same thing, independent of actual approximate shape, which is a lack of irregularity in their borders and many degrees of symmetry.
Square countries are relatively close to being circular compared to the many highly irregular countries out there, not compared to other regular N-gons.
http://www.businessinsider.com/space-born-animals-adjust-to-...
To me, mocks are useful for one thing only: there is some expensive or flaky dependency of your code that you may have poor visibility into, and you want to write a test that does not rely on its availability. Mocks for databases, file systems, REST APIs, externally maintained libraries, etc. all make sense to me. But if some library is developed locally (or in the extreme case, by you) and you can easily depend on its existence and stability, then I see no reason not to write code that depends on that library and test against that library. This is a testing strategy for a pragmatist, not a purist.
Go in particular makes it easy to separate a single codebase into separate logical packages, and if you do so, it often makes sense to test them together. That's why this is a pretty Go-specific issue.
My number one favorite thing about Go: you can look at a code sample in isolation in a large-scale system and know what it does.
Why? Every identifier is either lexically scoped or lives in a module. There are about 6 control structures and they all do what they look like they do. Operators are all defined over a small set of well-defined primitives, they can't be overridden. Closures, callbacks, and non-linear control flow are rare and obvious. There is no way for code to be skipped by exceptional control flow apart from the single escape hatch called panic().
It's really like no other language I've ever coded in. You can work in large codebases that are as clear as your average Go code, if you have strong guidance about what kinds of code complexity are acceptable and you are ever-vigilant about avoiding language pitfalls, but nothing is quite as freeing as knowing for a fact you will be able to parse someone else's code because there wasn't any way for them to write something you can't understand.
Rather it's the third-party proprietary stuff. Someone else owns proprietary code you deeply rely on but doesn't share any of your business goals and needs. And when dealing with hardware, there is a whole raft of firmware and drivers that could be licensed this way.
Advertising will always work so long as there is producer surplus[1] in the economy. If firm A and firm B both earn $10 of economic surplus on the purchase of some product, then either supplier will be willing to spend up to $10 to convince a customer to switch from their competitor to their product. If a customer considers the two firms' products to be substitute goods[2], then both products may be "perfect" search results, because the customer doesn't have a preference between them and considers them both to be equivalently useful, which is why Google can extract money from advertisers to show their product first without significantly harming their user experience.
[1]: https://en.wikipedia.org/wiki/Economic_surplus [2]: https://en.wikipedia.org/wiki/Substitute_good
"Let's not comment" is, I think, the default position of PR departments everywhere on everything unless there is a crisis or a marketing campaign going on. Throwing fuel on a fire isn't wise unless you want there to be a fire.
This is a director of communications we are talking about. Literally the beginning, middle, and end of her job description is "Consider our brand image." If she sounds overly concerned about Google X's brand image, that's because it's her job. Google pays her so that the rest of their employees don't have to be so concerned.
Basically every company on the planet with more than 20 people in it has someone making strategic decisions like this. The only difference here is we have a whistleblower reporting what she says internally. There's just about zero to learn about Google's priorities from her priorities, except that none of her immediate superiors is banging the drum for a PR battle over DoD robots.
In general programmers are pretty good about not kicking off expensive computations they don't need to, so the easy pickings here are probably pretty small. And as soon as there are any side effects at all (which includes any writes to shared memory) it becomes very hard to reason about moving computation from one thread to another. So it's easy to see why compiler writers are not super excited to start optimizing across concurrent threads.
Futures are not a concurrency mechanism precisely. They are a monadic data structure around possibly-concurrent execution. You can wrap a Future around concurrent execution by an Actor, or you can do what you have done and wrap a Future around a sequential recursive computation. As with the synchronous .NET core implementation of the benchmark, the performance is better due to not having the overhead of Actors or other concurrency. Like the synchronous .NET core implementation writing the computation this way is not a fair comparison to the other languages in the benchmark and the high performance does not indicate anything about the efficiency of the concurrency mechanisms available in Scala.
"c <- num" is a blocking statement. Since c is an unbuffered channel, execution cannot proceed past the statement until a reader consumes a value. The reader in this case creates 10 goroutines executing "c <- num" and only then starts consuming values. If the statements you wrote were inlined execution would immediately halt in a deadlock.
That betrays the whole benchmark. The basic point of the benchmark is to answer the question, "How expensive is it to create and run 1,111,111 actors in various languages?" You can't make a manual optimization that causes only 111,111 actors to be created and then say that it's a better comparison.
http://www2.law.ucla.edu/volokh/guilty.htm#T187 http://www2.law.ucla.edu/volokh/guilty.htm#187
And for that matter, does burguggle-git-svn keep SVN revisions traceable? Or are we assuming git is the pinnacle of software revision control and emacs would never ever change again.
Why do you suppose the Africans would see it differently? They were in fact confined to belowdecks in anticipation of being sold into slavery by white men. Do you think they weren't cognizant of this? Do you think they would have rejected the institution of slavery on the basis that they were getting the short end of the stick? Slavery exists to this day and is generally recognized where it is seen. Attitudes towards it vary, but it's not a matter of belief or conjecture.
> Nevertheless, it is our duty to correct the terms they used to better reflect the reality. And this is common practice. If it weren't, Socrates would be remembered as a corrupter of the youth and Galileo as a heretic.
Socrates is remembered as an instigator of rebellion, and Galileo as a heretic in the eyes of the church. As it so happens, predominant Western culture cares much more about Socrates' other contributions to culture than his relationship with Athenian politics, and regards heresy as something of an unreasonable charge.
I really fail to see what the big deal is. Certainly attitudes towards slavery have changed dramatically over the years. Much as attitudes towards many historical facts of life have changed. That doesn't make them cease to be facts. Are you objecting to the article's use of "free men" and "slaves" as primary identifiers? The point of the article appears to be primarily about race and the institution of slavery, when in isolation shipwrecked on an island. The labels are not false, neither are they inappropriate in a historical context.
x = 2 * y
x = 2*y + 5
This is pretty readable. In fact I think it is more readable than the usual convention of "spaces around every binary operator," but it would be untenable without the existence of gofmt. The most common argument against a convention like this is, "subtle bugs will be introduced if the actual precedence is different than the one implied by whitespace," which is why it's great to have a benevolent formatting overlord telling you when or not your formatting is consistent.