# Computers



## L (Aug 12, 2011)

So I'm going to start working on my to learn list, and what I really want to start with is computers. I don't really want a super huge hacker like ability or anything like that but being an INTP I've always been really fascinated with them. So uhhh... where do I start? Please help lol. I just have a teenage understanding of computers (url, mouse, screen, dsl, bang on monitor, etc.).


----------



## Anthoric (May 31, 2012)

Start anywhere you want, think of some facet that interests you and research on that, maybe take some computer related classes at school. I did in highschool, best decision ever, then again in college, worst decision ever, make sure you know what the class is like first. I'm sort of a jack of all trades when it comes to them myself, hardware, software, programming, etc. It's a big world on its own.


----------



## L (Aug 12, 2011)

Anthoric said:


> Start anywhere you want, think of some facet that interests you and research on that, maybe take some computer related classes at school. I did in highschool, best decision ever, then again in college, worst decision ever, make sure you know what the class is like first. I'm sort of a jack of all trades when it comes to them myself, hardware, software, programming, etc. It's a big world on its own.


I actually have a programming book on Ruby at my mom's house but when I tried to input my first command (something to do with the directory) my laptop never showed anything about a directory. After about 2 hours of trying to find this damn directory I gave up and went to something else lol.


----------



## Anthoric (May 31, 2012)

L said:


> I actually have a programming book on Ruby at my mom's house but when I tried to input my first command (something to do with the directory) my laptop never showed anything about a directory. After about 2 hours of trying to find this damn directory I gave up and went to something else lol.


I started with blitz basic, which is a great language to start in in my opinion, my teacher gave us our own copies, and I recently found mine. I took programming in highscool, well techically it was computer networking, but due to some, specific circumstances,w e were taugh very little about networking and eventually went to programming, after two semisters and some self initive, I'd designed and crerated a simple little game with a classmate.

Oh, and a warning, once you get a certain level of knowlege and demonstraite it, everyone who isn't computer savvy will think you're some sort of super genius computer god...happend with me.


----------



## L (Aug 12, 2011)

Anthoric said:


> Oh, and a warning, once you get a certain level of knowlege everyone will think you're some sort of super genius god...


Tis too late, I am already a superior being:






:laughing:


----------



## Anthoric (May 31, 2012)

L said:


> Tis too late, I am already a superior being:
> View attachment 39955
> :laughing:


You cheeky bastard


----------



## Ziwosa (Sep 25, 2010)

L said:


> So uhhh... where do I start?


Well what do you want to know?

A computer operates on a lot of different abstraction levels, usually people focus on a couple of the higher levels of abstraction.But I think it's good to get a basic idea of ALL the lower abstraction levels all the way up to the higher levels, so that you can explain odd behavior on a certain level based on the underlying mechanics.

If you start at the basis of all things, and then work your way up to 'moving your mouse on the screen' you'll be able to explain everything that's happening beneath in order to do that. 

And then you'll be realize just how amazing computers are.


----------



## L (Aug 12, 2011)

Ziwosa said:


> Well what do you want to know?
> 
> A computer operates on a lot of different abstraction levels, usually people focus on a couple of the higher levels of abstraction.But I think it's good to get a basic idea of ALL the lower abstraction levels all the way up to the higher levels, so that you can explain odd behavior on a certain level based on the underlying mechanics.
> 
> ...


I suppose I want to start with jargon and the hardware. Then finally on to the applications of coding and how to dodge viruses and understand how things like downloads from the internet work I suppose.


----------



## Stufreddy (May 6, 2012)

I'm interested in learning some machine code so I can understand how low level computing works. I agree that learning about the hardware first seems to be the best idea. I wonder if I can find a good website with a collection of knowledge one the basic components.


----------



## L (Aug 12, 2011)

Stufreddy said:


> I'm interested in learning some machine code so I can understand how low level computing works. I agree that learning about the hardware first seems to be the best idea. I wonder if I can find a good website with a collection of knowledge one the basic components.


That's part of the reason why I posted here, to find out if anybody had any good websites or books that they might recommend.


----------



## wuliheron (Sep 5, 2011)

My best advice would be to start with building your own. It used to be people commonly built their own radios, stereos, and even TVs but these days building your own computer is more popular. For about $400.oo you can get a cheap kit for a crappy computer and for around $800.oo you can build a serious gaming rig or whatever. Although some people are intimidated about building their own, assembly is easy and takes perhaps a day.

The point is if you want to start from the ground up it is easier then ever before and you'll quickly find out exactly what interests you the most about the field. I recommend the steam hardware forums for more information.


----------



## L (Aug 12, 2011)

wuliheron said:


> My best advice would be to start with building your own. It used to be people commonly built their own radios, stereos, and even TVs but these days building your own computer is more popular. For about $400.oo you can get a cheap kit for a crappy computer and for around $800.oo you can build a serious gaming rig or whatever. Although some people are intimidated about building their own, assembly is easy and takes perhaps a day.
> 
> The point is if you want to start from the ground up it is easier then ever before and you'll quickly find out exactly what interests you the most about the field. I recommend the steam hardware forums for more information.


Thanks for the website.

And as for the building my own, I would like to and I... kind of... know a guy that actually built his own but I simply don't have that kind of money to spend on something. Although if I did I would recommend to others for sure, that would probably keep my Ne at bay and allow me to actually finish something.... hmmmm.....


----------



## blit (Dec 17, 2010)

L said:


> That's part of the reason why I posted here, to find out if anybody had any good websites or books that they might recommend.





L said:


> I suppose I want to start with jargon and the hardware. Then finally on to the applications of coding and how to dodge viruses and understand how things like downloads from the internet work I suppose.


How far down the rabbit hole do you want to go?

Arduinos are pretty cool if you're interested in hardware (and software). Arduino - HomePage
Unforuntately, electronics get expensive fast.

These tutorials are good starting point for C++: http://www.voidrealms.com/tutorials.aspx?filter=cpp
Because you've never programmed before you'll definitely need a book.

You may like a scripting langauge such as LUA or python. They don't have hardware access like C++, but it's quicker to get things working. I think getting something to work is the best thing you can do first. Next is the most important thing you can do which is become profcient in it. Don't quit. Breaks are okay, but don't quit or compromise. Thirdly because most "languages" are all conceptually similar, it doesn't matter so much which one you choose unless of course it's Java. Stay away from Java [sic]. The worst thing you can do is jump around. (I know it's hard to resist being a perceiver.)

Again what exactly do you want to do? The more specific you are; the better answers I can give.

Class Central (Bookmark this page)

Also read this:
http://writing.bryanwoods4e.com/1-poor-poor-child


----------



## Stufreddy (May 6, 2012)

A google search brought this up. I just started reading it but from a glance at a few of the pages it looks like it's informative.


----------



## Cetanu (Jan 20, 2012)

L said:


> So I'm going to start working on my to learn list, and what I really want to start with is computers. I don't really want a super huge hacker like ability or anything like that but being an INTP I've always been really fascinated with them. So uhhh... where do I start? Please help lol. I just have a teenage understanding of computers (url, mouse, screen, dsl, bang on monitor, etc.).


Learn to code in C

Learn Protocols (DNS, DHCP, BIND, LDAP, TCP/IP)

Learn Unix

In that order. Don't rush.


----------



## L (Aug 12, 2011)

Muck Fe said:


> How far down the rabbit hole do you want to go?


I'm not honestly sure, I just want a better understanding than what I have now is all I really know. My sister is having her wedding this weekend and I was going to compile a nice list of reading materials for, well basically for the entire weekend minus a few hours... hopefully only a few hours... 

I'll get to all of that reading you've assigned over this weekend and let you know, thanks again for all of the information to a rather vague and open-ended question. Right now I'm really at a point that I'm so ignorant that I don't even know how ignorant I am, if that makes any sense.


----------



## L (Aug 12, 2011)

Another quick question to everyone recommending the programming languages, I have purchased a book in Ruby but as I said earlier the results didn't end so well. Is C++ really the way to go or should I just give Ruby another try? I'm honestly not even sure if I want to learn how to code, but if what I do want to know is fun enough than it shall definitely be on the list.


----------



## Cetanu (Jan 20, 2012)

L said:


> Another quick question to everyone recommending the programming languages, I have purchased a book in Ruby but as I said earlier the results didn't end so well. Is C++ really the way to go or should I just give Ruby another try? I'm honestly not even sure if I want to learn how to code, but if what I do want to know is fun enough than it shall definitely be on the list.


Here's a comparison:
Ruby vs C · Programming Languages · Hammer Principle

If you want to learn programming and get an idea of how computers work from a low view... Learn C.
If you want to learn a programming language... Learn Ruby.

It could take you a long time to learn to program really well... but you just want to learn computers so it shouldn't take that long. You'll get an understanding of how things sort of work... If you also study things like hardware, circuits, data and the other things I mentioned like protocols and unix... you'll be a pretty solid tech and could probably get a decent job in IT if you have analytical problem solving skill... No joke...


----------



## blit (Dec 17, 2010)

L said:


> Another quick question to everyone recommending the programming languages, I have purchased a book in Ruby but as I said earlier the results didn't end so well. Is C++ really the way to go or should I just give Ruby another try? I'm honestly not even sure if I want to learn how to code, but if what I do want to know is fun enough than it shall definitely be on the list.


If you want to play with something for only a few hours - days and get simple results quickly, learn a scripting language (Python, LUA, Ruby, etc.).
If you want to learn something more useful and get some results within months - years, learn a compiling language (C, C++, Java*).
If you want to become a master and willing to spend hours everyday for many years - decades, learn many compiling languages (C, C++, Assmbley, Java*, etc.) and scripting languages (Python, LUA, Ruby, Scheme, Javascript, etc.).

I forgot to put this in the post above:
https://love2d.org/ - Awesome library for LUA (This is best "few hours only" choice. )
Khan Academy - Python

*JIT (close enough =P)


----------



## L (Aug 12, 2011)

Cetanu said:


> Here's a comparison:
> Ruby vs C · Programming Languages · Hammer Principle
> 
> If you want to learn programming and get an idea of how computers work from a low view... Learn C.
> ...





Muck Fe said:


> If you want to play with something for only a few hours - days and get simple results quickly, learn a scripting language (Python, LUA, Ruby, etc.).
> If you want to learn something more useful and get some results within months - years, learn a compiling language (C, C++, Java*).
> If you want to become a master and willing to spend hours everyday for many years - decades, learn many compiling languages (C, C++, Assmbley, Java*, etc.) and scripting languages (Python, LUA, Ruby, Scheme, Javascript, etc.).
> 
> ...


Thanks very much:happy:

But yea, I only really want a basic understanding that could give me results within a month or so. The basic hardware and bare bones coding is all I really want. Something to get me moving in a forward direction that won't discourage me and will give me momentum on getting my to-learn list done, so I can add more lol.


----------



## wuliheron (Sep 5, 2011)

You may want to check out Tweak Guides.com

TweakGuides.com

For hardware issues the Steam forums are great, but Tweak Guides offers comprehensive and free advice for how to get the most out of XP and Windows 7 as well as video games.


----------



## Uralian Hamster (May 13, 2011)

Bear987 said:


> I agree with what others have said. I put together the PC I am on right now myself. Learning about all the different parts and how they work together has made me appreciate computers even more. Programming languages still scare me - I don't know whether I will be able to wrap my brain around them. I wasn't all that good in Maths when I was younger and somehow I figure this predicts failure in learning or even using programming language.
> 
> I learned most of what I know about computers on-line, using free tutorials. I learned about htm language for instance, and now I can create my own website pages. I just know the basics and some of the advanced stuff, but that does not stop me from enjoying it.
> 
> I don't know, computers are just awesome.


Same here. I learned everything by just messing around to see what I could do. I learned how to dual boot windows and linux which wasn't all that bad, and it opened the door to using a non-windows OS which is pretty neat. Ubuntu is basically the coolest thing ever. You can download an interactive program to learn programming, and there is a ton of engineering/science/whatever applications.


----------



## Tempest09 (Jun 19, 2011)

Another good learning source, albeit not free, is the series of books by O'Reilly Publishing. They have books on just about any aspect of the computer world one might care to dig into, from operating systems, to services, programs, programming, protocols, etc. They're generally very well written, and highly informative. O'Reilly Media - Technology Books, Tech Conferences, IT Courses, News


----------



## AJ2011 (Jun 2, 2011)

To get an overall interest in programming, it may be useful to peruse design patterns in programming.
Software design pattern - Wikipedia, the free encyclopedia

You get a gist of how things are sometimes architected to achieve some programming goal without being nailed down to a programming language. That will also give you an idea of what programming language would be best to use for implementing your ideas.

Ruby is a great language that many design patterns naturally fit unlike C/C++. Prototyping a program is good with a OOP language like Ruby. C is probably necessary for actual programming, e.g., Objective-C for iOS programming to create your own apps. Objective-C is also a another language for which many design patterns fit well. In fact, I think the model-view-controller paradigm really took off with Objective-C and InterfaceBuilder.app from NeXTSTEP (ancestor of OS X). The first website was built using NeXTStep.

After having a good, general idea of how to architect programs, you could delve into computer architecture to see the information flow. A programmer without understanding computer architecture is severely hampered because understanding memory hierarchy could mean the difference between 10x speedup and slow as molasses code.

IMO, design patterns and computer architecture together could take you very far. You could extend the computer analogy to general architectures to see how information flows from various systems and gets processed, e.g., collecting sensor data from all over the place and using to control something, i.e, affect the generation of new information like crowd-sourcing, e.g., Google maps traffic feature.


----------



## AJ2011 (Jun 2, 2011)

As an aside, knowing when to and not to use design patterns is extremely important, because of complexity creep. Sometimes a simple stream pattern is extremely efficient. Proper modeling of the system is critical and will save hours/days of debugging and refactoring of code later on. I like the behavioral system modeling by Willems:

http://homes.esat.kuleuven.be/~jwillems/Recentlectures/Lectures.html

Control theory and good programming practice are actually not too far apart in my mind.

Getting to know state machines is also important so that complex problems could be initially graphically modeled and then converted into a state machine after showing that the state machine represents the flow of processing you want. This saves enormous time since you get to reuse "state" processing (reduces amount of coding and code space), and possibly exploit multi-threading by proving that certain processing can be done in parallel. If you're interested in multi-threading, then understanding concurrent programming is critical to make sure you don't mess up. Ada is a great safe language to use for concurrent programming; other languages like C make it easy to screw up and hell to debug.

When you think about all this, you sometimes wonder about the enormous complexity of our minds and what kind of crazy, parallelized state machine is in there. There ends my stream of consciousness answer.


----------



## stone100674 (Jun 22, 2012)

I started with turbo pascal, I can't post links cause I am new. //library.thinkquest.org/27297/ just copy and paste that into your browser: there is a shareware version of V6 and a good tutorial there.


----------



## akappa (Jul 1, 2012)

I stumbled in this topic and, TBH, I don't find the suggestions given here too useful, because they don't give the big picture. It's best to consult a map before going into a deep forest, isn't it?

So let's talk about what Computer Science is. We could start from the french name, _information automatique_, that is, automatic processing of information. Really, computer science is all about that!
The fundamental questions are: what is the "information", how to represent it, how to best process it. Those are both theoretical and practical questions. 

From the theoretical side, *Alan Turing* is the first who gave a _computational mode_ that both defines what is an information and how we can process it, and it defined all of this in such a way we can "easily" study it in a sound way.
The computational model I'm talking about is the *Turing Machine*. 
A TM is composed by an infinite tape and the proper machine.
The tape is a sequence of boxes which may contain some symbols. The machine has a "head" positioned in one of those boxes and a set of relation that tells the machine what to do based on the symbol read from the tape and an internal state.
The shocking thing is that, with this rudimental setting, you can compute *everything* the Universe lets you to compute (the Church-Turing thesis), from palindrome tests to Chess playing.
Theoretical computer science starts from that: what can be computed? what is the time taken to solve a problem? there is a hierarchy of problems based on the effort required to solve them? What are the relationships between those categories?
This is the computability and computational complexity theory, and it is the core subject of theoretical CS along semantics (the branch of computer science that studies the way we can express an algorithm and how we can give a _precise_ meaning to that).
If you find all of this fascinating, you may start with playing with the study of algorithms, that is, the study of defining procedures to solve some problems of interest and how to organize the data (by designing a *data structure*) so you can do all of this with less effort. Studying algorithms means to study how to sort *n *integers in the best running time, how to find a number in a sorted sequence or how to pack a set of objects with different weights and costs in a knapsack in order to maximize the value you carry.
This is fun because it has a problem-solving nature, so it keeps you motivated and mentally active while you learn. Of course all of this requires some coding, but you can pick any computer language of your choice. Scripting languages (such as ruby) are good candidate, because they distract you less on technical aspects, so you are focused on solving the real thing.

From the *practical* side, it is obvious that we can't build a game machine out of an infinite tape. Since the aforementioned problems are so complex, we developed a set of *abstractions* that let us build complex systems (such as the facebook machines used all over the world) by solving a lot of smaller problems and gluing them together.
The set of abstractions we (as the humanity) developed are both vertical and horizontal. At the lowest level, we have the *hardware*, which is made out of logic gates made out of transistors and wires. At the next level, you have the *firmware*, that is, the CPU. The CPU, along with the memory and the other pieces, forms a well-defined *abstraction*: they run the *assembler*. 
This overall architecture has been first conceived by *Von Neumann*, the true father of the modern computer.
Writing in assembler is a lot better than hard-coding Turing machines, but it gets better: we may design even more friendly languages and translate those languages in assembler! Moreover, we might write, once and for all, a set of components that handles very low-level details on how the lower machinery works together, so we don't think at that all the time.
So you have another *layer of abstraction*, given by *programming languages* and the *operating systems*. From there, you have a bunch of "horizontal" abstractions: *database systems*, *network protocols*, *window managers*, etc.
If you are interested in those things, I think you should start from a computer architecture book, like those used in universities. The main problem is that, if you never programmed before, then those books are not accessible to you. "Why?", you may ask.
Well, because programming lets you develop an habit to developing abstractions and to define clear interfaces to those abstraction, a fundamental aspect in computer architecture, so either way you must start by learning how to sort a sequence of integers 
TBH, I don't think that putting together a bunch of cards (or reading ArsTechnica) helps you entering in this world, or jumping into design patterns, which is a rather advanced technique to lower the complexity of the process of designing and implementing computer programs.

If you have a question, feel free to ask!


----------



## Tristan427 (Dec 9, 2011)

L said:


> So I'm going to start working on my to learn list, and what I really want to start with is computers. I don't really want a super huge hacker like ability or anything like that but being an INTP I've always been really fascinated with them. So uhhh... where do I start? Please help lol. I just have a teenage understanding of computers (url, mouse, screen, dsl, bang on monitor, etc.).


Take a PC repair class. I took one and I loved it. I am going back for a second course next year and I plan to get certified.


----------



## Siren (Jun 25, 2011)

I don't know if anyone has suggested this, but you should definitely learn command line programming. You can manipulate most everything in your computer from one place using cmd.exe.


----------



## NotSoRighteousRob (Jan 1, 2010)

A Useful tool for amateurs and professionals alike is SARDU. It allows you to combine powerful software such as Hirens boot CD, Ultimate Boot CD for Windows, Many flavors of unix/linix, Partitioning tools, Anti-virus tools, and just about anything you would ever need to diagnose or test usb compatible computers straight from a flash drive. I have a 32GB usb with every last program as well as some custom add ons and copies of files and executables I am able to launch from within any of the live environments.

It can take some work getting it up to date though..


----------



## zynthaxx (Aug 12, 2009)

@L:
I suggest you learn the way we did back in the eighties, just adapted for today's environment:
Get the crappiest hardware you can get for free (today that would probably be something akin to a Pentium III but maybe even a P4 class computer), then download and install Slackware.
Now you can google around, learn how to get your network going, learn how to set up a graphical environment, etc. Slackware is a Linux distribution, which makes it a real operating system with all the tools you're likely to need to take control over your computer. The command line interface you meet once you've logged in, is called Bash, and is a "programming" (actually scripting) language in itself. You can create a file using an editor like _nano_ or the excellent text-based file manager _midnight commander_, and that file, if you type the right things into it, will be a program in itself.
You also get all the tools you need to develop programs in relatively high-level (that means easy) languages like Python, and low-level ones (closer to the hardware, which means more difficult) like C and C++. It's all included and it's all for free.

Give this system a few months, and you'll know more about computers than most people out there. Make it your primary computer for a year or two, and you'll know enough to be able to get a serious job in IT.

Oh yeah, I almost forgot:
Read The Tao of Programming and understand the beauty of it.


----------



## akappa (Jul 1, 2012)

zynthaxx said:


> @L:
> I suggest you learn the way we did back in the eighties, just adapted for today's environment:
> Get the crappiest hardware you can get for free (today that would probably be something akin to a Pentium III but maybe even a P4 class computer), then download and install Slackware.


Alternatively, he might install Slackware (or Debian, and I firmly suggest that in place of Slackware due to its prominence) on a virtual machine (like VirtualBox).


----------



## zynthaxx (Aug 12, 2009)

akappa said:


> Alternatively, he might install Slackware (or Debian, and I firmly suggest that in place of Slackware due to its prominence) on a virtual machine (like VirtualBox).


The reason I suggested Slackware is that it by it's very nature will make the OP comfortable with the notion of checking for dependencies, building and compiling programs to install them. Slackware lacks Debians package management system, and this will force him to learn his system in order to use it. Once he knows Slack, he will be able to move between distributions at his own will.
The reason I tell people to get their hands on real hardware, is that a) it's more tangible than a virtual machine, and therefore makes it easier to get a personal feeling for what happens in their machine, and b) chances are they'll have to work a bit to get things going properly. This adds to their proficiency.


----------



## akappa (Jul 1, 2012)

zynthaxx said:


> The reason I suggested Slackware is that it by it's very nature will make the OP comfortable with the notion of checking for dependencies, building and compiling programs to install them. Slackware lacks Debians package management system, and this will force him to learn his system in order to use it. Once he knows Slack, he will be able to move between distributions at his own will.
> The reason I tell people to get their hands on real hardware, is that a) it's more tangible than a virtual machine, and therefore makes it easier to get a personal feeling for what happens in their machine, and b) chances are they'll have to work a bit to get things going properly. This adds to their proficiency.


The potential problem is that this is too much for him, with the sole outcome of leaving all of this before he could learn something (after all, he told us he left Ruby because he wasn't able to do something with it).
For example, manually checking for dependencies requires you to know what a shared library is, how to inspect the list of dependencies with ldd and how to locate such libraries. For someone who doesn't have a solid understanding of how an executable is represented, built, loaded and launched, this is just too much. Rome wasn't built in a day, isn't it? I think the best way is to learn things slowly and in a top-down fashion: first you see the thing, then you start learning how it is structured. For this reason, I think Debian is perfect: automated enough to hide you nasty and incomprehensible details, yet bare-bone enough to wet your appetite.


----------



## zynthaxx (Aug 12, 2009)

akappa said:


> The potential problem is that this is too much for him, with the sole outcome of leaving all of this before he could learn something (after all, he told us he left Ruby because he wasn't able to do something with it).
> For example, manually checking for dependencies requires you to know what a shared library is, how to inspect the list of dependencies with ldd and how to locate such libraries. For someone who doesn't have a solid understanding of how an executable is represented, built, loaded and launched, this is just too much. Rome wasn't built in a day, isn't it? I think the best way is to learn things slowly and in a top-down fashion: first you see the thing, then you start learning how it is structured. For this reason, I think Debian is perfect: automated enough to hide you nasty and incomprehensible details, yet bare-bone enough to wet your appetite.


If he is interested, I don't think it's beyond his ability to google the basics (he'll have to do that anyway just to learn the basic shell commands). There are lots of FAQ:s out there that describe manual configuration of, for example, the X environment step by step, so he doesn't have to find everything out by himself, but at the same time doing it manually lets him see what actually happens backstage in the more friendly environments. 

Basically: My opinion is that Slackware is a perfect balance between not getting stuck in the mindnumbing silliness that is Gentoo and at the same time being forced to actually learn how the system works. A base install of Debian hits just to the right of that point, which to some people might not be a bad choice, but my personal opinion is that it's better to have to do that tiny bit of extra manual labor if you want to learn how the system works. 
However, I'm not going to start a religious war over distributions here, I just tried to explain that my recommendations were thought-through.


----------



## akappa (Jul 1, 2012)

zynthaxx said:


> However, I'm not going to start a religious war over distributions here, I just tried to explain that my recommendations were thought-through.


It's fine, those are well-thought opinions.
I started using Linux in 2002, it was a Mandrake Linux. After some months of messing around with bash and python, I briefly moved to Red Hat, then Slackware. I spent two years with this setting (occasionally interleaving slack with Gentoo and FreeBSD), and then I moved to Debian, which served me until 2005, when I definitively switched to Ubuntu.
Honestly, I think that starting with Mandrake (now Mandriva) helped me a lot in becoming comfortable enough with the shell to go through Slackware and its vestigial-and-a-bit-scary feel. Remember that, when you started in the '80, people wasn't accustomed to "hey-come-here-I-do-everything-for-you-in-fuzzy-colors" operating systems like Windows 7


----------



## zynthaxx (Aug 12, 2009)

akappa said:


> It's fine, those are well-thought opinions.
> I started using Linux in 2002, it was a Mandrake Linux. After some months of messing around with bash and python, I briefly moved to Red Hat, then Slackware. I spent two years with this setting (occasionally interleaving slack with Gentoo and FreeBSD), and then I moved to Debian, which served me until 2005, when I definitively switched to Ubuntu.
> Honestly, I think that starting with Mandrake (now Mandriva) helped me a lot in becoming comfortable enough with the shell to go through Slackware and its vestigial-and-a-bit-scary feel. Remember that, when you started in the '80, people wasn't accustomed to "hey-come-here-I-do-everything-for-you-in-fuzzy-colors" operating systems like Windows 7


Yeah, I see what you mean. 
I was actually just a kid in the eighties, but since we had just about no money, our first computer was a scavenged and MacGyvered Commodore PLUS/4, so I was working in 6502 machine language before I even knew what that was, by directly peeking and poking memory addresses.
My first run-in with Linux was actually pretty late - I downloaded 8 or 12 disks, I believe, of Debian 1.1 (Buzz) from a BBS in 1996 (an Internet connection was still pretty expensive over here), but once I had experienced a real operating system I got hooked and later paid for a boxed version of RedHat 5.1 along with the manual, which was the system I ran on my main box for several years. At this time, the RPM system wasn't very well supported outside of the actual distribution - you might find the software you wanted in a package, but more often than not, it was a lot easier to get the necessary tarballs and compile it manually.

Today I have to admit that I'm way too lazy to spend time on the basic Linux stuff other than for servers (where I like Ubuntu LTS and CentOS, and I run them in a VMWare ESXi environment, contrary to what I preached above). On my laptop, I feel I've earned the right to skip the hassle and run OS X - still the power of a Unix, but a lot less work to keep the basic functionality going.


----------

