I 100% disagree with you. Emphatically. Having been in the CAD development world for 20+ years, programmers are THE LAST PEOPLE who should be designing user interfaces.
I would say you're another person who's come up with the potential error of a "one size fits all" approach.
It's quite fair to say programmers who don't have any experience using CAD applications
should not be doing the design of the UI of a CAD application off the cuff. If they can't see how a CAD application is going to be used, or what tasks are common, it is unlikely the result of a programmer design will even be reasonable.
The user interface is an expression of the application requirements and what the application can do.
A vague general sketch of the user interface should be worked out before any code starts getting written,
so that the programmers understand the objective and ultimately how the pieces are to fit together.
UI details can always be changed later. The importance is that all the needed commands/elements are
accounted for, and the basic logical structure of what the UI can do is modeled properly before code is being written.
However... CAD applications are highly specialized. A programmer is unlikely to be familiar with using them;
coming up with a reasonable design of a totally foreign kind of application is extremely hard -- this requires research.
And I don't mean "asking a user for a specification". Individual users don't know how to properly specify aspects of an application -- it may work if there is just one user (however).
An understanding of the objective is required by a person designing a UI, and an understanding of the most common use cases is required by a person designing a complex UI.
General purpose applications such as web browsers or word processors are a different animal, totally different from CAD software. A programmer should be intimately familiar with the generic requirements to have a web browser, having used other products that already exist.
The detailed requirements still require research.
A user interface designer is not in any better shape.
Without consulting with a broad selection of the users, the design is not likely to meet with their needs/wants by coincidence.
Ask one user and you'll be catering to someone's personal tastes, instead of actually
having a design that most users are happy with.
A few users' "preference" will be suboptimal for large numbers of other users
with slight variations on usage.
So asking just some users does no good, research would imply involvement
of a large number of users, which is hard.
Letting programmers design UIs is how we get software like emacs or vi: greatly productive for a small number of advanced users, completely unusable by almost any computer user apart from those.
There is nothing wrong with the design of Emacs or Vi. These applications were efficient and powerful for their intended users, and extraordinarily successful, considering how long ago they were written, and how popular they still are.
Think about that... there's nothing wrong with the concept of having an editor that caters to admins or advanced users.
Although, quite honestly... Vi/Emacs were easier for humans to work with than other unix editors that had preceded them. You could legitimately argue that they followed the design conventions of applications at the time, and
Vi/Emacs was not significantly harder to use or did not require significantly more skill to use than other basic software tools at the time.
Windows was not around at the time. You could say that IN TODAYS TERMS.... the average computer users at the time would today be considered advanced, in that basically all users were utilizing text-based user interfaces, and most users had to deal with a command line --- user interface conventions change over time, and older user interfaces (over time) get harder to use for the new average user, because the average computer user is getting dumber and dumber, as the average computer user's intelligence tends towards the average ordinary person's intelligence (the more and more people are using computers)....
For their time Emacs/VI were advanced applications, and you did need to actually read the documentation or go through the tutorial.
Simpler editors with handholding were available.
You should probably know that the target audience of these applications was NOT today's average
computer user. Today's average computer user would have great trouble even using Pico, or any
editor where commands are not input by a mouse.
I imagine you could today make a great number of criticisms about how the Pine mail reader is so hard
to use.... although, there was a time 20 years or so ago, that the average computer user had to be able to utilize
mailx, Pine, or a tool with a similar user interface
You wind up with a UI that isn't very powerful or efficient, but instead caters to the lowest common denominator.
It's software for goodness sake... you should be able to configure it/taylor the layout to your liking and choose
some things based on preference.
We had customizable toolbars down pat in the late 90's... I don't understand this sudden desire by some software companies to try to return to an inferior "one size fits all" approach to user interaction.
they're ignoring a small but vocal subset of their userbase who have reported a valid design decision as a bug.
Except, Chrome's placement of tabs is not a valid design decision, and clearly a bug, even if some designer fancied it that way.
The problem is this design doesn't conform to the user interface design standards of the OS in question and clashes with
the expectations of the average user.
The title bar of an application is not an area where application widgets are to be placed.
can apple have for one of it's founders that they won't slide him a $300 gadget????
He'd probably be waiting in line even if they did.
I suspect he's bored/needs to get out some and
wants to do the whole wait-in-line experience for his personal amusement.:)
I suppose it depends what your definition of 'malware' is; there are application loads that don't require arbitrary connnections either (e.g. masmsively distributed brute force Password cracking).
I would consider anything that has access to a users' cookie database through JS and the ability to make any sort of outgoing connection a potential danger.These sort of connections are done every day using Ajax.
Javascript code is fine. HTML5 provides a technology called Websockets.
There was recently an article about about a Javascript based SSH client
What's with all the hoops? if the attacker can run an application with net access, there is no need for a Linux VM.
I'm suggesting the application would be something 'legitimate' with legitimate uses
eg users who WANT their Linux-in-browser to have network connectivity,
to help with training or whatever function this Linux VM is being used for.
Or big nations making mechanical viruses as weapons, and ultimately... those
creations at risk of being turned against their creator through malfunction, hackers, or worse.
Separate lines for lunch? Who could ever think this was a good idea. Sure, let the students doing well get some perks, just don't go around printing "Dumb" on the lesser achieving kids' foreheads. At least they wised up, even if it did take some external pressure to scrap the idea.
They could have kept it quiet by issuing "Fast pass" for the lunch lines; which students' parents could buy, but sending free passes to kids who met certain achievements or did other things deserving of award
Error, error! You're talking about Solyndra. They did not get a blank check, nor did they perpetuate a scam.
They had a model that was trumped by a drop in the prices of polysilicon.
Solyndra was an example of a venture the government shouldn't have had that much money in from the beginning.
I agree that alternative energy research that will be available to the public is a good thing for the government to put money in.
Lending taxpayer money to high-risk poorly conceived ventures, so they can profit if successful, is not.
Our government is not to be a bank lending out our taxpayer money to any potential scammer or high-risk venture that comes by!
Money spent by the government should actually on development of science, engineering, or technology that successful companies will want to build for profit reasons; in the form of proof of concepts, but not billions on production supplies.
Every hear of doing a small rollout or proof of concept first, before spending billions to try and go into full production?
Call them "not economically viable"; or "in my opinion not good investments",
if you like.
There are reasons for government to put some money to effective use in
promoting alternative energy technology research besides expected financial ROI.
In fact... the government is really the only organization that really can put money in
something that doesn't make economic sense... the private sector will mostly only invest
if there is a profit to be made in a relatively short amount of time; the exception would be
non-profit organizations, and their resources are more limited.
Reasons like greater long-term viability of our civilization; liberating our people
and our way of life from dependency on some scarce resources...
We might lose money on the investment for the next 20 years, but it could still be a good "investment", if
there's an ultimate improvement in our way of life
Our government just needs to make sure it makes the spend intelligently, so as little of the
money is spent on dead ends, fancy office furniture/meeting rooms/expensive/excessive office space, or bureaucrats' pocketbooks / other blatant waste as possible.
As soon as someone figures out a more useful way to access the internet than simply tunneling through http/s
How about a kernel mode driver inside the browser-based Linux box for a network stack tunnelled over HTTP/s to a dedicated application running on the same host as the browser to decapsulate tunnelled traffic and dump it onto a local virtual network bridge, kind of like the one used by VMware Workstation or Xen ?
Or even just an application utilizing a Java extension API to allow the Linux-in-browser js application to map a little chunk of host memory for raw network I/O
This isn't going to be very useful if it requires a user to be already logged in to work.
It has just that limitation:
The technology right now is limited so that permission must be granted each time remote administration is activated. "This version enables users to share with or get access to another computer by providing a one-time authentication code. Access is given only to the specific person the user identifies for one time only, and the sharing session is fully secured,"
Yes I forgot about new CPU instructions for checksumming and stuff, but even without them, CPUs today are SO powerful that I doubt you can peg all CPU cores.
Well... I can peg all CPU cores easily, if i'm not too careful, and put too many VMs on a compute host..
But part of the deal is storage hosts should not be compute hosts
ZFS is the filesystem you can use to provide storage services to other hosts.
This allows every bit of CPU to be used to serve the targets, and to provide the LZJB compression and dedup.
This allows the expensive mirrored SSD ZIL log devices and SSD read cache devices on one or two ZFS servers to benefit every application.
This allows every bit of those 64gbs of RAM to be used efficiently for filesystem caching.
This allows the total sum of all those TBs of storage on attached JBODs to be available for alloction to any server that requires storage.
Which is a nice idea until something (for example a ZFS bug or a hardware glitch) causes part of the ZFS metadata to become corrupted
The ZFS pool root metadata is protected by having 3 copies of it on the file system, and metadata blocks are checksumed just as the rest of the data blocks.
"dump all of the data somewhere else, recreate the array from scratch, and reload all the data"
is really something you should never have to do with ZFS, unless you actually have a storage device failure, and you don't have a redundant device that a clean copy of the data can be read from (e.g. Mirror or RAIDZ).
ZFS has two major issues missing. You can't scrub a file as in "I have a legal obligation to overwrite the contents of this file"
You're right that there are some extremely unusual requirements that ZFS won't meet.
You also can't use SSDs with wear levering or any decently modern hard drive, because
modern hard drives have block relocation functions; sometimes a sector is taken
out of service and replaced with a "spare block"; if it is found to be failing or predicted to fail.
The result is that on modern hard drives you can never be sure you "meet your legal obligation".
The only real reliable way to ensure you destroy the data is to encrypt it from the beginning;
dedicate a storage medium to the encryption key, and when your obligation comes to eliminate the data, physically destroy the medium you placed the key on.
The other problem with ZFS is that there is no way to tell it "This file is magic for the boot process, please put it in the first N physical sectors on the physical disk Y"
Put a file on the first N physical sectors. Is a rampant layering violation even bigger than the claimed layering violation of ZFS. If for some reason you actually needed to do that, it would mean your system is broken.. Reasonably modern systems have no hard requirements on what physical portion of the disk the OS resides on.
I would say use a separate pair of very small hardware RAID mirrored bootdisks (or USB stick) and put a 100 megabyte UFS file system on the boot volume for booting in that case.
For example, someone complained about the fact that zfs does LOTS of checksums
Yes it does.
However, thanks to a new enhancement in the Xeon 5500 CPUs, called SSE4.2 instruction set,
there is actually a CPU instruction for CRC32 accumulation.
Oh wow... we're going to use a couple extra CPU clock cycles per read and write to protect our actual data integrity, to allow us to do "online scrubs" of the filesystem to check for any surface errors instead of some limited arcane "filesystem metadata level consistency" called fsck that requires downtime, and FSCK does not check for or repair data integrity; because without checksums our ext3/ext4 filesystems don't know anything about data bit errors, latent surface errors, bit rot, or "silent data corruption" as it's called.
The checksums using a couple clock cycles per I/O... must be a "lot" slower than having many hours of downtime to check our filesystem, if god forbid our system should go down uncleanly, or we should reboot and the "maximum mount" count or "maximum time" since the last fsck happens to have been found to be exceeded while we are trying to boot back up. feh:)
But replacing the entire fs/lvm/raid stack is a good thing!
This is quite true... because frankly, the entire fs/lvm/raid stack sucks
with big disks.
ZFS solution is a really good answer to a lot of problems -- scalability, manageability, reliability.
It would be a very good thing if Oracle would execute a port of ZFS to Linux (under the GPL, of course),
and while they are at it... port AVS and Open HA/Cluster, as a superior alternative to DRBD,
port the SMF as a replacement for init, the fault manager, configuration management CLI tools, and other similar tools that could really fill in some serious gaps in Linux.
You can definitely copyright a human-written description of something
accompanied by a certain picture.
In fact, the picture itself and a human-written description itself can be copyrighted.
As long as there is some creative element in the description.
There are always some creative elements in regards to a photographer's choice of how to take
a certain picture of a building/property.
At the top of their page they have a "Find us on Facebook" link....
So they're using Facebook for their own commercial gain, and now trying to sue them......
what Facebook doesn't have a clause in their TOU about giving FB a license to use their mark?
Maybe Facebook should exercise their right to "turn off" timelines's FB page as a retaliatory measure:)
I 100% disagree with you. Emphatically. Having been in the CAD development world for 20+ years, programmers are THE LAST PEOPLE who should be designing user interfaces.
I would say you're another person who's come up with the potential error of a "one size fits all" approach. It's quite fair to say programmers who don't have any experience using CAD applications should not be doing the design of the UI of a CAD application off the cuff.
If they can't see how a CAD application is going to be used, or what tasks are common, it is unlikely the result of a programmer design will even be reasonable.
The user interface is an expression of the application requirements and what the application can do. A vague general sketch of the user interface should be worked out before any code starts getting written, so that the programmers understand the objective and ultimately how the pieces are to fit together.
UI details can always be changed later. The importance is that all the needed commands/elements are accounted for, and the basic logical structure of what the UI can do is modeled properly before code is being written.
However... CAD applications are highly specialized. A programmer is unlikely to be familiar with using them; coming up with a reasonable design of a totally foreign kind of application is extremely hard -- this requires research. And I don't mean "asking a user for a specification". Individual users don't know how to properly specify aspects of an application -- it may work if there is just one user (however).
An understanding of the objective is required by a person designing a UI, and an understanding of the most common use cases is required by a person designing a complex UI.
General purpose applications such as web browsers or word processors are a different animal, totally different from CAD software. A programmer should be intimately familiar with the generic requirements to have a web browser, having used other products that already exist.
The detailed requirements still require research. A user interface designer is not in any better shape.
Without consulting with a broad selection of the users, the design is not likely to meet with their needs/wants by coincidence.
Ask one user and you'll be catering to someone's personal tastes, instead of actually having a design that most users are happy with.
A few users' "preference" will be suboptimal for large numbers of other users with slight variations on usage.
So asking just some users does no good, research would imply involvement of a large number of users, which is hard.
Real programmers use butterflies
Letting programmers design UIs is how we get software like emacs or vi: greatly productive for a small number of advanced users, completely unusable by almost any computer user apart from those.
There is nothing wrong with the design of Emacs or Vi. These applications were efficient and powerful for their intended users, and extraordinarily successful, considering how long ago they were written, and how popular they still are. Think about that... there's nothing wrong with the concept of having an editor that caters to admins or advanced users.
Although, quite honestly... Vi/Emacs were easier for humans to work with than other unix editors that had preceded them. You could legitimately argue that they followed the design conventions of applications at the time, and Vi/Emacs was not significantly harder to use or did not require significantly more skill to use than other basic software tools at the time.
Windows was not around at the time. You could say that IN TODAYS TERMS.... the average computer users at the time would today be considered advanced, in that basically all users were utilizing text-based user interfaces, and most users had to deal with a command line --- user interface conventions change over time, and older user interfaces (over time) get harder to use for the new average user, because the average computer user is getting dumber and dumber, as the average computer user's intelligence tends towards the average ordinary person's intelligence (the more and more people are using computers)....
For their time Emacs/VI were advanced applications, and you did need to actually read the documentation or go through the tutorial. Simpler editors with handholding were available.
You should probably know that the target audience of these applications was NOT today's average computer user. Today's average computer user would have great trouble even using Pico, or any editor where commands are not input by a mouse.
I imagine you could today make a great number of criticisms about how the Pine mail reader is so hard to use.... although, there was a time 20 years or so ago, that the average computer user had to be able to utilize mailx, Pine, or a tool with a similar user interface
You wind up with a UI that isn't very powerful or efficient, but instead caters to the lowest common denominator.
It's software for goodness sake... you should be able to configure it/taylor the layout to your liking and choose some things based on preference.
We had customizable toolbars down pat in the late 90's... I don't understand this sudden desire by some software companies to try to return to an inferior "one size fits all" approach to user interaction.
they're ignoring a small but vocal subset of their userbase who have reported a valid design decision as a bug.
Except, Chrome's placement of tabs is not a valid design decision, and clearly a bug, even if some designer fancied it that way.
The problem is this design doesn't conform to the user interface design standards of the OS in question and clashes with the expectations of the average user.
The title bar of an application is not an area where application widgets are to be placed.
Google uses lots of advertising too. Remember Microsoft's video showing how Chrome leaks every keystroke in the URL address bar?
can apple have for one of it's founders that they won't slide him a $300 gadget????
He'd probably be waiting in line even if they did. I suspect he's bored/needs to get out some and wants to do the whole wait-in-line experience for his personal amusement. :)
I can't trust purchase advice from somebody who owns a segway.
I understand now... the reason it's named the iPhone 4S and not the iPhone 5.
The "S" must be short for Segway.
Who says this has to be arbitrary code?
I suppose it depends what your definition of 'malware' is; there are application loads that don't require arbitrary connnections either (e.g. masmsively distributed brute force Password cracking). I would consider anything that has access to a users' cookie database through JS and the ability to make any sort of outgoing connection a potential danger.These sort of connections are done every day using Ajax.
Javascript code is fine. HTML5 provides a technology called Websockets. There was recently an article about about a Javascript based SSH client
What's with all the hoops? if the attacker can run an application with net access, there is no need for a Linux VM.
I'm suggesting the application would be something 'legitimate' with legitimate uses eg users who WANT their Linux-in-browser to have network connectivity, to help with training or whatever function this Linux VM is being used for.
Towards Grey goo.
Or big nations making mechanical viruses as weapons, and ultimately... those creations at risk of being turned against their creator through malfunction, hackers, or worse.
Separate lines for lunch? Who could ever think this was a good idea. Sure, let the students doing well get some perks, just don't go around printing "Dumb" on the lesser achieving kids' foreheads. At least they wised up, even if it did take some external pressure to scrap the idea.
They could have kept it quiet by issuing "Fast pass" for the lunch lines; which students' parents could buy, but sending free passes to kids who met certain achievements or did other things deserving of award
Error, error! You're talking about Solyndra. They did not get a blank check, nor did they perpetuate a scam.
They had a model that was trumped by a drop in the prices of polysilicon.
Solyndra was an example of a venture the government shouldn't have had that much money in from the beginning.
I agree that alternative energy research that will be available to the public is a good thing for the government to put money in.
Lending taxpayer money to high-risk poorly conceived ventures, so they can profit if successful, is not. Our government is not to be a bank lending out our taxpayer money to any potential scammer or high-risk venture that comes by!
Money spent by the government should actually on development of science, engineering, or technology that successful companies will want to build for profit reasons; in the form of proof of concepts, but not billions on production supplies.
Every hear of doing a small rollout or proof of concept first, before spending billions to try and go into full production?
Call them "not economically viable"; or "in my opinion not good investments", if you like.
There are reasons for government to put some money to effective use in promoting alternative energy technology research besides expected financial ROI. In fact... the government is really the only organization that really can put money in something that doesn't make economic sense... the private sector will mostly only invest if there is a profit to be made in a relatively short amount of time; the exception would be non-profit organizations, and their resources are more limited.
Reasons like greater long-term viability of our civilization; liberating our people and our way of life from dependency on some scarce resources...
We might lose money on the investment for the next 20 years, but it could still be a good "investment", if there's an ultimate improvement in our way of life
Our government just needs to make sure it makes the spend intelligently, so as little of the money is spent on dead ends, fancy office furniture/meeting rooms/expensive/excessive office space, or bureaucrats' pocketbooks / other blatant waste as possible.
As soon as someone figures out a more useful way to access the internet than simply tunneling through http/s
How about a kernel mode driver inside the browser-based Linux box for a network stack tunnelled over HTTP/s to a dedicated application running on the same host as the browser to decapsulate tunnelled traffic and dump it onto a local virtual network bridge, kind of like the one used by VMware Workstation or Xen ?
Or even just an application utilizing a Java extension API to allow the Linux-in-browser js application to map a little chunk of host memory for raw network I/O
This isn't going to be very useful if it requires a user to be already logged in to work.
It has just that limitation:
Yes I forgot about new CPU instructions for checksumming and stuff, but even without them, CPUs today are SO powerful that I doubt you can peg all CPU cores.
Well... I can peg all CPU cores easily, if i'm not too careful, and put too many VMs on a compute host..
But part of the deal is storage hosts should not be compute hosts
ZFS is the filesystem you can use to provide storage services to other hosts.
This allows every bit of CPU to be used to serve the targets, and to provide the LZJB compression and dedup.
This allows the expensive mirrored SSD ZIL log devices and SSD read cache devices on one or two ZFS servers to benefit every application.
This allows every bit of those 64gbs of RAM to be used efficiently for filesystem caching.
This allows the total sum of all those TBs of storage on attached JBODs to be available for alloction to any server that requires storage.
Which is a nice idea until something (for example a ZFS bug or a hardware glitch) causes part of the ZFS metadata to become corrupted
The ZFS pool root metadata is protected by having 3 copies of it on the file system, and metadata blocks are checksumed just as the rest of the data blocks.
"dump all of the data somewhere else, recreate the array from scratch, and reload all the data" is really something you should never have to do with ZFS, unless you actually have a storage device failure, and you don't have a redundant device that a clean copy of the data can be read from (e.g. Mirror or RAIDZ).
ZFS has two major issues missing. You can't scrub a file as in "I have a legal obligation to overwrite the contents of this file"
You're right that there are some extremely unusual requirements that ZFS won't meet. You also can't use SSDs with wear levering or any decently modern hard drive, because modern hard drives have block relocation functions; sometimes a sector is taken out of service and replaced with a "spare block"; if it is found to be failing or predicted to fail. The result is that on modern hard drives you can never be sure you "meet your legal obligation".
The only real reliable way to ensure you destroy the data is to encrypt it from the beginning; dedicate a storage medium to the encryption key, and when your obligation comes to eliminate the data, physically destroy the medium you placed the key on.
The other problem with ZFS is that there is no way to tell it "This file is magic for the boot process, please put it in the first N physical sectors on the physical disk Y"
Put a file on the first N physical sectors. Is a rampant layering violation even bigger than the claimed layering violation of ZFS. If for some reason you actually needed to do that, it would mean your system is broken.. Reasonably modern systems have no hard requirements on what physical portion of the disk the OS resides on.
I would say use a separate pair of very small hardware RAID mirrored bootdisks (or USB stick) and put a 100 megabyte UFS file system on the boot volume for booting in that case.
For example, someone complained about the fact that zfs does LOTS of checksums
Yes it does.
However, thanks to a new enhancement in the Xeon 5500 CPUs, called SSE4.2 instruction set, there is actually a CPU instruction for CRC32 accumulation.
Oh wow... we're going to use a couple extra CPU clock cycles per read and write to protect our actual data integrity, to allow us to do "online scrubs" of the filesystem to check for any surface errors instead of some limited arcane "filesystem metadata level consistency" called fsck that requires downtime, and FSCK does not check for or repair data integrity; because without checksums our ext3/ext4 filesystems don't know anything about data bit errors, latent surface errors, bit rot, or "silent data corruption" as it's called.
The checksums using a couple clock cycles per I/O... must be a "lot" slower than having many hours of downtime to check our filesystem, if god forbid our system should go down uncleanly, or we should reboot and the "maximum mount" count or "maximum time" since the last fsck happens to have been found to be exceeded while we are trying to boot back up. feh:)
But replacing the entire fs/lvm/raid stack is a good thing!
This is quite true... because frankly, the entire fs/lvm/raid stack sucks with big disks.
ZFS solution is a really good answer to a lot of problems -- scalability, manageability, reliability.
It would be a very good thing if Oracle would execute a port of ZFS to Linux (under the GPL, of course), and while they are at it... port AVS and Open HA/Cluster, as a superior alternative to DRBD, port the SMF as a replacement for init, the fault manager, configuration management CLI tools, and other similar tools that could really fill in some serious gaps in Linux.
Notarization with a parent signature doesn't mean the kid isn't allowed by law to back out of the contract later.
Lawyers and Judges live to "twist"/ apply existing laws to new types of situations as they arise.
To suggest there will be a new law governing every possible new technology/practice is unrealistic.
You can definitely copyright a human-written description of something accompanied by a certain picture. In fact, the picture itself and a human-written description itself can be copyrighted.
As long as there is some creative element in the description. There are always some creative elements in regards to a photographer's choice of how to take a certain picture of a building/property.
At the top of their page they have a "Find us on Facebook" link....
So they're using Facebook for their own commercial gain, and now trying to sue them...... what Facebook doesn't have a clause in their TOU about giving FB a license to use their mark?
Maybe Facebook should exercise their right to "turn off" timelines's FB page as a retaliatory measure :)