- Approach the job the right way. The goal is not to solve the problem in whatever way possible, but rather to solve it in the cleanest and most easily maintainable/modifiable way. You're not coding to solve today's problem but rather to create code than can be easiliy maintained and modified for the next 10 years.
- Minimalism / clean design. Most often the best design is the one that results in the least amount of code. If you can redesign or recode to result in less code (without reducing the functionality or maintainability) then that is a good thing. You'll quickly learn to regognize clean design/code from that with unnecessary cruft/complexity.
- Push yourself to tackle projects that are at the edge of your capability. You won't learn much doing stuff that is too easy! If work doesn't offer enough challenges (or even if it does), do stuff that stretches you in your spare time.
- Learn new techniques whenever you can. Programming talent is like sharks - it needs to move to stay alive! Whatever language/domain you are working in, try to identity the state of the art tools that others are using, and use them yourself. If you are using C++, learn to use the STL right away (hardly cutting edge, but you'd be surprised how many don't use it).
- Ask questions from more experienced developers whenever they arise, or whenever you suspect there's an easier/better way do to something. You'll advance faster by leveraging the experience of others than by having to repeat all their learning errors yourself!
Seeing as that response is advocating using the 0/1/2/3 (0x03020100) values as indeces, it's hard to call giving that number in decimal anything other than deliberate obfuscation - certainly not clever.
If you want to have machine-indpendent access to a 32 bit int, then how about the OBVIOUS way:
union {
uint32_t val;
char bytes[4]; } n;
Just write one variant, and read the other. (e.g. n.val = x; n.byte[2] is 3rd byte, regardless of int byte order)
Or to answer the poster's actual question about determining endianness (i.e. int byte order):
int i = 1; if ((char *)&i)[0] == 1) {// little endian - low byte first }
There's no good reason to use Duff's device - for a couple more lines of code you can make it readable (and just as fast). Also note that many modern compilers do loop rolling automatically, and secondly that if you followed the advice of that WikiPedia article and used this to copy rather than serialize you should be shot (memcpy will be MUCH faster - it's typically just a single "repeat move word" or similar assember instruction).
A more readable of a manually unrolled loop is just:// Do whole chunks of 4 first for (; n >= 4; n -=4) {
*out = *p++;
*out = *p++;
*out = *p++;
*out = *p++; }// Do final 0-3 switch (n) {// Fall-thru intentional case 3:*out = *p++; case 2:*out = *p++; case 1:*out = *p++; }
No tricky to read code, and just as fast as Duff's (in fact faster than the WikiPedia code since they appear to rely on the compiler optimizing % 8 to use shift not slow division). I just used chunks of 4 as an illustration - in practice you'd use larger chunks to reduce the loop overhead.
Much as I like, and rely upon, GMail, you can't say that it's yet really production/release (i.e. out of Beta) quality, and in fact in the last few weeks it's taken a turn for the worse.
The functionality seems bug free, but the deployment/availablility still seems to have issues. I'm used to the occasional GMail service outages which don't last very long, but a new thing from the last few weeks is that almost every operation you do on GMail results in a (paraphrasing) "temporary failure/unavailable - try again in a few seconds" error with the operation then succeeding on the second attempt. I get the impression they've enabled some super-aggressive session/cache timeout maybe to help scalability.
Makes sense, but at this point it seems they are selling it mainly as a platform (hoping it will atract developers and gain new functionality) rather than as something that has all the bells and whistles out of the box.
Voice dialing (or other voice apps - memo saving, voice mail, etc) doesn't need to be built in as long as the Android API gives apps access to the microphone (and preferably also the voice content of incoming calls).
The cost of the player isn't even the worst of it as it's relatively low and essentially a one-off cost.
With DVD you can appreciate the quality improvement over TV/VHS on any size TV set (and with any DVD player), but the difference between BlueRay vs DVD is going to be lost unless you've also forked out big bucks for a large high resolution TV, and then of course there's the cost difference between DVDs and BluRay movies.
To most people the difference between DVD and BluRay really isn't worth it, even if the latter is better. Just like for most people the difference in quality between a consumer digital camera and DSLR isn't worth the cost difference (despite a much larger quality difference between DVD vs BluRay). I guess it's really a matter of value rather than quality - BluRay may be a better quality than DVD, but to most people it's NOT a better value. If you're a videophile (or if photoography is your hobby for the DSLR) then that's a different story.
This has got precisely **NOTHING** to do with free speech.
This isn't the UK government banning anythng - it's a private company changing it's terms of service.
It's as if your dad announced a ban on your friends swearing in your house, or flashing their knives there.
If knife afficianados, or teenage thugs for that matter, want to start their own web site for sharing pics and videos, there is nothing - certainly not UK law - stopping them from doing it. With all the cloud services available it'd be a snap to do (as long as you have more than the three half-firing neurons of the typical teenage thug).
I highly respect someone who can hold a set of personal morals and stick to them regardless of the situation
I think you're confusing religious views with morals. She has very tightly held religious views and for better or worse does seem to stick to them (choosing to give birth to a down's syndrome child, choosing to preach abstinance vs sex education to her daughter, with repurcussions).
However morally she seems extraordinarily weak, even by the typical standards of politicians. She does very dubious things (firing the librarian - and the currently gongoing "troopergate" scandal, as well as other similar firings - very much a pattern), initially supporting the pork barrel "bridge-to-nowhere", even - as mayor - hiring a lobbyist specifically (& successfully) to get pork barrel "ear marks" for her town, then flip flops when her behavior comes under scrutiny and she can't take the heat. She also has a pattern of lying to try to cover things up - e.g. intially denying that she'd applied pressure to have her ex brother-in-law (troopergate) fired, then finally admitting a couple of dozen contacts with his boss over this (who she then fired because he refused to fire the guy without cause).
From what I've read of her record there's a very consistent pattern of self-serving abuse of power and imorrality.
Did you even read that link you post that you think debunks her firing the librarian?!!
Just a few facts from the link YOU posted :
FACT: Palin did ask the Librarian how she would react if asked to ban a book, and did fire her when she said she would not ban it
FACT: Palin spun this first as being a "loyalty test" (apparently regardling the librarian's loyalty to herself and her censorship requests more important the librarian's loyalty to the duties of her job)
FACT: Palin lated explained the firing as being because "she didn't feel she had [the librarian] Emmons' support" (rather like Bush firing Supreme Court judges when they also took a principled stand and refused to do his bidding).
I think the facts YOU posted a link to rather speak for themselves as to the kind of person she is.
I think that is unrealistic. None of these people is going to govern in isolation if they are elected, so you might as well have the team that's behind them involved in the election process itself.
Palin's record in Alaska has been that she fires people who disgree with her, and instead surrounds herself with "yes" men, so "team Palin" is in fact exactly the same as "just Palin". McCain apparently either wan't aware of this or approves of it (not sure which is worse), so I wouldn't get your hopes up that they'll suddenly get all executive and surround themselves with the best talent available.
It's sad the the media isn't focusing more on Palin's extremist views (& piss-poor record), since of the two she's the one much more to be scared of, not just because McCain is old enough for possible succession to be an issue, but also because he's already reversed himself to agree with her on a number of issues (off-shore drilling, etc), so her views apparently trump his.
As far as Palin and science/etc:
- She's a creationist, and advocates teaching it in schools
- Up until two years ago (when she became govenor) she was a Pentacostalist for 20+ years, and still has contact with the church. Does she speak in tongues and handle snakes? Who knows, but she's apparently comfortable hanging out with people who do.
- She is totally against abortion under ANY circumstances (science would at least distinguish between prior/after the development of the nervous system, brain, etc), incuding in cases of rape and incest (science tells us that incest is likly to result in genetic abnormalities).
- She is against sex education and believes teaching abstinace as an alterntive(!). Not coincidently her teenage daugter is pregnant by some dimwit who's myspace page is full of "F" bombs and states he doesn't want kids
- While mayor of bumfuck, Alaska (pop. 5000), her only experience prior to becoming govenor two years ago, she fired the local librarian for refusing to remove books that Palin found offensive. Later, after protests, she was forced to reinstate her. As a self-professed "hockey mom" she also ignored requests to improve the town library and instead built a multi-million dollar pro-sized hockey rink. Not very science friendly to be anti-education/library.
- Her record in Alaska has been that she fires those who disagree with her, and instead surrounds herself with "yes" men. Doesn't want anyone near her more experienced who'll show her up.
- etc, etc
Oh, and despite her breezy "yeah! fer sure!" recent interview answer to the question of whether she would be qualified to be president and commander in chief in the event that happened, she herself is on record as noting that her prior job as mayor was so simple ("only $6M and 5000 people") that it didn't even need any experience (convenient as she didn't have any).
I wish the Dems had a stronger ticket, but at least it's not downright scary as hell like McCain/Palin. The last thing the USA needs is another 4 or 8 years of being run by people who make decisions based on whacky religious/gut beliefs rather that facts.
As someone who has been on the other side of the table (interviewer vs interviewee), I can attest that asking simple programming questions is often a necessity - to weed out those who are lying through their teeth about their experience.
I don't believe in Microsoft/Google style "trick" questions for a variety of reasons: - Failure to figure the carrying capacity of an african swallow in an interview should not trump years of soldid accomplishments - Ability to answer these types of questions is something you can prep for - not the sign of innate intelligence they think it is - The ability to swag the number of 7-11s in America is not closely related to the needs of the typcial programming job, even if it makes you feel all "googly" inside to be surrounded by people who's main ability is being able to do so
But you'd be suprised how much you'll find out by asking someone to do something as simple as writing a functio to reverse the order of elements in a list or some such trivial task. The level of difficult should be very low - the purpose is to see if you're really fluent in the language(s) you claim, not to see how well you can solve complex problems under pressure.
1) Anything that can be hacked together in a week is by definition fairly trivial/boring and not the sort of thing that a skilled programmer is likely to do for free in his spare time. OTOH if you offer someone a few hundred bucks for a weeks work (if that is really all it is), they may go for it if bored.
2) If you can't yourself design/code it in a week then there is no guarantee that your seat-of-the-pants guess that someone else might be able to do so is even in the ballpark! An experienced developer will certainly be able to design/develop it better & faster then you, but they'll also be able to estimate it better than you, and maybe see all sorts of complexities and pitfalls that you don't have the skill to see.
3) If it really is a weeks work for someone experienced, and if you are at least knowlegable enough to make that call, then it shouldn't take you more than a couple of months to do it. If the idea is that great, then why not put together an initial version yourself, and if it's actually useful THEN others may be willing to jump in and clean up the code and extend/polish it.
"Freedom of Speech" does not mean that you or anybody else is forced to tolerate some asshole mouthing off in your own living room, or even for that matter mouthing off in a public space (which is the only place where the law applies) if in doing so they are breaking other laws (e.g the classic shouting "fire" for no reason in a crowded theatre).
YouTube is a private company and, thankfully, has just as much right to pick and choose what you're allowed to say in it's "home" as you do.
Try reading (ex. Santa Fe Institute member) Stuart Kauffman's "At home in the universe", where he convincingly argues for the inevitability of the simplest forms of life, given enough time.
The simplest form of life needn't be anything more than self-assembling membrane/fatty bubble containing self-replicating (i.e circular chain reaction) chemical soup. The role of controlling such a "cells" chemistry wouldn't have been filled by simple catalysts - no need for anything remotely as complex as RNA. Reaction components admitted by the semi-permiable membrane would be it's "food". Replication could have been mechanical via large cells being broken up by phyicical agitation (e.g. wave/wind action) and smaller ones then self-assembling...
Well, for one thing his protocells self-assembled - they weren't assembled by the scientist. This at least proves that if those same fatty acids existed someplace in the primordial soup they could have self-assembled into protocells back then just as surely as they did in the lab.
The fact that the scientist was smart and recreated one of the chemical experiments that may have been a step towards life rather that any of the other billions upon billions that didn't doesn't invalidate it.
Now, if the scientist had assembed the protocell, THAT would not raise many questions.
That is where it was copied from, but they've still chosen to specifically apply it to Chrome - that's the agreement you have to click to accept before downloading Chrome.
I'm sure as hell not going to use a web viewer (browser) that makes legal claim to anything I post or upload using it!
The summary is wrong. The patent isn't about PgUp/PgDn, but rather about paging through a document a (multi-column) document page at a time rather than a (zoom dependent) screenful at a time. The PgUp/Dn keys being used to do this are only mentioned as one embodiment of this "invention".
However, no doubt prior art exists for programs that page in terms of the document rather than screen (word processors and desktop publishing apps would be an obvious place to look).
Unfortunately McCain/Palin don't intend to keep THEIR religion out of YOUR life...
Evangelical Christians could turn out in droves for Palin, a member of Feminists for Life who opposes abortion even in cases of rape or incest, if she maintains her promise.
When I worked as a developer for a software-only company, it never ever happened that an actual bug was found by testers -- all I got from them was false positives that shown flawed assumptions in their test methodology that I had to waste my time refuting.
That's why you don't just have a test group, you also have test specifications and test specifications reviews. It's meant to be a team effort you know, not just a prima donna programmar whining at the test group due to a test specification that was pulled out of thin air. If the developer actually had a clue and cared about quality he'd have fixed the process.
I can imagine a situation when excessive amount of tests and testers are useful, and that situation is when developers are so incompetent, all bugs are trivial, and all nontrivial bugs are acceptable. Then, of course, they can continue banging at keyboards producing code that vaguely corresponds to their understanding of the software purpose, adding random changes added until it passes the test.
It sounds like you've only works on systems (however complex you thought they were) at the low end of the complexity scale, probably ones who's interactions with external systems out of your control was limited or non-existant. "Exessive amounts" of test cases are necessary when there are "exessive amounts" of input conditions which should generate different system respones. The Telecom system I am working on right now has a (fully automated) regression test suite of many thousands of test cases.
The very last person who should be responsible for system testing (vs unit testing) the code is the developer, because he's fully intimate with the code and therefore believes he knows where the bugs may be. He also naturally believes that what he was trying to implement is correct, when even that may not be the case if uncaught ambiguities in the requirements have made it into the design specification.
Regression testing should be fully automated, but there may also (depending on complexity of the system) be external test conditions that need to be manually created, and coordination with external systems that need to be coordinated... Believe it or not, there are systems larger than one developer is capable of testing, and there are systems that interact with many external systems which the developer has no control over.
Some large companies do actually use these, and achieving the top levels of either standard is extremely tough. The's some truth that the standards may be mapped to whatever procedures you have in place (only in certain places though, and to a certain degree), and this is reasonable since the emphasis is on having well proscribed ways of doing and tracking things. Repeatable quality is a result of processes as much as of people.
You are absolutely wrong that things like design reviews, code reviews and regression testing don't catch bugs, or do so only by luck. In the end it's people that catch the bugs, but they only do so consistently when they consistently go thru the best practices (reviews, etc) proscribed by a well designed software development PROCESS.
You can get much more fancy than using simple steps like these. In large systems you can use statistics to estimate the the number of bugs (some measure of the quality) left in a system based on the changing rate at which you've been finding them so far. My wife works in the software development group of a large medical insurance company where the Quality Assurance group itself consists of around a hundred people.
Go read up on the Capability Maturity Model (CMM) or ISO 9000 and come back when you have a clue.
You don't even need to formalize the process to that extent to make leaps and bound improvements on the hack-it-together and test it approach you are suggesting... At a minimal a decent software development process should have:
- Approach the job the right way. The goal is not to solve the problem in whatever way possible, but rather to solve it in the cleanest and most easily maintainable/modifiable way. You're not coding to solve today's problem but rather to create code than can be easiliy maintained and modified for the next 10 years.
- Minimalism / clean design. Most often the best design is the one that results in the least amount of code. If you can redesign or recode to result in less code (without reducing the functionality or maintainability) then that is a good thing. You'll quickly learn to regognize clean design/code from that with unnecessary cruft/complexity.
- Push yourself to tackle projects that are at the edge of your capability. You won't learn much doing stuff that is too easy! If work doesn't offer enough challenges (or even if it does), do stuff that stretches you in your spare time.
- Learn new techniques whenever you can. Programming talent is like sharks - it needs to move to stay alive! Whatever language/domain you are working in, try to identity the state of the art tools that others are using, and use them yourself. If you are using C++, learn to use the STL right away (hardly cutting edge, but you'd be surprised how many don't use it).
- Ask questions from more experienced developers whenever they arise, or whenever you suspect there's an easier/better way do to something. You'll advance faster by leveraging the experience of others than by having to repeat all their learning errors yourself!
Seeing as that response is advocating using the 0/1/2/3 (0x03020100) values as indeces, it's hard to call giving that number in decimal anything other than deliberate obfuscation - certainly not clever.
If you want to have machine-indpendent access to a 32 bit int, then how about the OBVIOUS way:
union {
uint32_t val;
char bytes[4];
} n;
Just write one variant, and read the other. (e.g. n.val = x; n.byte[2] is 3rd byte, regardless of int byte order)
Or to answer the poster's actual question about determining endianness (i.e. int byte order):
int i = 1; // little endian - low byte first }
if ((char *)&i)[0] == 1) {
Doh!
There's no good reason to use Duff's device - for a couple more lines of code you can make it readable (and just as fast). Also note that many modern compilers do loop rolling automatically, and secondly that if you followed the advice of that WikiPedia article and used this to copy rather than serialize you should be shot (memcpy will be MUCH faster - it's typically just a single "repeat move word" or similar assember instruction).
A more readable of a manually unrolled loop is just: // Do whole chunks of 4 first // Do final 0-3 // Fall-thru intentional
for (; n >= 4; n -=4) {
*out = *p++;
*out = *p++;
*out = *p++;
*out = *p++;
}
switch (n) {
case 3:*out = *p++;
case 2:*out = *p++;
case 1:*out = *p++;
}
No tricky to read code, and just as fast as Duff's (in fact faster than the WikiPedia code since they appear to rely on the compiler optimizing % 8 to use shift not slow division). I just used chunks of 4 as an illustration - in practice you'd use larger chunks to reduce the loop overhead.
Much as I like, and rely upon, GMail, you can't say that it's yet really production/release (i.e. out of Beta) quality, and in fact in the last few weeks it's taken a turn for the worse.
The functionality seems bug free, but the deployment/availablility still seems to have issues. I'm used to the occasional GMail service outages which don't last very long, but a new thing from the last few weeks is that almost every operation you do on GMail results in a (paraphrasing) "temporary failure/unavailable - try again in a few seconds" error with the operation then succeeding on the second attempt. I get the impression they've enabled some super-aggressive session/cache timeout maybe to help scalability.
Makes sense, but at this point it seems they are selling it mainly as a platform (hoping it will atract developers and gain new functionality) rather than as something that has all the bells and whistles out of the box.
Voice dialing (or other voice apps - memo saving, voice mail, etc) doesn't need to be built in as long as the Android API gives apps access to the microphone (and preferably also the voice content of incoming calls).
The cost of the player isn't even the worst of it as it's relatively low and essentially a one-off cost.
With DVD you can appreciate the quality improvement over TV/VHS on any size TV set (and with any DVD player), but the difference between BlueRay vs DVD is going to be lost unless you've also forked out big bucks for a large high resolution TV, and then of course there's the cost difference between DVDs and BluRay movies.
To most people the difference between DVD and BluRay really isn't worth it, even if the latter is better. Just like for most people the difference in quality between a consumer digital camera and DSLR isn't worth the cost difference (despite a much larger quality difference between DVD vs BluRay). I guess it's really a matter of value rather than quality - BluRay may be a better quality than DVD, but to most people it's NOT a better value. If you're a videophile (or if photoography is your hobby for the DSLR) then that's a different story.
This has got precisely **NOTHING** to do with free speech.
This isn't the UK government banning anythng - it's a private company changing it's terms of service.
It's as if your dad announced a ban on your friends swearing in your house, or flashing their knives there.
If knife afficianados, or teenage thugs for that matter, want to start their own web site for sharing pics and videos, there is nothing - certainly not UK law - stopping them from doing it. With all the cloud services available it'd be a snap to do (as long as you have more than the three half-firing neurons of the typical teenage thug).
I highly respect someone who can hold a set of personal morals and stick to them regardless of the situation
I think you're confusing religious views with morals. She has very tightly held religious views and for better or worse does seem to stick to them (choosing to give birth to a down's syndrome child, choosing to preach abstinance vs sex education to her daughter, with repurcussions).
However morally she seems extraordinarily weak, even by the typical standards of politicians. She does very dubious things (firing the librarian - and the currently gongoing "troopergate" scandal, as well as other similar firings - very much a pattern), initially supporting the pork barrel "bridge-to-nowhere", even - as mayor - hiring a lobbyist specifically (& successfully) to get pork barrel "ear marks" for her town, then flip flops when her behavior comes under scrutiny and she can't take the heat. She also has a pattern of lying to try to cover things up - e.g. intially denying that she'd applied pressure to have her ex brother-in-law (troopergate) fired, then finally admitting a couple of dozen contacts with his boss over this (who she then fired because he refused to fire the guy without cause).
From what I've read of her record there's a very consistent pattern of self-serving abuse of power and imorrality.
Did you even read that link you post that you think debunks her firing the librarian?!!
Just a few facts from the link YOU posted :
FACT: Palin did ask the Librarian how she would react if asked to ban a book, and did fire her when she said she would not ban it
FACT: Palin spun this first as being a "loyalty test" (apparently regardling the librarian's loyalty to herself and her censorship requests more important the librarian's loyalty to the duties of her job)
FACT: Palin lated explained the firing as being because "she didn't feel she had [the librarian] Emmons' support" (rather like Bush firing Supreme Court judges when they also took a principled stand and refused to do his bidding).
I think the facts YOU posted a link to rather speak for themselves as to the kind of person she is.
I think that is unrealistic. None of these people is going to govern in isolation if they are elected, so you might as well have the team that's behind them involved in the election process itself.
Palin's record in Alaska has been that she fires people who disgree with her, and instead surrounds herself with "yes" men, so "team Palin" is in fact exactly the same as "just Palin". McCain apparently either wan't aware of this or approves of it (not sure which is worse), so I wouldn't get your hopes up that they'll suddenly get all executive and surround themselves with the best talent available.
It's sad the the media isn't focusing more on Palin's extremist views (& piss-poor record), since of the two she's the one much more to be scared of, not just because McCain is old enough for possible succession to be an issue, but also because he's already reversed himself to agree with her on a number of issues (off-shore drilling, etc), so her views apparently trump his.
As far as Palin and science/etc:
- She's a creationist, and advocates teaching it in schools
- Up until two years ago (when she became govenor) she was a Pentacostalist for 20+ years, and still has contact with the church. Does she speak in tongues and handle snakes? Who knows, but she's apparently comfortable hanging out with people who do.
- She is totally against abortion under ANY circumstances (science would at least distinguish between prior/after the development of the nervous system, brain, etc), incuding in cases of rape and incest (science tells us that incest is likly to result in genetic abnormalities).
- She is against sex education and believes teaching abstinace as an alterntive(!). Not coincidently her teenage daugter is pregnant by some dimwit who's myspace page is full of "F" bombs and states he doesn't want kids
- While mayor of bumfuck, Alaska (pop. 5000), her only experience prior to becoming govenor two years ago, she fired the local librarian for refusing to remove books that Palin found offensive. Later, after protests, she was forced to reinstate her. As a self-professed "hockey mom" she also ignored requests to improve the town library and instead built a multi-million dollar pro-sized hockey rink. Not very science friendly to be anti-education/library.
- Her record in Alaska has been that she fires those who disagree with her, and instead surrounds herself with "yes" men. Doesn't want anyone near her more experienced who'll show her up.
- etc, etc
Oh, and despite her breezy "yeah! fer sure!" recent interview answer to the question of whether she would be qualified to be president and commander in chief in the event that happened, she herself is on record as noting that her prior job as mayor was so simple ("only $6M and 5000 people") that it didn't even need any experience (convenient as she didn't have any).
I wish the Dems had a stronger ticket, but at least it's not downright scary as hell like McCain/Palin. The last thing the USA needs is another 4 or 8 years of being run by people who make decisions based on whacky religious/gut beliefs rather that facts.
As someone who has been on the other side of the table (interviewer vs interviewee), I can attest that asking simple programming questions is often a necessity - to weed out those who are lying through their teeth about their experience.
I don't believe in Microsoft/Google style "trick" questions for a variety of reasons:
- Failure to figure the carrying capacity of an african swallow in an interview should not trump years of soldid accomplishments
- Ability to answer these types of questions is something you can prep for - not the sign of innate intelligence they think it is
- The ability to swag the number of 7-11s in America is not closely related to the needs of the typcial programming job, even if it makes you feel all "googly" inside to be surrounded by people who's main ability is being able to do so
But you'd be suprised how much you'll find out by asking someone to do something as simple as writing a functio to reverse the order of elements in a list or some such trivial task. The level of difficult should be very low - the purpose is to see if you're really fluent in the language(s) you claim, not to see how well you can solve complex problems under pressure.
1) Anything that can be hacked together in a week is by definition fairly trivial/boring and not the sort of thing that a skilled programmer is likely to do for free in his spare time. OTOH if you offer someone a few hundred bucks for a weeks work (if that is really all it is), they may go for it if bored.
2) If you can't yourself design/code it in a week then there is no guarantee that your seat-of-the-pants guess that someone else might be able to do so is even in the ballpark! An experienced developer will certainly be able to design/develop it better & faster then you, but they'll also be able to estimate it better than you, and maybe see all sorts of complexities and pitfalls that you don't have the skill to see.
3) If it really is a weeks work for someone experienced, and if you are at least knowlegable enough to make that call, then it shouldn't take you more than a couple of months to do it. If the idea is that great, then why not put together an initial version yourself, and if it's actually useful THEN others may be willing to jump in and clean up the code and extend/polish it.
Not laugh out loud funny, but at least it had its moments.
I'm still clueless where the humor was meant to be in the first one.
"Freedom of Speech" does not mean that you or anybody else is forced to tolerate some asshole mouthing off in your own living room, or even for that matter mouthing off in a public space (which is the only place where the law applies) if in doing so they are breaking other laws (e.g the classic shouting "fire" for no reason in a crowded theatre).
YouTube is a private company and, thankfully, has just as much right to pick and choose what you're allowed to say in it's "home" as you do.
Try reading (ex. Santa Fe Institute member) Stuart Kauffman's "At home in the universe", where he convincingly argues for the inevitability of the simplest forms of life, given enough time.
The simplest form of life needn't be anything more than self-assembling membrane/fatty bubble containing self-replicating (i.e circular chain reaction) chemical soup. The role of controlling such a "cells" chemistry wouldn't have been filled by simple catalysts - no need for anything remotely as complex as RNA. Reaction components admitted by the semi-permiable membrane would be it's "food". Replication could have been mechanical via large cells being broken up by phyicical agitation (e.g. wave/wind action) and smaller ones then self-assembling...
Well, for one thing his protocells self-assembled - they weren't assembled by the scientist. This at least proves that if those same fatty acids existed someplace in the primordial soup they could have self-assembled into protocells back then just as surely as they did in the lab.
The fact that the scientist was smart and recreated one of the chemical experiments that may have been a step towards life rather that any of the other billions upon billions that didn't doesn't invalidate it.
Now, if the scientist had assembed the protocell, THAT would not raise many questions.
I wouldn't even care to guess what the "right spots" to laugh at are.
I like Seinfeld (watched every episode), and would laugh at him riffing off Gates if it was funny... but it just wasn't.
I honestly couldn't guess what was meant to be funny about it, or worse yet how it was meant to be related to anything about Microsoft.
That is where it was copied from, but they've still chosen to specifically apply it to Chrome - that's the agreement you have to click to accept before downloading Chrome.
I'm sure as hell not going to use a web viewer (browser) that makes legal claim to anything I post or upload using it!
Just for anyone comprehension-impaired...
The summary is wrong. The patent isn't about PgUp/PgDn, but rather about paging through a document a (multi-column) document page at a time rather than a (zoom dependent) screenful at a time. The PgUp/Dn keys being used to do this are only mentioned as one embodiment of this "invention".
However, no doubt prior art exists for programs that page in terms of the document rather than screen (word processors and desktop publishing apps would be an obvious place to look).
Unfortunately McCain/Palin don't intend to keep THEIR religion out of YOUR life...
Evangelical Christians could turn out in droves for Palin, a member of Feminists for Life who opposes abortion even in cases of rape or incest, if she maintains her promise.
http://www.timesonline.co.uk/tol/news/world/us_and_americas/us_elections/article4641030.ece#cid=OTC-RSS&attr=797093
When I worked as a developer for a software-only company, it never ever happened that an actual bug was found by testers -- all I got from them was false positives that shown flawed assumptions in their test methodology that I had to waste my time refuting.
That's why you don't just have a test group, you also have test specifications and test specifications reviews. It's meant to be a team effort you know, not just a prima donna programmar whining at the test group due to a test specification that was pulled out of thin air. If the developer actually had a clue and cared about quality he'd have fixed the process.
I can imagine a situation when excessive amount of tests and testers are useful, and that situation is when developers are so incompetent, all bugs are trivial, and all nontrivial bugs are acceptable. Then, of course, they can continue banging at keyboards producing code that vaguely corresponds to their understanding of the software purpose, adding random changes added until it passes the test.
It sounds like you've only works on systems (however complex you thought they were) at the low end of the complexity scale, probably ones who's interactions with external systems out of your control was limited or non-existant. "Exessive amounts" of test cases are necessary when there are "exessive amounts" of input conditions which should generate different system respones. The Telecom system I am working on right now has a (fully automated) regression test suite of many thousands of test cases.
The very last person who should be responsible for system testing (vs unit testing) the code is the developer, because he's fully intimate with the code and therefore believes he knows where the bugs may be. He also naturally believes that what he was trying to implement is correct, when even that may not be the case if uncaught ambiguities in the requirements have made it into the design specification.
Regression testing should be fully automated, but there may also (depending on complexity of the system) be external test conditions that need to be manually created, and coordination with external systems that need to be coordinated... Believe it or not, there are systems larger than one developer is capable of testing, and there are systems that interact with many external systems which the developer has no control over.
Some large companies do actually use these, and achieving the top levels of either standard is extremely tough. The's some truth that the standards may be mapped to whatever procedures you have in place (only in certain places though, and to a certain degree), and this is reasonable since the emphasis is on having well proscribed ways of doing and tracking things. Repeatable quality is a result of processes as much as of people.
You are absolutely wrong that things like design reviews, code reviews and regression testing don't catch bugs, or do so only by luck. In the end it's people that catch the bugs, but they only do so consistently when they consistently go thru the best practices (reviews, etc) proscribed by a well designed software development PROCESS.
You can get much more fancy than using simple steps like these. In large systems you can use statistics to estimate the the number of bugs (some measure of the quality) left in a system based on the changing rate at which you've been finding them so far. My wife works in the software development group of a large medical insurance company where the Quality Assurance group itself consists of around a hundred people.
Go read up on the Capability Maturity Model (CMM) or ISO 9000 and come back when you have a clue.
You don't even need to formalize the process to that extent to make leaps and bound improvements on the hack-it-together and test it approach you are suggesting... At a minimal a decent software development process should have:
Requirements specifications & reviews
Design specifications & reviews
Test specificiations & reviews
Codng standards
Code reviews
Source control
Regression tests
Functional tests
Load tests