If Microsoft's PR shills are saying: "Microsoft's product sucks so bad in the marketplace that Google isn't letting companies release enough product to run alternative operating systems", then Microsoft needs new shills, better product and a new PR department.
The strange thing is: most users adapt to the programs they use, and the program becomes less annoying over time. Windows 8 appears to defy that rule. I hate Windows 8. I've been using it for 6 months now. I hated it at the beginning, and I hate it even more now. I simply cannot make Windows 8 do whatever it is I am trying to do.
A big problem is that Windows 8 does not work well with touch pads. Every other laptop, I use the touch pad. My Windows 8 laptop has a mouse at work, and a mouse at home.
When interrupt handlers are considered, it is very difficult to "stop at a certain level." I'm not aware of any processors that have a software stack, and check the the stack depth when responding to an interrupt in hardware. If hardware paging is present, some operating systems use guard pages to make software stack overflows detectable. However, many embedded systems do not have a hard disk, and as such, don't implement virtual memory and hardware paging.
In the small embedded processor market, the best you can hope for is a hardware stack (like some Microchip products use.) If the hardware stack overfills, then a hard reset occurs.
Almost all safety systems in Ontario have not been designed or written by a PEO licensed engineer. The PEO is the same organization that tried to get Microsoft to stop using the term "Microsoft Certified Systems Engineer (MCSE)" and largely lost. If you start analyzing real and deployed systems, you will be shocked at what you find.
Yes, there are a few very well designed machines out there that do hardware and software interlocks properly, and in an obviously safe fashion. These are the exception, and I am delighted to find the few exceptions that exist.
However, if you want excellent examples of obviously unsafe things, consider:
- The gas pumps at Shell, Esso, and Petro-Canada. How many brands have an Emergency Stop button? One?
- Toyota cars have a push to start button that is also a push and hold to stop button. So how do you stop the car quickly? Shouldn't a car that has push-button start, also have a push-button stop, that is a different button and works quickly? Why would Toyota follow the Microsoft standard of using a start button to stop, instead of following the very well thought out emergency stop button standards?
- Hospitals have implemented a number of computer systems that are networked, and make the job of nurses quicker, easier and more productive. This reduced nursing costs considerably, and fewer nurses are looking after more patients. However, these systems are not reliable, and the official backup plan is that a nurse will step in and do the job manually if the system fails. Unfortunately, many of these core systems are also running on Microsoft Windows (often Windows XP.) One virus, or one bad update, written by a non-engineer, to wipe out many core systems. A major hospital had its Internet linked systems disrupted because too many people watched Olympic hockey (over the critical internal network.) Has any engineer approved any of this? Does any hospital have enough nurses to cover off in the event of a computer failure?
- Most servo-motor drives are sold with a "not recommended that power be cut by an emergency stop/safety system" warning buried somewhere in the documentation. Ignoring this, and assume braking resistors are used, and power is really cut. Most motors will follow an exponential stopping curve, and appear to coast to a stop. A mechanical engineer doing a PSHSR (Pre-Start Health and Safety Review) will expect the machine to stop quickly, and not coast. The cheapest way to do that is to dynamically brake into braking resistor under full software and transistor control. The second cheapest way is to use a parking brake, but those are not rated for safety and only a fraction of the servo-motor market uses parking brakes anyway. How many PEO licensed mechanical engineers doing PSHSR reviews have passed systems with incorrect software E-STOP circuits and Safety Circuits, and failed E-STOP circuits and Safety Circuits that cut power to the motors in hardware?
Do not depend on the PEO and statutes to keep you safe
Every computer science, computer engineering and software engineering major is taught the wonders of virtual memory and recursion. They are taught pointers are good, and global variables are bad. When writing embedded software, the engineers do as they have been trained
Wide and easy adoption of any new technology requires backward compatibility. IPv6 is not even slightly backwards compatible. If you have one IPv4 application on the entire network, then you pretty much have to keep IPv4. On the other hand, NAT and CGNAT will run the applications of the majority of users with absolutely no problems.
What I have never understood is: why has no one redesigned IPv6 in such a way as to be backwards compatible as possible with IPv4?
After doing the same demo a hundred times, I opened the screen of a brand new laptop to show a client. It cracked right before the client's eyes.
Asus replaced the screen on the laptop, with some difficulty, but they did replace it. Never underestimate the potential for a latent stress fracture.
The old 68000 processor (of Apple Macintosh fame) had an instruction that would turn the address and data buses into high-speed counters for diagnostic purposes. Unfortunately, this instruction could also overheat the chip if ran for too long.
User's dubbed the assembly mnemonic as: HCF, Halt and Catch Fire!
I'm betting on Windows it is probably something to the effect of:
while(GetMessage(&msg, NULL, 0, 0) > 0)
This loop is called even when the CPU goes idle, in order to implement the OnIdle call in MFC. My second guess would be the code inside the GDI BitBlt call.
Under certain conditions, steel has no fatigue limit either. That is one of the reasons why gears and valve springs fail after extended usage. Given enough cycles, in certain applications, steel will fail. However, if you rate the valve springs to in excess of 100 million cycles, the rest of the vehicle will wear out first.
The F-150 is the most popular pickup truck. An entrenched market for pickup trucks exists to supply home handymen, construction workers, farmers, repair people, landscapers, and pretty much anyone that needs to carry open loads of approaching 1 ton. (Half-ton pickups are usually capable of carrying more than 1/2 ton in a pinch.) Also, if you are towing, pickup trucks can pull large trailers (like fifth wheel trailers.) So anyone interested in sub-transport sized towing, often purchases a pickup truck. On this side of the Atlantic, "caravaners" tow their trailers with trucks. Also, if you are using a work truck, you are probably carrying loads like timbers, pipes, gravel or manure, that are entirely unsuitable for a bus.
While many trucks are made in smaller quantities, Ford sells one type of high-volume pickup truck - the F-150. GM sells its pickup truck under two different brands (GMC and Chevrolet), so it doesn't sell the as many trucks per brand. The passenger car market in North America is very fragmented, almost without a top-selling car. Thus, a top-selling commercial vehicle is now the top-selling vehicle overall.
I think the description "GUI's are not fully funtional yet" summarizes the situation. Even Microsoft eventually went back to the command line. At one point, almost all of Microsoft's tools used the Windows GUI interfaces. It quickly became obvious that the GUI interfaces didn't support remote deployment, automation, etc. Then they wrote power shell, and gave all their tools command line interfaces again.
Programs like LabView, and some of the process control (DCS) and programmable logic control (PLC) vendors have graphical programming interfaces. PLC Ladder Logic is probably the most basic visual programming metaphor ever developed, because the relay ladder logic corresponds to simple boolean AND/OR operations. The LabView interface is more fully featured. However, it takes a very big picture in LabView to accomplish the work of a simple procedural function in most programming languages. I couldn't imagine doing a sophisticated program with that interface. PLC ladder logic looks dense in comparison to the picture based function blocks of LabView.
Additionally, I have frequently found myself modifying VisualBasic Forms and VisualC++ Resource Files at the source level instead of using the graphical interface, because the change I am trying to accomplish can be done much faster from source than from the GUI. It really makes me think that GUI interfaces are missing a fundamental level of programmability.
the NSA automatically identifies telemarketers, and does nothing.
If I were google, I would download images in all incoming messages regardless if they are intended for real email boxes or not. This would let them know which websites are being used for spam. The spam detector could use this information by pattern matching every image (regardless of relabling or website copying), and mark spam accordingly.
I remember when every airline seat had a satellite phone (at $10/minute) that you could use to call whoever you want. I just assumed Flight 93 was one of these flights. I also remember CNN having reports of phone calls on September 11th/12th.