The secret to any successful government is in its system of checks and balances to prevent leaders from abusing their power.
Socialist regimes didn't fail because of poor ideology, but because its leaders abused their power to the detriment of society.
One of the things we like about open source is that if a leader or organization stops serving its community, anyone can step in to fork the project.
So if you're building an online community, don't worry too much about whether its leaders should be elected or not or how many there should be, but more on how your system deals with leaders who abuse their privileges or are incompetent. If you can't work out a system, just make sure all your code and data is open source:-)
However, I will get flamed to the end of the earth for this, but it's my experience: Mathematicians are insanely more intelligent than CSers.
I'd just like to reiterate what another poster mentioned about mathematicians and CS students utilizing different skill sets, and add some anecdotal evidence from my university days. A good third of my class held national scholarships and they generally trounced the rest of us on any math heavy exams - they certainly ran circles around me in that area, and I regard myself as capable. Oddly enough I seemed to do better than many of them at programming: designing programs, debugging, etc. I didn't have any trouble canniblizing code from my previous year's project and making discoveries in a project no one else did because of the accuracy of my program. I later discovered those discoveries were actually predicted by a mathematical model - ironic isn't it?
His real interest is in building highly reliable, self healing operating systems. The research he has been involved in happens to demonstrate that microkernels are a good candidate towards achieving that goal, certainly better than a monolithic kernel anyway. He doesn't believe in microkernels per se, but simply as a tool that will help him achieve what is a higher goal - a highly reliable, self healing operating system. Imagine not having to reboot your computer, even when running the worst written applications or device drivers.
I actually experienced enlightenment, and I'm certain there is a physiological effect behind it, as opposed to a mystical one. Interestingly I've never experienced it again, and from accounts I've read you can't experience enlightenment more than once. At least not by any natural means. Good luck to the scientists trying to get an MRI scan of this experience.
Do you have an impossible question to solve, e.g. finding purpose in life and the universe? When it consumes you, when you've pushed yourself to the point where you realize you may not be able to find the answer and realize the need to be a little more open minded, to think somewhat differently, you are probably close to enlightenment. Then perhaps after spending an entire night awake thinking about it, during the next morning while doing something routine or different than normal you get zapped by a feeling of incredible euphoria.
I'm not religious at all, spiritual perhaps. I even ended up marrying my wife who is not just an atheist but has some strong anti-religion sentiments. My faith is rationality.
The enlightenment itself didn't answer my question explicitly, but the problem felt resolved. The God I've come have faith in is not a thing (i.e. not a noun as defined in the dictionary), but is the force responsible for change and creativity. In other words, if you want something, figure it out yourself - crossing your fingers and hoping it will materialize in front of you is fucking dumb.
I've been somewhat involved in interviewing software engineers (from fresh grads to a couple of years experience), and have observed our local talent has been somewhat lacking. I've been part of the 2nd (and final) interview process, which typically lasts an entire day for the candidate. I think about 1/3 make it pass this gauntlet to a job offer. I spoke to a co-worker who's involved in the 1st screening stage, and he said less than 1/3 make it pass him - for the most part, he would ask textbook questions about Java programming, and basic OO concepts like inheritance. In the past year or so, we've had a lot of attrition in our team just by chance, and we're now having a heck of a time recruiting someone capable.
I'm getting just shy of 100k as a relatively senior software engineer (6 yrs experience). Living costs do vary since some areas are ridiculously expensive, especially if they're close to Washington D.C. otherwise if you move westward they become quite affordable. Move far enough (e.g. West Virginia), and you can buy your own farm. Lots of interesting stuff in D.C. so you're unlikely to get bored. My only real gripe is that people here are pretty conservative, and don't seem very nice. They are also especially inconsiderate drivers, e.g. about 1/3 would bother to stop at a pedestrian crossing (once I even saw one almost side swipe an already crossing pedestrian). This is of course just a gross generalization, since I did meet my wife here. Big international community in the region, and lots of diversity 15 miles in any direction.
that Wikipedia's "errors get fixed eventually" principle isn't very useful if you don't know whether the errors have been fixed yet. [...] This is a much more serious and substantial complaint, and one which is a serious problem for the idea of Wikipedia as an information source.
Look at the page's history. Articles that have survived many months with several minor edits are likely to be more reliable. Perhaps wikipedia could institute some kind of pseudo-reliablility rating that is based on the number of edits on an article say over a year, taking into account the degree to which the edits clobber previous edits and the amount of text replaced.
I wouldn't want to be a sys admin in a company that had to support OpenOffice, MS Office, StarOffice, XYZOffice. Or had to support Windows (XP, 2000, 2003), Linux, OSX, and *ix. Can you imagine the headache of getting all of them to play nice with each other on a daily basis? There's something to be said about standardization.
On the other hand, if the sys admin has backups and servers distributed across Windows, Linux, OSX and whatever platforms, that would make sense.
I mean I can understand the argument that diversity can add a certain degree of robustness, but it also raises the level of complexity of that environment, and that complexity comes with a cost that can be easily more expensive than dealing with the occasional severe threat.
VB let's you get productive very quickly, but it doesn't teach you to be a good programmer. Unfortunately, languages that teach you to be a better programmer generally don't let you build nice applications with a flashy front end.
I see a lot of posts talking about C and even assembly. I strongly disagree here. At university, the first language we were taught was a functional one (Miranda, which is similar to the freely available Haskell). Thought it was bunk at first, but after a while, I found it changes the way you think. You don't think of chars, or strings, but in tuples, concatenations, heads and tails. The higher level of abstraction is critical when you're thinking about algorithms. When designing your new kickass sort or indexing mechanism, you shouldn't be thinking about memory allocation or garbage collection - those things come much later.
Elegant, efficient algorithms are the meat of all applications. Try using Haskell (I recommend Hugs) to prototype logical aspects of your program. Then translate this portion to VB, Java, or whatever platform that suits your taste.
Their 340 page user manual (just under 4MB) is actually quite readable. Chapter 2 gives you a conceptual summary, and the rest of it is focused on actually using it.
What is it in a nutshell? Unstructured data -> UIMA -> Structured Data. It's a means of converting unstructured, or more likely semi-structured data into what appears to be relational tables (with indices).
UIMA is really a collection of analysis engines, which you can write, and tends to specialize in some kind of knowledge extraction, such as for example identifying people and their phone numbers. Another analysis engine could look for persons and where they live. What makes UIMA special is that it has unified the meaning of its analysis output, so all the results from different engines can be aggregated - now we know where this person lives AND their phone number.
All kidding aside. Parent post actually highlights characteristics of many successful executives. Check out the following article: Is Your Boss a Psychopath?.
Here's an interesting snippet:
Narcissists are visionaries who attract hordes of followers, which can make them excel as innovators, but they're poor listeners and they can be awfully touchy about criticism. "These people don't have much empathy," Maccoby says. "When Bill Gates tells someone, 'That's the stupidest thing I've ever heard,' or Steve Jobs calls someone a bozo, they're not concerned about people's feelings. They see other people as a means toward their ends. But they do have a sense of changing the world -- in their eyes, improving the world. They build their own view of what the world should be and get others recruited to their vision.
I hope such business practices find themselves increasingly marginalized over the next few decades, because it bloody stinks. Yeah, well Steve Jobs may have a compelling vision, but I wonder how many people who have worked with him actually enjoyed the journey? I really hope Google is different, and even if they may not succeed in the end - hard to be the first of your kind - may be a new breed of companies not governed by sociopaths, can show us a better way forward.
I'm heading a little off topic, but I do find what makes a person tick interesting. Here's another account that reveals a little bit more about the richest man in the world (especially if it's true): Bill Gates and
Petals Around the Rose.
I'm not a psychologist, but there seems to be a huge distinction between air horning and stabbing someone.
People who enjoy delivering sound blasts in this experiment could at best be diagnosed as antisocial. This can't be compared to psychopaths whose affinity to violence have long since plagued humanity prior to the existence of videogames.
Microsoft makes its money selling windows and office. I don't see that changing because of gmail. This seems more like a pissing contest than anything else.
Microsoft's strategy has never been just about selling Windows and Office. I bet their executives talk a lot about synergy between this and that. The bottom line is that the more we depend on their products, the easier it is for them to capitalize on that, even if certain end products are free. Their success with Windows and Office isn't just focused on the end-user, but really spans the production (development) environment too.
Microsoft's real innovation seems to be their ability to establish product eco-systems - Visual Studio, Windows and Office establish an eco-system involving consumers and producers. Then locking you in by means of proprietary APIs.
I don't know why, but the most compelling stories are those that surprise me by playing on my preconceptions and stereotypes.
Watched Serenity today. Liked it. After coming home, watched the first episode of Firefly again. How do you justify a "hero" who shoots a desperate civilian? Or pull off a line like "miss you something fierce" without being cliched. Or imagine a priest giving solace to a prostitute by placing his hand on her head, but in the Firefly universe it happens the other way around (end scene of first Firefly episode).
That kind of imagery seems pretty down to earth to me. Not highbrow or trying to be clever. So for critics of Serenity and Firefly who dish it as cliched and unimaginative, what is it that they find entertaining and imaginative?
I know I'm not alone with these sensibilities, yet I keep wondering how the general fare of movies being made don't really cater to me or my peeps.
Is it just me who thinks that sustainability is the single most important factor if you're the least bit concerned about the environment?
There seems to be a lot of political environmental rhetoric out there that seems leaned towards anti-globalization and anti-development than caring about our environment. Sustainable development is concerned with understanding all the inputs and outputs of a system, and ensuring they balance out as much as possible. E.g. we require x amounts of energy, but we also generate y amount of crap - how much of that y can we turn into energy? Where do you get the shortfall from? Environmental damage is done most out of ignorance than willful destruction.
I feel compelled to counterbalance the slew of disconcerting responses by pointing out that some companies hold their employees to a code of ethics.
We have in our employee handbook clear ethical codes of conduct that include treating our customers in a fair and honest manner. After all, no one wants to feel they were screwed over. This is especially true for companies that actually rely on customers to renew lucrative maintenance contracts and application upgrades on the account of positive experiences.
Having said that, even if your company expected all of you to be honest, disputing your fellow salesperson during their presentation smacks of poor judgement on your part, and a lack of professionalism on the part of your company. By professionalism, I mean the entire briefing should be smoothly run, yet deliver correct information. It is important that the presenter is in control, so establish protocols to interrupt so the salesperson can elect when to pause to speak with you, if it can't wait to the end.
Recently read "Pillars of the Earth" by Ken Follet. Fantastic story, not to mention a wealth of detail on the architecture and building of cathedrals in 12th century England.
If you think you life is tough now, this book will open your eyes on how hard life used to be the past few thousand years.
Most senior software engineers have at least 3 years working experience. As far as I know in my company, no recruit without working experience has ever been given a senior software engineer position. I am a senior software engineer in a team of a dozen individuals, most of whom have a Master's, and some with a PhD.
Only work experience can tell you what it is like to design a software product, be part of its implementation, finally have the product released (after a lengthy delay), and the upkeep of hundreds of thousands of lines of code over several years, catering for new features, and bug fixes.
Experience also tells you how to correctly apply design patterns, and why refactoring is indispensible. Technical skills aside, experience also teaches you how to deal with product managers, program managers, quality engineers, as well as to appreciate their roles. Experience also teaches you how to prioritize tasks when you're swamped.
It also changes the way you think, I'd like to say from that of petulance and naivete, to a professional with an appreciation for processes. A good example of what I mean by petulant or naive is this article in eweek entitled "IT Execs Should Learn More About Coding" (http://www.eweek.com/article2/0,1759,1814485,00.a sp), which slams execs with "poor initial design concepts and constant feature creep". Face it - that is the reality of most software projects, not so much because of the exec lacking programming skills, but because software design is hard, and constant feature creep is often inevitable because businesses have to keep up with their competitors and listen to their customers. One eweek reader who responded (print edition of eweek) that also disagreed with the article, pointed out the only constant in software development is change, and stipulated that engineers should know about design patterns, which in turn should allow us to have flexible designs that are amendable to change. I will further add that while design patterns do in fact help us build better programs, they do not actually tell us how to manage those changes. That is where refactoring comes in - a systematic process to modify stinky code sections.
Work experience teaches you to be pragmatic, and makes you look for processes to solve your problems, imperfect as they may be.
Watch 'Bowling for Columbine' if you haven't. One of its segments point out that Canadians own just as many guns (if not more) per person than in the US. While I'm all for removing firearms, there appears to be a more serious underlying problem with violence in the US. The documentary also points out violent video games are endemic in Japan but they have very low crime rates.
One of the more enlightening interviews was with Marilyn Manson, who when asked about what he would say to the kids at Columbine - he replied along the lines of: "Nothing, I would listen to them".
... create mice with 100% human brains... If this experiment succeeds in producing human cognitive thought in a mouse, we most certainly have an issue.
Does that mean it's wrong to strive towards true AI? Why is it more ethical to create intelligence in a machine rather than in some human chimera?
In any case, it seems inevitable that at some point in our future, we will have to deal with a non-human intelligence. Whether it is of our construction seems irrelevant. The nature of sentience, and the concept of humanity shouldn't be tied to our physical form anyway.
Wonder if biomass could account for the difference. In the past, Earth could be gaining biomass (vegetation, organic life): Sun's energy -> matter. Hence the slowing rotation. But over the past hundred years or so, we've been burning so much fossil fuel, and destroying so much vegetation, the Earth is lightening up again, thus increasing in rotation speed. At the rate we're going, scientists may have to start subtracting seconds...
The secret to any successful government is in its system of checks and balances to prevent leaders from abusing their power.
Socialist regimes didn't fail because of poor ideology, but because its leaders abused their power to the detriment of society.
One of the things we like about open source is that if a leader or organization stops serving its community, anyone can step in to fork the project.
So if you're building an online community, don't worry too much about whether its leaders should be elected or not or how many there should be, but more on how your system deals with leaders who abuse their privileges or are incompetent. If you can't work out a system, just make sure all your code and data is open source :-)
However, I will get flamed to the end of the earth for this, but it's my experience: Mathematicians are insanely more intelligent than CSers.
I'd just like to reiterate what another poster mentioned about mathematicians and CS students utilizing different skill sets, and add some anecdotal evidence from my university days. A good third of my class held national scholarships and they generally trounced the rest of us on any math heavy exams - they certainly ran circles around me in that area, and I regard myself as capable. Oddly enough I seemed to do better than many of them at programming: designing programs, debugging, etc. I didn't have any trouble canniblizing code from my previous year's project and making discoveries in a project no one else did because of the accuracy of my program. I later discovered those discoveries were actually predicted by a mathematical model - ironic isn't it?
Tanenbaum's misunderstood.
His real interest is in building highly reliable, self healing operating systems. The research he has been involved in happens to demonstrate that microkernels are a good candidate towards achieving that goal, certainly better than a monolithic kernel anyway. He doesn't believe in microkernels per se, but simply as a tool that will help him achieve what is a higher goal - a highly reliable, self healing operating system. Imagine not having to reboot your computer, even when running the worst written applications or device drivers.
I actually experienced enlightenment, and I'm certain there is a physiological effect behind it, as opposed to a mystical one. Interestingly I've never experienced it again, and from accounts I've read you can't experience enlightenment more than once. At least not by any natural means. Good luck to the scientists trying to get an MRI scan of this experience.
Do you have an impossible question to solve, e.g. finding purpose in life and the universe? When it consumes you, when you've pushed yourself to the point where you realize you may not be able to find the answer and realize the need to be a little more open minded, to think somewhat differently, you are probably close to enlightenment. Then perhaps after spending an entire night awake thinking about it, during the next morning while doing something routine or different than normal you get zapped by a feeling of incredible euphoria.
I'm not religious at all, spiritual perhaps. I even ended up marrying my wife who is not just an atheist but has some strong anti-religion sentiments. My faith is rationality.
The enlightenment itself didn't answer my question explicitly, but the problem felt resolved. The God I've come have faith in is not a thing (i.e. not a noun as defined in the dictionary), but is the force responsible for change and creativity. In other words, if you want something, figure it out yourself - crossing your fingers and hoping it will materialize in front of you is fucking dumb.
I've been somewhat involved in interviewing software engineers (from fresh grads to a couple of years experience), and have observed our local talent has been somewhat lacking. I've been part of the 2nd (and final) interview process, which typically lasts an entire day for the candidate. I think about 1/3 make it pass this gauntlet to a job offer. I spoke to a co-worker who's involved in the 1st screening stage, and he said less than 1/3 make it pass him - for the most part, he would ask textbook questions about Java programming, and basic OO concepts like inheritance. In the past year or so, we've had a lot of attrition in our team just by chance, and we're now having a heck of a time recruiting someone capable.
I'm getting just shy of 100k as a relatively senior software engineer (6 yrs experience). Living costs do vary since some areas are ridiculously expensive, especially if they're close to Washington D.C. otherwise if you move westward they become quite affordable. Move far enough (e.g. West Virginia), and you can buy your own farm. Lots of interesting stuff in D.C. so you're unlikely to get bored. My only real gripe is that people here are pretty conservative, and don't seem very nice. They are also especially inconsiderate drivers, e.g. about 1/3 would bother to stop at a pedestrian crossing (once I even saw one almost side swipe an already crossing pedestrian). This is of course just a gross generalization, since I did meet my wife here. Big international community in the region, and lots of diversity 15 miles in any direction.
that Wikipedia's "errors get fixed eventually" principle isn't very useful if you don't know whether the errors have been fixed yet. [...] This is a much more serious and substantial complaint, and one which is a serious problem for the idea of Wikipedia as an information source.
Look at the page's history. Articles that have survived many months with several minor edits are likely to be more reliable. Perhaps wikipedia could institute some kind of pseudo-reliablility rating that is based on the number of edits on an article say over a year, taking into account the degree to which the edits clobber previous edits and the amount of text replaced.
I wouldn't want to be a sys admin in a company that had to support OpenOffice, MS Office, StarOffice, XYZOffice. Or had to support Windows (XP, 2000, 2003), Linux, OSX, and *ix. Can you imagine the headache of getting all of them to play nice with each other on a daily basis? There's something to be said about standardization.
On the other hand, if the sys admin has backups and servers distributed across Windows, Linux, OSX and whatever platforms, that would make sense.
I mean I can understand the argument that diversity can add a certain degree of robustness, but it also raises the level of complexity of that environment, and that complexity comes with a cost that can be easily more expensive than dealing with the occasional severe threat.
VB let's you get productive very quickly, but it doesn't teach you to be a good programmer. Unfortunately, languages that teach you to be a better programmer generally don't let you build nice applications with a flashy front end.
I see a lot of posts talking about C and even assembly. I strongly disagree here. At university, the first language we were taught was a functional one (Miranda, which is similar to the freely available Haskell). Thought it was bunk at first, but after a while, I found it changes the way you think. You don't think of chars, or strings, but in tuples, concatenations, heads and tails. The higher level of abstraction is critical when you're thinking about algorithms. When designing your new kickass sort or indexing mechanism, you shouldn't be thinking about memory allocation or garbage collection - those things come much later.
Elegant, efficient algorithms are the meat of all applications. Try using Haskell (I recommend Hugs) to prototype logical aspects of your program. Then translate this portion to VB, Java, or whatever platform that suits your taste.
Their 340 page user manual (just under 4MB) is actually quite readable. Chapter 2 gives you a conceptual summary, and the rest of it is focused on actually using it.
What is it in a nutshell? Unstructured data -> UIMA -> Structured Data. It's a means of converting unstructured, or more likely semi-structured data into what appears to be relational tables (with indices).
UIMA is really a collection of analysis engines, which you can write, and tends to specialize in some kind of knowledge extraction, such as for example identifying people and their phone numbers. Another analysis engine could look for persons and where they live. What makes UIMA special is that it has unified the meaning of its analysis output, so all the results from different engines can be aggregated - now we know where this person lives AND their phone number.
All kidding aside. Parent post actually highlights characteristics of many successful executives. Check out the following article: Is Your Boss a Psychopath?.
Here's an interesting snippet:
Narcissists are visionaries who attract hordes of followers, which can make them excel as innovators, but they're poor listeners and they can be awfully touchy about criticism. "These people don't have much empathy," Maccoby says. "When Bill Gates tells someone, 'That's the stupidest thing I've ever heard,' or Steve Jobs calls someone a bozo, they're not concerned about people's feelings. They see other people as a means toward their ends. But they do have a sense of changing the world -- in their eyes, improving the world. They build their own view of what the world should be and get others recruited to their vision.I hope such business practices find themselves increasingly marginalized over the next few decades, because it bloody stinks. Yeah, well Steve Jobs may have a compelling vision, but I wonder how many people who have worked with him actually enjoyed the journey? I really hope Google is different, and even if they may not succeed in the end - hard to be the first of your kind - may be a new breed of companies not governed by sociopaths, can show us a better way forward.
I'm heading a little off topic, but I do find what makes a person tick interesting. Here's another account that reveals a little bit more about the richest man in the world (especially if it's true): Bill Gates and Petals Around the Rose.
I'm not a psychologist, but there seems to be a huge distinction between air horning and stabbing someone.
People who enjoy delivering sound blasts in this experiment could at best be diagnosed as antisocial. This can't be compared to psychopaths whose affinity to violence have long since plagued humanity prior to the existence of videogames.
If you know that the maps are going to be 1-2 years old, take advantage of the fact that you can dupe your enemies who *think* they know you are.
Microsoft's strategy has never been just about selling Windows and Office. I bet their executives talk a lot about synergy between this and that. The bottom line is that the more we depend on their products, the easier it is for them to capitalize on that, even if certain end products are free. Their success with Windows and Office isn't just focused on the end-user, but really spans the production (development) environment too.
Microsoft's real innovation seems to be their ability to establish product eco-systems - Visual Studio, Windows and Office establish an eco-system involving consumers and producers. Then locking you in by means of proprietary APIs.
I don't know why, but the most compelling stories are those that surprise me by playing on my preconceptions and stereotypes.
Watched Serenity today. Liked it. After coming home, watched the first episode of Firefly again. How do you justify a "hero" who shoots a desperate civilian? Or pull off a line like "miss you something fierce" without being cliched. Or imagine a priest giving solace to a prostitute by placing his hand on her head, but in the Firefly universe it happens the other way around (end scene of first Firefly episode).
That kind of imagery seems pretty down to earth to me. Not highbrow or trying to be clever. So for critics of Serenity and Firefly who dish it as cliched and unimaginative, what is it that they find entertaining and imaginative?
I know I'm not alone with these sensibilities, yet I keep wondering how the general fare of movies being made don't really cater to me or my peeps.
This is completely offtopic, but I noticed my parent post signed off as --jeff++, to which in true geek fashion I attempted to compile in Java:
int jeff = 0;
System.out.println(--jeff++);
Compilation error:
Invalid argument to operation ++/--
Took me a minute to figure out why it doesn't compile.
Is it just me who thinks that sustainability is the single most important factor if you're the least bit concerned about the environment?
There seems to be a lot of political environmental rhetoric out there that seems leaned towards anti-globalization and anti-development than caring about our environment. Sustainable development is concerned with understanding all the inputs and outputs of a system, and ensuring they balance out as much as possible. E.g. we require x amounts of energy, but we also generate y amount of crap - how much of that y can we turn into energy? Where do you get the shortfall from? Environmental damage is done most out of ignorance than willful destruction.
I feel compelled to counterbalance the slew of disconcerting responses by pointing out that some companies hold their employees to a code of ethics.
We have in our employee handbook clear ethical codes of conduct that include treating our customers in a fair and honest manner. After all, no one wants to feel they were screwed over. This is especially true for companies that actually rely on customers to renew lucrative maintenance contracts and application upgrades on the account of positive experiences.
Having said that, even if your company expected all of you to be honest, disputing your fellow salesperson during their presentation smacks of poor judgement on your part, and a lack of professionalism on the part of your company. By professionalism, I mean the entire briefing should be smoothly run, yet deliver correct information. It is important that the presenter is in control, so establish protocols to interrupt so the salesperson can elect when to pause to speak with you, if it can't wait to the end.
With an emule client (http://www.emule-project.net/home/perl/general.cg i?l=1&rm=download), you can download the win32 version here:0 06934|9 C64A5F7A549254AF8DD3835247E0887|h=CXW2OP3EICJF7CWP TOR44ZT6S5QIT3P3|/
ed2k://|file|eclipse-SDK-3.1-win32.zip|108
You'll probably need to strip slashspaces from the emule and ed2k links.
Recently read "Pillars of the Earth" by Ken Follet. Fantastic story, not to mention a wealth of detail on the architecture and building of cathedrals in 12th century England.
If you think you life is tough now, this book will open your eyes on how hard life used to be the past few thousand years.
Most senior software engineers have at least 3 years working experience. As far as I know in my company, no recruit without working experience has ever been given a senior software engineer position. I am a senior software engineer in a team of a dozen individuals, most of whom have a Master's, and some with a PhD.
a sp), which slams execs with "poor initial design concepts and constant feature creep". Face it - that is the reality of most software projects, not so much because of the exec lacking programming skills, but because software design is hard, and constant feature creep is often inevitable because businesses have to keep up with their competitors and listen to their customers. One eweek reader who responded (print edition of eweek) that also disagreed with the article, pointed out the only constant in software development is change, and stipulated that engineers should know about design patterns, which in turn should allow us to have flexible designs that are amendable to change. I will further add that while design patterns do in fact help us build better programs, they do not actually tell us how to manage those changes. That is where refactoring comes in - a systematic process to modify stinky code sections.
Only work experience can tell you what it is like to design a software product, be part of its implementation, finally have the product released (after a lengthy delay), and the upkeep of hundreds of thousands of lines of code over several years, catering for new features, and bug fixes.
Experience also tells you how to correctly apply design patterns, and why refactoring is indispensible. Technical skills aside, experience also teaches you how to deal with product managers, program managers, quality engineers, as well as to appreciate their roles. Experience also teaches you how to prioritize tasks when you're swamped.
It also changes the way you think, I'd like to say from that of petulance and naivete, to a professional with an appreciation for processes. A good example of what I mean by petulant or naive is this article in eweek entitled "IT Execs Should Learn More About Coding" (http://www.eweek.com/article2/0,1759,1814485,00.
Work experience teaches you to be pragmatic, and makes you look for processes to solve your problems, imperfect as they may be.
Watch 'Bowling for Columbine' if you haven't. One of its segments point out that Canadians own just as many guns (if not more) per person than in the US. While I'm all for removing firearms, there appears to be a more serious underlying problem with violence in the US. The documentary also points out violent video games are endemic in Japan but they have very low crime rates.
One of the more enlightening interviews was with Marilyn Manson, who when asked about what he would say to the kids at Columbine - he replied along the lines of: "Nothing, I would listen to them".
Does that mean it's wrong to strive towards true AI? Why is it more ethical to create intelligence in a machine rather than in some human chimera?
In any case, it seems inevitable that at some point in our future, we will have to deal with a non-human intelligence. Whether it is of our construction seems irrelevant. The nature of sentience, and the concept of humanity shouldn't be tied to our physical form anyway.
Money saving tip. Buy a stack of disposable cameras and give them out to guests attending the wedding. Collect them at the end of the day.
Wonder if biomass could account for the difference. In the past, Earth could be gaining biomass (vegetation, organic life): Sun's energy -> matter. Hence the slowing rotation. But over the past hundred years or so, we've been burning so much fossil fuel, and destroying so much vegetation, the Earth is lightening up again, thus increasing in rotation speed. At the rate we're going, scientists may have to start subtracting seconds...
Yeah, flip the hat logo upside down to its "open" stance.