skysight-inc/HackerNews huggingface dataset:
Ask HN: What computer stuff should someone learn before learning code?
With all of these posts about whether people should learn to code or not learn to code, I figure I'd see what type of resources exist to teach people who are complete noobs to how to better use their computers.

Assume all someone knows is how to turn on a computer and browse the internet. I'd like to see what resources exist to help very computer illiterate people how to be more literate.

I'm posting here because the average computer illiterate person can search Google for this stuff, but they won't know enough on how to find good, quality articles/resources that aren't spam or content farms.

Stuff I'm looking for is everything one should learn after having the ability to launch a browser right up until they are at the point they can learn formal programming/coding.

Thanks in advance!
I wholeheartedly agree with Jeff's point that this sort of attitude is not something we ought to encourage. If people more generally think of coding as something easy, then the kind of programmers who produce shitty code and think it's fine will be emboldened and we will be doomed to experience yet more broken software in the world. That's the last thing we need.

I sort of agree with you, but this also strikes me as something of a vacuous truth. I mean, think about applying it to any other domain: Does the fear that homeowners will start thinking of plumbing as "easy" and start overreaching their abilities mean we should quit selling monkey wrenches at Home Depot? Does the fear that auto owners will experience delusions of grandeur and start thinking of themselves as professional mechanics mean that Sears should quit selling Craftsman wrenches and Chilton repair manuals? Etc., etc.

The point is, all fields have a range of knowledge and skills from total n00b, amateur, up to professional. And in every other field, amateurs and professionals co-exist peacefully, and no one seems to be arguing that we should prohibit minor home repairs by home owners, oil changes by car owners, etc. I don't see why programming should be any different. If business people learn to write a few Excel macros, or even some small Perl, Python or Groovy scripts, that's not going to hurt those of us who are working professionally in this field.
Nine Top Subscription Commerce Services We Desperately Need
I've been sitting on this theory for a couple of years but finally got around to writing about it. The Instagram purchase makes sense from this perspective. I believe this is the ultimate goal for Facebook and I see no reason why they cannot achieve it.
Please do not compare cooking to heating up food...
So the problem is not the underscores but the many shift keystrokes which is a valid point. The solution is to refactor the keyboard layout.
Some people are detail-oriented. How can you expect Mr. Grimm to obsess over corner cases in his code but shrug at what he perceives are problems with representing it?

The people who think only in terms of the “big picture” while glossing over the details are not programmers. They are “architects.”

EDIT: This second statement is probably not correct. I would use strikethrough if I could. But the first statement still rings true with me, many programmers are detail-oriented, which means that they care about lots of things other people would consider irrelevant. Whether this is, on the whole, a good thing or not is another matter. But I do not think it is surprising.
> ...unless you are in a very specific scenario.

Locks can be very slow (relatively). At my last job using lock-free code was necessary for performance in many cases.
Overview of security fixes:

http://googlechromereleases.blogspot.com/2012/05/stable-chan...
Maybe not, but they're certainly the worst pies.
As a daily python user at home and at work, I realized I'm typing a huge amount of underscores. My keyboard supports rebinding keys and programming macros (a feature I've never used until now) so I remapped an extra \ key on it so that it would type _ without me holding shift. Small change, but it's much less of a strain.

(I'm using a Kinesis Advantage keyboard.)
That's a bit contrived considering you're (a) writing a sentence and (b) you use some really short words (i.e., "I", "It", and "Is"). I think for things like FileNotFound or similar its not really that different in readability, and comes down to preference.
Facebook IPO: How insiders are preparing to be millionaires - May. 15, 2012
It's not the default already because pre-9.2 the MVCC implementation in Postgres didn't guarantee that an index has the same visibility as the table data.

http://rhaas.blogspot.com/2010/11/index-only-scans.html
Agreed! This really shouldn't be on HN front page.
Modifier keys cause strain that can lead to RSI.
> It requires a computer (or access to one). It requires programs to run your code - free or otherwise.

I know what you're saying, but I'd like to point out that you don't need a computer to write programs. I started writing programs with pen and paper back in middle school (before my family owned a computer), and still often do that. Nowadays, most of them do end up being digitized and executed, though.

Alonzo Church, Alan Turing, Haskell Curry, Moses Schoenfinkel, etc., were writing programs before computers were even invented ;)
Ah, makes sense. Django is my preference though I work with PHP (Zend Framework) professionally as nothing else (besides .NET) employs where I live :-(
Study: Teens Think Your eBooks Are Lame, Prefer Actual Books
First off, I am a big proponent of ROWE. Still, I don't like fully-distributed teams. The human factor is just too big for me. Go work from where-ever you want, come in whenever you want, work whenever you want, that's fine (as long as you get your work done)... I would still love to see your pretty face in person from time to time. I feel (bad word, I know) that distributed teams loose something in personal connection. Maybe it's just my own personality, but person-to-person interaction is huge for me.

This is actually a big issue for us right now. Being a small startup in Nashville, there isn't exactly a lot of easily accessible space for us. We have to leave where we are at right now, and are trying to figure out what our plan off attack is going to be for the next few months.
The Kinesis Advantage keyboard effectively does this, except the left half is for backspace. Since it has very conveniently placed modifier keys like ctrl under my thumbs, I remapped capslock to shift so that it's on the home-row.
He wants to know if there are Knuth posters. There are. See this one: http://laager.firedrake.org/wardrobe/nils_knuth.jpg
I like 'em, too. What terrible ordeal that we must push the shift bar while typing.

Honestly, I've always found them to be more human readable than CamelCase.
They have a very well hidden email upload feature.
Exactly! I've encountered the attitude many times: If you learn to DIY your time must not be valuable. This is so wrong, and avoiding dishonest service is an obvious benefit.

Traversing those learning curves is more rewarding the longer you keep at it. Also, it's rare that one field of knowledge doesn't benefit many more.
I hope this isn't too dumb, but I always imagined each processor having its own set of registers.

Am I incorrect? I can't see how multiple processors can share registers without chaos?
Dynamics is Microsoft's line of enterprise business applications (CRM, ERP) - products like Dynamics AX (their top-of-the-range ERP) can integrate pretty tightly with SharePoint, they aren't competing products.
Skype when 1:1 chat/voice is needed
Campfire (and many rooms for different chat subjects) + hubot for all group-based chats
Google Docs for collaborative spec editing
Github for technical discussion (pull requests/issues)
Pivotal tracker for day-to-day "what is s/he working on?"
Study: Adults still have no idea what teenagers want.
Unless I have the context (Zero x), it reads as "ox" entrepreneur.

"So you're in the bison industry?"

What this bio lacks, that Mark Suster captures perfectly, is taste.

Suster's bio reads like he's a captain of industry. A tastemaker.

This ox bio reads like a middle-management app dev who wishes he had cracked a big idea already.

Why not write about YOU, not what you want people to read about you?
> but if the mayor of New York City actually needs to sling JavaScript code to do his job, something is deeply, horribly, terribly wrong with politics in the state of New York

Bloomberg didn't say anything about learning to code for professional reasons. If Atwood has forgotten that coding is a rewarding experience on its own, then he is no longer a voice worth listening to.
A study into security exposure within virtualised environments
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question." - Charles Babbage

Mr Attwood has a point, in that average Joe certainly doesn't need to program in order to understand their domain better. But I would ask rather then, how can one educate people on how machines work other than writing code ( I seem to remember what little was done in my education about computing, taught me little about the practicality of why in a machine )
It's not enough if it's different. It has to bring some value as well.
I don't understand how anyone could have thought Ballmer was anything other than Gates choosing his friend to fill the job. He's always been completely out of touch with technology. He's completely a Suit and not a Geek, to put the stereotypes to work. What's worse is he's an egotistical suit that thinks he can just will the technology industry to follow his (Microsoft's) lead. He doesn't even want to understand technology or the end users' needs. He rode Gates' and Allen's coattails and he's comfortable in his riches. He has no motivation to attempt innovation and he's stuck in his comfort zone. Billions in residual revenue from Windows and Office upgrades? Good enough for him apparently.

They need a CEO with a strong openness principle and willing to listen two great advisors: a designer with strong UI/UX experience, and an engineer who knows how to implement those designs.

Summary: Drop Ballmer, get some Apple design sense, and keep shit open. That is how you'll move the industry forward with Microsoft leading the way.
As a person in the media/reporting industry, I've almost committed to making it my life mission to teach people the usefulness of basic regexes.

I've taught a lot of "learn to code" sessions...My main goal is to not for them to remember the specific syntax, but that programming gives you the ability to repeat a task thousands of times (for loops) and differentiate between them (if statements)...how many (non-worker-drones) people would be content spending significant amounts of their dayjob time doing manual copying-and-pasting and click-series-of-links-to-download-reports if they were aware of these basic coding constructs?
1 page article here --> http://www.forbes.com/sites/adamhartung/2012/05/12/oops-5-ce...
He's not a comedian. He's an author, motivational speaker and media pundit with a long history of making misogynistic statements, who also does the occasional stand up show at events.
In my experience it's fairly easy to convince designers to use shared Dropbox folders instead to exchange design assets. And it's a lot better way of doing it than email.
You should learn to code and learn other "stuff" related to computer usage (in principle how to use your operating system and a text editor) in the same time. This is how I started. (As a side note, my first programming was Fortran, but this was some time ago ...)

If you are completely new to programming I would recommend following the official Python tutorial:

http://docs.python.org/py3k/tutorial/index.html

or reading Zed Shaw - Learn Python the Hard Way (free to read online):

http://learnpythonthehardway.org/book/
Everybody in history could have done worse. So what? We should never judge them?
+1 for ROWE. We love/use ROWE, too, but building a gel'd team is greatly accelerated by face to face contact. We're experimenting with some Results that are tied to face-to-face contact (show up for team dinner, lunch 2x a week, etc.) that requires folks to show up. But, that feels pretty forced. I'd love to hear other experiences with ROWE and actually having face-to-face contact.
Chrome "definitely" coming for iOS
I've been thinking about trying to find a reasonable way to map the underscore to shift+space, but I'm not sure if that would somehow break some application that expects otherwise. It also seems to be quite difficult to achieve on Windows without registry hacks (I presume it would be easier on Linux, but haven't tried it yet).
They didn't get a choice when we gave them books, why should we give them a choice when it comes to eBooks?

Suck it teens, you get what you get. Be happy that we lurnz you to sp3l.
As computers permeate more of our everyday lives it becomes necessary to understand them on some level.

You can say the same thing about any number of technologies that permeate our (western, and increasingly developed) lives - plumbing, electrical, cars, landscaping etc. While it's true that we should have some understanding of these technologies (checking the fluid levels in a car, snaking s small pipe, running A/V on your PC), expecting everyone to learn programing is like expecting everyone to learn pipefitting, carpentry, etc.

There is only so much time one has, folks should focus on their passions and let the experts take care of everything else.
Google+ Study Reveals Minimal Social Activity, Weak User Engagement
Whitespace is already extremely significant in programming. "foo[1]" vs "foo [1]" for example.
> It often fixes the problem, but it's just something she's learned to do with little understanding.

This reminds me of a hacker koan:

A novice was trying to fix a broken Lisp machine by
turning the power off and on.
Knight, seeing what the student was doing, spoke
sternly: "You cannot fix a machine by just power-cycling
it with no understanding of what is going wrong."
Knight turned the machine off and on.
The machine worked.
Discussions where one does not agree on the topic are always kind of pointless:

You can view "coding" as...

...an extension of mathmatics -- The ability to express an algorithm in a way that a computer understands it.

...an engineering discipline, where you build complex products by appliying good practice.

The first thing, can and should be tought at school. In fact where I live it is tought there. Needless to say it has the same reputation as math...

The second thing is something you have to study and become an expert in, because if you are not companies loose money or you might even kill people.
Epic MS KB Article
I'm in the UK as is the original poster.

I'm not complaining, I'm just unable (at present) to do this. Even if I could search for a locker I still wouldn't be able to use one without the option on checkout. When/if Amazon roll this out further it will be delightful.

"If you read the page", "If you still don't understand". I did, I do. Please note HN policies on politeness.
And I convinced a friend of mine that in Python, we only code using the letter "s". Why do you think it's called Python, after all? She believed me.
Show HN: Mijireh Checkout, the best hosted checkout, period.
Your comment made me think of "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." (George Bernard Shaw)

While I completely agree with Luis C.K, I also like when somebody actually propose something cool to create.
Of course they have different registers, but they sure don't have different memory.
100 years ago, Summer of Plumbing or Summer of Tractor Driving may have attracted a not insignificant participation. In present day, not so much, as coding has become the infrastructure of our society.
After writing a decent amount of Clojure recently, underscores do seem ugly, but I think I find commas even more annoying. I can accept underscores for the reasons raganwald mentioned, but having to write [1, 2, 3] instead of just [1 2 3] bothers me more than it probably should.
Hi there, I would suggest just getting to know the basics of computer usage can be helpful. Like keyboard shortcuts, or browser shortcuts. Then maybe start getting tools that make you a more efficient worker on a computer (eg.dropbox, evernote, text editors, browser plugins, chat tools, email programs, bookmarking services). Learning these tools will help make your time on a computer more efficient and worthwhile. It will help keep your notes, thoughts, and ideas organized better which are essential traits of any coder. I suggest a site like lifehacker.com's BestOf series for shortcuts, tools, and other general computer related things. Gizmodo.com is another sister site that is part of the Gawker family that will have some decent articles to help you be a better computer-ist. There are tons of other sites out there to help, if you search reddit.com I'm sure they have a couple topics on these things as well.

Good luck!
Great points. I like this rewrite for the plumber at your local McDonald's:

"Think about it: something I did reached 10,000 actual living people and had an impact (however small) on their life. That would never have been possible if I didn’t know how to plumb."

This statement works equally well for many professions.
Overlooked, Underloved & Unknown Analytics – SMX London Talk
I must live in a bubble, protected from the real world, because a lot here surprises me. Is it common for corporations to doubt the reliability of Amazon? This whole paragraph was a surprise to me:

"They wondered if Amazon was reliable. This might seem like a strange thing, but in their world, the world of proprietary infrastructure, which is remarkably unreliable, it made sense. Literally, they wanted to know how many nines, how many OC-48s, disaster recovery, etc. They wondered if Amazon scaled. "

Is this normal? Do large corporations simply assume that proprietary technologies are better than anything else?

Also: This is the first story I know of where a startup committed 100% to Clojure, and then had a reasonably successful end for the story. As such, I think this story is important.

This also was a big surprise to me:

"I laid some of the skepticism to rest once I was able to explain that Clojure was a JVM-hosted language, which meant that much of the Java ecosystem could be leveraged, including debugging tools, profiling, etc. Although no one said so aloud, I think that they took this to mean that if the acquisition was completed, the system could be migrated to Java. Heh heh."

So big corporations are so committed to Java that they won't even consider anything else?
I see Jeff's point. Don't turn a bunch of people into coders that aren't ready for it. You'll just dilute the brand, and right now being a coder is valued today for whole host of reasons. As evidence of the faked resume scandal at yahoo. It's cool, but there will be a day when it goes back to being very uncool. And doing things like what Jeff is rallying against will help drive us there. On the other hand non-coders want to understand what we do and how we do it. Just like I find watching construction workers build things or a plumber fix things. Its fun.

When I was an undergrad the first lecture I had in CS was my favorite. Still is. It discussed how fundamental scientific discoveries and technology affect how humans view the world and solving problems. To quickly paraphrase as industrialization began to take shape we saw the world as a machine. And so we looked for problems that could be solved by viewing them as a machine. As electricity was discovered and commercialized we saw the world as a circuit. Our brain compared to a circuit, and our nerves were the wires. Is our brain an actual circuit well not entirely, but this idea helped us make other discoveries about the brain. As each of these technologies took root in the minds of humans we shifted our paradigms and began to solve problems differently than prior generations or prior paradigms. These paradigms tend to have long life cycles going on for decades, and that's why they are important to recognize.

The introduction of computers, and particularly computer programming, has changed our paradigm again. How we solve problems with programming is fundamentally different than how we solved it with physics, chemistry, etc. And I think that's the life skill we want to pass along to non-coders because it changes how you approach problems. As we take what was physical and turn it into a digital representation it changes how you use it to solve problems. And when I look at coding in that respect I do think its important to learn, but I wouldn't teach it the same way as most are learning it.
I wanted to add this to my original post because I think it sums up my point nicely:

"That which interests us in a given situation, that which we are likely to grasp in it first, is the side by which it can
respond to a tendency or a need. But a need goes straight to the resemblance or quality; it cares little for individual
differences. To this discernment of the useful we may surmise that the perception of animals is, in most cases,
confined."
- Bergson from Matter and Memory

Constraints on what we broadly know and understand are constraints on our contact and perception of the world. We can't live in a digital world and be blind to the recursions and graphs in the furniture.
I've been working in a fully distributed team for nearly four years now as part of the chain of startup 'pivots' I've worked on: DotSpots, gri.pe and chee.rs.

It's a mixed bag. You really lose a lot not having physical interaction with your teammates (except the once or twice a year you happen to fly everyone to the same place). It's a lot easier to get on each other's nerves when you're not face-to-face. Management of people becomes a lot more difficult because of the disconnect of discussion over Skype or chat.

On the other hand, you can handle a lot more stress and workload by not having to worry about the commute and office hours. Sleep is easy to catch up on, even in the busy times. It's a lot easier to do things like taking a walk or grabbing a coffee down the street to clear your head - far less social pressure against taking a needed break than you'd see at the office. It's also a lot easier to thread in events in your life.

Ease of hiring is probably the big benefit with fully distributed teams. You have access to talent all across North America, and if you don't mind the timezone differences you can pick up people anywhere worldwide.
Tell us why.
With me as well, though it is getting slightly annoying to the people I work with that it's been transferring over into some of the PHP code I have to write.
Great educational content is both intrinsically and extrinsically rewarding - it can be thoroughly stimulating and give you skills and knowledge you can use for the rest of your life. This is especially true in an age where transmission is free and where it's trivial to give the greatest professors/scholars a highly polished production that people can benefit from for years. I see time constraints doing a lot more harm than good here.
How can anyone can seriously consider this article where the reporter constantly compares shares prices now to.. the height of the tech bubble of 2000 ?

How about comparing profits ? Oh wait.. didn't Balmer double that..
Why do you teach like that?
In about-face, Greece to pay May 15 bond swap holdouts
Sorry, but when I read this article I was just thinking that some people seem to have just too much free time...