Did you know that a normal wired keyboard transmoits you keyclicks into the air as well. When you strike a key, it trasmits a unique electrical signature over the wire. That signal also "bleeds" out into EM waves which can be read by special spook equipment.
In governemnt buildings, special areas dealing with confidential materials are required to be shielded against radio eletro-magnetic signals leaking out. Otherwise, you could rent an office across the way, set up a directional receiver, and simply listen to sensitive documents being typed.
The truly unique thing about the original Microsoft "natural" keyboard was the tilt bar. Unlike most keyboards, the tilt-bar is in front, not in the back. Basically, this straigtens out your wrists and keeps you from smashing shem into the wrist wrest.
Subsequent versions have moved the tilt "pegs" to the rear. This tilts the keyboard in the WRONG direction in order to make it ergonomic.
I still have my Black natural keyboard (along with one white) that I don't use. I kinda like the volume buttons on the newer models. I especially like the built in USB hub so I can plug the mouse into the keyboard (mac style). A manual modification makes the keyboard tilt forward like it SHOULD!!!!
I would suspect that apple would have to write Bluetooth setup drivers for PCs in order for them to work properly. Bluetooth is not yet "plug and play".
I would suspect that a G5 powerbook is quite a ways off. There is little justification for 64-bit right now besides the chicken/egg scenario.
Apple is providing the 64-bit chicken hoping that 64-bit eggs (software) will result.
The G5 will likely have to be tweaked in order to work well in a notebook. It's intended as a chip for massively parrallell super-computers. Somehow, I don't think power consumption (beyond heat) was high on IBMs design criterea.
Once Apple customers are using 64-bit software (when OSX is fully 64bit enabled). Then they will lament it's loss when switching to their powerbooks. THEN, G5s will be placed in Powerbooks.
You know what would be nice? If Apple made the entire keyboard/mouse assembly on the PowerBooks swappable with an alternate design (or several alternatives.)
It is quite possible on most laptops. However, the because of the size/design constraints of laptops are all different. 3rd party keyboards exist because there is a standardized plug. The form factor doesn't matter.
The form factor of ANY laptop component is critical. Freezing the form factor in laptops squelches the designers ability.
A reasonable alternative to the right button is a "click and a half" action. Basically do a double click action expect hold on the second click. That could pop up a context menu.
Likewise, a triple-click could represent a center button action.
This is keeping with the concept of a simple interface. Power users can access advanced features through advanced actions.
I think Apple could solve the issue at this point with single body mice that:
* incorporate side clicks. That is putting pressure on the side instead of the front would produce different clicks. The software would include the "generic" click by default. However, enabling "advanced" clicking would allow you to assign other tasks to the side and back clicks.
* Add a countoured touch pad to the top of the mouse. The pad would scroll by default but the software could make the mouse do any number of things.
I think everybody could add a touch touch pad to the center of their ergonomic keyboards. It would allow the user to control the pointer without having to grab for the mouse.
It wouldn't be flat and square. It would be shaped like the "v" section in the middle of the keyboard.
The "touch point" concept has held on despite the fact that touch pads are easier to use. The reason is simple. You don't have to move your hands from the home keys to move the mouse. A lot of times, your only moving the pointer as small amount. The touchpad is ideal for these circumstances.
However, the powers that be actively do anything they can to squash it. The dirty secret of the WTO/World Bank is that their fundamental basis of reform is selling of power and utilities to private interests that jack up the costs (like in California). This has been played over and over again all over the world.
The reasons are obvious, co-opt a captive audience with no alternative. That way you can charge whatever you like. Ultmately, I think air pollution by these same industries will provide them with an added bonus. Selling canned/purified air (as depicted in 'Space-Balls'). That's what President Bush calls a 'Tri-Fecta'
However, the dearth of the pure generic variable is that there is no type safety. This is effectively the same as using (void*) for everything.
Yes a developer could implement a generic algorithm quite easily. However, the compiler is unable to check wether the objects used will work properly.
A VERY good rule in programming is to prefer compile time errors over run-time errors. Generic variables like (Object), Var, (void*) don't facilitate this. Even the in c++ is a run-time decision. Generic algorithms/data structures(called collections now I guess) do facilitate type safety at compile time which saves a LOT of time down the road.
BTW, lest anyone think I'm a Microsoft zealout, I like Java's checked exceptions better than the C++ style exceptions. Once again it enforces a compile time constraint and forces a developer to think about robustness while writing code instead of as an afterthought.
I trust Ximian quite well. They are the managers of the Mono project.
I trust Microsoft to do whats in their best interest. I don't trust Sun at all. Microsoft has placed C# before international standards bodies. They are being a bit coy about potential patents, but ultimately, clean room implementations like mono have stood up quite well in court.
Sun has been VERY selfish about holding the exclusive keys to Java. I dare say it was going NOWHERE until Microsoft announced a competitor. Now they are forced to innovate again.
The reason for Sun's tight grip is probably because of their increasingly FAILING server and workstation business. Along with SGI, they face extinction in the face of open source Java. Indeed, Java may be looked at as a fallback if Sun is forced to go "pure consulting" without it's overpriced computer business.
At that point, I wouldn't expect Java to be as "free" as it is today. Nothing is stopping Sun from pulling the plug on free Java once they think they've got people hooked on it.
Ultimately, I think both companies realize that the notion of a hardware platform is dissappearing rapidly. The virtual platform that can can exist universally may be the battle ground of the future. In such a case, it's good to be in the drivers seat instead of a passenger.
I look forward to seeing both C#.net and Java/Java evolve into more mature products that will span any possible OS and host glue and UI code that interconnects various services.
Re:C# is not the only .NET language
on
Does C# Measure Up?
·
· Score: 2, Insightful
The multiple language angle is
1) to allow anyone accessibility with there skillset.
2) allow the integration and migration of legacy codebases.
3) Not piss of VB customers who are perfectly happy with their ugly piglatin language;-)
Serious, there are large Fortran libraries out their. Microsft's approach allows easy integration.
A cobol implementation exists. Though, COBOL is almost always spagetti code riddled with non-modular entry points. But I suppose well written COBOL code can be migrated into a mixed.net environment.
Ultimately, distilling it all into cross-platform IL is a thing of beauty. Managed code that can be accessed from any language and run on virtually any platform.
Re:Why do we need C# in the first place?
on
Does C# Measure Up?
·
· Score: 1
A majority of people using C++ trust microsoft (not necessarily by choice) by using their dev environments and compilers.
Beyond that C# offers accessibility to the "enhanced" VB style toolset (quick and easy) which having to choke on VB. VB programmers will most likely object. However, most hardcore C family (C/Java/C++/Javascript) programmers would rather tranfer to marketing than use that ugly skid-mark langauge VB.
don't need that, don't need this, I don't like that, you can simulate x using y, etc...
The result was the need for C#.
Java is a simple langauge that is probably a reaction to the byzantine complexity of C++. Now if we can only convince Microsoft to put checked exceptions (optional) into C#.
Inheriting from Object only solves the absence of multiple inheritance in Java.
Actually, it doesn't solve that problem at all. It allows the JVM to allocate and manage stuff in a generic way. In C# it allows you to attach some methods to ALL objects. It also for easy implementation of reflection and RTTI.
Just because something is an object, it doesn't mean it has to have a v-table (unless your programming Java in which all methods are virtual).
I remember in MSVC++ 4 using a TEMPLDEF tool. Basically I wrote my structures in a generic format and TEMPLDEF would generate any instantiation I needed.
Tools do take a bit of time to evolve. Sun has done a good job (not a GREAT one) with Java. I trust they'll do a decent job with generics.
Though, I believe that the C# implementation will be much, much better. Eventually, you'll probably see VB.net and other.net languages supplying access to IL/CLR generics mechanism.
If you WRITE a bunch of code (mostly to facilitate typecasts) to incorporate a pre-built algorithm/data structure, isn't that code bloat. The difference is you had to spend a couple hours to bloat the code instead of the compiler doing it for you in a second.
I would suspect that brininging a "managed environment" to system level programming would be a good step.
C/C++ have served us all well. However, I suspect that something a bit more portable and simpler may be relevant, especially with the byzantine complexity of C++ behavior.
On the application end, I would suspect aspect-oriented programming is next on the horizon. More structures to ensure quality (pre/post conditions). More programming by definition and constraint with glue (built in quality control).
crew that crap, I want X,Y positioning and let me handle the darn layout specifics. In this reguard only borland has ever gotten layout working correctly.
I think you would like Visual Studio.net. Early layout engines specified things in psuedo-code structures. Visual Studio actually writes code. It's mostly done by setting properties. You can modify that code and it will be reflected in the designer.
The neat thing is that you can create your own visual widgets and they will operate properly inside the designer. It just yanks the IL code for the object and executes the draw routines.
A plane traveling at that speed with that much fuel would be INCINERATED upon impact.
Although airframes are very sturdy when used under standard conditions, they are acutally a lot light a tin can when exposed to "unusual" stresses. The perimeter of the pentagon is a farily thick layer of steel reinforced concrete with a facade of Indiana limestone (best in the world;-)
Have you ever seen a rocket sled impact tests on outdated jets. It's pretty humorous because the impact surfaces aren't as wide as the jets. The internal structure of the plane vaporizes on impact. The wing tips continue without the plane as if nothing had happened.
Nothing but the strongest of structures like the data recorder would be found under these circumstances.
Did you know that a normal wired keyboard transmoits you keyclicks into the air as well. When you strike a key, it trasmits a unique electrical signature over the wire. That signal also "bleeds" out into EM waves which can be read by special spook equipment.
In governemnt buildings, special areas dealing with confidential materials are required to be shielded against radio eletro-magnetic signals leaking out. Otherwise, you could rent an office across the way, set up a directional receiver, and simply listen to sensitive documents being typed.
Shouldn't a half-click (click and hold) drag things by default. I've used Macs and I believe this is the case.
It's better then WEP!!!!
The truly unique thing about the original Microsoft "natural" keyboard was the tilt bar. Unlike most keyboards, the tilt-bar is in front, not in the back. Basically, this straigtens out your wrists and keeps you from smashing shem into the wrist wrest.
Subsequent versions have moved the tilt "pegs" to the rear. This tilts the keyboard in the WRONG direction in order to make it ergonomic.
I still have my Black natural keyboard (along with one white) that I don't use. I kinda like the volume buttons on the newer models. I especially like the built in USB hub so I can plug the mouse into the keyboard (mac style). A manual modification makes the keyboard tilt forward like it SHOULD!!!!
I would suspect that apple would have to write Bluetooth setup drivers for PCs in order for them to work properly. Bluetooth is not yet "plug and play".
I would suspect that a G5 powerbook is quite a ways off. There is little justification for 64-bit right now besides the chicken/egg scenario.
Apple is providing the 64-bit chicken hoping that 64-bit eggs (software) will result.
The G5 will likely have to be tweaked in order to work well in a notebook. It's intended as a chip for massively parrallell super-computers. Somehow, I don't think power consumption (beyond heat) was high on IBMs design criterea.
Once Apple customers are using 64-bit software (when OSX is fully 64bit enabled). Then they will lament it's loss when switching to their powerbooks. THEN, G5s will be placed in Powerbooks.
Perhaps they could program the touchpad software so two simultaneous touches (two fingers) could be interpreted as the second button.
Three simultaneous touches (three fingers) could be interpreted as the third button (scroll mode).
You know what would be nice? If Apple made the entire keyboard/mouse assembly on the PowerBooks swappable with an alternate design (or several alternatives.)
It is quite possible on most laptops. However, the because of the size/design constraints of laptops are all different. 3rd party keyboards exist because there is a standardized plug. The form factor doesn't matter.
The form factor of ANY laptop component is critical. Freezing the form factor in laptops squelches the designers ability.
A reasonable alternative to the right button is a "click and a half" action. Basically do a double click action expect hold on the second click. That could pop up a context menu.
Likewise, a triple-click could represent a center button action.
This is keeping with the concept of a simple interface. Power users can access advanced features through advanced actions.
I think Apple could solve the issue at this point with single body mice that:
* incorporate side clicks. That is putting pressure on the side instead of the front would produce different clicks. The software would include the "generic" click by default. However, enabling "advanced" clicking would allow you to assign other tasks to the side and back clicks.
* Add a countoured touch pad to the top of the mouse. The pad would scroll by default but the software could make the mouse do any number of things.
I think everybody could add a touch touch pad to the center of their ergonomic keyboards. It would allow the user to control the pointer without having to grab for the mouse.
It wouldn't be flat and square. It would be shaped like the "v" section in the middle of the keyboard.
The "touch point" concept has held on despite the fact that touch pads are easier to use. The reason is simple. You don't have to move your hands from the home keys to move the mouse. A lot of times, your only moving the pointer as small amount. The touchpad is ideal for these circumstances.
I share your hope.
However, the powers that be actively do anything they can to squash it. The dirty secret of the WTO/World Bank is that their fundamental basis of reform is selling of power and utilities to private interests that jack up the costs (like in California). This has been played over and over again all over the world.
The reasons are obvious, co-opt a captive audience with no alternative. That way you can charge whatever you like. Ultmately, I think air pollution by these same industries will provide them with an added bonus. Selling canned/purified air (as depicted in 'Space-Balls'). That's what President Bush calls a 'Tri-Fecta'
I do see your point.
However, the dearth of the pure generic variable is that there is no type safety. This is effectively the same as using (void*) for everything.
Yes a developer could implement a generic algorithm quite easily. However, the compiler is unable to check wether the objects used will work properly.
A VERY good rule in programming is to prefer compile time errors over run-time errors. Generic variables like (Object), Var, (void*) don't facilitate this. Even the in c++ is a run-time decision. Generic algorithms/data structures(called collections now I guess) do facilitate type safety at compile time which saves a LOT of time down the road.
BTW, lest anyone think I'm a Microsoft zealout, I like Java's checked exceptions better than the C++ style exceptions. Once again it enforces a compile time constraint and forces a developer to think about robustness while writing code instead of as an afterthought.
I trust Ximian quite well. They are the managers of the Mono project.
I trust Microsoft to do whats in their best interest. I don't trust Sun at all. Microsoft has placed C# before international standards bodies. They are being a bit coy about potential patents, but ultimately, clean room implementations like mono have stood up quite well in court.
Sun has been VERY selfish about holding the exclusive keys to Java. I dare say it was going NOWHERE until Microsoft announced a competitor. Now they are forced to innovate again.
The reason for Sun's tight grip is probably because of their increasingly FAILING server and workstation business. Along with SGI, they face extinction in the face of open source Java. Indeed, Java may be looked at as a fallback if Sun is forced to go "pure consulting" without it's overpriced computer business.
At that point, I wouldn't expect Java to be as "free" as it is today. Nothing is stopping Sun from pulling the plug on free Java once they think they've got people hooked on it.
Ultimately, I think both companies realize that the notion of a hardware platform is dissappearing rapidly. The virtual platform that can can exist universally may be the battle ground of the future. In such a case, it's good to be in the drivers seat instead of a passenger.
I look forward to seeing both C#.net and Java/Java evolve into more mature products that will span any possible OS and host glue and UI code that interconnects various services.
The multiple language angle is
;-)
.net environment.
1) to allow anyone accessibility with there skillset.
2) allow the integration and migration of legacy codebases.
3) Not piss of VB customers who are perfectly happy with their ugly piglatin language
Serious, there are large Fortran libraries out their. Microsft's approach allows easy integration.
A cobol implementation exists. Though, COBOL is almost always spagetti code riddled with non-modular entry points. But I suppose well written COBOL code can be migrated into a mixed
Ultimately, distilling it all into cross-platform IL is a thing of beauty. Managed code that can be accessed from any language and run on virtually any platform.
A majority of people using C++ trust microsoft (not necessarily by choice) by using their dev environments and compilers.
Beyond that C# offers accessibility to the "enhanced" VB style toolset (quick and easy) which having to choke on VB. VB programmers will most likely object. However, most hardcore C family (C/Java/C++/Javascript) programmers would rather tranfer to marketing than use that ugly skid-mark langauge VB.
Microsoft isn't completely evil.
Generic algorithms in Java aren't typesafe. Thats the whole point of not using (void *).
i.e. they defeated the point.
Goslings attitude:
don't need that, don't need this, I don't like that, you can simulate x using y, etc...
The result was the need for C#.
Java is a simple langauge that is probably a reaction to the byzantine complexity of C++. Now if we can only convince Microsoft to put checked exceptions (optional) into C#.
Inheriting from Object only solves the absence of multiple inheritance in Java.
Actually, it doesn't solve that problem at all. It allows the JVM to allocate and manage stuff in a generic way. In C# it allows you to attach some methods to ALL objects. It also for easy implementation of reflection and RTTI.
Just because something is an object, it doesn't mean it has to have a v-table (unless your programming Java in which all methods are virtual).
I remember in MSVC++ 4 using a TEMPLDEF tool. Basically I wrote my structures in a generic format and TEMPLDEF would generate any instantiation I needed.
.net languages supplying access to IL/CLR generics mechanism.
Tools do take a bit of time to evolve. Sun has done a good job (not a GREAT one) with Java. I trust they'll do a decent job with generics.
Though, I believe that the C# implementation will be much, much better. Eventually, you'll probably see VB.net and other
If you WRITE a bunch of code (mostly to facilitate typecasts) to incorporate a pre-built algorithm/data structure, isn't that code bloat. The difference is you had to spend a couple hours to bloat the code instead of the compiler doing it for you in a second.
I would suspect that brininging a "managed environment" to system level programming would be a good step.
C/C++ have served us all well. However, I suspect that something a bit more portable and simpler may be relevant, especially with the byzantine complexity of C++ behavior.
On the application end, I would suspect aspect-oriented programming is next on the horizon. More structures to ensure quality (pre/post conditions). More programming by definition and constraint with glue (built in quality control).
crew that crap, I want X,Y positioning and let me handle the darn layout specifics. In this reguard only borland has ever gotten layout working correctly.
.net. Early layout engines specified things in psuedo-code structures. Visual Studio actually writes code. It's mostly done by setting properties. You can modify that code and it will be reflected in the designer.
I think you would like Visual Studio
The neat thing is that you can create your own visual widgets and they will operate properly inside the designer. It just yanks the IL code for the object and executes the draw routines.
A performance metric isn't an invention.
;-)
The CLR is not patentable. There is too much prior art namely Java, p-Code, and MAME
A specific method used to implement it WOULD be patentable.
A plane traveling at that speed with that much fuel would be INCINERATED upon impact.
;-)
Although airframes are very sturdy when used under standard conditions, they are acutally a lot light a tin can when exposed to "unusual" stresses. The perimeter of the pentagon is a farily thick layer of steel reinforced concrete with a facade of Indiana limestone (best in the world
Have you ever seen a rocket sled impact tests on outdated jets. It's pretty humorous because the impact surfaces aren't as wide as the jets. The internal structure of the plane vaporizes on impact. The wing tips continue without the plane as if nothing had happened.
Nothing but the strongest of structures like the data recorder would be found under these circumstances.
Remember, the Pentagon is a miliatary structure and was MEANT to withstand attack. It's a VERY solid structure.
I would dare say it's built like a fort.