

I hate computers. But I love what you can do with them. - gorm
http://www.brucelawson.co.uk/2011/i-hate-computers-but-i-love-what-you-can-do-with-them/

======
fbnt
I personally tend to dislike people who proudly claim their ignorance about
computers, usually with the underlying purpose of distinguish themselves from
me, the supposedly technical rat.

I mean, I don't know jack about ancient literature or medicine, but it's not
something I'm proud of, and I don't go around bragging on my ignorance for
sure.

Not sure if this is the case, but it's something I noticed more than once in
my daily life.

~~~
wladimir
Right, I've also seen this and wonder where it comes from.

I think it's part of them acknowledging that knowing about computers in this
age is very important, and feel that they should learn more about them, but
are reluctant due to time constraints / feeling then can't understand the
maths / etc.. so they find excuses why it is uncool.

Technologists aren't free from this "fallacy" either. For example, when they
hate on marketing ("I don't want to learn about marketing as it's all
bullshit"), or when people from one technical field hate on another ("back
end? man, that's just engineering, it's all about UI these days...").

In the case of hate on computers, it's usually combined with some component of
nostalgia; What do we need computers (and computer people) for? Weren't we
better off in slower times, without all the flashy stuff?

~~~
daleharvey
this article had a completely opposite point, there was no disregard for
computing, he specifically says he loves what can be done with modern
computing.

the ignorance stated was trying to bring up a point that I fully agree with, a
lot of us dont actually care about the computer, I dont program because I like
typing out arbitrarily defined syntax, I dont learn algorithms because they
are "fun" I build applications that work on the computer because I want people
to use them, I want to build tools that help peoples lives or help them do
their jobs

~~~
wladimir
I was not specifically talking about the case of the article.

And I did mention your case in my post; you might not care about the back end
(algorithms, bit/byte pushing, compilers, etc) but it is important anyway.
Your pretty UIs for helping people in their lives (I don't mean to discount
that -- it's really important) won't go anywhere without the infrastructure.

Everyone has their preferred area, and the fields together are important. We
could just as well stop boasting how our work was somehow better so we can be
proud we don't care about someone elses work...

------
dexen
Bruce compares using CLI tools ( _git rm –cached readme.txt_ ) to camping in
harsh weather and then goes on to say:

 _> I spend a considerable portion of my income on a house with a heating
system and three flushing toilets, so there’s no bloody way I’m going
camping._

Let me kindly remind you that every comfy house is built on ground first
pioneered by people enduring hardships of camping. Not because they wanted to
punish themselves, but because they were working on the frontier and pushing
bounds forward. It's thanks to them -- both the well known explorers and the
John Does of the frontier -- that all lands, once devoid of civilization,
became user-friendly.

You may want to live in the suburbs of GUI, that's cool; I'd rather git-commit
myself to the frontier and git-push forward, for much is still to be
discovered and conquered. And there's great sense of adventure and camaraderie
around there :-)

 _\-- wanders off to work on that pesky little website_

~~~
skrebbel
> _Let me kindly remind you that every comfy house is built on ground first
> pioneered by people enduring hardships of camping._

I think Bruce is on about the people who _have_ a comfy house, but still
choose to endure the hardships of camping. That, he feels (and I couldn't
agree more), is more like masochism than like pioneering.

For example, I really don't see why ' _git commit -a -m "turd"_ ' is
pioneering while _right-click, Commit, check boxes, enter "turd", click "Ok"_
is not.

~~~
dexen
Indeed, _git commit_ is not pioneering. But _git ls-tree ... | xargs git show
... | sed ... | xargs git add_ may be.

To innovate, to push the envelope you need to put pieces together. Until
somebody invents and popularizes a way to compose [1] GUI widgets as easily as
CLI programs via something like a pipe operator, CLI remains the only
composable toolkit. We have, as of yet, no interconnectable GUI replacement
for find, grep, xargs, sed etc.

Today's GUI widgets are individual nodes. Connected with sneakernet at best --
that's Copy+Paste for ya. No matter how great each node is, there is very
little cooperation, little synergy effect. What we need is like the Internet
-- live, vibrant network with rich interconnects, and ease to create new ones
with few clicks. Only CLI is there today.

Rest assured the day of GUI will come, people are working on it all the time.
But we arent' there yet, at least not when it comes to pushing the envelope.

\----

[1] from user's perspective, not just programmer's

~~~
crazygringo
In my ideal world, there would be a method for "exposing" command-line
arguments that a window manager could use to automatically generate an initial
window, preferences pane, buttons, etc.

As a programmer, I'd love to simply create a nested array of options that the
OS would automatically turn into a tabbed preferences panel, depending on data
types and their groups.

I suppose it's too much to ask for...

~~~
DTrejo
build it!

------
tybris
Most computer scientists I know don't like computers either. What we all like
is that within them lies a whole new universe with the infinite possibilities
of math, yet a strong connection to the physical world. At least, until it
breaks.

------
power
"I think of non-GUI programs in the same way as I do about going camping. Some
people love sleeping in a tent and getting up in the night to walk in the rain
to poo in a hole they’ve dug behind a tree. I spend a considerable portion of
my income on a house with a heating system and three flushing toilets, so
there’s no bloody way I’m going camping."

This became true over time for me. My attitude to camping has changed as I've
aged. I used to enjoy roughing it but now I prefer not spending time putting
my tent up when I arrive somewhere and taking it down in the morning. I used
to enjoy coding with text editors and the shell but now I like the comfort of
my IDE.

It's good to know how to put up a tent though, 'cause you never know where
you'll end up.

~~~
philbarr
You missed the best part of that paragraph:

You may think it a badge of honour that you can do "$ git rm -cached
readme.txt" from memory. I think you’re burying your turds with a trowel in a
thunderstorm.

Made me laugh...!

------
locci
I really hate this damned machine

I wish they would sell it.

It never does quite what I want

But what I tell it.

------
tucosan
I really don't understand his problem. There's times when it makes sense to
use a GUI-frontend, e.g. for `git diff`.

On the other hand, there's so many times, where a GUI hinders productivity
severely.

E.g. a `find -name "*.foo" -exec mv {} . \;` in a heavily nested directory
structure can be huge timesaver. Moving the desired files with a file manager
would be so much more cumbersome.

~~~
crazygringo
There are certainly things you can only accomplish with the command line, but
that's not one of them -- on Windows or Mac, just search for "*.foo", the
files show up in a new window, and you drag them. If they're images, you can
even produce a slideshow out of them directly.

~~~
cema
He did not want a slide show. He wanted the files moved. And why do it by hand
when it can be automated? As he said, different tasks, different tools.

------
BasDirks
_"You may think it a badge of honour that you can do “$ git rm –cached
readme.txt” from memory."_

Well unless you are mentally disabled, remembering that command (and a couple
of thousand others) is trivial.

The title is complete nonsense. He never actually backs up the statement that
he hates computers, he just rants about his love for his wheelchair (GUI).

~~~
crazygringo
_"remembering that command (and a couple of thousand others) is trivial"_

I couldn't disagree more -- one of the reasons I'm a programmer, I think, is
because I'm good with concepts and bad at memory (History was my worst class).
And programming, for me, is all about organizing structures.

For function calls, autocomplete and tooltips that remind me of the argument
order are lifesavers for me. On the command line, I simply can't consistently
remember which commands take which flags, and which parameters, in which
order...

Command-line is fantastic for connecting together different processes,
creating macros and scripts, etc. But not for day-to-day use. There, I agree
with the article's author, command-line use is pure masochism.

A checkbox (well-labelled) takes a second to interact with. Hunting in the man
pages for a command-line option? Usually around a minute. I want to spend my
brain power and time on programming, not on my tools.

~~~
BasDirks
I'm not perfect either, I like my autocomplete and history controls as well.
Hackers save time and take shortcuts, and for me that means using the command-
line. I want to access the options of a program that are not found in your
menus ;)

------
ebaysucks
I agree with this sentiment.

1\. I'm a libertarian interested in changing the world towards a stateless
society. 2\. The best way to change the world is to change incentives 3\. The
best way to change incentives is to use technology

My interest in tech is thus opportunistic. I don't get excited by beautiful
code as such.

------
araneae
This is a false dichotomy.

If you like what you can do with a computer, then you like computers, even if
there are _aspects_ of computing you do not like. No one expects a person to
like absolutely everything about computing, or to never get frustrated with
it. (In fact, I would argue a certain amount of frustration can result in a
rewarding experience.)

Conversely, no one likes computers in some sort of abstract sense apart from
what you can do with computers. If computers didn't produce any output no one
would be interested in them in the slightest.

What this man is basically saying is he prefers GUI as an interface but he's
willing to use command line interfaces if that's the only option. Which is not
very interesting.

------
cookiecaper
This is all quite silly. A CLI can be at least as effective as a GUI when
designed properly. Do you think you don't have to remember anything to use a
GUI? Anyone that has used a graphical program understands there is still
memorization involved -- you're just memorizing where that icon sits, which
series of clicks you must perform and in what order, etc., instead of a list
of switches. And a list of switches is often preferable once you get over the
stigma of the CLI; it's much more explicit and a simple --help outputs all of
your choices, (usually) in a relatively concise list. I for one find this much
nicer than clicking on everything in a GUI until something works and then not
being able to remember what I did; on a CLI, I can just check my command
history.

The bottom line to all of this, though, is that people need to accept that if
they wish to use a computer without harming themselves or others they'll need
to sit down and learn a few things. It'd be good to teach people that both CLI
and GUI are acceptable user interface mechanisms and that they both can work
well depending on the task and implementation at hand, among other basics.

Do we get constant outrage that it requires some basic training to get a
driver's license? We recognize the value of driving a car and we're willing to
put in the requisite training time to get a basic understanding of how to use
a car safely and properly. We are going to need to cultivate the same attitude
in computers if we are going to progress in a very meaningful way.

As a driver does not necessarily have to understand the inner workings of
their transmission, engine, etc., a computer operator should not have to
understand the inner workings of the operating system, CPU, etc., but people
need to accept that they will need some basic literacy in order to have a
smooth computing experience. These are complex machines, after all, and it's
almost silly that people expect to magically be able to use them with very
little cognition, at least initially. There is no reason not to have basic
courses that teach people fundamentals in UI design, so that they can not only
use the current version of program X but also figure out how to use X+1 when
the vendor decides to totally renovate the interface.

And, if we have that basic literacy, people won't be so frightened to
experiment with new interfaces and learn how new things work, which is a
fundamental issue for most of the persons > 40 yrs that I know who use
computers regularly. People would know how to make sure their files don't get
lost, how to press Ctrl+Z or find the undo option, how to read corresponding
man/help pages and how to look something up on Google when extra help is
needed. These are the basics to successful computer operation, and everyone
would be a lot happier if they just recognized the need for this training
instead of constantly demanding that their computer work as simply as their
toaster.

~~~
bluekeybox
> Do you think you don't have to remember anything to use a GUI?

This. You can't imagine how many times I stared at a screenful of buttons that
looked like an airplane cockpit or something, trying to figure out where in
bloody hell was the function I needed. More than once, I would find out what
the button is supposed to look like through reading help docs, but then fail
to find the same button on the overly complex toolbar, since the toolbar,
apparently having a mind of its own, would randomly decide to hide some of its
buttons so that it would not appear as daunting (looking at you, Microsoft!)
Give me bloody syntax and CLI that I can look up or Google over this
clusterfuck any day.

~~~
crazygringo
While I definitely take the side of the GUI in principle, when I think about
the abominations that have been coming out of Microsoft... Not to mention the
newest version of Skype...

Whatever happened to a simple text menu, organized logically and
hierarchically, where you pretty much know where anything will be? And simple
dialog boxes, instead of ribbon-bar-palettes that show and hide different
things depending on the width of your screen?

A man page requires me to read the whole thing before I'm confident of what
option I'm looking for, because it's presented as an unstructured list of
parameters. A menu bar is hierarchical, and I should (theoretically) be able
to find what I'm looking for quicker -- and I know if an option is disabled
before trying it, and a dialog box asks me whatever else the program needs to
know.

Unfortunately, Microsoft and others are abandoning the tried-and-true
principles of interface design. I refuse to use anything after Word 2003, but
Google Docs is generally even easier.

~~~
bluekeybox
> A man page requires me to read the whole thing before I'm confident of what
> option I'm looking for, because it's presented as an unstructured list of
> parameters

Not necessarily. I can usually easily grep a man page for the keywords I'm
looking for. Most users (even beginners) know how to search for words on a
single long page of text. In fact, one of the users of my app (a content
management system for biologists) has mentioned to me that he prefers to click
on plain-text output instead of using default HTML paginated output because he
can instantly jump to what he's looking for by using browser text search
feature (I plan on providing a Javascript-based word lookup feature in the
future to emulate this).

------
twowongs
So by many of the comments I am reading here, I get the feeling that you would
all think me not a programmer's asshole because I use Notepad++ to colour my
code. Guess what? Same shit, different bucket. Horses for courses, and without
GUIs, computing would not be used by the masses. We'd be playing COD on our
Xboxes only after typing LOAD "*",8,1. Ask Bill Gates about it some time.

------
thedigitalengel
The author did not think carefully about the easy-first-use vs. more-
productive-in-the-long-run dichotomy. Usually, you can't have both.

~~~
crazygringo
I dunno... I find GUI + well-planned keyboard shortcuts to be productive-in-
the-long-run.

You get the best of both worlds -- the options are there when you're learning,
and your muscle memory takes over for your highly repetitive tasks.

------
orenmazor
there's nothing wrong with this approach. everybody has different hobbies and
interests.

look at it this way: my friend just bought a brand new hyundai. he likes the
car. it gets him places. thats all he cares about. I drive ancient cars (my
current pet project is an 89 jeep, which is carbureted. what a mess). I spend
the same amount of money he does on payments maintaining it, it's a lot of
extra stress and time, but I love the process of it. I wait for things to
break sometimes just so I can fiddle with it (basically all of the stuff
jeremy clarkson has to say about MGB drivers applies to me).

to some people I am insane.

TLDR: I poop in a hole behind a tree during a thunderstorm, and that's okay
with me. you think I'm crazy for apparently denying progress, I think you're
crazy for hiding in your house from the world. contrast is what makes us
human. etc etc.

------
michaelochurch
I'm the opposite. I think computers are wonderful and I love the theory behind
them. I hate some of the awful abuses people have inflicted upon them (e.g.
shitty software).

Also, I don't think command-line interfaces are comparable to camping in a
thunderstorm. They're actually quite intuitive and fun. It just takes a couple
weeks of getting used to; then you realize how powerful the command line
actually is. Ask a Windows sysadmin how he spends his day; I dare you.

~~~
crazygringo
I don't know, but for me, "intuitive" and "a couple weeks of getting used to"
are not the same thing...

"More efficient after a couple weeks of getting used to", that could convince
me...

~~~
quanticle
There is no such thing as "intuitive" when it comes to computers. All computer
interfaces are different conventions. Now, some conventions are so common and
so deeply learned, they seem like intuition. However, suggesting that they
_are_ intuition presents a gross misunderstanding of what intuition is.

"The only intuitive interface is the nipple. After that, its all learned."
(<http://www.greenend.org.uk/rjk/2002/08/nipple.html>)

------
saturn
This makes no sense. Firstly he says that he refuses to use anything with a
command line .. then he says "accessible HTML isn’t that hard, really". Well,
that's text based isn't it? How can you condemn text based control in one
context and praise it in another?

In a great many cases it is impossible to make a GUI to perform every
conceivable action you want to do. You need to drop down to a more basic
level, and that inevitable means text, whether it be programming languages
(like HTML) or command lines. Drawing some arbitrary line based on when you in
particular decided to stop learning new things is pretty meaningless.

