Friday 24 June 2016

wk_one

First thing’s first: I’m a realist you might be reading this and thinking: 

“hang on.. Jack doesn’t have a Mac.”
You’d be right. 

“Then how does he get into hipster coffee shops?” 
They don't let me in - No MacBook, No service. 

“What about taking pictures on a webcam and applying stock filters?”
Nope.

“Oday Ouyay Eakspay Igpay Atlayinay?”

Aymayebay. Utbay eway idayessgray.


Look, the point I was trying to get to is that Mac’s OS X is a UNIX based operating system. They’re extremely popular in pop-culture creative industries and as such seem to be pretty much the norm. At Makers Academy all our work will be completed using a Mac (they’ll loan you one), so everything I’m learning uses UNIX. Windows is not UNIX. They’re different. Thats pretty much all you need to know. So what I was trying to get you to ask was; “How are you learning to use the command line on a UNIX based operating system if your computer doesn't have one?”. That’s all I wanted, but you had to be silly.



Some of you may know (and some of you may not know) that UNIX is actually quite popular and is the base of a lot of other operating systems. One such system is Ubuntu (Ooboontoo - don’t embarrass yourself).

So the way to get around not having a UNIX system here is something called Cloud 9. 




nounInformal.

1.
a state of perfect happiness (usually in the phrase on cloud nine).
(source: dictionary.com)
I feel ‘perfect happiness’ is a bit strong. Cloud 9, or c9.io, is an Ubuntu virtual machine in the cloud. Essentially another computer that I can access through my browser. I mean I’m happy I can get on with the course I paid all this money for.. but its no box of kittens. Cloud 9 is not ideal, but it's what was recommended by Makers Academy if I didn’t have a UNIX computer. And I don’t. So.. yeah. 



system(‘terminal.exe’)

The first part of the Week One workload was to learn how to navigate around a computer using the command line. The command line is that black box with  'computery' looking text. Loads of slashes and colons, maybe even a squiggly! (Some times I call ~ a squiggly). You might have used it to flush your DNS that one time when your WiFi wouldn't work. Made you feel like a hacker didn't it?



I know I did. For some reason the first time you start using the Command Line to 
use a computer it feels a bit like you’re looking at 'something you shouldn’t. It’s not shiny, it doesn’t have any buttons and it certainly doesn’t have a little talking paper clip.  It’s more like catching your computer in its bedroom, with its pants down....  You were not invited but you went in anyway and now its awkward.



Despite all this tension in the air between us I pushed on. Went through the computer’s draws and what not. Just to make it really awkward. I learnt how to do all kinds of things in the command line, but generally just simple stuff like changing directories, moving stuff around and searching files. I don’t have any jokes for this bit. It is what it is.


[‘git’,  ‘tag’, ‘‘guten’’].reverse

Now with a rudimentary understanding of the command line it was time to learn something that is probably going to be with me my entire career as a developer. Git. Now I’ve explained this a few times to friends, family, cats on the street, and now I’m going to try and explain it to you.

Git is a friend. The friend that was there all those times. The one that goes “Remember that time when you were thrown out of that club for [REDACTED]?”.  Well imagine if your friend could take you back to that moment. You could then replay your life from the moment just before you [REDACTED] it all up. You could do things differently, change the butterflies that caused the typhoon. Then pop back to present day for you friend to be like “Remember that time when we went to the club and nothing exciting happened?”. Yeah. That's what Git is.

stahp, gurl!

Wipe that smirk off your face. This is serious. Git is a version control system. Git tracks changes to files. Every time you do something, you can tell git about it. These changes are stored and can be retrieved. They can also be changed. So if you want to roll back a version or two, you can. But if you want to go back and change something, you can. Then when you go back to the original (master) version (branch) it’s carries these changes through. So you can literally go back in time through the creation of a program and step on as many or as few butterflies as you want!



This is extremely useful for when you break things. It lets you fix them. Git is such an unfortunate name for something so useful.

Murderer ? arrest_perp : release_civ

The last part of the week was putting this all into practice in the form of a game. Games are fun. It came in the form of a police file with evidence, interviews, databases and what not and it was our job to use our mad command line skillz  to sift through the data and work find the killer. 



It involved using the command line to create new files and put evidence into them so you could look at it later; searching through databases for particular records as well as retrieving a butterfly file using git. This is all stuff I would have had no idea how to do before and now I was able to do it! In fact I did it twice.  The first time took me a day and a half... the second time took me an hour. I believe that is what you call progress?



Honestly I really enjoyed this and think it was a really effective tool to learn more about when the commands we learnt would be useful in  a really rewarding and exciting way. It got me very comfortable with using the command line to navigate and make changes to a computer - now I’m using it every day and I’m more than happy to look at my computer with it’s pants down.


No comments:

Post a Comment