2016 Review: What Did and Didn’t Work

While 2016 wasn’t as personally dramatic as 2015 was, 2016 was still a busy year. Before we go into a deeper analysis of what did and didn’t work, let’s take a quick look at each month of the year.

January — Committed to making 2016 the year I gained enough experience with women to have either:
A: a rotation of reasonably attractive girls.
B: A physically attractive girlfriend that had a good personality, and would also be compatible with my lifestyle.
In addition, I visited Penang, Malaysia for the first time this month. I believe it was this trip that created a year-long obsession with Indian food amongst both me, and my girl.

beach in penang

February — Visited with my parents, aunt, and brother in Vietnam. Also took a trip to Mui Ne, Vietnam with the girl that would eventually become my girlfriend.

pho with parents in Vietnam

March — Traveled to Da Nang (pictured below) and Hoi An, Vietnam.

Da Nang

April — Traveled to Can Tho, and Cao Lanh, Vietnam for the first time. Had the opportunity to go on a boat in Can Tho and see a floating market for the first time. Also began using Baselang to revive my Spanish which had been neglected for nearly two years.

floating market can tho

May — Visited Phnom Penh, Cambodia for the first time. Unfortunately, I had quite a traumatic trip, but can be grateful that things didn’t end up even worse. Continued using Baselang until I reached a comfortable conversational level of Spanish at the end of the month. Also created an unsuccessful men’s health niche site this month (this project was later terminated) in an attempt to learn more about affiliate marketing. Traveled internationally with my primary girl to Penang, Malaysia. Finally, I learned how to drive a motorbike.

my motorbike

(The motorbike I spent a month learning to drive with.)

June — Had a fairly serious health crisis. I also attempted to learn to program and improve my Vietnamese. Both projects I quit shortly after beginning them. The project I didn’t quit this month, however, was learning to write sales copy. Going on the advice of copywriting legend Gary Halbert, I spent one month spending a minimum of 1 hour per day copying famous sales letters by hand. This greatly improved my ability to write in persuasive manner.

copying sales letters

July — Began working on a university degree, and visited my hometown in the U.S. for the first time in a year. I also had the opportunity to try rock climbing for the first time.

rock climbing

August — Had an uncle fly into Wisconsin from Texas for a surprise visit while I was in the US. We spent some time at a festival together (pictured below). Also came back to Vietnam from the US, and made MASSIVE progress with university. Began calling the primary girl I’d been seeing all year my girlfriend.

home in usa

September — Visited Da Nang again, (this time with my girlfriend) and went ice skating for the first time! Also went on a HUGE Ferris wheel and my first rollercoaster in years. Equally important, I spent a lot of time working this month, and had one of my most professionally productive months ever since I began living in Asia.

ice skating da nang

October — Spent about 45 minutes per day learning Esperanto — The most popular constructed language ever created. Reached a basic level (Able to say ‘I love you’, the ‘colors’ the names of various animals, simple sentences, etc). Continued making rapid progress with the university courses I’d been taking on Straighterline.

Learning Esperanto

November — Began a month-long juicing feast. I paid a few hundred dollars for the month, and in exchange I’d head to a smoothies/juice shop near my house to pick-up five healthy smoothies and juices each day. This was extremely useful in increasing my intake of fruits and vegetables here in Vietnam.

smoothies and juices

December — Probably the best month of the year. After earning 57 college credits in 5 months (basically half of a four year degree) using CLEP and Straighterline, I decided to put my degree on hold and begin learning computer programming. I also celebrated one year since the day I met my girlfriend last year by going to one of the most famous restaurants in Ho Chi Minh. We went to Noir, a fine dining in the dark restaurant. I also acted as Santa during a performance for around 700-800 children at an elementary school. Finally, I landed an exciting new position as a content creator at an innovative tech company.

Cameron as Santa


Now that we’ve seen the major events of the year, let’s take a little time to diagnose what did and didn’t work. More importantly, lets identify why certain decisions led to the various successes and failures of the year.

What Worked in 2016

WIN #1 Women

I completely transformed my dating life this year. Just over a year ago I was unsure of what the dating market was going to hold for me after ending things with my ex-girlfriend. I couldn’t have been more pleasantly surprised. Although I spent more time chasing tail the first half of the year than I’d like to admit, I did learn a lot.

I gained a lot of confidence in my social skills, and attractiveness as a man. I ended the year with a girl that’s physically attractive, sweet, and loving. More importantly, I developed a more masculine presence that allows girls to both have fun AND feel safe around me. I also gained the confidence to walk away from girls, as I’m now confident in my abilities to find another attractive woman to date fairly quickly.

As far as the girl I’m dating now, the great thing about her is that she appears to be quite compatible with my travel lifestyle. We’ve already taken several trips together. If all goes well, I’ll groom her from being just a girlfriend into a dynamic travel partner the latter half of 2017. After she graduates she has the potential to become my business assistant and partner on the road as I become more nomadic over the next year or so.

Why was this area of life a success this year? Because I spent the first half of the year going on lots of dates, pushing myself to try new things with girls, not accepting a dating situation I was anything less than overjoyed about, and voraciously examining my behaviors for what did and didn’t work in my interactions.

girlfriend made food (To respect her privacy, I’m simply uploading a meal my girlfriend has cooked for me, rather than a picture of her.)

WIN #2 Travel

I traveled to just one new country this year (Cambodia), but I also traveled to Penang (twice) and a number of new cities in Vietnam. I also had the opportunity to visit the US after living abroad for a year. It was quite interesting how little had changed back home, and how quickly I adjusted to being back in the US.

This year I learned a TON about Vietnam, and also gained a lot of experience in traveling with a partner. While I do enjoy solo travel, I enjoy traveling with someone I enjoy spending time with even more as it gives me someone to share the new experiences with.

Phnom Penh palace

WIN #3 University

I wasn’t sure whether I should call this a success or failure. Using CLEP exams, and the Straighterline website I managed to accumulate 57 college credits in just 5 months. If I’d have continued my studies I could’ve very realistically finished a bachelor’s degree in under a year of part-time studying. That’s cool, but where would that have led me? Most likely, teaching English abroad, which is something you can already do without a degree in much of Asia (albeit less officially).

I may still finish my degree at some point considering it’ll take just a few thousands dollars, and likely under 500 hours of studying. Yet, I just don’t know how useful a degree will prove to be for me. Sometimes I wish I wouldn’t have spent any money or time doing university courses this year. Yet, I’m still going to consider this 2016 university campaign a success considering I did something most people could only dream of doing.

Straighterline English Essay

WIN #4 Landing New Gigs

Although I haven’t been actively marketing my content creation and SEO services, I’ve landing some solid article and SEO client work this year. This has mostly been a result of past seeds I’ve planted. The majority of work I’ve received has come from referrals and clients that were impressed with blog posts that I’d written months or even years ago.

I’m happy to have been receiving this work passively, and not have had to do much outreach in order to obtain it. That has greatly increased my hourly rate when I have spent time doing online work.

Of course, I’ve still had to deliver outstanding work, but I’ve always been more successful at offering great services, rather than being a successful marketer.

I do suspect, however, that I’ll have to be much more proactive in pitching for new work once I leave Saigon and begin traveling full-time.

Although I had a great hourly rate, I made very very little money freelancing this year. Fortunately, this should change with my new position at the start-up.
indian food obsession (Nothing beats getting an email bringing more client work to you while enjoying Indian food.)

WIN #5 Coding

I’ve tried learning to program a few times before. In fact, I bought my first MacBook in 7th grade simply because I wanted to learn how to program iPhone apps. Of course, I always ended up giving up on programming after being unable to build anything more complicated than “Hello World”.

I also tried learning to program in June this year, but got frustrated. In fact, I couldn’t even figure out how to finish installing all the software I needed for a learning to code website call the The Odin Project.

However, at the beginning of December I decided that I didn’t want to get caught in the trap of being an entry-level English teacher abroad forever. For that reason I decided to put my degree on hold and focus on a skill that’s incredibly compatible with the nomadic lifestyle I intend to lead. That skill is of course, programming.

For that past month I’ve spent 15+ hours a week learning to program. In fact, I’ve kept a diary of everything I’ve been doing and learning about programming this month and this diary has exceeded 17,000 words! I’ve learned a lot, and am now capable of building very basic websites.

I’ll learn a lot more about coding, and more specifically web design in the coming months. They say that you can expect to be ready for a junior developer type position after 1,000 hours of coding. I intend to reach that and hopefully be able to support a “digital nomad” lifestyle creating websites within the next year or so.

Instead of chasing some obscure passion as I have in the past writing ebooks, or teaching a juggling course or yadadada, I’ve simply decided to follow the money. Considering that I can already produce great content, I know SEO, and I’ve got a solid grasp of internet marketing knowledge I know I can make good money in this field.

You know what’s ironic? As Cal Newport said in his book So Good They Can’t Ignore You, I started becoming a lot more passionate at web development as soon as I developed a basic competency in it. As I continue to get better at it, and earn solid money building websites, I know I’ll only grow to enjoy it more and more.

1990s style website I created

(A webpage I coded from scratch. It does have an outdated 1990s look, but I was still very proud to create a webpage from nothing in my first week of learning web design. I’ll have better projects being displayed on my codepen in the coming months.)

WIN #6 Trying New Things

This year I experimented with lots of new things. The list goes on and on. Learning to drive a motorbike in a HUGE city with crazy traffic, learning to have hour-long chats with Venezuelans using only Spanish, building a website that marketed and sold male contraceptives (*cough* condoms *cough*), traveling to countless new cities, learning to rock climb, trying new foods, learning to ice skate, dining in the dark for the first time, and learning Esperanto.

Wow! Even I didn’t know the list extended that far until I actually wrote everything out. It’s been a year where I tried lots of new things, and I suppose that’s appropriate given that I’m 19 years old and saying farewell to my teenage years in under a week.

beach hoi an

What Didn’t Work in 2016

Now, let’s look at what went wrong in 2016 and how I’m going to make sure I don’t face the same issues in 2017.

LESSON #1 Cover Your Ass

After the Cambodia crisis and health issues I faced in June, I realized I’ve got to be more careful. I have to remember which part of the world I’m in, and the unique risks someone in my position faces.

I’ve seen a good friend who had a seemingly awesome relationship with a great girl get married. Less than a year later he’s having lots of drama with her and it became so unbearable he had to leave the country to get away from it all.

I’ve also slept with a girl who was in the process of getting a spousal visa to go live in Hawaii. After we finished she even had a Skype call with her boyfriend so that they could talk about the next steps they had to take so that she could come live with him.

Although I’ve seen girls cheat before, I was shocked when the girl told me to sit quietly because her boyfriend was calling her on Skype to talk about the visa. She acted like nothing happened, and even sounded sweet when she told her boyfriend she loves him.

He’s oblivious that he’s got the type of girl that would actively lie to both of us to take whichever guy is closer and give the other sloppy seconds.

Of course this isn’t meant to be a rant about relationships going wrong. I’ve also had problems in Cambodia, seen my girlfriend struggle to get paid from her company, and countless other things this year. I’ve really learned this year that while it’s not necessary to get jaded, it is necessary to cover your ass and be very careful about who you trust.

Use condoms, keep your money close, watch your drink, and be careful about who you do business or go into private places with.


LESSON #2 Stick to it

I’ve succeeded at everything I’ve been persistent with this year. I satisfied clients and had them coming back to me for more and more articles for months at a time. I improved my Spanish. I learned more about Asia, and especially about Vietnam.

I learned to write better sales copy and persuasive text. I improved at driving a motorbike (though I choose to no longer drive). I improved my programming abilities. I improved my social skills. I made great progress towards a college degree.

Everything I stuck to, I made progress with. That leads to the most important lesson of 2016.

motorbike carrying chickens


If there’s one thing I can’t afford to do it’s have another year like 2016. That’s not to say 2016 was a bad year. It wasn’t. I learned a lot, and got to spend a year of my youth experimenting with countless things. By all means 2016 was a SOLID year. Yet, I’ll be kicking myself if 2017 plays out similar to 2016.

Like I said before, I did manage to improve at everything I worked at this year. Yet, the problem was that this work was dispersed across such a wide range of activities that my life isn’t dramatically different than it was a year ago. The progress I made in my dating life and university was admirable, but that’s about it. I was all over the place in 2016.

If my life is going to dramatically change in 2017, it’s going to be the result of one thing. Focus. I’ve got to choose one thing to go all-in on. My life is going to change dramatically in 2017.

I’m cutting out all the excess noise and focusing on the one thing with the highest leverage to dramatically change my life. For 2017 that one thing is going to be my career as a web developer.

Mui Ne Sand Dunes

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


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…


<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


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