Coding Woes

I was sitting in front of my laptop last night, scouring the web trying to figure out why my HTML page was not displaying on the screen properly, and having troubles, like people (especially beginners), often do. And I started feeling kind of down on myself like maybe I’m not smart enough or good enough to figure this kind of stuff out. I actually started feeling a little depressed because I wanted to solve the problem so bad last night, but I’d stayed up too late already.

I’m sure this is a completely normal part of coding, because computers require such exact instructions to do exactly what we want them to do, in fact, I know it is. And I should not be so hard on myself, because for all intents and purposes I am a beginner. As much as I hate the idea that I am a beginner and I wish I knew so much more, coding is something that I am working on. That’s the whole reason I am spending all this time learning from the ground up. I intend to always be learning new things about technology and coding.

My point is, though – I need to own up to being a beginner coder, and I need to stop treating that fact like it’s a bad thing – it is what it is, nothing more and nothing less. When I start getting a lot more practice under my belt, and I am able to do some things on my own without consulting Google every couple minutes, I might be a little beyond a beginner.

But being a beginner is great! All of my trial and error and pain and suffering now could possibly pay off in a big way, in the far far future. Some day, I will know what I am doing with code and I will be able to throw some pseudocode together like it’s nothing, but today – I am a student. I’m doing my best to learn everything I need to know, and all on my own (with the help of the internet). And I am learning things! I can do a lot more with code today than when I started a month ago. I just gotta remind myself that it’s all going to be okay. Because it will, I just have to keep trying.

Progress in HTML and CSS

Here I am once again, to keep myself accountable and help track my progress in regards to becoming a full-time code junkie. Over the past few days (the past week, really) I have been working steadily on freecodecamp. To recap, I have been busy learning the basics of HTML and CSS, and it went pretty deep into the accessibility and visual design aspects of making a website, as well as making a site responsive to the device used to access the site.

My most recent development on that subject is I have been given some “assignments” to create some simple websites to a given specific. The site recommends using codepen.io, a free site that essentially give you access to a web development IDE (I’m not positive that’s the right term). I struggled a little bit with the first assignment, even though I took all of these notes in the lessons leading up to this point, and at one point I found myself becoming actually irritated because I couldn’t figure out how exactly to implement a certain function (I eventually discovered that my syntax was in fact correct, I had simply misspelled one of the commands). I had to step away from my laptop and and come back to figure it out, but it wasn’t right of me to be getting irritated over such a simple easily-fixed error on my part. I’ll try to be more ‘zen’ from now on.

Given my difficulty with that assignment, I decided that maybe a I need to play around with HTML and CSS a little on my own account before I proceed to the next one. So, I started that this morning and it was enjoyable, but work came far too soon so I had to close my laptop – I’ll play around with it some more tomorrow though. Maybe even tonight, but I won’t count on it.

My frustration opened my eyes to how impulsive and possibly even stupid I can be when I don’t understand something, and this is something that I personally need to work on. I choose to work on this by implementing daily meditation in the morning (unfortunately, this will cut into my study time some, but I believe it is necessary). I’ll try 10-15 minutes tomorrow morning. Another thing that I should get back into is going to the gym, or at least starting some kind of workout routine at home since I cannot afford a gym membership at this time. I just wish it didn’t have to dig into my already limited study time. Maybe I’ll be able to figure out some kind of alternative, I’ll try and ponder it in the coming days. I need to get back on board with being my best self, and with trying to do a little better each day compared to the last. I don’t want to live like this anymore, and I’m trying like hell to change some things.

The last two weeks

It’s been two weeks since my last update, and I don’t have a good excuse as to why, but I will say that I have been chipping away at cs50, as well as making quite a bit of progress on freecodecamp. I have, however, been lazy about writing and collecting my thoughts, and that is no way to be learning. I’ll try to be better. Maybe I could write little snippets every day, or slightly larger snippets every other day, I’ll have to do a little experimenting to find out what works for me.  

CS50 is a great course, and I definitely intend to finish it, but by itself I felt like I was not getting anywhere fast, so I’m going to be working on both cs50 and freecodecamp (with some Coursera sprinkled in). If you haven’t heard of freecodecamp, it is a website that teaches you the ins and outs of many different languages in an easy to understand way and they have tons of content, all free to use. So far I’ve made it through HTML5 and CSS3, and I’m almost through the visual design aspects of the web course. Coursera is a site like edX that allows you to take many different classes free and in some ways they have a different selection than edX, so definitely something to look into more.

I’m hoping that I can start to do some freelance web design work soonish, maybe once I get a little JavaScript experience under my belt. You can do a lot more with HTML and CSS now, even compared to the Web Design class I took in high school (I guess that was almost 7 years ago…). I’ll need to do projects first to get into the swing of things, but web design looks very promising at this time, and if it doesn’t take me anywhere, I’ll just end up taking what I learn and put it into whatever tech direction I decide to go in. JavaScript has come forward in leaps and bounds, you can actually code real, functional programs in it now! Who would have seen it going in that direction? Huh, maybe I am getting old. I still have plenty to give though, I swear! I’m going to figure this stuff out, it’s just a matter of time.

I have still been putting everything I can into learning. That is, usually two hours of learning before work 5 days a week, and at least 3 or 4 hours a day on the remaining weekend days (though I wish it were more… my girlfriend requires that I find ways to entertain her when we’re just sitting at home, and that usually boils down to us staring at a screen, the tv, together… woo.) I’m trying to get into doing this a lot more though, easing my way into it. Because, outside of work, I usually don’t do much.

Back to the bright side of things though, I’ve been using podcasts and Coursera at work as supplemental learning materials, so I’ve been passively taking in knowledge at work and I think it is helping. I just wish my girlfriend cared about our future as much as I do… I mean, we have been barely scraping by between bills and until I have a better source of income, I don’t think that’s going to change. I don’t want to have to work two jobs again, but it might come down that. It’s not just that I would be working so much, but that would dig into the already small amount of time that I have to study… I don’t know what to do. I kind of wish I could just run away, and start fresh with a nice tech job in some far away city where I don’t know anybody. Maybe some day…

Anyway, life is good. I make things work. Some day I’ll have it my way and my hard work will pay off. I’ll keep my chin up.

I’ve got 99 problems… All because of one syntax error

Okay, so the title is a little misleading – but I thought it was funny. Plus I couldn’t come up with anything better, even with all of the hours I’ve been putting into CS50. That is to say, I can’t think of anything super important to write about, but I know it’s been too long since my last update and I know that once the words start flowing, I’ll figure it out. It’s been almost a week since my last update (or maybe it has been a week? I probably should have checked before I started writing this). Anyway, that’s not important. The important thing is that I am here, giving you all (at the time of writing, absolutely nobody) something to read. Err, I’m giving myself something to write – that’s a more positive statement, which is something that can be very lacking in my mind on my darker days. But, I digress.

I’ve been making some good(ish) progress in cs50. I say (ish) because, well, I wish I was making more progress. But I’ve been chipping away at it every day for the last week, so I’m trying. It’s a very intensive course, and as such it’s very informational. I would recommend it to anybody interested in learning a little bit about what goes on inside their computers.

The classes focus for week one has been C, and I spent all of last weekend coding in C in their browser based IDE, debugging a program that I was so close to completing. I’m sure every programmer can relate. I ended up cleaning up the code quite a bit and figuring out everything after a night or two of frustration, but it was the good kind of frustration. I’ve made a couple programs for the course after lesson one of week one. And right after I went straight into lesson two. Just this morning I finished all of the ‘short’ videos after the main course, which means it’s almost time to write a couple more command line ‘programs.’ Just in time for the weekend!

I think this is something that I was meant to do. It’s just… taking a little longer to get into than it should have. But when I was programming as a kid, even through high school, I hadn’t thought of it as a career path. I’m not sure why, the thought just never crossed my mind. Maybe because I wasn’t concerned with finding a career or doing anything with the future, I thought I was just here to exist. I was always too busy working to worry about things like that I guess.

I want to create things and solve problems, maybe problems that people don’t even register as problems because ‘that’s just the way things are done.’ I want to be a part of something bigger than myself. I want to start going to school at some point, but I need money to go to school and money is something that I don’t have at my current occupation. Everything will fall into place though, if I keep nudging it along.

I think that soon-ish I want to start doing some freelance work to kick off my career. So maybe the fastest way to do that would be to learn web development? I have a lot of decisions to make. And I have so much to learn but not enough time to do it fast enough… It will all fall into place though. I’ve got this.

progress in cs50

I finally made it through all the videos in week one of cs50x, which means it’s (finally) time to start programming a little bit (albeit in C for this portion of this class). While I had a little bit of time before work this morning, I finished watching and taking notes and got to start playing with cs50.io, the course’s cloud9- based in-browser IDE. I practiced a little bit of Linux commands and got a little bit of steam rolling before throwing a quick hello world together and tonight, when I get home from work I intend to finish the other programs they have assigned for this portion of the class. They shouldn’t be too hard, but I am excited nonetheless to start a little hands-on work and get the old cogs turning.

I think that once I have completed this class, I want to find one about Java. Or maybe I will start it before I’ve completed cs50, if I ever feel the need to take a break and learn something else. Or maybe I will focus on a different languages, maybe more towards something like a full stack. Why was I thinking Java? Well, it’s what I learned at an early age and I think I could pick it up again fairly quickly. It is also very portable and has a lot of uses outside of just web development. I plan on learning plenty of other languages besides this, I just think Java is the next one I want to learn. Maybe. I have plenty of time to do research about it over the days I can’t find tidbits of free time at work, so maybe I’ll find something better suited, I’m not really sure yet. But thinking about it is at least a step in the right direction, if nothing else.

On another tangent, I really need to design a kind of plan of syllabus (by the end of cs50?) on what kind of track I intend to follow on my road to code. I’ve heard more than a couple people talk about this by now and it sounds like some solid advice, especially to keep my excited ass on track and not jumping from one thing to another to another with no rhyme or reason, which could certainly happen with my level of excitement around this topic. I have to stay excited though, I won’t sizzle out – especially not because of a person.

entry2:learning

So, I’m sure that I want to be some kind of programmer. I’m still working out the details, but my plan is ultimately to have the confidence to start looking for a position in the tech industry 12 months from now, at the latest. One year is simultaneously a long time and not all that long, considering all of the work I will be putting in after my regular work hours. It’s kind of a soft goal, as I will likely be modifying the timeline at some point, but it’s something to go off. I just have to work my ass off, studying and watching lectures and soaking in all of the knowledge that I can, eventually leading to me starting my own coding projects so I can have something of a portfolio that I can use in interviews and the like.

Ideally, I would be able to spend at least a couple hours a day learning this skill. If I lived by myself (ie, no gf) I would come home from work and study late into the night, and maybe I would have the necessary skill set in 6 months. But that is – unfortunately – not the case at this time. I do vow to dedicate every minute that I can to this project, I just wish it could be a lot more. Because I have the drive and motivation, and because I am so excited about the thought of being able to code software and solve problems for a living.

I’ve been surrounding myself with programmer culture for the last two weeks, trying to soak in all of the information that I can. I have been reading articles on Medium – I subscribed, they have so many amazing writers and articles, plus they’re ad-free. When I’m driving (which is a lot) rather than listen to music I have been listening to coding-related podcasts, like CodeNewbie, Developer Tea, Learn to Code with me, and Talking Machines to name a few. What’s more – I keep thinking of programming-related questions throughout the day, which I google and investigate when I have the time. I installed Ubuntu on my laptop (I don’t have a recovery disc or Windows on a CD anymore, unfortunately) because I have plenty of experience with this operating system, and it seems that linux is well suited for programming, as well as just being kind of nerdy and mystical.

Another thing that I recently started a couple days ago is the CS50x class I keep reading about – a free computer science class hosted on edX and taught by an amazing Harvard professor. I powered through the week0 lecture and the next day I watched week1, taking tons of notes. I have been picking at the additional videos for the week when I have the time, the most memorable of which so far being about Unix commands. So far, it has been very informational and I am excited for the coming lectures and to start coding for the class, I just need some good time in front of my screen to do it. I’ll find a balance, somehow. This is something I need to do.

tl;dr my plan is to surround myself with programmer culture, passively and actively learning every bit of information that I can, eventually starting my own coding projects and using them to qualify myself for a career in development.

first_blog_entry()

My intention for this first post is to use it as an introduction, to kind of explain some relevant background information about myself and quantify why it is that I am starting this blog.

So, hi, my name is Taylor. I am 25 years old, and finally(ish) starting my journey into the world of pseudocode; into the conversely cold and inviting, logical yet artful, and rewarding but unforgiving machine language of computers. But, just to be clear – this is not my first venture into the world of code. I started coding at an early age, my earliest relevant memories being customizing my Myspace page so that I would be the envy of my friends (I was), and changing it to reflect however I was feeling that day, as well as working my way up to writing full-on web pages in HTML and CSS. I can’t give you an exact timeline for this, but around then I also had a couple of books teaching Java. While I did make it all the way through one of them, I didn’t do anything with the information and it has been lost to time. A couple years after that, in high school, I took four semesters of a programming class that mostly revolved around a version of BASIC, and eventually introduced me into c# and a little bit of robotics. I had a lot of fun coding in that class, and I was always adding features to my programs, going above and beyond expectations as well as assisting my fellow developers by giving them pointers to fix various bugs in their programs. After I graduated high school, however, I just stopped.

I’m not too keen on going into the details at this time, but shortly after high school I lost my mother and fell into a deep depression and my life spiraled into a vicious cycle of work, sleep, and not doing anything remotely productive in between. My family drifted apart, and my father started using hard drugs to numb the pain, eventually becoming homeless and making himself very unpleasant to be around. And I just, sort of gave up. I have always held a job, but I didn’t care that the jobs I was working weren’t a good match for me – I just knew I had to stay busy and keep myself distracted. So I’ve been a workaholic for as long as I can remember.

Anyway, that’s enough about the past – let’s talk about my reason for being here, explaining myself to nobody in particular, and for all intents and purposes – probably nobody. I have several traits that I think would make me well-suited for a career in development. Firstly, I love technology and I love the thought of a better, more advanced future. I love learning, reading, and writing. I have always had an affinity for computers, going all the way back to ‘rescuing’ old computers I found next to dumpsters in my childhood adventures, and setting up my own dial-up accounts so that I could use the internet. I love the idea that knowledge is virtually infinite and that, especially in software development, the learning never stops and  I can grow with this knowledge, as well as use it to help people. Learning to code professionally is something that I should have started a long time ago, but I don’t believe that it is too late for me to jump in. I’m diving in, head first, to finally enter a career that I will be happy with and ultimately get more out of life. It won’t be easy, but it will be worth it.

That’s all for this post, but next time I will be going into the details on how I plan on starting this journey and hopefully not losing myself among all the ones and zeroes on the way.