Faster, good... Wider, good... But why not parallel with dual-DMA? Right now, it seems you could have 10 cores, but if all the threads running on each core have to contend for 1 bus, it doesn't matter how fast the bus is. I want each core to be able to access its own memory so it is not blocked by the other core's if it is accessing memory. I want one core to be able to access my NIC while the other accesses the hard drive and the other access the video card. All this requires some sort of parallel bus setup. It is my understanding we have not done this sort of architecture yet, but if we keep increasing the number of processor cores, this would seem to be the next step. BUT, I am not a hardware guy. I am a software guy, and expect it all to just work!:)
I know CPU power is a big factor in performance, but c'mon.. What about extending the rest of the motherboard? I bet things would run faster in dual/quad core mode if there were dual buses so that bottlenecks are reduced to peripherals and memory.
I am so sick of spam, that I have gone extreme. I find that 90% of the time I send and receive email from people I know. I created 2 accounts, and ditched all other accounts. 1 account has a serious filter on it, i.e. mail does not come through it unless I put the address in my address book. I use this account mostly, and never, never use it for online crap. My 2nd account is my spam account, which I abandon often. I use this for online shopping, registering at sites, etc. I only login to it when I am looking for something specific, like airline ticket confirmation, passwords to demo software, stuff like that.
It gives me pleasure to know that all the crap I get on my second email falls on deaf ears, so I say, here you go email harvesters, have fun!
At my first job as a software engineer, management cooked up something very similar. The software had a habit of having software bugs in it that seemed to show up right at release or during a customer demo. Management offered a "bounty" on software bugs and would pay bonuses based on defects found and fixed before a release or customer demo. It was amazing... Suddenly people were "finding" all sorts of bugs, and getting paid. This went on for several months until a couple of the software engineers were busted working with each other to create bugs that the other could find.
I say give the money to the students. Show the hard-up kids that education is worth it and that they don't have to sling drugs or whatever to get decent money.
I agree with your commenting example. As McConnell puts it, "The only two kinds of comments that are acceptable for completed code are intent and summary comments".
Self documenting code, albeit a bit verbose CAN alleviate the need for many comments, even in your example. One side-note, the example provided looks like the fill_my_buffer() should be fixed rather than commenting the initialization. The code be written:
Well, we can agree to disagree. I hope I didn't imply "don't comment" your code, because that is not what I propose. I propose smart, effective commenting. I like McConnell's book Code Complete, or Kernighan and Plauger's book The Elements of Programing Style. I merely agree with Kernighan/McConnell, et. al. on "Don't comment tricky code . . . Comments can't rescue difficult code" And as emphasized in The Elements of Programming Style, "Don't document bad code - rewrite it".
And for what it is worth, McConnell references a study done by Lind and Vairavan that shows code with large numbers of comments also tended to have the most defects and tended to consume the most development effort.
I stand by my advise to re-write code that is clunky and awkward and requires a 100 page essay to describe it.
Sounds like your organization is either relatively new to the software engineering game or just plain incompetent. The fact that you at least recognize the problem is a good thing. First, find out if there are others like you that find the current practices inefficient. If there are some others, band together and come up with an attack plan focusing on small progressive steps. You can't change the big machine overnight, so you will have to be patient.
"Practices that we need to start changing are things like: non source-controlled changes that get uploaded to our website when they aren't ready;
Build a better practice then show it to people. Hopefully you do have some sort of CM tool for your source code and you have a couple of cowboys just uploading source code. IF you don't, check out Subversion (http://subversion.tigris.org/). To deal with the cowboys, gather some stats on the problems causes by cowboy code being uploaded and then present the hard evidence (this unapproved code cost us $5000 dollars in man-hours) to a manager. The kicker is you MUST have a plan ready to present that will cure the problem. For instance, make the server only accessable by a software librarian/integrator and only he/she can put stuff up on the server which requires code be at least built and run against the current development tip.
poor code commenting;
I am a proponent of well written code. If code is too complicated or hard to understand such that is needs commenting, I say re-write it. Of course there are exceptions. A good ol' fashion code review process could fix this. And I am not talking about a heavy weight CMMI process here.. Simply print out the damn code and hand it to a seasoned developer who owns a red pen.
and very little in the way of code reuse (if I write a class that could be useful to others, I have no easy way of telling everyone about it).
This happens a lot, especially with teams that haven't melded together and don't communicate well. Simple weekly stand-up meetings can help (short, 10 minute meetings in a room with no chairs) just to communicate issues and announce cool things like your nifty new class. It also helps to have a group website or message board so you can say "I did xyz, and I think everyone might benefit. See my blog/post on the group site". Don't have a site or anyone with IT skills to get one up? Try Joomla, it is an easy site content management system that is great for this sort of thing (http://www.joomla.org/)
Good luck! If you play your cards right you could be the hero, or the zero, so watch out!
I think its great that people are thinking of ways to recoup some of the energy from waste, but one thing we need to consider is failure cases. If this technology works and we become reliant on it, failure of either the sewer system or the energy system could result in outages. By piggy-backing systems we create more places for a failure to creep in break the system.
The MS engineers were testing Vista under various configurations by modifying their PCs hardware and kept having to re-license their own OS, since it was designed so securely they had no "internal hack", and testing was taking too long (read expensive) so management said maybe we ought to re-visit this thing...
With a tremendous amount of code there is bound to be bugs. The difference between Firefox and IE will be what the Firefox team does about the bugs, and how serious they are. If the Firefox team doesn't handle the bugs well and the bugs are "serious", Firefox might be, *gasp*, put in the same bucket as IE! I'll still use it though..
.. and they can do what they want with it... All the Linux people out there should praise M$'s decision, because this will make using Linux way more attractive to those who like to tweak their hardware. This is turn will attract more commercial software developers, which will in turn attract more users to Linux.
Any device that uses the flags should support recording just the commercials as well. A good example might be during the super bowl when all the rage is the cool commercials that are aired. Some people might want that stuff for their archives...
From the looks of things the business model has been shifted out of the graphics market and into the server market. Probably explains why there is no silicon graphics in SGI anymore... From there site: "Expanding Focus: Enterprise Data Management
As it redoubles its focus on solving problems for customers in its core technical markets, the new SGI business model - and its expanded potential within new and existing customer organizations - is built in part around solutions that help enterprises address the data explosion underway within companies worldwide."
Precisely. Energy is going to be one of the most challenging aspects of increasing population and technology. My whole point was that if we listen to people who are just dismissing a form of technology because it is difficult to master with "what's the point?", then innovation can never happen. If all the innovators in time listened to this we would still be living in caves. I expect better from leaders in the energy community, that is all I am saying. Who knows if Hydrogen is a realistic energy source, but to just dismiss it with, hey we got oil whats the point, is short sighted and stupid.
FTA: " "You have to step back and ask, 'What is the point?'" says Joseph Romm, executive director of the Center for Energy & Climate Solutions.
It is this type of closed mind thinking that prevents innovation. When Brazil started the initiative for a total E85 fuel infrastructure if people listened to people like Joseph Romm saying "Whats the point, we have a plentiful cheap resource already, gas!" they wouldn't be declaring energy independance today. What's the point? Isn't it obvious?
Mmmmmmm deep fried computer, uggggghhhhhrrrrggggghhhh.
Re:You need to work it out...
on
IT and Divorce?
·
· Score: 1
I wish people valued marriage half as much as they valued their relationship to their children.
Or their jobs!
These days, people divorce because they argue too much.
Or not enough. Communication is one of the most fundamental things that can keep a marriage going, and arguing is a part of that. Arguing/Fights are a natural occurence; its how they end up being resolved which is usually the problem (i.e. passive agressive behavior like storming out of the house never to discuss the topic again and stuffing it waaaay down deep adding to the already overwhelming resentment).
They earn points by following certain rules Microsoft gives them, including: ...
2.never advertising PCs sold without an operating system, or with an alternative OS installed;
How can this not be viewed as anti-competitive behavior resulting from MS monopoly? Man, that sucks for the other OS's...
First, I find 2 or even 3 17-19 inch screens are better than one big one.
In terms of productivity there is a noticeable difference when I work in our lab with one monitor versus at my desk with 2. Especially when debugging code.
For me, however, the savings is more in paper than anything. I used to print requirements, interface documents, reference material, etc. Now with 2 monitors I can maximize the document I need on 1 screen then do the design/code stuff on the other. I have substantially reduced my paper consumption as well as other office supplies like highliters, pens, etc.
Good point! I wonder if the contract has free Jolt cola as part of the deal!
It also doesn't mention what grade he was in. As an 18 year dropping out of high school should have been right in his senior year. If he was in the middle of his senior year, that would be pretty dumb, but if he was still like a sophomore well then that tells you something.
Seriously though, as a parent I say good for him, but I would have pushed the graduating high school a bit more. For my kids, once they get out of high school I will support them in whatever they want to do as long as they can support themselves and are happy.
But... Does it come with a Hemi? :)
Nice! I gotta get me one of those!
Faster, good... Wider, good... But why not parallel with dual-DMA? Right now, it seems you could have 10 cores, but if all the threads running on each core have to contend for 1 bus, it doesn't matter how fast the bus is. I want each core to be able to access its own memory so it is not blocked by the other core's if it is accessing memory. I want one core to be able to access my NIC while the other accesses the hard drive and the other access the video card. All this requires some sort of parallel bus setup. It is my understanding we have not done this sort of architecture yet, but if we keep increasing the number of processor cores, this would seem to be the next step. BUT, I am not a hardware guy. I am a software guy, and expect it all to just work! :)
I know CPU power is a big factor in performance, but c'mon.. What about extending the rest of the motherboard? I bet things would run faster in dual/quad core mode if there were dual buses so that bottlenecks are reduced to peripherals and memory.
I am so sick of spam, that I have gone extreme. I find that 90% of the time I send and receive email from people I know. I created 2 accounts, and ditched all other accounts. 1 account has a serious filter on it, i.e. mail does not come through it unless I put the address in my address book. I use this account mostly, and never, never use it for online crap. My 2nd account is my spam account, which I abandon often. I use this for online shopping, registering at sites, etc. I only login to it when I am looking for something specific, like airline ticket confirmation, passwords to demo software, stuff like that.
It gives me pleasure to know that all the crap I get on my second email falls on deaf ears, so I say, here you go email harvesters, have fun!
At my first job as a software engineer, management cooked up something very similar. The software had a habit of having software bugs in it that seemed to show up right at release or during a customer demo. Management offered a "bounty" on software bugs and would pay bonuses based on defects found and fixed before a release or customer demo. It was amazing... Suddenly people were "finding" all sorts of bugs, and getting paid. This went on for several months until a couple of the software engineers were busted working with each other to create bugs that the other could find.
I say give the money to the students. Show the hard-up kids that education is worth it and that they don't have to sling drugs or whatever to get decent money.
I agree with your commenting example. As McConnell puts it, "The only two kinds of comments that are acceptable for completed code are intent and summary comments".
Self documenting code, albeit a bit verbose CAN alleviate the need for many comments, even in your example. One side-note, the example provided looks like the fill_my_buffer() should be fixed rather than commenting the initialization. The code be written:
#define LAST_VALID_BUFFER_INDEX (BUF_SIZE-1)
#define NULL_TERMINATOR_TO_ENSURE_STR_FUNC_COMPATIBILITY 0
buf[LAST_VALID_BUFFER_INDEX] = NULL_TERMINATOR_TO_ENSURE_STR_FUNC_COMPATIBILITY;
So here, I would argue, no comment is needed.
Well, we can agree to disagree. I hope I didn't imply "don't comment" your code, because that is not what I propose. I propose smart, effective commenting. I like McConnell's book Code Complete, or Kernighan and Plauger's book The Elements of Programing Style. I merely agree with Kernighan/McConnell, et. al. on "Don't comment tricky code . . . Comments can't rescue difficult code" And as emphasized in The Elements of Programming Style, "Don't document bad code - rewrite it".
And for what it is worth, McConnell references a study done by Lind and Vairavan that shows code with large numbers of comments also tended to have the most defects and tended to consume the most development effort.
I stand by my advise to re-write code that is clunky and awkward and requires a 100 page essay to describe it.
Sounds like your organization is either relatively new to the software engineering game or just plain incompetent. The fact that you at least recognize the problem is a good thing. First, find out if there are others like you that find the current practices inefficient. If there are some others, band together and come up with an attack plan focusing on small progressive steps. You can't change the big machine overnight, so you will have to be patient.
"Practices that we need to start changing are things like: non source-controlled changes that get uploaded to our website when they aren't ready;
Build a better practice then show it to people. Hopefully you do have some sort of CM tool for your source code and you have a couple of cowboys just uploading source code. IF you don't, check out Subversion (http://subversion.tigris.org/). To deal with the cowboys, gather some stats on the problems causes by cowboy code being uploaded and then present the hard evidence (this unapproved code cost us $5000 dollars in man-hours) to a manager. The kicker is you MUST have a plan ready to present that will cure the problem. For instance, make the server only accessable by a software librarian/integrator and only he/she can put stuff up on the server which requires code be at least built and run against the current development tip.
poor code commenting;
I am a proponent of well written code. If code is too complicated or hard to understand such that is needs commenting, I say re-write it. Of course there are exceptions. A good ol' fashion code review process could fix this. And I am not talking about a heavy weight CMMI process here.. Simply print out the damn code and hand it to a seasoned developer who owns a red pen.
and very little in the way of code reuse (if I write a class that could be useful to others, I have no easy way of telling everyone about it).
This happens a lot, especially with teams that haven't melded together and don't communicate well. Simple weekly stand-up meetings can help (short, 10 minute meetings in a room with no chairs) just to communicate issues and announce cool things like your nifty new class. It also helps to have a group website or message board so you can say "I did xyz, and I think everyone might benefit. See my blog/post on the group site". Don't have a site or anyone with IT skills to get one up? Try Joomla, it is an easy site content management system that is great for this sort of thing (http://www.joomla.org/)
Good luck! If you play your cards right you could be the hero, or the zero, so watch out!
if this is true, why don't sharks like to eat us?
I think its great that people are thinking of ways to recoup some of the energy from waste, but one thing we need to consider is failure cases. If this technology works and we become reliant on it, failure of either the sewer system or the energy system could result in outages. By piggy-backing systems we create more places for a failure to creep in break the system.
The MS engineers were testing Vista under various configurations by modifying their PCs hardware and kept having to re-license their own OS, since it was designed so securely they had no "internal hack", and testing was taking too long (read expensive) so management said maybe we ought to re-visit this thing...
Or a virus that exploits something in Defender and then goes about deleting things near and dear to the user...
With a tremendous amount of code there is bound to be bugs. The difference between Firefox and IE will be what the Firefox team does about the bugs, and how serious they are. If the Firefox team doesn't handle the bugs well and the bugs are "serious", Firefox might be, *gasp*, put in the same bucket as IE! I'll still use it though..
.. and they can do what they want with it... All the Linux people out there should praise M$'s decision, because this will make using Linux way more attractive to those who like to tweak their hardware. This is turn will attract more commercial software developers, which will in turn attract more users to Linux.
Any device that uses the flags should support recording just the commercials as well. A good example might be during the super bowl when all the rage is the cool commercials that are aired. Some people might want that stuff for their archives...
From the looks of things the business model has been shifted out of the graphics market and into the server market. Probably explains why there is no silicon graphics in SGI anymore... From there site:
"Expanding Focus: Enterprise Data Management
As it redoubles its focus on solving problems for customers in its core technical markets, the new SGI business model - and its expanded potential within new and existing customer organizations - is built in part around solutions that help enterprises address the data explosion underway within companies worldwide."
"Then wouldn't we have saved ourselves millions and millions of dollars by just having that key on the optical disc part to begin with?"
"Yeah, but now we have this cool Dongle thing"
"And??"
"And people will inevitable lose it and have to buy another one, which will give away for free but charge extra hefty shipping and handling!"
"Brillant!"
Precisely. Energy is going to be one of the most challenging aspects of increasing population and technology. My whole point was that if we listen to people who are just dismissing a form of technology because it is difficult to master with "what's the point?", then innovation can never happen. If all the innovators in time listened to this we would still be living in caves. I expect better from leaders in the energy community, that is all I am saying. Who knows if Hydrogen is a realistic energy source, but to just dismiss it with, hey we got oil whats the point, is short sighted and stupid.
FTA: " "You have to step back and ask, 'What is the point?'" says Joseph Romm, executive director of the Center for Energy & Climate Solutions.
It is this type of closed mind thinking that prevents innovation. When Brazil started the initiative for a total E85 fuel infrastructure if people listened to people like Joseph Romm saying "Whats the point, we have a plentiful cheap resource already, gas!" they wouldn't be declaring energy independance today. What's the point? Isn't it obvious?
Mmmmmmm deep fried computer, uggggghhhhhrrrrggggghhhh.
I wish people valued marriage half as much as they valued their relationship to their children.
Or their jobs!
These days, people divorce because they argue too much.
Or not enough. Communication is one of the most fundamental things that can keep a marriage going, and arguing is a part of that. Arguing/Fights are a natural occurence; its how they end up being resolved which is usually the problem (i.e. passive agressive behavior like storming out of the house never to discuss the topic again and stuffing it waaaay down deep adding to the already overwhelming resentment).
They earn points by following certain rules Microsoft gives them, including:
...
2.never advertising PCs sold without an operating system, or with an alternative OS installed;
How can this not be viewed as anti-competitive behavior resulting from MS monopoly? Man, that sucks for the other OS's...
I have never used a water cooling system. Has anyone seen what happens when one malfunctions inside your case?
First, I find 2 or even 3 17-19 inch screens are better than one big one.
In terms of productivity there is a noticeable difference when I work in our lab with one monitor versus at my desk with 2. Especially when debugging code.
For me, however, the savings is more in paper than anything. I used to print requirements, interface documents, reference material, etc. Now with 2 monitors I can maximize the document I need on 1 screen then do the design/code stuff on the other. I have substantially reduced my paper consumption as well as other office supplies like highliters, pens, etc.
Good point! I wonder if the contract has free Jolt cola as part of the deal!
It also doesn't mention what grade he was in. As an 18 year dropping out of high school should have been right in his senior year. If he was in the middle of his senior year, that would be pretty dumb, but if he was still like a sophomore well then that tells you something.
Seriously though, as a parent I say good for him, but I would have pushed the graduating high school a bit more. For my kids, once they get out of high school I will support them in whatever they want to do as long as they can support themselves and are happy.