The SG had to do a few TCP-level things for NAT purposes like rewriting checksums, and it would sometimes synthesize a RST. No layer 7 processing at all
There was a low level protocol allowing backends to get some extra metadata about a connection
HN user
The SG had to do a few TCP-level things for NAT purposes like rewriting checksums, and it would sometimes synthesize a RST. No layer 7 processing at all
There was a low level protocol allowing backends to get some extra metadata about a connection
The Macintosh has been around for 30 years. Three major transitions during that time doesn't seem like an abnormally high rate of change to me. DOS-based Windows -> Win95 -> NT during the same period is pretty close.
I also find it hard to blame Apple for the death of 68k and PPC. If you know what the dominant processor architectures will be in 2035, please tell me which stocks to buy :)
The LM hash hasn't been stored by default for years now: http://en.wikipedia.org/wiki/LM_hash.
The problem wasn't the difficulty of adding a better hash algorithm. The lousy hash was kept around to maintain compatibility with network clients that didn't support the new algorithms.
You really want to start off with a baseline of good sleep, eating and fitness habits. If you are healthy you'll have a lot more energy to get things done.
After that it's like everyone tells you--choose the most important things to do with your time. My advice would be to make really sure the goals you are choosing match with what you're internally motivated to do.
It may be that your spouse and children (and maybe even your day job) are more important to you than side projects. If that's the case, and those things eat 100% of your time, be happy that you're doing what's most important, and stop wasting energy fretting about the endless list of things you would do if you had no time constraints.
I think DOS/Windows is a pretty good analog, and it was very successful.
The time required to JIT compile code apparently has a big effect on web browser JavaScript performance. Web pages often have a lot of cold code that isn't run often.
JavaScriptCore is getting a new fast interpreter that will be the first choice way to run code that hasn't proven hot: http://trac.webkit.org/changeset/108309
I don't think Id got most of the money, or any sustainable advantage from making the first networked first person shooters, but that's not the point. First mover gets to change the world. That was true for Id, Xerox, AT&T, etc.
This is a good insight. Pair programming is a tool that is very useful in some contexts but not in others.
There are so many things that can vary from project to project: How big is the system? What level of expertise does each developer have with the domain, or with the tools being used to build it? What are the personalities of all the people involved? Is the system a cutting edge research project or a well understood thing that just doesn't happen to exist yet?
All of these variables, and lots more, would influence my decisions about who I'd want to work with, and (if there is someone other than me) how we'd work together.
Given all that I consider it extremely unlikely that there are any useful and universal conclusions to be drawn.
The benefits of share most likely do outweigh disadvantages for most people, most of the time. The whole point of putting photos on Flickr is that you can share them with other people. However, Flickr also gives its users the opportunity to specify access controls on their photos as well. Being able to control who sees, and who shares photos is another reason to use Flickr. As both an engineer and a photographer, I greatly prefer a system that puts its users in control, rather than forcing everyone into a single path that the designers believe is in their best interest.
Flickr and Pinterest both have systems that allow copyright holders to specify what rights they wish to grant to others. Those two systems are now interoperable. Cool.