This the 6th or 7th post i've read moderated +5 from some ignorant elitistic techie going about how technology people are somewhat superior to Sales and Marketing.
Honestly, i'm ashamed of being on the techie side of the fence.
Open your eyes people and get out of your high-horses: - A successful company is a gestalt of different people with different skills doing what they do best.
So yeah, people skills are really important if what you're trying to do is selling things to people, while logical skills are really important if what you're trying to do is construct really complex functional structures. That doesn't mean one is better than the other one.
And yes, a successful company needs both people that can sell well and people that can make great products to sell: - A great product that is not sold is worthless - A great salesforce with nothing to sell is worthless
If you create more compute power, someone will think of ways to use it.
They would be creating more computer power anyway: - They could concentrate on making CPUs run faster - They could use more silicon real-estate for bigger caches - They could integrate new ways of designing digital circuits using non-synchronous functional blocks
Instead the went for the approach of having many weak processing units instead of a few strong ones. It's a bit like having 1000 Ladas instead of a couple of Porsches: - It's beter if all you want is to move many people across small distances - It's not quite as good if what you're trying to do is get a small number of people from Cologne to Berlin as fast as possible.
What many of us are pointing out is that there are rarelly enough concurrent processing threads to justify hundreds, much less thousands of cores and that often enough you do have one or two time constrained non-paralelizeable tasks ("get from Cologne to Berlin as fast as possible") only now with this approach, you only have "Ladas" to do it with.
I once did some QA for a little while when I had just joined a company and they didn't had a project for me immediately.
Good thing it didn't last long:
I was having too much fun sending software back as "not working" after finding tons of bugs (Hint: when ur QA guy really knows SQL, you beter make sure you escape characters are properly dealth with).
I think i was even starting to develop an evil laughter...
Not only are they cheaper, but you're also 100% sure it's not a scam (since you either only pay when you get the stone or you pick the stone yourself) AND it's 100% yours so nobody else has it at the same time as you.
With 12 years industry experience in 3 different countries I have yet to come across a straight-out-of-the-University Software "Engineer" that understands the main kinds of software development processes (and in "Software Development Process" I include "requirements gathering", "analysis", "design", "development" "QA", "packaging", "support" and "post-release maintenance and extension"), their pros, cons, tradeoffs and best kind of environment in which to use them.
Most people just spew out keywords like "Agile" or "Extreme Programming" like those methods are it without actually understanding what they're talking about.
Of course there might be an University out there that sends out fully-formed Software Engineers.... then again, there might be a spot on Earth where the sky looks green: the only way to prove otherwise is to examine the full universe of possibilities...
I'll apply the scientific method here and stick with my yet to be disproven theory which matches 100% of the observed samples until I observe something that does not match it.
"Everything is pretty much run by [engineering] -- PMs and testers are conspicuously absent from the process."
Oh what a fucking nightmare!
Substitute "engineering" with "people that never worked anywhere else outside academia" and you'll get the picture.
In IT, universities don't train Engineers, they train Craftsmen.
The difference between a Craftsman and and Engineer is that while you can trust the first to put up a wall in you house, you will only trust the last to design you a bridge.
IT Craftsmen become IT Engineers by apprenticeship (working with those that have enough experience to know better), by being exposed to multiple ways of doing things and by doing their own errors and getting a chance of doing the same kind of thing again in a different way.
A straight-from-academia mono-culture like Google seems to be doesn't exactly help people to cross the barrier from code-aware to process-aware.
Responding to emails will obviously slow you down in finishing that report, but you will also stay on top of whatever issues were raised by the email
The problem is that context switching between "Doing report" and "Checking an e-mail that just arrived" and back not only takes some time, but also decreases your proficiency at both tasks for a period.
This would not be a problem if all or even most e-mails where actually worth reading. The problem is that 90% of e-mails are not relevant or important for you (this is especially true of e-mails sent to mailing lists) and another 5-9% are not important enough to justify the "context changing penalty".
In other words, you incur a penalty to check 100% of the just arrived e-mails when only 1 to 5 of each 100 are worth you interrupting the writing of your report.
Even with mail filters to filter out machine generated junk, you can still easily end up with only 1 in 10 e-mails which are worth the trouble.
I've worked in reasonably extreme examples of both kinds of environments:
Frequent interruptions, open-office noisy environment with lots of movement (Investment Banking, Software Development/Support in the trading floor)
Few interruptions, quiet team-sized offices (IT Products, Software Design and Development)
The productivity and work efficiency in the second kind of environment is several times (3 times or more) higher than in the first.
This seems to be true not only for me, but also for my colleagues. Amongst other things, in noisy environments with frequent interruptions people seem to make more mistakes and be more likely to forget important things.
From what I've seen, the most extreme cases of multi-tasking (crack-berry users) are also the people most likely to forget important things while dealing with unimportant ones.
They convinced you that you are better than everybody else because you went through a long and difficult process to be accepted into a group of people who themselves believe they are better than everybody else.
They provide employees with some unusual (but reasonably cheap) benefits and promote an image to both the inside and the outside that by being with them you are somehow part of a select clique.
The same process is used in elite military forces, religious cults and even in street gangs.
I bet you're surrounded by mostly males, in their late teens and twenties - they tend to be the most susceptible to this kind of group conditioning.
Club-ism is a widespread form of political posture in modern democracies.
Basically people get a sentimental attachment to one party/side. They will pretty much switch off their higher cognitive functions (read: reasoning), blindly always vote for them and often enough become staunch defenders of it and it's actions against any perceived attack and even fighting to defend the indefensible.
I call this club-ism because it's a similar behavior as that of fans of clubs in major sports (for example, soccer or baseball).
These people form the hard-core, never flinching, "we can do anything and they'll still vote for us" voting block for major parties.
IMHO, club-ism (or in other words, a huge block of people who see politics through their hearths, not their minds) is one of the major reasons why Democracy is far from a perfect system (sadly, it's the best we have atm).
Re:Klein's a Leftist with an agenda, not a journal
on
China's All-Seeing Eye
·
· Score: 3, Insightful
Actually the sweet spot for Capitalism seems to be when people are not free but believe they are free.
The right balance between keeping the rift-raft under control and keeping them motivated and working hard = maximum profit.
This goes a long way to explain why the memes of "America land of the free", "America the greatest country in the world" and "In the US everybody has a chance to make it big-time" are constantly being pushed by US media, even though nowadays they are all false:
Guantanamo, snooping laws, one of the highest incarceration rates in the world
Signed: One European that has been exposed to one too many ignorant American.
PS: In my experience, most Americans I've met that actually spent some time living and working in a country other than the US - vacations do not count - are usually much more well informed and realist about the US itself and the rest of the world than most of those who didn't.
The scenario: - In Lord of the Rings Online, a PvP a hobbit player is defeated (they just go down on their knees) and an enemy player moves his character to such a position that it it looks like the defeated hobbit is doing a blowjob to that character - Somebody captures the frame and posts it to a forum
Hobbits in LOTR look remarkably like children in fancy clothes.
Will that somebody be prosecuted?
What about if they post it with the title "That's what we do when we pwn kiddies"
What about if two consensual adults have cyber-sex in Second Life with child-like characters?
The concept of "Software Development Process" is alien to most people here.
In my experience Investment Banks tend to try and save money on the up-front analysis, design and implementation of mission critical systems (by getting cheap people to do it) while paying for it many many times over in support costs and indirect costs to the business.
These guys have some of the biggest, most complex, highly interconnected software systems infrastructures in the planet serving the needs of a business which moves billions of dollars around every year and yet there is no overall Architecture documentation (nobody really knows the whole picture, not even part of it), no standardized means for interconnecting systems, not even software libraries reused across systems.
For a single geographical location, any of these banks has at least 3 implementations of every major sort of system since IT isn't shared across business units (such as equities, cash and fixed income) and any big bank usually serves at least 3 geographical areas (Europe, US and Asia).
Pretty much all software languages and libraries in existence are deployed around here and everybody needs to know a bit of everything (and as a result be a master of nothing).
The place doesn't even have standardized reusable libraries so they are decades away from actually having a process.
It has been my experience that many companies somehow cannot bring themselves to pay their engineers more than the managers that oversee these engineers. My experience being project managers versus their software developers, but I guess it would be similar in other fields. I always thought this is something that will correct itself, but it will have a significant lag time.
It's called contracting (at least in Europe).
A Senior Technical person working as a contractor earns about the same as a Mid-level Manager working as a permanent employee.
Nowadays, I'm actually surprised when i find senior (and competent) technical people still working as perms...
Actually, if you want to be really up to date with modern Ignorant Joe American theory of history and international politics it's more like: - The French not only became surrender monkeys but also turned into terrorists by blowing up stuff and attacking the occupying forces
There are a lot of problems with organizing/managing things around here and a culture of appearances.
This affects the laws that are passed here (usually they are kind that "looks good" but doesn't really work and has nasty side-effects) and the efficiency of policing (not very well organized, lax control, too much bureaucracy, with the high-levels concentrating more on "high-gloss actions" and hardly enough on results).
I was very surprised with way things run in the UK since i come from a country (Portugal) which is a lot less rich and also quite bad in terms of organizing/management abilities.
The contrast between the UK and Holland (where I lived for 8 years) is shocking.
In my view, the reason why Portugal is safer than the UK is not because laws or policing are better but because it's a much more uniform and less unequal culture and also because Portuguese are culturally less prone to violence (we even have a saying for that: "o pais dos brandes costumes" - roughly "the country of mild traditions").
I'm from Portugal, I used to live in Holland, i now live in the UK. It's MUCH safer in Holland and Portugal than in the UK, deal with it.
The UK has a lot more societal problems (and crappier policing) than most of Western Europe - hence more crime.
The US is even worse.
Re:Who gives a flying flip what the place looks li
on
Tech's Top 10 Workspaces
·
· Score: 2, Interesting
In my experience, very often the look and feel of the work place is a good indication of how a company treats it's workers in general. Not in the sense of having Garfield toys on the tables, fancy chairs or unusual gadgets, more like:
- Is it cheap open space? Is it open spaces with tall barriers and sound separators? Cubicles? Team offices? - Is there plenty of natural light? Tall ceilings? Plants? - How good is coffee? Is it free?
In my experience, companies which use the cheapest possible open space configuration, only provide crap coffee for free (or nothing at all free), have no plants and/or have workspaces with little or no natural light are also the ones that have frequent down-size and then up-size cycles, squeeze as much free work as they can out of their employees and in general treat everybody like little cogs in a big machine.
Cheap companies are just as cheap in setting up the work environment as they are in the way they treat people.
Having done lots of development across Windows, Mac, and Linux with all kinds of editors, IDEs and debuggers, nothing comes close to Visual Studio in terms of functionality, quality, and just being solid. It's not perfect, but it's way better than anything else out there.
You clearly have never used Java IDEs (like Eclipse).
Sure, if you're comparing Visual Studio.NET 2005 with vi/gcc, then VS.NET will come out as top of the pile....
As far as i can tell, the current 2 most fashionable/popular languages in corporate environments (Java and C#) are served by very good development environments and tools. This is mostly because so many people are interested in those languages (thus making tools and libraries for them) and because software companies actually have a market to make money from developing stuff for them. Others languages are usually less well served.
As it happens, in the Windows environment the same IDE that supports C# also supports C and C++, mostly because Visual Studio and all the APIs and Libraries that come with it was born for C/C++. This is the only reason why development in C/C++ in a Windows environment is usually a lot easier than in other environments.
I remember when in Windows the only way for an application to receive a notification when a directory was change was using an undocumented API.
Interestingly enough, at the time all Microsoft applications (like Office Word) seemed to have this "feature" while Microsoft's own Knowledge Base explicitly stated that Microsoft had no intention of making that API public.
Some of Microsoft's undocumented API features were not there for the benefit of the OS developers, they were there to provide a competitive advantage to Microsoft's own in-house applications development teams.
In my experience (of more than 10 years as a software engineer), the ability to create and understand huge complex logic and data structures very rarely comes together with highly developed social skills.
Some of the most intelligent people I've worked with were complete morons when it came to dealing with people instead of machines (this included myself in the past, nowadays less but still a bit).
Software development, especially in IT Products companies, is often a self-contained world were most people with this kind of personality work together and interact mostly with each other. Without some long term close interaction (like working together) with people with different kinds of personalities (say, the sales or marketing people) different kinds of personalities are only "observed" from afar, no understood and often classified as "lusers".
Game playing, especially RPGs certainly has at least some temporary effects on one's behavior in the real world.
My personal experience is seeing the world from the point of view of a character I've just been playing in a particularly good RPG or FPS. This manifests itself in ways like like having a felling in the real world that something particular is going to happen because in the same situation it usually happens in the virtual world, find "strangely familiar" landmarks in the real world which are similar to well known landmarks in the virtual world and expecting to find certain paths and related landmarks in the real world because said paths and landmarks exist in the virtual world (and getting momentarily confused when the brain adjusts to the conflict), having a momentary compulsion to do something in specific situations in the real world because that something is usually done in the virtual world in similar situations, having a heightened sense of alert after playing a good FPS, viewing the world from the point of view of a character I've just been playing (say that i was playing a wolf, then in the real world i would feel like I can understand the world as it would be seen from the point of view of a wolf), etc...
For example, just yesterday when driving i saw a twig in the road which from afar looked similar to the "branches" in LOTR Online (an online RPG which i have been playing latelly) from which one gathers wood (used in crafting). For just a moment I felt a compulsion to stop my car and go "gather wood" from that "branch" (in the virtual world, pretty much every time I see such a "branch" i go there and "gather wood" from it).
I wouldn't be overly surprise if it turns out that unwittingly one trains oneself in the virtual world to react in certain ways to certain "patterns" of events, locations and situations and that said training manifests itself as compulsions to act in certain ways and strange senses of familiarity in the real world when confronted with events, locations and situations which match the "pattern". This would explain why military organizations are interested in virtual worlds for training.
Hibernate actually works best with a properly normalized database.
Performance also tends to be better than hand coded or generated SQL mostly because Hibernate comes loaded with all sorts of database access optimization (read caching, delayed writing, batch fetching, join queries to retrieve multiple related objects, etc) - which would either have to be explicitly implemented or at the very least integrated from multiple utility libraries when not using Hibernate.
The biggest downsides of Hibernate are: - It works best if the database is designed from the ground up with Hibernate in mind. - You have to do all sorts of strange things (which negate just about all performance optimizations and even risk application data integrity if you're not careful) to do SQL multiple-row updates or deletes (UPDATE... WHERE... / DELETE... WHERE...) which in SQL are one-liners.
This the 6th or 7th post i've read moderated +5 from some ignorant elitistic techie going about how technology people are somewhat superior to Sales and Marketing.
Honestly, i'm ashamed of being on the techie side of the fence.
Open your eyes people and get out of your high-horses:
- A successful company is a gestalt of different people with different skills doing what they do best.
So yeah, people skills are really important if what you're trying to do is selling things to people, while logical skills are really important if what you're trying to do is construct really complex functional structures. That doesn't mean one is better than the other one.
And yes, a successful company needs both people that can sell well and people that can make great products to sell:
- A great product that is not sold is worthless
- A great salesforce with nothing to sell is worthless
They would be creating more computer power anyway:
- They could concentrate on making CPUs run faster
- They could use more silicon real-estate for bigger caches
- They could integrate new ways of designing digital circuits using non-synchronous functional blocks
Instead the went for the approach of having many weak processing units instead of a few strong ones. It's a bit like having 1000 Ladas instead of a couple of Porsches:
- It's beter if all you want is to move many people across small distances
- It's not quite as good if what you're trying to do is get a small number of people from Cologne to Berlin as fast as possible.
What many of us are pointing out is that there are rarelly enough concurrent processing threads to justify hundreds, much less thousands of cores and that often enough you do have one or two time constrained non-paralelizeable tasks ("get from Cologne to Berlin as fast as possible") only now with this approach, you only have "Ladas" to do it with.
I once did some QA for a little while when I had just joined a company and they didn't had a project for me immediately.
Good thing it didn't last long:
I think i was even starting to develop an evil laughter ...
Might as well get a pet stone and name it.
Not only are they cheaper, but you're also 100% sure it's not a scam (since you either only pay when you get the stone or you pick the stone yourself) AND it's 100% yours so nobody else has it at the same time as you.
With 12 years industry experience in 3 different countries I have yet to come across a straight-out-of-the-University Software "Engineer" that understands the main kinds of software development processes (and in "Software Development Process" I include "requirements gathering", "analysis", "design", "development" "QA", "packaging", "support" and "post-release maintenance and extension"), their pros, cons, tradeoffs and best kind of environment in which to use them.
Most people just spew out keywords like "Agile" or "Extreme Programming" like those methods are it without actually understanding what they're talking about.
Of course there might be an University out there that sends out fully-formed Software Engineers .... then again, there might be a spot on Earth where the sky looks green: the only way to prove otherwise is to examine the full universe of possibilities ...
I'll apply the scientific method here and stick with my yet to be disproven theory which matches 100% of the observed samples until I observe something that does not match it.
Substitute "engineering" with "people that never worked anywhere else outside academia" and you'll get the picture.
In IT, universities don't train Engineers, they train Craftsmen.
The difference between a Craftsman and and Engineer is that while you can trust the first to put up a wall in you house, you will only trust the last to design you a bridge.
IT Craftsmen become IT Engineers by apprenticeship (working with those that have enough experience to know better), by being exposed to multiple ways of doing things and by doing their own errors and getting a chance of doing the same kind of thing again in a different way.
A straight-from-academia mono-culture like Google seems to be doesn't exactly help people to cross the barrier from code-aware to process-aware.
The problem is that context switching between "Doing report" and "Checking an e-mail that just arrived" and back not only takes some time, but also decreases your proficiency at both tasks for a period.
This would not be a problem if all or even most e-mails where actually worth reading. The problem is that 90% of e-mails are not relevant or important for you (this is especially true of e-mails sent to mailing lists) and another 5-9% are not important enough to justify the "context changing penalty".
In other words, you incur a penalty to check 100% of the just arrived e-mails when only 1 to 5 of each 100 are worth you interrupting the writing of your report.
Even with mail filters to filter out machine generated junk, you can still easily end up with only 1 in 10 e-mails which are worth the trouble.
I've worked in reasonably extreme examples of both kinds of environments:
The productivity and work efficiency in the second kind of environment is several times (3 times or more) higher than in the first.
This seems to be true not only for me, but also for my colleagues. Amongst other things, in noisy environments with frequent interruptions people seem to make more mistakes and be more likely to forget important things.
From what I've seen, the most extreme cases of multi-tasking (crack-berry users) are also the people most likely to forget important things while dealing with unimportant ones.
They convinced you that you are better than everybody else because you went through a long and difficult process to be accepted into a group of people who themselves believe they are better than everybody else.
They provide employees with some unusual (but reasonably cheap) benefits and promote an image to both the inside and the outside that by being with them you are somehow part of a select clique.
The same process is used in elite military forces, religious cults and even in street gangs.
I bet you're surrounded by mostly males, in their late teens and twenties - they tend to be the most susceptible to this kind of group conditioning.
Clearly your post needs an "Executive Summary"
Club-ism is a widespread form of political posture in modern democracies.
Basically people get a sentimental attachment to one party/side. They will pretty much switch off their higher cognitive functions (read: reasoning), blindly always vote for them and often enough become staunch defenders of it and it's actions against any perceived attack and even fighting to defend the indefensible.
I call this club-ism because it's a similar behavior as that of fans of clubs in major sports (for example, soccer or baseball).
These people form the hard-core, never flinching, "we can do anything and they'll still vote for us" voting block for major parties.
IMHO, club-ism (or in other words, a huge block of people who see politics through their hearths, not their minds) is one of the major reasons why Democracy is far from a perfect system (sadly, it's the best we have atm).
The right balance between keeping the rift-raft under control and keeping them motivated and working hard = maximum profit.
This goes a long way to explain why the memes of "America land of the free", "America the greatest country in the world" and "In the US everybody has a chance to make it big-time" are constantly being pushed by US media, even though nowadays they are all false:
But hey, it's still better than North Korea.
Signed: One European that has been exposed to one too many ignorant American.
PS: In my experience, most Americans I've met that actually spent some time living and working in a country other than the US - vacations do not count - are usually much more well informed and realist about the US itself and the rest of the world than most of those who didn't.
The scenario:
- In Lord of the Rings Online, a PvP a hobbit player is defeated (they just go down on their knees) and an enemy player moves his character to such a position that it it looks like the defeated hobbit is doing a blowjob to that character
- Somebody captures the frame and posts it to a forum
Hobbits in LOTR look remarkably like children in fancy clothes.
Will that somebody be prosecuted?
What about if they post it with the title "That's what we do when we pwn kiddies"
What about if two consensual adults have cyber-sex in Second Life with child-like characters?
I work in IT in investment banking, front office.
The concept of "Software Development Process" is alien to most people here.
In my experience Investment Banks tend to try and save money on the up-front analysis, design and implementation of mission critical systems (by getting cheap people to do it) while paying for it many many times over in support costs and indirect costs to the business.
These guys have some of the biggest, most complex, highly interconnected software systems infrastructures in the planet serving the needs of a business which moves billions of dollars around every year and yet there is no overall Architecture documentation (nobody really knows the whole picture, not even part of it), no standardized means for interconnecting systems, not even software libraries reused across systems.
For a single geographical location, any of these banks has at least 3 implementations of every major sort of system since IT isn't shared across business units (such as equities, cash and fixed income) and any big bank usually serves at least 3 geographical areas (Europe, US and Asia).
Pretty much all software languages and libraries in existence are deployed around here and everybody needs to know a bit of everything (and as a result be a master of nothing).
The place doesn't even have standardized reusable libraries so they are decades away from actually having a process.
It's called contracting (at least in Europe).
A Senior Technical person working as a contractor earns about the same as a Mid-level Manager working as a permanent employee.
Nowadays, I'm actually surprised when i find senior (and competent) technical people still working as perms
Actually, if you want to be really up to date with modern Ignorant Joe American theory of history and international politics it's more like:
- The French not only became surrender monkeys but also turned into terrorists by blowing up stuff and attacking the occupying forces
There are a lot of problems with organizing/managing things around here and a culture of appearances.
This affects the laws that are passed here (usually they are kind that "looks good" but doesn't really work and has nasty side-effects) and the efficiency of policing (not very well organized, lax control, too much bureaucracy, with the high-levels concentrating more on "high-gloss actions" and hardly enough on results).
I was very surprised with way things run in the UK since i come from a country (Portugal) which is a lot less rich and also quite bad in terms of organizing/management abilities.
The contrast between the UK and Holland (where I lived for 8 years) is shocking.
In my view, the reason why Portugal is safer than the UK is not because laws or policing are better but because it's a much more uniform and less unequal culture and also because Portuguese are culturally less prone to violence (we even have a saying for that: "o pais dos brandes costumes" - roughly "the country of mild traditions").
I'm from Portugal, I used to live in Holland, i now live in the UK. It's MUCH safer in Holland and Portugal than in the UK, deal with it.
The UK has a lot more societal problems (and crappier policing) than most of Western Europe - hence more crime.
The US is even worse.
In my experience, very often the look and feel of the work place is a good indication of how a company treats it's workers in general. Not in the sense of having Garfield toys on the tables, fancy chairs or unusual gadgets, more like:
- Is it cheap open space? Is it open spaces with tall barriers and sound separators? Cubicles? Team offices?
- Is there plenty of natural light? Tall ceilings? Plants?
- How good is coffee? Is it free?
In my experience, companies which use the cheapest possible open space configuration, only provide crap coffee for free (or nothing at all free), have no plants and/or have workspaces with little or no natural light are also the ones that have frequent down-size and then up-size cycles, squeeze as much free work as they can out of their employees and in general treat everybody like little cogs in a big machine.
Cheap companies are just as cheap in setting up the work environment as they are in the way they treat people.
You clearly have never used Java IDEs (like Eclipse).
Sure, if you're comparing Visual Studio
As far as i can tell, the current 2 most fashionable/popular languages in corporate environments (Java and C#) are served by very good development environments and tools. This is mostly because so many people are interested in those languages (thus making tools and libraries for them) and because software companies actually have a market to make money from developing stuff for them. Others languages are usually less well served.
As it happens, in the Windows environment the same IDE that supports C# also supports C and C++, mostly because Visual Studio and all the APIs and Libraries that come with it was born for C/C++. This is the only reason why development in C/C++ in a Windows environment is usually a lot easier than in other environments.
PS: I do development in both C#.NET and Java
I remember when in Windows the only way for an application to receive a notification when a directory was change was using an undocumented API.
Interestingly enough, at the time all Microsoft applications (like Office Word) seemed to have this "feature" while Microsoft's own Knowledge Base explicitly stated that Microsoft had no intention of making that API public.
Some of Microsoft's undocumented API features were not there for the benefit of the OS developers, they were there to provide a competitive advantage to Microsoft's own in-house applications development teams.
In my experience (of more than 10 years as a software engineer), the ability to create and understand huge complex logic and data structures very rarely comes together with highly developed social skills.
Some of the most intelligent people I've worked with were complete morons when it came to dealing with people instead of machines (this included myself in the past, nowadays less but still a bit).
Software development, especially in IT Products companies, is often a self-contained world were most people with this kind of personality work together and interact mostly with each other. Without some long term close interaction (like working together) with people with different kinds of personalities (say, the sales or marketing people) different kinds of personalities are only "observed" from afar, no understood and often classified as "lusers".
Game playing, especially RPGs certainly has at least some temporary effects on one's behavior in the real world.
...
My personal experience is seeing the world from the point of view of a character I've just been playing in a particularly good RPG or FPS.
This manifests itself in ways like like having a felling in the real world that something particular is going to happen because in the same situation it usually happens in the virtual world, find "strangely familiar" landmarks in the real world which are similar to well known landmarks in the virtual world and expecting to find certain paths and related landmarks in the real world because said paths and landmarks exist in the virtual world (and getting momentarily confused when the brain adjusts to the conflict), having a momentary compulsion to do something in specific situations in the real world because that something is usually done in the virtual world in similar situations, having a heightened sense of alert after playing a good FPS, viewing the world from the point of view of a character I've just been playing (say that i was playing a wolf, then in the real world i would feel like I can understand the world as it would be seen from the point of view of a wolf), etc
For example, just yesterday when driving i saw a twig in the road which from afar looked similar to the "branches" in LOTR Online (an online RPG which i have been playing latelly) from which one gathers wood (used in crafting). For just a moment I felt a compulsion to stop my car and go "gather wood" from that "branch" (in the virtual world, pretty much every time I see such a "branch" i go there and "gather wood" from it).
I wouldn't be overly surprise if it turns out that unwittingly one trains oneself in the virtual world to react in certain ways to certain "patterns" of events, locations and situations and that said training manifests itself as compulsions to act in certain ways and strange senses of familiarity in the real world when confronted with events, locations and situations which match the "pattern".
This would explain why military organizations are interested in virtual worlds for training.
Yes, yes.
And we all trust the US administration on their word alone.
It's not as if they torture people, invade sovereign nations with false excuses or spy on their own citizens or something.
Hibernate actually works best with a properly normalized database.
... WHERE ... / DELETE ... WHERE ...) which in SQL are one-liners.
Performance also tends to be better than hand coded or generated SQL mostly because Hibernate comes loaded with all sorts of database access optimization (read caching, delayed writing, batch fetching, join queries to retrieve multiple related objects, etc) - which would either have to be explicitly implemented or at the very least integrated from multiple utility libraries when not using Hibernate.
The biggest downsides of Hibernate are:
- It works best if the database is designed from the ground up with Hibernate in mind.
- You have to do all sorts of strange things (which negate just about all performance optimizations and even risk application data integrity if you're not careful) to do SQL multiple-row updates or deletes (UPDATE