What does any of these have to do with Google? Contiki sounds like an awesome embedded OS for things like wireless sensor networks. Wireless sensor networks often use TCP/IP (or variations of, such as IwIP used in Contiki: http://en.wikipedia.org/wiki/LwIP) for their networking. The link between Contiki and Google would be Contiki -> TCP/IP -> Internet -> Google, therefore Slashdot worthy?
Seriously, not everything has to do with Google in order for it to be "News for Nerds". Being able to do so much with an OS within such limitations is very impressive and has merits of its own.
Are we talking about production environment or a development environment? In production, we log our exceptions or when major changes happen, such as something being deleted. The goal there is to help our support team and customers nail down the problems when they arise. I don't know if LoC is the right measure for these things. Our UI (it's a web app) has little to no logging since errors just appear when the UI has a problem. So we can have hundreds of lines of code with no logging there. Our backend logs much more frequently. Basically every "catch" block has a call to the logger (log4net is what we use as well). Still, most of us prefer to hook a debugger up to the process during development and rarely ever go back through the logs. The only time the logs are frequently used prior to production is when we're running automated QA and we want to know what happened when a test case fails. In that case, when we compile with the debug flag, we log quite a bit and more frequently and log things that only our developers would understand.
I guess maybe the rule of thumb is, depending on the environment, generate logs that are targeted at the audience when things go wrong. I'm not convinced frequency of logs is a meaningful measure of appropriate logging.
Unless something has changed dramatically, an expired license won't bring down any already deployed VMs. It simply won't allow you to deploy undeployed ones. It doesn't shut down the VMs as the headline makes it sound nor is it a bug in the hypervisor. Yes it's embarrassing that this got out but can we have a less sensationalist headline and summary?
I've generally stopped pirating games now that I'm older and financially independent. It used to happen a lot more when I was living under my parents' roof. That's not a real excuse. Still, I occasionally pirate games because:
1. I want to try them out first. In my opinion, 95% of games out there suck and I get tired of them in a few hours because most don't have any replay value. As a result, I usually pirate the games to try them out and buy them later or I buy from the used game bin a few yeas after they've come out because wasting $10 is better than losing $40+. There are some companies out there who've established such a good reputation that I don't need to do this. I've purchased every one of Blizzard's non-MMORPG games since StarCraft because they've yet to disappoint me and their games have such good replay value. I still play Diablo II and StarCraft every now and then.
2. DRM sucks. I pirated Company of Heroes and then I liked it so much that I purchased it. When the expansion, Opposing Fronts, came out I purchased that too since I figured the company is good at what they do. After installing it, however, I want to pirate it because the DRM on the expansion is annoying as hell. They check for media or you have to register yourself with their multiplayer server. Both of these things are annoying for me. I would much rather go pirate it so the stupid game doesn't nag me everytime I try to play it. This is AFTER I've already purchased the game.
As an UI developer (at least part of the time) at a major software company, I see this pitfall even in my own work. A lot of us are more concerned about coding up the UI to expose the new features but that's where we stop. OK new features is exposed, on to the next one! Then the UI designers come in and suggests all these changes and we end up undoing a lot of the work we did before. It's such a waste of time. This is a mistake we've learned and look to correct in our next version's development cycle. Sometimes it makes sense to develop software from UI on down because at the end of the day, it's the user's experience that matters, not necessarily how clever or elegant the inner workings of our software is (this does matter in the long run -- a good foundation allows us to make changes and add things quickly).
Another pet-peeve of mine is explaining to the UI designer that we can't do something because of engineering problems when what the designer is suggesting is simple. A rule of thumb of mine is that if the suggested UI interaction/function is simple then the amount of effort to make it happen should also be simple. If it is not, then something is wrong with the UI framework.
Good UI is in some ways a lot harder than what people might expect. It's really a multi-discipline field that takes more than just a good engineer. It requires a good psychologist (one of our UI designers was a cognitive science major) and a good writer. We learned so much about our UI design from filming people using our product and watching their frustration. This was an expensive process in both time and money. I can see a company being able to do this but it's considerably harder for an open source project, especially a small one without a lot of resources. Bad UI design happens everywhere but it seems only software companies and major open source projects have the dedicated resources to fix it. Like the article said, it's a high bandwidth process; people need to be together at the same place to discuss these things and it takes hours as you can tell from my own submission to Ask Slashdot.
"i.e. we all learned how to malloc/free, but we didn't learn System.Windows.Forms."
Yep. I think I should have been more clear about that. So I actually did take compilers with Zhao and took OS with Arvind. I don't know. Maybe I just incorporated all the coding related things that they talked about without being conscious of it. It could also be that I live in the Microsoft and.Net world now and the only things that was portable between college and my jobs were algorithms and theories, which I'm very thankful Yale had the foresight to drill into my head.
Just thought of something that would proof that I'm not BSing. The lab in AKW was called the "Zoo" and they ran RedHat. They were on the 2nd and 3rd floor of AKW.
I'm not sure if we have different perspectives on our education. It would be that you're misunderstanding what I'm saying or that I wrote it badly. Let's be clear, I'm not saying Yale CS was bad at all. I have a lot of respect for it but it seems that we were much more theory oriented than coding oriented and I'm glad we were.
I suppose you can say that but I really don't remember Eisenstat[sp?] ever teaching us more than more than the basic C stuff. Maybe my memory is rusty but compared to the vast amount I learned after graduating, it seems like we were taught just enough. Maybe you and I have different scales for rating these things. I'm not saying Yale produces bad programmers but it doesn't really concentrate on and expand on the practical side of things. I had to learn C++ on my own for my OS class (forgot the number for that one), whereas, from what I hear, other schools would have a class or two centered around it. Design pattern was certainly never taught but that's not exactly coding fundamentals.
I won't answer your question on my year or even what college I was in since the CS program was small and that would narrow my identity more that I like. If you knew someone from 03 then you and I were close in year. I can tell you that the CS building was AKW on Prospect street, which is the beginning of Science Hill.
Isn't the OP making the assumption that you can learn everything you need from the reading? If that's the case why bother going to college at all? If you can judge a CS program by its reading list, then there's no value added by the program itself. Professors and your fellow students contribute quite a bit to your education.
For some people, formal education isn't necessary. I've met a few brilliant programmers who've never graduated college or even attended one. I've also met some brilliant Ph.D.s I don't think we'll find an answer that works for everyone. Colleges also know that they're not the best fit for everyone, which is why there is an admissions process. At least at Yale the process isn't only about finding brilliant students but also finding the people who would benefit the most from the environment and contribute back to it as well. Every year the Ivy Leagues get a ton of applicants and many of those who are rejected are quite intelligent.
I can't tell you how the computer science programs compare because I've only gone through one of them and that's from Yale. Having worked in the industry for a few years now, I would say that I'm glad I went to Yale and majored in CS. I don't pretend that Yale is somehow better than all the other schools out there, especially compared to the more technically oriented schools. A professor of mine even admitted this to me, "We're no MIT" but then he followed up with, "If you want to do something substantial you must pioneer a new field." So there you have it. Yale is no technical powerhouse but it does do things that are kind of new and out there.
With the overviews out of the way, here's what I really love about the Yale CS program: 1. Very academic and theory based. There is no classes for a specific language. You learned a language as part of some other course. If the professor happened to pick C, then you learned C on the side by reading K & R. The professor will tell you which chapters you will need to read but that's it. The class is about systems so you learned that. 2. Small class sizes and informal interaction with professors. It was generally encouraged to call your professors by their first name and really get to know them. You also learned a lot outside of classes and from discussions. A professor invited me to attend some discussion groups that some professor and graduate students were having because he thought I might be interested. From my experience, I wasn't just a student or a bucket but considered an active contributor. 3. Probably the most valuable lesson I learned was having the attitude to not be frightened by problems or new concepts. They like to demystify things and show you how simple everything is underneath. Wonder how something works or should work? Go read the RFCs. I think that's where point #1 really came in handy. Once you have a solid foundation in theory, it became easier to understand how the more complex systems and concepts work.
Obviously this came with some disadvantages. One Microsoft recruiter complained to my professor that Yale students seem to lack practical experience and I have to agree. Coming out of college, I probably knew less about existing APIs than others but that didn't take long to rectify. I think Yale knows this which is why they're more concerned with a solid foundation in theory than any specific APIs. Furthermore, this can be remedied with the right internships during the summer.
I'll leave you to be the judge of how the programs compare.
Wow, way to kick a friend after having fought a major war together. We practically gave the UK 50 destroyers for nothing in 1940, before we entered the war. See http://en.wikipedia.org/wiki/Destroyers_for_Bases_Agreement . We supplied arms to China when Japan invaded them, well before the official start of WWII. Some can argue that by taking sides we invited the attack on Pearl Harbor. So how is it that we refuse to help our friends, even though the struggles were separated from us by oceans.
You honestly think the allies could have won WWII without the US? How many trucks (or lorries if you like) did the USSR built in all of WWII? IIRC, it was 2. We supplied most of the trucks to them so they can use their factories to build tanks. That's just one example of how US industrial might was used to aid our allies. Yes our allies did a lot of the fighting. In Europe, the majority of the fighting was done by our allies, especially the USSR. No one can argue that. However, modern wars have a strong reliance on materiel and that's where the US really helped out.
As for your statement about the US being assholes in foreign policy, please don't pretend the UK wasn't part of that. The Suez Crisis and Operation Ajax both involved the UK. Oh and thanks for fucking up the Palestine Mandate after WWI. Don't pretend Germany was the only anti-Semitic country that wanted to get rid of their Jews. If you want to search for one country who've historically fucked over the most people, the UK would easily take the lead. Selling opium to China to balance out the trade imbalance and then taking Hong Kong after they lose their war to stop the trade is just one example of the sort of thing the UK has done for the world. Turning Japanese POWs loose on the Vietnamese after WWII to help the French retain their colony is yet another.
IANAL so I don't know if this applies but Stanley Milgram's small world experiment sounds very similar. This is where the 6 degrees of separation idea came from. Basically social networks consists of spokes and hubs. Hubs are basically popular people who knows everyone in their area and these hubs allow people to be connected with other people in other areas, ensuring that people are never separated by more than 6 hops. Think of these as routers but for people. Isn't Google's "influential" people the same thing? I mean once you have a graph of a social network, the hubs are pretty obvious. Where's the originality in this concept?
How about just make the devices run a VM and just keep copying the VM? I think VMware ACE or Player would help in this regard. Maybe I misunderstood your intentions.
"Sorry for the google bashing, but this doesn't seem like google is as much interested in defending the poor customers against the evil ISP's as it's trying to defend it's own commercial interests."
That's when you know when you can really trust someone, when both parties' interests are aligned. Trusting someone's good intentions has a long history of disappointment.
It's not just the language that matters. Yes any decent programmers can pick up a language in no time but the real issue is the libraries and frameworks and patterns that often go with a language and its environment. Re-learning the APIs for the environment takes time. Good documentation helps a lot and so does being open source (or use the Lutz reflector if you're doing.Net). Even then there are still certain conventions for different environments. Python programmers talk about code being "Pythonic". While there are many ways to do something in Python, there is usually a few good ways or patterns for a problem. So, it's not just the language but everything else that goes around the language that also matters.
I don't know what sort of software engineer you had the misfortune of working with but speaking as a software engineer myself, the one fo the first lessons we learn is to leave the details to the domain experts! How many software engineers have had unreasonable requests from program managers? The rule of thumb in the interaction between software engineers and PMs is that PMs state the needs and requirements and software engineers figure out how to implement it along with the cost of meeting those requirements. Then the process of negotiating starts and PMs have to make the trade off between various requirements until the cost comes inside the budget.
The same thing goes for other engineers. Backend and system engineers shouldn't tell the UI engineers how to to implement the UI but just what features to expose and the inputs needed from the user. Likewise the UI engineers tell the backend engineers about how easy it is to use the backend APIs to do something and request changes as needed.
Modularity and separation of concerns are applicable principles in other fields of engineering and management, one would think.
I don't mean it's nothing new for the current Chinese government but also from a historical point of view. China has always had a very strong central government. A few years back I read Spence's Treason by the Book. The amazing thing about the whole incident is that even during the Qing dynasty, China kept such good records of its population that it was able to very quickly track down and arrest the person who published a pamphlet/book that was considered subversive to the government. This was in an era before computers and databases and, IIRC, in the 1700s.
My point here obviously isn't to justify it but to point out that an "all seeing eye" at the very least serves the purpose of stamping out opposition to the government. Just good record keeping and census as in the case of 18th century China was enough to track down a dissenting voice.
"Drunk driving is not a game, and it is not a joke," MADD said in a statement released Tuesday. "Drunk driving is a choice, a violent crime and it is also 100 percent preventable."
Right and like war, gun fights, etc. are jokes? Yet they're portrayed in movies and games. Violent crime? Give me a break. By that logic so is jaywalking. Can they both lead to violent accidents but they're not of themselves violent.
Just putting myself, a computer nerd/software engineer, in the place of the math nerds, I don't think I would want to go to a party that's math themed. Parties are like miniature breaks from what we do normally. I enjoy dinner parties with people from different backgrounds because the conversations are interesting and new. Better yet, parties where we don't mention work but things we did outside of work are great because we get to see a different side of each other. Plus, parties are meant for socialization, not sure if math is the optimal thing for that. I suggest stepping back and asking yourself what you really want out of the party. If fun is what you're looking for, then cast a wider net because there's a ton of ways to have fun.
All else fails, just have an orgy. That has to be new and interesting to nerds. j/k
My work has pinball machines lying around (tech company in Silicon Valley, go figure) and when they first arrived, I was pretty addicted to them, especially since I didn't have to pay. One day I finally realized that the almost total lack of control, especially for newbie for me, and hard to predict scoring system was a lot like playing the slot machines. Every time I'm done, I would say, "just one more game" and try to improve my score. Sometimes I would get a new personal high score but most of the times I don't. Nonetheless, I always felt like the next game would be it. This is something I never get from video games. Especially for strategy games, I would consistently get better and analyze and learn after each game.
The one thing I can tell you though is that there are a lot of pinball addicts at my company and those machines break A LOT. I've seen the brand new game break down more than a couple of times within a few months. The surfaces are roughed up and within a month you can't tell the difference from machines that you see in bars. I've seem them get repaired and there is A LOT of electronics and moving parts inside, easily rivaling a PC.
What does any of these have to do with Google? Contiki sounds like an awesome embedded OS for things like wireless sensor networks. Wireless sensor networks often use TCP/IP (or variations of, such as IwIP used in Contiki: http://en.wikipedia.org/wiki/LwIP) for their networking. The link between Contiki and Google would be Contiki -> TCP/IP -> Internet -> Google, therefore Slashdot worthy?
Seriously, not everything has to do with Google in order for it to be "News for Nerds". Being able to do so much with an OS within such limitations is very impressive and has merits of its own.
Are we talking about production environment or a development environment? In production, we log our exceptions or when major changes happen, such as something being deleted. The goal there is to help our support team and customers nail down the problems when they arise. I don't know if LoC is the right measure for these things. Our UI (it's a web app) has little to no logging since errors just appear when the UI has a problem. So we can have hundreds of lines of code with no logging there. Our backend logs much more frequently. Basically every "catch" block has a call to the logger (log4net is what we use as well). Still, most of us prefer to hook a debugger up to the process during development and rarely ever go back through the logs. The only time the logs are frequently used prior to production is when we're running automated QA and we want to know what happened when a test case fails. In that case, when we compile with the debug flag, we log quite a bit and more frequently and log things that only our developers would understand.
I guess maybe the rule of thumb is, depending on the environment, generate logs that are targeted at the audience when things go wrong. I'm not convinced frequency of logs is a meaningful measure of appropriate logging.
Unless something has changed dramatically, an expired license won't bring down any already deployed VMs. It simply won't allow you to deploy undeployed ones. It doesn't shut down the VMs as the headline makes it sound nor is it a bug in the hypervisor. Yes it's embarrassing that this got out but can we have a less sensationalist headline and summary?
I mean this one had "Made in China" written all over it! "Made in China" and faked? Never!
It's ironic that I would trust pirates over some game developers to not screw up my system.
I've generally stopped pirating games now that I'm older and financially independent. It used to happen a lot more when I was living under my parents' roof. That's not a real excuse. Still, I occasionally pirate games because:
1. I want to try them out first. In my opinion, 95% of games out there suck and I get tired of them in a few hours because most don't have any replay value. As a result, I usually pirate the games to try them out and buy them later or I buy from the used game bin a few yeas after they've come out because wasting $10 is better than losing $40+. There are some companies out there who've established such a good reputation that I don't need to do this. I've purchased every one of Blizzard's non-MMORPG games since StarCraft because they've yet to disappoint me and their games have such good replay value. I still play Diablo II and StarCraft every now and then.
2. DRM sucks. I pirated Company of Heroes and then I liked it so much that I purchased it. When the expansion, Opposing Fronts, came out I purchased that too since I figured the company is good at what they do. After installing it, however, I want to pirate it because the DRM on the expansion is annoying as hell. They check for media or you have to register yourself with their multiplayer server. Both of these things are annoying for me. I would much rather go pirate it so the stupid game doesn't nag me everytime I try to play it. This is AFTER I've already purchased the game.
Agree with this point: "Coding before design".
As an UI developer (at least part of the time) at a major software company, I see this pitfall even in my own work. A lot of us are more concerned about coding up the UI to expose the new features but that's where we stop. OK new features is exposed, on to the next one! Then the UI designers come in and suggests all these changes and we end up undoing a lot of the work we did before. It's such a waste of time. This is a mistake we've learned and look to correct in our next version's development cycle. Sometimes it makes sense to develop software from UI on down because at the end of the day, it's the user's experience that matters, not necessarily how clever or elegant the inner workings of our software is (this does matter in the long run -- a good foundation allows us to make changes and add things quickly).
Another pet-peeve of mine is explaining to the UI designer that we can't do something because of engineering problems when what the designer is suggesting is simple. A rule of thumb of mine is that if the suggested UI interaction/function is simple then the amount of effort to make it happen should also be simple. If it is not, then something is wrong with the UI framework.
Good UI is in some ways a lot harder than what people might expect. It's really a multi-discipline field that takes more than just a good engineer. It requires a good psychologist (one of our UI designers was a cognitive science major) and a good writer. We learned so much about our UI design from filming people using our product and watching their frustration. This was an expensive process in both time and money. I can see a company being able to do this but it's considerably harder for an open source project, especially a small one without a lot of resources. Bad UI design happens everywhere but it seems only software companies and major open source projects have the dedicated resources to fix it. Like the article said, it's a high bandwidth process; people need to be together at the same place to discuss these things and it takes hours as you can tell from my own submission to Ask Slashdot.
"i.e. we all learned how to malloc/free, but we didn't learn System.Windows.Forms."
Yep. I think I should have been more clear about that. So I actually did take compilers with Zhao and took OS with Arvind. I don't know. Maybe I just incorporated all the coding related things that they talked about without being conscious of it. It could also be that I live in the Microsoft and .Net world now and the only things that was portable between college and my jobs were algorithms and theories, which I'm very thankful Yale had the foresight to drill into my head.
Just thought of something that would proof that I'm not BSing. The lab in AKW was called the "Zoo" and they ran RedHat. They were on the 2nd and 3rd floor of AKW.
I'm not sure if we have different perspectives on our education. It would be that you're misunderstanding what I'm saying or that I wrote it badly. Let's be clear, I'm not saying Yale CS was bad at all. I have a lot of respect for it but it seems that we were much more theory oriented than coding oriented and I'm glad we were.
"but VERY STRONG on the coding fundamentals. "
I suppose you can say that but I really don't remember Eisenstat[sp?] ever teaching us more than more than the basic C stuff. Maybe my memory is rusty but compared to the vast amount I learned after graduating, it seems like we were taught just enough. Maybe you and I have different scales for rating these things. I'm not saying Yale produces bad programmers but it doesn't really concentrate on and expand on the practical side of things. I had to learn C++ on my own for my OS class (forgot the number for that one), whereas, from what I hear, other schools would have a class or two centered around it. Design pattern was certainly never taught but that's not exactly coding fundamentals.
I won't answer your question on my year or even what college I was in since the CS program was small and that would narrow my identity more that I like. If you knew someone from 03 then you and I were close in year. I can tell you that the CS building was AKW on Prospect street, which is the beginning of Science Hill.
Isn't the OP making the assumption that you can learn everything you need from the reading? If that's the case why bother going to college at all? If you can judge a CS program by its reading list, then there's no value added by the program itself. Professors and your fellow students contribute quite a bit to your education.
For some people, formal education isn't necessary. I've met a few brilliant programmers who've never graduated college or even attended one. I've also met some brilliant Ph.D.s I don't think we'll find an answer that works for everyone. Colleges also know that they're not the best fit for everyone, which is why there is an admissions process. At least at Yale the process isn't only about finding brilliant students but also finding the people who would benefit the most from the environment and contribute back to it as well. Every year the Ivy Leagues get a ton of applicants and many of those who are rejected are quite intelligent.
I can't tell you how the computer science programs compare because I've only gone through one of them and that's from Yale. Having worked in the industry for a few years now, I would say that I'm glad I went to Yale and majored in CS. I don't pretend that Yale is somehow better than all the other schools out there, especially compared to the more technically oriented schools. A professor of mine even admitted this to me, "We're no MIT" but then he followed up with, "If you want to do something substantial you must pioneer a new field." So there you have it. Yale is no technical powerhouse but it does do things that are kind of new and out there.
With the overviews out of the way, here's what I really love about the Yale CS program:
1. Very academic and theory based. There is no classes for a specific language. You learned a language as part of some other course. If the professor happened to pick C, then you learned C on the side by reading K & R. The professor will tell you which chapters you will need to read but that's it. The class is about systems so you learned that.
2. Small class sizes and informal interaction with professors. It was generally encouraged to call your professors by their first name and really get to know them. You also learned a lot outside of classes and from discussions. A professor invited me to attend some discussion groups that some professor and graduate students were having because he thought I might be interested. From my experience, I wasn't just a student or a bucket but considered an active contributor.
3. Probably the most valuable lesson I learned was having the attitude to not be frightened by problems or new concepts. They like to demystify things and show you how simple everything is underneath. Wonder how something works or should work? Go read the RFCs. I think that's where point #1 really came in handy. Once you have a solid foundation in theory, it became easier to understand how the more complex systems and concepts work.
Obviously this came with some disadvantages. One Microsoft recruiter complained to my professor that Yale students seem to lack practical experience and I have to agree. Coming out of college, I probably knew less about existing APIs than others but that didn't take long to rectify. I think Yale knows this which is why they're more concerned with a solid foundation in theory than any specific APIs. Furthermore, this can be remedied with the right internships during the summer.
I'll leave you to be the judge of how the programs compare.
Wow, way to kick a friend after having fought a major war together. We practically gave the UK 50 destroyers for nothing in 1940, before we entered the war. See http://en.wikipedia.org/wiki/Destroyers_for_Bases_Agreement . We supplied arms to China when Japan invaded them, well before the official start of WWII. Some can argue that by taking sides we invited the attack on Pearl Harbor. So how is it that we refuse to help our friends, even though the struggles were separated from us by oceans.
You honestly think the allies could have won WWII without the US? How many trucks (or lorries if you like) did the USSR built in all of WWII? IIRC, it was 2. We supplied most of the trucks to them so they can use their factories to build tanks. That's just one example of how US industrial might was used to aid our allies. Yes our allies did a lot of the fighting. In Europe, the majority of the fighting was done by our allies, especially the USSR. No one can argue that. However, modern wars have a strong reliance on materiel and that's where the US really helped out.
As for your statement about the US being assholes in foreign policy, please don't pretend the UK wasn't part of that. The Suez Crisis and Operation Ajax both involved the UK. Oh and thanks for fucking up the Palestine Mandate after WWI. Don't pretend Germany was the only anti-Semitic country that wanted to get rid of their Jews. If you want to search for one country who've historically fucked over the most people, the UK would easily take the lead. Selling opium to China to balance out the trade imbalance and then taking Hong Kong after they lose their war to stop the trade is just one example of the sort of thing the UK has done for the world. Turning Japanese POWs loose on the Vietnamese after WWII to help the French retain their colony is yet another.
I count at least two: MIT and Harvard.
IANAL so I don't know if this applies but Stanley Milgram's small world experiment sounds very similar. This is where the 6 degrees of separation idea came from. Basically social networks consists of spokes and hubs. Hubs are basically popular people who knows everyone in their area and these hubs allow people to be connected with other people in other areas, ensuring that people are never separated by more than 6 hops. Think of these as routers but for people. Isn't Google's "influential" people the same thing? I mean once you have a graph of a social network, the hubs are pretty obvious. Where's the originality in this concept?
Well, they might as well start early and get into the practice of out-sourcing.
"£100 for postgraduate dissertations."
Seriously!? If those dissertations are any good, we might as well go directly to the source and hire those guys to do R & D for us.
How about just make the devices run a VM and just keep copying the VM? I think VMware ACE or Player would help in this regard. Maybe I misunderstood your intentions.
"Sorry for the google bashing, but this doesn't seem like google is as much interested in defending the poor customers against the evil ISP's as it's trying to defend it's own commercial interests."
That's when you know when you can really trust someone, when both parties' interests are aligned. Trusting someone's good intentions has a long history of disappointment.
It's not just the language that matters. Yes any decent programmers can pick up a language in no time but the real issue is the libraries and frameworks and patterns that often go with a language and its environment. Re-learning the APIs for the environment takes time. Good documentation helps a lot and so does being open source (or use the Lutz reflector if you're doing .Net). Even then there are still certain conventions for different environments. Python programmers talk about code being "Pythonic". While there are many ways to do something in Python, there is usually a few good ways or patterns for a problem. So, it's not just the language but everything else that goes around the language that also matters.
I don't know what sort of software engineer you had the misfortune of working with but speaking as a software engineer myself, the one fo the first lessons we learn is to leave the details to the domain experts! How many software engineers have had unreasonable requests from program managers? The rule of thumb in the interaction between software engineers and PMs is that PMs state the needs and requirements and software engineers figure out how to implement it along with the cost of meeting those requirements. Then the process of negotiating starts and PMs have to make the trade off between various requirements until the cost comes inside the budget.
The same thing goes for other engineers. Backend and system engineers shouldn't tell the UI engineers how to to implement the UI but just what features to expose and the inputs needed from the user. Likewise the UI engineers tell the backend engineers about how easy it is to use the backend APIs to do something and request changes as needed.
Modularity and separation of concerns are applicable principles in other fields of engineering and management, one would think.
My point here obviously isn't to justify it but to point out that an "all seeing eye" at the very least serves the purpose of stamping out opposition to the government. Just good record keeping and census as in the case of 18th century China was enough to track down a dissenting voice.
The Harvard Mark 1, http://en.wikipedia.org/wiki/Harvard_Mark_I, still runs periodically throughout the day in the Harvard science center, IIRC. It was delivered in 1944.
"Drunk driving is not a game, and it is not a joke," MADD said in a statement released Tuesday. "Drunk driving is a choice, a violent crime and it is also 100 percent preventable."
Right and like war, gun fights, etc. are jokes? Yet they're portrayed in movies and games. Violent crime? Give me a break. By that logic so is jaywalking. Can they both lead to violent accidents but they're not of themselves violent.
Just putting myself, a computer nerd/software engineer, in the place of the math nerds, I don't think I would want to go to a party that's math themed. Parties are like miniature breaks from what we do normally. I enjoy dinner parties with people from different backgrounds because the conversations are interesting and new. Better yet, parties where we don't mention work but things we did outside of work are great because we get to see a different side of each other. Plus, parties are meant for socialization, not sure if math is the optimal thing for that. I suggest stepping back and asking yourself what you really want out of the party. If fun is what you're looking for, then cast a wider net because there's a ton of ways to have fun.
All else fails, just have an orgy. That has to be new and interesting to nerds. j/k
My work has pinball machines lying around (tech company in Silicon Valley, go figure) and when they first arrived, I was pretty addicted to them, especially since I didn't have to pay. One day I finally realized that the almost total lack of control, especially for newbie for me, and hard to predict scoring system was a lot like playing the slot machines. Every time I'm done, I would say, "just one more game" and try to improve my score. Sometimes I would get a new personal high score but most of the times I don't. Nonetheless, I always felt like the next game would be it. This is something I never get from video games. Especially for strategy games, I would consistently get better and analyze and learn after each game.
The one thing I can tell you though is that there are a lot of pinball addicts at my company and those machines break A LOT. I've seen the brand new game break down more than a couple of times within a few months. The surfaces are roughed up and within a month you can't tell the difference from machines that you see in bars. I've seem them get repaired and there is A LOT of electronics and moving parts inside, easily rivaling a PC.