Obviously, the utility needs to make money, but a secondary consideration is that they don't want to encourage large numbers of people to send excess power back up the lines. Imagine a whole neighborhood of solar enthusiasts on a bright clear spring day (i.e. cool enough to not need a/c) pumping several thousand Amps backwards through the lines. The substations were not designed for this and could conceivably trip a breaker at best, catch fire and spew PCB's at worst.
And there is no way the utility will let you net meter more than your service amps (often in the range of 200) which comes out to a 24kw array. The install in the article was 1/4 of the way there which is not a huge margin of safety. A larger install and slightly more efficient panels (coming soon) would do it.
wow that's stretching it. mac users who need to run a windows app will usually choose parallels, boot camp, vmware, or VNC.
wiping out macos x to install XP (let alone vista) seems like it would be extremely uncommon. might as well rip out your 60" plasma and install a clock radio.
Not a big deal. You put a macro or typedef (e.g. my_int64_t) into an include file inside of #ifdef _WIN64 and then my_int64_t means the same thing no matter what platform you're on.
Clearly people are more frustrated with being overridden by management than they are with design issues. I can't fault them for that, for I know of which they speak.
Leaving that issue aside, here are some of my personal design principles, no particular order:
* push for written project specifications. if nobody can be bothered to write down exactly what they expect the software to do, then it's extremely unproductive to proceed any further. i don't mean low productivity, I mean negative. if you don't have a spec, anything you do may have to be undone at some point in the future.
* make an effort to understand the problem space. i usually don't go out and talk to experts or take courses, I just pick up a well-regarded reference book to get a good grounding in what kinds of things are going on for the people who are going to use the software. then when someone asks me a question about the design or the code, I don't have to answer them with a nerdy coder answer... I can either point to the specific area of the problem space that's at issue, or at the very least make a metaphor that they'll understand. on rare and shining moments, a knowledgeable user can have some surprisingly useful insight. do not let this go to waste.
* write code such that every layer is a useful API. Module A uses module B which is a subclass of C etc, okay fine things can get complicated, but there should be a.h for each.cpp (or as appropriate for other languages) and the.h's each should individually represent a re-useable, unit-testable module that accomplishes a distinct goal in the overall project. Other modules must use the published interface to get things done (no hidden APIs, little or no "friend" access).
* Every piece of code should be a model for others to follow. You should be able to look at some minor code that converts strings to uppercase, and say to yourself, that's exactly the best way to do that, and immediately see how you could extend or re-use it to say, convert to lowercase, or make it understand UTF.
* Be object oriented if you wish, but don't abuse the class hierarchy. Specious subclassing is a rampant problem, and debugging stuff that has multiple superclasses and/or a surprising link in its chain of superclasses is a nightmare.
* regardless of OO-ness, the code should be well balanced in terms of calling other functions to get things done vs. just doing it right there. Hard to give a guideline beyond that, but it's pretty clear something is questionable when someone is using an SQL statement to get the current date or using system("sort") instead of qsort.
* don't just write a bunch of code and hope it sticks together, make clearly defined areas like basic data type tools, enabling technologies, glue or wrapper code, metadata management, plug-ins, client/server tools, business rules, report generators, auditing. Some stuff (security, performance) is transcendent and needs to be brought up over and over, but once you get linked-lists working you should be able to use that without any further drama. as the project proceeds, having things divided up makes it clear where the enhancements and new features need to go, and since all the knowledge of that area is embodied in one place the change can be integrated into the existing code neatly and fully.
* abstraction, symmetry, factoring, normalization, whatever is appropriate for the project. in multi-person projects things can get chaotic very quickly. somebody needs to be on the lookout to make sure that various APIs, tools, objects, tables, that you've worked so hard to maintain in the correct modules actually fit together in a way that works well overall. I personally have kind of a twisted view where I look at function parameters as if they were rows in a table and ponder whether the function would be more apt if it referred to a column, a row, or a view instead of what was naively
there may be more value in the data than in the drive mechanism itself. you said they were used for video production...maybe there are some interesting outtakes or bloopers your employer would allow on youtube.
"The Boy Scouts of America (BSA), the largest youth organization in the United States, has policies which prohibit atheists, agnostics, and "known or avowed" homosexuals from membership in its Scouting program; both youths and adults have had their memberships revoked as a result."
i wrote one of those back-button-disabling "for security reasons" web sites a long time ago.
what the website is trying to accomplish is to prevent someone from hijacking your session. it sets a unique cookie, tracks the click stream, implements all page navigation with specific buttons, and then if the cookie and the session stream don't jive, it assumes the page has been hijacked and forces you to re-authorize. this was back in 1997 when we weren't willing to rely on SSL alone.
this of course is a major PITA for users, but then again so is having your bank account hijacked. at this point, i only see this technique in use for bank/brokerage accounts, and i think a lot of them now remember the session state for the last couple of clicks so if you go back or forward in your browser a little bit, you're still okay. i presume they are checking IP address and limiting the time window to a couple minutes still.
One should note that NBC is 80% owned by GE and GE is one of the few companies large enough to make a bid for MSFT. Microsoft cooperates with NBC as a signal that it will cooperate with its parent company.
I think the fundamental thing going on here is that Ballmer is trying to keep an exit strategy in play.
I'd say it's probably time for the customer to just manage their own data. If they want access now, they'll want control soon. Unless this is your only customer you need to cut them loose. In the long run everyone will be happier with that.
>> When did common-sense stop making sense in science?
If something already makes sense then there is less of a need to study it scientifically. So science will gravitate towards non-intuitive things like neutrinos, recessive genes, bose-einstein condensates, etc.
right, but don't forget that if you had imagined an array of 2D sheets of paper, you wouldn't really capture the idea that in 3D you can rotate, bend, and fold the paper in ways that go beyond just shuffling the sheets of paper around in the array.
TFA (and the stories it linked to) made it clear that HP *was* tracking this and that the majority of sales to businesses *are* XP.
I don't know why you're talking about individual copies. HP is a reseller and they can just ghost from a master image.
For OEM or retail editions you are correct these are supposed to be 100% vista at this point.
Customer pays money to HP, gets Windows XP delivered in return.
That is a sale.
Any other interpretation is disingenuous wordplay.
<jedi>
These are not the magic mushrooms you're looking for.
</jedi>
Obviously, the utility needs to make money, but a secondary consideration is that they don't want to encourage large numbers of people to send excess power back up the lines. Imagine a whole neighborhood of solar enthusiasts on a bright clear spring day (i.e. cool enough to not need a/c) pumping several thousand Amps backwards through the lines. The substations were not designed for this and could conceivably trip a breaker at best, catch fire and spew PCB's at worst.
And there is no way the utility will let you net meter more than your service amps (often in the range of 200) which comes out to a 24kw array. The install in the article was 1/4 of the way there which is not a huge margin of safety. A larger install and slightly more efficient panels (coming soon) would do it.
wow that's stretching it. mac users who need to run a windows app will usually choose parallels, boot camp, vmware, or VNC.
wiping out macos x to install XP (let alone vista) seems like it would be extremely uncommon. might as well rip out your 60" plasma and install a clock radio.
That's amazing. I mean, someday that groundbreaking research might even enable multitouch on smartphones. That would be awesome!
Not a big deal. You put a macro or typedef (e.g. my_int64_t) into an include file inside of #ifdef _WIN64 and then my_int64_t means the same thing no matter what platform you're on.
Sounds like you might have been exposed to hypochondria as well. You should go to a specialist and have that checked out right away.
No word yet on MacOS 10.8 Cougar, to be designed with the "active" older woman in mind.
Amiga, ATARI, DecView, GEM, Lisa, MacOS, OS/2, PARC, SunView, X11
Microsoft didn't "bring about" the GUI, they stole the most basic aspects of it and wedged it on top of DOS, which BTW they also stole.
You just couldn't be more wrong.
No the engineers are paid just fine, it's just that Steve Jobs' $1 salary is dragging down the average...
>> I am looking for general design principles.
.h for each .cpp (or as appropriate for other languages) and the .h's each should individually represent a re-useable, unit-testable module that accomplishes a distinct goal in the overall project. Other modules must use the published interface to get things done (no hidden APIs, little or no "friend" access).
Clearly people are more frustrated with being overridden by management than they are with design issues. I can't fault them for that, for I know of which they speak.
Leaving that issue aside, here are some of my personal design principles, no particular order:
* push for written project specifications. if nobody can be bothered to write down exactly what they expect the software to do, then it's extremely unproductive to proceed any further. i don't mean low productivity, I mean negative. if you don't have a spec, anything you do may have to be undone at some point in the future.
* make an effort to understand the problem space. i usually don't go out and talk to experts or take courses, I just pick up a well-regarded reference book to get a good grounding in what kinds of things are going on for the people who are going to use the software. then when someone asks me a question about the design or the code, I don't have to answer them with a nerdy coder answer... I can either point to the specific area of the problem space that's at issue, or at the very least make a metaphor that they'll understand. on rare and shining moments, a knowledgeable user can have some surprisingly useful insight. do not let this go to waste.
* write code such that every layer is a useful API. Module A uses module B which is a subclass of C etc, okay fine things can get complicated, but there should be a
* Every piece of code should be a model for others to follow. You should be able to look at some minor code that converts strings to uppercase, and say to yourself, that's exactly the best way to do that, and immediately see how you could extend or re-use it to say, convert to lowercase, or make it understand UTF.
* Be object oriented if you wish, but don't abuse the class hierarchy. Specious subclassing is a rampant problem, and debugging stuff that has multiple superclasses and/or a surprising link in its chain of superclasses is a nightmare.
* regardless of OO-ness, the code should be well balanced in terms of calling other functions to get things done vs. just doing it right there. Hard to give a guideline beyond that, but it's pretty clear something is questionable when someone is using an SQL statement to get the current date or using system("sort") instead of qsort.
* don't just write a bunch of code and hope it sticks together, make clearly defined areas like basic data type tools, enabling technologies, glue or wrapper code, metadata management, plug-ins, client/server tools, business rules, report generators, auditing. Some stuff (security, performance) is transcendent and needs to be brought up over and over, but once you get linked-lists working you should be able to use that without any further drama. as the project proceeds, having things divided up makes it clear where the enhancements and new features need to go, and since all the knowledge of that area is embodied in one place the change can be integrated into the existing code neatly and fully.
* abstraction, symmetry, factoring, normalization, whatever is appropriate for the project. in multi-person projects things can get chaotic very quickly. somebody needs to be on the lookout to make sure that various APIs, tools, objects, tables, that you've worked so hard to maintain in the correct modules actually fit together in a way that works well overall. I personally have kind of a twisted view where I look at function parameters as if they were rows in a table and ponder whether the function would be more apt if it referred to a column, a row, or a view instead of what was naively
there may be more value in the data than in the drive mechanism itself. you said they were used for video production...maybe there are some interesting outtakes or bloopers your employer would allow on youtube.
From wikipedia of course:
http://en.wikipedia.org/wiki/Boy_Scouts_of_America_membership_controversies
"The Boy Scouts of America (BSA), the largest youth organization in the United States, has policies which prohibit atheists, agnostics, and "known or avowed" homosexuals from membership in its Scouting program; both youths and adults have had their memberships revoked as a result."
In all likelihood it will be years before the enabling technology is in place to prevent the most vicious malware of all, the dreaded rickroll.
I give you the most advanced artifact of our civilization, The Dyson Ball Vacuum:
http://ecx.images-amazon.com/images/I/41M4H7CDAML._SS400_.jpg
Would you settle for a dyson ball?
i wrote one of those back-button-disabling "for security reasons" web sites a long time ago.
what the website is trying to accomplish is to prevent someone from hijacking your session. it sets a unique cookie, tracks the click stream, implements all page navigation with specific buttons, and then if the cookie and the session stream don't jive, it assumes the page has been hijacked and forces you to re-authorize. this was back in 1997 when we weren't willing to rely on SSL alone.
this of course is a major PITA for users, but then again so is having your bank account hijacked. at this point, i only see this technique in use for bank/brokerage accounts, and i think a lot of them now remember the session state for the last couple of clicks so if you go back or forward in your browser a little bit, you're still okay. i presume they are checking IP address and limiting the time window to a couple minutes still.
Are you *sure* it wasn't the sunblock that made him pale?
One should note that NBC is 80% owned by GE and GE is one of the few companies large enough to make a bid for MSFT. Microsoft cooperates with NBC as a signal that it will cooperate with its parent company.
I think the fundamental thing going on here is that Ballmer is trying to keep an exit strategy in play.
I'd say it's probably time for the customer to just manage their own data. If they want access now, they'll want control soon. Unless this is your only customer you need to cut them loose. In the long run everyone will be happier with that.
Don't be a chump old chum, listen to some Chumbawamba.
>> When did common-sense stop making sense in science?
If something already makes sense then there is less of a need to study it scientifically. So science will gravitate towards non-intuitive things like neutrinos, recessive genes, bose-einstein condensates, etc.
right, but don't forget that if you had imagined an array of 2D sheets of paper, you wouldn't really capture the idea that in 3D you can rotate, bend, and fold the paper in ways that go beyond just shuffling the sheets of paper around in the array.
I can go about 20 miles on a gallon of chocolate milk.