The point of this now rantish response is to say that 0.1% of these gee whiz tech demos are going to turn into products. Just because Steve Jobs is on stage doesn't mean it isn't vapor ware.
There is a distinct difference between Apple and everyone else out there that does this. It's why there are a gazillion rumor sites and people get up at all hours to watch the keynote.
When Steve or Avie or Phil talk about a product, a technology, or some other thing, you WILL be able to buy it in short order and it WILL work as demonstrated. Apple has not done a vaporware announcement in the last 3 years at least (last one was Rhapsody which begat Mac OS X which was slightly pre-Jobs). If you see it on stage, you can own it usually within 2 months.
Jaguar will ship on Aug 24 and if you are seeded with Mac OS X betas, you can do it today with the usual beta caveat. The phone he demoed on was the Ericsson T68, which you can buy now (a friend of mine just got one the other day.) It'll also work with at least a dozen other phones and bluetooth equipped PDAs.
I challenge anyone here to point to anything that Apple has mentioned even in passing that will be the next great thing even 3 months out. Nothing that was shown today will ship later than Sept.
No mention of G5s, or future applications, or devices. No tablets that will someday revolutionize your life. No flying cars or vacations on the moon. These guys generally don't even hint at products that they'll ship in 12 *hours* let alone operating systems that will slice cheese in 2006. Bottom line, if Apple talks about it, it'll ship, it'll ship soon, and it'll work.
Instant gratification is a rare thing in this industry, and you get it frequently with Apple. If you can't download it today, you can go to the store and order it today. We got the first mention of iTunes 3 today. I downloaded it no more than 45 minutes later and it does a few things not mentioned in the show. I'm thrilled.
I'm sorry that Microsoft and Sun and all the others have led you to believe that the industry is filled with liars and false prophets. If you would like a change of that view, look at Apple more closely. They don't supposedly have a super-duper tablet shipping next year for $499, but if they've told you that you can put a printer on the network and have your computer identify and configure it automatically, you can bank on it. It's worth the premium to have products that ship and that work as advertised.
Well, considering all the real bits and pieces to solve this problem are in the BSD install anyway, it's really just a matter of gluing the bits together (see the docs on how to verify the checksum on the patch). The data exchange for Software Update is just plain xml, so no breakage when stuffing in the checksum. DiskCopy already has this built in, so that didn't need to be touched either, and it means that Apple already had the checksums for all the.dmg updates handy.
I think this could easily have been a "Joe, Steve wants a fix for this before you leave today" problem followed up by a week or so of testing and final rollout.
The OS 9 Software Update is a whole other matter though, since the checksum code isn't just sitting around waiting to be used. It might take a while longer for that to roll out.
I'm in SoCal, and there are a number of people/groups making a concerted effort to reduce power usage. I've reduced power usage in my office by about 25%. Little things - lower power computers and LCDs (long live energy efficient PowerPC), lighting changes (often no lights during summer), having printers and copiers go to standby quickly. They add up, and don't significantly impact the office function.
Local government does nothing to promote energy efficiency. There's no incentive for them to do so. State does a little, but it's pointless, IMO.
Some things that they could do:
1) Solar panels on public buildings. We get 300 days/year of sunshine. Public schools have enormous surface areas and use virtually zero electricity in summer, which could be sold back to the grid. At the current power prices, the ROI wouldn't take long.
2) Fuel cell generators. Due to air quality regulations, California refines a lot of it's own gasoline. The many byproducts of that refining can be used to generate electricity using fuel cells.
3) Provide tax incentives to conserve electricity. The incentive here is through higher electricity costs, but that's a cost not immediately felt. Rebates on more efficient appliances would help encourage people at the time that they purchase to choose a better option. Incentives for home solar units would be good. Those died out with Carter.
The problem is really a cultural one. People in this state take conspicuous consumption to new levels and yet put the green face forward. Giant SUVs, giant TVs, giant refrigerators, and on and on. It's almost a contest to see who can consume the most resources and at the same time bitch and moan about how wasteful the other guy is, or how bad a power plant is for the environment. I'm originally from New York, so I love mass transit, I'm used to goddamn small homes, and walking is a way of life. Even here I sometimes go 8 weeks without gassing up the car (12 gal tank).
I think this state needs a serious priority adjustment. The best thing for all involved would be $5/gal gas, and $300/mo electricity bills. It's not that people should have to spend huge amounts of money, rather, they should consciously consider their actions that will prevent that from happening. It's often surprisingly simple to cut your gasoline and electricity consumption by 25% or 50%, you just need to be motivated to do it. Seriously, my neighbor drives to his mailbox - 100 feet away. It sounds like a comical CA stereotype, but it's true more than you want to know.
Gas and electricity here are cheap. Even at it's peak $2.20 per gallon, gas is far, far less than every other person here pays for water or coffee - usually $2 per shot. Electricity bills are routinely $30-$60/month. When your house costs $400K-$500K, an extra $20/mo is hardly even noticeable. $500/mo would get peoples attention, though. And $200 at the gas station would as well. Even at the peak of the gas price run-up last summer, SUV purchases climbed. An extra $25 at the pump just isn't enough to impact a $45,000 purchase.
Stealing your daughters' textbooks is almost what you want to do. Sit down with (one of) them and ask them what they're doing. Ask them to teach you. It'll be a wonderful learning experience for both you and your daughter(s).
Precisely. There's a taxonomy of understanding called Bloom's Taxonomy:
It progresses from Knowledge to Evaluation. Most students really only learn to the knowledge level in class. They memorize for an exam, and that's about it. But anyone who really knows what they are doing has achieved all of these levels of abstraction of understanding.
By working with your daughters and having them teach you, they'll progress to comprehension, they'll have to. You can continue to work with them, and challenge them to show you how things are done - advancing both of your understanding.
And you can do this at almost any age. I challenge my son to explain how he makes certain things out of Legos. He's 4. And he's good at it. And every time he explains how he build a bridge or a car or something, he gets better at it. Sometimes he did something clever, but didn't realize why it was clever until the explanation happens.
It's a good trick in a knowledge workplace as well. Have employees or teams explain what they are doing, how they solved a problem, or addressed a challenge to the larger community. Not only will it build the community and help everyone understand the whole widget, but the presenters will learn a great deal more about what they did and why though the presentation.
The question is, at what point does 'drawing on experience' cross the line and invade others IP?
The answer is, at the point that your attorney tells you that it will. Seriously, this is a question for an attorney. You've clued into the fact that it's a legitimate legal question, so go ask a legal professional.
However, I can imagine a couple of reasons why they wouldn't be inclined to share their information; long-term weightlessness seems not to be very healthy, and the fact that they have exposed their people to those may not be good for their image.
Well, I think after exposing a few hundred thousand former soviet citizens to near lethal doses of radiation, they probably aren't too worried about a few dozen kosmonauts getting worked up over this.
The argument is: an architect designs a house that doesn't blow over, or a bridge that handles the traffic load without collapsing. However, in these cases, anyone who does something out of the ordinary with the house..., would be laughed at if they called it a design flaw.
What about an earthquake near that bridge? That's out of the ordinary.
Engineers design to a set of specifications. Those specs can change (the Northridge quake changed a lot of structural engineering design) but you still design to a set of expected conditions. For instance, any robust network application should be coded to protect against buffer overruns. Technically, it's not a difficult problem, but it'll address a wide range of issues.
And it's not like all programmers need to be licensed software engineers, or all applications coded to those specs, but the option should be there and certain classes of apps should be run through the drill. I sure don't want the software that runs the MRI machine to go through MS's concept of QA.
An architect has a given set of solutions for common problems (building codes, pre-existing designs, etc). If they can't solve a problem with an existing, proven solution (or a mild derivation of such), they probably wouldn't take on the job.
Well that's complete crap. It's true of some architects/engineers - some won't want to take on the responsibility, but engineers are trained to deal with open-ended problems with no pre-existing solutions. Their entire reason for being is to be able to take a situation and find a solution that addresses a reasonable set of expectations. They don't always succeed (see WTC design - fuel-laden jetliners intentionally flown into them didn't seem reasonable at the time) but provided that they demonstrate responsible design there's no problem.
Now, how many of the software issues we see can the programmers claim were design problems unforseen given reasonable expectations? Bad execution of code doesn't waive liability here. Good design covers that as well. The programmer is only on solid ground if he/she can claim that the code functions exactly as designed and any problems (exploits, bugs) are the result of conditions outside those that are reasonably expected.
Now, there no expectation for never crash, only never crash for reasons that can be prevented. It's a substantial, and reasonable difference.
I had a physics prof that would go out of his way to put such problems on the exams. Most students would be working out the problems, pounding away at their HPs and get the usual error. In every case, a little algebra or simple approach would address the problem and you could move on, but 90% of the students would totally seize up and panic.
They were so accustomed to solving problems by recipe, by trusting their calcs to get them through the work that they really did get lazy.
Now that I work at a.edu, I can attest that the calculator mfgs are causing their own demise. These things have gotten too advanced. A calculator that can solve fluid mechanics problems or do circuit analysis to just too powerful to trust students to bring into class, so they're getting banned. Rather than discriminate, we just ban all of them, cell phones too (SMS messaging answers anyone?) PDA, pretty much anything with a battery. Kinda too bad.
Generally all engineers adopt this code of ethics. Generally all engineering schools teach this code of ethics. Without embracing such a code of ethics, the state *will* come in and regulate your ass back to 'Hello, world' as the general public pushes back against the sorry state of software in this day and age.
Be cynical if you want, but if you have hope for software engineering as a profession, adopt this code, advocate this code, and demand it of the students coming up through the ranks.
Be certain, however, that like all engineering fields, software engineering will get knocked into good standing. Do it yourself, or have people outside of your field do it for you. Your choice.
Ok, it's quite clear that you are not an engineer, or were done a great disservice from your university.
Just like the professions you list, Engineers have these organizations. There are many of them just as there are many Engineering fields. ASME, ASCE, IEEE, ACM, AICHE, and so on. 'Professional Engineer' is a formal title granted by most states, Canada, UK, not unlike Attorney at Law, Physician, Registered Nurse, Certified Public Accountant.
States are now beginning to recognize 'Professional Software Engineer' as a formal title. Texas was the first. New Jersey is considering doing the same.
The problem is that you have the issue totally wrong. None of these organizations or structures are created to protect jobs. Nobody gives a shit whether you keep your job or not. These groups exist (as do the AMA, ABA, etc.) to protect the integrity of the profession. If you feel these H1B workers are undermining the integrity of this profession, or are causing a risk to the public at large, that's a excellent reason to protect the profession - to ensure that those who practice are of high caliber and bear the responsibility that comes with the job. And who oversees the licensing of engineers, works with the state labor boards, designs the exams? ASME, ASCE, IEEE, ACM, AICHE, and so on.
Don't be too eager for this to happen. All Professional Engineers (PEs) need to graduate from an accredited program (most CS programs are not accredited) pass an exam called the Fundamentals of Engineering, work for a minimum of 4 years under a Professional Engineer and earn 5 letters of recommendation to the state labor board from Professional Engineers, and take another exam called the Principles and Practices of Engineering.
As a Professional Engineer, you will be solely qualified to perform specific job tasks - such as seal design plans, testify as an expert witness, and so on. Nobody can encroach on your job. You can also be sued for malpractice and be held criminally liable for work that fails to adhere to federal, state, and local standards. And you get to do this for every state that you practice in.
The problem that programmers are facing stems from the fact that as a group, they are unwilling to establish standards for practice. There are no standards as to what constitutes good software or bad software. There are no standards for testing. No standards for interface or for communication. No standards for what constitutes a proper education to practice.
Engineers as a group have done this. Without it, there is no case to be made that some 14 year old from Thailand isn't as fully qualified to as a 50 year old Ph.D. with 25 years of experience at writing software.
Just to be clear - I'm not an engineer. I'm a mathematician and physicist. I can't be an engineer. I can't pretend to be an engineer. But I've been a programmer and as far as anyone is concerned, I'm every bit as qualified as you to be one. After all, I don't have to take responsibility for my work either.
Clue for y'all. Engineering has, and will always have, as one of it's design techniques the elimination of as much manual labor as possible in a process to meet cost requirements.
Civil Engineers ran off the longshoremen with shipping containers Mechanical Engineers ran off the millwrights through greater automation Computer Engineers ran off the draftmen through improvements in CAD/CAM/CAE and Software Engineers will run off the coders through automated software development tools.
It'll take a while. Decades. But it'll come. Software is cost effective when economy of scale is on your side. Mission critical in-house stuff - way too expensive.
So programming - largely dead end. Computer Science - go talk to physics. Very important, but not a large field. Software Engineering - that's the top of the food chain.
Working on the education side (Engineering) of this discussion, I have something to add.
Students come to me all the time in their senior year telling me that they don't know how to do anything and don't know what they should do for a job.
The reality is that they do know _how_ to do a great many things, but we don't have time practice all of them in the structured environment of a course. There's so much for an engineering student to learn to prepare them for employment. Most employers will take a new student and provide additional training in the specific area that they'll work in and it's our job to make sure that they have a good foundation to add to. (Training has been less common in the computer field the last few years compared to Civil, Mechanical, etc. but my guess is that'll swing around pretty quick here.)
The best thing for students to do is to take the initiative (that's important right there) to use their summers and free time to pursue internships, or participate in projects like open-source ones or maybe volunteer on a public service project.
What we cannot reproduce in an academic environment is the real-world. (We can on a small scale, but not for 2,000-40,000 students...) Students need to understand that the diploma is NOT the whole package, just a typical element of the package.
So, basically what Michi is saying is that Computer Science isn't having the day-to-day impact that it once did. Advances in data structures and algorithms aren't impacting the development of products like it once did.
Computer Science now gets to join Chemistry, Physics, and Biology as science disciplines that can no longer handle their own engineering. Physicists don't design boilers any more, Chemists don't design refineries, and biologists don't build waste treatment plants. And computer scientists don't build operating systems well.
Enter Software Engineers and Computer Engineers, who get to learn their stuff from the CS boys, but who focus on production, on tradeoff, on integration, on management. Its the engineers that push for legislation, that make sure that you have the education and experience to practice, and build systems that we are willing to call 'infrastructure'.
What people need to clue into is that we have an industry that has hit the point where it needs to split and to recognize those that advance the theory and those that pave the roads.
Well, I help build these programs, so I too am qualified to answer. There's a lot of variability of these programs.
CS can range from being a coder-mill to a real theory-based science program.
CE can range from being almost exclusively EE applied to computers to being coding + some hardware.
CSE (computer science engineering) and EE/CS tend to with some reliability balance hardware and software.
SE (software engineering) focuses on the application of computer science to building software.
Most day-to-day programmers that I've worked with aren't spending a lot of time designing algorithms or thinking out big-O problems. Instead, they spend most of their time working with a team of programmers trying not to step on one another.
I'd say most programmers would actually benefit from a Software Engineering background, then a CS background, then a CSE, then a CE background. As for MIS, CIS, I'd advise getting one of the above degrees and having your employer send you for an MBA with a computing focus.
When shopping for schools, ask about all the programs they offer and have them compare them. CS at one school may be nearly identical to CE at another.
There's a concept in the world of stuff you can touch called 'depreciation'. Why the software world hasn't caught onto this is beyond me, but from my experience it seems to apply reasonably well.
The value of your code goes down in value over time. Now, don't confuse that with the value of your design - your design could be grand, but the code is part of your equipment, like your hardware. Depreciate it over time to reflect the increasing cost of maintenance and integration costs in a migrating business.
Reworking your code allows you to make adjustments to your design to reflect a new environment, or to move away from languages/APIs/toolkits that might be hard to maintain.
I depreciate my code over about 3 years. It's all modular, and I replace code about as frequently as I add. A number of years ago, I had tons of bandwidth but not much CPU power, so I tended to push data rather than compute. The reverse is now true, so I made some design changes as part of a standard rewrite - no need to wait until it broke. Overall, most of my code hasn't radically changed in it's design, but it has been rewritten several times. I've had code cut back to 10% of it's original size by adopting a new toolkit, etc. I've made it more robust, faster, cleaner, better documented. I can't think of a case where it's gotten worse, and I can't think of a case where the rewrite took much longer to write than the original code - and more often than not took much less time. It's worked well enough that I've added a considerable amount of functionality, but spend no more time reworking code because it becomes increasingly efficient and is never too far removed from future additions.
Many people suggest that code rewrites are a waste of time, but it's a maintenance function. People that only budget time to write new code often find those extra work hours devoted to maintenance. Budget it in - and the best way is through rewrites.
>As an example, in one sunny June afternoon in the late 1600's, the city of Port Royal Jamaica plunged 40 feet below the surface of the sea, killing thousands. That's forty feet in ONE DAY.
No, that's 40 feet in one day and 0 feet in 400 years. Cuba would have had to suffer an equally powerful earthquake on average every 120 years over that period to account for the 2000 feet. Is that trend in the very recent geological record for that area - it should be for your premise to be correct.
Geological processes can be very violent, but they also tend to be regular. You can't argue one aspect without at least factoring in the other. 4" subsidence per year is pretty aggressive - I doubt you'd find many instances of such a rate over that kind of a distance, especially underwater, and especially without a volcano being involved.
Re:Why can't anyone see the implications of this?
on
This is IT?
·
· Score: 1
>Depends on the campus, doesn't it?
Sure does. The new UC Merced campus being planned is 17,000 acres. It's about the size of the city of Santa Monica. I wouldn't call anyone unwilling to walk across Santa Monica 'lazy'.
>While it may be true this thing is capable of balancing itself, the rider must balance themselves upon it, too.
Actually, not really. The predecessor to this was a wheelchair, so it's occupants were basically unable to balance. It too could balance up on two wheels while lifting a person into a nearly standing position. The fact that you can shove someone violently without them falling over attests to how the user doesn't need to balance.
Right now it appears that lazy people are the market, but that's primarily because urban planning is designed around available modes of transportation. You can expect people to walk about 3 miles over the course of a day or you can ask people to drive or you provide some kind of transportation - a monorail, etc. The Mall of America has the problem that it's closing in on the maximum size that people are willing to walk.
As a result, you don't plan a campus, theme park, pedestrian mall, etc. to be any larger. This can change that. With it, you can ask people to cover 8 miles a day. You can triple the size of your auto-free areas.
Re:Why can't anyone see the implications of this?
on
This is IT?
·
· Score: 4, Insightful
It is revolutionary. You just can't see the markets in which it is. Do all Slashdot readers live in Des Moines where this thing will likely not be a revolution?
Think of college campuses where cars are hard to manage - shove up to 40,000 students away from the campus (parking and housing) and reclaim the space for classrooms. 75% of the US high-school population will go to college, and half of these will attend a university with a population of 10,000 or more - each a small planned city. These already employ fleets of electric and natural gas cars and carts. I bet every major university in the US will be discussing the feasibility of banning autos from their campuses tomorrow.
Think of new cities. There are roughly 2 billion people in India and China, both nations struggling with transportation and at least some of that tied to limited access to oil and refineries.
The US is not the killer market for this. NY could do solve some huge problems with widespread adoption of this. Vegas could benefit. Theme parks are designed around how far people are willing to walk. This can change all of that. Disney loans you a Segway when you enter their new theme park. So what if it's 15,000 acres? Who cares about the monorail?
>But so WHAT if it can stand up on its own?
Well, there are a lot of people that don't trust themselves on a bike. Bikes are hard in a suit, with heels, in a skirt. They generally go too fast. Bikes are banned in many places because they are too dangerous. Twice walking speed isn't too scary for a mall or airport, especially if there's no way in hell you can fall over. Just not having to worry about falling over will win a ton of people over.
>Weight is a real problem with any bike/scooter/moped powered by batteries.
True, but this has a follow feature that basically makes it a self-propelled pull behind, even on stairs. I imagine it'll be like pulling a broom behind you. No sweat.
It'll get lighter, go farther, get cheaper. There will be more people willing to pay $3,000 than they can accommodate, I guarantee.
On a side not[e], was anyone else annoyed with the way Apple promised OS 10.1 is September, announced it on the 23rd, then waited until the last possible day of the month to actually ship it?
(you really have to dig having spell-checkers work inside of web browsers...)
Now, you have to keep in mind that in the closing days of finalizing OS X 10.1 at least some key Apple employees were caught well out of Cupertino when weekend getaways got dragged out to a week or more due to the airlines shutting down here in the USA. The ship date was on track to be closer to the 15th. Even Steve Jobs can't prevent the kinds of events that took place on 9/11.
Well, trains have the same benefits - while the people aboard can be killed, it's hard to ram a train into anything other than it's own station or another train.
Modern high-speed trains can travel about half the speed of a jetliner and have lower front-end and back-end costs. That is, it's far easier to put a train where you want it (downtown Manhattan isn't a problem) relative to an airport, and it takes less time to board and disembark. Right now, you're looking at an extra hour to board and disembark, and probably another 30 minutes extra travel time to your destination for most major cities for air travel relative to train.
Assuming that doesn't change, any travel of less than about 1000 miles is break-even between high-speed train and airplane. While introduction of high-speed trains to the transportation infrastructure won't prevent what happened on 9/11, we could reduce the number of flights by 1/2 to 2/3. That gives the nation 2x-3x as many resources to devote to protecting the long-haul flights, would substantially improve the air congestion that we current are facing, and could provide a redundant means of moving goods around the county: 10 hours NY to LA is fast enough even for some FedEx rates.
While high-speed rail is more expensive than developing new airliners, long-term it's probably far more cost effective when considering needed development of new airports, etc. High-speed trains could be developed along the right-of-ways used by the interstate system, taking them closer to urban areas, to airports, etc.
A well-rounded education is good, but is often not implemented well. All too often, a university throws together a collection of courses that are humanities related, social sciences related, etc. and asks all students to take some to be well-rounded. Unfortunately, it rarely works well.
Students focus on a specific field of study (hopefully) because they are interested in that field. If you ask a history major to take physics or a physicist to take history, the student will likely be uninterested in the course and probably will take almost nothing away from the course.
What is lacking is breadth in the context of the student's field of interest. If you want a physicist to take something from history, the course needs to be taught from the perspective of a physicist: How has science influenced historical developments at various times in various places? The course can be taught with the expectation that the student has a high level of knowledge about science and the focus allows the student to see why history is important as the student can see how they may play a larger role.
Not only does the student learn some facts (which are actually irrelevant - we learn facts as we need to learn facts) but gains an appreciation of why a broad education is important and can see more directly how it is relevant. That appreciation leads to lifelong learning, which is really the ultimate goal of a college education.
I had a similar situation where a student group snapped up a domain name which was easily confused with our university. Normally, I wouldn't mind students taking ownership of role at the university, but it wasn't long before typing in the name of my university took users first to *their* site over the official university site. The resulting confusion by prospective students, parents, visitors, etc. - even in a few days, became very labor expensive. I could easily foresee the university losing a full staff person's time to dealing with the number of confused people: 40-50k in taxpayer dollars. Much cheaper to buy up a variety of domain names...
Now, we didn't really see this coming because we didn't anticipate that the majority of people don't type in 'www.microsoft.com', instead they go to google and search for microsoft. Since we can't control the content on the student sites, the least we can do is make sure that content doesn't sit at an address that can be easily confused by ours.
Now, we didn't buy the domain names the students use, but we did require student groups that have a relationship to the campus to have their domain names approved by the university. It seemed like a reasonably good compromise.
What most people may not understand is the amount of money that universities spend on marketing and how a confusing domain name can jeopardize that effort. Buying a domain name is very, very cheap insurance against such problems.
Also, to address the taxpayer dollar question - most state universities get about 1/4 of their support money from their state, about 1/4 from student tuition, and about 1/2 from federal grants (none of which can be used for these efforts) and corporate dollars (which can be, and are used for marketing efforts) So the money to buy up a.com,.net, etc. address comes from companies, not taxpayers or students.
Last year I was talking with some high-ups in Boeing (VPs perhaps, I forget) about the need for licensing software engineers as Texas had recently begun doing, wondering what they thought of that move.
While they agreed that there was need for accountability for software engineers (IIRC, these guys were planning YA-air traffic control network) their argument against licensing was that there were no defacto accepted standards for code. That is, it's obvious to license a structural engineer - there are building, seismic, etc. codes to adhere to that have been written down.
Software has no such animals. No state (these are all state labor board issues) has ever written down that you should free a memory block after you're done with it, or check a pointer to see if it's null, and so on. Sure, these are accepted practices, but they aren't requirements.
As to previous posters that suggest that buildings are chaotically built, they seem to be overlooking tiers of state and local building codes, building permits, inspectors, plus the need for contractors to be licensed in most states. There's a lot of checking and balancing to be done and if it's wrong... Well, in the case of buildings that engineers need to sign off on (3 stories and up + special purpose, in most states) structural failure can result in criminal malpractice suits and jail time. If people die and the engineer overlooked something, possibly manslaughter.
Next time you are writing code, consider how you would approach the project and your boss if the prospect existed of the code causing bodily harm and you could be sent to jail? What if your code is used to control a traffic light, a power grid, an anti-lock brake system, an EKG display?
The point of this now rantish response is to say that 0.1% of these gee whiz tech demos are going to turn into products. Just because Steve Jobs is on stage doesn't mean it isn't vapor ware.
There is a distinct difference between Apple and everyone else out there that does this. It's why there are a gazillion rumor sites and people get up at all hours to watch the keynote.
When Steve or Avie or Phil talk about a product, a technology, or some other thing, you WILL be able to buy it in short order and it WILL work as demonstrated. Apple has not done a vaporware announcement in the last 3 years at least (last one was Rhapsody which begat Mac OS X which was slightly pre-Jobs). If you see it on stage, you can own it usually within 2 months.
Jaguar will ship on Aug 24 and if you are seeded with Mac OS X betas, you can do it today with the usual beta caveat. The phone he demoed on was the Ericsson T68, which you can buy now (a friend of mine just got one the other day.) It'll also work with at least a dozen other phones and bluetooth equipped PDAs.
I challenge anyone here to point to anything that Apple has mentioned even in passing that will be the next great thing even 3 months out. Nothing that was shown today will ship later than Sept.
No mention of G5s, or future applications, or devices. No tablets that will someday revolutionize your life. No flying cars or vacations on the moon. These guys generally don't even hint at products that they'll ship in 12 *hours* let alone operating systems that will slice cheese in 2006. Bottom line, if Apple talks about it, it'll ship, it'll ship soon, and it'll work.
Instant gratification is a rare thing in this industry, and you get it frequently with Apple. If you can't download it today, you can go to the store and order it today. We got the first mention of iTunes 3 today. I downloaded it no more than 45 minutes later and it does a few things not mentioned in the show. I'm thrilled.
I'm sorry that Microsoft and Sun and all the others have led you to believe that the industry is filled with liars and false prophets. If you would like a change of that view, look at Apple more closely. They don't supposedly have a super-duper tablet shipping next year for $499, but if they've told you that you can put a printer on the network and have your computer identify and configure it automatically, you can bank on it. It's worth the premium to have products that ship and that work as advertised.
Well, considering all the real bits and pieces to solve this problem are in the BSD install anyway, it's really just a matter of gluing the bits together (see the docs on how to verify the checksum on the patch). The data exchange for Software Update is just plain xml, so no breakage when stuffing in the checksum. DiskCopy already has this built in, so that didn't need to be touched either, and it means that Apple already had the checksums for all the .dmg updates handy.
;-)
I think this could easily have been a "Joe, Steve wants a fix for this before you leave today" problem followed up by a week or so of testing and final rollout.
The OS 9 Software Update is a whole other matter though, since the checksum code isn't just sitting around waiting to be used. It might take a while longer for that to roll out.
Gee, unix and xml don't suck after all.
I'm in SoCal, and there are a number of people/groups making a concerted effort to reduce power usage. I've reduced power usage in my office by about 25%. Little things - lower power computers and LCDs (long live energy efficient PowerPC), lighting changes (often no lights during summer), having printers and copiers go to standby quickly. They add up, and don't significantly impact the office function.
Local government does nothing to promote energy efficiency. There's no incentive for them to do so. State does a little, but it's pointless, IMO.
Some things that they could do:
1) Solar panels on public buildings. We get 300 days/year of sunshine. Public schools have enormous surface areas and use virtually zero electricity in summer, which could be sold back to the grid. At the current power prices, the ROI wouldn't take long.
2) Fuel cell generators. Due to air quality regulations, California refines a lot of it's own gasoline. The many byproducts of that refining can be used to generate electricity using fuel cells.
3) Provide tax incentives to conserve electricity. The incentive here is through higher electricity costs, but that's a cost not immediately felt. Rebates on more efficient appliances would help encourage people at the time that they purchase to choose a better option. Incentives for home solar units would be good. Those died out with Carter.
The problem is really a cultural one. People in this state take conspicuous consumption to new levels and yet put the green face forward. Giant SUVs, giant TVs, giant refrigerators, and on and on. It's almost a contest to see who can consume the most resources and at the same time bitch and moan about how wasteful the other guy is, or how bad a power plant is for the environment. I'm originally from New York, so I love mass transit, I'm used to goddamn small homes, and walking is a way of life. Even here I sometimes go 8 weeks without gassing up the car (12 gal tank).
I think this state needs a serious priority adjustment. The best thing for all involved would be $5/gal gas, and $300/mo electricity bills. It's not that people should have to spend huge amounts of money, rather, they should consciously consider their actions that will prevent that from happening. It's often surprisingly simple to cut your gasoline and electricity consumption by 25% or 50%, you just need to be motivated to do it. Seriously, my neighbor drives to his mailbox - 100 feet away. It sounds like a comical CA stereotype, but it's true more than you want to know.
Gas and electricity here are cheap. Even at it's peak $2.20 per gallon, gas is far, far less than every other person here pays for water or coffee - usually $2 per shot. Electricity bills are routinely $30-$60/month. When your house costs $400K-$500K, an extra $20/mo is hardly even noticeable. $500/mo would get peoples attention, though. And $200 at the gas station would as well. Even at the peak of the gas price run-up last summer, SUV purchases climbed. An extra $25 at the pump just isn't enough to impact a $45,000 purchase.
Stealing your daughters' textbooks is almost what you want to do. Sit down with (one of) them and ask them what they're doing. Ask them to teach you. It'll be a wonderful learning experience for both you and your daughter(s).
Precisely. There's a taxonomy of understanding called Bloom's Taxonomy:
Knowledge
Comprehension
Application
Analysis
Synthesis
Evaluation
It progresses from Knowledge to Evaluation. Most students really only learn to the knowledge level in class. They memorize for an exam, and that's about it. But anyone who really knows what they are doing has achieved all of these levels of abstraction of understanding.
By working with your daughters and having them teach you, they'll progress to comprehension, they'll have to. You can continue to work with them, and challenge them to show you how things are done - advancing both of your understanding.
And you can do this at almost any age. I challenge my son to explain how he makes certain things out of Legos. He's 4. And he's good at it. And every time he explains how he build a bridge or a car or something, he gets better at it. Sometimes he did something clever, but didn't realize why it was clever until the explanation happens.
It's a good trick in a knowledge workplace as well. Have employees or teams explain what they are doing, how they solved a problem, or addressed a challenge to the larger community. Not only will it build the community and help everyone understand the whole widget, but the presenters will learn a great deal more about what they did and why though the presentation.
He teaches an undergraduate aircraft performance course at UC Irvine, and is overall a pretty wonderful guy.
The answer is, at the point that your attorney tells you that it will. Seriously, this is a question for an attorney. You've clued into the fact that it's a legitimate legal question, so go ask a legal professional.
Well, I think after exposing a few hundred thousand former soviet citizens to near lethal doses of radiation, they probably aren't too worried about a few dozen kosmonauts getting worked up over this.
What about an earthquake near that bridge? That's out of the ordinary.
Engineers design to a set of specifications. Those specs can change (the Northridge quake changed a lot of structural engineering design) but you still design to a set of expected conditions. For instance, any robust network application should be coded to protect against buffer overruns. Technically, it's not a difficult problem, but it'll address a wide range of issues.
And it's not like all programmers need to be licensed software engineers, or all applications coded to those specs, but the option should be there and certain classes of apps should be run through the drill. I sure don't want the software that runs the MRI machine to go through MS's concept of QA.
An architect has a given set of solutions for common problems (building codes, pre-existing designs, etc). If they can't solve a problem with an existing, proven solution (or a mild derivation of such), they probably wouldn't take on the job.
Well that's complete crap. It's true of some architects/engineers - some won't want to take on the responsibility, but engineers are trained to deal with open-ended problems with no pre-existing solutions. Their entire reason for being is to be able to take a situation and find a solution that addresses a reasonable set of expectations. They don't always succeed (see WTC design - fuel-laden jetliners intentionally flown into them didn't seem reasonable at the time) but provided that they demonstrate responsible design there's no problem.
Now, how many of the software issues we see can the programmers claim were design problems unforseen given reasonable expectations? Bad execution of code doesn't waive liability here. Good design covers that as well. The programmer is only on solid ground if he/she can claim that the code functions exactly as designed and any problems (exploits, bugs) are the result of conditions outside those that are reasonably expected.
Now, there no expectation for never crash, only never crash for reasons that can be prevented. It's a substantial, and reasonable difference.
I had a physics prof that would go out of his way to put such problems on the exams. Most students would be working out the problems, pounding away at their HPs and get the usual error. In every case, a little algebra or simple approach would address the problem and you could move on, but 90% of the students would totally seize up and panic.
.edu, I can attest that the calculator mfgs are causing their own demise. These things have gotten too advanced. A calculator that can solve fluid mechanics problems or do circuit analysis to just too powerful to trust students to bring into class, so they're getting banned. Rather than discriminate, we just ban all of them, cell phones too (SMS messaging answers anyone?) PDA, pretty much anything with a battery. Kinda too bad.
They were so accustomed to solving problems by recipe, by trusting their calcs to get them through the work that they really did get lazy.
Now that I work at a
Generally all engineers adopt this code of ethics. Generally all engineering schools teach this code of ethics. Without embracing such a code of ethics, the state *will* come in and regulate your ass back to 'Hello, world' as the general public pushes back against the sorry state of software in this day and age.
Be cynical if you want, but if you have hope for software engineering as a profession, adopt this code, advocate this code, and demand it of the students coming up through the ranks.
Be certain, however, that like all engineering fields, software engineering will get knocked into good standing. Do it yourself, or have people outside of your field do it for you. Your choice.
Ok, it's quite clear that you are not an engineer, or were done a great disservice from your university.
7 05 . tml
Just like the professions you list, Engineers have these organizations. There are many of them just as there are many Engineering fields. ASME, ASCE, IEEE, ACM, AICHE, and so on. 'Professional Engineer' is a formal title granted by most states, Canada, UK, not unlike Attorney at Law, Physician, Registered Nurse, Certified Public Accountant.
States are now beginning to recognize 'Professional Software Engineer' as a formal title. Texas was the first. New Jersey is considering doing the same.
http://www.chipcenter.com/columns/COL_SLO_20000
The problem is that you have the issue totally wrong. None of these organizations or structures are created to protect jobs. Nobody gives a shit whether you keep your job or not. These groups exist (as do the AMA, ABA, etc.) to protect the integrity of the profession. If you feel these H1B workers are undermining the integrity of this profession, or are causing a risk to the public at large, that's a excellent reason to protect the profession - to ensure that those who practice are of high caliber and bear the responsibility that comes with the job. And who oversees the licensing of engineers, works with the state labor boards, designs the exams? ASME, ASCE, IEEE, ACM, AICHE, and so on.
Don't be too eager for this to happen. All Professional Engineers (PEs) need to graduate from an accredited program (most CS programs are not accredited) pass an exam called the Fundamentals of Engineering, work for a minimum of 4 years under a Professional Engineer and earn 5 letters of recommendation to the state labor board from Professional Engineers, and take another exam called the Principles and Practices of Engineering.
As a Professional Engineer, you will be solely qualified to perform specific job tasks - such as seal design plans, testify as an expert witness, and so on. Nobody can encroach on your job. You can also be sued for malpractice and be held criminally liable for work that fails to adhere to federal, state, and local standards. And you get to do this for every state that you practice in.
The problem that programmers are facing stems from the fact that as a group, they are unwilling to establish standards for practice. There are no standards as to what constitutes good software or bad software. There are no standards for testing. No standards for interface or for communication. No standards for what constitutes a proper education to practice.
Engineers as a group have done this. Without it, there is no case to be made that some 14 year old from Thailand isn't as fully qualified to as a 50 year old Ph.D. with 25 years of experience at writing software.
Just to be clear - I'm not an engineer. I'm a mathematician and physicist. I can't be an engineer. I can't pretend to be an engineer. But I've been a programmer and as far as anyone is concerned, I'm every bit as qualified as you to be one. After all, I don't have to take responsibility for my work either.
Clue for y'all. Engineering has, and will always have, as one of it's design techniques the elimination of as much manual labor as possible in a process to meet cost requirements.
Civil Engineers ran off the longshoremen with shipping containers
Mechanical Engineers ran off the millwrights through greater automation
Computer Engineers ran off the draftmen through improvements in CAD/CAM/CAE
and Software Engineers will run off the coders through automated software development tools.
It'll take a while. Decades. But it'll come. Software is cost effective when economy of scale is on your side. Mission critical in-house stuff - way too expensive.
So programming - largely dead end. Computer Science - go talk to physics. Very important, but not a large field. Software Engineering - that's the top of the food chain.
Working on the education side (Engineering) of this discussion, I have something to add.
Students come to me all the time in their senior year telling me that they don't know how to do anything and don't know what they should do for a job.
The reality is that they do know _how_ to do a great many things, but we don't have time practice all of them in the structured environment of a course. There's so much for an engineering student to learn to prepare them for employment. Most employers will take a new student and provide additional training in the specific area that they'll work in and it's our job to make sure that they have a good foundation to add to. (Training has been less common in the computer field the last few years compared to Civil, Mechanical, etc. but my guess is that'll swing around pretty quick here.)
The best thing for students to do is to take the initiative (that's important right there) to use their summers and free time to pursue internships, or participate in projects like open-source ones or maybe volunteer on a public service project.
What we cannot reproduce in an academic environment is the real-world. (We can on a small scale, but not for 2,000-40,000 students...) Students need to understand that the diploma is NOT the whole package, just a typical element of the package.
Don't forget:
Mac OS X:
Drag application to Applications folder
You usually even get all localized versions. Anyone want to compare uninstalling?
So, basically what Michi is saying is that Computer Science isn't having the day-to-day impact that it once did. Advances in data structures and algorithms aren't impacting the development of products like it once did.
Computer Science now gets to join Chemistry, Physics, and Biology as science disciplines that can no longer handle their own engineering. Physicists don't design boilers any more, Chemists don't design refineries, and biologists don't build waste treatment plants. And computer scientists don't build operating systems well.
Enter Software Engineers and Computer Engineers, who get to learn their stuff from the CS boys, but who focus on production, on tradeoff, on integration, on management. Its the engineers that push for legislation, that make sure that you have the education and experience to practice, and build systems that we are willing to call 'infrastructure'.
What people need to clue into is that we have an industry that has hit the point where it needs to split and to recognize those that advance the theory and those that pave the roads.
Well, I help build these programs, so I too am qualified to answer. There's a lot of variability of these programs.
CS can range from being a coder-mill to a real theory-based science program.
CE can range from being almost exclusively EE applied to computers to being coding + some hardware.
CSE (computer science engineering) and EE/CS tend to with some reliability balance hardware and software.
SE (software engineering) focuses on the application of computer science to building software.
Most day-to-day programmers that I've worked with aren't spending a lot of time designing algorithms or thinking out big-O problems. Instead, they spend most of their time working with a team of programmers trying not to step on one another.
I'd say most programmers would actually benefit from a Software Engineering background, then a CS background, then a CSE, then a CE background. As for MIS, CIS, I'd advise getting one of the above degrees and having your employer send you for an MBA with a computing focus.
When shopping for schools, ask about all the programs they offer and have them compare them. CS at one school may be nearly identical to CE at another.
Personally, I think all the programs are cool...
There's a concept in the world of stuff you can touch called 'depreciation'. Why the software world hasn't caught onto this is beyond me, but from my experience it seems to apply reasonably well.
The value of your code goes down in value over time. Now, don't confuse that with the value of your design - your design could be grand, but the code is part of your equipment, like your hardware. Depreciate it over time to reflect the increasing cost of maintenance and integration costs in a migrating business.
Reworking your code allows you to make adjustments to your design to reflect a new environment, or to move away from languages/APIs/toolkits that might be hard to maintain.
I depreciate my code over about 3 years. It's all modular, and I replace code about as frequently as I add. A number of years ago, I had tons of bandwidth but not much CPU power, so I tended to push data rather than compute. The reverse is now true, so I made some design changes as part of a standard rewrite - no need to wait until it broke. Overall, most of my code hasn't radically changed in it's design, but it has been rewritten several times. I've had code cut back to 10% of it's original size by adopting a new toolkit, etc. I've made it more robust, faster, cleaner, better documented. I can't think of a case where it's gotten worse, and I can't think of a case where the rewrite took much longer to write than the original code - and more often than not took much less time. It's worked well enough that I've added a considerable amount of functionality, but spend no more time reworking code because it becomes increasingly efficient and is never too far removed from future additions.
Many people suggest that code rewrites are a waste of time, but it's a maintenance function. People that only budget time to write new code often find those extra work hours devoted to maintenance. Budget it in - and the best way is through rewrites.
Good god...
>As an example, in one sunny June afternoon in the late 1600's, the city of Port Royal Jamaica plunged 40 feet below the surface of the sea, killing thousands. That's forty feet in ONE DAY.
No, that's 40 feet in one day and 0 feet in 400 years. Cuba would have had to suffer an equally powerful earthquake on average every 120 years over that period to account for the 2000 feet. Is that trend in the very recent geological record for that area - it should be for your premise to be correct.
Geological processes can be very violent, but they also tend to be regular. You can't argue one aspect without at least factoring in the other. 4" subsidence per year is pretty aggressive - I doubt you'd find many instances of such a rate over that kind of a distance, especially underwater, and especially without a volcano being involved.
>Depends on the campus, doesn't it?
Sure does. The new UC Merced campus being planned is 17,000 acres. It's about the size of the city of Santa Monica. I wouldn't call anyone unwilling to walk across Santa Monica 'lazy'.
>While it may be true this thing is capable of balancing itself, the rider must balance themselves upon it, too.
Actually, not really. The predecessor to this was a wheelchair, so it's occupants were basically unable to balance. It too could balance up on two wheels while lifting a person into a nearly standing position. The fact that you can shove someone violently without them falling over attests to how the user doesn't need to balance.
Right now it appears that lazy people are the market, but that's primarily because urban planning is designed around available modes of transportation. You can expect people to walk about 3 miles over the course of a day or you can ask people to drive or you provide some kind of transportation - a monorail, etc. The Mall of America has the problem that it's closing in on the maximum size that people are willing to walk.
As a result, you don't plan a campus, theme park, pedestrian mall, etc. to be any larger. This can change that. With it, you can ask people to cover 8 miles a day. You can triple the size of your auto-free areas.
It is revolutionary. You just can't see the markets in which it is. Do all Slashdot readers live in Des Moines where this thing will likely not be a revolution?
Think of college campuses where cars are hard to manage - shove up to 40,000 students away from the campus (parking and housing) and reclaim the space for classrooms. 75% of the US high-school population will go to college, and half of these will attend a university with a population of 10,000 or more - each a small planned city. These already employ fleets of electric and natural gas cars and carts. I bet every major university in the US will be discussing the feasibility of banning autos from their campuses tomorrow.
Think of new cities. There are roughly 2 billion people in India and China, both nations struggling with transportation and at least some of that tied to limited access to oil and refineries.
The US is not the killer market for this. NY could do solve some huge problems with widespread adoption of this. Vegas could benefit. Theme parks are designed around how far people are willing to walk. This can change all of that. Disney loans you a Segway when you enter their new theme park. So what if it's 15,000 acres? Who cares about the monorail?
>But so WHAT if it can stand up on its own?
Well, there are a lot of people that don't trust themselves on a bike. Bikes are hard in a suit, with heels, in a skirt. They generally go too fast. Bikes are banned in many places because they are too dangerous. Twice walking speed isn't too scary for a mall or airport, especially if there's no way in hell you can fall over. Just not having to worry about falling over will win a ton of people over.
>Weight is a real problem with any bike/scooter/moped powered by batteries.
True, but this has a follow feature that basically makes it a self-propelled pull behind, even on stairs. I imagine it'll be like pulling a broom behind you. No sweat.
It'll get lighter, go farther, get cheaper. There will be more people willing to pay $3,000 than they can accommodate, I guarantee.
On a side not[e], was anyone else annoyed with the way Apple promised OS 10.1 is September, announced it on the 23rd, then waited until the last possible day of the month to actually ship it?
(you really have to dig having spell-checkers work inside of web browsers...)
Now, you have to keep in mind that in the closing days of finalizing OS X 10.1 at least some key Apple employees were caught well out of Cupertino when weekend getaways got dragged out to a week or more due to the airlines shutting down here in the USA. The ship date was on track to be closer to the 15th. Even Steve Jobs can't prevent the kinds of events that took place on 9/11.
Well, trains have the same benefits - while the people aboard can be killed, it's hard to ram a train into anything other than it's own station or another train.
Modern high-speed trains can travel about half the speed of a jetliner and have lower front-end and back-end costs. That is, it's far easier to put a train where you want it (downtown Manhattan isn't a problem) relative to an airport, and it takes less time to board and disembark. Right now, you're looking at an extra hour to board and disembark, and probably another 30 minutes extra travel time to your destination for most major cities for air travel relative to train.
Assuming that doesn't change, any travel of less than about 1000 miles is break-even between high-speed train and airplane. While introduction of high-speed trains to the transportation infrastructure won't prevent what happened on 9/11, we could reduce the number of flights by 1/2 to 2/3. That gives the nation 2x-3x as many resources to devote to protecting the long-haul flights, would substantially improve the air congestion that we current are facing, and could provide a redundant means of moving goods around the county: 10 hours NY to LA is fast enough even for some FedEx rates.
While high-speed rail is more expensive than developing new airliners, long-term it's probably far more cost effective when considering needed development of new airports, etc. High-speed trains could be developed along the right-of-ways used by the interstate system, taking them closer to urban areas, to airports, etc.
A well-rounded education is good, but is often not implemented well. All too often, a university throws together a collection of courses that are humanities related, social sciences related, etc. and asks all students to take some to be well-rounded. Unfortunately, it rarely works well.
Students focus on a specific field of study (hopefully) because they are interested in that field. If you ask a history major to take physics or a physicist to take history, the student will likely be uninterested in the course and probably will take almost nothing away from the course.
What is lacking is breadth in the context of the student's field of interest. If you want a physicist to take something from history, the course needs to be taught from the perspective of a physicist: How has science influenced historical developments at various times in various places? The course can be taught with the expectation that the student has a high level of knowledge about science and the focus allows the student to see why history is important as the student can see how they may play a larger role.
Not only does the student learn some facts (which are actually irrelevant - we learn facts as we need to learn facts) but gains an appreciation of why a broad education is important and can see more directly how it is relevant. That appreciation leads to lifelong learning, which is really the ultimate goal of a college education.
I had a similar situation where a student group snapped up a domain name which was easily confused with our university. Normally, I wouldn't mind students taking ownership of role at the university, but it wasn't long before typing in the name of my university took users first to *their* site over the official university site. The resulting confusion by prospective students, parents, visitors, etc. - even in a few days, became very labor expensive. I could easily foresee the university losing a full staff person's time to dealing with the number of confused people: 40-50k in taxpayer dollars. Much cheaper to buy up a variety of domain names...
.com, .net, etc. address comes from companies, not taxpayers or students.
Now, we didn't really see this coming because we didn't anticipate that the majority of people don't type in 'www.microsoft.com', instead they go to google and search for microsoft. Since we can't control the content on the student sites, the least we can do is make sure that content doesn't sit at an address that can be easily confused by ours.
Now, we didn't buy the domain names the students use, but we did require student groups that have a relationship to the campus to have their domain names approved by the university. It seemed like a reasonably good compromise.
What most people may not understand is the amount of money that universities spend on marketing and how a confusing domain name can jeopardize that effort. Buying a domain name is very, very cheap insurance against such problems.
Also, to address the taxpayer dollar question - most state universities get about 1/4 of their support money from their state, about 1/4 from student tuition, and about 1/2 from federal grants (none of which can be used for these efforts) and corporate dollars (which can be, and are used for marketing efforts) So the money to buy up a
Last year I was talking with some high-ups in Boeing (VPs perhaps, I forget) about the need for licensing software engineers as Texas had recently begun doing, wondering what they thought of that move.
While they agreed that there was need for accountability for software engineers (IIRC, these guys were planning YA-air traffic control network) their argument against licensing was that there were no defacto accepted standards for code. That is, it's obvious to license a structural engineer - there are building, seismic, etc. codes to adhere to that have been written down.
Software has no such animals. No state (these are all state labor board issues) has ever written down that you should free a memory block after you're done with it, or check a pointer to see if it's null, and so on. Sure, these are accepted practices, but they aren't requirements.
As to previous posters that suggest that buildings are chaotically built, they seem to be overlooking tiers of state and local building codes, building permits, inspectors, plus the need for contractors to be licensed in most states. There's a lot of checking and balancing to be done and if it's wrong... Well, in the case of buildings that engineers need to sign off on (3 stories and up + special purpose, in most states) structural failure can result in criminal malpractice suits and jail time. If people die and the engineer overlooked something, possibly manslaughter.
Next time you are writing code, consider how you would approach the project and your boss if the prospect existed of the code causing bodily harm and you could be sent to jail? What if your code is used to control a traffic light, a power grid, an anti-lock brake system, an EKG display?