Knowing how to do things correctly - like proper floating point math - is one of the ways to separate the true CS professional from the wannabe new graduates.
True, except that HR people and hiring managers neither know nor care about doing things correctly, they just want cheap and fast. Just make sure you have all the right TLAs on your resume, you'll get a job. You can put "IEEE 754 expert" down though. They won't recognized the reference so maybe they'll be impressed by it.
I was brought in a bit after the start of a state project to write a system to track about a half billion dollars in money for elderly and disabled indigent care. I was horrified to find that all the money variables were float. After raising the issue and explaining the technical details, I proposed a Money class and if they didn't want that gave them the option of a simple fix: just change all the floats to long and keep the amounts in pennies, inserting the decimal point only when displaying numbers. The tech lead (nice guy, not the sharpest crayon in the box) and the DB architect (who was the sort for which Codd was God and for which the DB2 NUMERIC datatype was all we needed) determined that they could find no discrepancies, so the problems I cited must not apply to their code.
Fast forward several months later, when the numbers started to not add up, just as I explained. Killed a significant amount of time retrofitting the code to use BigDecimal. Even then, there were problems. Not the only reason the project was shut down before tackling the remaining planned features, but certainly a factor in it.
Honestly, and I'm certainly no libertarian, I don't want the FAA to have anything to do with space or commercial space travel AT ALL. OK, they do manage to keep the air travel in the US somewhat stable, but really they move so slowly and are so co-opted by they airlines they are supposed to regulate. Just ask anyone involved with trying to get the FAA to implement Direct and other flight path changes to improve on-time performance and fuel usage. Or anyone who has ever worked on any project to upgrade air traffic control computer systems.
I still see boxes of floppy disks in the office supply cabinets of big companies. I suspect somewhere high up in corporate purchasing they have a supply purchase schedule that still says that every month they need to restock their cabinets with some large number N. Eventually in a corporate cost-cutting move someone might go through the list and trim it. Then again, they might try, only to have it come back that someone IMPORTANT needs those floppies and no the company can't stop buying them.
It wasn't an overreaction, but it was the wrong thing to do.
Banning all flights was simple and expedient, but it was a big sledgehammer solution. A more nuanced response would have involved looking at what routes were compromised and what routes might be safe, and introducing new routes if needed. In addition, regulators in Europe should have required any aircraft that flew to be subject to additional inspection and maintenance.
But no love lost for the airlines. I believe officials understood that given an inch the airlines would take a mile and before you can say "frequent flyer" an aircraft would have fallen out of the sky and the executives whining about losing money would have fallen all over themselves blaming the regulators for the tragedy.
Really, there's hardly any reason to write a manual for distribution as a PDF, much less print it. A short "Getting Started" writeup and in-game help properly done should be fine. If they want to ship some prose for the backstory or something as a document your can read on your computer outside the game (during server downtime say) that's cool.
I was thinking about this for consumer electronics, too. My MacBook didn't come with a printed manual to speak of, and the documentation isn't one big tome either. Why don't things like digital cameras include better documentation and contextual help on them? (Better yet, be easier to use, but photography has inherent complexities that we've yet to simplify). Having to dig up the paper manual to figure out how to change a setting is so 20th century.
I highly doubt they'll readjust the maintenance cycles of the parts to cater for the increase in wear and tear
Of course they won't. The justification for returning to flight is to stop losing money, so they aren't going to start doing expensive additional maintenance if they do fly. I hope the pilot's union speaks up on the issue, for the sake of the passengers and crew.
If the disruption continues for as long as geologists say it could, something will have to be done. New flight routes and tighter maintenance mandates and inspections will probably be needed. It'll be bad news for the airlines that are already not doing so well.
Science speculation time: Whatever happened to the megascale engineering projects to run highspeed trains under the ocean? We could sure use a NY-to-London chunnel now.
I have heard some talk that while a 747 cruises at 39,000 feet, Concorde's ceiling of 60,000 feet meant that it could have flown OVER these dust clouds...
They still have to take off and land; as far ask I know, that would take the aircraft through the ash cloud.
Even if Virgin Galactic has suborbital transatlantic flights, they'd still need a way to get to up there.
If they patch system can detect the rootkit and not install, why doesn't it remove it and then install? At least give the user the option of doing it, instead of just leaving the user to deal with yet more work.
the people actually doing the grunt work on the project are likely making 10% of the stated figures
Based on my experiences, the PMs and a few other administrative and lead folks are the only ones in NYC itself. The grunts are off in Hong Kong, Bangalore, Mumbai, or Kiev
Newsflash: A mysterious intelligent probe calling itself "O'nity" is threatening Earth. Scientists say that it is demanding access to "interesting rocks and formations"
What will happen if the company that owns the patent asserts it?
What will happen is the same thing that happens with any patent troll. The large companies that infringe will either cross-license their own patents back to Durham Logistics or pay royalties if the cost is reasonable. If the Durham Logistics demands too much, someone (again a big corporation) will buy the company, or sue them into oblivion and get the patents in the judgment. Small companies and individual entrepreneurs without deep pockets or a patent portfolio will be screwed, as usual.
1. Do not allow ads that popup, cover, dance, wiggle, make noise, or do anything other than sit there, NOT flash or any other plugin techonology.
2. Do not let the ads overwhelm your design, either by placement or quantity.
and the biggie...
3. Never EVER let your business model depend on ad views, click-throughs, or anything else the ad buyers foist on you to "prove" their ad is seen. It's BS anyway. Magazines, TV, newspapers (remember them?), all survived just fine without advertisers ever having proof if anyone gave them business because of the ads. Coupons came along for reason, you know.
Corollary to 3: Don't let ad revenue be your sole source of income. Consider a mix of strategies, including ads, but also including premium content and features for subscribers; peripheral merchandising (think hats and t-shirts); and various collateral deals.
Newsflash: Ancient work-for-hire rules that have been fought over by writers and photographers for decades hit the software development world. Film at 11.
So they didn't use a shuffle that would pass muster for a licensed video poker system - So what? Totally irrelevant, they satisfied the obligation to randomize the list, end of story.
There's lots of problems where there's no licensing board to pass, but for which the solution is important. Automobile control systems, for example. The junior hack to threw this fecal matter out there might get promoted to developing something where it matters but nobody looks. The manager will care that the thing is finished on time and under budget and satisfies the obligations, but that won't be the end of story.
I'm a senior programmer, over 10 years experience. I don't think I would have EVER imagined a solution to randomizing that would involve a sort comparison function returning a random result. This is because I have an understanding of the implicit (and in some languages, explicitly documented) total ordering contract imposed on the comparator function.
But you know what? If Microsoft doesn't care for nice things like correctness, why would any big software development company? Excepting cases like Wolfram Research's Mathematica and Autodesk's AutoCAD, of course. And yet they have the balls to call their people software engineers?
I'm not disagreeing with the conclusion that the quick and cheap way is sufficient and satisfactory from both the business standpoint and for this problem the technical standpoint. I'm simply saying that, as a profession, the field is so compromised with crap like that this that it's no wonder most software sucks. It's easy to see how an experienced and knowledgeable developer can be replaced by a couple of best-low-bid hacks.
Of course management rarely sees or understands the difference between throwing a hacked up function at an unimportant problem like this one, and doing the same thing when designing the firmware for a car, a risk calculation algorithm for derivative investments, or the math portion of a CPU. As a result, they'll promote the hack who spewed out this junk to a position working on something important, and the same bad algorithm will get used when it matters, and off we go with the people dying and the lawsuits and the congressional investigations.
Testing and thinking like a QA person -- there are great resources out there for how to write tests that really have a chance to find and exercise bugs, it requires a knowing a bit about the most common programming errors.
Anything not specifically related to churning out "working code: * proper use of source control * how to debug effectively and debugging without leaning on the debugger as a crutch, e.g. the "binary search" strategy * choosing the right tools for performance analysis and improvement * how to read and understand existing code and where to make the changes you need to make * how to prepare for and conduct a code review * writing a technical memo or as-built document for a program or key part of a program.
Knowing how to do things correctly - like proper floating point math - is one of the ways to separate the true CS professional from the wannabe new graduates.
True, except that HR people and hiring managers neither know nor care about doing things correctly, they just want cheap and fast. Just make sure you have all the right TLAs on your resume, you'll get a job. You can put "IEEE 754 expert" down though. They won't recognized the reference so maybe they'll be impressed by it.
I was brought in a bit after the start of a state project to write a system to track about a half billion dollars in money for elderly and disabled indigent care. I was horrified to find that all the money variables were float. After raising the issue and explaining the technical details, I proposed a Money class and if they didn't want that gave them the option of a simple fix: just change all the floats to long and keep the amounts in pennies, inserting the decimal point only when displaying numbers. The tech lead (nice guy, not the sharpest crayon in the box) and the DB architect (who was the sort for which Codd was God and for which the DB2 NUMERIC datatype was all we needed) determined that they could find no discrepancies, so the problems I cited must not apply to their code.
Fast forward several months later, when the numbers started to not add up, just as I explained. Killed a significant amount of time retrofitting the code to use BigDecimal. Even then, there were problems. Not the only reason the project was shut down before tackling the remaining planned features, but certainly a factor in it.
Honestly, and I'm certainly no libertarian, I don't want the FAA to have anything to do with space or commercial space travel AT ALL. OK, they do manage to keep the air travel in the US somewhat stable, but really they move so slowly and are so co-opted by they airlines they are supposed to regulate. Just ask anyone involved with trying to get the FAA to implement Direct and other flight path changes to improve on-time performance and fuel usage. Or anyone who has ever worked on any project to upgrade air traffic control computer systems.
I still see boxes of floppy disks in the office supply cabinets of big companies. I suspect somewhere high up in corporate purchasing they have a supply purchase schedule that still says that every month they need to restock their cabinets with some large number N. Eventually in a corporate cost-cutting move someone might go through the list and trim it. Then again, they might try, only to have it come back that someone IMPORTANT needs those floppies and no the company can't stop buying them.
Or, you know, I could just keeping shooting film and get at least 50MP, and not have to blow $14K.
It wasn't an overreaction, but it was the wrong thing to do.
Banning all flights was simple and expedient, but it was a big sledgehammer solution. A more nuanced response would have involved looking at what routes were compromised and what routes might be safe, and introducing new routes if needed. In addition, regulators in Europe should have required any aircraft that flew to be subject to additional inspection and maintenance.
But no love lost for the airlines. I believe officials understood that given an inch the airlines would take a mile and before you can say "frequent flyer" an aircraft would have fallen out of the sky and the executives whining about losing money would have fallen all over themselves blaming the regulators for the tragedy.
The article reads to me like he hates Windows operating systems, not computers generally.
Who needs malware when we have McAfee anti-virus signature file updates?
Really, there's hardly any reason to write a manual for distribution as a PDF, much less print it. A short "Getting Started" writeup and in-game help properly done should be fine. If they want to ship some prose for the backstory or something as a document your can read on your computer outside the game (during server downtime say) that's cool.
I was thinking about this for consumer electronics, too. My MacBook didn't come with a printed manual to speak of, and the documentation isn't one big tome either. Why don't things like digital cameras include better documentation and contextual help on them? (Better yet, be easier to use, but photography has inherent complexities that we've yet to simplify). Having to dig up the paper manual to figure out how to change a setting is so 20th century.
what kind of moron would make the decision to neglect maintenance?
The same kind of moron that thinks it's ok to fly that expensive plane and the passengers through volcanic ash for the sake of not losing money.
I highly doubt they'll readjust the maintenance cycles of the parts to cater for the increase in wear and tear
Of course they won't. The justification for returning to flight is to stop losing money, so they aren't going to start doing expensive additional maintenance if they do fly. I hope the pilot's union speaks up on the issue, for the sake of the passengers and crew.
If the disruption continues for as long as geologists say it could, something will have to be done. New flight routes and tighter maintenance mandates and inspections will probably be needed. It'll be bad news for the airlines that are already not doing so well.
Science speculation time: Whatever happened to the megascale engineering projects to run highspeed trains under the ocean? We could sure use a NY-to-London chunnel now.
I have heard some talk that while a 747 cruises at 39,000 feet, Concorde's ceiling of 60,000 feet meant that it could have flown OVER these dust clouds...
They still have to take off and land; as far ask I know, that would take the aircraft through the ash cloud.
Even if Virgin Galactic has suborbital transatlantic flights, they'd still need a way to get to up there.
If they patch system can detect the rootkit and not install, why doesn't it remove it and then install? At least give the user the option of doing it, instead of just leaving the user to deal with yet more work.
I can't stand listening to Miles O'Brien, his voice grates on me. Worse, he really doesn't seem to know what he's talking about much of the time.
looks something like this:
if (business_has_paid_for_ad) {
review_minimum_threshold = 5;
} else {
review_minimum_threshold = -1;
}
the people actually doing the grunt work on the project are likely making 10% of the stated figures
Based on my experiences, the PMs and a few other administrative and lead folks are the only ones in NYC itself. The grunts are off in Hong Kong, Bangalore, Mumbai, or Kiev
Newsflash: A mysterious intelligent probe calling itself "O'nity" is threatening Earth. Scientists say that it is demanding access to "interesting rocks and formations"
In summary: Lawyers will make money.
What will happen if the company that owns the patent asserts it?
What will happen is the same thing that happens with any patent troll. The large companies that infringe will either cross-license their own patents back to Durham Logistics or pay royalties if the cost is reasonable. If the Durham Logistics demands too much, someone (again a big corporation) will buy the company, or sue them into oblivion and get the patents in the judgment. Small companies and individual entrepreneurs without deep pockets or a patent portfolio will be screwed, as usual.
I forgot one: if your page loads are EVER hurt because the ad server is slow, FIX IT.
1. Do not allow ads that popup, cover, dance, wiggle, make noise, or do anything other than sit there, NOT flash or any other plugin techonology.
2. Do not let the ads overwhelm your design, either by placement or quantity.
and the biggie...
3. Never EVER let your business model depend on ad views, click-throughs, or anything else the ad buyers foist on you to "prove" their ad is seen. It's BS anyway. Magazines, TV, newspapers (remember them?), all survived just fine without advertisers ever having proof if anyone gave them business because of the ads. Coupons came along for reason, you know.
Corollary to 3: Don't let ad revenue be your sole source of income. Consider a mix of strategies, including ads, but also including premium content and features for subscribers; peripheral merchandising (think hats and t-shirts); and various collateral deals.
Newsflash: Ancient work-for-hire rules that have been fought over by writers and photographers for decades hit the software development world. Film at 11.
So they didn't use a shuffle that would pass muster for a licensed video poker system - So what? Totally irrelevant, they satisfied the obligation to randomize the list, end of story.
There's lots of problems where there's no licensing board to pass, but for which the solution is important. Automobile control systems, for example. The junior hack to threw this fecal matter out there might get promoted to developing something where it matters but nobody looks. The manager will care that the thing is finished on time and under budget and satisfies the obligations, but that won't be the end of story.
I'm a senior programmer, over 10 years experience. I don't think I would have EVER imagined a solution to randomizing that would involve a sort comparison function returning a random result. This is because I have an understanding of the implicit (and in some languages, explicitly documented) total ordering contract imposed on the comparator function.
But you know what? If Microsoft doesn't care for nice things like correctness, why would any big software development company? Excepting cases like Wolfram Research's Mathematica and Autodesk's AutoCAD, of course. And yet they have the balls to call their people software engineers?
I'm not disagreeing with the conclusion that the quick and cheap way is sufficient and satisfactory from both the business standpoint and for this problem the technical standpoint. I'm simply saying that, as a profession, the field is so compromised with crap like that this that it's no wonder most software sucks. It's easy to see how an experienced and knowledgeable developer can be replaced by a couple of best-low-bid hacks.
Of course management rarely sees or understands the difference between throwing a hacked up function at an unimportant problem like this one, and doing the same thing when designing the firmware for a car, a risk calculation algorithm for derivative investments, or the math portion of a CPU. As a result, they'll promote the hack who spewed out this junk to a position working on something important, and the same bad algorithm will get used when it matters, and off we go with the people dying and the lawsuits and the congressional investigations.
Testing and thinking like a QA person -- there are great resources out there for how to write tests that really have a chance to find and exercise bugs, it requires a knowing a bit about the most common programming errors.
Anything not specifically related to churning out "working code:
* proper use of source control
* how to debug effectively and debugging without leaning on the debugger as a crutch, e.g. the "binary search" strategy
* choosing the right tools for performance analysis and improvement
* how to read and understand existing code and where to make the changes you need to make
* how to prepare for and conduct a code review
* writing a technical memo or as-built document for a program or key part of a program.