The Party Never Stops! (Learning between Semesters)

Last night I completed the last part of CodeAcademy’s Python course. It was a fun little course going over the basics of Python’s syntax and structure. Most of the lessons I had already learned previously from different courses, but one new and somewhat profound thing I learned were Classes. These are like super functions that can have their own properties and create “objects” when something instantiates them. I guess one of the classic examples people use is a warrior class. This class could have methods in it like “attack” or “move” as well as internal variables like “health” and then be instantiated from outside by passing in variables calling on these methods. This is a significant point of departure from writing more simplistic programs that just use a bunch of different functions.

I have another few weeks before my next semester starts, and as all my grades have been tallied, I should have no problems in getting into my next choices of classes, College Algebra and Programming Fundamentals. While I took Calculus in college and Algebra in High School, I think these will be good refresher courses. Looking at what I’ll be learning in Programming Fundamentals, it crossed my mind that I could probably skip it and go on to Programming 1, but thought to myself, “What if there was something I missed when going through the courses I’ve taken so far?” and figured it couldn’t hurt to go through a formal course.

In the mean time, I’m going through an EdX course on health and wellness and a Coursera course on leadership. Both of these have interesting ideas, such as the human tendency to associate people sitting at the smallest side of a table as a default leader, to present yourself in a manner in which you want to be taken, and how “health” is usually defined by people as “not having disease” whereas health really encompasses many different domains like nutritional, emotional, physical, and spiritual aspects. I think taking courses that are interesting, but not necessarily having direct correlation with what I want to pursue keeps my mind and thoughts fresh. Is anyone else taking any online courses? What are some observations you’ve had?

100 Days of Coding!

I just saw a really great post about coding for 100 days in a row! What a great way to start the year! Right now I’m wrapping up my CodeAcademy Python course, and just finished my first term at the University of the People in their computer science tract. I’m going to join as well and start writing regular posts about my learning experiences.

Today was just going back into HTML, burning through the basic stuff, but an interesting event happened last night. I like to frequent board game Meetups, and while I’m visiting the US I found a great one just a half an hour drive from my house. One of the people I was playing with owns his own web development company, and has been in the industry for over two decades. I asked if he had any advice and he gave me two really great pointers. First, he said that document everything you do. Every step along the way should be well documented. Why did you choose to solve this problem using this method? What was your logic? Doing this allows for other people reading your code insight into your processes. Second, use Github for all your projects. He said as an employer, he’d definitely look at a linked Github account if it was provided while making hiring decisions. I told him I was an English major and he said that he hired someone with the same kind of background as me for his company. This was really great information to hear, and gives me real inspiration to continue down the road of learning how to become a great programmer.

Keep programming!

Day_34 = (“Monday “*3)

Good afternoon blog! Today, in accordance with the tenant of needing sleep for two days of the week rule, I slept in! I got a ton of sleep in my sleep bank, and I’ll gradually take out of aforementioned bank until I need to put in another deposit on Sunday and Monday! So, anyhoo, not really much to tell. I had some strange dreams last night which were probably brought on by a late night Dr. Who viewing session. I’ll do some coding when I get back home tonight, or maybe watch a PyCon doc. Yesterday I made a simple deck of cards generator that deals out 5 random cards and tells how many cards are left.

from random import randint

high_cards_of_suite = [“Ace”, “King”, “Queen”, “Jack”, “Ten”]
low_cards_of_suite = [“9”, “8”, “7”, “6”, “5”, “4”, “3”, “2”]
deck_of_all = 4*(high_cards_of_suite + low_cards_of_suite)
deck_order = sorted(deck_of_all)

#print deck_order
n = randint(0,51)
n1 = randint(0,50)
n2 = randint(0,49)
n3 = randint(0,48)
n4 = randint(0,47)

ran_card = deck_order.pop(n)
ran_card2 = deck_order.pop(n1)
ran_card3 = deck_order.pop(n2)
ran_card4 = deck_order.pop(n3)
ran_card5 = deck_order.pop(n4)

random_cards = ran_card+” “+ran_card2+” “+ran_card3+” “+ran_card4+” “+ran_card5
print random_cards
print “There are “, len(deck_order), “cards left”

I think when I get back home I’ll make it so that you can keep asking for cards until you tell it to stop. My objectives this week are to keep going through LPTHW, even if I don’t fully grasp the whole chapter, I want to make more progress, also I want to learn about dictionaries and classes!! I’m psyched. Yeah! Okay, until tomorrow blog!

Day 29 (Midweek Day Off)

Good morning blog! Today I’m going to take a day off of coding to give my mind a refresher. I’ve been coding every morning for the past few weeks and for the evening too every day this week. Last night I learned a few interesting things. When you use the pop(0) function to take something from a list, be careful how many things you take! I was doing foo = pop(0) bar = pop(0) in a while loop and it kept on giving me an error that the list wasn’t populated. After consulting with stackoverflow, I realized that each iteration was taking two things from my list! So I had to halve the iteration to make the program operate properly.

Anyhoo, just a quick little post before I veg out before work. Tomorrow I plan to continue to go through LPTHW and try and get through a couple more chapters (on the home stretch! woot woot!) I’ve been working on a fairly funny text-based game that I hope to port to a website (chapter 52 makes reference to doing something similar) so I’m pretty stoked about that! Time to get to that mid morning nap XD.

Day 27 (A Late Monday Morning)

Good morning Blog! Today was a late day to get out of bed! Last night I was coughing up a storm so I took some of the medicine I brought from America. I forgot how much that stuff knocks you out! I woke up at 7:30, but still felt dizzy, so went back to bed for another few hours! So much for an early start to coding today. On a plus note, my cough seems to be a little better, so that’s nice.

Last night I watched an interesting pycon video from the 2012 convention. It was about parsing, and while most of it was way beyond my scope of comprehension, some of it I understood. I’m going to try to make it a point to watch these videos a few times a week and go through Python’s standard library to see what it can do! Please pardon the brevity of this post, but there’s work to be done and now it’s time to get to it!

Day 25 (Half way to my goal!)

A bright and early morning to you dear blog! Today is day 25 of daily blog posts for me, and well, it feels nice! Daily writing and musing has kept me on track and motivated in my learning pursuits, so damned if I’m planning to stop anytime soon! Anyhoo, today is a special day! Hyemi turns the big double three and we’re going to go for a nice trip to Yang-Yang. I might not get to surf as she’s picked a fairly rigorous schedule of eating and hanging out! I woke her up early today by accident, I can’t wait until we have a place to ourselves so I can wake up wacky hours and she can continue to sleep (and vice versa). I’m pumped though! I woke at about 5:30 and had thoughts of solving various problems at codeabbey. Maybe it’s just me, but when I joined at the rank of “peasant” until I solved 5 problems, this gave me some serious incentive in solving those first few problems! Anyhoo, as of 6:45 am on Saturday I’m now an “Acolyte”. Yessss.

The other day I was going through some of the other blogs I follow here on wordpress and I saw a post an interesting post on some cool looking sys admin podcasts. A few years back I used to listen to “The Entrepreneurs” podcast, basically interviews with various people who had interesting startups, successful bosses being asked whether an MBA or experience was more important, what went right, etc. I haven’t been listening to any podcasts for a while now, so I decided to look up some podcasts on Python. Now, I’m only two episodes in, but “From Python Import Podcast” is really funny and informative. The first few talk about the “Zen of Python” and their take on it. While these guys are way above where I am right now, it’s awesome hearing what it’s like to work on gargantuan projects (programs that have 700,000 lines of code! holy hell!) and also learning some lingo like “monkey patching” (bad), regression testing (hard), dependency injections (effective?). Also, the guys are very entertaining, peppering epitaphs into the show like herbs on a steak.

Anyhoo, time to get back to doing some coding.

Day 24 (To the Abbey!)

Good morning Blog! Today feels good so I’ll give you a capital letter! I woke at sunrise, and somehow that just feels right with me. I went outside for a few minutes and did some jump rope. My head isn’t crystal clear, but clear enough to get some good coding in before going into work. Codeabbey is the name of the game today. I know yesterday I was quite smitten with ProjectEuler but it seems like that site is really math focused, good for getting the ole noggin awake, but not really code relevant. Codeabbey has practical applications, such as dumping a ton of numbers into a program and having the program give you the sum of these numbers. Good practice for making functions / loops. So that’s the plan today! Get some practice in, and as Zed says, find other peoples code, make it work, and then understand it!

This weekend Hyemi and I are renting a car and driving out to the east coast city of Yang-Yang, drop off our stuff at the pension she rented, and then head down to Sokcho for some surfing. Well, me surfing, her watching and giggling probably. It’s her birthday, and like every time it’s her birthday, I have no idea what to get her! I tried to be sly and order her flowers, but when I asked what floor she worked on, she said thanks for the thought, but no flowers. Ah well, perhaps I’ll try to find some kind of nice present when we get there, maybe get a good bottle of champagne or the like.

Day 21 (Making a Game)

Good morning blog! Today was no easier to get out of bed than the last, but we managed to pull ourselves together! I got a 90% sleep quality score last night, so I’m feeling pretty breezy! Today I’m doing some Python programming, and I just made a little game using if / elif statements and a library called “random” to make a guessing game. I don’t really post much code here, but here’s what I made:


from random import randint

random = randint(1,10)

guess = int(raw_input(“What’s your guess? Pick a number 1 – 10\n”))
if guess == random:
print “You got it!”
elif guess != random:
print “Wrong guess!”
print random


Quick rundown of the code (as I have no hashtags in there) is as follows. First line imports the “random” library which has the function of generating a random integer (randint). Second line assigns the variable “random” to the function “randint” from 1 to 10. Third line assigns the variable “guess” to raw_input (user will type in a number and that will be assigned to the variable). \n creates a new line. The next lines are where it gets kinda nifty, if they guess correctly the program will return “You got it!”, otherwise, if the guess isn’t the random integer, it will say “wrong guess!” I should probably add an “else” clause incase they input something like “Banana”. **edit, I just ran the script, and even if the user types a non-integer it still activates the elif statement because strings do not equal integers! Neat! **second edit, i took out the “int” around guess, but doing so assigned whatever I put in into a string, so int is very necessary.

Anyway, Zed said to make a game, and this is my game. Not really text adventure style like his example was, but I do that enough for one of my classes with quest. So there’s the end of chapter 31 of LPTHW! Only a few more lessons and then the guidances of Dr. Poulson ends, which I’m somewhat bummed about. Dr. Poulson’s videos got me over a huge mental gap and made me confident that the resources exist on the internet that if I ever get stuck (not really an if, more so a when) that I’ll be able to find the pertinent information to keep learning!

Day 20 (Waking up Late)

Good afternoon blog! Today was a late wake up day. I’ve come to the conclusion that even with an early schedule, I still need 2 days to get sleep, so when I wake up early on Saturday, it’s better to sleep in on Sunday and Monday. Anyhoo, I should get running off to work. First a few updates and a thought. Last night I started drafting up my board game and made three prototype cards. I used nandeck for a bit, but couldn’t find adequate documentation for using it to make cards similar to MtG or Star Realms (which is what I’m going for). I shifted up and tried GIMP. It’s free, it seems to get the job done, and it’s hugely inconvenient coming from someone used to Adobe Photoshop. Managed to make the first three cards, and am still messing around in my head with how the game will actually play out.

As for a thought, I’ve come to wonder how much CS101 is really necessary to pursue a coding job. Is it more like linguistics as opposed to a language? Will it make me understand problems encountered in programming languages? I came to learn programming because I want to make programs. I want to make things run more efficiently. I came to code! Okay, time to get to work, and code when I come back home. Happy Monday! XD

Day 18 (Started making a board game)

For those not in the know let there be no doubt that I am an avid board gamer. I attend a meetup every saturday to best my ability. It’s really enjoyable and I’ve met some great people from it. One of my objectives in my 101 things to do in 1001 days is to create a board game. Well, the other day I thought of one! I work in something called a “Hagwon”, or extra school for kids to learn a variety of subjects (mine, in particular, is an English hagwon). There is a tremendous demand for these type of programs (18$ Billion USD last year). Now, after working at one of these private academies for a while, there are certain things I find funny, and so I thought I’d make a game out of it.

I’m shooting for a comedic deck builder. Something not to dissimilar to Star Realms with a comedy twist. Each player starts off with a weak deck that generate X economy units per turn, and then builds it into something formidable. There are certain types of cards such as foreign teacher cards with two sides (both the good and bad, aka ivy kid, busy beaver versus slacker, culture shocked), trap cards (teacher busted for illicit activity, random govt check, smear campaign, botched fire drill, etc), mini quest cards (have some of the “fighter” students win a brawl against your opponents students) and packs of wild students who the players are competing for.

I hashed out some of the details and posted it to a game development group I’m in. It’s exciting to do this and honestly, I can’t help but to think of “if” “then” statement of python while I was writing out the flow of the turns players take! Talk about nerdy^nerdy! Anyways, it’s been a very long day, and I do believe it’s time to get some shut eye. Until tomorrow blog!