Wednesday, August 3, 2016

The First Few Days, or, What in HELL is a "Ubuntu"?!

So. Welcome back to those of you who made it. Doing what, I don't know, but I figured I'd be writing a little bit to take my mind off the ridiculous world I've been jumping into the past few days.

What have I been doing, and what the hell does it mean? Let's explore.

So remember The Odin Project from the last post? Essentially it's a website that says "hey, do these little courses we have here that are designed to prepare you to get a job as a web developer!" I've been gradually worming my way through the first few lessons, which are (rightfully so) introductory and basically teaching me baby-babble before I start to form words.

Except this baby-babble looks something like this:

..........................


Just so that we're all together in this, for my face at all of this so far, see Conan.

In fact, the "what the hell is that" mentality is pretty normal for starting something new like this, because there are some things you have to get in order to start programming stuff, and you're just going to have to do what teacher says to get them and not wonder why until you understand more stuff much, much later. In order to begin web development, anyway, I needed to install a bunch of things in order to even be able to speak the languages that I was going to be learning. It's like building the tongues and teeth and stuff before learning how to shape them to form letters and words.

So let's see. According to Odin, the first thing I have to do is to install Linux, because all the new stuff I'm going to be using works best on Linux. Sure thing, right? The programming files that I needed to use happened to work perfectly with something called Linux. So just visit a website, click 'download', then click 'install', right? What a beautiful time we live in where things are so eas-

I'm sorry what?

So fun fact! Everyone knows Windows and Mac (or OS X or something like that), right? Linux is one such operating system - that's right, a completely different OS on your computer. So it's not really so much a program as it is a brand new operating system on your computer. Not only that, I wasn't really looking for something called Linux, I was looking to install something called Ubuntu. What? I'm already speaking different languages. What in HELL is a Ubuntu and why isn't it Linux and why do I need it and what's the difference between the two and how do I even install a new operating system and and



Anyway. Even though I was a little lost and confused at that point, I knew that following the directions word by word would (hopefully) get me where I needed to be. Luckily, the instructions were pretty simple- load the Ubuntu installation onto a USB, then restart the computer and hit a certain button when it first loads to install Ubuntu from a USB. I didn't want to get rid of Windows because all my old stuff was on there and essentially nothing that I use runs on Linux, so I had the option of doing something called 'dual-booting' Linux to my computer.

"but wait yinan i thought u said u need linux & why u talkin bout ubuntu, wat"

Just like Windows has Windows 7/Windows 10 and Mac has Leopard, Linux has Ubuntu. There are many different kinds of Windows OS's, right? Windows 7, 8, 95, 10. It's the same for Linux. Ubuntu is one such type and the one that lots of people recommend. Other Linux distributions include RedHat and Knoppix, but I didn't feel like an aneurysm so I didn't read further than that.

Anyway, back to Ubuntu. I succesfully managed not to fry my entire computer (literally, that is a risk that could have happened) and installed it properly. Now, every time I turned on my computer, I could choose either to boot to Ubuntu or to Windows. Ubuntu for all my programming needs (since apparently sometimes that stuff doesn't work too well on Windows) and Windows for, well, everything else.


There it is! Isn't it pretty? It actually kind of looks like a Mac. I've always been a PC fanboy, but hey, you gotta make sacrifices somewhere if you want to get better sometimes.

OK. Now according to the 'Installfest', which The Odin Project told me to visit and download literally everything that's there on, I needed more stuff like Ruby, Rails, Git, Github, Heroku, a Ruby editor, and gems. The funny thing about installing stuff on Ubuntu is you don't go to a website and hit 'download', you do pretty much everything in something called a "command prompt", which is literally a text box that you give orders to your computer on. I took a small course on Odin Project that told me how to navigate through my computer by literally just giving it commands- where you'd click on My Computer and click through the files and stuff to navigate, I would enter "cd ~/insert-directory-here" to get there and I'd be able to use other commands to see what was in the folder, rename stuff, open stuff, etc. I had to take a little while to learn these commands and figure out how to do very basic stuff to get around.

That's where the baby-babble image came from- all of that was a chunk of text that flew by when I entered a certain command into the prompt to install something. I literally had no idea what I was entering, either, and they said that was ok. I figured I'd know what the heck was going on later when I understood more. See, I wanted to just tell my computer "Hey, install all the software and shit I need OK?" Except in computer speak it literally looks something like this:

sudo apt-get install autoconf automake bison build-essential curl git-core libapr1 libaprutil1 libc6-dev libltdl-dev libreadline6 libreadline6-dev libsqlite3-0 libsqlite3-dev libssl-dev libtool libxml2-dev libxslt-dev libxslt1-dev libyaml-dev ncurses-dev nodejs openssl sqlite3 zlib1g zlib1g-dev

I still cannot make heads or tails out of whatever the hell that technobabble is, but hey, if they told me to jump at this point, I'd ask how high.

Dozens of copied-and-pasted commands into my command prompt later, I had pretty much everything that I needed to start, as well as a fundamental look into what each of them was used to do:

  • Ruby, which, according to Google, is a dynamic, reflective, object-oriented, general purpose programming language, to which I say, "Gesundheit."
  • Ruby on Rails, which apparently is not what you shouldn't do with precious stones and train tracks, but something that makes web applications with Ruby
  • Git, which would probably be offensive if I were British, but actually is a complete history of any programming changes you make to things, so you can look back to see where you colossally screwed up something and attempt to fix it. Do they make one of these for real life?
  • Github, which is not a bar for idiots in the UK, but a website where people publish their open source Git repositories
  • Sublime Text 2, which is a text editor that makes your programming pretty colors so you know what does what
That's a lot of stuff that I didn't know what the heck just happened for. All I knew is, I followed the directions, and now I have all this crap- in the next few days, I'll be learning about the very basics of websites and how they work, and what languages they speak and whatnot. 

But for now, I'm giving this a rest and going to Overwatch. Peace.


No comments:

Post a Comment