Learning to Code (Month 2 Journal)

Unfortunately, this hasn’t been a great month of coding. However, I did still manage to average just over an hour of programming practice per day this month. The good news is that after a week without any coding I’ve gotten back on track the past several days.

I’ve also had two good reasons for slowing down on the coding this month. The first is that I had a five day trip with my girlfriend to celebrate our one year anniversary. That’s why I went basically an entire week without coding.

Aside from that week, however, I’ve also slowed down on the coding a bit because I’ve had a HUGE increase in client work (for freelance writing) this month. In fact, my Month 1 Coding plus Client hours were almost equal to my Month 2 Coding plus Client hours.

The only difference is last month was more heavily focused on coding. This month was more heavily focused on clients. Regardless, let’s get to the journal.

Days 1-10 Building a Portfolio Site

Day 1
I’m going to make these journal entries shorter and more to the point this month. Today I didn’t spend much time coding. I was going to attempt to build a small static portfolio website on codepen, but was tripped up by the fact that codepen only allows one html document per pen. However, I also spent several hours working on my blog today which resulted in me not having much time to code.
Day 1 Programming Time: 0:52
Monthly Programming Time: 0:52

Days 2 + 3
The last couple days I’ve spent getting a start on my portfolio on codepen. Instead of building a multiple page website I’m simply going to build a single page portfolio website. I didn’t have a lot of time to code today because I had local work and an additional few hours of client work as well. I thought I’d stay up late to get a quick coding session before bed though.

Portfolio Site Codepen
(The website is quite ugly thus far, and needs a lot more work. Apparently, so do my screenshot skills hahaha.)

Day 2 Programming Time: 0:53
Day 3 Programming Time: 0:44
Monthly Programming Time: 2:30

Day 4
I continued working on my personal portfolio page today. I learned how to use the float property in practice. I used it to build an image gallery with two columns. I also learned how to give my images captions. While my portfolio page is still quite ugly, the basic structure is beginning to come along.

Portfolio Site Codepen Day 4
Day 4 Programming Time: 2:30
Monthly Programming Time: 5:00

Day 5
I didn’t get to spend a lot of time programming today, but I did add two nice additions to my portfolio project. The first is a circular picture to the about section (which I’d like to resize in Apple Photos so that it appears more like a circle rather than an egg). I also added a navigation bar that has page jumps.

This means it’s possible for people to click on ‘About’, ‘Portfolio’, or ‘Contact’ at the top of the page, and then the page will scroll down to the appropriate place depending on the link they selected.
Portfolio Site Day 5

Day 5 Programming Time: 1:09
Monthly Programming Time: 6:09

Day 6
I didn’t have a lot of time to program today, but I did add just a couple things to my portfolio site. I added a follow me section and a mail icon to my contact section. Although I was able to resize the mail icon to an appropriate size, I haven’t yet been able to make the word mail appear to the right of the icon. Right now mail is appearing below the icon, which is less aesthetically appealing. day 6 portfolio
Day 6 Programming Time: 1:02
Monthly Programming Time: 7:12

Day 7
Today was a pretty good day for programming. Although I worked a lot today, I also put some time in programming on my commutes and also a little bit at home. The one thing I really got down today was creating the logos and setting the text to the right of them. Because I figured that out, I was able to add some great ‘iconography’, but I just call them logos.
Day 7 Programming Time 2:00
Monthly Programming Time: 9:12
portfolio

Day 8
Today I finally realized why my about image was appearing as an oval instead of a square. It was because my img was not configured to have equal height and width properties in CSS. By changing the width and height to be 100px (pixels) each, the border-radius property was then able to properly round the image into a perfect circle. A simple fix, but a good lesson about the border-radius property nonetheless.

I was also trying to figure out why codepen would sends users to a codepen advertisement page on safari and firefox when clicking my page jump links. I’m still not sure, and it’s something I’m not going to bother investing additional energy trying to fix. I think it’s simply a codepen issue, rather than a problem with my code. Could I be wrong? Perhaps, but I’m satisfied with the results for now as everything works fine in Google Chrome.
Day 8 Portfolio Site
(As you can see the profile or about me image is now circular.)
The images in the portfolio are in an ugly layout right now, but that’s because I decided to call it a day while in the middle of experimenting with different heights and widths. Of course, something I do need to spend some time on is ensuring the webpage is better optimized for desktop computer browsers rather than only looking good on mobile.
Day 8 Programming Time: 1:29
Monthly Programming Time: 10:42

Day 9
The first thing I did today was increase the minimum height of my logo images. By increasing the minimum height of my images from 20 to 25px I was able to prevent them from getting cut off at the bottom. I also changed a bunch of stuff like margins, relative positioning, text size, image size, etc, to make my site look better on devices of different sizes.

Although I could’ve further optimized my site, things were starting to get to the point of being too nitty gritty. It was more slight adjustments, and simply putting in time to update the site rather than me learning new things by the end of the day.

With that being said, I got the most important things finished and my site looks passable on most devices. Could it be better? Yes. But it’ll be a better use of my time to continue learning new things rather than make incremental improvements on a project that isn’t going to help anyone or make me money.
portfolio site on mobile pone (example of how the top of my portfolio site may appear on a mobile phone.)
portfolio site on tablet (example of how the top of my portfolio site may appear on a tablet sized screen.)
desktop view of portfolio site (example of how the bottom of my portfolio site may appear on a desktop computer.)
As I said before, I could spend another few hours making things a little prettier, but I’d rather continue moving forward. If you’d like; you can view my completed portfolio site on codepen.
Day 9 Programming Time: 3:00
Monthly Programming Time: 13:42

Days 10-14
The past few days have been pretty unsuccessful in regards to programming. I’ve had a LOT of local work on the ground, and I’ve also been feeling run down. Feeling run down, getting a bit of a cold, plus lots of other work has made it difficult to program. In fact, today the only time I spent programming was the writing of this journal. The few days before today weren’t as bad, but this has probably been my slowest week of programming ever.
Day 10 Programming Time: 1:23
Day 11 Programming Time: 1:01
Day 12 Programming Time: 0:32
Day 13 Programming Time: 0:05
Day 14 Programming Time: 0:10
Monthly Programming Time: 16:56

Days 15-21
This was a solid week of programming. It was heavily focused on HTML and CSS. I learned and strengthened my knowledge of many subjects such as the box model, basic layouts in CSS, various CSS selectors, CSS display options, HTML forms, and HTML tables.

Day 15 Programming Time: 1:30
Day 16 Programming Time: 1:31
Day 17 Programming Time: 4:50
Day 18 Programming Time: 1:05
Day 19 Programming Time: 0:16
Day 20 Programming Time: 1:11
Day 21 Programming Time: 0:00 [First ever day with no time :(]
Monthly Programming Time: 27:21

Days 22-28
Between a trip to Bangkok and client work, virtually no programming was done this week.
Weekly Programming Time: 0:56
Monthly Programming Time: 28:17

Days 29-31
Got back on track with programming. Finished a course on becoming a WordPress power user. It was mostly a review to me. However, I did get some nuggets of information that I applied to my blog here.

I also learned a lot about different user roles. Learning about different roles such as admin, editor, author, contributor, and subscriber was probably the most useful part of the course.

Although this course didn’t improve my coding skills, I did count it as coding time. I thought this was fair because being comfortable with WordPress will be important as it powers so much of the web.
Day 29 Programming Time: 1:10
Day 30 Programming Time: 0:49
Day 31 Programming Time: 1:22
Monthly Programming Time: 31:42
TOTAL PROGRAMMING TIME: 98:10

Conclusion

This month I practiced just under half of last month’s amount. I do feel a still made a fair bit of progress, however. Moreover, I’m happy that I the time I spent away from computer programming wasn’t wasted.

It was simply being allocated towards one of the most important people in my life, as well as my freelancing income that supports me and gives me the freedom to practice code in my spare time.

With all this being said, I’d like to increase my programming time again next month. This month I programming just under 32 hours. Last month I programmed about 66 hours. For month 3 I’d like to get somewhere in the middle.

I’d be very happy if I could get 50+ hours or practice in for month 3. I’m nearing the 100 total hours of coding practice now and it’d be a sweet victory if I could also reach 150 total hours of practicing in month 3.

I believe that I’m capable of reaching both those milestones next month. So… let’s get to it!

Learning to Code (Month 1 Journal)

PLEASE NOTE: This article is intended more for documentation purposes than for being something you’d practically read. Feel free to read anything included below, but this journal was intended more to hold me accountable and record things I’d learned than to be an interesting read (for that reason I haven’t made much of an effort to fix grammatical or spelling errors. Photos also weren’t uploaded properly, which resulted in them getting lost).

In other words, unless you’re reading this journal because you’re thinking about working with me, check out the hundreds of other articles I’ve written for more interesting reads. Future journals will be better formatted, with proper photos included, and also written to be more reader friendly.

Day 1

Today is the first day. My goal is to spend approximately 1,000 hours over the next 6-12 months programming. I’m almost a complete beginner in the world of developing. I have a minimal amount of experience in HTML from managing a blog, previous SEO work, and less than 10 hours of experience from a previous half-hearted attempt to learn to code earlier this year.

Today I began by reviewing html tags, things like <h1> </h1> and <h2> </h2> tags. These tags were quite familiar to me as I already understood them from previous experience on my own website and optimizing client articles for on-page SEO.

I also reviewed how to leave comments on code. This allows you to annotate the code with a note which may be helpful in explaining to potential employers or other developers how or why you used the code in the way that you did. Comments are started with <!— and completed with  —>. Although in this text it appears as a long single dash, those are intended to be two consecutive short dashes.

Interestingly, code can also be made inactive by inserting it in the comment. This could possibly allow you to keep a code inactive, and available to review by a more senior developer before it is inserted into a live project.

Another thing I learned today is about “lorem ipsum text”. This is simply what developers have traditionally used as placeholder text inside of the various text tags.

30 minutes in, and the next thing I’ve learned about is how to change the color of text. Apparently there are two methods of doing this. The first is by changing an individual h1 or p or whatever tag’s color. To do so is called an inline style. However, by using CSS (which from my understanding is another language that can help you manage how HTML code is displayed), it’s possible to change the color or style of many tags (which I guess should be referred to as elements) simultaneously. This is quite convenient and could save a front-end web developer a TON of time I imagine.

Less than 45 minutes in and I’m already feeling tired. I think the biggest determinant of whether this project will be successful is my ability to simply manage my energy, and not give in to the resistance to step away from the computer. It seems the biggest key to success will just be staying at the computer long enough.

One thing I’m having difficultly understanding is the difference between HTML and CSS class usage. I’m not quite sure how they’re different aside from the language they are applied in. I’m not sure how one would use them in conjunction, or which one takes priority if both are used. It has something to do with CSS being used for class selectors and HTML being class declarations, whatever that means.

I might be calling it a day now as I’ve got to head to work, and my girlfriend will pick me up afterwards. At this point I’ve refreshed on some of the most basic of HTML and completed the first 12 or so lessons of freecodecamp.

Programming Time Today: 1:12

Cummulative Time Programming: 1:12

Day 2

This morning I downloaded a bunch of the “code newbie” podcasts. This seems to be a podcast aimed at new programmers mainly with the intent of discussing educational resources, how to manage one’s time, and how not to get discouraged in the process of coding. Seeing as anything of a technical nature would go over my head, I figured this basic podcast would be a good way to ease my transition into listening to programming material.

Aside from that I picked up today on Freecodecamp where I left off yesterday — With basic HTML and CSS things such as how to change the font or font size. A useful thing I learned in one of the lessons today is the process of font “degradation.” This is essentially writing code that includes more than one font family. It looks like this {font-family: Helvetica, Times New Roman}. By writing code in this manner, we’ve essentially made a priority list for the browser on fonts to display. In this case, ideally the browser will display Helvetica, but if Helvetica is not available Times New Roman can instead be shown.

I also learned how to add images to websites with the img element, as well as the usage of src attributes. SRC attributes are a useful attribute that can be used to display text to the user in the event the image is unable to load.

Following this, I l began learning more about classes, as well as how to apply multiple classes to an element. To apply and customize borders is also possible in HTML. Both straight and rounded borders are possible. For a rounded border, one needs to designate the CSS property border-radius in one of the classes being applied to the img element (from what I understand).

One of the things I covered in today’s lessons were a elements, which are also called anchor elements. I already understand the usage of these elements from the basic HTML I already know from formatting my blog posts. Anchor elements, being used to link out to other content, appears to me to be the origin of the term anchor text that those in the SEO industry often refer to. (Note: I scrolled down to the bottom of this lesson and my suspicion has been confirmed!)

A quick term that new developers should learn is nesting. This is simply inserting one element inside of another. Using the example from the lesson, putting an anchor element within a p (paragraph) element.

What would one do if they wanted to insert a link on their website, but they didn’t know exactly where the link should point to? Let’s say for example someone wanted to link to a crowdfunding campaign but the campaign had not yet been set up. One solution would be to state that readers could find the campaign “here”, insert a # into the anchor text’s href attribute to create a dead link (which creates a link that does not lead to anywhere, but still appears as a link) and note to users that a relevant link would be added to the text as soon as it was available.

Something important that came after anchor texts, and how to format ordered and unordered lists was creating input elements. It’s great I’m learning about these now because as I acquire more knowledge input elements will be useful for asking users for feedback on an app, allowing them to search an app, or giving them the opportunity to input their name and email so that we’re able to build up mailing lists on our websites. I also learned about input options that allow users to check or select from one of multiple existing options.

Around two hours in and I’m starting to learn about id attributes. I don’t yet understand the purpose of these, but FCC (FreeCodeCamp says they will become more useful later when using JQuery.

Random thought, I just looked at the curriculum and it looks like I’m currently learning not about just HTML and CSS but about HTML 5. A quick Google search shows HTML 5 is the most recent, and powerful edition of the HTML language.

As I approach the final challenges of the HTML 5 and CSS section of FCC’s curriculm I learned about how to adjust the margin, padding, and borders of elements. How exciting! Although these lessons are incredibly basic, they are the fundamentals that will be used everyday by a front-end developer. When I say I am excited to learn how to change the background color of a text box I am not sarcastically stating my enthusiasm.

Note to new developers: When applying multiple classes to an element ex. “Class 1 Class 2” the last class will take precedence over prior classes. I’m not sure yet how this has practical value, as there’s no point in assigning multiple classes that change the color of text. However, I’m sure there’s other situations that I am not yet aware of in which it may be useful to assign multiple classes to an element. Please also note that id attributes also take precedence over classes regardless of where the id was declared in the CSS styling.

UPDATE: I’m in the last five lessons of the HTML 5 and CSS curriculum, and I’m starting to get comfortable with the basics. It seems the last thing I’ll be learning about is the various uses of Hex Code in coloring text.

UPDATE 2: Officially finished the HTML 5 and CSS original curriculm. I’ll be beginning styling it now using Bootstrap. This is awesome. I’m a lot more comfortable with coding than I remember the last time I tried it. I suspect it’s due to writing these entries as I complete the lessons. This forces me to reflect on what I’m learning and how all the presented concepts relate and may be used together.

Continuing… I’m several lessons into Bootstrap now and have been learning a lot about the different button classes. They’ve also begun to introduce Font Awesome which is a library of icons you can include in your app.

CONCLUSION: I spent about 3.5 hours coding today which is by far the most I’ve ever done in a single day. The coolest thing, however, was that it felt completely manageable. My mind needed to stay engaged to work through the HTML 5 and CSS challenges today, but I almost never felt stuck during any of the challenges. I would often have to reference earlier exercises to see the proper code to insert into my current challenge, but Googling and referencing code is to be expected at any level.

I’m really excited by the progress I made today, especially considering I spent 75% of the day sleeping, commuting, working, or hanging out with my girlfriend. I managed to make a lot of progress in the few hours I was able to sit down and focus. It’s exciting to think about the huge rush forward I may be able to make on the days I have fewer outside obligations.

Programming Time Today: 3:34

Total Programming Time: 4:46

Day 3

The first important thing I’m learning about today is Bootstrap’s col-xs-* and col-md-*. These are classes that can be applied to various elements that will result in the elements being evenly spread out regardless of the width of a screen. This is an important tool to learn because it’ll allow me to design my applications in a way that’ll maintain their visual appeal regardless of the screen size they are being displayed on.

Something that was covered yesterday, but didn’t stand out to me until seeing it again today was the “container-fluid” class. Nesting your code within this class allows the code to be mobile-responsive.

Although the HTML 5 and CSS section of the curriculum took me a tad under the expected 5 hours (probably around 4), which is to be expected considering I have a little background knowledge of HTML. Yet, I did complete the bootstrap tutorials in probably around half of the expected 5 hours. I’m 10 hours into the curriculum now despite only having spent 6 hours programming (and a significant amount of those 6 hours writing these entries. The good news is, that I still feel as if I have a reasonably good understanding of all the concepts presented thus far.

I’m going to meet my girlfriend a bit now, and maybe eat breakfast. After that I’ll take my last college exam (which upon passing will leave me at 57/120 completed credits for a bachelor’s degree in just 5 months of studying). However, I’ll cancel my course subcriptions after this test, and put them on hold until I either give up on this challenge (fat chance of that!) or manage to land a (highly preferably remote) job or at least freelance clients.

Hey, it’s night time now. I haven’t been able to spend as much time as I wanted today programming because I had to catch up on sleep from the last couple nights, and poor internet issues caused the college exam to take a full two hours. I’m back at it now for a little gap of time before meeting my girlfriend for dinner.

I’m starting to work with JQuery now. One important thing I learned from just the 2nd lesson is that all JQuery functions start with a $. I’ve learned about a lot of different tools in the past few days, but JQuery on first impression appears to be a nice “framework” (should I refer to it as that?) for adding animations and styling one’s applications.

CONCLUSION: I didn’t have make as much time as I would’ve liked to program today. This is because I spent a TON of time 8+ hours with my girlfriend today. There simply isn’t enough time in the day to meet her that many hours each day and still make the progress I’d like in programming. We’ll have to switch to maybe just meeting at meal times and having maybe two date nights a week.

Tomorrow I work at my day job again, but I plan to finish the JQuery lessons in FreeCodeCamp. I’m so excited at the progress I’ve made in my programming journey this weekend!

Programming Time Today: 1:46

Total Programming Time: 6:33

Day 4

Hmmmm… I’ve never had much difficulty consistently getting enough exercise. Yet, because exercise is an element of self-improvement I’ve spent a lot of time reading about it. They say that one of the best ways to guarantee you’ll exercise is to schedule your workout first thing in the morning. Why not apply that to coding? That’s exactly why I’m awake and on the computer already at 6 A.M. Today I’ll also begin adding time stamps to my programming journal because I think it’ll result in a format that is easier to read.

6:28 — This morning’s programming work sees me picking back up where i left off with JQuery. Thus far I’ve covered how to change CSS elements using JQuery, and how to disable buttons, plus a few other things already.

6:53 — Time is just flying by. I got stuck on a lesson about changing text inside of an element using jQuery. I couldn’t figure out what I did wrong. My code was

$(“#target4”).html(“<em>$target4</em>”);

but I kept getting errors about a parentheses. I consulted a given solution on the forum and the code was seemingly identical to what I had written. I closed the forum, deleted my code, and tried the exercise again. Somehow I passed the challenge the second time. I must’ve missed a parentheses or something the first time and didn’t notice.

7:00 — I just learned about an important jQuery term called “function chaining”. Function chaining allows you to link multiple jQuery functions together.

7:12 — I was just introduced to the idea of the parent and children of an element. I vaguely grasp the idea, but I wouldn’t be ready to explain it to someone else yet.

7:26 — The last few lessons of jQuery have shown me how to edit elements based on parent, children, as well as whether the elements are odd or even numbered.

7:29 — Having finished HTML 5 and CSS, Bootstrap, and jQuery, FCC now wants me to develop some front-end projects in a code editor called CodePen.

7:51 — I’ve finished setting up my CodePen profile and am ready to get started with my front-end project. For the first project FCC wants me to build a tribute page. Doing so sounds extremely simple to me, but I’m sure there will be challenges that I’m not yet anticipating.

7:52 — I just looked at the sample of what FCC is asking me to build and it’s appearance is incredibly simple. It’s an image followed by some text.

13:37 — I’m now working on the tribute page project. It’s going well thus far. I’ve spent the past several minutes getting the basic text on the page. I’ll spend a couple more minutes doing this and then I’ll probably spend a significant amount of time styling the page to make it attractive.

13:56 — The first issue I’m having difficulty with is formatting my tribute page. I need to add code so that my image properly fits the page, and also introduce code that’ll prevent my text from appearing on the same line as my image.

14:09 — This is enough for now… I’ll spend more time working on this later. This is going to take more time and review to style than I had anticpated. Although i don’t immediately know all the answers to do what I’d like to do here, I am confident in my ability to seek out and find the answers.

CONCLUSION: Today was a decent day for programming. I really feel I’m going to learn a lot from this tribute page project in the coming days.

Programming Time Today: 2:17

Total Programming Time: 8:50

Day 5

Today is my first day of learning to program while also having had to work in the morning and the afternoon. The other days I’ve only had to work in the morning or afternoon if at all. Even with this being the case I intend to put in a couple hours of programming in tonight.

18:00 — I definitely feel as if I need to get back into the programming mindset. It’s been more than 24 hours since I last looked at code. That’s the longest my eyes have been away from this project since it began.

18:15 — I’m currently doing some basic styling stuff. Adding Custom fonts, writing a caption, creating a border around the image… things of that nature. These are simple enough to do, even if I don’t remember most of the code. A quick reference to the coding exercises from earlier this week have me updating my tribute page relatively easily.

18:30 — It’s something so simple, but I feel so cool being able to create any border I can imagine around my tribute page image. Sure, I could draw the type of border I want with crayons and then ask a designer to create it for me, or I could use one of those picture editing apps like Canva to create a border. Yet, both of those options are limited in some respect. I feel having the knowledge and being able to manifest any creation I want with code is so powerful and such a great expression of creativity. I really believe the creation of this border is a small representation of the great power knowing to code truly gives you.

18:42 — I’d been having trouble with my caption not displaying earlier. However, I was easily able to fix my code by looking at html5doctor.com. Although it’s still quite ugly, I thought it’d be fun to attach a screenshot of what I’m currently working on below. There’s a lot more time I need to put into this project, but it’s starting to get closer to the look of a poorly styled draft simply needing revision.

18:58 — I’m having a minor headache on how I should center the caption to the image. I’d like “Michael Jackson during the Thriller Era,” to be centered in respect to the image above it. I’m not sure if I’m supposed to be using <div> or <span> or what to do this, however.

19:41 — Good god, I’m still working on how to center the image along with the text. I’ve tried using different <div> elements and a .caption class that is set to (text-align=“center” and width=“617px”), but I deleted those and am moving on now because those methods weren’t working for me. I probably wasn’t applying them right in some way, but it was a headache nonetheless. I could center the text alone, but I couldn’t figure out how to center the image with the text.

19:51 — Well, we’re finally making some progress. I looked up tutorials on Youtube, and found a tutorial on centering images in HTML. I was able to center my image by displaying it in block, and then setting the left and right margins to auto. The code itself appeared like this:

… style=”display: block; margin-left: auto; margin-right: auto;”…

This code of course, was contained within my img element. Now, if only I could figure out how to center my text along with my image…

19:55 — I’ve succeeded, at least for the time being. I was able to center my text by writing <figcaption style= “text-align:center;”>

20:08 — This tribute page is starting to come along nicely. It’s still extremely basic and lacking style, but at least the formatting is beginning to look better. I’ve also added an anchor link to credit a website for borrowing the image for this project. Here’s the latest screenshot of my project. Again, it’s super basic, but at least we’re making noticable changes in a respectable amount of time.

CONCLUSION: Today was a solid day in my programming journey. Despite having a full day of work, I still managed to log over two hours onto my tribute page. It’s coming along very slowly, but surely. I’m excited to work on this project more tomorrow. I want to add background colors to my page, and I also think it’s be cool if I could insert an animated .gif of Michael Jackson moonwalking and perhaps clickable buttons that include answers to trivia questions.

Time Programming Today: 2:10

Total Programming Time: 11:01

Day 6

Let’s see how much work we can get done today.

11:25 — Time to pick up where we left off yesterday.

11:33 — I intend to add a timeline to my tribute page now. I think the black and white picture along with a timeline and a gray background will make for a very classic, and clean design.

11:59 — I’m making a little progress, but now I’d like to figure our how to add the background color of silver or gray for my headings and paragraphs.

12:08 — I’m having some difficulties with this, it’s going to take some work.

14:38 — I took a break, but after coming back I’ve managed to add background colors to my <ul> and <li> elements.

14:45 — It’s not super attractive yet, but at least the page is beginning to look more complete. I’ll come back and do more work on it tonight.

17:35 — I’ve added a background color to the body now. I’ll spend the next several minutes getting all of the colors to match and look attractive together.

18:10 — Well, I worked on the colors for quite a long time. One thing is for sure, I’m not gifted at choosing complementary colors in design. If I ever designed websites for clients, I’d benefit from reading a book or lots of blog posts about color selection.

18:21 — I’m quickly updating the timeline with all of the years and events before I focus on the next programming change.

19:00 — I completed the timeline and am now a lot more comfortable with <ul> and <li>.

19:54 — I took a break to walk and eat a little bread at the bakery. Now I’m back, trying to add a dancing Michael Jackson .gif to my tribute page

20:20 — I was easily able to add .gif to my page, but the difficulty is in aligning two .gifs so that they display on the same line. Even though I’ve already aligned them and set them to the same size, they’re still not displaying the way I’d like. As you can see from the image below, the .gif on the right is displaying slightly higher than the one on the left. This offset screams poor design and is something I’d really like to fix if I can figure out how.

20:37 — I’ve given up on aligning the two .gifs for now. It’s a problem with minimal benefits for solving whereas a comparable solution is much more simple and relevant to me at this point in my learning curve. For now I plan to simply set a single .gif to take up the entire width of the screen.

21:07 — I’ve gotten a single .gif to be basically the entire size of the screen (when width was set to 100% the height increased as well and the image simply got too large and looked poor).

21:13 — After some more persistance I’ve succeeded in making a large .gif, centering it, and including an image source anchor link text.

CONCLUSION: I forgot to write a conclusion last night, but I’m almost done with the tribute page.

Time Programming Today: 4:13

Total Time Programming: 15:16

Day 7

It’s hard to believe that after today I’ll already have been programming for a week. I’ve had a lot of fun, and even have an outside chance at hitting 20 hours of programming in my first week. There is no doubt in my mind that next week I’ll spend even more hours programming, but this isn’t a bad start.

8:44 — I’m a little frustrated because I forgot to charge my computer when I came home last night. As a result, I’m left with only 13% battery. Oh well, it should get me through a quick 25 minute session to touch up my tribute page.

9:02 — I tried to figure out how to play background music on my HTML5 page, but it was rather complicated. I’m skipping that for now.

9:10 — I’ll have to come back later.

12:42 — I’ve now added external links to Jackson’s wikipedia page, and a video that teaches his dance moves.

12:53 — Aside from lacking the background music I considered adding before, my tribute page feels pretty full now. I’ll look over it one more time before I submit it as my first completed project as a front-end developer! It’s a small milestone on my journey, but it is something to get excited about. Appreciating the small wins is what’ll allow you to maintain the motivation to persevere during the times your journey is difficult.

13:04 — I’m going to submit my tribute page now. It’s not perfect. In some areas the spacing between different elements does not look well designed. Also, although the website displays perfectly on my iPhone in a vertical orientation, it won’t scroll below the gif if I attempt to view the page horizontally. Yet, the gif and evrything above it displays perfectly. Again, although things aren’t perfect, it’s goof enough for now. I learned a lot from building this page, and I also learned a lot about what I don’t yet know. This project can be viewed here: http://codepen.io/camchardukian/full/mOXZWE/

(This looks more poorly formatted than it is because I resized and put together multiple  screenshots for this quick image compilation. It’s just to give you an idea of what my page looked like if you didn’t bother to click the link.)

14:26 — I never doubted my ability to complete the tribute page project. In fact, I was highly optimistic I could complete it fairly quickly — and I did. I am feeling a bit more doubt around the personal portfolio page project, however, as it appears much more complicated than the tribute page. I suppose it’s inevitable I’ll complete it given I put in the time, but I’m not as confident as I was going into the last project. This project also appears less straightforward on first impression.

14:44 — It’s about time for me to head out again. I’m still quite intimidated and I feel myself wanting to procrastinate on this project. I know it’s important I keep moving, however, to keep my momentum.

16:27 — I’m back. I think I’m going to attempt to do the portfolio project with a tutorial before I attempt to do it on my own. That seems a good way to do it, as I’m currently perceiving this project to be a bit above my level. I think that if I venture out on my own and attempt it right away I’ll get frustrated and quit.

16:31 — I was just reading about the scrollspy bootstrap plugin. As you scroll, this plugin will highlight the part of the navigation bar you’re currently viewing. For example, if you’re viewing the ‘about me’ content you will see ‘about me’ highlight in the navigation menu.

16:43 — Man oh man, I’m not concentrating too well right now. I don’t know what’s going on, but I’m zoning out a lot. I think it’s my brain’s defense mechanism from trying to work through these difficult problems. I’m going to quickly work through this tutorial to build a sample personal portfolio page and then I’ll probably try to build another one on my own.

16:59 — I’ve been working through the personal portfolio and there’s many elements and concepts that I understand. A lot of the things about the nav bar I don’t really get yet though, and I’ll have to read about them.

CONCLUSION: Today was a solid finish to my first week of programming. I finished the Tribute Page I was working on and began looking a little at the next project. I put in a couple hours today, and am happy with the strides forward I made this week.

Programming Time Today: 2:48

Total Programming Time: 18:03

Day 8

Unfortunately I haven’t been able to program much today. I had local work, as well as 5.5 hours of work editing an ebook. I could’ve finished that ebook in under 4 hours, but I dealt with some of the formatting issues inefficiently.

Let’s get 15 minutes or so of code before I get to sleep to maintain the habit.

11:45 — I’m beginning to copy code from the tutorial. I vaguely understand the code, but I’d like to at some point isolate the different elements and classes this code introduces to better study them.

11:58 — I typed the code from the tutorial by hand into my Codepen. I feel I mostly understand why the author wrote the code he did despite not understanding all the elements. What I don’t yet feel confident in, however, is my ability to replicate that code (at least without outside help).

CONCLUSION: Today was kind of a lame day of coding. I only got about 20 minutes of coding in. Oh well, I did some other great work on the ground and online today.

Programming Time Today: 0:20

Total Programming Time: 18:23

Day 9

After a slow day yesterday (at least in regards to programming), it’s time to get hustling!

13:13 — I’m working on finishing the tutorial from the last couple days now.

13:28 — Even typing all the code from the tutorial by hand wasn’t teaching me a whole lot. It was also quite monotonous. Let’s get to something else.

13:32 — For a small little project I think I’ll program an HTML multiple choice test.

13:46 — Even looking at code from a tutorial I have no idea what the fuck I’m doing for this HTML test. Oi, I need to find something fun to do with coding today so that I don’t get too frustrated and give up.

13:52 — I just signed up for Code Combat. The reviews from Reddit say this is a fairly decent way of getting introduced to a lot of basic computer science stuff. I figure it’ll be more fun, and thus at least keep me coding. That’s the most important thing as I began to feel myself getting quite frustrated and discouraged.

14:14 — This seems to be a decent introduction to different aspects of coding. While I’m not going to learn how to build an attractive website with this game, I will learn about different elements, and how to apply different programming concepts.

14:19 — One example of something I’ve learned from the game already is while (true) loops. Because true is always true, these loops always repeat forever.

19:48 — I’m playing this CodeCombat game again. I’m not really clear on what I’m learning. Sure, I kinda learned about variables and strings, but I just don’t know how to apply anything. There’s so much that I don’t know about programming and probably even so much more that I don’t know that I don’t know. It’s a bit overwhelming.

CONCLUSION: I’ve got to be careful. Today had me terribly discouraged and I can’t allow myself to lose my habit of daily practice. I need to create reminders and purposes that inspire me to continue progressing even when things get difficult.

Programming Time Today: 2:22

Total Programming Time: 20:45

Day 10

I’m feeling quite low on motivation for my programming projects. This is unfortunate. For that reason, rather than being focused on the most efficient way to learn, I’ll simply do anything today that interests me and is directly related to some form of programming.

14:28 — To start today I’m going to work through the Codeacademy HTML and CSS website. This is a simple low resistance way to get me going to work on some form of programming skills.

14:31 — Three minutes into this course and I already learned something useful. I learned that <!DOCTYPE html> or <!DOCTYPE (insert language here)> should be written at the top of a programming document so that the browser knows which language your code was written in.

14:35 — The course has also now begun to discuss some of the terminology used in HTML. Being taught words like element would have been very useful during my first day of programming.

14:43 — I learned that the minimum amount of HTML code you need to structure an HTML webpage is called “boilerplate code”. This includes things like html tags, a declaration of the language you’re programming in, etc.

14:55 — I just learned that by using a target attribute with a value of _blank we can mandate that a link opens in a new tab. I knew from working on WordPress that it’s quite simple to open a website in a new tab. I also understood the benefits of doing so. What I didn’t understand is the technical element of how a browser knows to open certain links in a new tab.

15:11 — I’m incredibly tired, but I’m still here slowly trudging along. I’m trying to get to an hour of consecutive programming before I reward myself with a nap. I’ve got to remember to keep my fitness in check as I spend more and more time on the computer. My energy is extremely low today, in fact I just typed today as toady and felt my eyes close shut while doing so.

15:13 — Something I just learned about is the HTML line break element. This is a self-closing element that you can add anywhere in your code. When that code is displayed it will cause a line break to be inserted into the document in that spot.

15:16 — Just learned that the space between code is called whitespace. Altering the degree of white space in your code can make it easier or more difficult to read.

15:20 — I’ve already completed the first two HTML sections of Codeacademy’s course. I’m really tired now, but I’ll try to do maybe two lessons from the CSS section before I crash.

15:23 — I just learned something very simple, yet very important. Codeacademy just taught me that the code within HTML <style> tags is CSS. This means that when I was programming in Codepen I didn’t actually need to use the CSS pen. I could’ve simply included all the CSS elements within a style element in the HTML.

15:28 — I also learned that if the HTML and CSS file are separated that they must be linked. If they are not linked the HTML file will not be able to implement the styling you have designated in the CSS file.

15:33 — I’m pooped. I lasted over an hour, which is satisfactory for now. I’ll get in one more coding session sometime before bed tonight.

17:17 — I’m back again, and I’m learning a lot about styling in CSS. The first major thing I just learned about is the universal selector. Normally to select elements for CSS styling you use code like h2 {font-family: Times New Roman;}.

However, using the universal selector (which is an asterisk), you can select all the elements on the page. For example, if you wanted all your elements to be written in Arial you could write code like this *{font-family: Arial;}.

17:25 — I just learned that you can also comment on your code in CSS. This is done with the following code: /* Insert your comment here */

17:35 — The course is reviewing stuff about how to color elements using CSS. I’m going to head to dinner now, and get another hour or so in before bed later.

CONCLUSION: I didn’t make it around to programming for another hour. Me and my girlfriend took a huge walk around the city instead. That leaves me with maybe 1.5 hours of practice on the day.

Programming Time Today: 1:38

Total Programming Time: 22:24

Day 11

Time for another day of programming. So far I’ve been averaging about 2.2 hours of programming per day. Even if I don’t get that to the 6 hours of daily practice I originally envisioned I’d like to get it to 3 hours per day. I really want to be spending at least 20 hours a week improving my skills so that I have a sustainable income for future travel. Anyway, back to the CodeAcademy course now.

6:52 — I just learned a major feature I hadn’t previously known about — coloring elements. By adding an a to your rgb or hsl attributes, thus rgba or hsla, you can change the opacity of an element. Cool! I also learned that in CSS you can make multiple declarations for colors (or other attributes I assume) as a backup for attributes that may not be supported by older browsers. If you do this, it’s important to note that the last declaration you declare takes priority while earlier declarations will be used as backups.

CONCLUSION: Today was a relatively light day of work. It was me and my girlfriend’s one year anniversary so we spent most of the day together.

Programming Time Today: 0:43

Total Programming Time: 23:07

Day 12

My girlfriend is out working today so I feel confident I’ll get at least a couple hours of programming in today.

11:53 — I’m continuing the CodeAcademy course today. So far I’ve learned a couple new things like how to set the spacing between lines (line-height), the spacing between words (word-spacing), and the spacing between letters (letter-spacing).

11:59 — The course has now also covered how to style fonts with italics, bold, uppcase/lowercase letters, etc.

12:09 — I’m now in the part of the CodeAcademy course that talks about IDs and classes. The CodeAcademy course explains these concepts much better than FreeCodeCamp did. I now feel I have a much deeper understanding of classes, IDs, and why there exists a need for them.

12:16 — CodeAcademy was just very helpful to me because it helped me to understand the purpose of the div element. According to them, <div> can be useful for grouping elements that belong together. This can help increase the readability of your HTML code, something that must be very useful when collaborating with other developers.

12:20 — Ahhhhh. The real reason divs are useful is that they can contain multiple elements. Thus, by styling a single div element you are able to style all of the elements within that div. BOOOOO-YAAAAH! #EPIPHANY

12:25 — I’m now halfway done with the CodeAcademy HTML and CSS course. Although I haven’t learned about a whole lot of new things to do with code, this course is really helping me solidify the knowledge I already have. I’m going to take a walk now and get to doing some more code later.

13:15 — I just completed some lesson about the box model in HTML. I only vaguely understood it. I don’t understand why I’d need something like overflow: scroll. Why would I need to add a scroll bar when my page in Codepen scrolled automatically? Was the scroll bar built into codepen and something I didn’t realize. I don’t really know. For now, I’m just going to keep moving forward.

14:34 — Just finished a section of the course that talked all about styling borders. I didn’t learn many new things, but it was good to refresh. One new thing I did learn is that you can be more efficient with your code by using the border property. Using the border property you can specify all of the border attributes in a single property.

14:38 — The space between the content inside of a box, and its borders is called padding. In addition to learning that, I also learned that you can specify the amount of padding you want on each side of your content.

19:07 — I’m currently learning about different ways to position HTML elements. I understand this is important in practice, but learning the theories of positioning in this course is somewhat dull at times. Oh well, I’m sure I’ll be much more motivated when it comes around to actually applying these in real projects :). It’s good to get a overview on these different ways of positioning before we get to that point though.

23:47 — I just learned something totally cool. I learned how to add background images to HTML elements. This can be done in CSS with the following code

{ background-image: url(“insertURLhere”) }

CONCLUSION: Today was a decent day for programming. In fact, my time calculator said I spent exactly 10% of the last 24 hours programming. Not bad. I learned a lot today about styling text and images in CSS.

Programming Time Today: 2:24

Total Programming Time: 25:31

Day 13

It’s time for another day of programming. I’d like to spend at least 2-3 hours learning to program for each of the next two days. This would allow me to reach over 30 hours of practice in two weeks. If I continued at that rate, I’d realistically be ready to be a junior developer in 15 more months. That’s not quick enough for my desires, however. I’d have to double this rate of practice to be junior developer ready before the end of next summer. Let’s not think too far in the future yet though. Let’s take it one day at a time, one hour at a time, and one element, property, and attribute at a time.

12:28 — I’m still on the CodeAcademy HTML and CSS part I course. The good news is that I’m almost done with it, and I’ll certainly finish it today. Right now I’m learning about how to control the size of background images, and whether the images will move up and down as the user scrolls the page.

12:38 — This is exciting. I’ve moved on to the last section of this initial course. We’re covering something I haven’t yet learned about — How to create and style tables with HTML and CSS. This will help me create websites that can easily present data such as statistics, lists, etc.

12:44 — It’s been great learning about tables in this section of the course, but I also just learned something else new. I can’t believe I didn’t realize it before but this website isn’t called CodeAcademy, it’s called codecademy. Hahahaha. I’m not going to go back and change the earlier mistakes in this journal. It’s an honest learning mistake and something I, and likely others will find amusing as well if they were to actually read this.

13:15 — Excellent. I just finished the HTML and CSS part 1 course. Codecademy has a couple other courses related to HTML and CSS. I’m sure they’re largely related to the course I just completed, and there’s likely to be a significant amount of overlap between the courses. Yet, I don’t yet consider myself to know all the ins and outs of HTML and CSS. For that reason, I think I’ll spend another few days working my way through the related courses. For now though, I think I’ve earned a nap…

17:18 — Guess who’s back, back again? Yeah yeah yeah, alright. Let’s get to it. I just learned the precise definition of the term syntax. In regards to coding, syntax refers to a language’s rules for communicating.

17:45 — I just finished that HTML basics course. It was extremely easy. I probably shouldn’t have even spent my time on that course. Oh well, at least it was a good review and helped increase my confidence. Next, I’ll go through the course about building a webpage with HTML. Actually, it looks like building a webpage with HTML is the course. I think I was wrong and the basics of HTML was just the first section of another HTML and CSS course. Whatever, it’s confusing, but I’m just going to do all the courses that involve HTML and/or CSS. After that I’ll move on to Javascript and then maybe JQuery or SaSS or Node.js.

18:19 — This course has been mostly a review thus far. One interesting thing I did get to practice, however, was creating unordered lists within ordered lists and vice versa. Things are mostly basic, however, and I imagine I’ll finish this course in well under half the time codecademy projects users to take (due to already being familiar with basic HTML and CSS.

18:24 — I just learned that inline styling, is using CSS to style HTML elements without needing a seperate CSS file.

18:34 — It was good to practice inline styling. I feel very comfortable with inline styling now, whereas before I just had a reasonably decent understanding of it.

CONCLUSION: Today was a solid day. I reviewed a lot of the basic HTML and CSS concepts. I got much more comfortable with them today. I also increased my fluency with them; what I mean by that is I’m now more comfortable typing things like <p style=“font-size: 14px” without having to always consult code each time. Though obviously, having code to consult is great and makes things easier.

Programming Time Today: 2:17

Total Programming Time: 27:49

Day 14

Today will have been two weeks of programming. I’ve made a respectable amount of progress in these two weeks, but I want to continue progressing at an even faster rate. I have to put in the work though if I want to make that happen.

14:35 — I reviewed some yadada about bolding and italics. (<strong> </strong> and <em> </em>)

16:26 — I just finished making a basic social networking profile using HTML and CSS. It was pretty easy. I’m very comfortable at least with basic HTML, inline styling, and CSS now.

16:36 — I’m reviewing this stuff about building tables now. I’m sure it’ll be useful at some point, but I’m currently feeling it’s quite dull. I’m having to try to consciously psych myself up for the tables so that my mind stays engaged.

16:58 — Nothing special in the lessons thus far. Just extra practice with HTML basics. I suppose we have just a couple days left focusing on HTML and CSS, however, before we start focusing on Javascript. It’s crazy that a week ago I was sitting in this same cafe finishing my tribute page, and a week before that I hadn’t even started programming yet.

18:47 — I just spent the last 15 minutes or so building a 3×3 table of images. It took a long time to construct it due to all the <tr> <td> <img src> and <a href> tags. I’m done now, and a bit tired. I haven’t had a chance to nap today. Oh well, I gotta keep moving forward because I’d like to get at least another 45 minutes of programming in tonight. It wouldn’t be wise to take a break now because my girlfriend will come home soon and it’s tough to get long stretches of coding in while she’s here.

19:16 — I just learned how to link up an HTML document to a CSS stylesheet. I couldn’t tell you the exact code from memory, but I could easily search it on stackoverflow or google now and apply the code into a project of mine without needing to think about things.

21:04 — I’m still reviewing HTML and CSS. I figure this can’t hurt as they are the foundation of all programming (from my current understanding). The last 10-15 minutes have been almost entirely review, but something I just did for one of the first times is styling images in CSS. That was interesting, and something I’m sure I’ll do many times if I’m developing web pages for companies. I’ve also learned how to change the “text-decoration” of links. This allows me to select whether links will appear with an underline or not, and I’d imagine there’s other options as well.

CONCLUSION: Today has been a solid day for programming. I again reviewed lots of HTML and CSS concepts. My understanding of <span> was greatly solidified. I’d now feel comfortable using <span> in my own projects. I also learned how to style links (which I can’t imagine I’ll use much), as well as how to link an HTML document to a CSS file, and how to style images using CSS.

One interesting application of the <span> element (should I call it an element?), that I’m sure I’ll use is the ability to style individual words within a paragraph or heading. I’m CERTAIN that I’ll use this when designing web pages, and especially if I got into landing pages. One excellent application of <span> would be to set its background color to yellow. Something like this in CSS…

span {background-color: Yellow;}

Then I could nest words within the span tags, and the result would be highlighted text. This is a sentence with <span> highlighted text here </span>

Pretty cool huh? I’m sure this will be very useful when highlighting text to show why something is such a screaming deal. Who said some basic HTML and CSS couldn’t improve one’s copywriting skills? Anyway, I’m about done for today. Let’s check our programming times now…

Programming Time Today: 2:21

Total Programming Time: 30:10

Day 15

Time for another day of programming.

9:55 — I’m working on a codecademy course that’s helping me solidify my understanding of buttons. Of course, I’ve already been exposed to things like border-radius because of FCC. Yet, I know I’ll benefit from much more familiarity with learning about buttons so I’ll continue working through this section of the course. More than that, I’m excited to do so 🙂

10:05 — Cool, I just finished the section of the course that teaches you how to create a basic button in CSS. There is one thing that I don’t yet understand, but that I’d like to learn. How can I next an img src within the div element so that my button appears and within the button is a background image? That would make for an excellent design, but unfortunately it’s not something I quite understand yet.

10:12 — I just learned something awesome! In CSS, it’s possible to have multiple selectors. This means for example, that you could only apply a certain styling to a <h1> that was nested within two <div> for example. That could be accomplished in CSS with the following code:

div div h1 {insert styling here}

10:23 — The course was just talking about, parents and siblings, and children. Although I was briefly exposed to this idea before in the world of programming, I understand it a bit better this time around.

10:42 — I’ve been coding for almost an hour straight and my wrists are starting to hurt a little bit now. When I switch to doing exclusively remote work, I’ll have to really focus on maintaining the health of my wrists. Even when I make it to a high hourly rate programming at some point, perhaps I’ll find physical work of some sort so that I’m able to have longevity in this field.

11:46 — I took a bit of a break to put my laundry away, eat a snack, and do a little walking. I’m back at it now and I’m beginning to learn about pseudo classes. I’m not sure the full application of pseudo classes yet, but one thing you can do with them is indicate whether a link has been clicked yet, or change the color of the link as a user hovers over it.

12:03 — I was just staring at my screen for legitimately trying to figure out why my code wouldn’t run. I tried adjusting it several times without success. Eventually I figured out the problem. It was so simple. I had a closing tag for one of my three links that was written <a/> instead of </a>. Hahaha, glad to have figured that one out.

12:13 — Ahhhh. Here’s the interesting application of pseudo classes. You can ask that the first child of an element be styled in a certain way using CSS. Example CSS code:

h1:first-child {color:blue;}

Example HTML code…

<body>

<h1> </h1>

<p> </p>

<h1> </h1>

The code above would cause the first <h1> element to become blue as it’s the first child of the body element. However, the second <h1> element wouldn’t be styled because it’s the second child of the body element. (IMPORTANT EDIT: The second h1 would actually be the third child of the body, while the p would actually be considered the second child of the body)

12:30 — Cool, I just finished the section of the course about classes, ids, pseudo selectors, and children and parents. I learned a lot, and also further strengthened my understanding of HTML and CSS.

17:14 — Alright, it’s been a few hours since I was last grinding it out on the computer. I took a break to eat lunch, nap, shower, and then do some real life work. I’m back here grinding again though. Right now I’m sitting in a restaurant called Buddha Chay. I began my programming journey here two weeks ago. I’ve progressed a lot since then, and I’m excited to continue learning more!

17:19 — I’m about to have another set of lessons on the box model of HTML. This is good. I need to have more exposure to the box model concept in order to fully understand it.

17:25 — Me oh my. That was a FAST section of the course. There was little more than a brief description of the the display property and the different values you can assign to it (block, inline, inline-block, and none)

17:37 — I just finished a part of the course that talks about margin, padding, borders, etc. Although I’d seen and worked with these a little before, I feel much more comfortable with them now. This Codecademy course was extremely useful in helping me understand margins.

17:42 — I just finished a set of lessons about floating elements. I have a basic understanding of how to position elements by floating them. I have enough familiarity with them that I’ll remember they exist and I could effectively implement floating by reading about it the next time I use it. My understanding isn’t so good, however, that I could explain floating to someone else though.

17:58 — I’m about to start the last set of lessons for the HTML and CSS course I’ve been working on the last few days. After this I think there’s one more course related to HTML and CSS before I get to javascript (ohhh scary!). At this point I’m not quite sure what type of work I’ll be doing in this field in 6-12 months time. I’m sure I’ll gain a lot of clarity on that in the coming months. For now, let’s just enjoy the process of learning and becoming a better developer!

18:21 — I just finished my 2nd HTML/CSS course with codecademy. Next I’ll complete an HTML/CSS course called, “Make a Website”. This course will teach me how to make a basic website (something I have a decent idea of at this point) using HTML and CSS. I’m going to take a quick break right now though to go to the bathroom and then walk from this restaurant to another cafe to do more coding. This will give me some exercise, while also giving my eyes and wrists a break. Longevity is a key to success. You’ve got to take care of the body.

19:03 — This new course has been extremely easy so far. I’m going to complete it probably in less than two hours. I do intend to finish this course, however. The last 25% of the course uses bootstrap, which is something I want to become more comfortable with.

19:08 — Whadda ya know? As soon as I think this course is easy and nothing aside from a leisurely review it teaches me something. I’ve known for a long time now how to insert images into my web pages. That’s simple, just use <img src=“imageURLhere”>. The course just taught me how to include videos in my web pages. Cool, let’s keep expanding this knowledge base!

19:42 — I’m more than halfway through the course already, but my attention is starting to dip. Every several minutes I begin staring into space. It’s a bit of a daze. I just checked, however, and I’m at more than four hours of programming for today though. That’s pretty cool! If I spend another 20 minutes programming before bed, today will be my most productive programming day ever!

CONCLUSION: Today was a great day of programming. In fact, I’m pretty sure I spent more time programming today than any other time in the last two weeks. Pretty cool huh? I made a lot of progress towards my goal of becoming a junior web developer today.

Programming Time Today: 4:15

Total Programming Time: 34:25

Day 16

Yesterday was an excellent day for programming. I’m not sure I’ll be able to exceed four hours of practice again, but it’s a great goal worth shooting for! I’ve got to work several hours this afternoon, so I’ll aim to get the majority of my practice in this morning, and the first couple hours of the afternoon.

9:38 — Here we are back to the yadada about CSS positioning.

9:42 — Cool, I just finished the CSS positioning section of the course. I’ll now begin today’s practice with Bootstrap. According to codecademy Bootstrap is a CSS framework. This means it already has written rules that I can utilize without having to write those rules myself.

9:50 — I’m currently reviewing Bootstrap’s container, row, and columns classes. Although I mostly understand them on an intellectual level, I need to practice with them more.

10:16 — Awesome, I just completed the Bootstrap section and am now officially done with Codeacademy’s Make a Website course. What’s next? I think it’ll be the codecademy Javascript course!

10:22 — Ahhhh whatever. I think I’m going to do the command line course in codecademy. It’s a quick course, and some reading indicates it’ll likely be useful to know regardless of what development projects I do. So, let’s get to it… after a bathroom break and taking some time to meditate.

10:58 — Oiii Oiii. The command line is dull. I read about it on Reddit and they say the codecademy course was abstract and doesn’t provide many specific examples of the utility of the command line. I’m just going to ignore it for now until I actually need it for one of my projects.

11:03 — Yikes. I just started the Javascript course and there’s a ton of new terms being thrown at me. Here’s the summary of what codecademy told me about these new words. A strong is a group of words or numbers surrounded by quotes or double quotes. A number is any number without quotes. A Boolean is always the words true… or the word false. A boolean does not have quotes. It also appears to be case sensitive as I tried to write True in my code and it didn’t function properly.

11:11 — I just learned about another new thing called the console log. We can use the console log to ask javascript to print words.

11:14 — We can do basic math in Javascript using +,-,/,*. We can also find the remainder of a division problem using the modulus.

11:22 — Here’s some other basic things to remember… We can use Math.random to generate a random number, and Math.floor to turn that random number into a whole number. We can add single line comments to Javascript using // and commenting out multiple lines can be done with

/* and */

13:01 — Just when I was starting to get really comfortable with HTML and CSS, I move to Javascript and I feel like I’m in the deep-end again. The only difference, is this time I know I can work through it given enough time. It’s super self-assuring to know that even if something is initially difficult to comprehend, that you know you have the ability to understand it if you spend enough time immersed in it.

20:21 — I’m coming back in the taxi and doing some programming. I’ve got to say, this Javascript course is really dense on Codecademy. It’s throwing a ton of new stuff at me quite quickly and I’m having a lot of difficulty understanding everything. The thing that’s keeping me going is knowing that the concepts will become much easier to grasp everytime I am exposed to them.

20:38 — I’m going to get out of the taxi soon and I’m just deflated so I’ll have to come back and do more work on the javascript course later.

CONCLUSION: Today was a solid day for programming. The Javascript course has been a bit difficult, but I’m not overly discouraged. Man I’m tired though. I’m going to get a good sleep, get a massage to relax from a long week of work, and then get back on the programming tomorrow.

Programming Time Today: 2:40

Total Programming Time: 37:05

Day 17

Wow, we’re almost up to a full-time workweek of code now. While 40 hours isn’t a TON of code, it’s a decent milestone. I’m likely to reach 40 hours of coding today and that’s exciting. It’s only about 4% of the practice I probably will need to get a solid entry-level programming job, but it’s a great start. Let’s keep pushing forward.

11:28 — I feel like I’m over my head in this javascript stuff. On virtually every step of the Javascript course now I’m having to ask for hints, copy templates (if not the exact code itself), and sometimes I still need to steal code because I can’t figure things out.

CONCLUSION: Today was a really mediocre day for coding. I’m a bit burnt out. I didn’t get my message today, and I spent way too long in a mindless daze in the depths of the internet. I have to do something to relax tomorrow.

Programming Time Today: 1:33

Total Programming Time: 38:37

Day 18

I don’t know how much time I’m going to have to program today. Today is more of a maintenance today because I let some of my life get out of balance. Today I’ll have to go to sleep early to catch up on sleep from last night. I stayed up late last night to wait for my girlfriend. I also worked full shifts at two locations today. In addition, I got a massage this morning to help reduce the stress I’ve been accumulating the past week or so.

On the bright side, I feel a world of a difference from yesterday. Yesterday I felt completely depressed, lost, and unmotivated. Today I don’t feel exceptionally motivated, but I’m floating around my baseline again.

19:09 — Today I signed up for a free trial on TreeHouse. I’ve heard from lots of people that their excellent video curriculum makes it easier to learn coding. It’ll be $25/month if I keep this membership, but that’ll be well worth it if it helps me focus and learn coding just a little bit more effectively.

CONCLUSION: Today was an uneventful day for programming. I did very little aside from sign up for a free trial of TreeHouse. On the bright side, I did do some things that revunenated me. I feel much better emotionally than I did a couple days ago. Even if I didn’t make visual progress forward today, I did recharge. That’s equally important in the long run.

Programming Time Today: 0:24

Total Programming Time: 39:02

Day 19

I hope I can regain my momentum with programming again. It’s been pretty difficult for me to concentrate the past few days and I’ve made very little progress. Anyway let’s get back to it.

18:54 — I’m working through the Treehouse Javascript basics course that’s included as a small course within the front-end development track.

18:56 — Because I’ve had difficulty concentrating the past several days I’m still at an extremely basic level of javascript knowledge. For example, one of the questions on the quiz I was just taking asked me how to include javascript in HTML. I knew I needed to make script tags, but I had no idea what code to include in these tags to reference the javascript file. I had to look that up. To reference a javascript file from your HTML document the code you can include is:

<script src= “InsertJavascriptDocumentNameHere”></script>

<script src=“shout.js”></script>

19:03 — One thing I love about TreeHouse is that it enables you to adjust the speed your tutorials are played at. You can slow things down to 0.75x if you’re trying to type code along with the tutorial, or you can speed it up to 1.5x if you want to condense the lesson and learn more quickly. This feature is priceless.

19:14 — I just learned to use my browser’s console. This allows me to check my javascript code for errors. What’s more helpful, however, is that the console is able to tell me what lines my errors are on. It’s also able to give me hints on how to fix the errors. It may tell be that something I wrote is not a function, or missing parentheses or something like that.

19:23 — In the video I just watched I learned that you don’t have to repeatedly write

var example= “Something”.

After you’ve defined the variable once, you can simply set it equal to new values later in your code.

19:33 — I just got a cool little tip from the video I watched on strings. We can define strings with doubles quotes if we want to easily include an apostrophe within our string. Similarly, we can use single quotes to define the string if we want to inclulde dialogue or otherwise use double quotes within the string. Of course these both can also be accomplished with a \  mark before the quotes.

19:43 — Want to get input from the user. It’s easy to do so. Simply include the following code

prompt(“insertPromptHere”)

19:47 — I find it amusing, though a bit ironic that TreeHouse shows this message everytime I complete a lesson. Oh if only they knew my struggle.

CONCLUSION: Just a decent day today.

Time Programming Today: 1:30

Total Programming Time: 40:32

Day 20

It’s time to do some coding. Let’s get to it.

19:41 — I’m using Treehouse to learn about javascript strings now. In the first video I watched today I learned that combining strings is called concatenation. To combine strings we simply use a + sign.

19:51 — One thing you should note if you’re trying to become a javascript developer is that variables are case-sensitive. This means that ‘var firstName” and “var FIRSTNAME” are considered two different variables.

20:24 — I’m a bit frustrated with one of the challenges I’m working on now. For some reason my Javascript isn’t being applied to my program.

20:38 — I was able to apply my Javascript to the HTML file but then it said something about Hello being undefined. I don’t have a Hello in any of my documents so I’m not sure what the issue there is. Anyway, I think this issue will solve itself if I just restart the challenge. I’m going to do some exercise before bed and I’ll solve this challenge tomorrow.

CONCLUSION: Today was a decent day. I didn’t have a ton of time for coding, but I learned a couple important thing like concatenation.

Programming Time Today: 1:09

Total Programming Time: 41:42

Day 21

Alright, I have a feeling today is going to be a good day and I’m going to really get back on track with programming again.

8:43 — I’m going to try to finish that Javascript variable challenge I was working on last night.

9:04 — Cool, I just finished putting together a basic Mad Libs type program in Javascript. It’s nothing too much, but I’m extremely grateful to have put together even a basic program in Javascript.

14:29 — I finished the strings portion of the course and am now learning about numbers.

14:49 — I just learned how to convert strings to numbers using parseInt.

16:30 — Now I’m learning more basic math things that I can do in Javascript. I already knew how to add, subtract, multiply, and divide. However, now I’m learning how to do other things like round a number up, down, or to the nearest integer. I think the next lesson will also teach me how to generate random numbers in Javascript.

18:37 — We’re back again. Right now we’re learning about conditional statements. This allows our program to become dynamic, and adapt to changing conditions. An interesting analogy they offered in the video is that we cal look at if {  } as a true statement and else {  } as a false statement. The thing that really illustrated this well was the idea of an if else statement being like a crossroad between two paths. If something is true you’ll take one path, else if it is false you’ll take the other path. However, you can never take both paths.

CONCLUSION: Today was my best day programming in a while. I credit that to a couple things. The first is the two massages I’ve gotten this week. The massages really help me relax, and rid myself of excess cortisol. The other big thing I credit today’s success to is focusing my RAS ?(reticular activating system) on gratitude and presence.

Because I’ve been focusing on gratitude the last 24 hours or so I’ve felt less resistance to my daily tasks. I’ve also had a greater appreciation for the opportunities I do have. Aside from that, trying to be more present to the moment has allowed me to have a more narrow focus.

This narrow focus increases my ability to concentrate, prevents me from wasting excessive time surfing the internet, and also reduces fatigue from endless mind chatter. Of course, there’s only so much that can change in 24 hours.

Yet, I believe that if I continue focusing on being grateful, doing activities that allow me to relax, and maintaining a narror focus that I’ll continue to accelerate my programming progress. With that being said, let’s get to our programming stats…

Programming Time Today: 2:31

Total Programming Time: 44:14

Day 22

Here goes nothing, time for another day of programming. Let’s get to work.

13:34 — The course has now progressed to discussing Booleans. I think I’m about to learn why using Booleans may give me more flexibility than using simply if, else clauses.

14:00 — The course just informed me of how to use Booleans in the content of if, else if, else statements. Using if, else if, and else clauses allows us to introduce many options into our code.

19:41 — I just learned about another cool Javascript piece of code. It’s called an ampersand. It’s created in code using:

&&

Ampersands are useful because they allow us to only proceed with a piece of code if multiple conditions are true. For example, if a > 1 && a < 10. This represents an idea that the code that follows this would only be acted upon if a was greater than 1 AND less than 10. This provides us with more flexibility in our code.

19:48 — Another useful Javascript operator is the “or” operator. The or operator is represented in code with | |. This allows you to proceed with an action if either of two conditions is true. For example, I’ll go out for dinner tonight if my friends invite me out or I run out of food.

19:58 — I’m really excited for the Javascript challenge I’m about to attempt. My challenge is to build a basic quiz application. This is something that I wanted to build for my girlfriend and I’s anniversary two weeks ago, but I was completely overwhelmed by the code. Now, however, I feel much more prepared to tackle this challenge.

20:38 — My program was working fine until I introduced or operators. I’m not sure why and I gotta get going so I can get a pull-ups workout in before dinner with my girlfriend. I’ll try to fix my program tomorrow.

CONCLUSION: Today was a decent day for programming. I didn’t get to spend a HUGE chunk of time programming, but it looks like I got about two hours or programming in. That’s a decent chunk considering I had to work today. Tomorrow I hope to get at least another two hours in.

Time Programming Today: 2:02

Total Programming Time: 46:16

Day 23

It’s amazing to see the number of days I’ve been programming slowly rising. I knew becoming a competent programmer wasn’t going to be an overnight thing, but even at a modest two hours per day I’m progressing relatively quickly. In fact, by the respected 1000 hours of practice estimate necessary to be ready for your first job I could be ready by the February or March of 2018.

That’s not bad, but my goal still remains to be doing this full-time before the end of 2017. I’ve got to step it up, especially over TET holiday when I have few other obligations. Making progress is going to be a result of making coding a high priority in my life!

9:47 — I couldn’t for the life of me figure out why my program wasn’t working yesterday. Now, however, I seem to have identified the problem. When I used the or operator I forgot to create two logical statements on each side of the operator. Before I wrote:

varanswer1 === “MICHAEL JORDAN” || “MJ”

Although this looks like it would be valid code, it’s not. On one side of the operator I have a logical statement that says the answer1 variable is equal to the string “MICHAEL JORDAN” but on the other side of the operator I forgot to note what the string “MJ” is supposed to be equal to. This is quite a simple error I made, but it still feels good to have been able to identify it on my own. 🙂

10:56 — I just finished writing all the questions, and the answers, and the code. This was a fun challenge. I’m confident I could duplicate the code I created even without the use of external resources if asked to do it again. Conquering this challenge in particular helped me see just how far I’ve really come in the last few weeks.

11:04 — I’m going to take a break and move my body around now. I did some great work this morning! When I come back to code later I’ll begin learning about functions. This is the last section of the Javascript Basics course!

17:01 — I’m learning about functions now. This is fitting as JavaScript is referred to as a functional programming language. I didn’t really understand the difference between variables and functions when I was working on the CodeAcademy course. Now I can easily distinguish them and explain why you’d use functions. Basically, a function is a way to recycle or “call” code you’ve already written. This saves you the time from having to write the same 5, 10, or 50 lines of code over and over again.

17:37 — I just learned that we can make our arguements more flexible by passing arguments to them. This allows us to customize their responses.

CONCLUSION: Today was a pretty good day for programming. I practiced for almost three hours today, and learned a lot.

Programming Time Today: 2:49

Total Programming Time: 49:05

Day 24

Yoyoyo! It’s actually Christmas today. Merry Christmas! Does that mean I’m not going to spend time programming? Of course not! Programming practice may be considered work, but practicing is my Merry Christmas present to my self-esteem today, and success of tomorrow. So, let’s get to it!

11:16 — I just learned that you can have multiple variables with the same name in JavaScript. You could have for example one variable named width inside of a function (this variable is contained within the function scope), and another variable named width outside of the function (which would be contained within the global scope).

17:55 — I forgot to mention this, but earlier today I built a random number selector. The random number selector I created allowed you to input two numbers, and it would choose a random number that was between the two numbers you selected.

18:01 — I just completed the Javascript basics course. Although there’s lots more for me to learn about Javascript, I’m happy to at least have gotten a solid grasp of the fundamentals.

18:05 — I’m beginning a new JavaScript course on TreeHouse that’ll teach me about Loops, Arrays, and Objects. The teacher is again Dave McFarland. I’m happy to have him again as the course instructor. He provides good instructions and is skilled at explaining programming concepts to those without a technical background.

18:14 — I just watched a video about loops. Loops look like they’re going to be very useful. You can use loops to repeat the same code multiple times. This could be useful for example if you want to generate a certain quantity of random numbers, or if you wanted an email server to continually check for mail at certain intervals.

18:23 — Cool, I now know how to create a loop. We can say:

var counter = 0;

while (counter < 15) { counter+=1;  document.write(“hello”);}

This will cause the code to run. Although our variable counter starts at 0 it increases by one each time it runs. Our code will loop, or repeat again and again, until the our variable entited counter is no longer less than 15. Awesome!

CONCUSION: I didn’t get too much programming practice in today. I did, however, get to spend some time with one of my friends that I met on my Da Nang trip earlier this year. I also got to spend some time recharging and enjoying the Christmas holiday. I still moved forward my practice time by about an hour, however, even with all this said.

Programming Time Today: 0:59

Total Programming Time: 50:04

Day 25

Hey, yesterday I passed the 50 hours of practice milestone. This means I’m about 5% of my way towards my goal of becoming an entry-level programmer. That’s the good news. The bad news is at this pace I may still be about 15 months away from reaching my goal. I am very excited about Tet Holiday coming up next month, however. I believe that without any work obligations I’ll be able to spend a lot of time practicing and really make progress with my coding skills. Anyway, let’s get to today’s practice log.

0:56 — I just learned about something called a do while loop. This type of loop is different than a normal loop because it always runs at least one time.

18:46 — I just learned about another type of loop, the for loop. The for loop appears to be functionally the same (I can’t yet 100% confirm this, however,) as the while loop. Although the for loop may appear to be a bit more complex to a beginnning programmer, the main advantage appears to be that it is more compact code. This saves experienced programmers screen space, and typing.

19:03 — JavaScript has a type of statement called a break statement. This provides another way for you to exit your loops.

19:06 — I just realized that it was only a week ago I started using TreeHouse. I’ve learned a ton about JavaScript in the past week. My free trial of TreeHouse ended and I’m now paying $25/month to access their videos. This is an investment, but their curriculum is good and their instructors do a good job of keeping my mind engaged. This makes every dollar well worth it.

19:10 — Dave McFarland just introduced a new general term to me. That term is called DRY programming. DRY is an acronym that stands for ‘Don’t Repeat Yourself’. DRY programming is basically fixing your code to clean it up and reduce the length of it.

19:20 — I just refactored a program. Essentially, this means I took a program and improved it. TreeHouse gave me a Javascript program that would generate 10 randomly colored circles. The only problem was that to produce this outcome the same Javascript code was written 10 times. I  deleted the excess code and wrote a simple do while loop to execute a single section of the code 10 times. This reduced a TON of code bloat.

19:32 — I just finished the loops section of the TreeHouse course. I’ve been sitting for about an hour now so I’m going to get some dinner, exercise, and hopefully get a little more coding in before bed.

23:18 — I’m learning more about arrays now.

23:23 — The lessons are currently teaching me about how to add items to the beginning and end of arrays. I’m not yet quite sure why functions are necessary to do this. I would just manually add the items by typing them in. That’s my first reaction, but I assume that perhaps this is difficult or somehow inconvenient when dealing with arrays of very large sizes? I don’t know. I guess we’ll see as we continue to progress in this course.

CONCLUSION: Well, I didn’t manage to get another programming session in before bed. That’s unfortunate, but I do anticipate tomorrow being a big day. Although I haven’t managed to fit a TON of programming in this long Christmas weekend, I have made some progress. Just got to keep putting in the hours.

UPDATE: I couldn’t fall asleep, as my sleep schedule is a bit messed up from Christmas celebrations this weekend. On the bright, I did end up getting an extra programming session in!

Programming Time Today: 1:40 2:29

Total Programming Time: 51:44 52:33

Day 26

Wow, we’re almost to a full month of programming now. Let’s aim to finish the array section of the TreeHouse course and learn a lot about Objects as well.

8:52 — Array methods are a useful way to gain more functionality from our arrays.

9:05 — I just learned about two dimensional arrays. A two dimensional array is an array that contains one or more arrays.

9:08 — Cool, I just did a little practice and can now construct 2D arrays.

13:22 — I’m almost done with the array section of the course. I just learned about something key. .innerHTML I don’t completely understand the use of .innerHTML yet, but it’s supposed to be a way of letting me change the text of specific objects. This should allow me greater control of where text is placed in comparison to the document.write() function.

13:30 — I somehow forgot to write this, but it’s possible to combine two arrays with .concat. Let’s say for example you have and array with students and another array with test scores. You could combine them like this.

var classInformation = students.concat(testScores);

13:35 — My understanding of arrays is somewhat shaky, but I’m finished with arrays for now and am continuing on to the objects section of Dave’s Javascript course.

13:40 — Always remember… [ ] create an array, but { } create an object. This seems very important. I’m sure I’ll learn more about the importance of objects as I continue with the upcoming lessons.

13:47 — I now know how to create an object, and assign it different values. I’m not sure how I can practically use this in my code, but for now I’ll take a short break to celebrate being able to create an object in the first place. An object can be created like this… First you create a variable which you can assign the object to. Example: var Cameron. Next you create the object with the squiggly brackets. Finally you add values to the object seperated by commas. In the end it looks like this…

var Cameron = {height: “medium”, humor: “high”, age: 19, futureProgrammer: true};

13:51 — Objects are useful because we can use them to assign many values to a variable. Also note that objects can hold strings, numbers, boolean values, arrays, and even other objects. Though I didn’t include an array or another object in my object a few minutes ago for simplicity purpose and because I may not have done so 100% correctly at this point hahaha.

15:37 — I wouldn’t say I’m comfortable with objects, but I can now do some basic things with them. I can create objects, give them properties, update their properties, and even add new properties to them. Yet, if you told me to create a program that included objects I wouldn’t really be sure how I would include them.

15:40 — I just learned about a special type of loop that can only be used with objects. It’s called the for in loop. Don’t ask me much more about it then that.

17:30 — I finished the arrays section of the JavaScript course. I’m currently doing a 15 minute workshop that’s explaining to me the problems of using var to create variables. Instead the author of the workshop has introduced const and let.

17:42 — I just finished the workshop. The basic idea of the workshop is that using var to define variables can be problematic at times. For that reason, it’s not recommended to use var these days. Instead, if you want a constant variable you should use const. If you want a variable that you’ll be able to reassign values to you’ll want to use let. I understand this on a theoretical level, but I’ll need more experience before I’m comfortable practically applying these ideas. Nonetheless, it’s good to know that var is considered outdated.

18:52 — After more than a week without using HTML or CSS perhaps I’m getting rusty… I think it’s important to have focus in programming. That’s why I’ve spent the past week solely studying Javascript. However, I’d like to tackle a fun looking course on TreeHouse called: “Treehouse Club – MASH” that uses HTML, CSS, and JavaScript.  I don’t need to take this course, but I think it’ll be useful for keeping my HTML and CSS fresh while also strengthening the JavaScript lessons I’ve learned before moving on to the more beginner/intermediate JavaScript courses.

19:23 — The HTML section of the course was extremely easy. The one thing that was good to get some exposure to again was forms. I haven’t worked with forms much in the past, so I’d like to gain more experience with them.

19:37 — I’m almost done with the CSS section of the course now. Like the HTML section, the CSS was mostly a review. One cool thing I learned about in this course is that it’s possible to edit existing webpages using developer tools. This allows you to see how an existing website may look different if it had a different background color, or a different amount of padding.

19:42 — If it’s possible to view existing webpages code, why don’t people just copy the designs of existing websites and make slight edits to customize their website. It seems that would be much more economical than paying several hundred or even thousands of dollars for someone else to design the website. Of course Apple is always going to have a custom website, but why don’t small companies use existing websites as templates to build their own website.

19:48 — I just did some research and it seems that there are a few issues with stealing HTML ethical issues aside. The first is that the front-end code you can view is only a portion of the website’s code. It doesn’t include code from the backend like Ruby, Python, or PHP.  Another problem is that most non-technical people probably don’t even have an idea what HTML or CSS are, let alone the fact that you can view the source code of other websites. Finally, if someone wasn’t technical they’d probably break copied code within a few minutes of beginning to edit it and get frustrated.

19:52 — I’m going to go do some exercise now. I’ll finish the JavaScript portion of this MASH course possibly later tonight, but more likely tomorrow.

21:59 — Wow, I just finished the MASH course. I’m not going to say that course was a waste of time as it exposed me to some things that I hadn’t been exposed to before. With that being said, I felt the course was too hands off and passive.

CONCLUSION: I told you I anticipated a big day of programming and man oh man did that describe today. I can’t believe that at the beginning of today I was still in the Array sections of the Javascript course. I completed that, did all of the objects section, and did that short TreeHouse MASH course as well. It’s been a very productive day. I’m not sure tomorrow will quite match up to today, but I’d like to make tomorrow a great day nonetheless!

Time Programming Today: 5:20

Total Programming Time: 57:54

Day 27

It hasn’t been a great start to today. I couldn’t fall asleep, and instead of meditating or reading a book, or cleaning I instead mindlessly browsed the internet for a few hours in the wee hours of the morning. Talk about a waste of time/energy. In another week I’m going to be 20 years old. As sporadic as this behavior may be, I need to cut it down even further if not eliminate it altogether. I can’t be wasting multiple hours at a time as someone in my 20s.

8:47 — I’ve spent a lot of time learning about JavaScript so I’m going to work through a short course on JQuery now. It seems it’s a tool I’ll be using a lot to build websites so I may as well get comfortable with it now.

19:33 — I’m kinda lost in this JQuery course. I feel I’d have a lot of trouble doing anything this girl is talking about on my own. On the bright side before this programming session I got in a about an hour of meditation. That greatly helped calm and center my mind after the hours of mindless browsing early this morning,

19:53 — I’m going to have to do this course at a later date. There’s just too much I don’t understand for this to be an efficient use of my time. I’m going to get off JavaScript now, and go through the TreeHouse frontend course. That’ll help me practice HTML and CSS while also teaching more of the lower level javascript things I need to know.

20:18 — I just learned that using pen and paper (or marker software) to draw a rough draft of what you intend your website to look like is called wireframing.

20:35 — I’m going to call it quits for now. Although today started out with me wasting around three hours of my life, I’ve bounced back well for the remainder of the day. It looks like I’ll finish today with about two hours of coding. Not bad, not bad.

CONCLUSION: I got off to a rough start today by wasting several hours, but I did a good job of bouncing back. Would today have been even better without wasting the beginning of the day? Of course. Will I have to take future precautions to avoid myself getting drawn into the internet wormhole? Of course.

However, it is also important for me to give myself credit for bouncing back and not letting my self-esteem drop too heavily. Taking mistakes too personally can cause you your perceived feeling of self-worth to drop which causes you to feel bad and get drawn into a downward spiral of behavior which causes you to indulge even more in you vices.

Tomorrow is EXTREMELY busy with work. I’m going to be shuffling between three different schools. For that reason, I’m not likely to spend a TON of time programming tomorrow. Yet, I’d still like to get 1.5 hours or practice in or even 2 hours of practice in an ideal world! 😀

Programming Time Today: 2:02

Total Programming Time: 59:56

Day 28

I feel a lot better today than I felt yesterday. Let’s utilize these feelings for a productive day 🙂

8:54 — Although I’ve known almost everything this HTML course has taught thus far, one new thing I have learned about is the nav element. I didn’t know that we would nest the navigation bar on our website inside of nav tags. I never knew there were such tags.

14:31 — One useful thing I just learned is that when including images it’s better not to use absolute links. This is because having img links like cameronchardukian.com/imageblahblah.jpg will cause all of our links to break if we were to move our website to another domain. If for example I wanted to move cameronchardukian.com to americandeveloperinvietnam.com I would have to in and change my img src links to display the images on the new domain properly.

16:42 — Nick Pettit, the instructor for the course I’m currently taking on Treehouse just explained that these days intelligent developers take a mobile-first approach. This makes total sense considering that there’s so much mobile traffic these days. Nick also explains that it’s also much easier to make your website mobile friendly from the beginning rather than trying to change things after you’ve already built a complicated website.

22:39 — I just learned more about using CSS to style links. I’m not sure how valuable this small piece of knowledge will be, but learning more can never hurt.

CONCLUSION: Wow, it’s been a very productive day. Not so much for programming per se, but just in general. However, despite having lots of other obligations I still managed to reach my goal of getting in two hours of programming today!!! What, what! Programming is going real well this week. Let’s check in on our times now, and call it a night.

Time Programming Today: 2:03

Total Programming Time: 62:00

Day 29

Time for another day of coding. I just finished a meditation session to start my day, and I’m feeling confident that I’ll be able to get in a good amount of time on the computer today. I will meet my girlfriend tonight so I’m unlikely to spend much time programming in the evening, but I’ll still aim to get AT LEAST two hours of coding in today.

8:29 — Nick has been talking a lot about styling our elements in CSS. I’ve been familiar with most of the topics he’s covered, but one interesting thing I just learned from him was how to add new fonts to our website using Google Fonts. One important thing he taught me was that it’s important to add the link (not sure if this is the right terminology), but I’m refered to the piece of code that says <link rel “” href “”> before our custom CSS document. This is because if we insert our Google Font code after the CSS, then our CSS will not understand the fonts we are trying to use in our project.

8:48 — I just learned some useful things about resizing images, and displaying them properly in two columns using the float property.

9:15 — One cool trick I just learned from Nick is to use CSS to put padding around out anchor elements. This results in not only our links being clickable, but also the nearby area around them being clickable. While you won’t likely want to apply this to all of the links on your page, it can be very useful when styling our navigation bar. By making these links have a larger click radius, it can make clicking on the links easier for users on mobile devices.

10:50 — I just spent some time looking at the source code of different websites I browse. It was interesting. While I understood much of the code even with just a quick glance, there was also many things I didn’t understand. The biggest being the JavaScript the sites used. I was really lost when looking at the JavaScript, and there was more that I didn’t understand than what I did understand. On the bright side, I did understand the vast majority of the HTML and CSS, especially on Nick Petitt’s site. Although his website is simply an image with a clickable Twitter icon, it is very visually appealing. Most importantly, it looks professional. We have to understand that people pay to be perceived in a certain way. You’ll be compensated better for making someone’s brand appear professional than building a website that was techincally challenging to create.

10:57 — Alright, I’m back to studying the course at TreeHouse again. I’ve learned something very important in the video I’m currently watching. I learned how to create links that the user can click to send an email to a specific address. I also learned how to create telephone numbers with links that will allow users on smart phones dial the number simply by clicking the link. I also learned how to create a link that will allow Twitter users to tweet at us rather than simply redirecting them to the Twitter homepage.

11:09 — I learned that background images will always repeat by default in CSS. Thus, if we only want them to display once we have to style them in CSS by saying:

background-repeat: no-repeat;

CONCLUSION: Today was a decent day for programming. I got almost 2.5 hours of programming in. What’s really nice, however, was that I also managed to do almost an hour of exercise, get a massage, work with some kids, and spend lots of time with my girlfriend. I got a solid amount of programming in, but I also did a lot of activities that’ll rejuvenate me for more work in the future.

Programming Time Today: 2:24

Total Programming Time: 64:24

Day 30

Wow, after today I’ll have been programming for a month. That’s crazy. I’ve learned a decent amount this month. I’ve learned the basics of HTML, CSS, and even some Javascript. While I still have a long way to go before I’m getting well paid gigs, I now have a solid foundation. Most importantly I’ve found a joy in programming and know fully that I’m capable of learning it.

7:52 — Today I’m going to be learning some things about media queries and how to format a website differently on different screen sizes. One useful thing I learned in this video is that we can code the exact amount of pixels we’d like our screens to display differently at. Nick recommends one cutoff point of 480px because that’s a standard size for smartphones in landscape mode, and he recommends another cutoff at 660 px for large tablets and desktop devices.

8:46 — Nick offered some interesting ideas on testing the design of our website in photoshop or other image editors. He suggests using a blur function because it can help you identify if the colors on your page are balanced. He also suggests previewing your page in black and white because it can help show if your page has enough contrast to make it easily readable, especially if your users are visually impaired. Another thing Nick suggests is to try flipping your page upside-down because doing so can help you determine if your elements and columns are symmetrical, or if they at least appear balanced.

10:01 — I’m currently watching a section of the course that talks about choosing a domain name, and hosting. These are things I’m already familiar with as a result of the few domain names and hosting I’ve already purchased. However, there’s also a video about uploading our files to the server so that they can actually be read. I’m really interested in this video as uploading files to a server isn’t something I’m very familiar with. In the past I’ve used WordPress and it wasn’t necessary to upload my own files. The way we’re uploading files is called SFTP or Secure File Transfer Protocol. The program Nick used to upload his files to the server was called Cyberduck.

10:17 — One interesting thing Nick taught me in his Developer Tools video was that we can use Google Chrome’s developer tools to see exactly how long different elements take to load. This can help us optimize our website’s load speeds by noticing if particular elements such as large images or JavaScript scripts are taking a long time to load. If we diagnose a certain element as being particularly troublesome we can remove it, or at least modify its properties so that it will load more quickly.

11:58 — I just finished Nick Petit’s course on how to build a static website with multiple pages. Although I followed this course for the past 2-3 days, did some coding exercises, and answered quiz questions, I didn’t actually build my own website. For that reason, I think it’d be a good idea to go on codepen and build a static website with multiple pages now for practice. It’ll reinforce all the things that I learned in this course. I won’t bother with actually purchasing another domain name and hosting because I’ve done that in the past and don’t need another website at this time.

CONCLUSION: Today was a solid day. It’s very late now so we’ll just conclude this with daily and monthly time totals.

Time Programming Today: 2:03

Total Programming Time: 66:28