It's kinda strange that the brain actually does work in an almost "digital" way, in that the synapses either fire or not, or fire at different rates, but it tries to "simulate" an analog system by adding noise, using timing & speed, etc. It's kinda like how atoms have wave-like properties.
My point here is that digital computers may make better analog computers than analog computers...
The thing I like about things like XML and RDF is that you don't even need the specifications. If I were reverse engineering a program to read an XML file, I'd find it quite easy. This makes it good if some unknown cataclysm wipes out IETF and the IEEE.
for i in *.gif; do convert $i $i.jpg; done (convert all gif files to jpg)
does that work? doesn't that make a blah.gif.jpg file?
anyways inconsistent behaviour is a bad thing. a CLI is a bad thing, but it's a good thing. I still use the CLI over the GUI, even in X(eg: an xterm instead of nautilus). The only 2 problems that I have are:
1) inconsistent behaviour. This is kinda OK now, but basically stuff like "getopts" isn't enough to have a consistent enough behaviour. Maybe there should be a set of functions for general I/O behaviour(like stdout for text, -o file for binary). Even without this most apps choose sensible defaults. The only problems are with conversion commands, codecs, etc. which take different options and output things in different ways(eg: pdf2ps, mpg123). Also the lack of a good CLI mp3 player is an issue.
2) Namespaces and environment: A lot of problems occur in the _naming_ of these programs. It's not simple to find if there's a command to do something. It's just voodoo. tab helps, but it's still just guessing and looking through the options to see if a command looks right. Worst case, you have to do a man -k, and then you're pretty much screwed. If there were command namespaces or environments, like, say, have mp3players.mpg123 instead of just mpg123, so this way there's an organisation of commands(Like in menus). Similarly an organisation of directories should exist. I should be able to type, say "mp3players mp3s" and it should put me in the mp3s directories, and make commands like mpg123 available. Anyways I'm just tossing around ideas. The thing is you can make the CLI totally annihalate all other interfaces if you really put some thought into it.
In addition, You could make a wm tied in to the shell, so it works like: ~ key opens a supershell shell ala quake. If you type in an environment name, it'll change your desktop to suit the environment, and also shell commands to suit the desktop. Then you can do a "programming.C projects/code/" and it'll open up vim and maybe some shells, all with the working directory as projects/code, with vim preset to C mode or whatever. Use your imagination. It would be awesome, extremely powerful, and it'll leave conventional GUIs in the dust.
I agree totally. If you feel unsure about using the utilities, there are always aliases and stuff like that! For the extremely paranoid, you can make a rm-george script and alias _that_ as rm, and make it take into account all the "social" factors or whatever. Here's a couple of my personal experiences:
I've got rm as rm -iv in root, but as my normal user, I have it as rm -vf, because I can't be bothered typing 'y' all the time. Safe and quick!
I've actually _tried_ to make a "safe" version of rm,(moves files to a hidden.trash directory, does other stuff). Let's just say it wasn't worth the hassle, and I deleted it soon after. It was far too bitchy.
A note about warnings: Windows has trained me to ignore warnings. A lot of windows warnings are pretty trivial things that you already know, so you always just click/push enter without thinking. It eventually becomes a trained response. In fact, I've often done stupid things in windows even though it warned me, because I pushed enter on the "are you sure" screen too quickly. Unix produces very little output, so I learn to appreciate what it has to say when it says it.
I'm always a little wary of the isomorph of engineering computers like some other thing. Not that computers are a special case, just that the logic doesn't carry over all the time. Think carefully on it.
hm. I thought you made some good points up until the big tits and small waists comment.
it went downhill from there.
She also made some good points until she said "laughably phallic joystick".
I wish I had the wisdom to read the rest of hers without thinking "psycho feminist dyke", just like it was hard to read yours without thinking "egotistical macho jerk".
I'm having a _big_ problem with this "just works(tm)" bullcrap. "a computer should JustWork(tm)". Ask yourself this: what does a computer do?
now ask yourself this: what does a toaster do? a TV? a car?
These all have well defined purposes, but a computer is GENERAL PURPOSE! A computer does whatever it wants to do. How can anyone expect it to "just work" when the expected action is not well defined? it's not a mind reader, just a computer.
interestingly enough, what did you say for "car"? is it supposed to get you from one place to another? why is it then that when you get into a car you don't just think of where you want to go and end up there? You have a ton of things to worry about: gears, speeds, direction. what for? a car should "just work"!
OK, I'm sorta clouding the issue here, but I think one should appreciate the complexity of the PC in relation to other things, and stop the dogma that inevitably surrounds the phrase "just works".
With a PC, you have to cater to a large variety of uses for a particular piece of software. In many distros, a lot of work goes into ensuring that the software works(and properly) on a whole range of hardware for a whole range of uses. The concept of "just works" breaks down when the same software must behave differently depending on the intentions of the user.
The GUI install, for example, does not work when I'm trying to do a network install, or installing a server with a text-only monitor. Windows doesn't worry about this issue, because it won't run in those environments.
Linux has to work on a gargantuan set of hardware, especially when compared with windows, more so when compared to macOS and BeOS. A lot of mac users complain that windows doesn't "just work", just like windows users complain that Linux doesn't "just work". The dogma of "just works" leads to special purpose machines that aren't as versatile as the ones we use today. Don't follow it.
CUPS also has my heartiest recommendation. I also have a USB HP inkjet printer, and it was ridiculously simple to set it up! with devFS and debian's USB setting up thingy, I plug it in and the device is already there, then go through a GUI in my web browser and I'm home! too sweet.
Sure they exaggerate, but so do all the dramas for doctors/lawyers, etc. Hand Maid May, SE Lain, Eva and Cowboy Bebop all do a pretty good job(IMHO) at summing up some aspects of computing. Lain mainly for the coolant system, Hand Maid May mainly in the character and motivations, Eva in hopes(in a sense), and Cowboy bebop in the... um... unassuming brilliance?
OK I'm not too sure about the last one, except that we're all annoying like Ed.
Use a script to mirror your gnome/KDE settings, then use windowmaker/ fluxbox/ waimea/ e/ insert-favourite-wm to mirror the menu. That way if there IS free desktop space you just click on that. If not, you just mosey on up/down to the start button equivalent.
I think a fair few people agree that a lot of today's UI systems aren't as transparent as they should be, and that we should be looking forward and changing different facets of the UI. However, I think that a lot of the "improvements" suggested by the article have downsides of their own.
The storing diffs/CVS-like method might sound OK at first, especially since we now have disk space to burn, but even that hits snags. What if I wanted to ftp a 200 page document up to a server somewhere? Would all the undo levels be transferred as well? This is largely unnecessary, since I'll never need to undo all my typing, but I'll still have to transfer it all up. What if I want to create a "final", version of this document? CVS tackles this issue with servers. The server contains all the diffs. You only download the one image, and can "undo" at will, at the cost of getting the older version from the server again. Although this can be done with documents, I believe the increased functionality and "user-friendliness" isn't worth the trouble.
That's just for documents. What about, say, videos? To make even a single change could leave a single undo level in the order of gigabytes. Can we store diffs that big? With this in mind, is it wise to work hard to destroy the concept of "saving", and decrease performance to unacceptable levels?
Speaking of a concrete example: There's a simple little program that I got with my graphics tablet called "Art Dabbler". It does what the article suggests(ie: there is no concept of "saving"). It tackles the undo problem simply: There is only one level of undo, and exiting assumes what you've already done is ok(ie: undo is not written to disk). If I want to delete multiple strokes, I have to get out an eraser and rub them out. It functions almost like a real notebook(there's even a little paper-like texture when I use the pencil tool), but with small benefits, like I can rub out ink, and I have 1 undo level(better than real life! you can't hit CTRL-Z and get rid of real lines). So what use is it? Other than cutesyness, absolutely none. You can't use it for any real purpose. I think that speaks for itself. Part of the brilliance in computing lies in the concept of saving -- of having control over what's in volatile storage and what's in non-volatile storage.
He makes an excellent point on the quitting though. I used an old mac system and that manual quitting even though there's no window thing freaked me out. That's probably the sole reason I don't like macs more(that plus I like 10 buttons or so on my mouse, not 1)! I don't know if macs still do this, but Linux certainly doesn't, so I'm quite happy on that front:). If he's talking about simply removing the "quit" thing in the file menu, I don't really care either way, as long as there's some way of closing the window. I tend to use the little "x" anyway.
I think we SHOULD think about tomorrow. However, we need to think these things though, and if it doesn't work today, then maybe it's not such a good idea after all.
To those who think Linux blindly copies MS, I'd like to say, that we ARE making headway in terms of UI design. Take a look at fluxbox and tabbing. It's a really neat concept.
It's kinda strange that the brain actually does work in an almost "digital" way, in that the synapses either fire or not, or fire at different rates, but it tries to "simulate" an analog system by adding noise, using timing & speed, etc. It's kinda like how atoms have wave-like properties.
My point here is that digital computers may make better analog computers than analog computers...
And here I was thinking the grandparent was being sarcastic.
How does he taste?
And what wine should i use?
The thing I like about things like XML and RDF is that you don't even need the specifications. If I were reverse engineering a program to read an XML file, I'd find it quite easy. This makes it good if some unknown cataclysm wipes out IETF and the IEEE.
see, every time you do something repetetively, a little paper clip pops up...
aww, I think it was cute... at least, it WOULD have been, if it hadn't have been made by a BIG HAIRY GEEK!
sorry.
I've been itching to say that. If you don't know what I'm talking about, then never mind.
"I win again, you fuck!"
for i in *.gif; do convert $i $i.jpg; done (convert all gif files to jpg)
does that work? doesn't that make a blah.gif.jpg file?
anyways inconsistent behaviour is a bad thing. a CLI is a bad thing, but it's a good thing. I still use the CLI over the GUI, even in X(eg: an xterm instead of nautilus). The only 2 problems that I have are:
1) inconsistent behaviour. This is kinda OK now, but basically stuff like "getopts" isn't enough to have a consistent enough behaviour. Maybe there should be a set of functions for general I/O behaviour(like stdout for text, -o file for binary). Even without this most apps choose sensible defaults. The only problems are with conversion commands, codecs, etc. which take different options and output things in different ways(eg: pdf2ps, mpg123). Also the lack of a good CLI mp3 player is an issue.
2) Namespaces and environment: A lot of problems occur in the _naming_ of these programs. It's not simple to find if there's a command to do something. It's just voodoo. tab helps, but it's still just guessing and looking through the options to see if a command looks right. Worst case, you have to do a man -k, and then you're pretty much screwed. If there were command namespaces or environments, like, say, have mp3players.mpg123 instead of just mpg123, so this way there's an organisation of commands(Like in menus). Similarly an organisation of directories should exist. I should be able to type, say "mp3players mp3s" and it should put me in the mp3s directories, and make commands like mpg123 available. Anyways I'm just tossing around ideas. The thing is you can make the CLI totally annihalate all other interfaces if you really put some thought into it.
In addition, You could make a wm tied in to the shell, so it works like: ~ key opens a supershell shell ala quake. If you type in an environment name, it'll change your desktop to suit the environment, and also shell commands to suit the desktop. Then you can do a "programming.C projects/code/" and it'll open up vim and maybe some shells, all with the working directory as projects/code, with vim preset to C mode or whatever. Use your imagination. It would be awesome, extremely powerful, and it'll leave conventional GUIs in the dust.
I agree totally. If you feel unsure about using the utilities, there are always aliases and stuff like that! For the extremely paranoid, you can make a rm-george script and alias _that_ as rm, and make it take into account all the "social" factors or whatever. Here's a couple of my personal experiences:
.trash directory, does other stuff). Let's just say it wasn't worth the hassle, and I deleted it soon after. It was far too bitchy.
I've got rm as rm -iv in root, but as my normal user, I have it as rm -vf, because I can't be bothered typing 'y' all the time. Safe and quick!
I've actually _tried_ to make a "safe" version of rm,(moves files to a hidden
A note about warnings: Windows has trained me to ignore warnings. A lot of windows warnings are pretty trivial things that you already know, so you always just click/push enter without thinking. It eventually becomes a trained response. In fact, I've often done stupid things in windows even though it warned me, because I pushed enter on the "are you sure" screen too quickly. Unix produces very little output, so I learn to appreciate what it has to say when it says it.
I'm always a little wary of the isomorph of engineering computers like some other thing. Not that computers are a special case, just that the logic doesn't carry over all the time. Think carefully on it.
hm. I thought you made some good points up until the big tits and small waists comment.
it went downhill from there.
She also made some good points until she said "laughably phallic joystick".
I wish I had the wisdom to read the rest of hers without thinking "psycho feminist dyke", just like it was hard to read yours without thinking "egotistical macho jerk".
Still...
I used to have woody on my computer, but now I have... er... sarge...
hmm.. they were right, I'm not funny.
I'm having a _big_ problem with this "just works(tm)" bullcrap. "a computer should JustWork(tm)". Ask yourself this: what does a computer do?
now ask yourself this: what does a toaster do? a TV? a car?
These all have well defined purposes, but a computer is GENERAL PURPOSE! A computer does whatever it wants to do. How can anyone expect it to "just work" when the expected action is not well defined? it's not a mind reader, just a computer.
interestingly enough, what did you say for "car"? is it supposed to get you from one place to another? why is it then that when you get into a car you don't just think of where you want to go and end up there? You have a ton of things to worry about: gears, speeds, direction. what for? a car should "just work"!
OK, I'm sorta clouding the issue here, but I think one should appreciate the complexity of the PC in relation to other things, and stop the dogma that inevitably surrounds the phrase "just works".
With a PC, you have to cater to a large variety of uses for a particular piece of software. In many distros, a lot of work goes into ensuring that the software works(and properly) on a whole range of hardware for a whole range of uses. The concept of "just works" breaks down when the same software must behave differently depending on the intentions of the user.
The GUI install, for example, does not work when I'm trying to do a network install, or installing a server with a text-only monitor. Windows doesn't worry about this issue, because it won't run in those environments.
Linux has to work on a gargantuan set of hardware, especially when compared with windows, more so when compared to macOS and BeOS. A lot of mac users complain that windows doesn't "just work", just like windows users complain that Linux doesn't "just work". The dogma of "just works" leads to special purpose machines that aren't as versatile as the ones we use today. Don't follow it.
CUPS also has my heartiest recommendation. I also have a USB HP inkjet printer, and it was ridiculously simple to set it up! with devFS and debian's USB setting up thingy, I plug it in and the device is already there, then go through a GUI in my web browser and I'm home! too sweet.
Only on slashdot could we have a heading like this.
that plus the team that worked on the EV8 will be working to bring out the later Itaniums. 8)
Sure they exaggerate, but so do all the dramas for doctors/lawyers, etc. Hand Maid May, SE Lain, Eva and Cowboy Bebop all do a pretty good job(IMHO) at summing up some aspects of computing. Lain mainly for the coolant system, Hand Maid May mainly in the character and motivations, Eva in hopes(in a sense), and Cowboy bebop in the... um... unassuming brilliance?
OK I'm not too sure about the last one, except that we're all annoying like Ed.
I think what is meant by viral is that if it is distributed, then it remains "free".
Use a script to mirror your gnome/KDE settings, then use windowmaker/ fluxbox/ waimea/ e/ insert-favourite-wm to mirror the menu. That way if there IS free desktop space you just click on that. If not, you just mosey on up/down to the start button equivalent.
Works for me!
I think a fair few people agree that a lot of today's UI systems aren't as transparent as they should be, and that we should be looking forward and changing different facets of the UI. However, I think that a lot of the "improvements" suggested by the article have downsides of their own.
:). If he's talking about simply removing the "quit" thing in the file menu, I don't really care either way, as long as there's some way of closing the window. I tend to use the little "x" anyway.
:)
The storing diffs/CVS-like method might sound OK at first, especially since we now have disk space to burn, but even that hits snags. What if I wanted to ftp a 200 page document up to a server somewhere? Would all the undo levels be transferred as well? This is largely unnecessary, since I'll never need to undo all my typing, but I'll still have to transfer it all up. What if I want to create a "final", version of this document? CVS tackles this issue with servers. The server contains all the diffs. You only download the one image, and can "undo" at will, at the cost of getting the older version from the server again. Although this can be done with documents, I believe the increased functionality and "user-friendliness" isn't worth the trouble.
That's just for documents. What about, say, videos? To make even a single change could leave a single undo level in the order of gigabytes. Can we store diffs that big? With this in mind, is it wise to work hard to destroy the concept of "saving", and decrease performance to unacceptable levels?
Speaking of a concrete example: There's a simple little program that I got with my graphics tablet called "Art Dabbler". It does what the article suggests(ie: there is no concept of "saving"). It tackles the undo problem simply: There is only one level of undo, and exiting assumes what you've already done is ok(ie: undo is not written to disk). If I want to delete multiple strokes, I have to get out an eraser and rub them out. It functions almost like a real notebook(there's even a little paper-like texture when I use the pencil tool), but with small benefits, like I can rub out ink, and I have 1 undo level(better than real life! you can't hit CTRL-Z and get rid of real lines). So what use is it? Other than cutesyness, absolutely none. You can't use it for any real purpose. I think that speaks for itself. Part of the brilliance in computing lies in the concept of saving -- of having control over what's in volatile storage and what's in non-volatile storage.
He makes an excellent point on the quitting though. I used an old mac system and that manual quitting even though there's no window thing freaked me out. That's probably the sole reason I don't like macs more(that plus I like 10 buttons or so on my mouse, not 1)! I don't know if macs still do this, but Linux certainly doesn't, so I'm quite happy on that front
I think we SHOULD think about tomorrow. However, we need to think these things though, and if it doesn't work today, then maybe it's not such a good idea after all.
To those who think Linux blindly copies MS, I'd like to say, that we ARE making headway in terms of UI design. Take a look at fluxbox and tabbing. It's a really neat concept.
PS: Sorry about the size